:root{--text:#2c2a30;--text-muted:#6b6375;--text-h:#08060d;--bg:#f7f6f9;--card-bg:#fff;--border:#e5e4e7;--accent:#b91c1c;--accent-hover:#991414;--accent-contrast:#fff;--danger:var(--accent);--chip-bg:#eee8f5;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:17px/145% system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#d7d4db;--text-muted:#9ca3af;--text-h:#f3f4f6;--bg:#121218;--card-bg:#1c1c24;--border:#333540;--accent:#ef4444;--accent-hover:#f87171;--accent-contrast:#16171d;--danger:var(--accent);--chip-bg:#2a2733}}*{box-sizing:border-box}body{min-height:100svh;margin:0}#root{flex-direction:column;max-width:480px;min-height:100svh;margin:0 auto;display:flex}h1,h2,h3{color:var(--text-h);margin:0 0 8px;font-weight:600}h1{font-size:28px}h2{font-size:22px}h3{font-size:17px}p{margin:0 0 8px}button{font:inherit}input,select{font:inherit;color:var(--text);background:var(--card-bg);border:1px solid var(--border);border-radius:8px;width:100%;padding:12px}.app{flex-direction:column;gap:16px;min-height:100svh;padding:16px;display:flex}.app-header{justify-content:space-between;align-items:center;display:flex}.app-header h1{margin:0}main{flex-direction:column;flex:1;display:flex}.screen{flex-direction:column;gap:12px;display:flex}.hint{color:var(--text-muted);font-size:15px}.progress{color:var(--text-muted);text-align:center;margin:0;font-size:14px}.error{color:var(--danger);font-size:15px}button.primary{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:10px;padding:14px 16px;font-size:16px;font-weight:600}button.primary:disabled{opacity:.5;cursor:not-allowed}button.primary:not(:disabled):hover{background:var(--accent-hover)}.link-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:15px}.link-button:hover{color:var(--danger)}.player-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.player-list li{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.gate{text-align:center;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:320px;padding:32px 16px;display:flex}.gate-pass-to{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:0;font-size:13px}.gate-subtitle{color:var(--text-muted);max-width:32ch;margin-bottom:16px;font-size:14px}.gate button{margin-top:8px}.entry-form,.reveal-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;padding:20px;display:flex}.entry-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.reveal-card{text-align:center;align-items:center}.reveal-line{font-size:18px}.reveal-line strong{color:var(--accent)}.checkbox-row{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:14px;font-size:15px;display:flex}.checkbox-row input{width:auto}.alive-list{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--chip-bg);border-radius:999px;padding:6px 12px;font-size:14px}.log-kill{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.log-kill label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.confirm-box{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:10px;display:flex}.kill-history{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:16px}.kill-history ol{color:var(--text-muted);flex-direction:column;gap:4px;margin:0;padding-left:20px;font-size:14px;display:flex}.winner{font-size:18px}.roster-fab{background:var(--accent);width:56px;height:56px;color:var(--accent-contrast);cursor:pointer;z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;line-height:1;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 14px #0000004d}.roster-fab:hover{background:var(--accent-hover)}.help-fab{background:var(--card-bg);width:56px;height:56px;color:var(--text);border:none;border:1px solid var(--border);cursor:pointer;z-index:10;border-radius:50%;justify-content:center;align-items:center;font-size:22px;font-weight:600;line-height:1;display:flex;position:fixed;bottom:20px;left:20px;box-shadow:0 4px 14px #0000004d}.help-fab:hover{background:var(--border)}.roster-overlay{z-index:20;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.roster-modal{background:var(--card-bg);border:1px solid var(--border);border-radius:16px 16px 0 0;flex-direction:column;gap:12px;width:100%;max-width:480px;max-height:80svh;padding:16px;display:flex;overflow-y:auto}.roster-header{justify-content:space-between;align-items:center;display:flex}.roster-header h2{margin:0}.roster-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.roster-list li{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.roster-alive .roster-status{color:var(--text-muted)}.roster-dead{opacity:.75}.roster-dead .roster-name{text-decoration:line-through}.roster-dead .roster-status{color:var(--danger);text-align:right}.draws-audit{border-top:1px solid var(--border);padding-top:12px}.draws-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.draws-list li{border:1px solid var(--border);border-radius:8px;padding:8px 10px}.rules-list{flex-direction:column;gap:10px;margin:0;padding:0 0 0 20px;font-size:14px;display:flex}
