:root{--bg:#f6f0de;--surface:#fffaf0;--surface-strong:#fff2bd;--ink:#24190b;--muted:#715f43;--border:#3a2611;--border-soft:rgba(58,38,17,0.18);--accent:#d13d2f;--accent-strong:#992319;--match:#7a3f1f;--match-lit:#c75b2f;--placeholder:rgba(58,38,17,0.24);--success:#1e7a42;--danger:#c82d2d;--shadow:0 18px 50px rgba(58,38,17,0.14)}.launch-screen{overflow:hidden}.launch-content{width:100vw;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px}.launch-image-crop{width:min(800px,100%,calc(100dvh * 1.6));aspect-ratio:800/344;overflow:hidden;flex-shrink:0}.launch-image-crop img{display:block;width:100%;height:auto}.launch-copyright{margin:8px 0 0;font-size:13px;color:#bbb}.launch-loading{margin:14px 0 0;font-size:14px;color:#fff}@media (orientation:portrait) and (max-width:600px) and (pointer:coarse){.launch-content{position:absolute;left:50%;top:50%;width:100dvh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}.launch-image-crop{width:min(800px,100%,calc(100vw * 1.6))}}*{box-sizing:border-box}body,html{min-height:100%;margin:0;background:linear-gradient(rgba(255,255,255,.42),rgba(255,255,255,0)),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0;-webkit-text-size-adjust:100%;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}html.is-phone-game,html.is-phone-game body{width:100%;height:var(--game-viewport-height,100dvh);min-height:0;overflow:hidden;overscroll-behavior:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}.app-shell{display:flex;width:min(1180px,calc(100vw - 28px));min-height:100dvh;flex-direction:column;gap:18px;margin:0 auto;padding:22px 0 18px}.phone-layout.app-shell{width:var(--game-viewport-width,100vw);height:var(--game-viewport-height,100dvh);min-height:0;gap:0;overflow:hidden;padding:max(4px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{margin:0 0 3px;color:var(--accent);font-size:13px;font-weight:850;text-transform:uppercase}h1{margin:0;font-size:clamp(32px,6vw,68px);line-height:.98}.top-bar p{margin:8px 0 0;color:var(--muted);font-weight:650}.language-switch{display:inline-grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;border:2px solid var(--border);border-radius:999px;background:var(--surface)}.actions button,.language-switch button{min-height:42px;border:2px solid var(--border);border-radius:8px;padding:0 16px;background:var(--surface);color:var(--ink);font-weight:850}.language-switch button{min-width:48px;border:0;border-radius:999px;min-height:38px;min-width:42px;padding:0 12px;font-size:13px}.actions button[aria-pressed=true],.language-switch button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.difficulty-stepper{display:inline-flex;min-height:38px;align-items:center;gap:6px}.difficulty-stepper button{display:grid;width:30px;height:30px;min-height:30px;border:0;border-radius:999px;padding:0;place-items:center;background:transparent;color:var(--ink);font-size:18px;font-weight:900;line-height:1}.difficulty-stepper button:disabled{color:var(--muted);opacity:.55}.difficulty-stepper span{display:grid;min-width:32px;place-items:center;font-size:22px;font-weight:950;line-height:1}.difficulty-stepper strong{min-width:auto;color:var(--muted);font-size:12px;font-weight:900;white-space:nowrap}.game-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.phone-layout .game-layout,.phone-layout .play-column{min-height:0}.phone-layout .game-layout{flex:1 1 auto;align-items:stretch}.phone-layout .play-column{display:flex}.play-area{border:2px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.play-column{display:grid;grid-gap:10px;gap:10px}.stats{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 16px;margin:0;padding:0 2px;color:var(--muted);font-size:13px;font-weight:850}.stat-item{display:inline-flex;align-items:baseline;gap:6px}.stat-item span{color:var(--muted)}.stat-item strong{color:var(--ink);font-weight:900}.stats-reset{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-soft);border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:850}.stats-reset:hover{color:var(--ink)}.play-area{padding:18px}.status-strip{min-height:42px;display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;grid-gap:10px;gap:10px;align-items:center;margin-bottom:16px;color:var(--muted);font-weight:850}.status-strip>*{grid-row:1}.status-strip .status-actions{grid-column:3;justify-self:end;display:flex;align-items:center;gap:8px;white-space:nowrap;flex-wrap:nowrap}.status-actions .answer-progress{flex:0 0 auto}.settings-button{display:inline-grid;flex:0 0 40px;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink);place-items:center}.settings-button:active{background:var(--border-soft)}.status-strip .status-copy{grid-column:2}.status-strip .status-timer{grid-column:1;justify-self:start;text-align:left;white-space:nowrap}.danger{color:var(--danger)}.success{color:var(--success)}.equation{position:relative;--digit-width:clamp(54px,9.5vw,88px);--match-length:calc(var(--digit-width) * 0.72);--match-thickness:calc(var(--match-length) * 68 / 240);display:flex;min-height:clamp(158px,28vw,250px);align-items:center;justify-content:center;gap:clamp(6px,1.3vw,16px);overflow-x:auto;padding:18px 64px 10px;border-radius:6px;background:linear-gradient(rgba(255,255,255,.58),rgba(255,255,255,.16)),var(--surface-strong)}.phone-layout .equation{--digit-width:min(88px,calc((100cqw - 128px) / var(--character-count) / 1.12),40cqh);flex:1 1 auto;min-height:0;overflow:hidden;gap:calc(var(--digit-width) * .12);padding:12px 64px}.phone-layout .match-char{width:var(--digit-width);height:calc(var(--digit-width) * 1.93)}.phone-layout .equation{--group-width:calc(var(--digit-width) * var(--character-width-units) + var(--digit-width) * 0.12 * (var(--character-count) - 1));--hand-offset:min(calc(var(--match-length) * 192 / 240),max(0px,calc((100cqw - 128px - var(--group-width)) / 2)))}.phone-layout .equation[data-drag-hand=left]>.match-char{transform:translateX(calc(-1 * var(--hand-offset)))}.phone-layout .equation[data-drag-hand=right]>.match-char{transform:translateX(var(--hand-offset))}.phone-layout .equal-char,.phone-layout .operator-char{width:calc(var(--digit-width) * .78)}.match-char{position:relative;flex:0 0 auto;width:var(--digit-width);height:clamp(106px,18vw,170px)}.equal-char,.operator-char{width:clamp(46px,7vw,68px)}.equal-char span,.match-segment{position:absolute;min-width:0;min-height:0;border:0;border-radius:999px;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;box-shadow:none;touch-action:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none}.matchstick-art{display:block;width:100%;height:100%;pointer-events:none}.match-segment.placeholder{border:0;filter:drop-shadow(0 1px 1px rgba(58,38,17,.28));opacity:.96}.match-segment.horizontal.placeholder{background-image:url(/_next/static/media/empty_h.9c08ea1d.png)}.match-segment.vertical.placeholder{background-image:url(/_next/static/media/empty_v.11e9536b.png)}.match-segment.selected{opacity:.25}.drag-ghost{position:fixed;z-index:50;background-color:transparent;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;pointer-events:none;transform:translate(-50%,-50%);-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.drag-ghost.returning{transition:left .16s ease-out,top .16s ease-out}.drag-ghost .matchstick-art{animation:doodle-stick-spin 1.1s linear infinite}@keyframes doodle-stick-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.drag-ghost .matchstick-art{animation:none}}.drag-ghost.horizontal,.drag-ghost.vertical{width:clamp(34px,5.2vw,54px);height:clamp(34px,5.2vw,54px)}.actions button:focus-visible,.difficulty-stepper button:focus-visible,.language-switch button:focus-visible,.match-segment:focus-visible,.settings-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.segment-0,.segment-2,.segment-3,.segment-5{height:43%;aspect-ratio:68/240}.equal-char span,.operator-segment-0,.segment-1,.segment-4,.segment-6{width:72%;aspect-ratio:240/68}.segment-0{left:0;top:8%}.segment-1{left:14%;top:0}.segment-2{right:0;top:8%}.segment-3{right:0;bottom:8%}.segment-4{left:14%;bottom:0}.segment-5{left:0;bottom:8%}.segment-6{left:14%;top:44%}.operator-segment-0{left:50%;top:44%;width:var(--match-length);height:var(--match-thickness);transform:translateX(-50%)}.operator-segment-1{left:50%;top:50%;width:var(--match-thickness);height:var(--match-length);transform:translate(-50%,-50%)}.equation-viewport{position:relative;display:flex;min-width:0}.equation-viewport>.difficulty-stepper{position:absolute;z-index:2;left:8px;top:50%;transform:translateY(-50%);flex-direction:column;gap:4px}.equation-viewport>.difficulty-stepper strong{writing-mode:vertical-rl}.equation-viewport>.difficulty-stepper span{height:32px}.equation-viewport>.difficulty-stepper .action-icon{transform:rotate(-90deg)}.equation-viewport>.equation{flex:1 1}.phone-layout .equation-viewport{position:relative;flex:1 1;min-height:0;container-type:size}.phone-portrait.app-shell{position:absolute;left:0;top:0;width:var(--game-viewport-height,100dvh);height:var(--game-viewport-width,100vw);transform-origin:top left;transform:translateX(var(--game-viewport-width,100vw)) rotate(90deg);padding:max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left)) max(4px,env(safe-area-inset-top))}.phone-layout .difficulty-stepper{gap:4px}.phone-layout .stats{gap:10px;font-size:12px}.phone-layout footer{font-size:11px}.equal-char span{left:14%}.equal-char .equals-upper{top:38%}.equal-char .equals-lower{top:54%}.play-controls{align-items:center;gap:14px}.actions,.play-controls{display:flex;justify-content:center}.actions{flex-wrap:wrap;gap:10px}.actions button{display:inline-grid;width:46px;min-width:46px;padding:0;border:0;background:transparent;place-items:center}.actions button:enabled:not([aria-pressed=true]):active{background:var(--border-soft)}.actions button:disabled{background:transparent;color:var(--muted);opacity:.45;filter:grayscale(1) saturate(.35)}.action-icon{font-size:26px;line-height:1}.action-icon-svg{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:middle;pointer-events:none}.action-icon .icon-paper{fill:#f2ce69}.action-icon .icon-red{stroke:#c63e30}button:disabled .action-icon .icon-paper{fill:none}button:disabled .action-icon .icon-red{stroke:currentColor}footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;color:var(--muted);font-size:12px;font-weight:750}.bottom-row{display:flex;flex-direction:column;gap:8px}footer a{color:inherit;text-decoration:none}footer a:hover{color:var(--ink)}@media (max-width:760px){.app-shell{width:min(100vw - 18px,680px);gap:12px;padding-top:14px}.top-bar{align-items:flex-start}.game-layout{grid-template-columns:1fr}.play-area{padding:12px}}@media (orientation:portrait){.play-controls{flex-direction:column-reverse}.stats{justify-content:center}}@media (orientation:landscape) and (max-height:520px){.app-shell{min-height:auto;gap:8px;padding:8px 0}.top-bar{gap:10px}.brand,.top-bar p{display:none}h1{font-size:24px}.language-switch{padding:2px}.language-switch button{min-width:40px;min-height:34px}.play-area{padding:10px}.equation{min-height:168px}.match-char{width:58px;height:112px}.bottom-row{flex-direction:row;align-items:center;justify-content:space-between;gap:14px}.bottom-row .stats{justify-content:flex-start}.bottom-row footer{flex:0 0 auto}}.phone-layout>.bottom-row,.phone-layout>.top-bar{display:none}.phone-layout .play-area{display:grid;min-height:0;flex:1 1 auto;grid-template-columns:minmax(0,1fr);grid-template-rows:40px minmax(0,1fr);grid-gap:4px;gap:4px;padding:0;border:0;background:transparent;box-shadow:none}.phone-layout .status-strip{min-height:0;grid-column:1/-1;grid-row:1;grid-template-columns:minmax(38px,max-content) minmax(0,1fr) minmax(30px,max-content);gap:4px;margin:0;font-size:12px;line-height:1.2}.phone-layout .equation-viewport{grid-column:1;grid-row:2}.phone-layout .actions{flex-wrap:nowrap;gap:4px}.phone-layout .difficulty-stepper button{width:44px;height:44px;min-width:44px;min-height:44px}.status-copy{display:flex;min-width:0;flex-direction:column;align-items:center;text-align:center}.status-brand{display:none}.phone-layout .status-brand{display:block;color:var(--ink);font-size:12px}.phone-layout .status-copy{flex-direction:row;justify-content:center;gap:12px}.phone-layout .status-brand{flex-shrink:0}.equation-viewport>.play-controls{position:absolute;z-index:2;top:8px;bottom:8px;right:8px;width:44px;justify-content:center}.equation-viewport>.play-controls .actions{display:grid;grid-template-rows:repeat(4,minmax(0,1fr));grid-gap:4px;gap:4px;width:100%;height:min(100%,188px)}.equation-viewport>.play-controls .actions button{width:44px;height:100%;min-width:0;min-height:0}.app-shell:not(.phone-layout) .top-bar h1{font-size:32px;line-height:1.2;overflow-wrap:anywhere}.app-shell:not(.phone-layout) .equation,.app-shell:not(.phone-layout) .play-area,.app-shell:not(.phone-layout) .play-column{min-width:0}.app-shell:not(.phone-layout) .equation-viewport{container-type:inline-size}.app-shell:not(.phone-layout) .equation{--digit-width:min(88px,calc((100cqw - 128px) / var(--character-count) / 1.12));min-height:264px;gap:calc(var(--digit-width) * .12);overflow:hidden}.app-shell:not(.phone-layout) .match-char{width:var(--digit-width);height:calc(var(--digit-width) * 1.93)}.app-shell:not(.phone-layout) .equal-char,.app-shell:not(.phone-layout) .operator-char{width:calc(var(--digit-width) * .78)}.app-shell:not(.phone-layout) .status-copy{overflow-wrap:anywhere}.app-shell:not(.phone-layout) .bottom-row{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px}.app-shell:not(.phone-layout) .bottom-row .stats{justify-content:flex-start}.app-shell:not(.phone-layout) .bottom-row footer{flex:0 1 auto;margin-left:auto;align-items:center;justify-content:flex-start}.app-shell:not(.phone-layout) .bottom-row footer a{display:inline-grid;width:36px;height:36px;place-items:center}.game-overlay{width:min(440px,calc(100vw - 24px));max-height:calc(var(--game-viewport-height, 100dvh) - 24px);padding:0;border:1px solid var(--border);border-radius:8px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.game-overlay[open]{display:flex;flex-direction:column}.game-overlay::-webkit-backdrop{background:rgb(0 0 0/55%)}.game-overlay::backdrop{background:rgb(0 0 0/55%)}.overlay-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-soft)}.overlay-header h2{margin:0;font-size:20px}.overlay-close{flex:0 0 44px;width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;font-size:28px}.overlay-body{min-height:0;padding:12px 16px 16px;overflow-y:auto;overscroll-behavior:contain}.settings-row{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px}.settings-row input{width:24px;height:24px;accent-color:var(--accent)}.settings-share{display:flex;min-height:44px;align-items:center;gap:12px;padding:0;border:0;background:transparent;color:inherit}.settings-section{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-soft)}.settings-section h3{margin:0 0 8px;font-size:15px}.settings-section hr{width:48px;max-width:100%;margin:12px 0;border:0;border-top:1px dashed var(--border-soft)}.settings-section p{margin:6px 0;color:var(--muted);font-size:14px;line-height:1.5}.settings-footer,.settings-section .stats{justify-content:flex-start}.settings-footer{margin-top:20px}.answer-list{margin:0;padding-left:24px;font-size:24px;line-height:1.8}.settings-feedback:empty{display:none}.install-feedback,.install-steps{font-size:14px;line-height:1.6;color:var(--muted)}.install-steps{padding-left:22px;margin:8px 0}.install-steps li+li{margin-top:6px}.install-feedback{margin:8px 0}.install-shortcut button:disabled{opacity:.55}.equation-solved:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:rgb(72 184 111/18%);box-shadow:inset 0 0 0 3px rgb(30 122 66/65%);animation:success-wash .7s ease-out both}.equation-solved.success-complete:before{animation-iteration-count:2}.equation-success-check{position:absolute;top:7%;left:0;width:100%;text-align:center;font-style:normal;color:var(--success);font-size:min(28px,calc(var(--digit-width) * .45));pointer-events:none;animation:success-pop .35s ease-out both}.success-destination{animation:success-stick .25s ease-out}.progress-success{animation:success-pop .35s ease-out}.answer-progress b{display:inline-block;font-weight:inherit}.progress-flying-check{position:fixed;z-index:30;pointer-events:none;font-size:24px;line-height:1;color:var(--success)}.success-complete .equation-success-check,.success-new .equation-success-check{visibility:hidden}.success-next,.success-title{display:block}.success-title{color:var(--success)}.success-next{font-size:11px;color:var(--muted);font-weight:600}@media (orientation:landscape){.status-copy .success{display:inline-flex;align-items:center;justify-content:center;gap:8px}}.phone-layout .status-copy .success{display:inline-flex;align-items:center;justify-content:center;gap:8px}.success-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}.success-confetti i{position:absolute;left:var(--piece-x);top:8%;width:5px;height:9px;background:var(--piece-color);opacity:0;animation:success-confetti 1.1s ease-out var(--piece-delay) both}@keyframes success-wash{0%,30%{opacity:1}to{opacity:0}}@keyframes success-pop{0%{scale:.8}55%{scale:1.13}to{scale:1}}@keyframes success-stick{50%{scale:1.08;filter:drop-shadow(0 0 5px #26924f)}}@keyframes success-confetti{0%{opacity:0;transform:translateY(0) rotate(0)}15%{opacity:.9}to{opacity:0;transform:translate(var(--piece-drift),110px) rotate(250deg)}}@media (prefers-reduced-motion:reduce){.success-complete .equation-success-check,.success-new .equation-success-check{visibility:visible}.equation-solved:before{animation:none;opacity:.5}.equation-success-check,.progress-success,.success-destination{animation:none}.success-confetti{display:none}}.update-notice{position:fixed;z-index:20;right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));max-width:calc(100vw - 16px);display:flex;gap:12px;padding:8px;background:var(--surface);border:1px solid var(--border-soft);border-radius:6px}.update-notice button{min-height:36px;border:0;background:transparent;color:var(--ink)}.is-phone-game .game-overlay{position:fixed;inset:auto;left:calc((var(--game-viewport-width, 100vw) + env(safe-area-inset-left) - env(safe-area-inset-right)) / 2);top:calc((var(--game-viewport-height, 100dvh) + env(safe-area-inset-top) - env(safe-area-inset-bottom)) / 2);width:min(440px,calc(var(--game-viewport-width, 100vw) - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:calc(var(--game-viewport-height, 100dvh) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-width:none;margin:0;transform:translate(-50%,-50%)}.is-phone-portrait .game-overlay{width:min(440px,calc(var(--game-viewport-height, 100dvh) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));max-height:calc(var(--game-viewport-width, 100vw) - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));transform:translate(-50%,-50%) rotate(90deg)}.phone-layout .play-controls{flex-direction:row}.phone-layout .language-switch{padding:2px}.phone-layout .language-switch button{min-width:40px;min-height:34px}.phone-layout .update-notice{max-width:calc(100% - 16px)}.phone-portrait .update-notice{top:max(8px,env(safe-area-inset-right));right:max(8px,env(safe-area-inset-bottom))}.settings-overlay{width:min(600px,calc(100vw - 24px))}.is-phone-game .settings-overlay{width:min(600px,calc(var(--game-viewport-width, 100vw) - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)))}.is-phone-portrait .settings-overlay{width:min(600px,calc(var(--game-viewport-height, 100dvh) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.settings-common{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:24px;column-gap:24px;margin-bottom:12px}.settings-common .settings-row{min-width:0;gap:8px;border-bottom:1px solid var(--border-soft)}.settings-language-wide{grid-column:1/-1}.settings-common .language-switch{flex-shrink:0;border-radius:8px;border-width:1px;padding:2px;gap:2px}.settings-common .language-switch button{border-radius:6px;min-width:44px;min-height:44px}.settings-common .settings-row input{flex-shrink:0}.settings-panel{border-top:1px solid var(--border-soft)}.settings-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 0;font-size:18px;font-weight:700;list-style:none;cursor:pointer}.settings-panel>summary::-webkit-details-marker{display:none}.settings-panel>summary:after{content:"";flex:0 0 8px;width:8px;height:8px;margin-right:6px;border-top:2px solid;border-right:2px solid;transform:rotate(45deg)}.settings-panel[open]>summary:after{transform:rotate(135deg)}.settings-panel>.settings-section{margin-top:0;padding-top:0;border-top:0}.settings-panel-content,.settings-panel>.settings-section{padding-bottom:16px;overflow-wrap:anywhere}.settings-panel .stats{flex-wrap:wrap}.settings-panel>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-update{padding:8px 12px;margin-bottom:12px;border:1px solid var(--accent);border-radius:6px}.settings-update p{margin:0;font-size:14px;line-height:1.5}.settings-common .language-switch button[aria-pressed=true]{background:var(--accent);color:var(--surface)}.settings-drag-hand{flex-wrap:wrap;padding-block:4px}.hand-switch{display:flex;flex-shrink:0;gap:2px;padding:2px;border:1px solid var(--border-soft);border-radius:8px}.hand-switch label{position:relative;cursor:pointer}.settings-common .hand-switch input{position:absolute;width:1px;height:1px;padding:0;margin:0;opacity:0}.hand-switch span{display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:6px 8px;border:2px solid transparent;border-radius:6px}.hand-switch input:checked+span{background:var(--accent);color:var(--surface);border-color:currentColor}.hand-switch input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}@media (forced-colors:active){.hand-switch input:checked+span{border-color:Highlight}.hand-switch input:focus-visible+span{outline-color:Highlight}}.voice-caption{display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:100%;padding:2px 10px;border:1px solid var(--border-soft);border-radius:12px;background:var(--paper,#fffaf0);box-shadow:0 2px 8px #362a191a;font-size:12px;line-height:1.25;pointer-events:none}.voice-caption strong{font-size:10px;color:var(--muted)}.voice-caption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drag-ghost.snapped .matchstick-art{animation:none}.voice-diagnostics label{display:flex;align-items:center;gap:8px;min-height:44px}.voice-diagnostics ol{-webkit-padding-start:1.5em;padding-inline-start:1.5em}.voice-diagnostics li{overflow-wrap:anywhere;margin-block:6px}.voice-diagnostics-actions{display:flex;flex-wrap:wrap;gap:8px}.voice-diagnostics-actions button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.voice-diagnostics-snapshot{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:16px;-moz-user-select:text;user-select:text;-webkit-user-select:text;resize:vertical}.app-shell.academy-active:not(.phone-layout){height:100dvh;min-height:0}.academy{--academy-blue:#277195;--academy-green:#237749;display:flex;flex:1 1;min-height:0;min-width:0;flex-direction:column;gap:12px;width:100%;overflow:auto;overscroll-behavior:contain;padding:16px 20px;border:1px solid var(--border-soft);border-radius:20px;background:var(--surface);color:var(--ink);-webkit-overflow-scrolling:touch}.academy>*{flex-shrink:0}.academy button{font:inherit;color:inherit;cursor:pointer}.academy button:focus-visible{outline:3px solid var(--academy-blue);outline-offset:2px}.academy button:disabled{cursor:default;opacity:.48}.academy h1,.academy h2,.academy h3,.academy p{margin:0}.academy h1{font-size:28px;letter-spacing:-.04em}.academy h2{font-size:23px;line-height:1.2}.academy h3{font-size:18px}.academy p{line-height:1.4}.academy-assistance-actions,.academy-assistance-heading,.academy-chapter-intro,.academy-footer,.academy-header,.academy-lesson-top,.academy-progress-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.academy-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 14px;border:1px solid var(--border-soft);border-radius:10px;background:white;text-decoration:none;white-space:nowrap}.academy-button.primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.academy-button.quiet{background:transparent}.academy-chapter-intro p,.academy-free-note,.academy-intro{color:var(--muted);font-size:14px}.academy-free-note{text-align:center}.academy-progress{display:grid;grid-gap:5px;gap:5px}.academy-progress-line{font-size:13px;color:var(--muted)}.academy-progress-track{height:5px;border-radius:8px;background:#e8dfc7}.academy-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--academy-green);transition:width .3s}.academy-chapters{display:grid;flex:1 1;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(64px,1fr));grid-gap:12px;gap:12px}.academy-chapter{display:grid;grid-template-columns:auto 1fr;align-content:center;align-items:center;grid-gap:6px 12px;gap:6px 12px;text-align:left;min-height:64px;padding:14px;border:1px solid var(--border-soft);border-radius:14px;background:#f8f0d8}.academy-chapter:hover,.academy-lesson-link:hover{background:#f0e6cb}.academy-chapter-number,.academy-lesson-number{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border:1px solid #d7cbb3;border-radius:50%;color:var(--muted);font-size:12px}.academy-chapter-title{font-size:18px;font-weight:600}.academy-chapter-count{grid-column:2;font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.academy-lesson-list{display:grid;flex:1 1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(48px,1fr));grid-gap:12px;gap:12px}.academy-lesson-link{display:flex;align-items:center;gap:12px;padding:14px;min-height:48px;text-align:left;border:1px solid var(--border-soft);border-radius:12px;background:#fffdf7}.academy-lesson-link>span:nth-child(2){flex:1 1}.academy-lesson-link.done .academy-lesson-number{background:#e4f1e5;color:var(--academy-green);border-color:#c6dfc9}.academy-lesson{display:grid;flex:1 1;min-width:0;grid-template-rows:auto minmax(180px,1fr) auto;grid-gap:12px;gap:12px}.academy-lesson-top>.academy-button{flex-shrink:0}.academy-lesson-heading{flex:1 1;min-width:0;text-align:center}.academy-eyebrow{color:var(--muted);font-size:12px}.academy-practice{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(120px,1fr) auto;grid-gap:6px 18px;gap:6px 18px;padding:12px 18px;border:1px solid var(--border-soft);border-radius:16px;background:linear-gradient(155deg,#fff9e5,#f6eccc);position:relative}.academy-practice.with-tools{grid-template-columns:minmax(0,1fr) minmax(150px,26%)}.academy-board{--digit-width:64px;--match-length:calc(var(--digit-width) * 0.72);--match-thickness:calc(var(--match-length) * 68 / 240);display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;gap:18px;padding:14px 8px;min-width:0}.app-shell .academy .academy-board .match-char{width:var(--digit-width);height:calc(var(--digit-width) * 1.93)}.app-shell .academy .academy-board .equal-char,.app-shell .academy .academy-board .operator-char{width:calc(var(--digit-width) * .78)}.academy-char-wrap{position:relative}.academy-char-position{position:absolute;bottom:3px;left:0;width:100%;text-align:center;font-size:10px;color:#9b8b6d}.academy-board .academy-separate-card{flex:0 0 auto;padding:10px 14px 20px;border:1px solid #d8c8a3;border-radius:12px;background:#fffaf0;box-shadow:0 2px 0 #d8c8a344}.academy-board .match-segment.placeholder{opacity:.38}.academy-board .match-segment.placeholder:not(:disabled){opacity:.75}.academy-board .academy-hint-source,.academy-reservoir.demonstrated-source{outline:3px solid var(--academy-blue);outline-offset:3px}.academy-board .academy-hint-target,.academy-reservoir.demonstrated{outline:3px solid var(--academy-green);outline-offset:3px;opacity:1}.academy-reservoir{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:center;gap:10px;min-width:0;min-height:76px;padding:10px;border:2px dashed #baa581;border-radius:13px;background:#fffdf2;touch-action:none}.academy-reservoir>.matchstick-art{width:74px;height:24px}.academy-reservoir.selected{border-color:var(--academy-blue);background:#e8f2f3}.academy-choices,.academy-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.academy-choices{display:grid;grid-template-columns:repeat(2,minmax(44px,1fr));align-self:center}.academy-choice{min-width:44px;min-height:44px;border:1px solid var(--border-soft);border-radius:10px;padding:6px 12px;background:#fffdf7;font-size:22px!important}.academy-choice[aria-pressed=true]{border-color:var(--academy-green);background:#e7f0e5}.academy-status{grid-column:1/-1;text-align:center;min-height:24px;font-size:14px;line-height:1.35;color:var(--muted);position:relative}.academy-status.error{color:#a93227}.academy-success{color:var(--academy-green);font-weight:600}.academy-assistance{display:flex;min-height:min-content;flex-direction:column;justify-content:safe center;gap:18px;padding:16px 20px;border:1px solid var(--border-soft);border-radius:16px;background:#fff9df}.academy-hint-card{color:var(--ink);font-size:16px}.academy-guidance{display:flex;flex-wrap:wrap;gap:4px;border-radius:12px;background:#efe6d0;padding:4px}.academy-guidance button{min-height:44px;border:0;border-radius:8px;background:transparent;padding:8px 12px;font-size:13px}.academy-guidance button[aria-pressed=true]{background:#fffdf8;box-shadow:0 1px 4px #3a261115}.academy-footer{flex-wrap:wrap}.academy-ghost{z-index:100}.academy-ghost .matchstick-art{animation:none}.phone-layout .academy{padding:6px 10px;gap:6px;border-radius:12px}.phone-layout .academy h1{font-size:22px}.phone-layout .academy h2{font-size:18px}.phone-layout .academy-button{padding:6px 10px;font-size:13px}.phone-layout .academy-chapter-intro p,.phone-layout .academy-free-note,.phone-layout .academy-intro{font-size:12px}.phone-layout .academy-progress{gap:3px}.phone-layout .academy-progress-line{font-size:12px}.phone-layout .academy-progress-track{height:4px}.phone-layout .academy-chapters{gap:6px;grid-template-rows:repeat(2,minmax(46px,1fr))}.phone-layout .academy-chapter{min-height:46px;padding:6px 10px;gap:2px 8px}.phone-layout .academy-chapter-number{grid-row:span 2}.phone-layout .academy-chapter-title{font-size:14px}.phone-layout .academy-chapter-count{font-size:11px}.phone-layout .academy-lesson-list{gap:6px}.phone-layout .academy-lesson-link{padding:6px 12px}.phone-layout .academy-lesson{grid-template-rows:auto minmax(150px,1fr) auto;gap:6px}.phone-layout .academy-practice{padding:6px 12px;gap:4px 12px;grid-template-rows:minmax(110px,1fr) auto}.phone-layout .academy-board{--digit-width:46px;padding:8px 6px;gap:14px}.phone-layout .academy-board .academy-separate-card{padding:6px 10px 18px;border-radius:9px}.phone-layout .academy-status{font-size:12px;min-height:18px}.phone-layout .academy-reservoir{font-size:12px}.phone-layout .academy-assistance{gap:10px;padding:10px 16px}.phone-layout .academy-hint-card{font-size:14px}.phone-layout .academy-guidance button{font-size:12px}@media (max-width:650px){.app-shell:not(.phone-layout) .academy{padding:12px}.app-shell:not(.phone-layout) .academy-chapters{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(64px,1fr))}.app-shell:not(.phone-layout) .academy-lesson-top{flex-wrap:wrap}.app-shell:not(.phone-layout) .academy-lesson-heading{order:3;flex-basis:100%}.app-shell:not(.phone-layout) .academy-board{--digit-width:38px;gap:8px}.app-shell:not(.phone-layout) .academy-practice.with-tools{grid-template-columns:minmax(0,1fr) 110px}.app-shell:not(.phone-layout) .academy-assistance-actions{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.academy *,.academy-ghost{transition:none!important;animation:none!important}}.academy-welcome{display:flex;flex:1 1;flex-direction:column;align-items:center;justify-content:center;min-height:0;overflow:auto;padding:35px 24px;border:1px solid var(--border-soft);border-radius:20px;background:radial-gradient(ellipse at 50% 0,#fff2bb,transparent 70%),var(--surface);text-align:center}.academy-welcome h1{margin:10px 0;font-size:clamp(28px,5vw,48px)}.academy-welcome p{max-width:590px;margin:8px 0;color:var(--muted);line-height:1.6}.academy-actions{display:flex;gap:12px;margin:22px 0;flex-wrap:wrap;justify-content:center}.academy-actions button,.academy-settings-entry{min-height:44px;padding:10px 22px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface);font:inherit}.academy-actions button:first-child{color:white;background:var(--ink)}.academy-settings-entry{width:100%}.phone-layout .academy-welcome{padding:16px}.phone-layout .academy-welcome h1{font-size:28px}.phone-layout .academy-welcome p{font-size:13px;margin:5px 0}.phone-layout .academy-actions{margin:12px 0}.academy-board .equals-lower,.academy-board .equals-upper{width:var(--match-length);height:var(--match-thickness);left:50%;transform:translateX(-50%)}.academy-welcome{justify-content:safe center}.academy-welcome .language-switch button{min-height:44px;min-width:44px}.academy-assistance-actions{flex-wrap:wrap}:root{--magnifier-safe-top:env(safe-area-inset-top,0px);--magnifier-safe-right:env(safe-area-inset-right,0px);--magnifier-safe-bottom:env(safe-area-inset-bottom,0px);--magnifier-safe-left:env(safe-area-inset-left,0px)}.touch-magnifier{position:fixed;z-index:1000;border-radius:50%;overflow:hidden;isolation:isolate;background:#fffaf0;outline:3px solid #4e4030;box-shadow:0 5px 18px #30292345,0 0 0 5px #fffaf0d9;-webkit-user-select:none;-moz-user-select:none;user-select:none;contain:layout paint}.touch-magnifier,.touch-magnifier *,.touch-magnifier-scene{pointer-events:none!important}.touch-magnifier-scene{position:absolute;inset:0}.touch-magnifier-stick{position:absolute;transform:translate(-50%,-50%);z-index:1}.touch-magnifier-stick.is-snapped{filter:drop-shadow(0 0 3px #239959)}.touch-magnifier-crosshair{position:absolute;width:5px;height:5px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #30292380;background:#fffaf070;z-index:2}