:root{--bg:#14161c;--card:#1d2029;--card-2:#262a36;--text:#eef0f5;--muted:#9aa1b2;--accent:#d6453d;--accent-text:#fff;--ok:#3ea76a;--warn:#d9a441;--border:#323744;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{-webkit-tap-highlight-color:transparent;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{min-height:100dvh}.screen{max-width:520px;padding:max(16px, env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}h1{letter-spacing:.02em;margin:0;font-size:28px}h2{margin:0;font-size:18px}.muted{color:var(--muted)}.small{font-size:14px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.divider{text-align:center;color:var(--muted)}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);font-size:14px}input,select,button{font:inherit;color:inherit}input:not([type=checkbox]),select{background:var(--card-2);border:1px solid var(--border);border-radius:10px;width:100%;min-height:48px;padding:10px 14px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:disabled,select:disabled{opacity:.7}.code-input{text-align:center;letter-spacing:.4em;text-transform:uppercase;font-size:22px}.num{text-align:center;width:96px!important}button{background:var(--card-2);border:1px solid var(--border);cursor:pointer;border-radius:12px;min-height:48px;padding:10px 18px}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.big{width:100%;min-height:56px;font-size:18px}button.ghost{background:0 0}.room-code{letter-spacing:.2em;text-align:center;padding:8px 0;font:700 44px/1 ui-monospace,SF Mono,Menlo,monospace}.link{color:var(--muted);font-size:14px}.players{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.players li{background:var(--card-2);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;display:flex}.players li.offline{opacity:.6}.nick{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.badge{background:var(--border);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:12px}.badge.host{background:var(--accent);color:var(--accent-text)}.badge.warn{background:var(--warn);color:#1b1b1b}fieldset{border:0;min-width:0;margin:0;padding:0}legend{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;padding:0;font-size:14px;font-weight:600}.check{align-items:center;gap:12px;min-height:44px;display:flex}.check input{width:24px;height:24px;accent-color:var(--accent)}.stepper{align-items:center;gap:8px;display:flex}.stepper button{width:48px;padding:0;font-size:22px}.stepper output{text-align:center;min-width:32px;font-size:18px;font-weight:600}.sticky-footer{padding:12px 0 calc(8px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);flex-direction:column;gap:8px;display:flex;position:sticky;bottom:0}.hint{text-align:center;color:var(--muted);font-size:14px}.banner{z-index:10;text-align:center;background:var(--warn);color:#1b1b1b;padding:8px 16px;font-size:14px;position:sticky;top:0}.toast{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:20;border:1px solid var(--accent);text-align:center;background:#3a1f1f;border-radius:12px;max-width:488px;margin:0 auto;padding:14px 16px;position:fixed}.center{text-align:center;align-items:center}.badge.ok{background:var(--ok);color:#fff}.overlay{z-index:30;background:#000000b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:440px;padding:20px}.dialog p{margin:0}.role-card{text-align:center;background:var(--card-2);border:2px solid var(--border);border-radius:18px;padding:28px 20px}.role-card.dark{border-color:var(--accent);background:#2a1c1f}.role-name{margin-bottom:12px;font-size:32px;font-weight:700}.role-card p{color:var(--muted);margin:0 0 12px}.mates{text-align:left;border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.mates ul{margin:6px 0 0;padding-left:20px}.timer{flex-direction:column;align-items:center;gap:2px;display:flex}.timer-value{font:700 36px/1 ui-monospace,SF Mono,Menlo,monospace}.center{text-align:center}.screen.night{background:#07080c;justify-content:flex-start;min-height:100dvh}body:has(.screen.night){background:#07080c}.app:has(.screen.night){background:#07080c}.night-sleep{text-align:center;flex-direction:column;align-items:center;gap:12px;padding-top:18vh;display:flex}.moon{opacity:.55;font-size:72px;line-height:1}.targets li{background:0 0;padding:0}button.target{text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex}button.target.selected{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.badge.bad{background:var(--accent);color:var(--accent-text)}.result-line{margin:0;font-size:20px}.vote-option{flex-direction:column;gap:4px;display:flex}.voters{padding:0 4px}button.target.ghost{background:0 0}ul.log{margin:0;padding-left:18px}.host-bar{z-index:9;padding:max(6px, env(safe-area-inset-top)) 12px 6px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:8px;display:flex;position:sticky;top:0}.host-bar button{width:auto;min-height:36px;padding:4px 14px;font-size:14px}.host-bar .sound-banner{background:var(--warn);color:#1b1b1b;border:0;flex-direction:column;flex-basis:100%;gap:2px;display:flex}.host-bar .sound-banner span{opacity:.8;font-size:12px}.pause-overlay{z-index:30;text-align:center;background:#0a0b0ff0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.pause-box{align-items:center;width:100%;max-width:360px}.pause-box h2{font-size:28px}
