:root{--bg:#f6f7f9;--surface:#fff;--text:#16181d;--muted:#5f6673;--border:#dde1e7;--accent:#35f;--accent-text:#fff;--error:#c62828;--notice-bg:#eef1ff;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#111317;--surface:#1a1d23;--text:#e8eaee;--muted:#9aa1ad;--border:#2c313a;--accent:#6f86ff;--accent-text:#0b0d12;--error:#ff6b6b;--notice-bg:#1f2540}}*{box-sizing:border-box}body{background:var(--bg);margin:0}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:380px;padding:28px 24px}.card h1{margin:0 0 16px;font-size:1.4rem}.eyebrow{color:var(--muted);letter-spacing:.02em;margin:0 0 4px;font-size:.85rem;font-weight:600}.stack{flex-direction:column;gap:12px;display:flex}label{flex-direction:column;gap:4px;font-size:.9rem;font-weight:500;display:flex}input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:10px 12px}input:focus{outline:2px solid var(--accent);outline-offset:-1px}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;border-radius:8px;padding:10px 14px;font-weight:600}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--text);border-color:var(--border);background:0 0}.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:500;text-decoration:none}.link:hover{text-decoration:underline}.links{flex-wrap:wrap;gap:8px 16px;margin:16px 0;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--error);margin:0;font-size:.9rem}.notice{background:var(--notice-bg);border-radius:8px;padding:8px 12px;font-size:.9rem}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.content{max-width:720px;margin:0 auto;padding:24px 16px}.page-title{margin:0 0 4px;font-size:1.3rem}.content.seed{grid-template-columns:300px 1fr;align-items:start;gap:24px;max-width:1200px;display:grid}@media (width<=800px){.content.seed{grid-template-columns:1fr}}.panel{flex-direction:column;gap:16px;display:flex}.panel label{gap:6px}.nowrap{flex-wrap:nowrap}.nowrap input[type=number]{flex:1;min-width:0}.nowrap input[type=range]{flex:1}input.narrow{flex:0 0 72px!important}input[type=range]{accent-color:var(--accent);padding:0}.spread-label{justify-content:space-between}.stats{gap:24px;margin:0;display:flex}.stats dt{color:var(--muted);font-size:.8rem}.stats dd{margin:0;font-size:1.2rem;font-weight:600}button.play{padding:14px;font-size:1.05rem}.map{position:sticky;top:16px}.maze{background:var(--surface);border-radius:8px;width:100%;height:auto;display:block}.maze-walls{fill:none;stroke:var(--text);stroke-linecap:square}.maze-room{fill:var(--notice-bg)}.maze-start{fill:#22a55b}.game{color:#e8eaee;background:#0b0c10;position:fixed;inset:0;overflow:hidden}.game-host{position:absolute;inset:0}.game-canvas{touch-action:none;width:100%;height:100%;display:block}.hud{pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;left:12px;right:12px}.hud.top{top:12px}.hud>*{pointer-events:auto}.hud-chip{font-variant-numeric:tabular-nums;background:#0000008c;border-radius:6px;padding:6px 10px;font-weight:600}.hud-chip.hint{color:#b8bdc7;font-size:.85rem;font-weight:400}.game .hud-button{color:#e8eaee;background:#0000008c;border-color:#444;margin-left:auto}.hud-chip.hint.touch{display:none}@media (pointer:coarse){.hud-chip.hint.desktop{display:none}.hud-chip.hint.touch{display:inline}}@media (width<=700px) and (pointer:fine){.hud-chip.hint.desktop{display:none}}.overlay{background:#0000008c;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.overlay .card{color:var(--text)}.version{z-index:10;font-variant-numeric:tabular-nums;color:#fffc;pointer-events:none;-webkit-user-select:none;user-select:none;background:#00000073;border-radius:4px;padding:2px 6px;font-size:.7rem;position:fixed;bottom:8px;left:8px}
