:root{color-scheme:dark;--bg:#19162c;--panel:#27223e;--ink:#f7f1ff;--muted:#c3b8d5;--line:#635476;--gold:#ffe3a0;--violet:#bb9ef5;font:16px/1.5 system-ui,sans-serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0,#49396566,transparent 50%),var(--bg)}header,main{max-width:760px;margin:auto;padding:20px}header{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:14px}a{color:var(--gold)}.intro{display:flex;align-items:center;gap:22px;padding:16px 0 24px}.intro img{object-fit:contain}.eyebrow{color:var(--gold);margin:0}h1{font-size:clamp(26px,5vw,42px);line-height:1.12;letter-spacing:-1px;margin:6px 0}h2{font-size:22px;margin:28px 0 14px}button{font:inherit;color:inherit;cursor:pointer;min-height:48px;touch-action:manipulation}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{cursor:default;opacity:.65}.quiet{border:1px solid var(--line);border-radius:12px;background:transparent;padding:10px 14px}#offline-status{font-size:14px;margin:0 0 10px;color:var(--muted)}.games-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.games-list button{position:relative;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#39304f,var(--panel));box-shadow:0 5px 0 #100d1d;transition:transform .12s}.games-list button:active{transform:translateY(3px)}.game-icon{font-size:34px;line-height:1;color:var(--gold)}small{font-size:13px;color:var(--muted)}strong{font-size:17px;line-height:1.25}.game-head{display:flex;justify-content:space-between;gap:8px}#game-status{min-height:26px;color:var(--gold)}.grid{display:grid;gap:10px;margin:20px auto;max-width:400px}.pairs{grid-template-columns:repeat(4,1fr)}.constellation{grid-template-columns:repeat(3,1fr);max-width:330px}.tile{aspect-ratio:1;min-width:0;border:1px solid var(--line);background:var(--panel);border-radius:15px;font-size:30px;box-shadow:0 4px 0 #100d1d}.tile.found{background:#314b43;border-color:#8cc9a9;opacity:1}.tile.lit{background:var(--gold);color:#3d294b;box-shadow:0 3px 0 #8f6c38}.reaction-target{width:100%;min-height:220px;background:var(--panel);border:2px solid var(--line);border-radius:24px;font-size:24px}.reaction-target.ready{background:var(--gold);color:#35213c}.arcade{max-width:360px;margin:auto}.arcade canvas{display:block;width:100%;height:auto;max-height:48vh;aspect-ratio:8/9;border:1px solid var(--line);border-radius:20px;background:#17182b;touch-action:none}.controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0}.controls button{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;min-width:70px}.controls .action{background:var(--gold);color:#35213c;font-weight:700}.hud{font-size:15px;color:var(--muted);text-align:center}.hint{margin-top:10px}footer{color:var(--muted);font-size:13px;margin:40px 0 20px}[hidden]{display:none!important}@media(max-width:540px){.games-list{grid-template-columns:1fr}.games-list button{display:grid;grid-template-columns:45px 1fr;gap:3px 14px;padding:16px}.game-icon{grid-row:span 2;align-self:center}.intro{gap:12px}.intro img{width:72px;height:72px}header,main{padding:16px}.pairs{gap:8px}.tile{font-size:26px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(prefers-color-scheme:light){:root{color-scheme:light;--bg:#f4effa;--panel:#fffafd;--ink:#30253f;--muted:#675675;--line:#b4a1c5;--gold:#805000}body{background:var(--bg)}.games-list button{background:linear-gradient(145deg,#fff,#e9def4);box-shadow:0 5px 0 #c6b4d7}.tile{box-shadow:0 4px 0 #c6b4d7}.tile.lit,.reaction-target.ready,.controls .action{background:#ffe3a0;color:#35213c}.tile.found{background:#cee9d7;color:#203c2b}.game-icon{color:#805000}.arcade{--muted:#675675}}

.code-input{display:block;width:100%;max-width:240px;padding:14px;margin:10px 0 16px;background:var(--panel);color:var(--ink);border:2px solid var(--line);border-radius:12px;font:24px monospace;letter-spacing:10px}.sudoku .given{opacity:1;background:var(--panel);font-weight:800;box-shadow:none}.sudoku .chosen{outline:3px solid var(--gold);outline-offset:-4px}.sudoku .conflict{border:3px solid #d55368}.sudoku .tile:nth-child(4n+2){border-right-width:4px}.sudoku .tile:nth-child(n+5):nth-child(-n+8){border-bottom-width:4px}.sudoku+.controls button{min-width:44px;padding:10px;flex:1}#board li{padding:6px 0}input:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
.sudoku+.controls button:last-child{flex:1.6;min-width:80px;font-size:14px}
