.playing-page .site-header{display:none}
.playing-page .site-main{padding-top:0}
.playing-page .site-footer{display:none}
.game-shell{max-width:780px;margin:auto}
.game-top{display:flex;align-items:center;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line);margin-bottom:1.2rem}
.game-top>div{flex:1;min-width:0}
.game-top h1{font-size:1.05rem;margin:0;line-height:1.3}
.game-top .eyebrow{font-size:.75rem;margin:0 0 .15rem}
.game-top .badge{font-variant-numeric:tabular-nums;white-space:nowrap}
.game-back{display:grid;place-items:center;font-size:2rem;color:var(--muted);width:44px;height:44px;border:1px solid var(--line);border-radius:12px;flex-shrink:0}
.game-back:hover{background:var(--surface);text-decoration:none}
.game-intro{padding:2rem 0;text-align:center}
.game-intro .intro-formula{font-size:clamp(2.5rem,8vw,4.5rem);letter-spacing:-.055em;color:var(--cyan);margin:1.5rem 0;font-family:ui-monospace,monospace}
.game-intro h2{font-size:1.7rem}
.game-intro>p{max-width:500px;margin:1rem auto}
.game-intro .button{min-width:220px}
.game-instructions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin:1.5rem 0;font-size:.8rem;color:var(--muted)}
.game-instructions span{border:1px solid var(--line);padding:.4rem .7rem;border-radius:8px}
.game-progress{width:100%;height:5px;background:var(--surface-raised);border-radius:8px;overflow:hidden;margin-bottom:1rem}
.game-progress span{display:block;height:100%;background:var(--cyan);transition:width 180ms ease}
.game-status{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.5rem;min-height:46px}
.adaptive-tag{font-size:.76rem;color:var(--purple);min-width:0}
.adaptive-tag strong{display:block;font-weight:650}
.adaptive-tag span{color:var(--muted);font-size:.75rem}
.timer{font-variant-numeric:tabular-nums;font:700 1.35rem/1 ui-monospace,monospace;display:flex;align-items:center;justify-content:center;gap:.4rem;min-width:88px;padding:.6rem .7rem;background:var(--surface);border:1px solid var(--line);border-radius:9px;white-space:nowrap}
.timer::before{content:'◷';font-size:1.1rem;color:var(--muted)}
.timer.warning{color:var(--gold);border-color:var(--gold)}
.timer.urgent{color:var(--error);border-color:var(--error)}
.adaptive-note{min-height:2.5em;color:var(--muted);font-size:.76rem;line-height:1.35;margin:.5rem 0}
.puzzle{padding:.8rem 0 1rem;min-height:160px;display:flex;flex-direction:column;justify-content:center}
.puzzle h2{font-size:clamp(1.18rem,3vw,1.6rem);line-height:1.45;letter-spacing:-.025em;margin:.5rem 0}
.puzzle .question-context{font-size:.75rem;letter-spacing:.08em;color:var(--gold);text-transform:uppercase}
.puzzle .expression{font-size:clamp(1.8rem,7vw,3.3rem);font-weight:750;letter-spacing:-.05em;text-align:center;padding:1.2rem 0;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.unknown{color:var(--gold);border-bottom:2px solid var(--gold);padding:0 .15em}
.answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.answer{min-height:64px;padding:1rem .7rem;background:var(--surface);color:var(--ink);border:1px solid var(--line);font-size:1.2rem;position:relative;white-space:normal}
.answer:hover:not(:disabled){background:var(--surface-raised);border-color:var(--cyan)}
.answer:disabled{opacity:1;cursor:default;color:var(--muted)}
.answer.right{border:2px solid var(--success);background:#163b32;color:var(--success)}
.answer.wrong{border:2px solid var(--error);background:#392632;color:var(--error)}
.answer .answer-state{font-size:.8rem;margin-left:.5rem}
.operator-answers{grid-template-columns:repeat(3,minmax(0,1fr))}
.operator-answers .answer{font-size:1.7rem;min-height:62px;flex-direction:column;gap:.2rem}
.operator-answers .answer small{font-size:.75rem;font-weight:450;color:var(--muted)}
.feedback-slot{min-height:158px;padding-top:1rem}
.feedback{border-left:3px solid var(--success);padding:.2rem 0 .2rem 1rem;animation:appear 150ms ease}
.feedback.incorrect{border-color:var(--gold)}
.feedback h3{font-size:1.05rem;margin:0 0 .4rem;color:var(--success)}
.feedback.incorrect h3{color:var(--gold)}
.feedback p{font-size:.86rem;margin:0;line-height:1.5;color:var(--ink)}
.next-button{width:100%;margin-top:1rem;min-height:50px}
.save-status{font-size:.75rem;color:var(--muted);min-height:1.2em;margin:.4rem 0 0}
.operator-comparison{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;font: .78rem/1.5 ui-monospace,monospace;color:var(--muted)}
.operator-comparison .match{color:var(--success)}
.triangle-diagram{width:min(100%,290px);max-height:150px;margin:.25rem auto;display:block}
.triangle-diagram text{fill:var(--ink);font:17px system-ui}
.triangle-diagram .unknown-label{fill:var(--gold);font-weight:bold}
.puzzle-context-grid{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}
.puzzle-context-grid div{flex:1;padding:.8rem;border:1px solid var(--line);border-radius:9px;min-width:100px}
.puzzle-context-grid strong{display:block;font-size:1.4rem;color:var(--cyan);font-variant-numeric:tabular-nums}
.puzzle-context-grid span{font-size:.75rem;color:var(--muted)}
.proportion-table{max-width:400px;margin:1rem auto;text-align:center;font-size:1.1rem}
.proportion-table td{padding:.5rem 1rem}
.proportion-table tr:last-child td:last-child{color:var(--gold);font-weight:bold}
.game-result{text-align:center;padding:2rem 0}
.result-emblem{font-size:3rem;color:var(--gold)}
.game-result h2{font-size:2.1rem;margin:.5rem 0}
.result-score{font-size:4rem;letter-spacing:-.065em;font-weight:800;color:var(--cyan);line-height:1.3}
.result-score small{font-size:1.5rem;color:var(--muted)}
.game-result .stats-strip{text-align:left;margin:2rem 0}
.game-result .actions{justify-content:center}
.ranking-list{text-align:left;list-style:none;padding:0;margin:1rem 0}
.ranking-list li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem;border-bottom:1px solid var(--line);font-size:.85rem}
.ranking-list .is-me{background:var(--surface);color:var(--gold)}
.album-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}
.album-overview strong{display:block;font-size:1.5rem;font-variant-numeric:tabular-nums}
.album-overview span{font-size:.75rem;color:var(--muted)}
.pack-stage{border:1px solid var(--line);background:var(--surface);padding:1.5rem;border-radius:var(--radius);text-align:center;margin:1.5rem 0}
.pack-label{display:block;font-size:.75rem;letter-spacing:.15em;color:var(--gold)}
.pack-stage h2{margin:.7rem 0}
.pack-stage p{font-size:.85rem;margin-bottom:1.2rem}
.pack-stage button{width:100%;max-width:340px;background:var(--gold)}
.pack-note{font-size:.75rem;margin:.6rem 0 0!important}
.sticker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.sticker{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-height:140px;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;gap:.4rem;padding:.8rem .5rem;position:relative}
.sticker:hover{background:var(--surface-raised)}
.sticker.locked{border-style:dashed;color:var(--muted);background:transparent}
.sticker.rare{border-color:var(--gold);background:linear-gradient(150deg,#393224,var(--surface) 65%)}
.sticker .jersey-number{font-size:2.1rem;font-weight:850;font-variant-numeric:tabular-nums;color:var(--cyan);line-height:1.2}
.sticker.rare .jersey-number{color:var(--gold)}
.sticker strong{font-size:.75rem;line-height:1.2}
.sticker small{font-size:.75rem;font-weight:500;color:var(--muted)}
.sticker .sticker-status{font-size:.75rem;color:var(--success)}
.sticker.locked .jersey-number{color:var(--muted);opacity:.3}
.pack-reveal{margin:1.3rem 0;animation:appear 180ms ease}
.album-math{display:grid;gap:1rem}
.album-math .stat{padding-left:1rem}
.album-math .stat strong{font-size:1.25rem}
.sticker-detail{text-align:center}
.sticker-detail img{max-width:100%;height:200px;object-fit:contain;border-radius:12px}
.sticker-detail .jersey-number{font-size:4rem;color:var(--gold)}
.sticker-detail p{font-size:.95rem}
.simulation-stage{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:1rem 0}
.simulation-stage svg{width:100%;display:block;max-height:340px}
.sim-controls{display:grid;gap:1rem;margin:1.4rem 0}
.sim-controls label{margin:0}
.sim-controls label span{float:right;color:var(--cyan);font-variant-numeric:tabular-nums}
.sim-controls input[type=range]{display:block;min-height:44px;width:100%;accent-color:var(--cyan);margin:0;cursor:pointer}
.sim-status{min-height:5rem}
.sim-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.sim-metrics strong{font-size:1.1rem;color:var(--cyan);display:block}
.sim-metrics span{font-size:.75rem;color:var(--muted)}
.sim-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.sim-actions button{flex:1}
.sim-tip{font-size:.8rem;margin:.7rem 0}
.sim-legend{display:flex;justify-content:center;gap:1rem;font-size:.75rem;margin:.5rem;color:var(--muted)}
.sim-legend span:first-child{color:var(--gold)}
.sim-legend span:last-child{color:var(--cyan)}

@media(min-width:600px){.game-top{padding:1.3rem 0}
.game-top h1{font-size:1.3rem}
.game-shell{padding-bottom:2rem}
.puzzle{min-height:190px}
.answer{min-height:74px}
.game-intro{padding:3rem 1rem}
.album-overview{grid-template-columns:repeat(4,minmax(0,1fr))}
.sticker-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.album-math{grid-template-columns:1fr 1fr}
.operator-comparison{grid-template-columns:repeat(3,minmax(0,1fr))}
.sim-controls{grid-template-columns:1fr 1fr 1fr}
}

@media(max-width:380px){.game-top{gap:.5rem}
.game-top .badge{font-size:.75rem;padding:.3rem}
.game-top h1{font-size:.9rem}
.puzzle .expression{font-size:1.65rem}
.answer{padding:.65rem}
.game-status{margin-bottom:0}
.puzzle{min-height:140px}
.operator-answers .answer{min-height:56px}
}


h1,h2,h3,p,.message{overflow-wrap:anywhere}
.game-card,.chart,.panel,.stat{min-width:0}
button,.button{overflow-wrap:anywhere}
[data-large-text] .operator-answers{grid-template-columns:repeat(2,minmax(0,1fr))}
