:root{--bg:#12121a;--panel:#1c1c28;--panel-border:#2b2b3d;--text:#e8e6f0;--text-dim:#93a1b8;--accent:#e94560;--accent-dark:#c02646;--safe:#38b26f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0}.screen{max-width:30rem;min-height:100dvh;padding:1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));flex-direction:column;gap:1.25rem;margin:0 auto;display:flex}.screen.center{text-align:center;justify-content:center;align-items:center}h1{margin:0;font-size:1.75rem}.title h1{color:var(--accent);letter-spacing:.02em;font-size:2.5rem}.subtitle,.hint{color:var(--text-dim);margin:.25rem 0 0;line-height:1.5}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:1rem;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:0;font-size:.85rem}button{font:inherit;cursor:pointer;border:none;border-radius:.75rem;transition:transform 50ms,background .15s}button:active{transform:scale(.97)}.primary{background:var(--accent);color:#fff;width:100%;margin-top:auto;padding:1rem;font-size:1.15rem;font-weight:700}.center .primary{margin-top:1rem}.primary:disabled{opacity:.4;cursor:default}.primary:not(:disabled):hover{background:var(--accent-dark)}.secondary{border:1px solid var(--panel-border);color:var(--text);background:0 0;width:100%;padding:.7rem}.player-row{gap:.5rem;display:flex}.player-row input{font:inherit;background:var(--bg);border:1px solid var(--panel-border);color:var(--text);border-radius:.6rem;flex:1;padding:.65rem .8rem}.player-row input:focus{outline:2px solid var(--accent);outline-offset:-1px}.icon-btn{color:var(--text-dim);background:0 0;padding:0 .75rem;font-size:1rem}.select{font:inherit;background:var(--bg);border:1px solid var(--panel-border);color:var(--text);border-radius:.6rem;width:100%;padding:.65rem .8rem}.chip-grid{flex-wrap:wrap;gap:.5rem;display:flex}.chip{background:var(--bg);border:1px solid var(--panel-border);color:var(--text);border-radius:2rem;padding:.5rem .9rem;font-size:.95rem}.chip-active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.step-count{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.85rem}.highlight-name{color:var(--accent);overflow-wrap:anywhere;margin:0;font-size:2.25rem;font-weight:800}.card{background:var(--panel);border:1px solid var(--panel-border);border-radius:1.25rem;flex-direction:column;gap:.5rem;width:100%;padding:2rem 1.5rem;display:flex}.card-werewolf{border-color:var(--accent);background:linear-gradient(160deg, #2a1420, var(--panel))}.card-seer{background:linear-gradient(160deg, #201435, var(--panel));border-color:#9b59e8}.card-witch{border-color:var(--safe);background:linear-gradient(160deg, #10241a, var(--panel))}.card-hunter{background:linear-gradient(160deg, #2a2014, var(--panel));border-color:#e8a33d}.card-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.8rem}.card-word{overflow-wrap:anywhere;margin:0;font-size:2.5rem;font-weight:800}.card-werewolf .card-word{color:var(--accent)}.card-seer .card-word{color:#9b59e8}.card-witch .card-word{color:var(--safe)}.card-hunter .card-word{color:#e8a33d}.card-category{color:var(--text-dim);margin:0}.card-death{padding:1.25rem 1.5rem}.card-death .card-word{font-size:1.5rem}.roles-list{text-align:left;width:100%}.player-dead{opacity:.55}.player-dead>span:first-child{text-decoration:line-through}.turn-order{flex-direction:column;gap:.4rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.turn-order li{background:var(--panel);border:1px solid var(--panel-border);border-radius:.6rem;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.turn-first{border-color:var(--safe)}.turn-badge{background:var(--safe);color:#08130d;text-transform:uppercase;border-radius:1rem;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.vote-grid{grid-template-columns:1fr 1fr;gap:.6rem;width:100%;display:grid}.vote-btn{background:var(--panel);border:1px solid var(--panel-border);color:var(--text);overflow-wrap:anywhere;padding:1rem .5rem;font-size:1.05rem}.vote-selected{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.result-emoji{margin:0;font-size:3.5rem}.moon-pulse{animation:4s ease-in-out infinite moon-pulse}@keyframes moon-pulse{0%,to{opacity:.5}50%{opacity:1}}
