@font-face{font-family:"Jersey 10";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jersey-10-latin-ext-uIKqQSaG.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Jersey 10";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jersey-10-latin-DrL73VYW.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/pixelify-sans-latin-ext-CsF3XSp0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/pixelify-sans-latin-Cbhn5ptY.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--text:#f4f4f4;--frame:#0f101a;--gold:#ffcd75;--on-gold:#1a1c2c;--danger:#b13e53;--danger-text:#ef5d6e;--ok:#38b764;--info:#41a6f6;--bg:#1a1c2c;--panel:#262b44;--line:#566c86;--muted:#94b0c2;--phase-accent:var(--text);--side-evil:var(--danger-text);--side-innocent:var(--ok);--side-neutral:var(--info);--font-display:"Jersey 10", ui-monospace, "Cascadia Mono", monospace;--font-body:"Pixelify Sans", ui-monospace, "Cascadia Mono", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-color:var(--line) var(--bg)}:root[data-phase=night]{--bg:#150f24;--panel:#231a3a;--line:#6a56a6;--muted:#ab9ccf;--phase-accent:#a48cf2}:root[data-phase=dawn]{--bg:#2a1b30;--panel:#33223a;--line:#6a4a6e;--muted:#b49ab8;--phase-accent:#ef7d57}:root[data-phase=day]{--bg:#241a17;--panel:#3b2c26;--line:#6e5240;--muted:#b8a690;--phase-accent:#ffcd75}body,.panel,.target,.role-banner,.role-roster,.phase-header,.action-btn,.avatar-option,.player-list li,input{transition:background-color .6s,border-color .6s}@media (prefers-reduced-motion:reduce){body,.panel,.target,.role-banner,.role-roster,.phase-header,.action-btn,.avatar-option,.player-list li,input{transition:none}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:none;min-height:100dvh;font-size:1rem;line-height:1.4}::selection{background:var(--gold);color:var(--on-gold)}input,textarea{caret-color:var(--gold)}input::placeholder{color:var(--muted);opacity:1}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}img{image-rendering:pixelated;max-width:100%}.icon{vertical-align:-.15em;shape-rendering:crispedges;flex:none;width:1rem;height:1rem;display:inline-block}.icon-lg{width:2rem;height:2rem}#app{max-width:26rem;padding:1.5rem 1rem calc(1.5rem + env(safe-area-inset-bottom));margin:0 auto}header{text-align:center;margin-bottom:1.25rem}header .logo{width:3rem;height:3rem;margin:0 auto .5rem;display:block}h1{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:1.875rem;font-weight:400;line-height:1.1}.subtitle{font-family:var(--font-display);color:var(--gold);letter-spacing:.15em;text-transform:uppercase;margin:.5rem 0 0;font-size:1.25rem}#app:has(#game-screen:not([hidden]))>header{display:none}.connection-banner{border:4px solid var(--info);box-shadow:0 0 0 4px var(--frame);background:var(--panel);color:var(--text);text-align:center;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.connection-banner[hidden]{display:none}.connection-banner[data-status=connected]{border-color:var(--ok)}.banner-icon-ok,.connection-banner[data-status=connected] .banner-icon-off{display:none}.connection-banner[data-status=connected] .banner-icon-ok{color:var(--ok);display:inline-flex}.banner-icon-off{color:var(--info);display:inline-flex}.is-reconnecting #app main{pointer-events:none}.connection-lost{z-index:50;background:#0f101ae6;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.connection-lost[hidden]{display:none}.connection-lost-box{border:4px solid var(--info);width:min(22rem,100%);box-shadow:0 0 0 4px var(--frame);background:var(--panel);text-align:center;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.connection-lost-title{font-family:var(--font-display);text-transform:uppercase;color:var(--text);margin:0;font-size:1.25rem;line-height:1.2}.connection-lost-text{color:var(--muted);margin:0;font-size:1rem;line-height:1.4}.panel{background:var(--panel);border:4px solid var(--line);box-shadow:0 0 0 4px var(--frame);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.panel[hidden]{display:none}.panel.game{box-shadow:none;background:0 0;border:none;padding:0}label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.875rem}input{font:inherit;color:var(--text);background:var(--bg);border:4px solid var(--line);box-shadow:0 0 0 4px var(--frame);border-radius:0;width:100%;min-height:3.5rem;margin:4px 0;padding:.5rem .75rem;font-size:1.125rem}input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}#room-code{font-family:var(--font-display);text-transform:uppercase;text-align:center;letter-spacing:.3em;text-indent:.4em;font-size:1.875rem}#room-code::placeholder{letter-spacing:.4em}button{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;color:var(--on-gold);background:var(--gold);border:4px solid var(--on-gold);box-shadow:0 0 0 4px var(--frame);cursor:pointer;touch-action:manipulation;border-radius:0;justify-content:center;align-items:center;gap:.5rem;min-height:3.5rem;padding:.5rem .75rem;font-size:1.25rem;line-height:1.2;display:inline-flex}button[hidden]{display:none}button:active:not(:disabled){transform:translate(2px,2px)}button:disabled{background:var(--panel);color:var(--muted);border-color:var(--line);cursor:not-allowed}.update-banner{border:4px solid var(--info);box-shadow:0 0 0 4px var(--frame);background:var(--panel);grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.6rem .75rem;display:grid}.update-banner[hidden]{display:none}.update-text{margin:0;font-size:1rem;line-height:1.3}.update-reload{min-height:3rem;color:var(--text);border-color:var(--line);background:0 0;padding:0 .9rem;font-size:1.25rem}.update-dismiss{min-width:3rem;min-height:3rem;box-shadow:none;color:var(--muted);background:0 0;border:none;padding:0}.segmented{border:4px solid var(--line);box-shadow:0 0 0 4px var(--frame);grid-auto-columns:1fr;grid-auto-flow:column;margin:4px 0;display:grid}.segmented[hidden]{display:none}.segment{background:var(--panel);color:var(--muted);box-shadow:none;border:none;border-bottom:4px solid #0000;min-height:3rem;font-size:1.25rem}.segment+.segment{border-left:4px solid var(--line)}.segment[aria-pressed=true],.segment[aria-selected=true]{background:var(--line);color:var(--text);border-bottom-color:var(--gold)}.segment:active:not(:disabled){transform:none}.segment:disabled{background:var(--panel);border-color:#0000}.segment:disabled+.segment,.segment+.segment:disabled{border-left-color:var(--line)}.segment small{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:.875rem}.join-field{flex-direction:column;gap:.75rem;display:flex}.join-field[hidden]{display:none}.error{color:var(--gold);background:var(--bg);border:4px solid var(--gold);margin:0;padding:.5rem .75rem;font-size:1rem}.error[hidden]{display:none}.lobby-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:center;margin:0;font-size:.875rem}.room-code-display{font-family:var(--font-display);letter-spacing:.2em;text-align:center;text-indent:.2em;color:var(--gold);margin:0;font-size:3.125rem;line-height:1.1}.lobby-mode{text-align:center;color:var(--muted);margin:0;font-size:1rem}.composition-rows{flex-direction:column;gap:1rem;display:flex}.composition-row{background:var(--bg);border:4px solid var(--line);box-shadow:0 0 0 4px var(--frame);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;display:flex}.composition-label{flex-direction:column;line-height:1.3;display:flex}.composition-label small{color:var(--muted);font-size:.875rem}.composition-controls{align-items:center;gap:.5rem;display:flex}.composition-step{background:var(--panel);min-width:3rem;min-height:3rem;color:var(--text);border-color:var(--line);padding:0}.composition-step:disabled{opacity:.35}.composition-controls .segmented{min-width:8.5rem}.composition-count{font-family:var(--font-display);text-align:center;min-width:2ch;color:var(--gold);font-size:1.875rem}.composition-summary{color:var(--muted);margin:.75rem 0 0;font-size:1rem;line-height:1.5}.room-qr{max-width:100%;image-rendering:pixelated;border:4px solid var(--line);box-shadow:0 0 0 4px var(--frame);background:#fff;margin:0 auto;padding:.5rem;display:block}.qr-hint{text-align:center;color:var(--muted);margin:0;font-size:.875rem}.player-count{text-align:center;color:var(--muted);margin:0}.player-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.player-list li{background:var(--bg);border:4px solid var(--line);box-shadow:0 0 0 4px var(--frame);overflow-wrap:anywhere;align-items:center;min-height:3.5rem;padding:.5rem .75rem;display:flex}.player-list li.me{border-color:var(--gold)}.host-tag{color:var(--gold);text-transform:uppercase;flex:none;align-items:center;gap:.35rem;margin-left:auto;padding-left:.5rem;font-size:.875rem;display:inline-flex}.player-list li.offline{color:var(--muted);border-style:dashed}.player-list li.offline .avatar{filter:grayscale()}#lobby-table-pane,#lobby-settings-pane{flex-direction:column;gap:.75rem;display:flex}#lobby-table-pane[hidden],#lobby-settings-pane[hidden]{display:none}#start-game-btn{margin-top:.5rem}.lobby-hint{text-align:center;color:var(--muted);margin:0;font-size:.875rem}#leave-room-btn{margin-top:1.5rem}.rejoin-text{text-align:center;color:var(--muted);margin:0}.game{gap:1rem}.phase-header{background:var(--panel);border:4px solid var(--line);min-height:3.5rem;box-shadow:0 0 0 4px var(--frame);justify-content:space-between;align-items:center;gap:.75rem;margin:4px 0;padding:.5rem .75rem;transition:border-color .6s;display:flex}.phase-name{min-width:0;font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--phase-accent);align-items:center;gap:.5rem;font-size:1.875rem;line-height:1.1;transition:color .6s;display:inline-flex}.phase-timer{font-family:var(--font-display);color:var(--text);text-align:right;flex:none;min-width:3ch;font-size:1.875rem}.phase-timer[data-low=true]{color:var(--gold)}.phase-timer[data-urgent=true]{animation:.6s steps(2,end) infinite timer-last-call}@keyframes timer-last-call{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.phase-timer[data-urgent=true]{animation:none}}.announce{margin:4px 0}.announce:empty{display:none}.announce-card{background:var(--bg);border:4px solid var(--line);box-shadow:0 0 0 4px var(--frame);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.announce-card[data-tone=death]{border-color:var(--danger-text)}.announce-card[data-tone=win]{border-color:var(--gold)}.announce-card[data-tone=safe]{border-color:var(--ok)}.announce-card[data-tone=loss]{border-color:var(--muted)}.announce-title .icon{flex:none}.announce-text{flex:1;min-width:0}.announce-title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;overflow-wrap:anywhere;align-items:center;gap:.5rem;margin:0;font-size:1.875rem;line-height:1.1;display:flex}.announce-card[data-tone=death] .announce-title{color:var(--danger-text)}.announce-card[data-tone=win] .announce-title{color:var(--gold)}.announce-card[data-tone=safe] .announce-title{color:var(--ok)}.announce-card[data-tone=loss] .announce-title{color:var(--muted)}.announce-sub{color:var(--text);margin:.25rem 0 0;font-size:1.125rem}.announce-portrait{width:5rem;height:5rem;box-shadow:0 0 0 4px var(--panel);margin:4px}.announce-card[data-tone=death] .announce-portrait{filter:grayscale(.7)}.announce-rows{flex-direction:column;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.announce-rows li{align-items:center;gap:.75rem;display:flex}.announce-rows .avatar{width:3rem;height:3rem;box-shadow:none;margin:0}.announce-row-name{font-family:var(--font-display);letter-spacing:.02em;font-size:1.25rem}.announce-row-line{color:var(--muted);margin-left:auto}.announce-card[data-kind=gameover]{text-align:center;flex-direction:column;padding:1.25rem 1rem}.announce-card[data-kind=gameover] .announce-title{justify-content:center;font-size:3.125rem}.announce-card[data-kind=gameover] .announce-sub{font-family:var(--font-display);letter-spacing:.02em;color:var(--muted);text-wrap:balance;font-size:1.25rem}.announce-card[data-kind=gameover][data-tone=loss] .announce-sub{color:var(--text)}.announce-card.is-compact{gap:.75rem;padding:.5rem .75rem}.announce-card.is-compact .announce-title{font-size:1.25rem}.announce-card.is-compact .announce-title .icon{width:1rem;height:1rem}.announce-card.is-compact .announce-sub{margin:0;font-size:1rem}.announce-card.is-compact .announce-portrait{width:3rem;height:3rem}.announce-strip{font-family:var(--font-display);letter-spacing:.02em;overflow-wrap:anywhere;align-items:center;gap:.5rem;min-width:0;margin:0;font-size:1.125rem;line-height:1.2;display:none}.announce-strip .icon{flex:none;width:1rem;height:1rem}.announce-card.is-strip{padding:.5rem .75rem}.announce-card.is-strip>.announce-portrait,.announce-card.is-strip>.announce-text{display:none}.announce-card.is-strip>.announce-strip{display:flex}.announce-card[data-tone=death] .announce-strip{color:var(--danger-text)}.announce-card[data-tone=safe] .announce-strip{color:var(--ok)}.announce-card.is-entering{animation:.48s steps(6,end) announce-open}@keyframes announce-open{0%{clip-path:inset(-8px -8px 100%)}to{clip-path:inset(-8px)}}@media (prefers-reduced-motion:reduce){.announce-card.is-entering{animation:none}}.role-banner{border:4px solid var(--line);box-shadow:0 0 0 4px var(--frame);background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:4px 0;padding:.75rem;position:relative}.role-banner.at-bottom{bottom:max(.5rem, env(safe-area-inset-bottom));z-index:2;order:99;position:sticky}.masked>.mask-body{display:none}.role-banner.masked{background:var(--panel);height:5rem}.mask-hint{display:none}.masked>.mask-hint{text-align:center;flex-direction:row;justify-content:center;align-items:center;gap:.75rem;display:flex;position:absolute;inset:0}.mask-icon{color:var(--muted);display:inline-flex}.mask-text{color:var(--muted);font-size:1rem}.role-banner:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.role-banner[data-side=Evil]{border-color:var(--side-evil)}.role-banner[data-side=Innocent]{border-color:var(--side-innocent)}.role-banner[data-side=Neutral]{border-color:var(--side-neutral)}.role-banner.masked,.role-banner.masked[data-side]{border-color:var(--line)}.role-line{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.role-name{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-size:1.875rem;line-height:1.1}.role-side{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.875rem}.role-steps{grid-template-columns:max-content 1fr;gap:.35rem .75rem;margin:.5rem 0 0;font-size:1rem;display:grid}.role-steps dt{color:var(--muted);white-space:nowrap;align-items:center;gap:.35rem;font-size:.875rem;display:flex}.role-steps dd{color:var(--text);margin:0}.role-team{color:var(--side-evil);margin:.5rem 0 0;font-size:1rem}.game-prompt{white-space:pre-line;margin:0;font-size:1.125rem;line-height:1.35}.game-prompt b{color:var(--gold);font-weight:600}.gameover-title{font-family:var(--font-display);letter-spacing:.02em;text-align:center;color:var(--gold);text-transform:uppercase;text-wrap:balance;font-size:1.875rem;line-height:1.2;display:block}.notes-title{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:.5rem 0 .35rem;font-size:.875rem}.note{padding:.15rem 0;font-size:1rem}.note .icon{vertical-align:-.2em}.note.vamp{color:var(--side-evil)}.note.clean{color:var(--ok)}.note.guard{color:var(--text)}.target-grid{grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.target-grid>li{min-width:0;margin:0}.target{width:100%;min-height:3rem;font-family:var(--font-body);text-transform:none;letter-spacing:0;background:var(--bg);color:var(--text);border:4px solid var(--line);box-shadow:0 0 0 4px var(--frame);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:.4rem;padding:.5rem .25rem;font-size:1rem;font-weight:400;line-height:1.2;display:flex;position:relative}button.target:disabled{background:var(--bg);color:var(--text);border-color:var(--line);cursor:default}button.target.selected{border-color:var(--gold);box-shadow:0 0 0 4px var(--gold)}.sel-mark{background:var(--gold);color:var(--on-gold);line-height:0;display:inline-flex;position:absolute;top:-4px;right:-4px}li.target.static{cursor:default}li.target.accused{border-color:var(--gold);flex-direction:row;grid-column:1/-1;justify-content:center;gap:.75rem;min-height:4rem;font-size:1.125rem}.app-version{text-align:center;color:var(--muted);letter-spacing:.05em;padding:.75rem 0 .25rem;font-size:.875rem}:is(.target-grid>li:has(>.judge-guilty),.target-grid>li:has(>.judge-innocent)){grid-column:span 2}button.target.judge-guilty,button.target.judge-innocent{min-height:5.5rem;font-family:var(--font-display);text-transform:uppercase;flex-direction:column;justify-content:center;gap:.35rem;font-size:1.25rem;line-height:1.2}button.target.judge-guilty{border-color:var(--danger-text);color:var(--danger-text)}button.target.judge-innocent{border-color:var(--ok);color:var(--ok)}button.target.judge-guilty.selected{background:var(--danger);color:var(--text);border-color:var(--text);box-shadow:0 0 0 4px var(--frame)}button.target.judge-innocent.selected{background:var(--ok);color:var(--frame);border-color:var(--text);box-shadow:0 0 0 4px var(--frame)}button.target.judge-guilty:disabled{color:var(--danger-text);border-color:var(--danger-text)}button.target.judge-innocent:disabled{color:var(--ok);border-color:var(--ok)}.judge-count{font-family:var(--font-display);font-size:2.5rem;line-height:1}li.target.dead,li.target.dead-reveal.dead{color:var(--muted);border-style:dashed}li.target.dead .avatar,li.target.dead-reveal.dead .avatar{filter:grayscale()}li.target.dead-reveal{background:var(--bg);border:4px solid var(--line)}li.target.dead-reveal.winner{border-color:var(--gold)}.target-name{min-width:0;font-weight:600}.target-role{overflow-wrap:normal;color:var(--muted);text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;font-size:.875rem;display:inline-flex}.death-mark{color:var(--danger-text);display:inline-flex}.target-swap{color:var(--muted);text-transform:none;text-align:right;flex-basis:100%;font-size:.875rem}li.target.dead-reveal{flex-flow:wrap;grid-column:1/-1;justify-content:flex-start;gap:.5rem .75rem;padding:.5rem .75rem}li.target.dead-reveal .target-role{margin-left:auto}li.target.dead-reveal.swapped{border-style:dashed}.action-bar{flex-direction:column;gap:.75rem;margin:4px 0;display:flex}.action-btn{min-height:3.5rem;color:var(--text);border-color:var(--line);background:0 0}.action-btn.primary{background:var(--gold);color:var(--on-gold);border-color:var(--on-gold)}.action-btn.chosen{background:var(--ok);color:var(--frame);border-color:var(--frame)}.action-btn:disabled{background:var(--panel);color:var(--muted);border-color:var(--line)}.action-hint{color:var(--muted);text-align:center;margin:0;font-size:1rem}.game-exit{justify-content:center;display:flex}:root[data-gameover] .game-exit{display:none}.exit-btn,.how-link{box-shadow:none;color:var(--muted);font-family:var(--font-body);text-transform:none;letter-spacing:0;background:0 0;border:4px solid #0000;min-height:3rem;padding:0 1.25rem;font-size:1rem;text-decoration:underline}.how-link-row{justify-content:center;display:flex}.how-panel{z-index:40;overscroll-behavior:contain;background:var(--bg);padding:1.5rem 1rem calc(1.5rem + env(safe-area-inset-bottom));position:fixed;inset:0;overflow-y:auto}.how-panel[hidden]{display:none}.how-panel:focus{outline:none}.how-inner{flex-direction:column;gap:1rem;max-width:26rem;margin:0 auto;display:flex}.how-title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:1.875rem;font-weight:400;line-height:1.1}.how-cards{flex-direction:column;gap:1rem;display:flex}.how-card{background:var(--panel);border:4px solid var(--line);box-shadow:0 0 0 4px var(--frame);flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.how-card-title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:400;line-height:1.2;display:flex}.how-line{margin:0;font-size:1rem;line-height:1.4}.how-line strong{font-weight:600}.exit-btn[data-armed=true]{border-color:var(--gold);color:var(--gold);text-decoration:none}.game-feed{border-top:4px solid var(--line);flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.game-feed:empty{display:none}.feed-line{color:var(--muted);overflow-wrap:anywhere;align-items:flex-start;gap:.5rem;font-size:1rem;display:flex}.feed-line .icon{margin-top:.15rem}.icon-death{color:var(--danger-text)}.win-mark{color:var(--gold);display:inline-flex}li.target.static.me{border-color:var(--gold)}.feed-line:first-child{color:var(--text)}.avatar{image-rendering:pixelated;background-image:url(data:image/png;base64,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);background-repeat:no-repeat;background-size:800% 500%;flex:none;display:inline-block}.avatar-sm{width:2rem;height:2rem;margin-right:.65rem}.avatar-md{width:3rem;height:3rem}.avatar-picker{grid-template-columns:repeat(auto-fit,minmax(3rem,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.avatar-option{aspect-ratio:1;background-color:var(--bg);border:4px solid var(--line);width:100%;min-height:0;box-shadow:0 0 0 4px var(--frame);cursor:pointer;padding:0}.avatar-option.selected{border-color:var(--gold)}.avatar-details{border:4px solid var(--line);box-shadow:0 0 0 4px var(--frame);background:var(--bg);margin:4px 0}.avatar-details>summary{min-height:3.5rem;color:var(--muted);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:1rem;list-style:none;display:flex}.avatar-details>summary::-webkit-details-marker{display:none}.chevron{margin-left:auto;display:inline-flex}details[open]>summary .chevron{transform:rotate(180deg)}.avatar-details>summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.avatar-details .avatar-sm{margin-right:0}.avatar-details .avatar-picker{margin-bottom:0;padding:.75rem}.avatar-details .error{margin:0 .75rem .75rem}.avatar-option.taken{opacity:.25;cursor:not-allowed;filter:grayscale()}button.target{text-align:center;flex-direction:column;justify-content:center;gap:.35rem;padding:.5rem .25rem}li.target.static:not(.accused){text-align:center;flex-direction:column;justify-content:center;gap:.25rem}button.target.team-picked{border-color:var(--danger-text);border-style:dashed}.team-pick{color:var(--danger-text);text-align:center;overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:.2rem;font-size:.875rem;line-height:1.1;display:inline-flex}button.target.has-votes{border-color:var(--info)}button.target.is-self:disabled,button.target.is-spectating:disabled{cursor:default;opacity:1;border-style:dashed}.lock-mark.warn{color:var(--gold)}button.target.is-blocked:disabled{cursor:default;color:var(--muted);border-style:dashed}button.target.is-blocked .avatar{filter:grayscale()}.lock-mark{color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.2rem;font-size:.875rem;line-height:1.1;display:inline-flex}.dead-badge{font-family:var(--font-display);letter-spacing:.02em;color:var(--danger-text);border:4px solid var(--danger);background:var(--bg);align-items:center;gap:.35rem;padding:0 .3rem;font-size:1.25rem;line-height:1.1;display:inline-flex;position:absolute;top:-4px;right:.75rem;transform:translateY(-50%)}.vote-count{font-family:var(--font-display);color:var(--info);font-size:1.25rem;line-height:1.1}.vote-status{color:var(--info)}.vote-status.reached{color:var(--ok)}.vote-status.reached.lynch{color:var(--danger-text)}.ready-mark{color:var(--muted);white-space:nowrap;align-items:center;gap:.2rem;font-size:.875rem;line-height:1.1;display:inline-flex}.ready-mark.on{color:var(--ok)}.role-roster{border:4px solid var(--line);box-shadow:0 0 0 4px var(--frame);background:var(--bg);margin:4px 0;padding:0;font-size:1rem}.role-roster[hidden]{display:none}.roster-summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;min-height:3rem;padding:.5rem .75rem;list-style:none;display:flex}.roster-summary::-webkit-details-marker{display:none}.roster-summary:focus-visible{outline-offset:0}.roster-body{border-top:4px solid var(--line);flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.roster-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.875rem}.roster-chip{white-space:nowrap;font-size:.875rem}.roster-group{align-items:baseline;gap:.5rem;padding:.1rem 0;display:flex}.roster-group-head{letter-spacing:.06em;flex:0 0 6rem;font-size:1rem;font-weight:700}.roster-roles{flex-wrap:wrap;gap:.1rem .75rem;font-size:1rem;display:flex}.roster-faction{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-self:center;font-size:.875rem}.roster-item{white-space:nowrap}.roster-group[data-side=Evil],.roster-chip[data-side=Evil]{color:var(--side-evil)}.roster-group[data-side=Innocent],.roster-chip[data-side=Innocent]{color:var(--side-innocent)}.roster-group[data-side=Neutral],.roster-chip[data-side=Neutral]{color:var(--side-neutral)}.roster-item b,.roster-group-head b,.roster-chip b{font-weight:700}.roster-total{color:var(--muted);font-size:.85em}.roster-item.gone{color:var(--muted);text-decoration:line-through}.roster-group.gone,.roster-group.gone[data-side],.roster-chip.gone,.roster-chip.gone[data-side]{color:var(--muted)}.roster-chip.gone{text-decoration:line-through}#app.page-wide{max-width:42rem}.changelog{gap:0}.changelog-head{border-bottom:4px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:1.25rem 0 .5rem;padding-bottom:.35rem;display:flex}.changelog-head:first-child{margin-top:0}.changelog-version{font-family:var(--font-display);letter-spacing:.02em;font-size:1.25rem}.changelog-date{color:var(--muted);margin-left:auto;font-size:.875rem}.changelog-head.is-current{border-bottom-color:var(--gold)}.changelog-head.is-current .changelog-version{color:var(--gold)}.changelog-badge{background:var(--gold);color:var(--on-gold);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;padding:.1rem .4rem;font-size:1.25rem}.changelog-items{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.changelog-items li{overflow-wrap:anywhere;padding-left:1rem;font-size:1rem;position:relative}.changelog-items li:before{content:"";background:var(--phase-accent);width:.35rem;height:.35rem;position:absolute;top:.5em;left:0}.changelog-empty{color:var(--muted);text-align:center;margin:0}.changelog-back{color:var(--muted)}.changelog-back:hover,.changelog-back:focus-visible{color:var(--text)}.version-link{color:inherit;padding:.85rem 1rem;text-decoration:none;display:inline-block}.version-link:hover,.version-link:focus-visible{color:var(--text);text-decoration:underline}.how-rules-link{min-height:3rem;color:var(--muted);align-self:center;align-items:center;padding:0 1.25rem;font-size:1rem;text-decoration:underline;display:inline-flex}.how-rules-link:hover,.how-rules-link:focus-visible{color:var(--text)}.rules{gap:0}.rules-toc-nav{border-bottom:4px solid var(--line);margin-bottom:1.5rem;padding-bottom:1rem}.rules-toc-title,.rules-heading{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;margin:0 0 .5rem;font-weight:400}.rules-toc-title{font-size:1.25rem}.rules-toc{flex-direction:column;margin:0;padding-left:1.5rem;display:flex}.rules-toc a{color:var(--muted);padding:.5rem 0;display:inline-block}.rules-toc a:hover,.rules-toc a:focus-visible{color:var(--text)}.rules-section{margin-top:1.5rem;scroll-margin-top:1rem}.rules-heading{border-bottom:4px solid var(--line);padding-bottom:.35rem;font-size:1.5rem}.rules-sub{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;margin:1.25rem 0 .5rem;scroll-margin-top:1rem;font-size:1.25rem;font-weight:400}.rules-p{overflow-wrap:anywhere;margin:0 0 .75rem;line-height:1.5}.rules-p strong,.rules-list strong,.rules-table strong{font-weight:600}.rules-list{flex-direction:column;gap:.4rem;margin:0 0 .75rem;padding-left:1.5rem;line-height:1.5;display:flex}.rules-list li{overflow-wrap:anywhere}.rules-table-wrap{margin:0 0 .75rem;overflow-x:auto}.rules-table{border-collapse:collapse;width:100%}.rules-table th,.rules-table td{text-align:left;vertical-align:top;border:2px solid var(--line);padding:.5rem .75rem;line-height:1.4}.rules-table th:first-child,.rules-table td:first-child{white-space:nowrap}.rules-table th{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-weight:400}
