:root{color-scheme:dark;--ink:#f5efdc;--muted:#a9b8ba;--gold:#edc581}*{box-sizing:border-box}body{margin:0;background:#101c23;color:var(--ink);font-family:Arial,sans-serif;background-image:radial-gradient(ellipse at 10% 0%,#2a3d3a,transparent 65%)}main{max-width:1280px;margin:auto;padding:26px 40px}button,select{font:inherit}button{border:1px solid #63777580;border-radius:9px;background:#24363c;color:var(--ink);padding:10px 16px;cursor:pointer;transition:background .15s}button:hover{background:#3c5358}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #e9c580;outline-offset:3px}header{display:flex;align-items:center;gap:24px;border-bottom:1px solid #53625e66;padding-bottom:24px}.brand{text-decoration:none;color:var(--gold);letter-spacing:3px;font-size:18px;white-space:nowrap}.brand i{font-family:Georgia;font-weight:400;color:#8ca6ac}.meta{font-size:10px;letter-spacing:2px;color:var(--muted);flex:1}header button{font-size:12px}.intro{display:flex;justify-content:space-between;align-items:center;padding:34px 0 28px}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:2.5px;color:var(--gold)}h1{font:normal 48px/1.1 Georgia,serif;margin:10px 0 14px}p{color:var(--muted);line-height:1.65;font-size:14px;margin:0}.progress{display:grid;gap:10px;text-align:right}.progress strong{font:normal 35px Georgia;color:var(--gold)}.progress span{font-size:9px;letter-spacing:2px;color:var(--muted)}.game-shell{border:1px solid #72817a66;border-radius:15px;overflow:hidden;background:#16272e;box-shadow:0 24px 80px #0004}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;gap:18px;min-height:62px}.toolbar label{font-size:10px;letter-spacing:2px;color:var(--gold);display:flex;align-items:center;gap:8px}select{color:var(--ink);background:#21343b;border:1px solid #61716b88;border-radius:7px;padding:8px;max-width:220px}#hint{font-size:12px;color:var(--muted);flex:1;text-align:center}.toolbar button{font-size:11px;padding:8px 12px}#stage{position:relative;aspect-ratio:2/1;background:#24383e}#game{width:100%;height:100%;position:absolute}canvas{display:block} .overlay{position:absolute;inset:0;background:#10212899;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(5px)}.overlay[hidden]{display:none}.card{text-align:center;padding:25px 32px;background:#152c32f2;border:1px solid #bed0a455;border-radius:16px;box-shadow:0 20px 60px #0004;max-height:98%;overflow:auto}.card h2{font:normal 35px/1.15 Georgia;margin:12px 0 18px}.card p{font-size:13px}.card button{background:var(--gold);color:#213432;font-weight:bold;margin-top:20px;border:0}.controls{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:12px}.controls>span{font-size:9px;letter-spacing:1px;color:#b0c0bb}.controls b{padding:0 8px;color:#697d7b}.control-pair{display:flex;gap:7px}.control-pair button{touch-action:none;user-select:none;font-size:14px;min-width:44px}.control-pair button:active{background:#688480}footer{display:flex;justify-content:space-between;gap:25px;padding:20px 0;color:var(--muted);font-size:11px}details{max-width:450px;text-align:right}summary{cursor:pointer;color:var(--gold)}details p{font-size:11px;padding-top:12px}a{color:var(--gold)}@media(max-width:750px){main{padding:16px 12px}header{padding-bottom:15px;gap:10px}.meta{display:none}.brand{font-size:14px;flex:1}.intro{padding:24px 4px 20px}h1{font-size:35px}.intro p{font-size:12px}.progress strong{font-size:26px}.progress span{font-size:8px}.toolbar{padding:9px;gap:8px;flex-wrap:wrap}#hint{order:3;flex-basis:100%;font-size:11px}.toolbar label{font-size:9px}select{max-width:185px;font-size:12px}.controls{padding:10px;gap:8px}.controls>span{display:none}.control-pair button{padding:12px;font-size:13px}#stage{min-height:220px}.card{padding:12px 20px}.card h2{font-size:24px;margin:8px 0}.card p{font-size:11px;line-height:1.4}.card button{margin-top:10px;padding:10px}.eyebrow{font-size:8px}footer{font-size:10px;display:block}details{text-align:left;margin-top:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(max-width:750px){#stage{width:100%;height:220px;min-height:0;aspect-ratio:auto}.intro{gap:12px}.intro h1{font-size:32px}.intro p br{display:none}.progress{min-width:74px}.controls .control-pair button{padding:12px 10px}}
