:root{--bg: #111411;--panel: #1d221f;--panel-2: #252d28;--line: #4b584d;--text: #f5f2e8;--muted: #b9b6aa;--accent: #f1c76a;--cyan: #85c7ff;--good: #7edc91;--bad: #ff7474;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button{min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);font:inherit;font-weight:750;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.55}.app{position:relative;z-index:0;width:min(1280px,calc(100vw - 24px));min-height:calc(100vh - 24px);margin:12px auto;padding:16px;border:1px solid #536052;border-radius:8px;overflow:hidden;background:#0d100ee6;box-shadow:0 20px 60px #00000073}.phaser-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.45}.app-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:4px;font-size:26px}h2{font-size:21px}h3{margin-bottom:8px;font-size:15px}p,small{color:var(--muted);line-height:1.45}.toggle{display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--muted)}.header-toggles{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 14px}.screen{padding:18px 0 0}.screen.compact{max-width:620px}.pre-shift-stage{display:grid;place-items:center;min-height:420px}.pre-shift-card{width:min(880px,100%);display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:18px;border:3px solid var(--accent);border-radius:8px;background:linear-gradient(180deg,#f1c76a12,#ffffff04),#080a09f7;padding:16px;box-shadow:0 18px 48px #00000080}.pre-shift-history,.pre-shift-empty{grid-column:1 / -1}.pre-shift-empty{border:1px solid var(--line);border-radius:8px;background:#0e100fbd;padding:10px;color:var(--muted)}.pre-shift-history{display:grid;gap:8px}.pre-shift-result{display:grid;gap:4px;border:1px solid var(--line);border-radius:8px;background:#0e100fd1;padding:10px;animation:summary-rise .26s ease-out both}.pre-shift-result.good{border-color:#7edc919e}.pre-shift-result.bad{border-color:#ff74749e}.pre-shift-result span{color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase}.pre-shift-result.good strong{color:var(--good)}.pre-shift-result.bad strong{color:var(--bad)}.pre-shift-result small{color:var(--muted);font-weight:700}.pre-shift-result em{border-top:1px solid rgba(75,88,77,.72);padding-top:6px;color:var(--cyan);font-size:12px;font-style:normal;font-weight:700}.pre-shift-card>img{width:112px;height:112px;border:2px solid var(--cyan);border-radius:8px;background:#0e100f;image-rendering:pixelated}.pre-shift-card h2{margin-bottom:8px}.pre-shift-card p{margin-bottom:0;font-weight:700}.pre-shift-roll{display:grid;justify-items:end}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.choice-card{display:grid;gap:10px;min-height:170px;padding:14px;text-align:left;align-content:start;background:linear-gradient(180deg,#ffffff0b,#ffffff04),var(--panel)}.random-map-card{border-color:var(--accent);background:linear-gradient(180deg,#2f2a1d,#1d221f)}.character-avatar{width:76px;height:76px;overflow:hidden;border:2px solid var(--accent);border-radius:8px;background:#0e100f}.character-avatar img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.starter-powerups{margin-top:18px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;border:1px solid var(--line);border-radius:8px;background:#1d221fdb;padding:14px}.starter-powerups h2{margin-bottom:0}.powerup-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.powerup-card{display:grid;gap:5px;min-height:84px;padding:10px;text-align:left}.powerup-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #f1c76a2e}.powerup-card.compact{min-height:64px}.choice-card span{color:var(--accent);font-size:12px}.choice-card strong{font-size:18px}.locked{opacity:.55}.primary{background:#3a3321;border-color:var(--accent)}.danger{background:#3a2323;border-color:#8e4b4b}.validation{margin-top:14px;color:var(--accent)}.game-shell{display:grid;gap:12px;padding-top:14px}.status-bar{display:grid;grid-template-columns:repeat(6,minmax(96px,1fr));gap:8px}.status-bar span,.stats-row span,.flags span{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:8px 10px}.board-area{position:relative;border:1px solid var(--line);border-radius:8px;background:#0c0f0d;padding:10px;overflow:hidden}.board-area.dialog-top{padding-top:218px}.board-area.dialog-bottom{padding-bottom:218px}.board-popup{position:absolute;top:28px;left:50%;z-index:12;width:min(680px,calc(100% - 48px));min-height:98px;display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;border:2px solid var(--accent);border-radius:8px;background:#0c0f0df5;box-shadow:0 16px 38px #0000008f;transform:translate(-50%);text-align:left}.board-popup img{width:64px;height:64px;image-rendering:pixelated;border:1px solid var(--line);border-radius:6px}.board-popup strong,.board-popup small{display:block}.board-popup strong{margin-bottom:4px;color:var(--text);font-size:16px}.board-popup small{color:var(--muted);line-height:1.35}.board-popup.success{border-color:var(--good)}.board-popup.fail{border-color:var(--bad)}.board-wrap{overflow-x:auto;border:1px solid #4b584d;border-radius:8px;background:linear-gradient(90deg,#1b211d 1px,transparent 1px),linear-gradient(180deg,#1b211d 1px,transparent 1px),#101311;background-size:36px 36px;padding:8px;min-height:680px}.board-wrap.inactive{filter:none}.board{position:relative}.grid-board-wrap{overflow:auto;border:1px solid #4b584d;border-radius:8px;background:#0d100e;padding:10px;min-height:680px}.grid-board-wrap.inactive{opacity:.92}.grid-board{position:relative}.grid-cell{position:absolute;display:grid;place-items:center;padding:0;border:1px solid #232a25;border-radius:4px;background:#151a16;color:var(--muted);font-size:14px;font-weight:800;cursor:default}.grid-cell.floor{background:#11150f}.grid-cell.enemy,.grid-cell.boss{background:#2a1717;color:#ff8a8a;border-color:#50302f}.grid-cell.treasure{background:#2a2616;color:#f1c76a}.grid-cell.breakroom,.grid-cell.event,.grid-cell.helper{background:#16271c;color:#8bf0a3}.grid-cell.hazard{background:#2a2414;color:#ffd36a}.grid-cell.system{background:#201b30;color:#bda0ff}.grid-cell.portal{background:#142a2f;color:#7fe3ff;border-color:var(--cyan);box-shadow:inset 0 0 10px #7fe3ff40}.grid-cell.start{background:#1d2a1f;color:#9fe6b1}.grid-cell.boss{box-shadow:inset 0 0 10px #ff747459}.grid-cell.resolved{opacity:.45}.grid-cell.reachable:not(:disabled){border-color:var(--cyan);background:#1c2a30;box-shadow:0 0 10px #85c7ff59;cursor:pointer}.grid-cell.reachable:not(:disabled):hover{background:#25404a}.grid-icon{pointer-events:none}.grid-piece{position:absolute;top:3px;right:3px;bottom:3px;left:3px;display:grid;place-items:center;border-radius:50%;font-size:13px;font-weight:950;pointer-events:none}.grid-piece.player{background:var(--cyan);color:#06121a;box-shadow:0 0 10px #85c7ff99}.grid-piece.rival{background:var(--bad);color:#1a0606;box-shadow:0 0 10px #ff747499}.connectors{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.connectors line{stroke:#8c7440;stroke-width:6;stroke-linecap:round}.connectors .reachable-line{stroke:#85c7ff;filter:drop-shadow(0 0 5px rgba(133,199,255,.45))}.board-node{position:absolute;width:116px;height:86px;display:grid;grid-template-rows:34px 1fr;place-items:center;gap:4px;padding:7px;border-width:2px;background:#202521;line-height:1.1;image-rendering:pixelated;box-shadow:0 8px #00000047;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease}.board-node:disabled{cursor:not-allowed;opacity:1}.board-node.visited{border-color:#6f7c6f;background:#263027;color:#b8c4b6}.board-node.current{outline:3px solid var(--accent);border-color:var(--accent);background:#34311f;color:var(--accent);box-shadow:0 0 0 4px #f1c76a29,0 0 22px #f1c76a61}.board-node.reachable{border-color:var(--cyan);background:#18313c;color:var(--cyan);box-shadow:0 0 0 3px #85c7ff33;transform:translateY(-3px)}.board-node>span:last-child{font-size:14px}.node-icon{display:grid;place-items:center;width:34px;height:34px;border:2px solid currentColor;border-radius:6px;background:#0e100f;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:18px;font-weight:950;line-height:1}.board-node.hazard:not(.visited):not(.current):not(.reachable){background:#302b20;color:#ffd36a}.board-node.enemy:not(.visited):not(.current):not(.reachable){background:#322;color:#ff8a8a}.board-node.breakroom:not(.visited):not(.current):not(.reachable){background:#203629;color:#7edc91}.board-node.treasure:not(.visited):not(.current):not(.reachable){background:#37311f;color:#f1c76a}.board-node.event:not(.visited):not(.current):not(.reachable){background:#243329;color:#7edc91}.board-node.system:not(.visited):not(.current):not(.reachable){background:#2c2640;color:#bda0ff}.board-node.helper:not(.visited):not(.current):not(.reachable){background:#20313a;color:#85c7ff}.board-node.boss:not(.visited):not(.current):not(.reachable){background:#432222;color:#ff7474}.board-node.final:not(.visited):not(.current):not(.reachable){background:#223827;color:#7edc91}.board-node.vending:not(.visited):not(.current):not(.reachable){background:#173a27;color:#8bf0a3;border-color:var(--good);box-shadow:0 8px #00000047,0 0 16px #7edc9159}.board-node.vending .node-icon{color:#8bf0a3}.player-piece{position:absolute;z-index:5;width:44px;height:44px;display:grid;place-items:center;border:3px solid var(--accent);border-radius:50%;background:#090a09;box-shadow:0 0 16px #f1c76a85,0 10px 20px #00000061;pointer-events:none;transform:translate(-50%,-76%);transition:left .46s cubic-bezier(.2,.8,.2,1),top .46s cubic-bezier(.2,.8,.2,1),transform .22s ease;animation:piece-land .52s ease-in-out}.player-piece:after{content:"";position:absolute;inset:auto 6px -7px;height:8px;border-radius:50%;background:#0000007a;filter:blur(1px)}.player-piece img{width:36px;height:36px;border-radius:50%;object-fit:cover;image-rendering:pixelated}.rival-piece{position:absolute;z-index:5;display:grid;place-items:center;width:34px;height:34px;border:3px solid var(--bad);border-radius:50%;background:#1a0707;color:#ffb3b3;font-weight:950;box-shadow:0 0 14px #ff74748c;pointer-events:none;transform:translate(-50%,-60%);transition:left .42s ease,top .42s ease}@keyframes piece-land{0%{transform:translate(-50%,-84%) scale(.94)}60%{transform:translate(-50%,-76%) scale(1.08)}to{transform:translate(-50%,-76%) scale(1)}}.fork-badge{position:absolute;top:-10px;left:-10px;z-index:3;display:grid;place-items:center;width:26px;height:26px;border:2px solid var(--cyan);border-radius:50%;background:#071015;color:var(--cyan);font-weight:950;box-shadow:0 0 12px #85c7ff6b}.battle-badge{position:absolute;top:-10px;right:-10px;z-index:3;display:grid;place-items:center;width:24px;height:24px;border:2px solid var(--bad);border-radius:50%;background:#150707;color:var(--bad);font-size:12px;box-shadow:0 0 12px #ff74746b}.board-node.missed{opacity:.55;filter:grayscale(.5)}.missed-badge{position:absolute;bottom:-9px;right:-8px;z-index:3;padding:1px 6px;border:1px solid var(--muted);border-radius:999px;background:#14130d;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.support-grid{display:grid;grid-template-columns:minmax(300px,.8fr);justify-content:end;gap:12px}.panel,.report,.history{border:1px solid var(--line);border-radius:8px;background:#1d221ff0;padding:12px}.session-dialog{position:absolute;left:50%;z-index:12;width:min(980px,calc(100% - 64px));min-height:120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.54fr);gap:12px;border:3px solid var(--accent);border-radius:8px;background:linear-gradient(180deg,#14130d,#080a09);padding:12px;transform:translate(-50%);box-shadow:0 18px 48px #0000009e}.session-dialog.dock-top{top:24px}.session-dialog.dock-bottom{bottom:24px}.session-dialog.success{border-color:var(--good)}.session-dialog.fail{border-color:var(--bad)}.session-dialog.mode-quiz,.session-dialog.mode-battleSummary{grid-template-columns:1fr;width:min(860px,calc(100% - 64px));max-height:calc(100% - 48px);overflow:auto}.session-dialog.mode-quiz .dialog-copy,.session-dialog.mode-battleSummary .dialog-copy{display:none}.session-dialog.mode-quiz .dialog-controls,.session-dialog.mode-battleSummary .dialog-controls{border:0;background:transparent;padding:0;box-shadow:none}.dialog-copy{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:12px;min-height:92px}.dialog-image{width:86px;height:86px;border:2px solid var(--cyan);border-radius:6px;background:#0e100f;image-rendering:pixelated}.dialog-kicker{display:block;margin-bottom:7px;color:var(--accent);font-size:12px;font-weight:900;text-transform:uppercase}.dialog-copy h2{margin-bottom:8px;color:var(--text)}.dialog-copy p{margin-bottom:0;color:var(--muted);font-weight:700}.moves-left-chip{display:inline-block;margin:4px 0 2px;padding:2px 8px;border:1px solid var(--cyan);border-radius:999px;color:var(--cyan);font-size:11px;font-weight:800;text-transform:uppercase}.dialog-dock-button{margin-top:12px;min-height:34px;width:fit-content;border-color:#5d6f63;background:#1a211c;padding:6px 10px;color:var(--muted);font-size:12px}.tone-good{color:var(--good)!important}.tone-bad{color:var(--bad)!important}.dialog-controls{display:grid;align-content:start;gap:10px;border:1px solid #7a6536;border-radius:8px;background:#0a0c0b;padding:10px;box-shadow:inset 0 0 0 1px #f1c76a14,0 0 24px #f1c76a14}.roll-panel{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}.roll-panel p,.branch-actions p{max-width:34ch}.fork-choice-panel{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px}.branch-actions{display:grid;gap:8px}.notification-panel{display:grid;gap:10px}.notification-teaser{margin-bottom:0;color:var(--text);font-size:16px;font-weight:800}.notification-outcome-label{color:var(--accent);font-size:15px;text-transform:uppercase}.notification-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.notification-actions .notification-open{border-color:var(--cyan);color:var(--text)}.branch-actions p,.roll-panel p{margin-bottom:0}.dice-button,.dice-result{width:118px;height:96px;display:grid;place-items:center;gap:4px;border-color:var(--accent);background:#3a3321;color:var(--text);text-align:center}.dice-button span,.dice-result span{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--text);border-radius:8px;background:#111411;color:var(--accent);font-size:26px;line-height:1}.dice-button.rolling span{animation:dice-pop .16s infinite alternate ease-in-out}@keyframes dice-pop{0%{transform:rotate(-5deg) scale(.94)}to{transform:rotate(7deg) scale(1.05)}}.interaction-panel{display:grid;gap:10px}.interaction-header,.battle-top{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.battle-top .battle-portrait{flex:0 0 92px}.battle-top>div:nth-child(2){min-width:0;flex:1;text-align:center}.interaction-header span:last-child,.check-note{color:var(--muted);font-size:13px}.encounter-type,.battle-label{display:inline-flex;width:fit-content;border:1px solid var(--line);border-radius:999px;padding:4px 8px;color:var(--accent);font-size:12px;font-weight:800;text-transform:uppercase}.action-choice{display:grid;gap:4px;min-height:58px;padding:10px;text-align:left}.action-choice span{color:var(--cyan);font-size:12px}.bypass-choice{border-color:var(--cyan);border-style:dashed}.bypass-choice.rolling strong{color:var(--accent)}.bypass-choice:disabled{opacity:.7}.battle-start{min-height:50px}.check-panel{display:grid;gap:10px}.check-card,.check-math,.check-result{border:1px solid var(--line);border-radius:8px;background:#0e100fd1;padding:10px}.check-card{display:grid;gap:6px}.check-card p,.check-result{margin-bottom:0;color:var(--muted);font-weight:700}.check-math{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}.check-math .dice-result{width:82px;height:74px}.check-panel.success .check-card,.check-panel.success .check-result{border-color:#80e0979e}.check-panel.fail .check-card,.check-panel.fail .check-result{border-color:#ff74749e}.check-panel.fail{animation:damage-pulse .26s ease-in-out 2}.battle-prep{display:grid;gap:10px}.battle-prep-rules,.prep-powerups,.prep-actions{display:grid;gap:8px}.battle-prep-rules{border:1px solid var(--line);border-radius:8px;background:#0e100fc7;padding:10px}.battle-prep-rules p{margin-bottom:0}.battle-prep-rules ul{display:grid;gap:5px;margin:0;padding-left:18px;color:var(--muted);font-size:13px;font-weight:700}.battle-prep-rules span{color:var(--accent);font-size:12px;font-weight:900}.battle-summary{display:grid;gap:10px}.battle-result-stage{display:grid;grid-template-columns:92px minmax(74px,1fr) 92px;align-items:end;gap:12px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#85c7ff14,#0000001a),#111411;padding:12px}.result-stamp{align-self:center;justify-self:center;min-width:78px;border:3px solid currentColor;border-radius:8px;padding:8px 10px;background:#0e100f;color:var(--accent);font-size:22px;font-weight:950;text-align:center;text-transform:uppercase;opacity:0;transform:translateY(8px) scale(.72) rotate(-4deg);animation:result-stamp-in .52s .82s cubic-bezier(.18,.9,.2,1.25) forwards}.result-stamp.win{color:var(--good);box-shadow:0 0 22px #7edc9147}.result-stamp.loss{color:var(--bad);box-shadow:0 0 22px #ff747447}@keyframes result-stamp-in{0%{opacity:0;transform:translateY(8px) scale(.72) rotate(-4deg)}70%{opacity:1;transform:translateY(-2px) scale(1.08) rotate(2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.battle-summary-head,.summary-card,.stat-delta{border:1px solid var(--line);border-radius:8px;background:#0e100fd1;padding:10px}.battle-summary-head{display:grid;gap:6px}.battle-summary-head p{margin-bottom:0;color:var(--muted);font-weight:700}.battle-summary.win .battle-summary-head{border-color:#80e0979e}.battle-summary.loss .battle-summary-head{border-color:#ff74749e}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.summary-card{display:grid;gap:4px}.summary-card span,.stat-delta span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.summary-card strong,.stat-delta strong{color:var(--text)}.stat-delta-list{display:grid;gap:6px}.stat-delta{display:grid;grid-template-columns:minmax(86px,1fr) auto 44px;align-items:center;gap:8px;opacity:0;transform:translateY(7px);animation:summary-rise .26s ease-out forwards}.stat-delta em{color:var(--muted);font-style:normal;font-weight:900;text-align:right}.stat-delta.gain em{color:var(--good)}.stat-delta.loss em{color:var(--bad)}@keyframes summary-rise{to{opacity:1;transform:translateY(0)}}.side-stack{display:grid;gap:12px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stats-row b{color:var(--accent)}.stat-bars{display:grid;gap:10px}.stat-item-icons{display:flex;flex-wrap:wrap;gap:6px;border:1px solid var(--line);border-radius:8px;background:#0e100fb8;padding:7px}.stat-item-icon{display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--line);border-radius:6px;background:#0e100f;color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;font-weight:950}.stat-item-icon.equipment,.stat-item-icon.consumable{border-color:var(--good);color:var(--good)}.stat-item-icon.curse{border-color:var(--bad);color:var(--bad)}.stat-bar{display:grid;gap:5px}.stat-bar-top{display:flex;justify-content:space-between;gap:8px;font-size:13px}.stat-bar-top strong{color:var(--text)}.stat-bar-top span{color:var(--accent);font-weight:900;font-variant-numeric:tabular-nums}.stat-track{height:12px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#0e100f}.stat-track span{display:block;height:100%;max-width:100%;border-radius:inherit;background:linear-gradient(90deg,var(--bad),var(--accent),var(--good))}.stat-bar small{color:var(--muted);font-size:11px}.flags{display:flex;flex-wrap:wrap;gap:6px}.inventory-list{display:grid;gap:8px}.inventory-item{display:grid;gap:3px;border:1px solid var(--line);border-radius:8px;background:#0e100fb8;padding:8px}.inventory-item strong{color:var(--text)}.inventory-item span{color:var(--cyan);font-size:12px;font-weight:800;text-transform:uppercase}.inventory-item small{font-size:12px}.inventory-item.curse{border-color:#ff7474ad}.inventory-item.curse span{color:var(--bad)}.inventory-item.equipment{border-color:#7edc9194}.inventory-item.equipment span{color:var(--good)}.acquisition-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:#0000009e;padding:20px}.acquisition-card{width:min(620px,100%);display:grid;grid-template-columns:94px minmax(0,1fr);align-items:center;gap:14px;border:3px solid var(--good);border-radius:8px;background:linear-gradient(180deg,#7edc9114,#ffffff04),#080a09fa;padding:16px;box-shadow:0 22px 60px #000000ad;animation:acquisition-pop .28s ease-out both}.acquisition-card.curse{border-color:var(--bad);background:linear-gradient(180deg,#ff74741a,#ffffff04),#080a09fa}.acquisition-card h2{margin-bottom:8px}.acquisition-card p{margin-bottom:8px;color:var(--muted);font-weight:700}.acquisition-card button{grid-column:1 / -1}.acquisition-icon{display:grid;place-items:center;width:86px;height:86px;border:3px solid currentColor;border-radius:8px;background:#0e100f;color:var(--good);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:42px;font-weight:950;box-shadow:0 0 24px #7edc913d}.acquisition-card.curse .acquisition-icon{color:var(--bad);box-shadow:0 0 24px #ff74743d}@keyframes acquisition-pop{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.log{max-height:128px;overflow:auto;padding-right:4px}.log p{margin-bottom:7px;font-size:13px}.muted{color:var(--muted)}.quiz{display:grid;gap:8px}.button-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.results-screen{display:grid;gap:12px}.end-day-report{position:relative;overflow:hidden;display:grid;grid-template-columns:130px minmax(0,1fr) minmax(180px,.45fr);align-items:center;gap:16px;border:3px solid var(--good);border-radius:8px;background:linear-gradient(180deg,#17271b,#0b0e0c);padding:18px;box-shadow:0 18px 48px #0000008a;animation:end-report-rise .36s ease-out both}.results-screen.fail .end-day-report{border-color:var(--bad);background:linear-gradient(180deg,#2b1717,#0b0e0c)}.end-avatar{position:relative;z-index:1;width:122px;height:122px;display:grid;place-items:center;border:3px solid var(--good);border-radius:8px;background:#101410;box-shadow:0 0 28px #7edc9147}.end-avatar.sad{border-color:var(--bad);box-shadow:0 0 28px #ff74743d}.end-avatar img{width:106px;height:106px;image-rendering:pixelated;animation:avatar-happy .82s ease-in-out infinite}.end-avatar.sad img{animation:avatar-sad .76s ease-in-out infinite}.end-copy{position:relative;z-index:1}.end-copy h2{margin-bottom:6px;font-size:34px}.end-copy p{margin-bottom:0;font-size:18px;font-weight:800}.score-card{position:relative;z-index:1;display:grid;gap:2px;border:2px solid var(--accent);border-radius:8px;background:#15130d;padding:14px;text-align:center}.score-card span,.score-card small{color:var(--muted);font-weight:800}.score-card strong{color:var(--accent);font-size:42px;line-height:1}.shift-goals{position:relative;z-index:1;grid-column:1 / -1;display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:#151916;padding:12px}.shift-goals ul{display:grid;gap:6px;list-style:none}.shift-goals li{display:grid;gap:2px;border-left:3px solid var(--line);padding-left:10px}.shift-goals li.met{border-left-color:var(--good)}.shift-goals li.missed{opacity:.55}.shift-goals li strong{color:var(--text)}.shift-goals li span{color:var(--muted);font-size:12px}.result-metrics{position:relative;z-index:1;grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.result-metrics span{border:1px solid var(--line);border-radius:8px;background:#151916;padding:10px;color:var(--muted);font-weight:800}.result-metrics strong{display:block;color:var(--text);font-size:22px}.raw-summary{position:relative;z-index:1;grid-column:1 / -1;border:1px solid var(--line);border-radius:8px;background:#101311;padding:10px}.raw-summary summary{cursor:pointer;color:var(--accent);font-weight:900}.end-day-report .button-row{position:relative;z-index:1;grid-column:1 / -1}.success-burst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.success-burst span{--burst-index: 0;position:absolute;top:50%;left:50%;width:10px;height:18px;border-radius:3px;background:var(--accent);transform:rotate(calc(var(--burst-index) * 25deg)) translateY(-20px);animation:success-burst 1.1s ease-out both;animation-delay:calc(var(--burst-index) * 28ms)}.success-burst span:nth-child(3n){background:var(--good)}.success-burst span:nth-child(4n){background:var(--cyan)}.results-screen.fail .success-burst span{background:var(--bad);animation-name:fail-drift}@keyframes end-report-rise{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes success-burst{0%{opacity:0;transform:rotate(calc(var(--burst-index) * 25deg)) translateY(-20px) scale(.5)}18%{opacity:1}to{opacity:0;transform:rotate(calc(var(--burst-index) * 25deg)) translateY(-230px) scale(1)}}@keyframes fail-drift{0%{opacity:0;transform:rotate(calc(var(--burst-index) * 25deg)) translateY(-20px) scale(.5)}20%{opacity:.9}to{opacity:0;transform:rotate(calc(var(--burst-index) * 25deg)) translateY(180px) scale(.7)}}.battle{gap:12px;width:100%;border:1px solid #7b5440;border-radius:8px;padding:12px;background:linear-gradient(180deg,#ff747417,#f1c76a0a),#151716}.battle h3{margin:6px 0 0;font-size:24px;overflow-wrap:anywhere}.battle-portrait{position:relative;flex:0 0 auto;width:92px;min-height:116px;display:grid;grid-template-rows:84px auto;align-items:end;gap:4px;justify-items:center}.battle-portrait img{width:84px;height:84px;border:2px solid var(--line);border-radius:8px;background:#101010;image-rendering:pixelated;transition:border-color .18s ease,filter .18s ease,transform .18s ease,box-shadow .18s ease}.battle-portrait span{width:100%;overflow:hidden;color:var(--muted);font-size:11px;font-weight:800;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.battle-portrait.happy img{border-color:var(--good);filter:saturate(1.35) brightness(1.08);box-shadow:0 0 16px #7edc9157;animation:avatar-happy .42s ease}.battle-portrait.sad img{border-color:var(--bad);filter:saturate(.65) contrast(1.08);box-shadow:0 0 16px #ff74744d;animation:avatar-sad .36s ease}.battle-portrait.fallen img{transform-origin:50% 100%;animation:avatar-fall .9s .26s cubic-bezier(.2,.7,.16,1) forwards}.battle-portrait.fallen .mood-badge{animation:badge-fall .9s .26s cubic-bezier(.2,.7,.16,1) forwards}.mood-badge{position:absolute;top:-7px;right:-5px;display:grid;place-items:center;min-width:28px;height:22px;border:1px solid var(--line);border-radius:999px;background:#0e100f;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1}.battle-portrait.happy .mood-badge{border-color:var(--good);color:var(--good)}.battle-portrait.sad .mood-badge{border-color:var(--bad);color:var(--bad)}@keyframes avatar-happy{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-5px) scale(1.04)}to{transform:translateY(0) scale(1)}}@keyframes avatar-sad{0%{transform:translate(0)}30%{transform:translate(-4px)}60%{transform:translate(4px)}to{transform:translate(0)}}@keyframes avatar-fall{0%{transform:translateY(0) scale(1) rotate(0);opacity:1}44%{transform:translateY(18px) scale(.82) rotate(-6deg);opacity:1}to{transform:translateY(32px) scale(.38) rotate(-10deg);opacity:.68}}@keyframes badge-fall{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(28px) scale(.55);opacity:.55}}.timer-readout{min-width:58px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;text-align:center;color:var(--accent);font-weight:900;font-variant-numeric:tabular-nums}.timer-track{height:10px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#0e100f}.timer-stack{display:grid;gap:6px}.bonus-time{display:grid;gap:4px}.bonus-time span{color:var(--good);font-size:11px;font-weight:900;text-transform:uppercase}.battle-composure{display:grid;gap:5px;border:1px solid var(--line);border-radius:8px;background:#0e100fc7;padding:8px}.battle-composure.damaged{border-color:var(--bad);animation:damage-pulse .26s ease-in-out 2}.battle-composure.enemy{border-color:#85c7ff8a}@keyframes damage-pulse{0%{transform:translate(0);background:#0e100fc7}35%{transform:translate(-5px);background:#ff747429}70%{transform:translate(5px);background:#ff74741f}to{transform:translate(0);background:#0e100fc7}}.battle-meter-label{display:flex;justify-content:space-between;gap:8px;font-size:12px}.battle-meter-label span,.battle-composure small{color:var(--bad);font-weight:900}.battle-meter{height:12px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#0e100f}.battle-meter span{display:block;height:100%;max-width:100%;background:linear-gradient(90deg,var(--bad),var(--accent),var(--good))}.battle-meter.enemy-meter span{background:linear-gradient(90deg,#3a263f,#8f5ec9,var(--cyan))}.timer-track span{display:block;height:100%;background:linear-gradient(90deg,var(--good),var(--accent),var(--bad));transition:width .2s ease}.timer-track.bonus span{background:linear-gradient(90deg,var(--good),#85c7ff)}.battle-feedback{margin:0;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#ffffff0a}.battle-feedback.correct{color:var(--good)}.battle-feedback.wrong,.battle-feedback.timeout{color:var(--bad)}.question-card{border:1px solid var(--line);border-radius:8px;padding:12px;background:#0e100fe6}.question-card span{display:block;margin-bottom:7px;color:var(--cyan);font-size:12px;font-weight:800;text-transform:uppercase}.question-card p{margin-bottom:0;color:var(--text);font-size:17px}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quiz-answer{display:flex;align-items:center;gap:9px;min-width:0;min-height:56px;padding:10px;text-align:left;overflow-wrap:anywhere}.quiz-answer span{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;color:var(--accent);font-size:12px}.quiz-answer.eliminated{position:relative;flex-wrap:wrap;opacity:.5;border-style:dashed;color:var(--muted);text-decoration:line-through;text-decoration-color:var(--bad);cursor:not-allowed}.quiz-answer.eliminated span{color:var(--muted);border-style:dashed}.answer-ruled-out{flex-basis:100%;margin-left:35px;color:var(--bad);font-size:11px;font-weight:800;font-style:normal;text-decoration:none;text-transform:uppercase}.wit-hint{display:block;margin-top:8px;color:var(--cyan);font-size:12px;font-weight:800;font-style:normal}.powerup-card.focus-read{border-color:var(--cyan);box-shadow:inset 0 0 0 1px #85c7ff2e}.powerup-card.focus-read:disabled{opacity:.6;cursor:default}.debug-tools{display:grid;gap:8px}.debug-row,.jump-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.jump-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.debug-tools button{min-height:34px;padding:6px;font-size:12px}.debug-tools .current-jump{border-color:var(--accent);color:var(--accent)}pre{white-space:pre-wrap;border:1px solid var(--line);border-radius:8px;padding:12px;background:#0e100f;color:var(--text)}.history{margin-top:12px}body.panel-debug [data-panel-id]{position:relative;outline:2px dashed var(--cyan);outline-offset:-3px}body.panel-debug [data-panel-id]:before{content:attr(data-panel-id);position:absolute;top:4px;left:4px;z-index:20;padding:2px 6px;border:1px solid var(--cyan);border-radius:6px;background:#050605;color:var(--cyan);font-size:11px;font-weight:800}@media (max-width: 900px){.app-header,.session-dialog,.support-grid{grid-template-columns:1fr;display:grid}.status-bar{grid-template-columns:repeat(2,1fr)}.pre-shift-card{grid-template-columns:1fr;justify-items:start}.pre-shift-roll{justify-items:start}.session-dialog{width:calc(100% - 32px);grid-template-columns:1fr}.dialog-controls{width:100%}.stats-row{grid-template-columns:repeat(2,1fr)}.answer-grid,.debug-row,.jump-grid{grid-template-columns:1fr}.battle-top{display:grid;grid-template-columns:84px 1fr 84px}.timer-readout{grid-column:1 / -1;justify-self:center}.battle-portrait{width:84px}.board-popup{top:16px;grid-template-columns:48px minmax(0,1fr)}.board-popup img{width:48px;height:48px}}.battle-input{display:grid;gap:10px;margin-top:8px}.quiz-answer.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.battle-text{width:100%;min-height:44px;padding:10px 12px;background:var(--panel, #10131a);border:1px solid var(--line);border-radius:8px;color:inherit;font:inherit}.battle-select{flex:1 1 auto;min-height:40px;padding:6px 10px;background:var(--panel, #10131a);border:1px solid var(--line);border-radius:8px;color:inherit}.numeric-row{display:flex;align-items:center;gap:8px}.numeric-unit{color:var(--muted);font-weight:600}.ordering-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ordering-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px}.ordering-rank{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);font-size:12px}.ordering-label{flex:1 1 auto}.ordering-controls{display:flex;gap:4px}.ordering-controls button{width:30px;min-height:30px;padding:0}.matching-grid{display:grid;gap:8px}.matching-row{display:flex;align-items:center;gap:10px}.matching-left{flex:0 0 45%;overflow-wrap:anywhere}.question-image{max-width:100%;max-height:180px;border-radius:8px;margin-top:6px}.self-check-model{padding:8px 10px;border-left:3px solid var(--accent);background:#ffffff0a;border-radius:4px}.mastery-panel{display:grid;gap:10px}.mastery-row{display:grid;gap:4px}.mastery-row-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.mastery-badge{font-size:11px;font-weight:700;color:var(--good, #4ade80);border:1px solid var(--good, #4ade80);border-radius:999px;padding:1px 8px}.mastery-count{font-size:12px;color:var(--muted)}.mastery-track{height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.mastery-track span{display:block;height:100%;background:var(--accent)}.mastery-row.mastered .mastery-track span{background:var(--good, #4ade80)}.path-card.test-out{border-color:var(--accent)}.student-hud{display:grid;gap:8px}.student-hud .hud-stat{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.student-hud .hud-stat span{color:var(--muted);font-size:12px}.student-hud .hud-stat strong{font-size:16px}.student-hud .hud-next{display:grid;gap:2px;margin-top:4px;padding-top:8px;border-top:1px solid var(--line)}.student-hud .hud-next span{color:var(--muted);font-size:12px}
