*{box-sizing:border-box}:root{color-scheme:dark;--bg:#090f20;--panel:#101b30;--muted:#94a6bc;--mint:#67f5cf;--gold:#ffc969}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 15% 10%,#12323c99,transparent 50%),radial-gradient(ellipse at 90% 90%,#25204988,transparent 55%),var(--bg);font-family:Tahoma,Arial,sans-serif;color:#eff8fc;line-height:1.7}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.45}button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}#game-root{max-width:660px;margin:auto;padding:28px 24px 20px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.brand{display:flex;gap:12px;align-items:center;font-size:23px;font-weight:700}.brand small{display:block;font-size:10px;letter-spacing:.3px;color:var(--muted);font-weight:400}.brand-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid #67f5cf44;border-radius:14px;background:#67f5cf0c;color:var(--mint);font-size:32px}.tools{display:flex;gap:8px}.icon{border:1px solid #33415a;background:#142037;color:#d5e4ec;border-radius:12px;width:42px;height:42px;font-size:22px}.icon[aria-pressed=true]{color:var(--mint);border-color:var(--mint)}.dashboard{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:10px;margin-bottom:20px}.dashboard>div{padding:12px 8px;text-align:center;border:1px solid #30415980;background:#14203680;border-radius:14px}.dashboard small{display:block;color:var(--muted);font-size:11px}.dashboard strong{font-size:23px;font-weight:400;font-variant-numeric:tabular-nums}#moves{color:var(--gold)}.workspace{background:linear-gradient(135deg,#17253ae6,#10182ce6);padding:24px;border:1px solid #31405c99;border-radius:24px;box-shadow:0 24px 80px #0004}.board-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.eyebrow{font-family:Arial,sans-serif;font-size:9px;letter-spacing:3px;color:var(--mint)}h1{font-size:21px;margin:4px 0 0}.status{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.status i{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px #67f5cf80}.board-wrap{padding:10px;background:#070e1b;border:1px solid #28374e;border-radius:17px}#board{display:grid;direction:ltr;gap:7px;aspect-ratio:1;grid-template-columns:repeat(var(--size,3),1fr)}.tile{position:relative;min-width:0;border:1px solid #25354c;border-radius:10px;background:linear-gradient(135deg,#1c2b40,#132035);padding:0;aspect-ratio:1;color:#52647c;transition:background .2s,border-color .2s;overflow:hidden}.tile:hover:not(:disabled){background:#21364b;border-color:#738398}.tile:disabled{opacity:1}.tile.lit{color:var(--mint);background:linear-gradient(135deg,#173b3b,#142c35);border-color:#397269}.tile.source{color:var(--gold);border-color:#997545;background:linear-gradient(135deg,#443b29,#252936)}.rotor{position:absolute;inset:0;transition:transform .18s ease}.arm{position:absolute;background:currentColor;box-shadow:0 0 10px currentColor;opacity:.8}.arm.n,.arm.s{width:7%;height:51%;left:46.5%}.arm.n{top:0}.arm.s{bottom:0}.arm.e,.arm.w{height:7%;width:51%;top:46.5%}.arm.e{right:0}.arm.w{left:0}.node{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24%;height:24%;border:3px solid;background:#112234;border-radius:50%;box-shadow:0 0 0 5px #10233399}.source .node{background:var(--gold);box-shadow:0 0 20px #ffc96977}.lit:not(.source) .node{background:#387a70}.progress{height:4px;background:#28364a;border-radius:4px;margin-top:20px;overflow:hidden}.progress span{display:block;background:var(--mint);height:100%;width:0;transition:width .25s;box-shadow:0 0 12px var(--mint)}.message{text-align:center;font-size:12px;color:#b8c9d7;min-height:24px;margin:15px 0}.actions{display:flex;gap:10px}.secondary{flex:1;border:1px solid #3a4961;background:#1c2b41;color:#e2edf6;padding:10px 5px;border-radius:10px;font-size:12px}.secondary small{font-size:10px;color:var(--muted);margin-right:5px}footer{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);padding:17px 4px}.legend-dot{width:7px;height:7px;border-radius:50%}.source-dot{background:var(--gold)}.lit-dot{background:var(--mint);margin-right:12px}.footer-tip{margin-right:auto}.overlay{position:fixed;inset:0;z-index:10;background:#040917d9;backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px;overflow:auto}.overlay[hidden]{display:none}.dialog{width:min(100%,420px);padding:30px;border:1px solid #435570;border-radius:25px;background:radial-gradient(ellipse at top,#234249,#142035 65%);text-align:center;box-shadow:0 30px 100px #0007;outline:none}.dialog-symbol{width:72px;height:72px;margin:0 auto 16px;display:grid;place-items:center;background:#67f5cf12;border:1px solid #67f5cf55;border-radius:23px;color:var(--mint);font-size:48px}h2{font-size:27px;margin:10px 0}.dialog p{font-size:13px;color:#bacbd8;line-height:2}.tutorial{text-align:right;background:#08162670;border:1px solid #30465b;border-radius:14px;padding:14px;margin:20px 0;font-size:11px}.tutorial div{display:flex;gap:10px;align-items:center;margin-bottom:10px}.tutorial b{border:1px solid #4d716e;border-radius:6px;padding:0 7px;color:var(--mint)}.tutorial small{display:block;color:var(--muted);line-height:2}.primary{width:100%;border:0;border-radius:12px;padding:13px;background:var(--mint);color:#072c29;font-weight:700;box-shadow:0 5px 28px #67f5cf1a}.primary span{float:left}.text-button{border:0;background:0 0;color:#c9d6e3;padding:12px}.session-note{display:block;margin-top:15px;font-size:9px;color:var(--muted)}.low{color:#ff8f92!important}@media(max-width:480px){#game-root{padding:18px 14px}.workspace{padding:15px}header{margin-bottom:20px}.board-wrap{padding:7px}#board{gap:5px}.tile{border-radius:7px}.board-heading{margin-bottom:14px}.status{font-size:10px}.dialog{padding:24px}.brand{font-size:21px}.node{border-width:2px}h1{font-size:18px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}