*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f6fa;--bg2:#eef0f7;--bg3:#e2e6f3;--border:#6378b42e;--text:#1a1f36;--muted:#646e8a;--accent:#63b3ed;--card:#fff;--card-shadow:#4f6ef71f}body{background:var(--bg);color:var(--text);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow-x:hidden}:not(input):not(textarea):not([contenteditable=true]){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body{overscroll-behavior:none;touch-action:pan-y;width:100%;height:100%;overflow:hidden}#root{-webkit-overflow-scrolling:touch;overscroll-behavior:none;width:100%;height:100%;position:relative;overflow:hidden auto}::-webkit-scrollbar{display:none}*{scrollbar-width:none}::selection{color:inherit;background:#4f6ef72e}button,[role=button]{-webkit-tap-highlight-color:transparent;transition:transform .12s,box-shadow .16s,background-color .16s,color .16s}button:focus-visible{outline:2px solid var(--focus,#2a7ab5);outline-offset:2px}[role=button]:focus-visible{outline:2px solid var(--focus,#2a7ab5);outline-offset:2px}button:active,[role=button]:active{transform:translateY(0)}.orientation-guard{z-index:100000;text-align:center;background:var(--bg,#f5f6fa);color:var(--text,#1a1f36);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.orientation-guard__icon{justify-content:center;align-items:center;animation:2.4s ease-in-out infinite orientation-guard-tilt;display:flex}.orientation-guard__title{letter-spacing:-.02em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.15rem;font-weight:850}.orientation-guard__text{color:var(--muted,#8892b0);max-width:28ch;font-size:.9rem}@keyframes orientation-guard-tilt{0%,45%,to{transform:rotate(-90deg)}60%,90%{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.orientation-guard__icon{animation:none}}.lang-menu{position:relative}.lang-menu-trigger{cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;gap:4px;height:34px;padding:0;transition:opacity .2s,color .2s,background-color .18s;display:inline-flex}.lang-menu-trigger--gear{width:34px;color:var(--muted,#888);opacity:.7}.lang-menu-trigger--gear:hover{opacity:1;color:var(--text,#111)}.lang-menu-trigger--current{border:1px solid var(--border);background:var(--card);color:var(--muted);padding:0 8px 0 10px}.lang-menu-trigger--current:hover{color:var(--text)}.lang-menu-trigger[aria-expanded=true]{opacity:1;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.lang-menu-chevron{display:inline-flex}.lang-menu-backdrop{z-index:1000;background:0 0;position:fixed;top:0;bottom:0;left:0;right:0}.lang-menu-list{z-index:1001;background:var(--card);border:1px solid var(--border);min-width:180px;box-shadow:0 12px 30px var(--card-shadow);border-radius:14px;flex-direction:column;padding:6px;display:flex;position:fixed}.lang-menu-item{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.6rem;padding:.6rem .7rem;font-size:.88rem;font-weight:700;display:flex}.lang-menu-item:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, transparent)}.lang-menu-label{flex:1}.bx-wrap{justify-content:center;align-items:center;width:100%;margin:.6rem 0 1.6rem;display:flex}.bx-badge{flex-direction:column;align-items:center;gap:.6rem;min-width:min(320px,90vw);display:flex;position:relative}.bx-top{text-align:center;width:100%;color:var(--muted);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.5rem,6.5vw,2.1rem);font-weight:800}.bx-top-token{border-radius:8px;padding:0 .08em;transition:background .2s,box-shadow .2s,color .2s;display:inline-block}.bx-top-token--hl{color:var(--text);background:#63b3ed2e;box-shadow:0 0 0 2px #63b3ed}.bx-stage{justify-content:center;align-items:center;height:clamp(3.4rem,11vw,4.4rem);display:flex}.bx-assemble{color:var(--text);align-items:center;gap:.3em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.6rem,7vw,2.2rem);font-weight:800;display:inline-flex}.bx-drop{display:inline-block}.bx-bottom{width:100%;height:clamp(3.4rem,11vw,4.4rem);color:var(--text);justify-content:center;align-items:center;gap:.35em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.6rem,7vw,2.2rem);font-weight:800;display:flex}.bx-op{color:var(--muted)}.bx-token{white-space:pre}.bx-slot{justify-content:center;align-items:center;min-width:2.4em;min-height:2.4em;display:inline-flex}.bx-chip{color:var(--text);background:#63b3ed2e;border-radius:12px;justify-content:center;align-items:center;padding:.15em .45em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.8rem,7.5vw,2.4rem);font-weight:800;display:inline-flex;box-shadow:0 0 0 3px #63b3ed}.sf-wrap{flex-direction:column;align-items:center;gap:1.2rem;width:100%;display:flex}.sf-pizza{filter:drop-shadow(0 4px 10px #00000040);width:min(220px,60vw);height:min(220px,60vw)}.sf-slice{stroke:var(--bg,#0b1220);stroke-width:1.5px;transition:fill .15s,opacity .1s}.sf-slice:hover{opacity:.85}.sf-slice--circle{fill:#f3d9a4}.sf-slice--hexagon{fill:#c8b6f2}.sf-slice--triangle{fill:#8fe0c9}.sf-hexagon-outline{fill:none;stroke:var(--bg,#0b1220);stroke-width:2px}.sf-triangle{filter:drop-shadow(0 4px 10px #00000040);width:min(220px,60vw);height:min(220px,60vw)}.sf-grid{background:var(--bg3,#1e293b);border-radius:14px;gap:5px;width:min(220px,60vw);height:min(220px,60vw);padding:8px;display:grid;box-shadow:inset 0 2px 4px #00000040,0 3px 8px #0003}.sf-cell{cursor:pointer;background:#9fd3f0;border:2px solid #0003;border-radius:6px;padding:0;transition:background .15s,border-color .15s,transform .1s}.sf-cell:active:not(:disabled){transform:scale(.94)}.sf-cell:disabled{cursor:default}.sf-piece--shaded{background:var(--accent);border-color:var(--accent)}.sf-piece--correct{background:var(--success);border-color:var(--success)}.sf-piece--wrong{background:var(--error);border-color:var(--error)}.sf-slice.sf-piece--shaded{fill:var(--accent)}.sf-slice.sf-piece--correct{fill:var(--success)}.sf-slice.sf-piece--wrong{fill:var(--error)}.sf-label{color:var(--text,#f8fafc);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.4rem;font-weight:800}.sf-wrap--split{flex-direction:row;justify-content:center;align-items:center;gap:1.6rem}.sf-wrap--split .sf-pizza,.sf-wrap--split .sf-triangle,.sf-wrap--split .sf-grid{width:min(160px,38vw);height:min(160px,38vw)}.sf-result{flex-direction:column;align-items:center;gap:.9rem;min-width:0;display:flex}.sf-fraction{color:var(--text,#f8fafc);flex-direction:column;align-items:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:2.6rem;font-weight:800;line-height:1.05;display:flex}.sf-fraction-num{color:var(--accent)}.sf-fraction-bar{background:currentColor;border-radius:2px;width:1.5em;height:3px;margin:.12em 0}.sf-legend{color:var(--muted);flex-direction:column;gap:.4rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.82rem;line-height:1.35;display:flex}.sf-legend-row{align-items:baseline;gap:.45em;display:flex}.sf-legend-row b{color:var(--text);text-align:right;min-width:1.1em;font-weight:800}.sf-legend-row:first-child b{color:var(--accent)}@media (max-width:520px){.sf-wrap--split{flex-direction:column-reverse;gap:1.1rem}.sf-wrap--split .sf-pizza,.sf-wrap--split .sf-triangle,.sf-wrap--split .sf-grid{width:min(200px,56vw);height:min(200px,56vw)}}.sf-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.sf-check-btn:active{box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.cp-wrap{flex-direction:column;align-items:center;gap:.9rem;width:100%;padding:.25rem .5rem 1.6rem 1.7rem;display:flex}.cp-legend{color:var(--muted,#94a3b8);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.85rem,3.6vw,1rem);font-weight:700}.cp-bubble{min-width:72px;color:var(--text-on-accent,#080e1a);text-align:center;background:var(--accent);border-radius:11px;padding:.4rem .9rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.95rem,4vw,1.1rem);font-weight:700}.cp-frame{aspect-ratio:1;background:var(--card,#fff);border:2px solid var(--border,#1e293b);border-radius:16px;width:100%;max-width:320px;position:relative}.cp-track{touch-action:none;cursor:pointer;position:absolute;top:0;bottom:0;left:0;right:0}.cp-track--locked{cursor:default}.cp-quadrant{justify-content:center;align-items:center;display:flex;position:absolute}.cp-quadrant-label{color:var(--muted,#94a3b8);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.1rem,4.4vw,1.4rem);font-weight:800}.cp-gridline{background:var(--text,#1a1f36);opacity:.2;position:absolute}.cp-gridline--v{width:2px;top:0;bottom:0}.cp-gridline--h{height:2px;left:0;right:0}.cp-gridline--axis{opacity:.9}.cp-gridline--v.cp-gridline--axis{width:3px}.cp-gridline--h.cp-gridline--axis{height:3px}.cp-vectors{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.cp-ref{z-index:2;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.cp-ref-dot{background:var(--text,#1a1f36);border:3px solid #fff;border-radius:50%;width:clamp(14px,4.5vw,18px);height:clamp(14px,4.5vw,18px);box-shadow:0 2px 6px #00000040}.cp-ref-label{white-space:nowrap;color:var(--text,#1a1f36);background:0 0;margin-left:6px;padding:1px 3px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.85rem,3.4vw,1.05rem);font-weight:700;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.cp-ref-label--below{margin-top:4px;margin-left:0;top:100%;left:50%;transform:translate(-50%)}.cp-ref-label--left{margin-left:0;margin-right:6px;left:auto;right:100%}.cp-ref-label--big{font-size:clamp(1rem,4vw,1.25rem)}.cp-seq-label{color:var(--text,#1a1f36);white-space:nowrap;pointer-events:none;z-index:3;background:0 0;padding:.15rem .4rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.85rem,3.6vw,1.05rem);font-weight:800;position:absolute;transform:translate(12px,-26px)}.cp-node{background:var(--muted,#94a3b8);opacity:.4;pointer-events:none;border-radius:50%;width:4px;height:4px;position:absolute;transform:translate(-50%,-50%)}.cp-label{color:var(--muted,#94a3b8);pointer-events:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.68rem,2.6vw,.78rem);font-weight:600;position:absolute}.cp-label--x{bottom:-1.5rem;transform:translate(-50%)}.cp-label--y{left:-.6rem;transform:translate(-100%,-50%)}.cp-axis-name{color:var(--muted,#94a3b8);pointer-events:none;white-space:nowrap;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.75rem,2.8vw,.88rem);font-weight:700;position:absolute}.cp-axis-name--x{transform:translate(-100%,.5rem)}.cp-axis-name--y{transform:translate(.3rem)}.cp-marker{cursor:grab;z-index:2;background:#38bdf8;border:3px solid #fff;border-radius:50%;width:clamp(26px,8vw,34px);height:clamp(26px,8vw,34px);position:absolute;box-shadow:0 2px 10px #0000004d}.cp-marker--locked{cursor:default}.cp-marker--explanation{background:#38bdf8;width:clamp(14px,4.5vw,18px);height:clamp(14px,4.5vw,18px)}.cp-hint{color:var(--muted,#94a3b8);text-align:center;margin-top:1.5rem;font-size:.8rem}.cp-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.cp-check-btn:active{box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.cp-candidate{z-index:3;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:clamp(26px,8vw,32px);height:clamp(26px,8vw,32px);padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.cp-candidate:disabled{cursor:default}.cp-candidate:active{transform:translate(-50%,-50%)}.cp-candidate-dot{background:var(--card,#fff);border:2.5px solid #38bdf8;border-radius:50%;width:clamp(10px,3.2vw,14px);height:clamp(10px,3.2vw,14px);transition:background .15s,border-color .15s,transform .15s;box-shadow:0 2px 6px #00000040}.cp-candidate--picked .cp-candidate-dot{background:#38bdf8;transform:scale(1.25)}.cp-candidate--correct .cp-candidate-dot{background:#34d399;border-color:#34d399}.cp-candidate--wrong .cp-candidate-dot{background:#f87171;border-color:#f87171}.rtv-wrap{flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:280px;margin:0 auto;display:flex}.rtv-svg{width:100%;height:auto}.rtv-side{stroke:var(--text,#e2e8f0);stroke-width:3px;stroke-linecap:round}.rtv-side--highlighted{stroke:var(--accent,#38bdf8);stroke-width:4px}.rtv-right-mark,.rtv-angle-arc{fill:none;stroke:var(--muted,#94a3b8);stroke-width:1.5px}.rtv-angle-label{fill:var(--muted,#94a3b8);text-anchor:middle;dominant-baseline:middle;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px;font-weight:700}.rtv-length-label{fill:var(--text,#e2e8f0);text-anchor:middle;dominant-baseline:middle;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:700}.rtv-formula{align-items:center;gap:.5rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex}.rtv-formula-label{color:var(--text);font-size:1.1rem;font-weight:700}.rtv-frac{color:var(--text);flex-direction:column;align-items:center;font-size:1rem;font-weight:700;line-height:1.3;display:inline-flex}.rtv-frac-bar{background:var(--text);width:100%;height:2px;margin:2px 0}@keyframes rtv-pulse-stroke{0%,40%{stroke:var(--accent,#38bdf8);stroke-width:5px}50%,to{stroke:var(--text,#e2e8f0);stroke-width:3px}}@keyframes rtv-pulse-color{0%,40%{color:var(--accent,#38bdf8)}50%,to{color:var(--text)}}.rtv-glow-a{animation:2.4s ease-in-out infinite rtv-pulse-stroke}.rtv-glow-b{animation:2.4s ease-in-out -1.2s infinite rtv-pulse-stroke}.rtv-glow-a-text{animation:2.4s ease-in-out infinite rtv-pulse-color}.rtv-glow-b-text{animation:2.4s ease-in-out -1.2s infinite rtv-pulse-color}.av-wrap{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:320px;margin:0 auto;display:flex}.av-svg{width:100%;height:auto}.av-protractor path{stroke:var(--border,#334155);stroke-width:1.5px}.av-tick{stroke:var(--muted,#94a3b8);stroke-width:1px}.av-tick--major{stroke:var(--text,#e2e8f0);stroke-width:1.5px}.av-tick-label{fill:var(--muted,#94a3b8);text-anchor:middle;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:8px}.av-ray{stroke:var(--text,#e2e8f0);stroke-width:3px;stroke-linecap:round}.av-ray--moving{stroke:var(--accent,#38bdf8)}.av-vertex{fill:var(--text,#e2e8f0)}.av-label{fill:var(--text,#e2e8f0);text-anchor:middle;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:11px;font-weight:700}.av-svg--diagram .av-ray{stroke-width:4px}.av-wedge{fill:var(--accent,#38bdf8);opacity:.14}.av-arc{fill:none;stroke:var(--accent,#38bdf8);stroke-width:2.5px;stroke-linecap:round}.av-svg--diagram .av-vertex{stroke:var(--bg,#f5f6fa);stroke-width:2.5px}.av-label--arc{fill:var(--accent,#38bdf8);font-size:15px}.av-svg--diagram .av-label{font-size:14px}.av-caption{background:var(--bg2,#eef0f7);letter-spacing:.01em;color:var(--text,#e2e8f0);border-radius:10px;margin-top:.7rem;padding:.3rem .9rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.05rem;font-weight:800}.av-wrap--compare{max-width:440px}.av-compare{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.1rem;width:100%;display:flex}.av-compare-item{flex-direction:column;flex:150px;align-items:center;gap:.55rem;max-width:190px;display:flex}.av-ray--ok{stroke:#4ade80}.av-ray--no{stroke:#f87171}.av-compare-badge{color:var(--text,#e2e8f0);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .75rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:800;display:inline-flex}.av-compare-badge--ok{background:#4ade8029}.av-compare-badge--no{background:#f8717129}.av-compare-mark{width:16px;height:16px;display:block}.av-compare-badge--ok .av-compare-mark{color:#4ade80}.av-compare-badge--no .av-compare-mark{color:#f87171}.av-right-mark{fill:none;stroke:var(--text,#e2e8f0);stroke-width:2px;stroke-linejoin:round}.bs-wrap{flex-direction:column;align-items:center;width:100%;padding:.5rem .25rem;display:flex}.bs-svg{width:100%;max-width:320px;overflow:visible}.bs-stand,.bs-pole,.bs-base{fill:var(--border,#1e293b)}.bs-beam{stroke:var(--text,#f8fafc);stroke-width:4px;stroke-linecap:round}.bs-pivot{fill:var(--muted,#94a3b8)}.bs-string{stroke:var(--muted,#94a3b8);stroke-width:2px}.bs-pan{fill:var(--muted,#94a3b8);opacity:.6}.bs-weight--removable{cursor:pointer}.bs-weight-handle{fill:none;stroke-width:3px;stroke-linecap:round}.bs-weight-body{stroke:none}.bs-weight--fixed .bs-weight-handle,.bs-weight--fixed .bs-weight-body{stroke:var(--muted,#94a3b8)}.bs-weight--fixed .bs-weight-body{fill:var(--muted,#94a3b8)}.bs-weight--right .bs-weight-handle,.bs-weight--right .bs-weight-body{stroke:var(--accent)}.bs-weight--right .bs-weight-body{fill:var(--accent);opacity:.85}.bs-weight--picked .bs-weight-handle,.bs-weight--picked .bs-weight-body{stroke:var(--accent)}.bs-weight--picked .bs-weight-body{fill:var(--accent)}.bs-weight--var .bs-weight-handle,.bs-weight--var .bs-weight-body{stroke:#a78bfa}.bs-weight--var .bs-weight-body{fill:#a78bfa}.bs-weight--ok .bs-weight-handle,.bs-weight--ok .bs-weight-body{stroke:var(--success)}.bs-weight--ok .bs-weight-body{fill:var(--success)}.bs-weight--bad .bs-weight-handle,.bs-weight--bad .bs-weight-body{stroke:var(--error,#f87171)}.bs-weight--bad .bs-weight-body{fill:var(--error,#f87171)}.bs-weight-label{fill:var(--text-on-accent,#080e1a);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}.bs-slot{fill:none;stroke:var(--muted,#94a3b8);stroke-width:2px;stroke-dasharray:4 3}.bs-slot-label{fill:var(--muted,#94a3b8);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:15px;font-weight:700}.bs-hint{color:var(--muted,#94a3b8);margin-top:.6rem;font-size:.8rem}.bs-palette{grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:.6rem;width:100%;max-width:320px;margin-top:1rem;display:grid}.bs-weight-btn{background:var(--card,#111827);border:2px solid var(--border,#1e293b);cursor:pointer;min-width:0;box-shadow:0 3px 0 var(--border,#1e293b);border-radius:12px;justify-content:center;align-items:center;padding:.4rem;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1),background .15s;display:flex}.bs-weight-btn-svg{width:100%;max-width:44px;height:40px;overflow:visible}.bs-weight-btn:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(3px)}.bs-weight-btn--active{border-color:var(--accent);box-shadow:0 3px 0 var(--accent-shadow)}.bs-weight-btn:disabled{cursor:default;opacity:.7}.bs-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;margin-top:1.1rem;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.bs-check-btn:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.bs-check-btn:disabled{opacity:.5;cursor:default;box-shadow:0 4px 0 var(--accent-shadow)}.ws-page{background:var(--bg);scroll-behavior:smooth;height:100vh;position:relative;overflow:hidden auto}.ws-header{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem clamp(1rem,5vw,3rem);display:flex;position:sticky;top:0}.ws-header-left{align-items:center;gap:.7rem;display:inline-flex}.ws-logo{letter-spacing:-.01em;align-items:center;gap:.3rem;font-size:1rem;font-weight:800;display:inline-flex}.ws-burger{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:34px;height:34px;padding:0;display:inline-flex}.ws-burger span{background:var(--text);border-radius:2px;width:18px;height:2px;transition:transform .18s,opacity .18s,width .18s;display:block}.ws-burger span:nth-child(2){align-self:flex-start;width:13px;margin-left:8px}.ws-burger:hover span{background:var(--accent)}.ws-burger--open span:first-child{width:18px;transform:translateY(6px)rotate(45deg)}.ws-burger--open span:nth-child(2){opacity:0}.ws-burger--open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.ws-nav-backdrop{z-index:25;background:#00000040;position:fixed;top:0;bottom:0;left:0;right:0}.ws-nav-menu{z-index:26;background:var(--card);border-right:1px solid var(--border);width:min(78vw,300px);box-shadow:0 0 40px var(--card-shadow);box-sizing:border-box;flex-direction:column;padding:.9rem;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.ws-nav-menu-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.4rem;padding:.4rem .5rem 1.2rem;display:flex}.ws-nav-close{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:relative}.ws-nav-close span{background:var(--text);border-radius:2px;width:18px;height:2px;position:absolute}.ws-nav-close span:first-child{transform:rotate(45deg)}.ws-nav-close span:last-child{transform:rotate(-45deg)}.ws-nav-close:hover span{background:var(--accent)}.ws-nav-item{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:.85rem .8rem;font-size:.95rem;font-weight:700}.ws-nav-item:hover{background:var(--bg3);color:var(--accent)}.ws-logo-prefix{color:var(--accent)}.ws-logo-suffix{color:var(--text)}.ws-hero{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;min-height:calc(100vh - 60px);padding:3rem clamp(1.2rem,5vw,3rem) 4rem;display:flex;position:relative}.ws-hero-glow{z-index:0;aspect-ratio:1;pointer-events:none;background:color-mix(in srgb, var(--accent) 14%, transparent);filter:blur(60px);border-radius:50%;width:min(520px,80%);position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.ws-hero-title,.ws-hero .ws-actions,.ws-footnote,.ws-scroll-hint{z-index:1;position:relative}.ws-hero-title{letter-spacing:-.03em;max-width:20ch;color:var(--text);text-wrap:balance;margin:0;font-size:1.8rem;font-weight:900;line-height:1.08}.ws-hero-accent{color:var(--accent)}.ws-actions{flex-direction:column;gap:.8rem;width:min(100%,340px);display:flex}.ws-btn{width:100%;font:inherit;letter-spacing:.01em;text-transform:uppercase;cursor:pointer;border:none;border-radius:14px;padding:.9rem 1.4rem;font-size:.95rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1),filter .15s;position:relative}.ws-btn:hover{filter:brightness(1.05)}.ws-btn:active{transform:translateY(4px);box-shadow:none!important}.ws-btn--primary{background:var(--accent);color:var(--text-on-accent,#fff);box-shadow:0 4px 0 var(--accent-shadow,#2a7ab5), 0 10px 20px color-mix(in srgb, var(--accent) 30%, transparent)}.ws-btn--ghost{background:var(--card);color:var(--accent);box-shadow:0 4px 0 var(--border)}.ws-footnote{color:var(--muted);margin:0;font-size:.78rem;font-weight:600}.ws-scroll-hint{background:var(--card);border:1px solid var(--border);width:34px;height:34px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin-top:.8rem;display:flex}.ws-scroll-hint svg{width:18px;height:18px}.ws-band{background:var(--bg);padding:clamp(2.5rem,6vw,4.5rem) clamp(1.2rem,5vw,3rem)}.ws-band--tint{background:var(--bg2)}.ws-band-inner{max-width:1040px;margin:0 auto}.ws-band-inner--split{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.8rem,5vw,4rem);display:grid}.ws-band-inner--flip .ws-split-art{order:-1}.ws-eyebrow{letter-spacing:.14em;color:var(--accent);font-variant-numeric:tabular-nums;align-items:center;gap:.55rem;margin-bottom:.7rem;font-size:.72rem;font-weight:800;display:inline-flex}.ws-eyebrow:after{content:"";background:color-mix(in srgb, var(--accent) 45%, transparent);border-radius:2px;width:26px;height:2px}.ws-pitch{text-align:center}.ws-pitch-title{letter-spacing:-.02em;max-width:20ch;color:var(--text);text-wrap:balance;margin:0 auto 1rem;font-size:1.25rem;font-weight:900;line-height:1.15}.ws-pitch-text{max-width:62ch;color:var(--muted);margin:0 auto;font-size:.95rem;line-height:1.65}.ws-block-title{letter-spacing:-.02em;color:var(--text);margin:0 0 .8rem;font-size:1.25rem;font-weight:900;line-height:1.2}.ws-block-text{color:var(--muted);margin:0;font-size:.9rem;line-height:1.65}.ws-split-art{box-sizing:border-box;background:var(--card);border:1px solid var(--border);min-height:240px;box-shadow:0 10px 30px var(--card-shadow);border-radius:28px;justify-content:center;align-items:center;padding:1.4rem;display:flex}.ws-band:not(.ws-band--tint) .ws-split-art{background:var(--bg2)}.ws-split-art--plain{min-height:0;box-shadow:none;border:none;padding:0;background:0 0!important}.ws-worlds{grid-template-columns:repeat(2,1fr);gap:.6rem;width:100%;display:grid}.ws-world{background:var(--card);border:1px solid var(--border);box-shadow:0 3px 0 var(--border);cursor:default;border-radius:16px;align-items:center;gap:.7rem;padding:.7rem .85rem;display:flex}.ws-world-icon{border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ws-world-icon svg{width:72%;height:72%}.ws-world-name{color:var(--text);font-size:.78rem;font-weight:700;line-height:1.25}.ws-rewards{justify-content:center;align-items:center;width:100%;height:210px;display:flex;position:relative}.ws-reward-glow{aspect-ratio:1;filter:blur(30px);background:#ffb80038;border-radius:50%;width:48%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ws-reward-chest{filter:drop-shadow(0 12px 20px #00000029);width:min(46%,150px);position:relative}.ws-reward-coin,.ws-reward-energy{filter:drop-shadow(0 6px 12px #00000024);width:min(16%,52px);position:absolute}.ws-reward-coin{top:16%;left:10%}.ws-reward-energy{top:24%;right:10%}.ws-reward-spark{pointer-events:none;background:#ffd75e;border-radius:50%;width:7px;height:7px;position:absolute;box-shadow:0 0 10px 2px #ffc73cbf}.ws-reward-streak{background:var(--card);box-shadow:0 4px 0 var(--border);color:var(--text);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .85rem;font-size:1rem;font-weight:900;display:inline-flex;position:absolute;bottom:0}.ws-reward-flame{font-size:1rem}.ws-lesson-head{text-align:center;max-width:46ch;margin:0 auto clamp(1.6rem,4vw,2.4rem)}.ws-lesson-head .ws-eyebrow{justify-content:center}.ws-lesson-demo{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.ws-lesson-art{box-sizing:border-box;background:var(--card);border:1px solid var(--border);min-height:250px;box-shadow:0 10px 30px var(--card-shadow);pointer-events:none;border-radius:24px;justify-content:center;align-items:center;padding:1.2rem;display:flex;overflow:hidden}.ws-lesson-caption{text-align:center;color:var(--muted);margin:clamp(1.6rem,4vw,2.4rem) 0 1rem;font-size:.9rem;font-weight:700}.ws-tasks-strip{grid-template-columns:repeat(4,1fr);gap:.8rem;display:grid}.ws-task{box-sizing:border-box;background:var(--card);border:1px solid var(--border);min-height:230px;box-shadow:0 6px 18px var(--card-shadow);border-radius:20px;justify-content:center;align-items:center;padding:1rem .6rem;display:flex;overflow:hidden}.ws-task-inner{pointer-events:none;width:100%;max-width:220px}.ws-task .dnl-hint,.ws-task .dnl-check-btn,.ws-task .ssw-hint,.ws-task .ssw-check-btn,.ws-task .sg-hint,.ws-task .sg-check-btn,.ws-task .eg-check-btn,.ws-task .mpk-check-btn,.ws-task .be-hint,.ws-task .ef-check-btn,.ws-task .ef-hint,.ws-task .sqo-hint,.ws-task .sqo-check-btn,.ws-task .cp-hint,.ws-task .cp-check-btn{display:none}.ws-beta{justify-content:center;display:flex}.ws-beta-inner{background:var(--card);border:1px solid var(--border);max-width:640px;box-shadow:0 3px 0 var(--border);border-radius:20px;align-items:flex-start;gap:1rem;padding:1.4rem 1.6rem;display:flex}.ws-beta-icon{background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ws-beta .ws-block-title{margin-bottom:.4rem;font-size:1.2rem}.ws-beta .ws-block-text{font-size:.9rem}.ws-cta{text-align:center;background:var(--bg);flex-direction:column;align-items:center;gap:1.2rem;padding:clamp(3rem,7vw,5rem) clamp(1.2rem,5vw,3rem) 4rem;display:flex;position:relative}.ws-cta-title{letter-spacing:-.02em;max-width:18ch;color:var(--text);text-wrap:balance;margin:0;font-size:1.8rem;font-weight:900;line-height:1.12}.ws-cta-text{color:var(--muted);margin:0;font-size:.95rem}.ws-footer{text-align:center;background:var(--bg2);color:var(--muted);border-top:1px solid var(--border);padding:2rem 1.5rem 3rem;font-size:.78rem}.ws-footer-site{color:var(--accent);margin-top:.4rem;font-weight:800;display:block}.ws-footer-legal{justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.ws-footer-link{color:var(--text);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:.25rem .1rem;font-family:inherit;font-size:.78rem;font-weight:700;text-decoration:underline}.ws-footer-link:active{opacity:.7}.ws-footer-dot{color:var(--text);opacity:.5}@media (max-width:420px){.ws-footer-legal{flex-direction:column;gap:.35rem}.ws-footer-dot{display:none}}@media (max-width:780px){.ws-hero{min-height:auto;padding:3.5rem 1.2rem 3rem}.ws-band{padding:2.2rem 1.1rem}.ws-band-inner--split{grid-template-columns:1fr;gap:1.1rem}.ws-band-inner--split .ws-split-body,.ws-band-inner--flip .ws-split-body{order:-1}.ws-band-inner--split .ws-split-art,.ws-band-inner--flip .ws-split-art{order:0}.ws-split-art{min-height:190px;padding:1rem}.ws-worlds{grid-template-columns:1fr;gap:.5rem}.ws-world{gap:.8rem;padding:.75rem .9rem}.ws-world-icon{border-radius:15px;width:52px;height:52px}.ws-rewards{height:175px}.ws-lesson-demo{grid-template-columns:1fr;gap:.7rem}.ws-lesson-art{min-height:210px}.ws-tasks-strip{grid-template-columns:1fr;gap:.7rem}.ws-task{min-height:230px;padding:1rem}.ws-task-inner{max-width:260px}.ws-footer{padding:1.6rem 1.2rem 2.4rem}}@media (prefers-reduced-motion:reduce){.ws-page{scroll-behavior:auto}.ws-reward-chest,.ws-reward-coin,.ws-reward-energy,.ws-reward-spark,.ws-scroll-hint{animation:none!important;transform:none!important}.ws-reward-spark{opacity:0!important}}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-google-btn{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);cursor:pointer;box-shadow:0 4px 0 0 var(--border);border-radius:14px;justify-content:center;align-items:center;gap:.7rem;padding:.95rem 1.4rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.98rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1),border-color .15s;display:flex}.auth-google-btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.auth-google-btn:active:not(:disabled){box-shadow:0 0 0 0 var(--border);transform:translateY(4px)}.auth-google-btn:disabled{cursor:default;opacity:.75}@media (prefers-reduced-motion:reduce){.auth-google-btn{transition:none}}.track-circle-btn{cursor:pointer;box-shadow:0 5px 0 var(--circle-shadow,#999);will-change:transform;border:none;outline:none;padding:0;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1);position:relative}.track-circle-btn:active{box-shadow:0 0px 0 var(--circle-shadow,#999);transform:translateY(5px)}.square-map-btn{box-shadow:0 4px 0 0 var(--map-btn-shadow);transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1);position:relative;transform:translateY(0)}.square-map-btn:active{box-shadow:0 0px 0 0 var(--map-btn-shadow);transform:translateY(4px)}.arrow-btn{box-shadow:0 5px 0 var(--border,#e5e5e5);transition:transform .1s,box-shadow .1s,opacity .1s}.arrow-btn:active:not(:disabled){box-shadow:0 0px 0 var(--border,#e5e5e5);transform:translateY(5px)}.keep-going-btn{box-shadow:0 4px 0 var(--keep-going-shadow);transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.keep-going-btn:active{box-shadow:0 0px 0 var(--keep-going-shadow);transform:translateY(4px)}.exit-lesson-btn{box-shadow:0 4px 0 var(--border,#ccc);transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.exit-lesson-btn:active{box-shadow:0 0px 0 var(--border,#ccc);transform:translateY(4px)}.locked-premium-btn{cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;color:var(--locked-btn-text);background:var(--locked-btn-bg);box-shadow:0 4px 0 0 var(--locked-btn-shadow);border:none;border-radius:16px;outline:none;margin-top:1rem;padding:.85rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.9rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden;transform:translateY(0)}.locked-premium-btn:active{box-shadow:0 0px 0 0 var(--locked-btn-shadow);transform:translateY(4px)}.locked-premium-btn:after{content:"";background:linear-gradient(120deg, transparent, var(--locked-btn-shine,#ffffff8c), transparent);pointer-events:none;width:60%;height:100%;animation:3s ease-in-out infinite locked-btn-shine-sweep;position:absolute;top:0;left:-150%}@keyframes locked-btn-shine-sweep{0%{left:-150%}35%{left:150%}to{left:150%}}@media (max-width:480px){.square-map-btn{transition:transform 50ms cubic-bezier(.25,.8,.25,1),box-shadow 50ms cubic-bezier(.25,.8,.25,1)!important}.bottom-tab-bar-container{border-radius:0!important;width:100%!important;height:64px!important;bottom:0!important;left:0!important;right:0!important}.bottom-tab-item{padding:4px!important}.premium-mobile-btn{border-radius:14px!important;padding:.35rem .8rem!important}.top-fixed-corner{padding:.25rem .55rem!important;font-size:.78rem!important;top:.5rem!important}.menu-main-wrapper{overscroll-behavior:none;-webkit-overflow-scrolling:touch;overflow:hidden;padding-bottom:80px!important}.worlds-section-inner{padding-top:3rem!important}.menu-main-wrapper *,.menu-main-wrapper :focus,.menu-main-wrapper :active{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;outline:none}}.custom-dialog-btn{cursor:pointer;box-shadow:0 var(--dlg-depth,4px) 0 var(--dlg-shadow,#0003);margin-bottom:var(--dlg-depth,4px);border:none;border-radius:12px;padding:.72rem 1.1rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.custom-dialog-btn:active{transform:translateY(var(--dlg-depth,4px));box-shadow:0 0 0 var(--dlg-shadow,#0003)}.custom-dialog-btn--secondary{border:2px solid var(--border,#e5e5e5);background:var(--card,#fff);color:var(--text,#111);box-shadow:0 var(--dlg-depth,4px) 0 var(--border,#d7dae0)}.custom-dialog-btn--secondary:active{box-shadow:0 0 0 var(--border,#d7dae0)}@media (prefers-reduced-motion:reduce){.custom-dialog-btn{transition:none}}.mc-options{flex-direction:column;gap:1rem;width:100%;display:flex}.mc-option{border:2px solid var(--border,#1e293b);background:var(--bg3,#e5e5e5);width:100%;color:var(--text,#f8fafc);text-align:left;cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border-radius:16px;align-items:center;gap:1rem;padding:.9rem 1.1rem;font-family:inherit;font-size:.92rem;line-height:1.35;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1),border-color .15s,background .15s,color .15s;display:flex}.mc-option:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.mc-option:disabled{cursor:default}.mc-option--correct{background:var(--success);border-color:var(--success);color:#06281c;box-shadow:0 4px 0 var(--success-shadow);animation:.4s mc-correct-pop}.mc-option--wrong{background:var(--error);border-color:var(--error);color:#fff;box-shadow:0 4px 0 var(--error-shadow);animation:.35s mc-wrong-shake}@keyframes mc-correct-pop{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes mc-wrong-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.mc-duo{gap:1rem;width:100%;display:flex}.mc-duo-option{border:2px solid var(--border,#1e293b);background:var(--bg3,#e5e5e5);min-width:0;min-height:92px;color:var(--text,#f8fafc);text-align:center;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border-radius:18px;flex:1;justify-content:center;align-items:center;padding:1rem clamp(.5rem,3vw,1rem);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.82rem,4vw,1.3rem);font-weight:800;line-height:1.25;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1),border-color .15s,background .15s,color .15s;display:flex}.mc-duo-option:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.mc-duo-option:disabled{cursor:default}.mc-duo-option--correct{background:var(--success);border-color:var(--success);color:#06281c;box-shadow:0 4px 0 var(--success-shadow);animation:.4s mc-correct-pop}.mc-duo-option--wrong{background:var(--error);border-color:var(--error);color:#fff;box-shadow:0 4px 0 var(--error-shadow);animation:.35s mc-wrong-shake}.mc-square-grid{grid-template-columns:repeat(2,1fr);gap:1rem;width:100%;display:grid}.mc-square{aspect-ratio:1;border:2px solid var(--border,#1e293b);background:var(--bg3,#e5e5e5);color:var(--text,#f8fafc);text-align:center;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border-radius:18px;justify-content:center;align-items:center;padding:.5rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.1rem,4.8vw,2.1rem);font-weight:800;line-height:1.2;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1),border-color .15s,background .15s,color .15s;display:flex}.mc-square[data-long=true]{font-size:clamp(.9rem,3.8vw,1.2rem)}.mc-square:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.mc-square:disabled{cursor:default}.mc-square--correct{background:var(--success);border-color:var(--success);color:#06281c;box-shadow:0 4px 0 var(--success-shadow);animation:.4s mc-correct-pop}.mc-square--wrong{background:var(--error);border-color:var(--error);color:#fff;box-shadow:0 4px 0 var(--error-shadow);animation:.35s mc-wrong-shake}.mc-option-letter{background:var(--card,#fff);width:32px;height:32px;color:var(--text,#f8fafc);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.88rem;font-weight:700;display:flex}.mc-option--correct .mc-option-letter,.mc-option--wrong .mc-option-letter{color:inherit;background:#ffffff40}.ss-wrap{justify-content:center;align-items:center;width:100%;display:flex}.ss-card{box-sizing:border-box;flex-direction:column;align-items:center;gap:.75rem;min-width:160px;padding:.2rem .4rem;display:flex}.ss-line{color:var(--text);white-space:pre;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.7rem,7vw,2.35rem);font-weight:800}.ss-emoji{font-size:.85em;line-height:1}.ss-question{color:var(--accent);white-space:pre;border-top:2px dashed color-mix(in srgb, var(--text) 20%, transparent);text-align:center;width:100%;padding-top:.45rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.7rem,7vw,2.35rem);font-weight:800}.sc-wrap{flex-direction:column;align-items:center;gap:1.4rem;width:100%;display:flex}.sc-slots{flex-wrap:wrap;justify-content:center;gap:.6rem 1.4rem;display:flex}.sc-slot-row{color:var(--text);align-items:center;gap:.5rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.7rem,7vw,2.35rem);font-weight:800;display:flex}.sc-slot{min-width:2.4rem;font:inherit;color:var(--muted);border:2px dashed color-mix(in srgb, var(--text) 30%, transparent);cursor:pointer;background:0 0;border-radius:12px;padding:.1rem .5rem}.sc-slot--active{border-color:var(--accent)}.sc-slot--filled{color:var(--text);border-style:solid;border-color:var(--accent)}.sc-slot:disabled{cursor:default}.sc-pool{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.sc-chip{background:var(--bg3,#e5e5e5);min-width:3.2rem;height:clamp(48px,14vw,60px);color:var(--text,#f8fafc);cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border:none;border-radius:14px;padding:0 .9rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.1rem,4vw,1.4rem);font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.sc-chip:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.sc-chip:disabled{opacity:.45;cursor:default}.sc-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;margin-top:.4rem;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1),opacity .15s}.sc-check-btn:disabled{opacity:.4;cursor:default;box-shadow:none}.sc-check-btn:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.demo-stage{background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.demo-scene{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;width:100%;max-width:460px;padding:0 1.5rem;display:flex}.demo-scene--full{max-width:none;padding:0}.demo-outro{box-sizing:border-box;z-index:100000;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:0 1.5rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.demo-outro-title{letter-spacing:-.02em;color:#1a1f36;text-align:center;white-space:nowrap;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.6rem,7vw,2.8rem);font-weight:800}.demo-caption{color:var(--text);text-align:center;white-space:pre-line;margin-bottom:2.4rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.15rem,2.9vw,1.5rem);font-weight:800;line-height:1.4}.demo-cursor{pointer-events:none;z-index:50;filter:drop-shadow(0 3px 6px #00000040);position:fixed;top:-6px;left:-6px}.demo-cursor-ring{background:color-mix(in srgb, var(--accent) 45%, transparent);border-radius:50%;width:30px;height:30px;margin:-15px 0 0 -15px;animation:.35s ease-out forwards demo-ring;position:absolute;top:2px;left:2px}@keyframes demo-ring{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.6)}}.demo-press{transition:transform 90ms cubic-bezier(.25,.8,.25,1),box-shadow 90ms cubic-bezier(.25,.8,.25,1);transform:translateY(var(--demo-press-depth,4px))!important;box-shadow:0 0 #0000!important}.sg-pool-btn.demo-press,.sg-cell.demo-press{--demo-press-depth:3px}.sf-slice.demo-press{filter:brightness(.85);box-shadow:none!important;transform:none!important}.demo-mark--wrong{color:#b91c1c!important;background:#fecaca!important;border-color:#ef4444!important;box-shadow:0 4px #ef4444!important}.demo-scene{will-change:transform, opacity}.demo-flash{pointer-events:none;z-index:40;position:absolute;top:0;bottom:0;left:0;right:0}.demo-flash--wrong{background:radial-gradient(circle at 50% 45%,#ef44440d,#ef444461);box-shadow:inset 0 0 120px #ef44448c}.demo-flash--correct{background:radial-gradient(circle at 50% 45%,#22c55e0a,#22c55e47);box-shadow:inset 0 0 120px #22c55e66}.demo-scene--card{max-width:620px;padding:0 2rem}.demo-card{text-align:center;flex-direction:column;align-items:center;gap:.4rem;display:flex}.demo-card-text{letter-spacing:-.01em;color:var(--text);text-wrap:balance;max-width:19ch;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.4rem,5.8vw,2rem);font-weight:800;line-height:1.3}.demo-card-brand{letter-spacing:-.02em;color:var(--text);margin-top:1rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(2.1rem,9vw,3.2rem);font-weight:800}.demo-sub{color:var(--muted);text-align:center;max-width:22rem;margin-top:.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.95rem,4vw,1.15rem);font-weight:600;line-height:1.3}.demo-start{background:var(--bg);color:var(--muted);cursor:pointer;justify-content:center;align-items:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.1rem;font-weight:700;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.demo-outro-badge{letter-spacing:.02em;color:#94a3b8;margin-top:.5rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.85rem,3.4vw,1.1rem);font-weight:600}.demo-outro-accent{color:#38bdf8}.dnl-wrap{flex-direction:column;align-items:center;width:100%;padding:1.5rem .25rem .5rem;display:flex}.dnl-bubble-track{width:100%;height:40px;position:relative}.dnl-value-bubble{min-width:36px;color:var(--text-on-accent,#080e1a);text-align:center;background:var(--accent);border-radius:11px;padding:.4rem .7rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1rem,4vw,1.2rem);font-weight:700;position:absolute;top:0}.dnl-value-bubble--explanation{background:var(--success)}.dnl-track{touch-action:none;cursor:pointer;width:100%;height:64px;position:relative}.dnl-track--locked{cursor:default}.dnl-track-line{background:var(--border,#1e293b);border-radius:3px;height:6px;position:absolute;top:50%;left:-3px;right:-3px;transform:translateY(-50%)}.dnl-tick{flex-direction:column;align-items:center;margin-top:-6px;display:flex;position:absolute;top:50%;transform:translate(-50%)}.dnl-tick-mark{background:var(--border,#1e293b);border-radius:99px;width:4px;height:12px}.dnl-tick-label{color:var(--muted,#94a3b8);margin-top:10px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.62rem,2.6vw,.85rem);position:relative}.dnl-tick-sign{position:absolute;top:0;right:100%}.dnl-marker{background:var(--accent);cursor:grab;border:3px solid #fff;border-radius:50%;width:clamp(18px,6vw,26px);height:clamp(18px,6vw,26px);transition:background .15s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #00000040}.dnl-marker:active{cursor:grabbing}.dnl-marker--locked{cursor:default}.dnl-marker--explanation{background:var(--success)}.dnl-hint{color:var(--muted,#94a3b8);margin-top:1.6rem;font-size:.8rem}.dnl-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;margin-top:1.1rem;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.dnl-check-btn:active{box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.dth-wrap{flex-direction:column;align-items:center;width:100%;padding:.75rem .25rem .5rem;display:flex}.dth-body{flex-direction:column;align-items:center;display:flex;position:relative}.dth-scale{touch-action:none;cursor:pointer;width:128px;height:280px;position:relative}.dth-scale--locked{cursor:default}.dth-tube{background:var(--bg3,#e2e6f3);width:26px;height:100%;box-shadow:inset 0 0 0 2px var(--border,#6378b42e);border-radius:13px 13px 0 0;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.dth-column{border-radius:13px 13px 0 0;position:absolute;bottom:0;left:0;right:0}.dth-column--cold{background:linear-gradient(#60a5fa,#2563eb)}.dth-column--warm{background:linear-gradient(#fb923c,#ef4444)}.dth-column--zero{background:linear-gradient(#67e8f9,#0891b2)}.dth-tick{pointer-events:none;justify-content:flex-end;align-items:center;gap:8px;width:calc(50% - 25px);display:flex;position:absolute;left:0;transform:translateY(50%)}.dth-tick-label{color:var(--muted,#8892b0);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.88rem;font-weight:700;line-height:1;position:relative}.dth-tick-label--zero{color:var(--text,#1a1f36);font-weight:800}.dth-tick-sign{margin-right:1px;position:absolute;right:100%}.dth-marker{background:var(--accent);pointer-events:none;border-radius:3px;width:34px;height:6px;position:absolute;left:50%;transform:translate(-50%,50%);box-shadow:0 2px 6px #0000002e}.dth-marker--locked{opacity:.9}.dth-marker--explanation{background:var(--success)}.dth-bulb{width:54px;height:54px;box-shadow:inset 0 0 0 2px var(--border,#6378b42e);border-radius:50%;margin-top:-10px}.dth-bulb--cold{background:#2563eb}.dth-bulb--warm{background:#ef4444}.dth-bulb--zero{background:#0891b2}.dth-value{min-width:56px;color:var(--text-on-accent,#080e1a);text-align:center;background:var(--accent);border-radius:11px;margin-top:.7rem;padding:.35rem .7rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1rem,4vw,1.2rem);font-weight:800;position:relative}.dth-value--explanation{background:var(--success)}.dth-value-sign{margin-right:1px}.dth-hint{color:var(--muted,#8892b0);text-align:center;margin-top:.7rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.85rem;font-weight:600}.dth-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow,#2a7ab5);border:none;border-radius:14px;margin-top:.8rem;padding:.75rem 2rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:800;transition:transform .1s,box-shadow .1s}.dth-check-btn:active{box-shadow:0 0 0 var(--accent-shadow,#2a7ab5);transform:translateY(4px)}@media (prefers-reduced-motion:reduce){.dth-check-btn{transition:none}}.elv-wrap{--elv-floor-h:46px;--elv-shaft-w:58px;flex-direction:column;align-items:center;width:100%;padding:.6rem .25rem .5rem;display:flex}.elv-house{background:var(--card,#fff);box-shadow:0 6px 18px var(--card-shadow,#4f6ef71f);border-radius:16px 16px 12px 12px;position:relative}.elv-roof{background:linear-gradient(#94a3b8,#64748b);border-radius:14px 14px 0 0;height:16px}.elv-inner{align-items:stretch;gap:8px;padding:8px;display:flex}.elv-shaft{width:var(--elv-shaft-w);background:var(--bg3,#e2e6f3);box-shadow:inset 0 0 0 2px var(--border,#6378b42e);border-radius:10px;position:relative;overflow:hidden}.elv-slot{height:var(--elv-floor-h);box-sizing:border-box;border-bottom:1px dashed var(--border,#6378b440)}.elv-slot:last-child{border-bottom:none}.elv-slot--under{background:#0f172a0f}.elv-cabin{height:calc(var(--elv-floor-h) - 10px);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 88%, #fff), var(--accent));cursor:grab;touch-action:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;margin-top:5px;display:flex;position:absolute;left:5px;right:5px;box-shadow:0 4px 10px #00000038}.elv-cabin--dragging{cursor:grabbing;box-shadow:0 8px 18px #00000047}.elv-cabin--locked{cursor:default}.elv-cabin--explanation{background:linear-gradient(180deg, color-mix(in srgb, var(--success) 88%, #fff), var(--success))}.elv-cabin-doors{gap:3px;height:16px;display:flex}.elv-cabin-door{background:#ffffffa6;border-radius:2px;width:9px;height:100%}.elv-cabin-grip{background:#fffc;border-radius:2px;width:20px;height:3px}.elv-floors{flex-direction:column;display:flex}.elv-floor{height:var(--elv-floor-h);box-sizing:border-box;border-bottom:1px solid var(--border,#6378b42e);background:var(--card,#fff);align-items:center;gap:10px;min-width:118px;padding:0 .8rem;display:flex;position:relative}.elv-floor:first-child{border-radius:8px 8px 0 0}.elv-floor:last-child{border-bottom:none;border-radius:0 0 8px 8px}.elv-floor--under{background:var(--bg2,#eef0f7)}.elv-floor--current{background:color-mix(in srgb, var(--accent) 12%, var(--card,#fff))}.elv-floor-num{color:var(--text,#1a1f36);min-width:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:800;position:relative}.elv-floor-sign{margin-right:1px;position:absolute;right:100%}.elv-floor-window{background:var(--bg3,#e2e6f3);width:26px;height:18px;box-shadow:inset 0 0 0 1px var(--border,#6378b42e);border-radius:3px}.elv-floor--under .elv-floor-window{opacity:.45}.elv-ground{z-index:2;left:calc(-1 * (var(--elv-shaft-w) + 16px));background:#8a7350;border-radius:2px;height:3px;position:absolute;bottom:-2px;right:-8px}.elv-move{white-space:nowrap;border-radius:10px;align-items:center;gap:2px;padding:.3rem .55rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:800;display:flex;position:absolute;top:26px;right:calc(100% + 10px)}.elv-move--down{color:#2563eb;background:#3b82f629}.elv-move--up{color:#b45309;background:#f59e0b2e}.elv-move-arrow{font-size:1.05rem}.elv-hint{color:var(--muted,#8892b0);text-align:center;margin-top:.9rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.85rem;font-weight:600}.dtg-wrap{flex-direction:column;align-items:center;gap:1.75rem;width:100%;display:flex}.dtg-pool{flex-wrap:wrap;justify-content:center;gap:.9rem;width:100%;min-height:60px;display:flex}.dtg-chip{border:2px solid var(--border,#1e293b);background:var(--bg3,#e5e5e5);min-width:64px;max-width:100%;color:var(--text,#f8fafc);overflow-wrap:break-word;word-break:break-word;cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border-radius:14px;padding:.85rem 1.3rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.8rem,3.6vw,1.3rem);font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1),border-color .15s,background .15s,color .15s}.dtg-chip:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.dtg-chip:disabled{cursor:default}.dtg-chip--active{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent,#fff);box-shadow:0 4px 0 var(--accent-shadow)}.dtg-chip--placed{min-width:56px;padding:.7rem 1.1rem;font-size:clamp(.75rem,3.2vw,1.15rem)}.dtg-chip--correct{background:var(--success);border-color:var(--success);color:#06281c;box-shadow:0 4px 0 var(--success-shadow)}.dtg-chip--wrong{background:var(--error);border-color:var(--error);color:#fff;box-shadow:0 4px 0 var(--error-shadow)}.dtg-groups{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:.7rem;width:100%;display:grid}.dtg-zone{border:2px dashed var(--border,#1e293b);cursor:pointer;border-radius:18px;flex-direction:column;gap:.6rem;min-width:0;min-height:120px;padding:.7rem;transition:border-color .15s,background .15s;display:flex}.dtg-zone--targetable{border-color:var(--accent);background:var(--bg3,#e5e5e5);border-style:solid}.dtg-zone-label{color:var(--muted,#94a3b8);text-align:center;overflow-wrap:break-word;word-break:break-word;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.68rem,3vw,.92rem);font-weight:700}.dtg-zone-items{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.dtg-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;margin-top:.2rem;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1),opacity .15s}.dtg-check-btn:disabled{opacity:.4;cursor:default;box-shadow:none}.dtg-check-btn:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.dtg-chip--angle{min-width:0;padding:.35rem .45rem;line-height:0}.dtg-angle{width:68px;height:52px;display:block}.dtg-angle-arc{stroke:var(--muted,#94a3b8);stroke-width:1.2px;opacity:.45}.dtg-angle-tick{stroke:var(--muted,#94a3b8);stroke-width:1.2px;opacity:.5}.dtg-angle-ray{stroke:var(--text,#e2e8f0);stroke-width:2.2px;stroke-linecap:round}.dtg-angle-ray--moving{stroke:var(--accent,#38bdf8)}.dtg-angle-vertex{fill:var(--text,#e2e8f0)}.dtg-chip--active .dtg-angle-ray,.dtg-chip--correct .dtg-angle-ray,.dtg-chip--wrong .dtg-angle-ray,.dtg-chip--active .dtg-angle-ray--moving,.dtg-chip--correct .dtg-angle-ray--moving,.dtg-chip--wrong .dtg-angle-ray--moving{stroke:currentColor}.dtg-chip--active .dtg-angle-vertex,.dtg-chip--correct .dtg-angle-vertex,.dtg-chip--wrong .dtg-angle-vertex{fill:currentColor}.dtg-chip--active .dtg-angle-arc,.dtg-chip--correct .dtg-angle-arc,.dtg-chip--wrong .dtg-angle-arc,.dtg-chip--active .dtg-angle-tick,.dtg-chip--correct .dtg-angle-tick,.dtg-chip--wrong .dtg-angle-tick{stroke:currentColor;opacity:.55}.dtg-angle-right-mark{fill:none;stroke:var(--text,#e2e8f0);stroke-width:1.8px;stroke-linejoin:round}.dtg-chip--active .dtg-angle-right-mark,.dtg-chip--correct .dtg-angle-right-mark,.dtg-chip--wrong .dtg-angle-right-mark{stroke:currentColor}.dtg-groups--angle{grid-template-columns:repeat(auto-fit,minmax(124px,1fr))}.dtg-groups--angle .dtg-zone-label{word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none;font-size:clamp(.66rem,2.7vw,.84rem)}.dtg-chip--draggable{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:box-shadow .1s cubic-bezier(.25,.8,.25,1),border-color .15s,background .15s,color .15s}.dtg-chip--draggable:active:not(:disabled){transform:none}.dtg-chip--draggable:active{cursor:grabbing}.dtg-zone--over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--card,#fff));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);border-style:solid}.dtg-pool{min-height:56px}.tf-options{gap:1rem;width:100%;display:flex}.tf-option{border:2px solid var(--border,#1e293b);background:var(--bg3,#e5e5e5);color:var(--text,#f8fafc);cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border-radius:18px;flex-direction:column;flex:1;align-items:center;gap:.5rem;padding:1.6rem 1rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.15rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1),border-color .15s,background .15s,color .15s;display:flex}.tf-option:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.tf-option:disabled{cursor:default}.tf-option-icon{font-size:1.8rem;line-height:1}.tf-option--correct{background:var(--success);border-color:var(--success);color:#06281c;box-shadow:0 4px 0 var(--success-shadow);animation:.4s tf-correct-pop}.tf-option--wrong{background:var(--error);border-color:var(--error);color:#fff;box-shadow:0 4px 0 var(--error-shadow);animation:.35s tf-wrong-shake}@keyframes tf-correct-pop{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes tf-wrong-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.se-wrap{flex-direction:column;align-items:center;gap:1.6rem;width:100%;display:flex}.se-track{touch-action:none;cursor:pointer;width:100%;height:56px;position:relative}.se-track--locked{cursor:default}.se-track-line{background:var(--border,#1e293b);border-radius:99px;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.se-tick{flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.se-tick-mark{background:var(--border,#1e293b);width:2px;height:10px}.se-tick-label{color:var(--muted,#94a3b8);margin-top:5px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.65rem,2.6vw,.85rem)}.se-marker{background:var(--accent);cursor:grab;border:3px solid #fff;border-radius:50%;width:clamp(18px,6vw,26px);height:clamp(18px,6vw,26px);position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #00000040}.se-marker:active{cursor:grabbing}.se-value-label{color:var(--text,#f8fafc);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.1rem;font-weight:700}.se-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.se-check-btn:active{box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.cf-fraction{flex-direction:column;align-items:center;line-height:1.15;display:inline-flex}.cf-num,.cf-den{font-size:1.5rem;font-weight:800}.cf-line{background:currentColor;border-radius:2px;width:100%;height:3px;margin:.15rem 0}.ef-wrap{flex-direction:column;align-items:center;gap:1.6rem;width:100%;display:flex}.ef-fraction{color:var(--text);flex-direction:column;align-items:center;line-height:1.15;display:inline-flex}.ef-num,.ef-den{font-size:2rem;font-weight:800}.ef-line{background:currentColor;border-radius:3px;width:100%;height:6px;margin:.2rem 0}.ef-track{touch-action:none;cursor:pointer;width:100%;height:56px;position:relative}.ef-track--locked{cursor:default}.ef-track-line{background:var(--border,#1e293b);border-radius:99px;height:6px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.ef-tick{flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.ef-tick-mark{background:var(--border,#1e293b);width:3px;height:12px}.ef-tick-label{color:var(--muted,#94a3b8);margin-top:5px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.65rem,2.6vw,.85rem)}.ef-marker{background:var(--accent);cursor:grab;border:3px solid #fff;border-radius:50%;width:clamp(18px,6vw,26px);height:clamp(18px,6vw,26px);position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #00000040}.ef-marker--correct{background:var(--success);z-index:1}.ef-marker--user{background:var(--muted,#94a3b8)}.ef-marker:active{cursor:grabbing}.ef-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.ef-check-btn:active{box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.fcv-row{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:clamp(1rem,5vw,2.5rem);width:100%;display:flex}.fcv-item{flex-direction:column;align-items:center;gap:.8rem;min-width:0;display:flex}.fcv-pizza{filter:drop-shadow(0 4px 10px #00000040);width:min(150px,38vw);height:min(150px,38vw)}.fcv-slice{stroke:var(--bg,#0b1220);stroke-width:1.5px}.fcv-slice--circle{fill:#f3d9a4}.fcv-slice--hexagon{fill:#c8b6f2}.fcv-slice--shaded{fill:var(--accent)}.fcv-hexagon-outline{fill:none;stroke:var(--bg,#0b1220);stroke-width:2px}.fcv-bar{background:linear-gradient(155deg,#6b4226,#4a2c17);border-radius:12px;gap:4px;width:min(220px,55vw);padding:8px;display:flex;box-shadow:inset 0 2px 4px #00000059,0 3px 8px #00000040}.fcv-segment{background:#b98a5e;border:2px solid #00000040;border-radius:5px;flex:1;height:52px;box-shadow:inset 0 2px 3px #ffffff26,inset 0 -3px 4px #00000040}.fcv-segment--shaded{background:var(--accent);border-color:var(--accent)}.fcv-label{color:var(--text,#f8fafc);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.2rem;font-weight:800}.nk-wrap{flex-direction:column;align-items:center;gap:1.4rem;width:100%;display:flex}.nk-display{border:2px solid var(--border,#1e293b);background:var(--card,#fff);text-align:center;min-width:120px;color:var(--text,#f8fafc);border-radius:16px;padding:.7rem 1.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:2rem;font-weight:800;transition:background .15s,border-color .15s,color .15s}.nk-display--correct{background:var(--success);border-color:var(--success);color:#06281c}.nk-display--wrong{background:var(--error);border-color:var(--error);color:#fff}.nk-keys{grid-template-columns:repeat(4,1fr);gap:.7rem;width:100%;max-width:320px;display:grid}.nk-key{background:var(--bg3,#e5e5e5);height:clamp(48px,14vw,60px);color:var(--text,#f8fafc);cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border:none;border-radius:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.3rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.nk-key:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.nk-key:disabled{cursor:default;opacity:.6}.nk-key--del{background:var(--bg2,#eef0f7);font-size:1.1rem}.nk-key--minus,.nk-key--dot{background:var(--bg2,#eef0f7);font-size:1.3rem}.nk-key--zero-wide{grid-column:1/-1}.nk-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.nk-check-btn:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.nk-check-btn:disabled{opacity:.5;cursor:default}.mp-wrap{flex-direction:column;gap:.6rem;width:100%;display:flex}.mp-headers{gap:1rem;display:flex}.mp-header{text-align:center;text-transform:uppercase;letter-spacing:.03em;min-width:0;color:var(--muted,#94a3b8);border-bottom:2px solid var(--border,#1e293b);flex:1;padding-bottom:.4rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.75rem,3.2vw,.9rem);font-weight:800}.mp-columns{gap:1rem;width:100%;display:flex}.mp-column{flex-direction:column;flex:1;gap:.7rem;min-width:0;display:flex}.mp-tile{border:2px solid var(--border,#1e293b);background:var(--bg3,#e5e5e5);min-height:92px;color:var(--text,#f8fafc);text-align:center;overflow-wrap:break-word;word-break:break-word;cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border-radius:14px;justify-content:center;align-items:center;padding:.9rem clamp(.5rem,3vw,1.1rem);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.85rem,3.6vw,1.1rem);font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1),border-color .15s,background .15s,color .15s,opacity .15s;display:flex}.mp-tile:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.mp-tile--selected{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent,#fff)}.mp-tile--matched{background:var(--success);border-color:var(--success);color:#06281c;opacity:.55;cursor:default}.mp-tile--wrong{background:var(--error);border-color:var(--error);color:#fff;animation:.35s mp-wrong-shake}.mp-tile-system{justify-content:center;align-items:center;gap:.4rem;width:100%;display:flex}.mp-tile-system-glyph{font-size:1.9em;font-weight:300;line-height:1}.mp-tile-system-lines{text-align:left;white-space:nowrap;flex-direction:column;gap:.15rem;font-size:.82em;display:flex}.mp-tile--symbols{padding-top:.5rem;padding-bottom:.5rem;font-size:clamp(1.35rem,5.4vw,1.8rem)}.mp-tile--symbols .mp-tile-system-lines{gap:.1rem;font-size:1em}.mp-tile--symbols .mp-tile-system-glyph{transform-origin:50%;font-size:2em;transform:scaleY(1.35)}@keyframes mp-wrong-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.eg-wrap{flex-direction:column;align-items:center;gap:1.4rem;width:100%;display:flex}.eg-equation{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex}.eg-token{color:var(--text,#f8fafc);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.4rem,6vw,2rem);font-weight:800}.eg-token--eq{opacity:.6}.eg-blank{border:2px solid var(--border,#1e293b);background:var(--card,#fff);border-radius:12px;justify-content:center;align-items:center;min-width:2.2em;padding:.2rem .5rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.eg-blank--active{background:var(--accent);color:var(--text-on-accent,#080e1a)}.eg-blank--editable{cursor:pointer;opacity:.75}.eg-blank--editable:active{opacity:.55}.eg-blank--correct{background:var(--success);border-color:var(--success);color:#06281c}.eg-blank--wrong{background:var(--error);border-color:var(--error);color:#fff}.eg-build-panel{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.eg-keys{grid-template-columns:repeat(5,1fr);gap:.6rem;width:100%;max-width:320px;display:grid}.eg-key{background:var(--bg3,#e5e5e5);height:clamp(44px,12vw,56px);color:var(--text,#f8fafc);cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border:none;border-radius:12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.2rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.eg-key:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.eg-key:disabled{cursor:default;opacity:.4}.eg-key--del{background:var(--bg2,#eef0f7);font-size:1.1rem}.eg-ops{grid-template-columns:repeat(4,1fr);gap:.7rem;width:100%;max-width:280px;display:grid}.eg-op-btn{background:var(--accent);height:clamp(48px,14vw,60px);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.4rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.eg-op-btn:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.eg-op-btn:disabled{cursor:default;opacity:.4}.eg-op-btn--correct{background:var(--success);box-shadow:0 4px 0 var(--success)}.eg-op-btn--wrong{background:var(--error);box-shadow:0 4px 0 var(--error)}.eg-choices{grid-template-columns:repeat(4,1fr);gap:.7rem;width:100%;max-width:320px;display:grid}.eg-choice-btn{background:var(--bg3,#e5e5e5);height:clamp(48px,14vw,60px);color:var(--text,#f8fafc);cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border:none;border-radius:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.2rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.eg-choice-btn:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.eg-choice-btn:disabled{cursor:default;opacity:.4}.eg-choice-btn--correct{background:var(--success);box-shadow:0 4px 0 var(--success)}.eg-choice-btn--wrong{background:var(--error);box-shadow:0 4px 0 var(--error)}.eg-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.eg-check-btn:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.eg-check-btn:disabled{opacity:.5;cursor:default}.tc-wrap{justify-content:center;align-items:center;width:100%;display:flex}.tc-badge{background:var(--card,#fff);border-radius:28px;flex-direction:column;align-items:center;gap:.6rem;min-width:220px;padding:2rem 2.4rem;display:flex;position:relative;box-shadow:0 4px #0000001a,0 12px 26px #0000001f}.tc-main{color:var(--text,#1a1f36);letter-spacing:-.01em;text-align:center;white-space:pre;flex-wrap:wrap;justify-content:center;align-items:baseline;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.8rem,7vw,2.6rem);font-weight:800;display:flex}.tc-sub{color:var(--muted,#6b7280);white-space:pre;justify-content:center;align-items:baseline;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.95rem,3.4vw,1.1rem);font-weight:600;display:flex}.vp-wrap{flex-direction:column;align-items:center;gap:1.2rem;width:100%;margin:.4rem 0 1rem;display:flex}.vp-main{color:var(--text);letter-spacing:-.01em;text-align:center;white-space:pre;flex-wrap:wrap;justify-content:center;align-items:baseline;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.8rem,7vw,2.6rem);font-weight:800;display:flex}.vp-sub{color:var(--muted);white-space:pre;justify-content:center;align-items:baseline;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.95rem,3.4vw,1.1rem);font-weight:600;display:flex}.vp-chips{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.vp-chip{color:var(--text);background:var(--bg3,#e5e5e5);cursor:pointer;border:2px solid #0000;border-radius:12px;padding:.5rem .9rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.95rem,3.6vw,1.1rem);font-weight:700;transition:transform .1s,background .15s,border-color .15s}.vp-chip:active{transform:translateY(2px)}.vp-chip--active{background:var(--accent-soft,var(--card,#fff));border-color:var(--accent);color:var(--accent)}.et-wrap{justify-content:center;align-items:center;width:100%;margin:.6rem 0 1.6rem;display:flex}.et-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;display:flex}.et-token{background:var(--bg3,#e5e5e5);min-width:clamp(52px,14vw,64px);height:clamp(52px,14vw,64px);color:var(--text,#f8fafc);cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border:none;border-radius:14px;padding:0 .4rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.4rem,6vw,1.8rem);font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.et-token:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.et-token:disabled{cursor:default}.et-token--picked{background:var(--accent);box-shadow:0 4px 0 var(--accent-shadow,var(--accent));color:var(--text-on-accent,#080e1a)}.et-token--correct{background:var(--success);box-shadow:0 4px 0 var(--success);color:#06281c}.et-token--wrong{background:var(--error);box-shadow:0 4px 0 var(--error);color:#fff}.et-op{color:var(--muted);padding:0 .1rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.4rem,6vw,1.8rem);font-weight:800}.ml-wrap{justify-content:center;align-items:center;width:100%;margin:.8rem 0 1.6rem;display:flex}.ml-row{justify-content:center;align-items:flex-start;gap:0;display:flex}.ml-row--with-degree{padding-top:2.4rem}.ml-term{flex-direction:column;align-items:center;gap:.6rem;display:inline-flex}.ml-term--var{margin-left:-1rem}.ml-term--degree{z-index:2;align-self:flex-start;margin-left:-1.8rem;position:relative;transform:translateY(-2.4rem)}.ml-box{border:4px solid var(--accent);background:var(--card,#fff);color:var(--text);border-radius:18px;justify-content:center;align-items:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:800;display:flex}.ml-coef{min-width:3.6rem;min-height:3.9rem;padding:0 .4rem;font-size:clamp(3rem,13vw,4.2rem)}.ml-degree{border-width:3px;border-radius:12px;min-width:2.1rem;min-height:2.1rem;padding:0 .25rem;font-size:clamp(1.5rem,6vw,2rem)}.ml-var{min-width:3.6rem;min-height:3.9rem;padding:0 .4rem;font-size:clamp(3rem,13vw,4.2rem)}.ml-caption{color:var(--accent);text-align:center;white-space:nowrap;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.9rem,3.2vw,1.1rem);font-weight:700}.ml-caption--hidden{visibility:hidden}.mt-wrap{justify-content:center;align-items:center;width:100%;margin:1.4rem 0 1.6rem;display:flex}.mt-row{justify-content:center;align-items:flex-start;gap:0;display:flex}.mt-box{border:4px solid var(--accent);background:var(--card,#fff);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:800;transition:transform .15s,background .15s,border-color .15s;display:flex}.mt-box:active:not(:disabled){transform:scale(.95)}.mt-box:disabled{cursor:default}.mt-coef,.mt-var{border-radius:18px;min-width:3.6rem;min-height:3.9rem;padding:0 .4rem;font-size:clamp(3rem,13vw,4.2rem)}.mt-var-group{margin-left:.25rem;display:inline-flex;position:relative}.mt-degree{z-index:2;border-width:3px;border-radius:12px;min-width:2.4rem;min-height:2.4rem;padding:.1rem;font-size:clamp(1.4rem,6vw,1.9rem);position:absolute;top:-1rem;right:-1rem}.mt-part--correct{border-color:var(--success);background:var(--success-soft);color:var(--success-text,#0b7a57)}.mt-part--wrong{border-color:var(--error);background:var(--error-soft);color:var(--error)}.mpk-wrap{flex-direction:column;align-items:center;gap:1.6rem;width:100%;display:flex}.mpk-formula{color:var(--text,#f8fafc);flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:800;display:flex}.mpk-frac{flex-direction:column;align-items:center;display:inline-flex}.mpk-frac-top{align-items:center;gap:.4rem;padding-bottom:.3rem;display:flex}.mpk-frac-bar{background:var(--text,#f8fafc);border-radius:2px;width:100%;height:3px}.mpk-frac-bottom{padding-top:.2rem;font-size:clamp(1.1rem,4.6vw,1.4rem)}.mpk-op{opacity:.7;font-size:clamp(1.1rem,4.6vw,1.4rem)}.mpk-result{color:var(--accent);font-size:clamp(1.3rem,5.2vw,1.7rem)}.mpk-slot{border:2px solid var(--border,#1e293b);background:var(--card,#fff);border-radius:10px;justify-content:center;align-items:center;min-width:1.9em;padding:.15rem .4rem;font-size:clamp(1.1rem,4.6vw,1.4rem);transition:background .15s,border-color .15s,color .15s;display:inline-flex}.mpk-slot--filled{border-color:var(--accent)}.mpk-slot--correct{background:var(--success);border-color:var(--success);color:#06281c}.mpk-slot--wrong{background:var(--error);border-color:var(--error);color:#fff}.mpk-pool{flex-wrap:wrap;justify-content:center;gap:.6rem;max-width:340px;display:flex}.mpk-tile{background:var(--bg3,#e5e5e5);min-width:clamp(46px,13vw,56px);height:clamp(46px,13vw,56px);color:var(--text,#f8fafc);cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border:none;border-radius:12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.15rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.mpk-tile:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.mpk-tile--picked{background:var(--accent);color:var(--text-on-accent,#080e1a);box-shadow:0 4px 0 var(--accent-shadow)}.mpk-tile:disabled{cursor:default;opacity:.55}.mpk-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.mpk-check-btn:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.mpk-check-btn:disabled{opacity:.5;cursor:default}.tt-wrap{justify-content:center;align-items:center;width:100%;margin:.6rem 0 1.6rem;display:flex}.tt-badge{justify-content:center;align-items:center;display:flex;position:relative}.tt-equation{color:var(--text);align-items:center;gap:.35em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(2rem,8vw,2.8rem);font-weight:800;display:flex}.tt-side{align-items:center;display:inline-flex}.tt-token{white-space:pre}.tt-eq{color:var(--muted)}.tt-term{border-radius:10px;align-items:center;padding:.08em .3em;transition:background .2s,box-shadow .2s;display:inline-flex}.tt-term--highlight{background:#63b3ed2e;box-shadow:0 0 0 2px #63b3ed}.tt-op{margin-right:.05rem}.be-wrap{flex-direction:column;align-items:center;gap:1.3rem;width:100%;display:flex}.be-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.3rem,5.5vw,1.9rem);font-weight:800;display:flex}.be-slot{border:2px solid var(--border,#1e293b);background:var(--card,#fff);min-width:2.2em;color:var(--text,#f8fafc);border-radius:12px;justify-content:center;align-items:center;padding:.2rem .5rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.be-slot--active{background:var(--accent);color:var(--text-on-accent,#080e1a)}.be-slot--editable{cursor:pointer;opacity:.75}.be-slot--editable:active{opacity:.55}.be-slot--correct{background:var(--success);border-color:var(--success);color:#06281c}.be-slot--wrong{background:var(--error);border-color:var(--error);color:#fff}.be-bank{grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:.6rem;width:100%;max-width:340px;display:grid}.be-chip{background:var(--bg3,#e5e5e5);min-width:0;height:clamp(44px,12vw,54px);color:var(--text,#f8fafc);cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border:none;border-radius:12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.05rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.be-chip:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.be-chip:disabled{cursor:default;opacity:.4}.be-hint{color:var(--muted,#94a3b8);text-align:center;font-size:.8rem}.fx-wrap{justify-content:center;align-items:center;width:100%;margin:.6rem 0 1.6rem;display:flex}.fx-badge{justify-content:center;align-items:center;display:flex;position:relative}.fx-line{color:var(--text);align-items:center;gap:.5em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.8rem,8vw,2.6rem);font-weight:800;display:flex}.fx-frac{flex-direction:column;align-items:stretch;line-height:1.3;display:inline-flex}.fx-num{text-align:center;white-space:pre;padding:0 .15em .15em}.fx-den-row{border-top:3px solid;justify-content:center;padding-top:.15em;display:flex}.fx-eq{opacity:.6}.fx-right{align-items:center;display:inline-flex}.fx-term{background:#63b3ed2e;border-radius:10px;align-items:center;padding:.05em .25em;display:inline-flex;box-shadow:0 0 0 2px #63b3ed}.fx-op{opacity:.8;margin-right:.05em}.sf-wrap{justify-content:center;align-items:center;width:100%;display:flex}.sf-badge{box-sizing:border-box;background:0 0;border-radius:28px;flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:.6rem;width:min(94vw,420px);height:190px;padding:1.8rem .8rem;display:flex;position:relative;overflow:hidden}.sf-brace{color:var(--text,#1a1f36);font-size:clamp(2.3rem,9vw,3.4rem);font-weight:300;line-height:1;transform:scaleY(1.05)}.sf-lines{flex-direction:column;justify-content:center;align-items:flex-start;gap:.5rem;display:flex}.sf-line{color:var(--text,#1a1f36);white-space:nowrap;align-items:center;gap:.3em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.5rem,6vw,2.2rem);font-weight:800;display:flex}.sf-token{white-space:pre}.sf-eq{color:var(--muted,#6b7280)}.sf-expr{background:#63b3ed2e;border-radius:10px;align-items:center;padding:.08em .3em;display:inline-flex;box-shadow:0 0 0 2px #63b3ed}.sf-token--placeholder{background:#63b3ed2e;border-radius:10px;padding:.08em .3em;box-shadow:0 0 0 2px #63b3ed}.sd-wrap{flex-direction:column;align-items:center;gap:.8rem;width:100%;display:flex}.sd-badge{box-sizing:border-box;background:0 0;border-radius:28px;flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:.6rem;width:min(94vw,420px);height:190px;padding:1.8rem .8rem;display:flex;position:relative;overflow:visible}.sd-brace{color:var(--text,#1a1f36);font-size:clamp(2.3rem,9vw,3.4rem);font-weight:300;line-height:1;transform:scaleY(1.05)}.sd-lines{flex-direction:column;justify-content:center;align-items:flex-start;gap:.5rem;display:flex}.sd-line{color:var(--text,#1a1f36);white-space:nowrap;align-items:center;gap:.3em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.5rem,6vw,2.2rem);font-weight:800;display:flex}.sd-token{white-space:pre}.sd-eq{color:var(--muted,#6b7280)}.sd-expr{touch-action:none;background:#63b3ed2e;border-radius:10px;align-items:center;padding:.08em .3em;display:inline-flex;box-shadow:0 0 0 2px #63b3ed}.sd-expr--draggable{cursor:grab}.sd-expr--draggable:active{cursor:grabbing}.sd-slot{color:var(--muted,#94a3b8);background:#94a3b82e;border-radius:10px;padding:.08em .5em;transition:background .15s,box-shadow .15s,color .15s;box-shadow:0 0 0 2px #94a3b8}.sd-slot--over{color:#059669;background:#34d39938;box-shadow:0 0 0 2px #34d399}.sd-hint{color:var(--text-muted,#6b7280);text-align:center;font-size:.9rem}.ea-wrap{flex-direction:column;align-items:center;gap:.8rem;width:100%;display:flex}.ea-badge{background:var(--card,#fff);box-sizing:border-box;border-radius:28px;flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:.6rem;width:min(90vw,340px);min-height:170px;padding:1.6rem 1rem;display:flex;position:relative;overflow:visible;box-shadow:0 4px #0000001a,0 12px 26px #0000001f}.ea-brace{color:var(--text,#1a1f36);font-size:2.6em;font-weight:300;line-height:1;transform:scaleY(1.05)}.ea-lines{flex-direction:column;justify-content:center;align-items:flex-start;gap:.45rem;display:flex}.ea-line{color:var(--text,#1a1f36);white-space:nowrap;align-items:center;gap:.25em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1rem,4.2vw,1.5rem);font-weight:800;display:flex}.ea-token{white-space:pre}.ea-eq{color:var(--muted,#6b7280)}.ea-cancel{color:#f43f5e;transition:opacity .4s,transform .4s}.ea-cancel--out{opacity:.25;text-decoration:line-through;transform:scale(.9)}.ea-divider{background:#1a1f36;width:0%;height:2px;transition:width .35s}.ea-divider--show{width:100%}.ea-result{color:#059669}.ea-line--op{padding-left:1.1em;position:relative}.ea-op{color:#38bdf8;font-size:1.1em;position:absolute;left:0}.ea-hint{color:var(--text-muted,#6b7280);text-align:center;font-size:.9rem}.ea-op-btns{gap:.8rem;display:flex}.ea-op-btns--wrong{animation:.4s ea-shake}@keyframes ea-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.ea-op-btn{color:#fff;cursor:pointer;background:#38bdf8;border:none;border-radius:14px;width:48px;height:48px;font-size:1.6rem;font-weight:800;line-height:1;box-shadow:0 4px #0284c7}.ea-op-btn:active{transform:translateY(4px);box-shadow:0 0 #0284c7}.sg-wrap{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.sg-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;min-height:100px;display:flex}.sg-shape{flex-shrink:0;display:inline-block}.sg-shape--circle{border-radius:50%}.sg-shape--square{border-radius:6px}.sg-shape--pentagon{clip-path:polygon(50% 4.8%,97.6% 39.3%,79.4% 95.2%,20.6% 95.2%,2.4% 39.3%)}.sg-shape--hexagon{clip-path:polygon(0% 50%,25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%)}.sg-shape--star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.sg-shape--triangle{border-style:solid;border-color:#0000;width:0!important;height:0!important}.sg-shape--number{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.15rem;font-weight:800;display:inline-flex}.sg-cell{box-sizing:content-box;cursor:default;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:10px;font-family:inherit;display:inline-flex}.sg-cell:disabled{cursor:default}.sg-cell--gap{border:3px dashed var(--muted,#94a3b8);color:var(--muted,#94a3b8);border-radius:50%;width:30px;height:30px;font-size:1.2rem;font-weight:800}.sg-cell--gap:not(:disabled){cursor:pointer}.sg-cell--filled:not(:disabled){cursor:pointer;box-shadow:0 0 0 3px var(--accent);border-radius:10px}.sg-hint{color:var(--text-muted,#6b7280);text-align:center;font-size:.85rem}.sg-pool{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.6rem;max-width:360px;display:flex}.sg-pool-btn{background:var(--card,#fff);border:2px solid var(--border,#1e293b);cursor:pointer;box-shadow:0 3px 0 var(--border,#1e293b);border-radius:12px;justify-content:center;align-items:flex-end;padding:.4rem;transition:transform .1s,box-shadow .1s;display:flex}.sg-pool-btn:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(3px)}.sg-pool-btn:disabled{cursor:default}.sg-pool-btn--picked{border-color:var(--accent);box-shadow:0 3px 0 var(--accent-shadow)}.sg-pool-btn--correct{border-color:#34d399;box-shadow:0 3px #059669}.sg-pool-btn--wrong{border-color:#f87171;box-shadow:0 3px #dc2626}.sg-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.sg-check-btn:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.sg-check-btn:disabled{opacity:.5;cursor:default}.sqo-wrap{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.sqo-answer-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;min-height:90px;display:flex}.sqo-slot{border:2px dashed var(--muted,#94a3b8);box-sizing:content-box;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:30px;min-height:30px;padding:8px;display:inline-flex}.sqo-slot--filled{border-style:solid;border-color:var(--border,#1e293b);cursor:pointer;background:0 0}.sqo-slot--filled:disabled{cursor:default}.sqo-shape{flex-shrink:0;display:inline-block}.sqo-shape--circle{border-radius:50%}.sqo-shape--square{border-radius:5px}.sqo-protractor path,.sqo-protractor line{stroke:var(--muted,#94a3b8);stroke-width:1px;opacity:.45}.sqo-protractor-label{fill:var(--accent,#38bdf8);opacity:.85;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:5.5px;font-weight:700}.sqo-shape--pentagon{clip-path:polygon(50% 4.8%,97.6% 39.3%,79.4% 95.2%,20.6% 95.2%,2.4% 39.3%)}.sqo-shape--hexagon{clip-path:polygon(0% 50%,25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%)}.sqo-shape--star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.sqo-shape--triangle{border-style:solid;border-color:#0000;width:0!important;height:0!important}.sqo-shape--number{color:#fff;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.05rem;font-weight:800;display:inline-flex}.sqo-hint{color:var(--text-muted,#6b7280);text-align:center;font-size:.85rem}.sqo-pool{flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;max-width:360px;display:flex}.sqo-pool-btn{background:var(--card,#fff);border:2px solid var(--border,#1e293b);cursor:pointer;box-shadow:0 3px 0 var(--border,#1e293b);border-radius:12px;justify-content:center;align-items:center;padding:.35rem;transition:transform .1s,box-shadow .1s,opacity .15s;display:flex}.sqo-pool-btn:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(3px)}.sqo-pool-btn--picked{opacity:.3}.sqo-pool-btn:disabled{cursor:default}.sqo-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.sqo-check-btn:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.sqo-check-btn:disabled{opacity:.5;cursor:default}.ssw-wrap{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.ssw-row{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.5rem;display:flex}.ssw-tile-wrap{touch-action:none;cursor:grab;flex-direction:column;align-items:center;gap:.4rem;display:flex}.ssw-tile-wrap:active{cursor:grabbing}.ssw-tile{box-sizing:content-box;background:var(--card,#fff);box-shadow:0 0 0 2px var(--border,#1e293b), 0 3px 0 var(--border,#1e293b);border-radius:12px;justify-content:center;align-items:center;padding:8px;transition:box-shadow .15s;display:inline-flex}.ssw-tile--correct{box-shadow:0 0 0 3px #34d399}.ssw-shape{flex-shrink:0;display:inline-block}.ssw-shape--circle{border-radius:50%}.ssw-shape--square{border-radius:6px}.ssw-shape--pentagon{clip-path:polygon(50% 4.8%,97.6% 39.3%,79.4% 95.2%,20.6% 95.2%,2.4% 39.3%)}.ssw-shape--hexagon{clip-path:polygon(0% 50%,25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%)}.ssw-shape--star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.ssw-shape--triangle{border-style:solid;border-color:#0000;width:0!important;height:0!important}.ssw-shape--number{color:#fff;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.05rem;font-weight:800;display:inline-flex}.ssw-hint{color:var(--text-muted,#6b7280);text-align:center;font-size:.85rem}.ssw-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.ssw-check-btn:active{box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.ab-wrap{flex-direction:column;align-items:center;width:100%;display:flex}.ab-svg-wrap{touch-action:none;cursor:pointer;width:100%;max-width:320px}.ab-svg-wrap--locked{cursor:default;pointer-events:none}.ab-svg{width:100%;height:auto}.ab-protractor path{stroke:var(--border,#334155);stroke-width:1.5px}.ab-tick{stroke:var(--muted,#94a3b8);stroke-width:1px}.ab-tick--major{stroke:var(--text,#e2e8f0);stroke-width:1.5px}.ab-ray{stroke:var(--text,#e2e8f0);stroke-width:3px;stroke-linecap:round}.ab-ray--moving{stroke:var(--accent,#38bdf8)}.ab-ray--correct{stroke:#4ade80}.ab-ray--wrong{stroke:#f87171}.ab-vertex{fill:var(--text,#e2e8f0)}.ab-readout{color:var(--text);margin:.4rem 0 .8rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.4rem;font-weight:800}.ab-hint{color:var(--muted,#94a3b8);text-align:center;margin-bottom:.8rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.85rem}.ab-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:16px;padding:.8rem 2rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700}.ab-check-btn:active{box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.ab-right-mark{fill:none;stroke:var(--text,#e2e8f0);stroke-width:2px;stroke-linejoin:round}.apk-wrap{justify-content:center;width:100%;display:flex}.apk-grid{grid-template-columns:repeat(2,1fr);gap:1.1rem;max-width:400px;display:grid}.apk-btn{background:var(--card,#111827);border:2px solid var(--border,#1e293b);cursor:pointer;border-radius:20px;justify-content:center;align-items:center;padding:1rem;transition:border-color .18s,box-shadow .18s,background .18s;display:flex}.apk-btn:disabled{cursor:default}.apk-btn--picked{border-color:var(--accent,#38bdf8)}.apk-btn--correct{background:color-mix(in srgb, #4ade80 12%, var(--card,#fff));border-color:#4ade80;box-shadow:0 0 0 3px #4ade804d,0 0 24px #4ade8073}.apk-btn--wrong{background:color-mix(in srgb, #f87171 10%, var(--card,#fff));border-color:#f87171;box-shadow:0 0 0 3px #f8717138}.apk-protractor path,.apk-protractor line{stroke:var(--muted,#94a3b8);stroke-width:1px;opacity:.45}.apk-protractor-label{fill:var(--accent,#38bdf8);opacity:.85;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:5.5px;font-weight:700}.apk-icon>line,.apk-icon>circle{stroke:var(--text,#e2e8f0);fill:var(--text,#e2e8f0);stroke-width:1.6px}.apk-right-mark{fill:none;stroke:var(--text,#e2e8f0);stroke-width:1.6px;stroke-linejoin:round}.ac-wrap{justify-content:center;width:100%;max-width:260px;margin:0 auto;display:flex}.ac-svg{width:100%;height:auto}.ac-line{stroke:var(--text,#e2e8f0);stroke-width:3px;stroke-linecap:round}.ac-vertex{fill:var(--text,#e2e8f0)}.ac-arc{fill:none;stroke:var(--muted,#94a3b8);stroke-width:1.5px}.ac-arc--highlighted{stroke:var(--accent,#38bdf8);stroke-width:2px}.ac-label{fill:var(--muted,#94a3b8);text-anchor:middle;dominant-baseline:middle;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:700}.ac-label--highlighted{fill:var(--accent,#38bdf8);font-size:15px}.pa-wrap{justify-content:center;width:100%;max-width:280px;margin:0 auto;display:flex}.pa-svg{width:100%;height:auto}.pa-line{stroke:var(--text,#e2e8f0);stroke-width:3px;stroke-linecap:round}.pa-vertex{fill:var(--text,#e2e8f0)}.pa-arc{fill:none;stroke:var(--muted,#94a3b8);stroke-width:1.5px}.pa-arc--highlighted{stroke:var(--accent,#38bdf8);stroke-width:2px}.pa-label{fill:var(--muted,#94a3b8);text-anchor:middle;dominant-baseline:middle;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:11px;font-weight:700}.pa-label--highlighted{fill:var(--accent,#38bdf8);font-size:13px}.trp-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;width:100%;max-width:320px;margin:0 auto;display:grid}.trp-btn{background:var(--card,#111827);border:2px solid var(--border,#1e293b);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;padding:.5rem;display:flex}.trp-btn:disabled{cursor:default}.trp-btn--correct{border-color:#4ade80}.trp-btn--wrong{border-color:#f87171}.tsp-wrap{justify-content:center;width:100%;max-width:360px;margin:0 auto;display:flex}.tsp-svg{width:100%;height:auto}.tsp-hit{cursor:pointer;outline:none}.tsp-hit[aria-disabled=true]{cursor:default}.tsp-hit-line{stroke:#0000;stroke-width:28px;stroke-linecap:round}.tsp-side{stroke:var(--text,#e2e8f0);stroke-width:4px;stroke-linecap:round;transition:stroke .15s,stroke-width .15s}.tsp-hit:focus-visible .tsp-side{stroke:var(--accent,#38bdf8)}.tsp-side--picked{stroke:var(--accent,#38bdf8);stroke-width:6px}.tsp-side--correct{stroke:#4ade80;stroke-width:6px}.tsp-side--wrong{stroke:#f87171;stroke-width:6px}.tsp-right-mark,.tsp-angle-arc{fill:none;stroke:var(--muted,#94a3b8);stroke-width:1.5px}.tsp-angle-label{fill:var(--muted,#94a3b8);text-anchor:middle;dominant-baseline:middle;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;font-weight:700}.trb-wrap{flex-direction:column;align-items:center;gap:.9rem;width:100%;display:flex}.trb-frac{flex-direction:column;align-items:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.1rem;font-weight:700;display:inline-flex}.trb-frac-bar{background:var(--text);width:34px;height:2px;margin:4px 0}.trb-slot{border:2px dashed var(--border,#1e293b);width:34px;height:34px;color:var(--muted,#94a3b8);border-radius:8px;justify-content:center;align-items:center;display:flex}.trb-slot--filled{color:var(--text);border-style:solid}.trb-slot--correct{color:#4ade80;border-color:#4ade80}.trb-slot--wrong{color:#f87171;border-color:#f87171}.trb-hint{color:var(--muted,#94a3b8);text-align:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.85rem}.trb-pool{gap:.6rem;display:flex}.trb-tile{background:var(--bg3,#e5e5e5);width:44px;height:44px;color:var(--text,#f8fafc);cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border:none;border-radius:10px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.1rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.trb-tile:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.trb-tile:disabled{cursor:default;opacity:.55}.trb-tile--picked{background:var(--accent);color:var(--text-on-accent,#080e1a);box-shadow:0 4px 0 var(--accent-shadow)}.trb-tile--picked:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow)}.trb-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:16px;padding:.7rem 1.8rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.trb-check-btn:disabled{opacity:.5;cursor:default}.trb-check-btn:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.vr-wrap{flex-direction:column;align-items:center;gap:.7rem;width:100%;max-width:320px;margin:0 auto;display:flex}.vr-line{background:var(--card,#111827);border:2px solid var(--border,#1e293b);border-radius:14px;justify-content:center;align-items:baseline;gap:.5rem;width:100%;padding:.7rem 1.2rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex}.vr-bound{color:var(--accent,#38bdf8);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:800}.vr-op{color:var(--muted,#94a3b8);font-size:1.15rem;font-weight:700}.vr-label{color:var(--text);font-size:1.15rem;font-weight:800}.vr-note{color:var(--muted,#94a3b8);text-align:center;max-width:300px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.85rem;line-height:1.5}.pl-wrap{flex-direction:column;align-items:center;gap:.7rem;width:100%;margin:.6rem 0 1.6rem;display:flex}.pl-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.9rem;display:flex}.pl-expr{display:inline-flex;position:relative}.pl-expand{color:var(--text);white-space:nowrap;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(2rem,9vw,3rem);font-weight:800}.pl-exp-col{flex-direction:column;align-items:center;gap:.45rem;margin-left:-1.3rem;display:flex;position:absolute;top:-2.1rem;left:100%}.pl-box{border:4px solid var(--accent);background:var(--card,#fff);color:var(--text);border-radius:20px;justify-content:center;align-items:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:800;display:flex}.pl-base{min-width:4.6rem;min-height:4.6rem;padding:0 .5rem;font-size:clamp(4rem,19vw,6.2rem)}.pl-exponent{min-width:2.4rem;min-height:2.4rem;padding:0 .3rem;font-size:clamp(1.9rem,8vw,2.6rem)}.pl-caption{color:var(--accent);text-align:center;white-space:nowrap;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1rem,3.6vw,1.2rem);font-weight:700}.pl-wrap-compact{gap:.5rem;margin:.3rem 0 1.1rem}.pl-wrap-compact .pl-exp-col{gap:.25rem;margin-left:-.7rem;top:-1.1rem}.pl-wrap-compact .pl-box{border-width:2px;border-color:var(--muted);border-radius:14px}.pl-wrap-compact .pl-base{min-width:2.6rem;min-height:2.6rem;padding:0 .35rem;font-size:clamp(2.2rem,10vw,3rem)}.pl-wrap-compact .pl-exponent{min-width:1.4rem;min-height:1.4rem;padding:0 .2rem;font-size:clamp(1.1rem,4.5vw,1.4rem)}.pl-wrap-compact .pl-caption{color:var(--muted);font-size:clamp(.75rem,2.6vw,.9rem)}.pt-wrap{justify-content:center;align-items:center;width:100%;margin:.6rem 0 1.6rem;display:flex}.pt-card{display:inline-flex;position:relative}.pt-base,.pt-exponent{border:4px solid var(--accent);background:var(--card,#fff);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:800;transition:transform .15s,background .15s,border-color .15s;display:flex}.pt-base{border-radius:28px;min-width:5.2rem;min-height:6.2rem;padding:.4rem .9rem;font-size:clamp(3.6rem,17vw,5.6rem)}.pt-base:active:not(:disabled){transform:scale(.95)}.pt-exponent{border-radius:50%;min-width:2.6rem;min-height:2.6rem;padding:.1rem;font-size:clamp(1.3rem,6vw,1.8rem);position:absolute;top:-1.1rem;right:-1.1rem}.pt-exponent:active:not(:disabled){transform:scale(.9)}.pt-base:disabled,.pt-exponent:disabled{cursor:default}.pt-part--correct{border-color:var(--success);background:var(--success-soft);color:var(--success-text,#0b7a57)}.pt-part--wrong{border-color:var(--error);background:var(--error-soft);color:var(--error)}.pcb-wrap{justify-content:center;align-items:center;width:100%;margin:.6rem 0 1.6rem;display:flex}.pcb-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.pcb-card{border:3px solid var(--accent);background:var(--card,#fff);color:var(--text);border-radius:16px;justify-content:center;align-items:center;min-width:2.4rem;min-height:2.6rem;padding:.2rem .5rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.7rem,7vw,2.4rem);font-weight:800;display:inline-flex;position:relative}.pcb-exp{border:2.5px solid var(--accent);background:var(--card,#fff);color:var(--accent);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;min-width:1.6rem;min-height:1.6rem;margin-left:-.7rem;padding:.15rem .4rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.85rem,3.4vw,1.05rem);font-weight:800;display:flex;position:absolute;top:-.85rem;left:100%}.pcb-card--muted{border-color:var(--muted);opacity:.85;margin-right:1.6rem}.pcb-card--muted .pcb-exp{border-color:var(--muted);color:var(--muted)}.pcb-card--accent{border-color:var(--success);background:var(--success-soft)}.pcb-card--accent .pcb-exp{border-color:var(--success);color:var(--success-text,#0b7a57);background:var(--card,#fff)}.pcb-op{color:var(--muted);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.4rem,6vw,2rem);font-weight:800}.pcb-nested{align-items:center;gap:.55rem;display:inline-flex}.pcb-paren{color:var(--text);opacity:.55;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(2.2rem,9vw,3rem);font-weight:800}.pcb-term{flex-direction:column;align-items:flex-start;display:inline-flex}.pcb-inner-card{border:3px solid var(--accent);background:var(--card,#fff);color:var(--text);border-radius:16px;justify-content:center;align-items:center;min-width:2.4rem;min-height:2.6rem;margin-top:.3rem;padding:.2rem .5rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.7rem,7vw,2.4rem);font-weight:800;display:inline-flex;position:relative}.pcb-base{justify-content:center;align-items:center;display:inline-flex}.pcb-badge{z-index:2;border:2.5px solid var(--accent);background:var(--card,#fff);color:var(--accent);white-space:nowrap;border-radius:10px;justify-content:center;align-self:center;align-items:center;min-width:1.5em;margin-bottom:-1.3rem;padding:.1em .35em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(.85rem,3.4vw,1.05rem);font-weight:800;display:inline-flex;transform:translate(1rem)}.pcb-badge--outer{align-self:flex-start;margin-bottom:0;margin-left:-.9rem;font-size:clamp(1.05rem,4.2vw,1.3rem);transform:translateY(-.3rem)}.peb-wrap{flex-direction:column;align-items:center;gap:1.6rem;width:100%;display:flex}.peb-equation{width:100%;color:var(--text);flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:1.1rem .5rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:800;display:flex}.peb-term{flex-direction:column;align-items:center;display:inline-flex}.peb-badge{z-index:2;border:3px solid var(--accent);background:var(--card,#fff);color:var(--accent);white-space:nowrap;border-radius:12px;justify-content:center;align-self:center;align-items:center;gap:.05em;min-width:1.6em;margin-bottom:-.9rem;padding:.15em .4em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(1.05rem,4vw,1.35rem);font-weight:800;display:inline-flex;position:relative;transform:translate(2rem)}.peb-badge--left{transform:translate(1rem)}.peb-nested{align-items:center;gap:.55rem;display:inline-flex}.peb-paren{opacity:.55;font-size:clamp(2.2rem,9vw,3.1rem)}.peb-term--inner{align-items:flex-start}.peb-badge--inner{margin-bottom:-1.3rem;transform:translate(1rem)}.peb-badge--outer{align-self:flex-start;margin-bottom:0;margin-left:-.9rem;font-size:clamp(1.25rem,5vw,1.6rem);transform:translateY(-.3rem)}.peb-card{border:4px solid var(--accent);background:var(--card,#fff);color:var(--text);border-radius:20px;justify-content:center;align-items:center;min-width:2.8rem;min-height:3.1rem;padding:.15rem .6rem;font-size:clamp(2.2rem,9vw,3.1rem);display:inline-flex;position:relative;transform:translate(-.4rem)}.peb-base{justify-content:center;align-items:center;display:inline-flex}.peb-op{padding-bottom:.4rem;font-size:clamp(2rem,8vw,2.8rem)}.peb-op--eq{opacity:.6}.peb-static{justify-content:center;align-items:center;display:inline-flex}.peb-blank{border:2px solid var(--border,#1e293b);background:var(--card,#fff);min-width:1.3em;min-height:1.3em;color:var(--text);border-radius:6px;justify-content:center;align-items:center;padding:.05em .2em;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.peb-blank--active{background:var(--accent);color:var(--text-on-accent,#080e1a)}.peb-blank--editable{cursor:pointer;opacity:.85}.peb-blank--editable:active{opacity:.55}.peb-blank--correct{background:var(--success);border-color:var(--success);color:#06281c}.peb-keys{grid-template-columns:repeat(5,1fr);gap:.6rem;width:100%;max-width:320px;display:grid}.peb-key{background:var(--bg3,#e5e5e5);height:clamp(44px,12vw,56px);color:var(--text,#f8fafc);cursor:pointer;box-shadow:0 4px 0 var(--border,#1e293b);border:none;border-radius:12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.2rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.peb-key:active:not(:disabled){box-shadow:0 0 0 var(--border,#1e293b);transform:translateY(4px)}.peb-key:disabled{cursor:default;opacity:.4}.peb-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:14px;padding:1rem 2.6rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.peb-check-btn:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.peb-check-btn:disabled{opacity:.5;cursor:default}.beq-wrap{flex-direction:column;align-items:center;width:100%;padding:.5rem .25rem;display:flex}.beq-scale{width:100%;max-width:320px;height:152px;position:relative}.beq-post{background:var(--muted,#8892b0);border-radius:3px;width:10px;height:128px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.beq-base{background:var(--muted,#8892b0);border-radius:6px;width:104px;height:10px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.beq-beam{height:6px;position:absolute;top:8px;left:20%;right:20%}.beq-beam-bar{background:var(--muted,#8892b0);border-radius:3px;position:absolute;top:0;bottom:0;left:0;right:0}.beq-arm{width:132px;position:absolute;top:6px}.beq-arm--left{left:0;transform:translate(-50%)}.beq-arm--right{right:0;transform:translate(50%)}.beq-string{background:var(--muted,#8892b0);opacity:.7;width:2px;height:34px;margin:0 auto}.beq-pan{flex-direction:column;align-items:center;display:flex}.beq-pan-items{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;min-height:40px;padding-bottom:3px;display:flex}.beq-pan-dish{background:var(--bg3,#e2e6f3);border-radius:0 0 20px 20px;width:118px;height:11px;box-shadow:inset 0 -3px #00000014}.beq-pan--balanced .beq-pan-dish{background:color-mix(in srgb, var(--success,#34d399) 45%, var(--bg3,#e2e6f3))}.beq-weight{flex-direction:column;align-items:center;padding-top:7px;display:inline-flex;position:relative}.beq-weight-handle{border:3px solid #6b7488;border-bottom:none;border-radius:10px 10px 0 0;width:20px;height:12px;position:absolute;top:0}.beq-weight-body{clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);background:linear-gradient(#8d96aa,#626b7f);border-radius:4px;justify-content:center;align-items:center;width:46px;height:32px;display:flex}.beq-weight-label{color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.95rem;font-style:italic;font-weight:900}.beq-plus{color:var(--muted,#8892b0);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.05rem;font-weight:800}.beq-amount{align-items:center;gap:3px;display:inline-flex}.beq-amount-count{color:var(--text,#1a1f36);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:800}.beq-coin{object-fit:contain;width:18px;height:18px}.beq-control{align-items:center;gap:.7rem;margin-top:.9rem;display:flex}.beq-step{background:var(--bg3,#e2e6f3);width:44px;height:44px;color:var(--text,#1a1f36);cursor:pointer;box-shadow:0 3px 0 color-mix(in srgb, var(--bg3,#e2e6f3) 70%, #000);border:none;border-radius:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.4rem;font-weight:800;line-height:1;transition:transform .1s,box-shadow .1s}.beq-step:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 #0000}.beq-step:disabled{opacity:.45;cursor:default}.beq-value{background:var(--accent);min-width:96px;color:var(--text-on-accent,#080e1a);text-align:center;border-radius:12px;padding:.5rem .8rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.15rem;font-weight:800}.beq-value--balanced{background:var(--success,#34d399)}.beq-value-x{opacity:.85;font-style:italic}.beq-sum{color:var(--muted,#8892b0);margin-top:.7rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:800}.beq-sum--balanced{color:var(--success-text,#0b7a57)}.beq-hint{color:var(--muted,#8892b0);text-align:center;margin-top:.7rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.85rem;font-weight:600}.beq-check-btn{background:var(--accent);color:var(--text-on-accent,#080e1a);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow,#2a7ab5);border:none;border-radius:14px;margin-top:.8rem;padding:.75rem 2rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:800;transition:transform .1s,box-shadow .1s}.beq-check-btn:active{box-shadow:0 0 0 var(--accent-shadow,#2a7ab5);transform:translateY(4px)}@media (prefers-reduced-motion:reduce){.beq-step,.beq-check-btn{transition:none}}.bld-wrap{flex-direction:column;align-items:center;width:100%;padding:.5rem .25rem;display:flex}.bld-ladder{flex-direction:column;width:100%;max-width:300px;display:flex}.bld-step{justify-content:center;align-items:center;height:58px;display:flex;position:relative}.bld-step-bar{background:var(--bg3,#e2e6f3);height:40px;box-shadow:inset 0 0 0 2px var(--border,#6378b42e);border-radius:10px;justify-content:center;align-items:center;gap:8px;transition:background .15s,box-shadow .15s;display:flex}.bld-step--placed .bld-step-bar{background:color-mix(in srgb, var(--accent) 22%, var(--bg3,#e2e6f3));box-shadow:inset 0 0 0 2px var(--accent)}.bld-step-label{color:var(--text,#1a1f36);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:800}.bld-step-power{color:var(--muted,#8892b0);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.85rem;font-weight:700}.bld-mult{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);border-radius:7px;padding:1px 6px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.72rem;font-weight:800;position:absolute;bottom:-9px;right:4px}.bld-file{z-index:3;background:var(--card,#fff);box-shadow:0 4px 12px var(--card-shadow,#4f6ef72e), inset 0 0 0 2px var(--accent);color:var(--text,#1a1f36);cursor:grab;touch-action:none;border-radius:12px;align-items:center;gap:7px;margin-bottom:.7rem;padding:.45rem .8rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:800;display:inline-flex;position:relative}.bld-file--dragging{cursor:grabbing}.bld-file--placed{cursor:default;margin:0;padding:.25rem .55rem;font-size:.85rem}.bld-file--right{box-shadow:0 4px 12px var(--card-shadow,#4f6ef72e), inset 0 0 0 2px var(--success,#34d399)}.bld-file-icon{background:var(--accent);border-radius:2px;width:14px;height:18px;position:relative}.bld-file-icon:after{content:"";border-style:solid;border-width:0 0 6px 6px;border-color:transparent transparent var(--card,#fff) transparent;position:absolute;top:0;right:0}.bld-file-label{white-space:nowrap}.bld-hint{color:var(--muted,#8892b0);text-align:center;margin-top:.9rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.85rem;font-weight:600}.ach-claim-btn{box-shadow:0 4px 0 0 var(--accent-shadow,#2a7ab5);isolation:isolate;animation:1.9s ease-in-out infinite ach-claim-glow;position:relative;overflow:hidden}@keyframes ach-claim-glow{0%,to{filter:drop-shadow(0 0 2px #78b4ff40)}50%{filter:drop-shadow(0 0 14px #78b4ffbf)}}.ach-claim-btn:after{content:"";pointer-events:none;background:linear-gradient(90deg,#fff0 0%,#ffffff2e 35%,#ffffffbf 50%,#ffffff2e 65%,#fff0 100%);width:32%;animation:2.6s cubic-bezier(.4,0,.2,1) infinite ach-claim-spark;position:absolute;top:-60%;bottom:-60%;left:-40%;transform:skew(-22deg)translate(0)}@keyframes ach-claim-spark{0%{opacity:0;transform:skew(-22deg)translate(0)}8%{opacity:1}55%{opacity:1}70%,to{opacity:0;transform:skew(-22deg)translate(460%)}}.ach-claim-btn{transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.ach-claim-btn:active{box-shadow:0 0 0 0 var(--accent-shadow,#2a7ab5);animation-play-state:paused;transform:translateY(4px)}.ach-claim-btn:active:after{animation-play-state:paused}.ach-badge-pending{transform-origin:50% 90%;animation:2.4s ease-in-out infinite ach-badge-wiggle}@keyframes ach-badge-wiggle{0%,70%,to{transform:rotate(0)}76%{transform:rotate(-5deg)}82%{transform:rotate(5deg)}88%{transform:rotate(-3deg)}94%{transform:rotate(2deg)}}@media (prefers-reduced-motion:reduce){.ach-claim-btn,.ach-claim-btn:after,.ach-badge-pending{animation:none}}.claim-reward-btn{cursor:pointer;color:var(--text-on-accent,#fff);background:var(--accent);box-shadow:0 5px 0 var(--accent-shadow);will-change:transform;border:none;outline:none;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.claim-reward-btn:active{box-shadow:0 0px 0 var(--accent-shadow);transform:translateY(5px)}.shop-info-btn{border:1.5px solid var(--muted,#888);width:18px;height:18px;color:var(--muted,#888);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.72rem;font-weight:900;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.shop-info-btn:hover,.shop-info-btn[aria-expanded=true]{background:var(--accent,#63b3ed);border-color:var(--accent,#63b3ed);color:var(--text-on-accent,#fff)}.shop-info-popover{z-index:5;background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);width:max-content;max-width:240px;color:var(--text,#111);border-radius:10px;padding:.55rem .7rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.72rem;font-weight:600;line-height:1.35;animation:.15s ease-out shop-info-pop;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000029}@keyframes shop-info-pop{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes stat-chart-spin{to{transform:rotate(360deg)}}.stat-chart-spinner{border:3px solid var(--border,#e5e5e5);border-top-color:var(--accent,#63b3ed);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite stat-chart-spin}.stat-info-btn{background:var(--border,#e5e5e5);width:15px;height:15px;color:var(--muted,#888);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.62rem;font-weight:900;line-height:1;transition:background .15s,color .15s;display:inline-flex}.stat-info-btn:hover,.stat-info-btn[aria-expanded=true]{background:var(--accent,#63b3ed);color:var(--text-on-accent,#fff)}.stat-info-popover{z-index:5;background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);width:max-content;max-width:240px;color:var(--text,#111);border-radius:10px;padding:.55rem .7rem;font-size:.72rem;font-weight:600;line-height:1.35;animation:.15s ease-out stat-info-pop;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000029}@keyframes stat-info-pop{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.stat-tutorial-callout{z-index:6;background:var(--card,#fff);border:1px solid var(--accent,#63b3ed);border-radius:14px;padding:.8rem .9rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;animation:.18s ease-out stat-tutorial-pop;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 10px 28px #0003}.stat-tutorial-text{color:var(--text,#111);margin-bottom:.65rem;font-size:.82rem;font-weight:600;line-height:1.4}.stat-tutorial-footer{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.stat-tutorial-progress{color:var(--muted,#888);white-space:nowrap;font-size:.72rem;font-weight:800}.stat-tutorial-btn{color:var(--text-on-accent,#fff);background:var(--accent,#63b3ed);box-shadow:0 3px 0 var(--accent-shadow,#2a7ab5);cursor:pointer;will-change:transform;border:none;border-radius:10px;padding:.45rem .95rem;font-size:.8rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.stat-tutorial-btn:active{box-shadow:0 0px 0 var(--accent-shadow,#2a7ab5);transform:translateY(3px)}@keyframes stat-tutorial-pop{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.profile-fill-offer-overlay{z-index:10000;background:#00000059;justify-content:center;align-items:center;padding:1.2rem;animation:.15s ease-out stat-info-pop;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.profile-fill-offer-card{background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);text-align:center;border-radius:20px;width:100%;max-width:320px;padding:1.4rem 1.3rem 1.2rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;animation:.2s ease-out stat-tutorial-pop;box-shadow:0 16px 40px #00000047}.profile-fill-offer-icon{margin-bottom:.6rem;font-size:2.6rem;line-height:1;display:block}.profile-fill-offer-title{color:var(--text,#111);margin-bottom:.4rem;font-size:1.05rem;font-weight:900}.profile-fill-offer-subtitle{color:var(--text,#111);margin-bottom:.5rem;font-size:.82rem;font-weight:600;line-height:1.4}.profile-fill-offer-footer{margin-bottom:.9rem}.profile-fill-offer-actions{flex-direction:column;gap:.55rem;display:flex}.profile-fill-offer-accept{color:var(--text-on-accent,#fff);background:var(--accent,#63b3ed);box-shadow:0 4px 0 var(--accent-shadow,#2a7ab5);cursor:pointer;will-change:transform;border:none;border-radius:12px;padding:.75rem 1rem;font-size:.88rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.profile-fill-offer-accept:active{box-shadow:0 0px 0 var(--accent-shadow,#2a7ab5);transform:translateY(4px)}.profile-fill-offer-decline{color:var(--muted,#888);cursor:pointer;background:0 0;border:none;padding:.4rem;font-size:.78rem;font-weight:700}.stat-day-btn{box-shadow:0 4px 0 0 var(--accent-shadow,#2a7ab5);transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.stat-day-btn:active{box-shadow:0 0 0 0 var(--accent-shadow,#2a7ab5);transform:translateY(4px)}.a2hs-overlay{background:var(--bg);z-index:99999;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.a2hs-sheet{background:var(--card);box-sizing:border-box;flex-direction:column;align-items:center;width:100%;height:100dvh;padding:2rem 1.4rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex;position:relative;overflow-y:auto}.a2hs-close{color:var(--muted);cursor:pointer;z-index:2;background:0 0;border:none;padding:0;font-size:2rem;font-weight:300;line-height:1;position:absolute;top:16px;right:16px}.a2hs-content{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:380px;display:flex}.a2hs-title{color:var(--text);text-align:center;margin:0 0 .4rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.35rem;font-weight:800}.a2hs-subtitle{color:var(--muted);text-align:center;margin:0 0 1.6rem;font-size:.88rem;font-weight:400;line-height:1.45}.a2hs-phone-layout{background:var(--bg3);border:5px solid var(--border);box-sizing:border-box;width:220px;height:140px;box-shadow:0 8px 24px var(--card-shadow);border-bottom:none;border-radius:20px 20px 0 0;justify-content:center;margin:0 auto 1.6rem;padding:14px 14px 0;display:flex}.a2hs-phone-screen{background:var(--bg2);box-sizing:border-box;border-radius:12px 12px 0 0;width:100%;height:100%;padding:10px 6px 0}.a2hs-app-grid{grid-template-columns:repeat(3,1fr);place-items:end center;gap:10px 14px;display:grid}.a2hs-dummy-app{background:var(--bg3);border:1px solid var(--border);border-radius:10px;width:34px;height:34px}.a2hs-active-app{background:var(--accent);width:36px;height:36px;box-shadow:0 0 12px var(--accent);border:1px solid var(--border);border-radius:10px;justify-content:center;align-items:center;display:flex}.a2hs-active-app-icon{color:var(--text-on-accent);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.1rem;font-weight:900}.a2hs-labeled-app{flex-direction:column;grid-column:2;align-items:center;gap:4px;display:flex}.a2hs-labeled-app-icon{background:var(--bg3);border:1px solid var(--border);border-radius:10px;width:34px;height:34px}.a2hs-app-label{color:var(--accent);white-space:nowrap;text-align:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.55rem;font-weight:700}.a2hs-steps-wrap{flex-direction:column;width:100%;margin-bottom:1rem;display:flex}.a2hs-step{align-items:flex-start;gap:12px;display:flex}.a2hs-step-left{flex-direction:column;flex-shrink:0;align-items:center;width:28px;display:flex}.a2hs-step-num{background:var(--accent);width:28px;height:28px;color:var(--text-on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.78rem;font-weight:800;display:flex}.a2hs-step-line{background:var(--border);flex:1;width:2px;min-height:16px;margin:4px 0}.a2hs-step-content{align-items:flex-start;gap:10px;padding-top:3px;padding-bottom:16px;display:flex}.a2hs-step-icon{flex-shrink:0;font-size:1.2rem}.a2hs-step-text{color:var(--text);font-size:.9rem;font-weight:500;line-height:1.4}.a2hs-ios-hint{background:var(--bg2);border:1px solid var(--border);box-sizing:border-box;border-radius:14px;flex-direction:column;align-items:center;gap:4px;width:100%;margin-bottom:1rem;padding:10px 14px;display:flex}.a2hs-ios-hint-bar{background:var(--bg3);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;padding:6px 14px;display:flex}.a2hs-ios-hint-icon{font-size:1rem}.a2hs-ios-hint-text{color:var(--muted);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.8rem;font-weight:600}.a2hs-ios-arrow{color:var(--accent);font-size:1.2rem;font-weight:900}.map-3d-btn.a2hs-action-btn{color:var(--text-on-accent);cursor:pointer;border:none;border-radius:16px;width:100%;padding:1rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem;font-weight:800}.ga-page{transform-box:view-box;transform-origin:24px 24px;animation:6s linear infinite backwards ga-page-flip}.ga-page--2{animation-delay:2s}.ga-page--3{animation-delay:4s}@keyframes ga-page-flip{0%{opacity:0;transform:scaleX(-1)}6%{opacity:1;transform:scaleX(-1)}30%{opacity:1;transform:scaleX(1)}36%{opacity:0;transform:scaleX(1)}to{opacity:0;transform:scaleX(-1)}}.ga-page-face{fill:#fff;animation:6s linear infinite backwards ga-page-face}.ga-page--2 .ga-page-face{animation-delay:2s}.ga-page--3 .ga-page-face{animation-delay:4s}@keyframes ga-page-face{0%,17%{fill:#fff}18%,to{fill:#dce8f7}}.ga-arrow{transform-box:view-box;transform-origin:19px 26px;animation:5.2s linear infinite backwards ga-arrow-hit}@keyframes ga-arrow-hit{0%{opacity:1;animation-timing-function:cubic-bezier(.5,0,.9,.55);transform:translate(37.6px,-29.8px)}11%{animation-timing-function:ease-out;transform:translate(0)rotate(0)}14%{animation-timing-function:ease-in-out;transform:translate(0)rotate(-3.6deg)}18%{animation-timing-function:ease-in-out;transform:translate(0)rotate(2.2deg)}22%{animation-timing-function:ease-in-out;transform:translate(0)rotate(-1deg)}26%{opacity:1;transform:translate(0)rotate(0)}80%{opacity:1;transform:translate(0)rotate(0)}84%{opacity:0;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(37.6px,-29.8px)}}.ga-ripple{transform-box:view-box;transform-origin:19px 26px;animation:5.2s ease-out infinite backwards ga-ripple-out}.ga-ripple--2{animation-delay:.22s}@keyframes ga-ripple-out{0%,11%{opacity:0;transform:scale(.25)}13%{opacity:.55;transform:scale(.3)}30%{opacity:0;transform:scale(1.45)}to{opacity:0;transform:scale(1.45)}}.pb-wave{transform-box:view-box}.pb-wave--far{animation:11s linear infinite pb-drift-far}.pb-wave--back{animation:7s linear infinite pb-drift-back}.pb-wave--front{animation:4.5s linear infinite pb-drift-front}@keyframes pb-drift-far{0%{transform:translateY(34px)}to{transform:translate(-24px,34px)}}@keyframes pb-drift-back{0%{transform:translateY(36px)}to{transform:translate(-24px,36px)}}@keyframes pb-drift-front{0%{transform:translateY(39.5px)}to{transform:translate(-24px,39.5px)}}.pb-boat{transform-box:view-box;transform-origin:24px 37px;animation:9.6s ease-in-out infinite pb-bob}@keyframes pb-bob{0%{transform:translateY(0)rotate(-2.2deg)}8%{transform:translateY(-.8px)rotate(0)}17%{transform:translateY(0)rotate(2.2deg)}25%{transform:translateY(-.7px)rotate(.2deg)}33%{transform:translateY(0)rotate(-2.4deg)}42%{transform:translateY(-2.2px)rotate(1.6deg)}50%{transform:translateY(-3px)rotate(5deg)}58%{transform:translateY(-.6px)rotate(1.2deg)}66%{transform:translateY(.4px)rotate(-4.4deg)}75%{transform:translateY(-1.2px)rotate(-1deg)}83%{transform:translateY(0)rotate(1.8deg)}92%{transform:translateY(-.6px)rotate(.4deg)}to{transform:translateY(0)rotate(-2.2deg)}}.pb-sail{transform-box:view-box;transform-origin:24px 22px;animation:2.3s ease-in-out infinite pb-sail}@keyframes pb-sail{0%{transform:scaleX(1)}35%{transform:scaleX(.93)}70%{transform:scaleX(1.04)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.pb-wave,.pb-boat,.pb-sail,.ga-arrow{animation:none}.ga-ripple{opacity:0;animation:none}}.gr-gear{transform-box:view-box}.gr-gear--big{transform-origin:18.5px 29px;animation:9s linear infinite gr-spin-cw}.gr-gear--small{transform-origin:32.6px 14.9px;animation:6s linear infinite gr-spin-ccw}@keyframes gr-spin-cw{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gr-spin-ccw{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@media (prefers-reduced-motion:reduce){.gr-gear{animation:none}}.pp-cone{transform-box:view-box;transform-origin:7px 41px;animation:3s linear infinite pp-kick}@keyframes pp-kick{0%{animation-timing-function:cubic-bezier(.6,0,.9,.5);transform:scale(1)rotate(0)}18%{animation-timing-function:cubic-bezier(.2,0,0,1);transform:scale(1.09)rotate(3deg)}21%{animation-timing-function:ease-out;transform:scale(.94)rotate(-9deg)}26%{transform:scale(1.03)rotate(3deg)}31%{transform:scale(.99)rotate(-1deg)}36%{transform:scale(1)rotate(0)}to{transform:scale(1)rotate(0)}}.pp-fly{transform-box:view-box;animation:3s ease-out infinite backwards pp-fly}@keyframes pp-fly{0%,18%{opacity:0;transform:translate(0)scale(.5)}22%{opacity:1;transform:translate(4px)scale(1)}58%{opacity:1;transform:translate(19px,3px)scale(1)}82%{opacity:0;transform:translate(25px,9px)scale(.8)}to{opacity:0;transform:translate(25px,9px)scale(.8)}}.pp-spin{transform-box:view-box;animation:3s linear infinite backwards pp-spin}@keyframes pp-spin{0%,18%{transform:rotate(0)}82%{transform:rotate(300deg)}to{transform:rotate(300deg)}}@media (prefers-reduced-motion:reduce){.pp-cone,.pp-fly,.pp-spin{animation:none}.pp-fly{transform:translate(19px,3px)}.ga-page,.ga-page-face{animation:none}.ga-page{opacity:0}}.streak-close-btn{box-shadow:0 4px 0 0 var(--accent-shadow,#2a7ab5);will-change:transform;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.streak-close-btn:active{box-shadow:0 0px 0 0 var(--accent-shadow,#2a7ab5);transform:translateY(4px)}.milestone-claim-btn{will-change:transform;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1);box-shadow:0 5px #b45f0066}.milestone-claim-btn:active{transform:translateY(5px);box-shadow:0 0 #b45f0066}.exp-sheet-backdrop{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080f1ed1;position:fixed;top:0;bottom:0;left:0;right:0}.exp-sheet{z-index:201;background:var(--bg,#f6f8fc);border-radius:22px 22px 0 0;flex-direction:column;height:auto;max-height:92dvh;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 40px #00000040}.exp-sheet__head{border-bottom:1px solid var(--border,#00000014);background:var(--card,#fff);flex:none;align-items:center;gap:.75rem;padding:.9rem 1rem .75rem;display:flex}.exp-sheet__grip{background:var(--border,#00000026);border-radius:2px;width:38px;height:4px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.exp-sheet__verdict{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:1rem;font-weight:800;display:flex}.exp-sheet__verdict--wrong{background:var(--error,#d92d2d)}.exp-sheet__verdict--correct{background:var(--success-shadow,#0f9b6e)}.exp-sheet__title{min-width:0;color:var(--text,#1a1f36);flex:1;font-size:1.05rem;font-weight:800}.exp-sheet__close{background:var(--bg2,#0000000f);width:34px;height:34px;color:var(--text,#1a1f36);cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:flex}.exp-sheet__close:active{transform:scale(.9)}.exp-sheet__body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:.85rem;min-height:0;padding:1rem 1rem 1.25rem;display:flex;overflow-y:auto}.exp-sheet__question{color:var(--muted,#64748b);font-size:.95rem;font-weight:600;line-height:1.45}.exp-sheet__idea{background:var(--card,#fff);border-left:5px solid var(--accent,#3b82f6);color:var(--text,#1a1f36);border-radius:16px;padding:.85rem .95rem;font-size:1rem;font-weight:700;line-height:1.45}.exp-sheet__visual{background:var(--card,#fff);border-radius:16px;justify-content:center;padding:.6rem .2rem;display:flex}.exp-sheet__steps{flex-direction:column;gap:.6rem;display:flex}.exp-sheet__step{background:var(--card,#fff);box-shadow:0 2px 8px var(--card-shadow,#0000000f);border-radius:16px;gap:.7rem;padding:.8rem .9rem;display:flex}.exp-sheet__step-num{background:var(--accent,#3b82f6);width:24px;height:24px;color:var(--text-on-accent,#fff);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;display:flex}.exp-sheet__step-body{flex:1;min-width:0}.exp-sheet__step-title{color:var(--text,#1a1f36);margin-bottom:.15rem;font-size:.92rem;font-weight:800}.exp-sheet__step-text{color:var(--text,#1a1f36);opacity:.85;font-size:.9rem;line-height:1.5}.exp-sheet__foot{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px)) 1rem;border-top:1px solid var(--border,#00000014);background:var(--card,#fff);flex:none}.exp-sheet__done{background:var(--accent,#3b82f6);width:100%;color:var(--text-on-accent,#fff);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow,#2a7ab5);border:none;border-radius:14px;padding:.9rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.exp-sheet__done:active{box-shadow:0 0 0 var(--accent-shadow,#2a7ab5);transform:translateY(4px)}.qr-overlay{z-index:99999;background:#080e1a8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.qr-card{background:var(--card,#fff);border:2px solid var(--border,#e5e5e5);border-radius:22px;width:100%;max-width:380px;max-height:88vh;padding:1.1rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow-y:auto;box-shadow:0 14px 32px #0f172a2e}.qr-title{color:var(--text,#111);text-align:center;margin:0 0 .3rem;font-size:1.05rem;font-weight:900}.qr-text{color:var(--muted,#5b6472);text-align:center;margin:0 0 .9rem;font-size:.88rem;line-height:1.4}.qr-reasons{flex-direction:column;gap:.45rem;margin-bottom:.8rem;display:flex}.qr-reason{border:2px solid var(--border,#e5e5e5);background:var(--bg2,#f7f8fb);color:var(--text,#111);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:.6rem;padding:.7rem .8rem;font-family:inherit;font-size:.9rem;font-weight:700;transition:border-color .15s,background .15s,transform .1s;display:flex}.qr-reason:active:not(:disabled){transform:scale(.98)}.qr-reason--active{background:var(--bg3,#eef1f7)}.qr-comment{box-sizing:border-box;resize:vertical;border:2px solid var(--border,#e5e5e5);background:var(--bg2,#f7f8fb);width:100%;color:var(--text,#111);border-radius:14px;margin-bottom:.9rem;padding:.7rem .8rem;font-family:inherit;font-size:.9rem;line-height:1.4}.qr-comment:focus{border-color:var(--accent,#63b3ed);outline:none}.qr-actions{justify-content:center;gap:.6rem;display:flex}.qr-btn{border:2px solid var(--border,#e5e5e5);background:var(--card,#fff);color:var(--text,#111);cursor:pointer;box-shadow:0 4px 0 var(--border,#d7dae0);border-radius:12px;flex:1;margin-bottom:4px;padding:.72rem .9rem;font-family:inherit;font-size:.92rem;font-weight:800;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1),opacity .15s}.qr-btn--primary{background:var(--accent,#2f7de1);color:var(--text-on-accent,#fff);box-shadow:0 4px 0 var(--accent-shadow,#1f5aa8);border-color:#0000}.qr-btn:active:not(:disabled){box-shadow:0 0 0 var(--border,#d7dae0);transform:translateY(4px)}.qr-btn--primary:active:not(:disabled){box-shadow:0 0 0 var(--accent-shadow,#1f5aa8)}.qr-btn:disabled{opacity:.45;cursor:default;box-shadow:none}.qr-state{text-align:center}.qr-state-badge{border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:.6rem;display:inline-flex}.qr-state-badge--ok{background:#10b98124}.qr-state-badge--warn{background:#f59e0b24}@media (prefers-reduced-motion:reduce){.qr-btn,.qr-reason{transition:none}}@keyframes sp-bounce-correct{0%{transform:scale(1)}35%{transform:scale(1.045)}60%{transform:scale(.985)}to{transform:scale(1)}}.sp-bounce-correct{animation:.4s cubic-bezier(.25,.8,.25,1) sp-bounce-correct}.sp-report-btn{opacity:.55;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;margin-left:auto;padding:.4rem;transition:opacity .15s,transform .1s cubic-bezier(.25,.8,.25,1);display:flex}.sp-report-btn:active{opacity:.7;transform:scale(.85)}.sp-answer-panel{z-index:100;padding:1.25rem 1rem 2rem;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000026}.sp-answer-panel--correct{background:var(--success)}.sp-answer-panel--wrong{background:var(--error)}.sp-answer-title--correct{color:#06281c}.sp-answer-title--wrong{color:#fff}.sp-answer-sub{color:#ffffffd9}.sp-answer-panel--correct .sp-answer-sub{color:#06281ccc}.sp-why-btn{cursor:pointer;color:#1f3a2e;background:#cddfd6;border:none;border-radius:14px;flex:1;padding:.85rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.85rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1);box-shadow:0 4px #9fbaad}.sp-why-btn:active{transform:translateY(4px);box-shadow:0 0 #9fbaad}.sp-continue-btn{cursor:pointer;background:#fff;border:none;border-radius:14px;flex:2;padding:.85rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.9rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1);box-shadow:0 4px #0000002e}.sp-continue-btn:active{transform:translateY(4px);box-shadow:0 0 #0000002e}.sp-continue-btn--correct{color:var(--success-text,#0b7a57);box-shadow:0 4px #b3e1cf;box-shadow:0 4px 0 color-mix(in srgb, var(--success) 32%, #fff)}.sp-continue-btn--wrong{color:var(--error-text,#d92d2d);box-shadow:0 4px #f3bcbc;box-shadow:0 4px 0 color-mix(in srgb, var(--error) 32%, #fff)}.sp-finish-btn{background:var(--accent);color:var(--text-on-accent,#fff);cursor:pointer;box-shadow:0 4px 0 var(--accent-shadow);border:none;border-radius:16px;padding:1rem 3rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:700;transition:transform .1s cubic-bezier(.25,.8,.25,1),box-shadow .1s cubic-bezier(.25,.8,.25,1)}.sp-finish-btn:active{box-shadow:0 0 0 var(--accent-shadow);transform:translateY(4px)}.sp-answer-icon--correct{animation:.5s cubic-bezier(.34,1.56,.64,1) sp-icon-pop}@keyframes sp-icon-pop{0%{transform:scale(.3)rotate(-15deg)}60%{transform:scale(1.3)rotate(8deg)}to{transform:scale(1)rotate(0)}}.sp-answer-panel--retry{background:#e8c15a}.sp-answer-title--retry{color:#3d2f05}.sp-answer-sub--retry{color:#3d2f05bf}.sp-continue-btn--retry{color:#8a6a06;flex:1;box-shadow:0 4px #f5e5ba}.lp-root{background:var(--bg,#f5f6fa);color:var(--text,#0f172a);box-sizing:border-box;min-height:100vh;padding:24px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.lp-title{margin:0 0 16px;font-size:1.6rem;font-weight:900}.lp-summary{background:var(--card,#fff);border:2px solid var(--border,#e5e5e5);border-radius:16px;flex-direction:column;gap:6px;max-width:560px;margin-bottom:28px;padding:14px 18px;display:flex}.lp-sumrow{align-items:center;gap:10px;font-size:.85rem;font-weight:700;display:flex}.lp-sumname{flex-shrink:0;width:150px}.lp-sumbar{background:#5b6ef5;border-radius:6px;flex-shrink:0;height:12px}.lp-sumnum{font-variant-numeric:tabular-nums}.lp-lesson{margin-bottom:34px}.lp-lesson-title{align-items:center;gap:10px;margin:0 0 6px;font-size:1.15rem;font-weight:800;display:flex}.lp-tag{text-transform:uppercase;letter-spacing:.04em;color:#5b6ef5;background:#5b6ef524;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:800}.lp-seq{color:var(--muted,#64748b);overflow-wrap:break-word;margin-bottom:12px;font-size:.75rem;font-weight:700}.lp-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:14px;display:grid}.lp-card{background:var(--card,#fff);border:2px solid var(--border,#e5e5e5);box-sizing:border-box;border-radius:16px;padding:12px;overflow:hidden}.lp-card--expl{background:#f5a5240f;border-color:#f5a524}.lp-card-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.lp-badge{color:#fff;background:#5b6ef5;border-radius:6px;padding:2px 7px;font-size:.65rem;font-weight:900}.lp-badge--muted{background:var(--bg2,#e2e8f0);color:var(--muted,#64748b)}.lp-badge--expl{background:#f5a524}.lp-badge--big{font-size:.8rem}.lp-type{color:var(--muted,#64748b);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.72rem;font-weight:800}.lp-qtext{overflow-wrap:break-word;margin-bottom:10px;font-size:.85rem;line-height:1.35}.lp-qtext--strong{font-weight:800}.lp-expl-text{color:var(--muted,#64748b);margin-bottom:10px;font-size:.8rem;line-height:1.45}.lp-stage{transform-origin:0 0;width:122%;transform:scale(.82)}.lp-missing{color:#f87171;font-size:.8rem;font-weight:800}.lp-icons{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.lp-icon-cell{background:var(--card,#fff);border:2px solid var(--border,#e5e5e5);border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;display:flex}.lp-icon-name{color:var(--muted,#64748b);overflow-wrap:anywhere;text-align:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.62rem}.lp-two{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:24px;display:grid}.lp-phone{background:var(--bg,#f5f6fa);border:2px solid var(--border,#e5e5e5);border-radius:20px;padding:16px}.lp-phone-cap{letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#64748b);margin-bottom:12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.68rem}.lp-worlds{grid-template-columns:repeat(4,1fr);gap:1.4rem;display:grid}.lp-world{flex-direction:column;align-items:center;gap:.5rem;display:flex}.lp-world-tile{border-radius:28px;justify-content:center;align-items:center;width:120px;height:120px;display:flex}.lp-world-name{text-align:center;color:#475569;font-size:.78rem}
