:root{--ink:#10262d;--paper:#f5f1e8;--cream:#fffdf8;--line:#d9d2c3;--orange:#e96f31;--blue:#0b5262;--gold:#f2bb40;--green:#167557;--red:#aa4235}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}.app-shell{max-width:1400px;margin:auto;padding:22px 28px;min-height:100vh}header{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:16px}.brand{font-weight:900;letter-spacing:.1em;margin-right:auto}.brand b{font-family:Georgia,serif;background:var(--orange);color:white;border-radius:50%;padding:5px 10px;margin-right:8px}.brand small{font-size:.62rem;color:#6b7472}.eyebrow{font-size:.7rem;font-weight:900;letter-spacing:.15em;color:var(--orange)}h1{font:clamp(3rem,6vw,5rem)/.9 Georgia,serif;margin:0}.intro{max-width:650px;color:#566466;line-height:1.5}.setup-grid,#gameView{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:16px;margin-top:38px}.panel,article{background:var(--cream);border:1px solid var(--line);padding:22px}.panel{min-height:330px}.panel h2{font:1.5rem Georgia,serif}.panel p{font-size:.87rem;line-height:1.5;color:#536163}.panel label{display:block;font-size:.75rem;font-weight:bold;margin:12px 0}input{width:100%;padding:9px;border:1px solid var(--line);background:white;margin-top:4px}.upload{display:block;border:2px dashed #98aeb0;padding:35px 10px!important;text-align:center;color:var(--blue);cursor:pointer}.upload input{display:none}.status{font-size:.78rem!important}details{font-size:.76rem;color:#5e6b6d}.primary,.correct,.pass{border:0;color:#fff;padding:13px 16px;font-weight:bold;cursor:pointer}.primary{background:var(--blue);width:100%;margin-top:14px}.hidden{display:none!important}#gameView{grid-template-columns:240px minmax(0,1fr) 220px;margin-top:24px}.stage{text-align:center}.meta{display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.12em;color:#697775;font-weight:bold}.value{width:132px;height:132px;border-radius:50%;background:var(--gold);box-shadow:inset 0 0 0 9px #ffe5a0;margin:20px auto 10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.value small{font-size:.56rem;font-weight:bold;letter-spacing:.12em}.value strong{font:4rem/.9 Georgia,serif}.stage h2{font-size:1rem}.stage article{min-height:180px;display:grid;place-items:center;font:clamp(1.3rem,2.5vw,2.05rem)/1.3 Georgia,serif}.answer{border-left:4px solid var(--green);background:#e7f2ed;padding:12px;text-align:left;margin:12px 0}.answer small,.answer b,.answer span{display:block}.answer small{color:var(--green);font-size:.65rem;font-weight:bold;letter-spacing:.1em}.answer span{font-size:.75rem;color:#516661;margin-top:4px}.timer{display:flex;justify-content:center;align-items:center;gap:8px;margin:14px;flex-wrap:wrap}.timer button{cursor:pointer;padding:8px;border:1px solid var(--line);background:white}.timer #timerButton{border-radius:50%;width:74px;height:74px;background:var(--ink);color:#fff;display:flex;flex-direction:column}.timer #timerDisplay{font-size:1.6rem}.timer label{font-size:.72rem;text-align:left}.timer input{width:55px;padding:6px;margin-left:3px}#gameControls{display:flex;justify-content:center;gap:10px;margin-top:20px}.correct{background:var(--green)}.pass{background:var(--red)}#gameControls button:last-child,header button,#backSetup{border:1px solid var(--line);background:transparent;padding:9px;cursor:pointer}kbd{background:rgba(255,255,255,.2);padding:2px 4px}.hint,aside p{font-size:.75rem;color:#687575;line-height:1.45}.score-row{border-bottom:1px solid var(--line);padding:11px 0;display:flex;justify-content:space-between}.score-row.active{border-left:4px solid var(--orange);padding-left:8px}.score-row small{display:block;color:#6e7979;font-size:.63rem;margin-top:4px}.score-row strong{font:1.6rem Georgia,serif}.track{height:6px;background:#ddd7cb}.track i{display:block;height:100%;background:var(--orange);width:0}.route-step{border:1px solid var(--line);padding:10px;font-size:.8rem;margin:7px 0}.route-step.current{background:var(--blue);color:#fff}.route-step.done{opacity:.45;text-decoration:line-through}@media(max-width:850px){.setup-grid,#gameView{grid-template-columns:1fr}.stage{order:-1}.app-shell{padding:16px}header{flex-wrap:wrap}.brand{width:100%}}
