@font-face{font-family:Barlow;src:url(/assets/barlow-latin-400-normal.woff2);font-display:swap}@font-face{font-family:Barlow;src:url(/assets/barlow-latin-600-normal.woff2);font-weight:600;font-display:swap}@font-face{font-family:Condensed;src:url(/assets/barlow-condensed-latin-700-normal.woff2);font-weight:700;font-display:swap}@font-face{font-family:Plex;src:url(/assets/ibm-plex-mono-latin-500-normal.woff2);font-weight:500;font-display:swap}:root{font-family:Barlow,sans-serif;color:#edf1e5;background:#14251f;font-synthesis:none;text-rendering:optimizeLegibility;--panel: #182820;--panel-deep: #102019;--ink: #edf1e5;--muted: #a8b9a2;--line: #40523d;--accent: #a7d87c;--accent-ink: #172713;--error: #ffab91;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a{touch-action:manipulation}button,a,input,select{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e1edaa}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;border:0;background:transparent}button:disabled{cursor:not-allowed;opacity:.4}button:active:not(:disabled){transform:translateY(1px)}button,select,input{border-radius:3px}button svg,a svg{flex-shrink:0}button svg{vertical-align:middle}p{line-height:1.6}h1,h2,h3,p{margin-top:0}.eyebrow{font:10px/1.7 Plex,monospace;letter-spacing:2px;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.quiet-copy{color:var(--muted);font-size:13px}.error-text{color:var(--error);font-size:13px;line-height:1.6;display:flex;gap:8px;align-items:center}.action-button,.quiet-button{display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:48px;padding:12px 23px;font-weight:600;font-size:14px;white-space:nowrap;border-radius:3px}.action-button{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent)}.action-button:hover:not(:disabled){background:#c1e99a}.quiet-button{background:transparent;color:var(--ink);border:1px solid var(--line)}.quiet-button:hover:not(:disabled){background:#8da97d18}.action-button.danger{background:#bc513e;border-color:#bc513e;color:#fff3e4}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);min-height:44px}.back-link:hover{color:var(--ink)}.icon-control{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid #8a9d7b55;border-radius:3px;color:inherit}.icon-control:hover{background:#8ea18220}.icon-control svg{width:21px;height:21px}.route-error{padding:12vh 8vw;background:#14251f;min-height:100dvh}.route-error h1{font:700 64px Condensed}.route-error a{text-decoration:underline}.game-shell{min-height:100dvh;position:relative;isolation:isolate}.world-wrap,.world-placeholder{position:fixed;inset:0;z-index:-3;background:#172c29;overflow:hidden}.world-wrap canvas{display:block;width:100%;height:100%}.world-shade{position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,#071710e8,#081b13c9 30%,#0b1d1530 65%,#07191133),linear-gradient(0deg,#071710df,transparent 28%,transparent 80%,#07171066)}.game-topbar{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #a2b19a20;background:#0c1c1633;color:#e9efde}.game-topbar>div{display:flex;gap:10px;align-items:center}.game-brand{display:inline-flex;align-items:center;gap:11px}.brand-mark{font:700 26px Condensed;background:#dcebc5;color:#1a2a1c;padding:2px 10px 3px;transform:skew(-10deg);line-height:1}.game-brand strong{font:700 22px Condensed;letter-spacing:.4px}.game-brand small{font:10px Plex;margin-left:4px;letter-spacing:0;color:#a8b79b}.unsaved-link{font:10px Plex;color:#ffc092;display:flex;align-items:center;gap:4px;padding:7px}.screen-content{position:relative;z-index:1}.scene-error{position:absolute;bottom:20px;right:20px;padding:17px;background:#15241de8;color:#ecf2df;max-width:260px;font-size:12px}.scene-error span{font-weight:600}.scene-error p{margin:7px 0}.scene-error button{text-decoration:underline;padding:5px 0}.main-menu{padding:30px 6vw 35px;min-height:calc(100dvh - 78px);display:flex;flex-direction:column;justify-content:center;width:100%;position:relative}.menu-intro{max-width:620px;margin-bottom:27px}.menu-intro>.eyebrow{color:#b8c5a9}.menu-intro h1{font:700 clamp(75px,8vw,118px)/.92 Condensed;margin:12px 0;letter-spacing:-1.4px;position:relative;width:max-content}.menu-intro h1 span{color:#b1d08b}.menu-intro h1 small{font:10px Plex;letter-spacing:4px;display:block;margin:9px 0 0 3px;color:#b9c3ad}.menu-intro p{font-size:14px;margin:12px 0 0;color:#bdc8b4}.game-menu{width:min(590px,51vw);display:grid;gap:10px}.menu-item{position:relative;display:flex;align-items:center;gap:19px;padding:15px 26px 15px 21px;min-height:87px;color:#f0f3e7;transition:transform .18s,background .18s;clip-path:polygon(0 0,100% 0,calc(100% - 19px) 100%,0 100%);background:#243b2ff0;border-left:4px solid #99b779}.menu-item:hover{transform:translate(9px);background:#36513df5}.menu-item:focus-visible{outline:none;box-shadow:inset 0 0 0 3px #e3edb1}.menu-icon{width:36px;display:grid;place-items:center}.menu-icon svg{width:30px;height:30px}.menu-item-copy{display:block}.menu-item-copy strong{font:700 29px/1 Condensed;letter-spacing:.5px;display:block}.menu-item-copy small{display:block;color:#c3d0b8;font-size:11px;margin-top:7px}.menu-arrow{margin-left:auto;width:20px;height:20px}.menu-campaign{background:#633e2ce8;border-color:#d39960}.menu-campaign:hover{background:#80553aea}.menu-progress{background:#39462bdc;border-color:#afbb73}.menu-settings{background:#263b3be0;border-color:#91aca6}.menu-bottom{display:flex;justify-content:space-between;align-items:center;width:min(590px,51vw);gap:10px;margin-top:22px;font-size:10px;color:#b0bca5}.menu-bottom a{display:flex;gap:6px;align-items:center}.world-caption{position:absolute;left:65%;top:15%;pointer-events:none;color:#e0e6d1}.world-caption>.eyebrow{color:#c9d1b8;font-size:9px}.world-caption h2{font:700 clamp(30px,3vw,45px)/.95 Condensed;letter-spacing:.4px;margin:10px 0}.world-caption p{font-size:12px;color:#bdc9af;line-height:1.5}.boss-number{position:absolute;top:0;right:-100px;font:700 72px Condensed;color:#c1d2a77a}.boss-number small{font-size:21px;color:#afc09c}.page-heading{margin-bottom:25px}.page-heading>.back-link{margin-bottom:19px}.page-heading h1{font:700 clamp(38px,4vw,60px)/.95 Condensed;letter-spacing:.4px;margin:5px 0 0}.page-heading .eyebrow{color:var(--muted)}.setup-page{padding:22px 6vw 55px;max-width:890px}.setup-panel{padding:27px 31px;background:var(--panel);color:var(--ink);border:1px solid #6c825344;border-radius:3px;box-shadow:0 20px 90px #05100744}.setup-panel h2{font:700 24px Condensed;letter-spacing:.3px}.setting-label{display:flex;gap:13px;align-items:center;margin-bottom:15px}.setting-label>span{font:11px Plex;color:var(--muted)}.setting-label h2{margin:0;text-transform:uppercase}.skill-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:20px}.skill-choice{padding:17px 12px;display:grid;gap:8px;justify-items:start;text-align:left;background:var(--panel-deep);border:1px solid var(--line);color:var(--ink)}.skill-choice strong{font:700 25px Condensed;letter-spacing:.5px}.skill-choice small{font-size:10px;color:var(--muted);line-height:1.5}.skill-choice.selected{border-color:var(--accent);background:#9fb7801a}.skill-choice.selected svg{color:var(--accent)}.operation-picker{padding:0;border:0;margin:0 0 26px;display:flex;gap:8px 15px;flex-wrap:wrap}.operation-picker legend{font-size:11px;color:var(--muted);margin-bottom:11px}.operation-picker label{display:flex;align-items:center;gap:6px;font-size:11px;min-height:30px}.operation-picker input{accent-color:var(--accent);width:16px;height:16px}.mode-choices{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-bottom:22px}.mode-choices button{padding:13px 11px;border-right:1px solid var(--line);border-radius:0;text-align:left;background:var(--panel-deep)}.mode-choices button:last-child{border-right:0}.mode-choices button.selected{background:var(--accent);color:var(--accent-ink)}.mode-choices strong{display:block;text-transform:uppercase;font:700 23px Condensed}.mode-choices small{display:block;font-size:9px;margin-top:6px;line-height:1.4}.setup-options{display:flex;align-items:end;justify-content:space-between;gap:20px}.difficulty-picker{border:0;padding:0;margin:0;display:flex;gap:5px;flex-wrap:wrap;align-items:center}.difficulty-picker legend{font-size:11px;color:var(--muted);margin-bottom:11px}.difficulty-picker button{padding:10px 15px;min-height:44px;text-transform:capitalize;font-size:12px;border:1px solid var(--line);background:var(--panel-deep)}.difficulty-picker button.selected{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.locked-tier{font-size:11px;color:var(--muted);display:flex;gap:4px;padding:8px;align-items:center}.round-picker{font-size:11px;color:var(--muted);display:grid;gap:9px}.round-picker select{min-height:44px;padding:6px 12px;border:1px solid var(--line);background:var(--panel-deep);color:var(--ink)}.difficulty-note{font-size:11px;color:var(--muted);line-height:1.7;margin:16px 0 23px}.start-run{width:100%;justify-content:space-between}.roadmap-note{font-size:11px;color:var(--muted);margin:17px 0 0;line-height:1.6}.encounter-intro h2{font:700 60px/.95 Condensed;margin:12px 0 17px}.encounter-intro>p{font-size:14px;color:var(--muted)}.encounter-intro .quiet-copy{font-size:12px;line-height:1.75}.encounter-rules{display:flex;gap:10px 20px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;font:10px Plex;margin:24px 0 17px}.campaign-setup{max-width:660px}.saved-victory{padding:12px 14px;background:#96ba6422;border-left:2px solid var(--accent);font-size:11px!important}.is-playing .world-shade{background:linear-gradient(90deg,#10231b11,transparent 45%,#0b1a1377 64%,#0b1a13ee 67%)}.world-boss{inset:99px 39% 25px 15px;border-radius:3px}.is-playing:not(.has-boss) .world-wrap{opacity:.25}.is-playing:not(.has-boss) .world-shade{background:#10251bea}.play-page{height:100dvh;min-height:560px;position:relative;overflow:hidden}.play-toolbar{height:74px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #9fb18c33;background:#0c1d17cc;color:#e8efdf}.run-label{font:11px Plex;letter-spacing:1.2px;display:grid;gap:6px;text-align:center}.run-label small{font:10px Barlow;color:#b2c2a6;text-transform:capitalize;letter-spacing:0}.play-tools{display:flex;gap:8px}.play-tools .icon-control{width:40px;height:40px}.play-info{position:absolute;top:95px;left:5vw;display:flex;align-items:center;gap:30px;color:#e4ecdb;z-index:3}.score-info{display:grid;gap:5px}.score-info strong{font:700 35px Condensed}.score-info span{font:9px Plex;letter-spacing:1px;color:#b4c3a7}.round-info{font:10px Plex;letter-spacing:1px;color:#b5c4a9}.vitality{display:flex;gap:6px;color:#f08d65}.vitality svg.lost{opacity:.22;filter:grayscale(1)}.boss-hud{position:absolute;left:5vw;top:97px;width:48%;z-index:3;color:#e7eedd}.boss-hud>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px}.boss-hud>div>span{font:700 26px Condensed;letter-spacing:1px}.boss-hud strong{font:12px Plex}.boss-hud strong small{font-size:9px;color:#aebfa1}.boss-health-track{height:5px;background:#4c5c4144}.boss-health-track>span{height:100%;display:block;background:#d99a69;transition:width .25s}.boss-hud>p{font:9px Plex;letter-spacing:1px;color:#b7c3a7;margin:9px 0 0}.boss-info{top:auto;bottom:40px;left:5vw;gap:25px}.play-question-region{position:absolute;right:3vw;top:116px;bottom:32px;width:33%;display:flex;flex-direction:column;justify-content:center;background:var(--panel);padding:30px;border:1px solid #60734f66;border-radius:3px;color:var(--ink);overflow:auto}.response-timer{margin-bottom:26px}.response-timer>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.response-timer span{font:9px Plex;letter-spacing:1px;color:var(--muted)}.response-timer strong{font:16px Plex;color:var(--ink)}.response-track{height:3px;background:#66795a44;overflow:hidden}.response-track>span{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left}.response-timer.urgent strong{color:var(--error)}.response-timer.urgent .response-track>span{background:#ec936e}.challenge-kicker{display:flex;align-items:center;justify-content:space-between;font:9px Plex;letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin-bottom:17px}.challenge-kicker span:last-child{font-size:8px}.equation{font:500 clamp(29px,3.3vw,49px)/1.3 Plex;letter-spacing:-1.6px;text-align:center;margin:28px 0 32px;white-space:nowrap}.equation span{color:var(--muted)}.answer-form{display:grid;grid-template-columns:1fr auto;gap:8px}.answer-form input{min-width:0;width:100%;background:var(--panel-deep);border:1px solid var(--line);color:var(--ink);text-align:center;font:24px Plex;padding:13px 8px;min-height:56px}.answer-form input::placeholder{font:12px Barlow;color:var(--muted)}.answer-form .action-button{min-width:97px;padding:12px 13px;font-size:12px;gap:9px}.answer-feedback{font-size:12px;min-height:39px;line-height:1.6;margin:18px 0 0;color:var(--muted);text-align:center}.answer-feedback.correct{color:#b7dc90}.answer-feedback.wrong,.answer-feedback.timeout{color:var(--error)}.explanation{border-top:1px solid var(--line);margin-top:13px;padding-top:13px}.explanation p{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:15px}.explanation .action-button{width:100%;justify-content:space-between}.ability-controls{margin-top:25px;padding-top:18px;border-top:1px solid var(--line)}.charge-display{font:9px Plex;letter-spacing:1px;color:var(--muted)}.ability-controls>div{display:flex;gap:8px;margin-top:11px}.ability{border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:45px;padding:10px 12px;flex:1;background:var(--panel-deep)}.ability span{font-size:12px;text-transform:capitalize}.ability kbd{font:10px Plex;color:var(--muted)}.ability.armed{border-color:var(--accent);color:var(--accent)}.ability-controls small{font-size:10px;color:var(--muted);display:block;margin-top:12px}.phase-announcement{padding:30px 0}.phase-announcement h1{font:700 65px/.95 Condensed;margin:15px 0}.phase-announcement p{color:#d4b47e;font:12px Plex}.memory-heading{font:700 36px Condensed;text-align:center;margin:20px 0 8px}.challenge-instruction{font-size:12px;color:var(--muted);line-height:1.6;text-align:center;margin-bottom:17px}.memory-board{display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));gap:8px;max-width:265px;margin:0 auto 17px}.memory-board button{aspect-ratio:1;min-height:44px;background:var(--panel-deep);border:1px solid var(--line);font:17px Plex;position:relative;opacity:1;color:var(--muted);transition:background .1s,transform .1s}.memory-board button:disabled{cursor:default}.memory-board button.lit{background:#d9c68b;border-color:#f2e4ba;color:#17241a;transform:scale(1.03)}.memory-board button.chosen{background:#72965066;color:var(--ink);border-color:#a8c281}.memory-board button small{position:absolute;bottom:6px;right:7px;font:9px Plex;color:var(--accent)}.practice-sequence,.recall-slots{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin:16px 0;font:18px Plex}.practice-sequence span,.recall-slots span{min-width:29px;text-align:center;padding:4px 3px;border-bottom:1px solid var(--line)}.memory-actions{display:flex;gap:10px;justify-content:space-between;max-width:265px;margin:auto}.memory-actions .action-button,.memory-actions .quiet-button{font-size:12px;padding:11px 15px}.hide-sequence{display:flex;margin:auto}.training-play .play-info{top:99px}.training-play .play-question-region{position:relative;right:auto;top:auto;bottom:auto;width:min(840px,84vw);height:calc(100dvh - 195px);min-height:370px;margin:100px auto 20px;padding:25px max(40px,6vw);border:0;background:transparent;justify-content:center;overflow:auto}.training-play .challenge-kicker{font-size:10px}.training-play .equation{font-size:clamp(46px,6vw,83px);margin:30px 0 45px;letter-spacing:-3px}.training-play .answer-form{max-width:620px;width:100%;margin:auto;gap:13px}.training-play .answer-form input{min-height:72px;font-size:34px}.training-play .answer-form .action-button{min-width:140px;font-size:15px}.training-play .response-timer{margin-bottom:27px}.training-play .memory-board{max-width:330px;gap:11px}.training-play .memory-board button{font-size:22px}.training-play .memory-heading{font-size:42px;margin-top:12px}.training-play .memory-actions{max-width:330px}.training-play .explanation{margin:17px auto 0;max-width:620px;width:100%}.training-play .explanation p{font-size:14px}.training-play .answer-feedback{font-size:13px}.training-play .recall-slots{margin:12px 0}.training-play .challenge-content:has(.memory-board){margin:auto;width:100%}.game-dialog{padding:33px;background:var(--panel);color:var(--ink);border:1px solid #80926377;border-radius:4px;width:470px;max-width:calc(100vw - 35px);box-shadow:0 25px 90px #0007}.game-dialog::backdrop{background:#07120dcc;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.game-dialog h2{font:700 46px/.95 Condensed;margin:0 0 18px}.game-dialog p{font-size:14px;color:var(--muted)}.game-dialog>.action-button{width:100%;margin-top:15px}.game-dialog>.quiet-button{width:100%;margin-top:10px}.dialog-actions{display:flex;justify-content:space-between;gap:10px;margin-top:26px}.dialog-actions>button{flex:1}.journal-page{max-width:1120px;padding:25px 5vw 75px;margin:auto;background:var(--panel);border-left:1px solid #6c82532a;border-right:1px solid #6c82532a;min-height:calc(100dvh - 78px)}.journal-page h2{font:700 28px Condensed;letter-spacing:.5px}.campaign-journal{display:grid;grid-template-columns:1fr 1.4fr;gap:35px;margin:32px 0 40px}.campaign-journal h2{font:700 36px/.98 Condensed;margin:10px 0 15px}.campaign-journal p{font-size:12px;max-width:290px;color:var(--muted)}.campaign-path{display:flex;align-items:center;gap:0}.campaign-path>div{position:relative;flex:1;align-self:center;text-align:center}.campaign-path>div:before{position:absolute;left:0;right:0;top:20px;border-top:1px solid var(--line);content:"";z-index:0}.campaign-path>div>span{position:relative;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel);width:42px;height:42px;margin:0 auto 12px;color:var(--muted);font:22px Condensed}.campaign-path .available>span{color:var(--accent);border-color:var(--accent)}.campaign-path strong,.campaign-path small{display:block;position:relative}.campaign-path strong{font:700 18px Condensed}.campaign-path small{font-size:9px;color:var(--muted);margin-top:6px;text-transform:capitalize}.journal-totals{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;gap:65px;margin:30px 0}.journal-totals>div{display:grid;gap:5px}.journal-totals strong{font:700 45px Condensed}.journal-totals span{font-size:11px;color:var(--muted)}.empty-journal{padding:35px 0}.empty-journal p{font-size:13px;color:var(--muted);max-width:400px}.empty-journal .action-button{margin-top:15px}.progress-chart{margin:37px 0}.progress-chart p{font-size:11px;color:var(--muted);text-transform:capitalize}.chart-bars{height:160px;display:flex;align-items:end;gap:15px;border-bottom:1px solid var(--line);padding:15px 0 25px;margin:20px 0 14px}.chart-bars>div{flex:1;height:100%;position:relative;display:flex;align-items:end}.chart-bars>div>span{width:100%;background:#a0c97b;max-width:72px}.chart-bars small{position:absolute;bottom:-20px;left:0;font:9px Plex;color:var(--muted)}.history{margin-top:38px}.history article{display:flex;gap:20px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}.history article>div{flex:1}.history article strong{font-size:14px;text-transform:capitalize}.history article strong span{font-size:10px;font-weight:400;color:var(--muted);margin-left:12px}.history article small{display:block;color:var(--muted);font-size:10px;margin-top:7px}.history article>span{font:20px Condensed;min-width:60px;text-align:right}.settings-page{max-width:850px}.settings-section{margin:25px 0 40px}.settings-section h2{font-size:27px}.settings-section>p{font-size:13px;max-width:620px;color:var(--muted)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 0;border-top:1px solid var(--line)}.settings-row>span{display:grid;gap:6px}.settings-row strong{font-size:14px;font-weight:600}.settings-row small{font-size:11px;color:var(--muted);max-width:420px;line-height:1.6}.settings-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}.settings-row select{padding:10px 15px;min-height:44px;border:1px solid var(--line);background:var(--panel-deep);color:var(--ink)}.settings-row input[type=range]{accent-color:var(--accent);width:130px;min-height:44px}.data-actions{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}.file-picker{position:relative;overflow:hidden;cursor:pointer}.file-picker input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.file-picker:focus-within{outline:3px solid #e1edaa;outline-offset:3px}.danger-link{color:var(--error);text-decoration:underline;text-underline-offset:4px;font-size:12px;min-height:44px;padding:8px 0}.credits-section{border-top:1px solid var(--line);padding-top:30px}.credits-section a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-size:12px}.credits-section>a{display:inline-flex;gap:10px;align-items:center}.settings-message{padding:13px 16px;border-left:2px solid var(--accent);background:#8fbb6422;color:var(--accent);font-size:12px}.unsaved-notice{padding:12px;border:1px solid #bb8b5f77;color:var(--error);font-size:12px}.unsaved-notice button{margin-left:10px;font-size:11px;min-height:40px}.results-page{padding:44px 7vw 65px;min-height:calc(100dvh - 78px);display:flex;justify-content:center;background:#0b2015aa}.result-panel{max-width:800px;width:100%;padding:34px 40px;background:var(--panel);border:1px solid #71915a55;color:var(--ink)}.result-panel>.eyebrow{color:var(--muted);font-size:9px}.result-panel>h1{font:700 clamp(50px,6vw,83px)/.91 Condensed;margin:20px 0}.result-message{font-size:13px;max-width:430px;color:var(--muted)}.result-stats{display:flex;flex-wrap:wrap;gap:20px 37px;padding:25px 0;margin:25px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-stats>div{display:grid;gap:8px;flex:1;min-width:100px}.result-stats strong{font:700 44px Condensed}.result-stats strong small{font-size:23px;color:var(--muted)}.result-stats span{font-size:10px;color:var(--muted)}.save-state{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.save-state.failed{color:var(--error)}.save-state button{text-decoration:underline;font-weight:600;font-size:11px}.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.record-label{font:10px Plex;color:var(--accent);letter-spacing:1.5px}.assisted-note{font-size:11px;color:#d9b77b}.mistake-review{border-top:1px solid var(--line);margin-top:29px;padding-top:19px}.mistake-review summary{font-size:13px;cursor:pointer;min-height:35px}.mistake-review>div{padding:15px 0;border-top:1px solid var(--line)}.mistake-review strong{font-size:12px}.mistake-review p{font-size:12px;color:var(--muted);margin:10px 0 0}.boss-results{justify-content:flex-end;background:transparent}.boss-results .result-panel{width:55%;padding:28px 32px}.boss-results .result-panel>h1{font-size:66px}.boss-results .result-stats{gap:19px}.boss-results .result-stats strong{font-size:36px}.boss-results .result-stats>div{min-width:85px}[data-theme=light]{--panel: #edf0e5;--panel-deep: #e0e6d6;--ink: #253021;--muted: #58664f;--line: #b5c2a6;--accent: #425e2b;--accent-ink: #f0f5e8;--error: #a13926;color-scheme:light}[data-theme=light] .action-button:hover:not(:disabled){background:#597b3e;color:#fff}[data-theme=light] .game-dialog::backdrop{background:#09170ebd}[data-theme=light] .answer-feedback.correct{color:#3e6628}[data-theme=light] .memory-board button.chosen{background:#a4c48077}[data-theme=light] .mode-choices button.selected small{color:#e1edcd}[data-theme=light] .play-question-region{box-shadow:0 20px 70px #06110922}[data-theme=light] .training-play .play-question-region{background:var(--panel);border:1px solid var(--line)}@media(min-width:1500px){.main-menu{padding-left:8vw}.game-menu,.menu-bottom{width:640px}.menu-item{min-height:98px}.menu-item-copy strong{font-size:33px}.menu-intro{margin-bottom:38px}.world-caption{left:65%;top:16%}.world-caption h2{font-size:49px}.play-question-region{width:31%;right:4vw;padding:36px}.world-boss{right:38%}}@media(min-width:761px)and (max-height:780px){.main-menu{padding-top:15px;padding-bottom:18px;justify-content:flex-start}.menu-intro{margin-bottom:17px}.menu-intro h1{font-size:85px}.menu-intro p{margin-top:7px;font-size:12px}.game-menu{gap:7px}.menu-item{min-height:74px;padding-top:11px;padding-bottom:11px}.menu-item-copy strong{font-size:26px}.menu-item-copy small{margin-top:5px;font-size:10px}.menu-bottom{margin-top:15px}.world-caption{top:15%}.play-question-region{top:95px;bottom:21px;padding:21px 24px}.response-timer{margin-bottom:16px}.equation{font-size:34px;margin:19px 0 25px}.ability-controls{margin-top:14px;padding-top:14px}.ability-controls small{margin-top:9px}.answer-feedback{margin-top:13px}.memory-board{max-width:190px;gap:6px;margin-bottom:12px}.memory-heading{font-size:29px;margin-top:12px}.memory-board button{font-size:15px}.challenge-instruction{font-size:11px;margin-bottom:13px}.challenge-kicker{margin-bottom:12px}.memory-actions .action-button,.memory-actions .quiet-button{padding:9px 12px;min-height:44px}.recall-slots{font-size:15px;margin:9px 0}.boss-hud{top:97px}.training-play .play-question-region{margin-top:80px;height:calc(100dvh - 170px);min-height:0;padding-top:20px;padding-bottom:20px}.training-play .equation{font-size:64px;margin:25px 0 33px}.training-play .memory-board{max-width:235px;gap:8px}.training-play .memory-heading{font-size:34px}.training-play .response-timer{margin-bottom:17px}.training-play .challenge-instruction{margin-bottom:11px}.training-play .explanation p{font-size:12px;margin-bottom:10px}.training-play .answer-feedback{min-height:24px}.training-play .challenge-kicker{font-size:9px}.training-play .explanation{margin-top:12px;padding-top:10px}.training-play .memory-board button{font-size:19px}.game-topbar{height:68px}.setup-page{padding-top:13px}.page-heading>.back-link{margin-bottom:10px}.page-heading{margin-bottom:19px}.setup-panel{padding:24px 27px}.boss-results .result-panel>h1{font-size:53px}}@media(max-width:1050px)and (min-width:761px){.menu-item-copy strong{font-size:25px}.menu-item{padding-left:16px;padding-right:23px;gap:12px}.menu-icon{width:27px}.menu-icon svg{width:26px}.menu-item-copy small{font-size:10px}.world-caption{left:66%}.boss-number{display:none}.play-question-region{width:37%;right:2vw;padding-left:20px;padding-right:20px}.world-boss{right:40%;left:0}.boss-hud{width:48%;left:4vw}.equation{font-size:30px}.answer-form .action-button{min-width:80px;padding:12px 10px}.ability{padding:9px;gap:6px}.ability kbd{display:none}.campaign-journal{grid-template-columns:1fr;gap:20px}.campaign-path{max-width:650px}.boss-results .result-panel{width:65%}.boss-results .result-actions{gap:8px}.result-actions .action-button,.result-actions .quiet-button{font-size:12px;padding:12px 15px}}@media(max-width:760px){.game-topbar{height:66px;padding:0 22px}.game-brand strong{font-size:20px}.game-brand small{font-size:8px}.brand-mark{font-size:22px;padding:3px 8px}.game-topbar>div{gap:6px}.icon-control{width:38px;height:38px}.game-topbar .icon-control svg{width:18px}.world-shade{background:linear-gradient(90deg,#0a1c13bd,#0a1c1399),linear-gradient(0deg,#06170dec,transparent)}.main-menu{padding:30px 24px 32px;min-height:calc(100dvh - 66px);justify-content:flex-start}.menu-intro h1{font-size:clamp(66px,17vw,92px);margin:12px 0}.menu-intro>.eyebrow{font-size:8px;letter-spacing:1.5px}.menu-intro h1 small{font-size:9px;letter-spacing:3px;margin-top:11px}.menu-intro p{font-size:12px;margin-top:14px}.menu-intro{margin-bottom:26px}.game-menu{width:100%;gap:9px}.menu-item{min-height:87px;padding:14px 24px 14px 15px;gap:12px}.menu-icon{width:27px}.menu-icon svg{width:27px}.menu-item-copy strong{font-size:25px}.menu-item-copy small{font-size:10px;max-width:190px;line-height:1.5}.menu-bottom{width:100%;font-size:9px;margin-top:24px}.world-caption{display:none}.menu-item:hover{transform:none}.page-heading h1{font-size:39px}.page-heading>.back-link{margin-bottom:12px}.page-heading{margin-bottom:21px}.setup-page{padding:16px 20px 35px;max-width:none}.setup-panel{padding:21px 18px}.setting-label h2{font-size:23px}.skill-choices{gap:6px}.skill-choice{padding:13px 8px;gap:8px}.skill-choice strong{font-size:22px}.skill-choice small{font-size:9px;line-height:1.6;max-width:80px}.skill-choice svg{width:24px}.operation-picker{gap:5px 12px;margin-bottom:24px}.operation-picker label{font-size:10px;min-height:36px}.mode-choices{grid-template-columns:1fr;margin-bottom:22px}.mode-choices button{border-right:0;border-bottom:1px solid var(--line);padding:13px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.mode-choices button:last-child{border-bottom:0}.mode-choices strong{font-size:22px}.mode-choices small{font-size:9px;margin:0;text-align:right}.setup-options{gap:12px;flex-wrap:wrap}.difficulty-picker button{padding:9px 12px;font-size:11px}.locked-tier{font-size:10px;padding:7px 5px}.round-picker{display:flex;align-items:center;gap:12px;margin-top:7px}.round-picker select{min-width:80px}.difficulty-note{font-size:11px;line-height:1.7;margin-top:16px}.encounter-intro h2{font-size:48px}.encounter-intro>p{font-size:13px}.encounter-rules{gap:10px 14px;font-size:9px;margin-top:21px}.play-page{height:100dvh;min-height:700px;overflow:auto}.play-toolbar{height:66px;padding:0 17px;gap:8px}.play-toolbar>.back-link{font-size:11px;gap:5px}.play-tools{gap:5px}.play-tools .icon-control{width:35px;height:35px}.play-tools .icon-control svg{width:18px}.run-label{font-size:8px;letter-spacing:.4px;max-width:175px;line-height:1.5;gap:3px}.run-label small{font-size:9px}.world-boss{inset:120px 0 auto;height:31dvh;min-height:200px;border-radius:0}.is-playing .world-shade{background:linear-gradient(0deg,#0b1d1399,transparent 65%)}.boss-hud{top:81px;left:22px;width:calc(100% - 44px)}.boss-hud>div>span{font-size:19px;letter-spacing:.5px}.boss-hud strong{font-size:10px}.boss-hud>div:first-child{margin-bottom:8px}.boss-hud>p{font-size:8px;margin-top:8px}.boss-info{top:141px;bottom:auto;left:20px;display:grid;gap:15px}.vitality{gap:3px}.vitality svg{width:16px;height:16px}.score-info strong{font-size:27px}.score-info span{font-size:7px;letter-spacing:.5px}.play-question-region{position:absolute;inset:auto 13px 13px;width:auto;max-height:calc(100dvh - 345px);padding:19px 19px 17px;overflow:auto;background:var(--panel);justify-content:flex-start}.response-timer{margin-bottom:14px}.response-timer>div:first-child{margin-bottom:8px}.response-timer span{font-size:8px}.response-timer strong{font-size:14px}.challenge-kicker{font-size:8px;margin-bottom:12px;letter-spacing:.7px}.equation{font-size:35px;margin:21px 0 26px;letter-spacing:-1.5px}.answer-form{gap:7px}.answer-form input{font-size:24px;padding:12px 5px;min-height:52px}.answer-form .action-button{min-width:90px;font-size:11px;padding:11px}.answer-feedback{font-size:11px;margin-top:12px;min-height:23px}.ability-controls{margin-top:12px;padding-top:11px;display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center}.ability-controls>div{margin-top:0;gap:6px}.ability{min-height:44px;padding:9px;gap:5px}.ability span{font-size:10px}.ability svg{width:16px}.ability kbd{display:none}.charge-display{font-size:8px;letter-spacing:.3px}.ability-controls small{grid-column:1/-1;margin-top:0;font-size:9px}.memory-heading{font-size:27px;margin:9px 0 6px}.challenge-instruction{font-size:10px;margin-bottom:12px}.memory-board{max-width:175px;gap:5px;margin-bottom:10px}.memory-board button{font-size:14px;min-height:44px}.recall-slots{font-size:13px;gap:5px;margin:9px 0}.recall-slots span{min-width:24px;padding:3px}.memory-actions{max-width:230px;gap:7px}.memory-actions .quiet-button,.memory-actions .action-button{min-height:44px;font-size:11px;padding:9px 13px}.phase-announcement h1{font-size:46px}.phase-announcement{padding:18px 0}.phase-announcement .eyebrow{font-size:8px}.training-play{min-height:700px}.training-play .play-info{top:88px;left:24px;right:24px;justify-content:space-between}.training-play .score-info strong{font-size:29px}.training-play .score-info span{font-size:8px}.training-play .round-info{font-size:9px}.training-play .play-question-region{position:absolute;inset:153px 13px 20px;width:auto;height:auto;margin:0;padding:22px 18px;min-height:0;max-height:none;justify-content:center;border:0;background:transparent}.training-play .equation{font-size:clamp(40px,10vw,62px);letter-spacing:-2px;margin:28px 0 34px}.training-play .challenge-kicker{font-size:9px}.training-play .answer-form{gap:8px}.training-play .answer-form input{min-height:61px;font-size:28px}.training-play .answer-form .action-button{min-width:98px;font-size:12px}.training-play .memory-board{max-width:270px;gap:8px}.training-play .memory-board button{font-size:20px}.training-play .memory-heading{font-size:36px}.training-play .challenge-instruction{font-size:12px}.training-play .memory-actions{max-width:270px}.training-play .answer-feedback,.training-play .explanation p{font-size:12px}.training-play .response-timer{margin-bottom:22px}.training-play .recall-slots{font-size:17px;margin:13px 0}.training-play .explanation .action-button{min-height:46px}.play-page .explanation p{font-size:11px}.game-dialog{padding:26px 23px}.game-dialog h2{font-size:39px}.game-dialog p{font-size:12px}.dialog-actions{gap:7px}.dialog-actions>button{padding:12px 14px;font-size:12px}.journal-page{padding:16px 22px 50px;min-height:calc(100dvh - 66px);border:0}.campaign-journal{grid-template-columns:1fr;gap:22px;margin:27px 0 33px}.campaign-journal h2{font-size:34px}.campaign-journal p{max-width:none}.campaign-path>div>span{width:35px;height:35px}.campaign-path>div:before{top:17px}.campaign-path strong{font-size:14px}.campaign-path small{font-size:8px;line-height:1.5;max-width:60px;margin:5px auto}.journal-totals{gap:25px;justify-content:space-between}.journal-totals strong{font-size:35px}.journal-totals span{font-size:9px;max-width:75px;line-height:1.5}.history article{gap:12px;flex-wrap:wrap}.history article>div{min-width:65%}.history article strong{font-size:12px}.history article strong span{display:block;margin:7px 0 0;font-size:10px}.history article>span{font-size:19px;min-width:55px}.history article small{font-size:9px;line-height:1.6}.settings-row{gap:18px}.settings-row small{font-size:10px;max-width:230px}.settings-row strong{font-size:13px}.settings-row input[type=range]{width:90px}.settings-row select{font-size:12px;padding:9px 11px}.settings-section>p{font-size:12px}.data-actions .action-button,.data-actions .quiet-button{font-size:12px;padding:12px 16px}.results-page{padding:24px 18px 40px;min-height:calc(100dvh - 66px)}.result-panel{padding:25px 22px}.result-panel>h1,.boss-results .result-panel>h1{font-size:55px}.boss-results{background:#0c2116c9}.boss-results .result-panel{width:100%;padding:25px 22px}.result-panel>.eyebrow{font-size:8px}.result-stats{gap:22px 24px}.result-stats>div,.boss-results .result-stats>div{min-width:95px}.result-stats strong,.boss-results .result-stats strong{font-size:37px}.result-actions{gap:10px}.result-actions .action-button,.result-actions .quiet-button{width:100%;font-size:13px}.save-state{font-size:10px;line-height:1.6;flex-wrap:wrap}.empty-journal h2{font-size:27px}.empty-journal p{font-size:12px}.unsaved-link{font-size:8px;padding:3px}.chart-bars{gap:8px;height:135px}}@media(max-width:760px)and (max-height:820px){.main-menu{padding-top:24px}.menu-intro{margin-bottom:21px}.menu-intro h1{font-size:71px}.menu-item{min-height:79px;padding-top:11px;padding-bottom:11px}.menu-item-copy strong{font-size:24px}.world-boss{top:117px;height:26dvh;min-height:175px}.play-question-region{max-height:calc(100dvh - 315px);padding-top:16px;padding-bottom:13px}.equation{font-size:32px;margin:15px 0 22px}.memory-board{max-width:150px}.memory-heading{font-size:25px}.ability-controls{margin-top:10px;padding-top:10px}.training-play .play-question-region{top:145px;max-height:none;padding-top:18px;padding-bottom:18px}.training-play .memory-board{max-width:230px}.training-play .memory-heading{font-size:31px}.training-play .challenge-instruction{font-size:11px;margin-bottom:13px}.training-play .answer-feedback{font-size:11px}.training-play .equation{font-size:45px}.training-play .response-timer{margin-bottom:17px}.training-play .explanation{margin-top:10px;padding-top:10px}.training-play .explanation p{font-size:11px;margin-bottom:11px}.training-play .recall-slots{margin:10px 0}.play-page .challenge-kicker{margin-bottom:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important}.scene-loading-badge{position:absolute;bottom:20px;right:23px;font:10px Plex;color:#dce8cc;background:#10271ac9;padding:10px 13px;border-radius:3px}.boss-play .challenge-content:has(.memory-board) .challenge-kicker,.boss-play .challenge-content:has(.memory-board) .challenge-instruction{display:none}.boss-play .play-question-region:has(.memory-board) .memory-heading{margin:9px 0 13px}@media(min-width:761px)and (max-height:820px){.boss-play .memory-board{max-width:170px}.boss-play .play-question-region:has(.memory-board) .ability-controls small{display:none}.boss-play .play-question-region:has(.memory-board) .ability-controls{margin-top:12px;padding-top:12px}}@media(max-width:760px){.boss-play .play-question-region:has(.memory-board){max-height:calc(100dvh - 295px);padding:16px}.boss-play .play-question-region:has(.memory-board) .response-timer{margin-bottom:8px}.boss-play .play-question-region:has(.memory-board) .memory-heading{font-size:25px;line-height:1.1;margin:0 0 8px}.boss-play .memory-board{max-width:148px;gap:5px;margin-bottom:8px}.boss-play .play-question-region:has(.memory-board) .recall-slots{margin:6px 0;font-size:14px}.boss-play .play-question-region:has(.memory-board) .answer-feedback{min-height:18px;margin-top:8px;font-size:10px}.boss-play .play-question-region:has(.memory-board) .ability-controls{margin-top:8px;padding-top:8px}.boss-play .play-question-region:has(.memory-board) .ability-controls small{display:none}}.result-panel>h1{white-space:pre-line}.ready-screen{position:absolute;inset:74px 0 0;z-index:7;display:grid;place-items:center;background:#10231bc9;padding:30px}.ready-screen>section{max-width:410px;width:100%;text-align:center;color:#edf3e2}.ready-screen .eyebrow{font-size:9px;color:#bacbad}.ready-screen h1{font:700 74px/.91 Condensed;white-space:pre-line;margin:18px 0 23px}.ready-screen p{font-size:13px;color:#becdb3;max-width:330px;margin:0 auto 24px}.ready-screen .action-button{min-width:220px;justify-content:space-between}.boss-play .ready-screen{place-items:center end;padding-right:5vw;background:linear-gradient(90deg,#0a201333,#0a201344 53%,#0a2013c9 64%,#0a2013e8)}@media(max-width:760px){.ready-screen{inset:66px 0 0;padding:24px}.ready-screen h1{font-size:59px}.ready-screen p{font-size:12px}.boss-play .ready-screen{place-items:end center;padding:24px 25px 65px;background:linear-gradient(0deg,#0c2116fc,#0c2116ee 45%,#0c211633 75%)}}.boss-hud{padding:12px 15px;background:linear-gradient(90deg,#10231de8,#10231d99);border:1px solid #70876144;border-radius:3px}.boss-info{padding:10px 13px;background:#10231dd9;border:1px solid #70876144;border-radius:3px}@media(max-width:760px){.boss-hud{padding:9px 11px;top:79px}.boss-info{top:164px;padding:9px;gap:10px;background:#10231dd9}.boss-info .score-info strong{font-size:24px}.boss-info .vitality svg{width:14px;height:14px}}.operation-picker label{min-height:44px}.credits-section>a{min-height:44px}@media(max-width:760px){.game-topbar .icon-control,.play-tools .icon-control{width:44px;height:44px}.play-toolbar .run-label{max-width:145px}}.journal-page{color:var(--ink)}.scene-warning{position:fixed;bottom:20px;right:20px;z-index:20;display:grid;gap:7px;padding:16px 19px;max-width:290px;background:#172b20;color:#e4edd9;border:1px solid #718663;font-size:12px}.scene-warning span{color:#bdcaae;font-size:11px}.scene-warning button{min-height:44px;text-align:left;text-decoration:underline;text-underline-offset:3px;padding:8px 0;font-size:11px}.training-skill-choices{grid-template-columns:repeat(5,minmax(0,1fr))}.training-skill-choices .skill-choice{padding-left:12px;padding-right:12px}.exercise-picker{border:0;padding:0;margin:24px 0}.exercise-picker legend{font-size:12px;color:var(--ink);margin-bottom:12px}.exercise-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.exercise-picker label{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);min-height:70px;cursor:pointer}.exercise-picker label.selected{border-color:var(--accent);background:#9ab77812}.exercise-picker input{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}.exercise-picker strong{display:block;font-size:13px}.exercise-picker small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:4px}.digit-reveal{font:700 clamp(42px,7vw,86px)/1.2 Plex;letter-spacing:.13em;margin:28px auto;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.choice-heading{font:700 clamp(28px,3vw,44px)/1.05 Condensed;margin:12px 0}.choice-input{width:100%}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(460px,100%);margin:18px auto 0}.answer-choice{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:78px;padding:12px 22px;border:1px solid var(--line);background:var(--panel-deep);color:var(--ink);font-size:16px;cursor:pointer}.answer-choice:not(:disabled):hover{background:#91b27525;border-color:var(--accent)}.answer-choice:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.answer-choice kbd{position:absolute;top:6px;left:8px;font:10px Plex;color:var(--muted)}.answer-choice:disabled{opacity:1;cursor:default}.answer-choice.correct-choice{border-color:var(--accent);background:#8da76825}.answer-choice.wrong-choice{border-color:#c78369}.choice-help{font-size:10px;color:var(--muted);margin:14px 0 0}.search-target{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px auto;font-size:13px}.symbol-token{position:relative;display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;flex-shrink:0}.symbol-mark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:700 17px/1 Plex}.search-grid{grid-template-columns:repeat(6,minmax(0,1fr));width:min(510px,100%);gap:7px}.search-grid .answer-choice{min-height:58px;padding:5px}.search-grid[data-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr));max-width:270px}.rule-number{font:700 clamp(58px,8vw,100px)/1 Condensed;margin:20px 0}.pattern-sequence{display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:18px 0}.pattern-sequence li{min-width:58px;min-height:68px;padding:14px 8px 8px;border:1px solid var(--line);position:relative;display:grid;place-items:center}.pattern-sequence li small{position:absolute;top:3px;left:5px;font:9px Plex;color:var(--muted)}.pattern-symbol{display:inline-flex;align-items:center;gap:8px;min-height:38px}.pattern-dots{display:grid;grid-template-columns:repeat(3,8px);gap:3px;align-content:center;justify-content:center;width:30px}.pattern-direction{flex-shrink:0}.pattern-sequence .missing-tile{font:700 28px Condensed;color:var(--accent);border-style:dashed}.rotation-source{margin:18px auto;width:100px;display:grid;gap:12px;justify-items:center}.rotation-source>span:last-child{color:var(--muted);font-size:10px}.rotation-symbol{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px}.result-exercises{color:var(--muted);font-size:12px;line-height:1.6;margin:10px 0 16px}.training-play .play-question-region:has(.is-feedback){overflow-y:auto}@media(max-width:760px){.training-skill-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.training-skill-choices .skill-choice:last-child{grid-column:1/-1}.exercise-picker>div{grid-template-columns:1fr}.choice-heading{font-size:28px;margin:8px 0}.choice-grid{gap:8px;margin-top:12px}.answer-choice{min-height:66px;font-size:14px;padding:10px 16px}.search-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.search-grid .answer-choice{min-height:44px;padding:2px}.search-grid[data-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}.search-grid .symbol-token,.search-grid .symbol-token>svg{width:34px;height:34px}.symbol-mark{font-size:14px}.search-target{font-size:11px;margin:8px auto}.pattern-sequence{gap:6px;margin:12px 0}.pattern-sequence li{min-width:48px;min-height:54px;padding:13px 6px 6px}.pattern-symbol{gap:5px}.pattern-direction{width:19px}.digit-reveal{font-size:clamp(30px,9vw,48px);margin:20px auto;letter-spacing:.08em}.rule-number{font-size:64px;margin:16px 0}}.world-wrap{overflow:hidden}.combat-cue{white-space:nowrap;font:700 clamp(26px,3vw,42px)/1 Condensed;letter-spacing:.04em;color:#f5e4bc;text-shadow:0 2px 0 #1a2318,0 4px 12px #0a160a;animation:combat-number .65s ease-out both}.combat-power{color:#ffd09a;font-size:clamp(29px,3.4vw,46px)}.combat-damage{color:#ffa98e}.combat-guard{color:#c2f0d0}.combat-phase{color:#f7d69a;animation-duration:.86s}@keyframes combat-number{0%{opacity:0;transform:translateY(12px) scale(.9)}16%{opacity:1;transform:translateY(0) scale(1.04)}72%{opacity:1}to{opacity:0;transform:translateY(-42px) scale(1)}}.reduced-motion .combat-cue{animation:none;transform:none}.ability[aria-pressed=true]{box-shadow:inset 0 0 0 1px #d5dca4,0 0 18px #bedb6920}@media(prefers-reduced-motion:reduce){.combat-cue{animation:none;transform:none}}.encounter-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:30px}.encounter-picker button{display:grid;grid-template-columns:30px 1fr;gap:4px 8px;text-align:left;border:1px solid var(--line);padding:14px 12px;background:var(--panel-deep);min-height:80px}.encounter-picker button>span{grid-row:span 2;align-self:center;font:25px Condensed;color:var(--muted)}.encounter-picker strong{font:700 21px Condensed}.encounter-picker small{color:var(--muted);font-size:10px;line-height:1.4}.encounter-picker [aria-pressed=true]{border-color:var(--accent)}.encounter-picker [aria-pressed=true]>span{color:var(--accent)}.encounter-intro h2{max-width:600px;text-wrap:balance}.boss-guide{border-block:1px solid var(--line);margin:18px 0;text-align:left}.boss-guide summary{cursor:pointer;min-height:44px;padding:14px 2px;font:600 12px Barlow;color:var(--ink)}.boss-guide-content{text-align:left;font-size:12px;line-height:1.6}.boss-guide-content p{color:var(--muted);font-size:12px;line-height:1.6}.boss-guide-content dl{display:grid;gap:12px;margin:16px 0}.boss-guide-content dt{font-weight:600;color:var(--ink)}.boss-guide-content dd{margin:3px 0 0;color:var(--muted)}.boss-guide-content .quiet-button{font-size:12px;margin:10px 0}.ready-screen>section{max-height:calc(100dvh - 120px);overflow-y:auto;scrollbar-width:thin}.game-dialog{max-height:calc(100dvh - 40px);overflow-y:auto}@media(max-width:600px){.encounter-picker{gap:7px}.encounter-picker button{padding:10px 8px;grid-template-columns:22px 1fr}.encounter-picker strong{font-size:19px}.ready-screen .boss-guide-content p{font-size:12px}.play-tools{gap:3px}}.boss-play .challenge-content[data-exercise=positions] .challenge-instruction{display:block;font-size:11px;line-height:1.4;margin:0 0 8px}@media(max-width:760px){.boss-play .challenge-content[data-exercise=search] .choice-help,.boss-play .challenge-content[data-exercise=rule] .choice-help,.boss-play .challenge-content[data-exercise=search]:not(.is-feedback) .answer-feedback,.boss-play .challenge-content[data-exercise=rule]:not(.is-feedback) .answer-feedback{display:none}}:root{--text-focus-ring: #e1edaa;--world-gold: #f4ce83;--world-lime: #b8e69a;--world-memory: #cab9ff;--world-focus: #8cdae9;--world-patterns: #f2acc9;--world-progress: #a9caff;--world-cool: #b8cbd5;--text-gold: var(--world-gold);--text-lime: var(--world-lime);--text-memory: var(--world-memory);--text-focus: var(--world-focus);--text-patterns: var(--world-patterns);--text-progress: var(--world-progress);--text-cool: var(--world-cool)}[data-theme=light]{--text-focus-ring: #425e2b;--text-gold: #825008;--text-lime: #386126;--text-memory: #6842a6;--text-focus: #006879;--text-patterns: #963b68;--text-progress: #315d99;--text-cool: #425b70}[data-skill=maths]{--skill-ink: var(--text-gold);--skill-world: var(--world-gold)}[data-skill=memory]{--skill-ink: var(--text-memory);--skill-world: var(--world-memory)}[data-skill=focus]{--skill-ink: var(--text-focus);--skill-world: var(--world-focus)}[data-skill=patterns]{--skill-ink: var(--text-patterns);--skill-world: var(--world-patterns)}[data-skill=mixed]{--skill-ink: var(--text-lime);--skill-world: var(--world-lime)}[data-boss=duelist]{--boss-ink: var(--text-gold);--boss-world: var(--world-gold)}[data-boss=illusionist]{--boss-ink: var(--text-memory);--boss-world: var(--world-memory)}.menu-training{--menu-ink: var(--world-lime)}.menu-campaign{--menu-ink: var(--world-gold)}.menu-progress{--menu-ink: var(--world-progress)}.menu-settings{--menu-ink: var(--world-cool)}.menu-item-copy strong,.menu-item .menu-icon{color:var(--menu-ink)}.menu-intro h1 span{color:var(--world-lime)}.menu-intro>.eyebrow,.world-caption h2{color:var(--world-gold)}.training-setup .page-heading h1,.training-setup .page-heading .eyebrow{color:var(--world-lime)}.campaign-setup .page-heading h1,.campaign-setup .page-heading .eyebrow{color:var(--world-gold)}.training-setup .setting-label h2{color:var(--text-lime)}.setting-label>span{color:var(--text-gold)}.skill-choice strong,.skill-choice svg,.skill-choice.selected svg,.exercise-picker label strong,.mix-skills label>span{color:var(--skill-ink)}.skill-choice.selected,.exercise-picker label.selected{border-color:var(--skill-ink)}.encounter-intro h2,.encounter-picker button strong{color:var(--boss-ink)}.encounter-intro>.eyebrow,.encounter-rules{color:var(--text-gold)}.encounter-picker button[aria-pressed=true]>span{color:var(--boss-ink)}.boss-guide-content dt{color:var(--text-focus)}.boss-guide summary{color:var(--text-cool)}.challenge-content .challenge-kicker>span:first-child,.challenge-content .equation,.challenge-content .memory-heading,.challenge-content .choice-heading,.challenge-content .digit-reveal,.challenge-content .rule-number{color:var(--skill-ink)}.challenge-content .equation>span{color:var(--muted)}.run-label{color:var(--skill-world)}.boss-play .run-label,.boss-hud>div>span,.boss-hud>p{color:var(--boss-world)}.ready-screen .eyebrow{color:var(--boss-world, var(--world-lime))}.phase-announcement h1{color:var(--text-gold)}.phase-announcement p{color:var(--boss-ink)}.progress-page .page-heading h1,.progress-page .page-heading .eyebrow,.progress-page .empty-journal h2,.progress-page .history>h2,.progress-page .progress-chart>h2{color:var(--text-progress)}.campaign-journal h2,.campaign-journal .eyebrow{color:var(--text-gold)}.campaign-path [data-boss]>strong{color:var(--boss-ink)}.journal-totals strong,.history article>span{color:var(--text-gold)}.history article strong{color:var(--boss-ink, var(--skill-ink))}.settings-page .page-heading h1,.settings-page .page-heading .eyebrow{color:var(--text-focus)}.settings-page h2{color:var(--text-progress)}.result-panel>.eyebrow{color:var(--boss-ink, var(--skill-ink))}.result-panel>h1{color:var(--text-lime)}.boss-results .result-panel>h1{color:var(--text-gold)}.results-page[data-status=defeated] .result-panel>h1{color:var(--error)}.results-page[data-status=abandoned] .result-panel>h1{color:var(--ink)}.result-stats [data-stat=accuracy] strong,.record-label{color:var(--text-lime)}.result-stats [data-stat=correct] strong{color:var(--text-focus)}.result-stats [data-stat=score] strong{color:var(--text-gold)}.result-stats [data-skill] strong{color:var(--skill-ink)}.assisted-note{color:var(--text-gold)}.ready-screen h1{color:var(--boss-world, var(--world-lime))}.game-dialog h2{color:var(--text-focus)}.game-topbar,.play-toolbar,.ready-screen,.setup-page .page-heading{--text-focus-ring: #e1edaa}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--text-focus-ring)}.world-caption{isolation:isolate}.world-caption:before{content:"";position:absolute;inset:-14px -108px -12px -18px;z-index:-1;background:#10231be6;border-left:2px solid var(--world-gold);border-radius:3px}.menu-item:hover .menu-item-copy small{color:#f0f3e7}@media(min-width:761px)and (max-width:1050px){.world-caption:before{right:-18px}}
