:root{color-scheme:dark;--ink:#eaf2ef;--muted:#9caeba;--line:#304553;--mint:#b7dfb0;--bg:#0d1823}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 35%,#243d46 0,#111e2d 45%,#0b1520 100%);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}button,input,summary{font:inherit}button{cursor:pointer;border:1px solid #415562;background:#213341;color:var(--ink);border-radius:11px;padding:11px 16px;min-height:46px;transition:background .15s,transform .15s}button:hover:enabled{background:#304a58;transform:translateY(-1px)}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,#stage:focus-visible{outline:3px solid #eec772;outline-offset:4px}a{color:inherit}.shell{max-width:1240px;margin:auto;padding:0 36px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;border-bottom:1px solid #ffffff12}.brand{text-decoration:none;letter-spacing:.14em;font-size:.8rem;font-weight:650;display:flex;align-items:center;gap:12px}.brand-icon{font-size:30px;color:var(--mint)}.edition{font-size:.68rem;letter-spacing:.2em;color:#9fb3b9}.intro{text-align:center;padding:35px 12px 22px}.eyebrow{color:var(--mint);font-size:.68rem;letter-spacing:.22em;margin:0 0 9px}h1{font-weight:450;font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.06em;line-height:1.1;margin:0}h1 span{color:var(--mint)}.intro>p:last-child{color:var(--muted);font-size:.94rem;margin:13px 0 0}.game{max-width:980px;margin:auto;background:linear-gradient(150deg,#ffffff06,#ffffff01);border:1px solid #ffffff15;border-radius:24px;box-shadow:0 30px 90px #0003;overflow:hidden}.game-top{padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff09}#mode-label{font-size:.65rem;letter-spacing:.13em;color:#b9cdcd}#mode-label i{display:inline-block;height:7px;width:7px;border-radius:50%;background:var(--mint);margin-right:8px;box-shadow:0 0 12px #b7dfb055}.counters{display:flex;gap:28px}.counters span{display:flex;gap:10px;align-items:center}.counters small{font-size:.6rem;letter-spacing:.15em;color:#93a6b4}.counters b{font-size:.9rem;font-weight:500;font-variant-numeric:tabular-nums}#stage{position:relative;height:clamp(300px,48vh,490px);min-height:300px;touch-action:none;isolation:isolate;overflow:hidden;cursor:grab}#stage:active{cursor:grabbing}canvas{position:relative;display:block;width:100%;height:100%;z-index:1}.stage-glow{position:absolute;inset:15% 12%;background:radial-gradient(ellipse,#79bfab20,transparent 66%);pointer-events:none}.stage-tag{position:absolute;bottom:20px;left:28px;font-size:.8rem;color:#d2e5dc}.stage-tag span{display:block;color:#758e9b;font-size:.52rem;letter-spacing:.2em;margin-top:3px}.below{padding:0 28px 22px}#status{text-align:center;color:#c3d6d1;font-size:.9rem;min-height:26px;margin:0 0 17px}.actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.primary{background:var(--mint);color:#1b362b;border-color:var(--mint);font-weight:650;min-width:190px}.primary:hover:enabled{background:#c9edc3}.primary span{font-size:1.1rem}.turn-panel{margin:22px auto 0;border-top:1px solid #ffffff12;max-width:720px;padding-top:13px}.turn-panel summary{cursor:pointer;font-size:.8rem;color:#bacbd0}.turn-panel summary span{font-size:.54rem;letter-spacing:.13em;color:#79909d;margin-left:8px}.face-row{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:12px 0}.face-row button{border-top:3px solid var(--face);padding:7px 8px;font-size:1rem;font-weight:600}.face-row small{display:block;font-size:.6rem;font-weight:400;color:#a7bbc5}.options{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.78rem;color:#afc3cc}.options label{display:flex;align-items:center;gap:8px;min-height:40px}input{accent-color:var(--mint);width:18px;height:18px}.text-button{background:transparent;border:none;padding:4px 8px;font-size:.78rem;color:#b7dfb0}.how{color:#8da3af;font-size:.73rem;text-align:center;line-height:1.9;margin:17px 0 0}.how span{color:#718996}footer{max-width:880px;margin:22px auto 30px;text-align:center;color:#69848f}footer>span{font-size:.58rem;letter-spacing:.2em}footer details{font-size:.72rem;margin:13px auto;max-width:650px}footer summary{cursor:pointer}footer p{line-height:1.7;color:#a2b7bf}#load-error{position:absolute;inset:25%;z-index:3;padding:20px;background:#172b35;border-radius:12px;color:#f1c4aa}#stage.celebrate{box-shadow:inset 0 0 90px #b7dfb025}@media(max-width:650px){.shell{padding:0 12px}.edition{display:none}header{padding:16px 8px}.intro{padding:25px 8px 20px}.game{border-radius:18px}.game-top{padding:15px}.counters{gap:14px}.counters span{gap:5px}.below{padding:0 14px 18px}.actions{gap:7px}.actions button{padding:9px 12px;font-size:.82rem}.actions .primary{flex-basis:100%;min-width:0}.face-row{gap:5px}.face-row button{padding:6px 3px}.stage-tag{left:17px;bottom:15px}#stage{height:360px}.how{font-size:.65rem}#load-error{inset:12%}}@media(prefers-reduced-motion:reduce){button{transition:none}}
@keyframes solved-glow{0%,100%{box-shadow:inset 0 0 0 transparent}40%{box-shadow:inset 0 0 110px #b7dfb040}}#stage.celebrate{animation:solved-glow 2.2s ease-out}@media(prefers-reduced-motion:reduce){#stage.celebrate{animation:none}}
