:root{--bg:#f5f1ea;--surface:#fffdf9;--text:#22201c;--muted:#6d675d;--border:#e2dbcf;--cell:#e6dfd1;--wall:#3a3129;--danger:#d93d42;--accent:#2f6fde;--accent-text:#fff;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15141a;--surface:#1f1e25;--text:#f1eee8;--muted:#a39e95;--border:#36343d;--cell:#2d2b33;--wall:#efe3cc;--danger:#ff6b6f;--accent:#6d9bff;--accent-text:#0d1220;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2{letter-spacing:-.01em;margin:0}a{color:var(--accent)}button{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;min-height:40px;padding:9px 14px}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.wide{width:100%;padding:13px;font-size:1.05rem}input[type=text],input:not([type]){font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:10px;min-width:0;padding:8px 10px}.dot{border-radius:50%;flex:none;width:12px;height:12px;display:inline-block}.dot.big{width:20px;height:20px}.home{text-align:center;max-width:560px;margin:0 auto;padding:12vh 16px 48px}.home h1{font-size:clamp(2.4rem,8vw,3.6rem)}.home .lede{color:var(--muted);margin:12px 0 32px}.home .choices{gap:12px;display:grid}.home .choice{text-align:left;color:inherit;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:18px 20px;text-decoration:none;display:block}.home .choice strong{margin-bottom:4px;font-size:1.1rem;display:block}.home .choice span{color:var(--muted)}.setup{max-width:520px;margin:0 auto;padding:32px 16px 48px}.setup .lede{color:var(--muted);margin:8px 0 24px}.field{align-items:center;gap:16px;margin-bottom:16px;display:flex}.label{color:var(--muted)}.seat-list{gap:10px;margin:0 0 20px;padding:0;list-style:none;display:grid}.seat-list li{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.seat-list input{flex:1}.how{color:var(--muted);margin-top:24px}.how summary{cursor:pointer;color:var(--text)}.how li{margin:6px 0}.modes{background:var(--bg);border:1px solid var(--border);border-radius:12px;gap:4px;padding:4px;display:inline-flex}.modes button{background:0 0;border:none;min-width:44px}.modes button.on{background:var(--surface);box-shadow:var(--shadow);outline:1px solid var(--border);font-weight:600}.modes.small button{min-height:34px;padding:6px 10px;font-size:.92rem}.count{background:var(--border);border-radius:999px;min-width:1.4em;margin-left:4px;padding:0 5px;font-size:.85em;font-weight:600;display:inline-block}.game{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;max-width:1240px;margin:0 auto;padding:16px;display:grid}.board-wrap{justify-content:center;display:flex;position:sticky;top:16px}.board{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:auto;max-height:calc(100dvh - 32px);display:block}.board-rotate{transition:transform .7s cubic-bezier(.4,0,.2,1)}.cell{fill:var(--cell)}.target{cursor:pointer}.piece{fill:none;stroke-width:.27px;stroke-linecap:round;stroke-linejoin:round}.piece.wall{stroke:var(--wall)}.door-inlay{fill:none;stroke:var(--surface);stroke-width:.08px;stroke-dasharray:.2 .16;stroke-linecap:round}.piece-glow{fill:none;stroke-width:.7px;stroke-linecap:round;stroke-linejoin:round;opacity:.3}.ghost{opacity:.55}.pawn{transition:transform .28s}.pawn-body{stroke:#00000040;stroke-width:.06px}.pawn-turn{fill:none;stroke-width:.1px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.9}50%{opacity:.2}}@media (prefers-reduced-motion:reduce){.board-rotate,.pawn{transition:none}.pawn-turn{animation:none}}.panel{gap:16px;display:grid}.turn-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-left:6px solid;border-radius:14px;gap:12px;padding:16px;display:grid}.turn-head{align-items:center;gap:10px;display:flex}.status{color:var(--muted);min-height:2.6em;margin:0}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions:empty{display:none}.players{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.players li{border-top:1px solid var(--border);grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:10px 14px;display:grid}.players li:first-child{border-top:none}.players li.current{background:color-mix(in srgb, var(--accent) 9%, transparent)}.who{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.tag{color:var(--muted);margin-left:6px;font-size:.75rem;font-weight:500}.meta{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.9rem}.options{color:var(--muted);gap:8px;font-size:.92rem;display:grid}.options label{align-items:center;gap:8px;display:flex}.footer{justify-content:space-between}@media (max-width:860px){.game{grid-template-columns:1fr;gap:12px;padding:8px 16px 24px}.board-wrap{position:static}.board{max-height:64dvh}}.banner{border-radius:12px;justify-content:space-between;align-items:center;gap:12px;max-width:1240px;margin:12px auto 0;padding:10px 16px;display:flex}.banner.warn{background:color-mix(in srgb, var(--danger) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--danger) 35%, transparent)}.banner button{min-height:32px;padding:4px 12px}.error{color:var(--danger);margin:-6px 0 12px}.hint{color:var(--muted);text-align:center;font-size:.92rem}.muted{color:var(--muted)}input.missing{border-color:var(--danger)}.field input{flex:1}.seat-who{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.seat-buttons{gap:6px;display:flex}.seat-buttons button,button.small{min-height:34px;padding:5px 10px;font-size:.88rem}.footer button.on{border-color:var(--accent);color:var(--accent)}.players li:has(button.small){grid-template-columns:auto 1fr auto auto auto}
