@font-face{font-family:IM Fell English;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a8020b35c33b8e14-s.p.42g2gjcqmmkvt.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:IM Fell English Fallback;src:local(Times New Roman);ascent-override:88.71%;descent-override:35.6%;line-gap-override:0.0%;size-adjust:102.04%}.npeecq_className{font-family:IM Fell English,IM Fell English Fallback;font-style:normal;font-weight:400}.npeecq_variable{--font-serif:"IM Fell English", "IM Fell English Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/46a9e2f250689b4a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/76b70a1dbe058eb5-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2fb76073e23fd9e4-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6131cbbf5549afa2-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/45462fd7b7c12654-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ba63f6a0e436df8e-s.0szrwpqb9mkwe.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07c7676b89ed2778-s.p.45535valc9rzk.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.-KQRRa_className{font-family:Inter,Inter Fallback;font-style:normal}.-KQRRa_variable{--font-sans:"Inter", "Inter Fallback"}
@font-face{font-family:Caveat Brush;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b0852124ba524680-s.0-h8_7gm6e55s.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat Brush;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bbbeb3eb1c763348-s.p.1nj78fbjd7aa2.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:Caveat Brush Fallback;src:local(Arial);ascent-override:120.9%;descent-override:37.78%;line-gap-override:0.0%;size-adjust:79.41%}._2mUkhq_className{font-family:Caveat Brush,Caveat Brush Fallback;font-style:normal;font-weight:400}._2mUkhq_variable{--font-hand:"Caveat Brush", "Caveat Brush Fallback"}
:root{--bg:#0e0d0c;--surface:#171513;--surface-2:#211e1b;--border:#2f2a25;--text:#ece4d4;--muted:#998f80;--accent:#9e2a20;--accent-hover:#b5352a;--gold:#c2a46a;--parchment:#e8dcc0;--ink:#241a12;--danger:#d0503f;--good:#6f9fdc;--townsfolk:#4a84d8;--outsider:#79aee6;--minion:#c9503c;--demon:#a8261b;--traveller:#9a7cc4;--fabled:#c9a227;--radius:6px;--serif:var(--font-serif), "Iowan Old Style", "Palatino Linotype", Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;-webkit-tap-highlight-color:transparent;padding-bottom:env(safe-area-inset-bottom);font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}h1,h2,h3{line-height:1.2;font-family:var(--serif);letter-spacing:.01em;margin:0 0 8px;font-weight:400}h1{font-size:1.75rem}h2{font-size:1.3rem}h3{font-size:1.1rem}p{margin:0 0 8px}.topbar{z-index:20;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{font-family:var(--serif);color:var(--text);letter-spacing:.04em;font-size:1.3rem}.topbar nav{color:var(--muted);gap:22px;font-size:.95rem;display:flex}@media (max-width:600px){.brand-long{display:none}}.topbar nav a:hover{color:var(--text)}.container{max-width:1240px;margin:0 auto;padding:20px}.narrow{max-width:760px;margin-left:auto;margin-right:auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:16px}.stack{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:8px;display:flex}.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center}label,.label{color:var(--muted);margin-bottom:4px;font-size:.85rem;display:block}input,select,textarea{width:100%;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:16px}textarea{resize:vertical;min-height:80px}input:focus,select:focus,textarea:focus{outline:1px solid var(--gold);outline-offset:0}.btn{min-height:46px;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){border-color:#4a4239}.btn:disabled{opacity:.45}.btn.primary{background:var(--accent);color:#f6ecdc;border-color:var(--accent)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--danger);background:0 0;border-color:#5a2a24}.btn.ghost{background:0 0;border-color:#0000}.btn.block{width:100%}.btn.sm{min-height:38px;padding:6px 14px;font-size:.92rem}.tabs{top:calc(57px + env(safe-area-inset-top));z-index:10;background:var(--bg);border-bottom:1px solid var(--border);gap:4px;margin:0 0 16px;display:flex;position:sticky}.tabs button{min-height:46px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:0 12px;font-size:.95rem}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.game-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.game-head h1{margin-bottom:2px}.phase{font-family:var(--serif);color:var(--muted);font-variant:small-caps;letter-spacing:.05em;font-size:1.05rem}.phase.night{color:#a9b4d6}.phase.day{color:#d9c48f}.phase.won-good{color:#a7c3ea}.phase.won-evil{color:#e98b7c}.game-card.won-good{border-color:#2c4566;border-left:4px solid var(--townsfolk);background:linear-gradient(90deg,#4a84d838,#4a84d80f)}.game-card.won-evil{border-color:#5a2a24;border-left:4px solid var(--minion);background:linear-gradient(90deg,#c9503c3d,#c9503c0f)}.player{text-align:left;background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;cursor:pointer;align-items:center;gap:12px;margin-bottom:6px;padding:10px 12px;display:flex}.player.dead{opacity:.55}.player.dead .pname{text-decoration:line-through}.seat{width:30px;height:30px;color:var(--muted);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;font-size:.85rem;display:grid}.pname{font-weight:600}.badges{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.badge{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:3px;align-items:center;gap:4px;padding:1px 8px;font-size:.78rem;display:inline-flex}.badge.bad{color:#e09a8e;border-color:#5a2a24}.badge.good{color:#a7c3ea;border-color:#2c4566}.badge.info{color:#cfc4b2;border-color:#3b352e}.dead-mark{font-family:var(--serif);font-variant:small-caps;color:var(--muted)}.team-townsfolk{--team:var(--townsfolk)}.team-outsider{--team:var(--outsider)}.team-minion{--team:var(--minion)}.team-demon{--team:var(--demon)}.team-traveller{--team:var(--traveller)}.team-fabled,.team-loric{--team:var(--fabled)}.role-name{color:var(--team,var(--text));font-family:var(--serif);font-size:1.08em}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--radius);border:1px solid var(--border);min-height:38px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;padding:6px 14px;font-size:.9rem}.chip[aria-pressed=true]{background:var(--surface-2);color:var(--text);border-color:var(--gold)}.segmented{border:1px solid var(--border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented .chip{border:none;border-radius:0;min-height:34px}.toggle-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sheet-backdrop{z-index:50;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-top:1px solid var(--border);width:100%;max-width:760px;max-height:92dvh;padding:18px 18px calc(24px + env(safe-area-inset-bottom));border-radius:12px 12px 0 0;overflow-y:auto}.sheet-actions{bottom:calc(-24px - env(safe-area-inset-bottom));z-index:2;margin:8px -18px calc(-24px - env(safe-area-inset-bottom));padding:10px 18px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);position:sticky}.sheet .circle{min-width:260px;max-width:min(100%,92dvh - 300px)}.sheet-handle{background:var(--border);border-radius:2px;width:40px;height:4px;margin:0 auto 12px}@media (min-width:1000px){.sheet-backdrop.drawer{background:#00000059;justify-content:flex-end;align-items:stretch}.drawer .sheet{border-top:none;border-left:1px solid var(--border);max-width:460px;height:100dvh;max-height:none;padding-top:calc(20px + env(safe-area-inset-top));border-radius:0}.drawer .sheet-handle{display:none}.sheet-backdrop.dialog{align-items:center}.dialog .sheet{border:1px solid var(--border);border-radius:10px;max-width:720px}.dialog .sheet-handle{display:none}}.step{scroll-margin-top:calc(57px + 47px + 64px + env(safe-area-inset-top));align-items:flex-start;gap:12px;display:flex}.step .check{width:34px;height:34px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #4a4239;border-radius:50%;flex:none;place-items:center;font-size:.85rem;display:grid}.step.done .check{border-color:var(--gold);color:var(--gold);font-size:1rem}.step.done{opacity:.6}.step.collapsed{padding-top:10px;padding-bottom:10px}.step.collapsed h3{font-size:1rem}.step.current{opacity:1;box-shadow:0 0 0 2px var(--gold), 0 6px 24px #c2a46a1f}.step.current .check{border-color:var(--gold);color:var(--gold)}.step.skipped:not(.current){box-shadow:0 0 0 1px var(--danger)}.step-flag{letter-spacing:.06em;text-transform:uppercase;background:var(--gold);color:var(--ink);border-radius:3px;margin-bottom:6px;padding:2px 8px;font-size:.72rem;display:inline-block}.step-flag.warn-flag{color:var(--danger);border:1px solid var(--danger);background:0 0}.step.current.skipped .step-flag{background:var(--danger);color:#fff}.step-footer{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;display:flex}.step-footer .btn.ghost{align-self:flex-start}.night-progress{top:calc(57px + 47px + env(safe-area-inset-top));z-index:5;background:var(--bg);margin:0 0 10px;padding:8px 0;position:sticky}.night-progress-line{align-items:center;gap:10px;display:flex}.night-progress-now{text-align:left;min-width:0;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:1;padding:0;overflow:hidden}.night-bar{background:var(--surface-2);border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.night-bar span{background:var(--gold);height:100%;transition:width .3s;display:block}.night-strip{flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.strip-step{border:1px solid var(--border);min-height:32px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:16px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:.82rem;display:inline-flex}.strip-mark{background:var(--surface-2);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.75rem;display:grid}.strip-step.done{color:var(--muted);opacity:.7}.strip-step.done .strip-mark{color:var(--gold);background:0 0}.strip-step.current{color:var(--text);border-color:var(--gold)}.strip-step.current .strip-mark{background:var(--gold);color:var(--ink)}.strip-step.skipped{color:var(--text);border-color:var(--danger)}.strip-step.skipped .strip-mark{background:var(--danger);color:#fff}.night-remaining{border-color:#5a2a24}.link-btn{color:var(--gold);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.step.special{border-style:dashed}.warn{color:#e09a8e;font-size:.85rem}.log-item{border-bottom:1px solid var(--border);padding:9px 0}.log-item:last-child{border-bottom:none}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.stat{border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:8px}.stat b{font-family:var(--serif);font-size:1.5rem;font-weight:400;display:block}.stat span{color:var(--muted);font-size:.75rem}.tally{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:18px;margin-bottom:4px;font-size:.92rem;display:flex}.tally b{font-family:var(--serif);color:var(--text);font-size:1.15rem;font-weight:400}.error{color:var(--danger)}details>summary{cursor:pointer;padding:6px 0}.pending{opacity:.7;transition:opacity .2s}.step-player{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;padding:4px 0;display:block}.castle-name{font:inherit;color:var(--gold);cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.target-line{color:var(--muted);margin-top:4px;font-size:.92rem}.answer{color:#a7c3ea;border:1px solid #2c4566;border-radius:3px;margin-top:4px;padding:2px 10px;display:inline-block}@media (min-width:1000px){.board{grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr);align-items:start;gap:28px;display:grid}.board-grimoire{top:calc(76px + env(safe-area-inset-top));position:sticky}.board-grimoire .circle{max-width:min(100%,100dvh - 190px)}}.circle{aspect-ratio:1;width:100%;max-width:760px;margin:0 auto 36px;position:relative;container-type:inline-size}.circle-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:33%}.token{width:var(--token);height:var(--token);background-blend-mode:luminosity;color:var(--ink);font:inherit;cursor:pointer;background:url(/img/token.webp) 50%/cover,#dccaa2;border:none;border-radius:50%;padding:0;transition:transform .1s,box-shadow .15s;position:absolute;box-shadow:0 2px 6px #000000b3,inset 0 0 0 1px #00000040}.token:active{transform:scale(.96)}.token:disabled{opacity:.3;cursor:default}.token-icon{object-fit:contain;pointer-events:none;width:72%;height:72%;position:absolute;top:7%;left:14%}.token-arc{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.token-arc text{font-family:var(--serif);fill:var(--ink)}.token-blank{font-family:var(--serif);font-size:calc(var(--token) * .3);color:#241a1273;place-items:center;display:grid;position:absolute;inset:0}.token-name{max-width:140%;color:var(--text);font-size:max(11px, calc(var(--token) * .14));white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:2;background:#0e0d0ceb;border:1px solid #3d362e;border-radius:3px;padding:.2em .55em;line-height:1.15;position:absolute;top:88%;left:50%;overflow:hidden;transform:translate(-50%)}.token-seat{color:var(--muted);margin-right:.3em}.token-believed{color:var(--muted);text-overflow:ellipsis;font-size:.85em;font-style:italic;display:block;overflow:hidden}.token.dead:before{content:"";z-index:1;pointer-events:none;background:#0a090861;border-radius:50%;position:absolute;inset:0}.token.dead .token-icon,.token.dead .token-arc{filter:grayscale(.85)}.token-shroud{filter:drop-shadow(0 2px 2px #0009);z-index:2;pointer-events:none;background:url(/img/shroud.webp) top/100% 100% no-repeat;width:36%;height:64%;position:absolute;top:-6%;left:50%;transform:translate(-50%)}.token-vote{width:34%;height:34%;font-family:var(--serif);font-size:calc(var(--token) * .09);color:var(--ink);z-index:3;pointer-events:none;background:url(/img/vote.webp) 50%/cover;border-radius:50%;place-items:center;display:grid;position:absolute;top:-6%;right:-6%;box-shadow:0 1px 3px #000000b3}.token.selected{box-shadow:0 0 0 max(3px, .7cqw) var(--gold), 0 0 18px #c2a46a8c}.clock-hands{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.clock-hands .hand{transform-origin:50px 50px;transform:rotate(var(--to));filter:drop-shadow(0 1px 1.5px #000c);animation:1.8s cubic-bezier(.18,.75,.25,1.06) both hand-spin}.clock-hands .hand-edge{color:#0b0806}.clock-hands .hand-iron{color:#d2b475}.clock-hands .hand-short{--turns:-540deg;animation-duration:1.5s}.clock-hands .hand-long{--turns:-1080deg}@keyframes hand-spin{0%{transform:rotate(calc(var(--to) + var(--turns)));opacity:0}15%{opacity:1}to{transform:rotate(var(--to));opacity:1}}.token.nominator{box-shadow:0 0 0 max(3px, .6cqw) var(--gold), 0 0 16px #c2a46a80;animation:.4s 1.4s both nom-glow}.token.nominee{box-shadow:0 0 0 max(3px, .7cqw) var(--parchment), 0 0 22px #e8dcc099;animation:.4s 1.7s both nom-glow}@keyframes nom-glow{0%{box-shadow:0 2px 6px #000000b3}}@media (prefers-reduced-motion:reduce){.clock-hands .hand,.token.nominator,.token.nominee{animation:none}}.nominations{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px;display:flex}.nominations .chip b{color:var(--text);font-weight:600}.nom-pick{border:1px solid var(--gold);border-radius:var(--radius);background:var(--surface-2);margin-bottom:8px;padding:8px 10px}.reminder{width:var(--small);height:var(--small);color:var(--ink);font:inherit;cursor:pointer;background:url(/img/reminder.webp) 50%/cover;border:none;border-radius:50%;padding:0;line-height:1;position:absolute;overflow:hidden;box-shadow:0 1px 3px #0009}.reminder-icon{object-fit:contain;pointer-events:none;width:64%;height:64%;position:absolute;top:8%;left:18%}.reminder-text{font-family:var(--serif);font-weight:600;font-size:calc(var(--small) * .2);text-align:center;place-items:center;padding:10%;line-height:1.05;display:grid;position:absolute;inset:0}.howto{margin-top:8px}.howto summary{cursor:pointer;color:var(--gold);padding:4px 0;font-size:.9rem}.howto .wiki{overflow-wrap:anywhere;margin:6px 0;font-size:.9rem;line-height:1.5}.howto .wiki p,.howto .wiki ul{margin:0 0 8px}.howto .wiki ul{padding-left:18px}.howto .wiki img{max-width:100%;height:auto}.howto .wiki a{color:inherit;text-decoration:underline}.howto .wiki table{max-width:100%;display:block;overflow-x:auto}.transform{border-radius:var(--radius);border:1px dashed #4a4239;gap:6px;margin-top:6px;padding:8px 10px}.transform select{flex:1;min-width:0}.transform .done-line{color:var(--gold)}.qr{border-radius:var(--radius);background:#fff;width:min(70vw,260px);padding:10px}.qr svg{width:100%;height:auto;display:block}.reveal{text-align:center;align-items:center}.reveal-icon{object-fit:contain;background-blend-mode:luminosity;background:url(/img/token.webp) 50%/cover,#dccaa2;border-radius:50%;width:150px;height:150px;padding:14px}.reveal .role-name{margin:0;font-size:2rem}.reveal-team{color:var(--team,var(--gold));font-family:var(--serif);font-variant:small-caps;letter-spacing:.08em;margin:0;font-size:1.05rem}.script-role{border-bottom:1px solid var(--border);align-items:flex-start;padding:8px 0}.role-icon{object-fit:contain;flex:none;width:44px;height:44px;margin:-6px -4px}.role-icon.sm{width:36px;height:36px}.section-title{font-family:var(--serif);margin:22px 0 10px;font-size:1.3rem}.timer{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:10px;margin-bottom:16px;padding:12px 16px;display:flex}.timer-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.timer-clock{font-family:var(--serif);font-variant-numeric:tabular-nums;min-width:4ch;font-size:2.2rem;line-height:1}.timer-bar{background:var(--border);border-radius:2px;height:3px;overflow:hidden}.timer-bar span{background:var(--gold);height:100%;transition:width .25s linear;display:block}.timer.finished{border-color:var(--accent)}.timer.finished .timer-clock{color:var(--danger);font-size:2rem}.token-rank{background:var(--accent);color:#f6ecdc;vertical-align:.05em;border-radius:999px;place-items:center;min-width:1.35em;height:1.35em;margin-right:.35em;padding:0 .2em;font-size:.85em;line-height:1;display:inline-grid}.rank{background:var(--accent);color:#f6ecdc;border-radius:999px;place-items:center;min-width:1.6em;height:1.6em;margin-right:6px;font-size:.85rem;display:inline-grid}.bluffs{flex-wrap:wrap;gap:16px;display:flex}.bluff{text-align:center;width:86px;font-family:var(--serif);flex-direction:column;align-items:center;gap:4px;font-size:.95rem;display:flex}.bluff-token{background-blend-mode:luminosity;background:url(/img/token.webp) 50%/cover,#dccaa2;border-radius:50%;place-items:center;width:72px;height:72px;display:grid;box-shadow:0 2px 5px #0009}.bluff-icon{object-fit:contain;width:80%;height:80%}.chip:disabled{opacity:.4}.phase-nav{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:stretch;display:flex;overflow:hidden}.phase-current{font-family:var(--serif);white-space:nowrap;border-left:1px solid var(--border);border-right:1px solid var(--border);align-items:center;gap:8px;padding:6px 16px;font-size:1.25rem;display:flex}.phase-nav.night .phase-current{color:#b7c2e4}.phase-nav.day .phase-current{color:#e6cf8f}.phase-icon{flex:none;width:26px;height:26px}.phase-icon.sm{width:18px;height:18px}.phase-step{min-height:52px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0 12px;font-size:.9rem;display:flex}.phase-step:disabled{opacity:.3;cursor:default}.phase-step:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.phase-step.next{color:var(--text);background:var(--accent)}.phase-step.next:hover:not(:disabled){background:var(--accent-hover)}.phase-step-label{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.phase-chevron{flex:none;width:22px;height:22px}@media (max-width:600px){.game-head{flex-direction:column;align-items:stretch}.phase-nav{justify-content:space-between}.phase-step:not(.next) .phase-step-label{display:none}.phase-current{flex:1;justify-content:center}}.history-banner{border:1px solid var(--gold);border-radius:var(--radius);background:#c2a46a14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:.95rem;display:flex}.dawn-summary{border-style:dashed}.arrange{gap:8px;margin-bottom:8px}.arrange.pending{opacity:.6}.circle.arrangeable .token{touch-action:none;cursor:grab}.token.dragging{z-index:5;cursor:grabbing;transition:none;box-shadow:0 8px 24px #00000080}.token.drop-target{box-shadow:0 0 0 max(3px, .7cqw) var(--gold)}.script-row{border-bottom:1px solid var(--border);gap:8px;padding:8px 0}.guess-chip{align-items:center;gap:4px;display:inline-flex}.chip-icon{object-fit:contain;flex:none;width:22px;height:22px}.show-screen{z-index:200;color:var(--text);overscroll-behavior:contain;padding:calc(56px + env(safe-area-inset-top)) 20px calc(32px + env(safe-area-inset-bottom));background:#000;display:flex;position:fixed;inset:0;overflow-y:auto}.show-body{text-align:center;flex-direction:column;align-items:center;gap:28px;width:100%;max-width:900px;margin:auto;display:flex}.show-close{top:calc(10px + env(safe-area-inset-top));z-index:1;color:#5c554c;cursor:pointer;background:0 0;border:1px solid #2a2622;border-radius:50%;width:44px;height:44px;font-size:1.1rem;position:fixed;right:10px}.show-title{color:var(--gold);margin:0;font-size:clamp(1.8rem,6vw,3rem)}.show-roles{flex-wrap:wrap;justify-content:center;gap:22px 14px;display:flex}.show-role{flex-direction:column;align-items:center;gap:8px;width:min(26vw,180px);display:flex}.show-role .role-name{font-size:clamp(1.15rem,4vw,1.6rem);line-height:1.15}.show-token{aspect-ratio:1;background-blend-mode:luminosity;background:url(/img/token.webp) 50%/cover,#dccaa2;border-radius:50%;place-items:center;width:min(24vw,170px);display:grid;box-shadow:0 4px 14px #000000b3}.show-token-icon{object-fit:contain;width:80%;height:80%}.show-roles.single .show-role{width:min(86vw,520px)}.show-roles.single .show-token{width:min(60vw,260px)}.show-roles.single .role-name{font-size:clamp(1.8rem,7vw,2.6rem)}.show-ability{color:var(--muted);font-size:clamp(1rem,3.4vw,1.2rem);line-height:1.4}.show-players{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.show-player{border:1px solid var(--gold);font-family:var(--serif);border-radius:999px;padding:10px 22px;font-size:clamp(1.4rem,5vw,2.2rem)}.show-text{font-family:var(--serif);overflow-wrap:anywhere;font-size:clamp(1.8rem,7vw,3rem);line-height:1.15}.show-text.big{color:var(--parchment);font-size:clamp(5rem,28vw,10rem);line-height:1}.show-composer{z-index:60}.show-composer-actions{bottom:calc(-24px - env(safe-area-inset-bottom));margin:14px -18px calc(-24px - env(safe-area-inset-bottom));padding:12px 18px calc(16px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);position:sticky}.show-launch{margin-top:8px}.sheet-backdrop.confirm-backdrop{z-index:100;align-items:center;padding:16px}.confirm-sheet{border:1px solid var(--border);border-radius:10px;max-width:420px;padding:20px 18px}.confirm-message{margin:0 0 16px;font-size:1.05rem;line-height:1.4}.castle{z-index:30;background:var(--bg);touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.castle-loading{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.castle-hud{top:calc(10px + env(safe-area-inset-top));pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;left:10px;right:10px}.castle-hud>*{pointer-events:auto}.castle-room{font-family:var(--font-serif), serif;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);background:#0e0d0cb3;padding:4px 10px;font-size:1.15rem}.castle-music{align-items:center;gap:6px;display:inline-flex}.castle-volume{accent-color:#c9a227;cursor:pointer;width:90px}@media (max-width:640px){.castle-volume{width:64px}}.castle-ghost-veil{pointer-events:none;background:radial-gradient(75% 70%,#0000 55%,#c8d7eb29 78%,#d2def06b 100%);animation:6s ease-in-out infinite alternate castle-ghost-breathe;position:absolute;inset:0}@keyframes castle-ghost-breathe{0%{opacity:.8}to{opacity:1}}@media (prefers-reduced-motion:reduce){.castle-ghost-veil{animation:none}}.castle-crests{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:6px;margin-top:4px;display:grid}.castle-crest{color:inherit;cursor:pointer;font:inherit;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:6px 2px 4px;display:flex}.castle-crest .small{text-align:center;font-size:11px;line-height:1.15}.castle-crest[aria-pressed=true]{background:#c9a24a29;border-color:#c9a24a}.castle-crest-none{opacity:.6;place-items:center;width:40px;height:40px;font-size:22px;display:grid}.castle-letterbox{pointer-events:none;z-index:40;flex-direction:column;justify-content:space-between;animation:.8s both castle-fade-in;display:flex;position:absolute;inset:0}.castle-letterbox:before,.castle-letterbox:after{content:"";background:#000;height:11vh}.castle-letterbox span{text-align:center;color:#e8dcc4;letter-spacing:.04em;font-style:italic;position:absolute;bottom:3.5vh;left:16px;right:16px}.castle-fade{pointer-events:none;z-index:41;opacity:0;background:#000;transition:opacity .9s;position:absolute;inset:0}.castle-fade.on{opacity:1}@keyframes castle-fade-in{0%{opacity:0}to{opacity:1}}.castle-help{bottom:calc(10px + env(safe-area-inset-bottom));margin:0;position:absolute;right:12px}.castle-joystick{left:24px;bottom:calc(24px + env(safe-area-inset-bottom));touch-action:none;background:#ffffff0f;border:1px solid #ffffff26;border-radius:50%;place-items:center;width:128px;height:128px;display:grid;position:absolute}.castle-knob{pointer-events:none;background:#c2a46ab3;border-radius:50%;width:52px;height:52px}@media (hover:hover) and (pointer:fine){.castle-joystick{display:none}}@media (hover:none){.castle-help{display:none}}.castle-gate{background:#0e0d0c8c;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.castle-gate .card{width:100%;max-width:380px}.castle-error{top:calc(56px + env(safe-area-inset-top));border:1px solid var(--border);border-radius:var(--radius);background:#0e0d0ccc;margin:0;padding:6px 10px;position:absolute;left:10px;right:10px}.castle-count{border:1px solid var(--border);border-radius:var(--radius);background:#0e0d0cb3;padding:4px 8px}.castle-visits,.castle-night{top:calc(56px + env(safe-area-inset-top));border:1px solid var(--border);border-radius:var(--radius);background:#0e0d0ccc;margin:0;padding:6px 10px;position:absolute;left:10px;right:10px}.castle-visits{gap:6px;display:grid}.castle-error+.castle-visits,.castle-error+.castle-night{top:calc(100px + env(safe-area-inset-top))}@media (max-width:600px){.castle-btn-label,.castle-count{display:none}}.castle-look{touch-action:none;cursor:grab;position:absolute;inset:0}.castle-look:active{cursor:grabbing}.castle-selfview{right:12px;bottom:calc(36px + env(safe-area-inset-bottom));border:2px solid var(--gold);background:#000;border-radius:10px;width:112px;height:84px;position:absolute;overflow:hidden}.castle-selfview video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.embedded .topbar,.embedded .hide-embedded{display:none!important}.castle-panel{z-index:5;background:var(--bg);border-left:1px solid var(--border);width:min(100%,640px);padding-top:env(safe-area-inset-top);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #00000080}.castle-panel[hidden]{display:none}.castle-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.castle-panel iframe{background:var(--bg);border:0;flex:1;width:100%}.castle-look.locked{cursor:none}.castle-door{left:50%;bottom:calc(40px + env(safe-area-inset-bottom));background:#0e0d0cd9;position:absolute;transform:translate(-50%)}.castle-vote{top:calc(56px + env(safe-area-inset-top));text-align:center;border:1px solid var(--gold);border-radius:var(--radius);background:#0e0d0cd9;justify-items:center;gap:4px;max-width:min(92vw,520px);padding:8px 14px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.castle-seat{left:50%;bottom:calc(40px + env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;gap:8px;max-width:min(94vw,620px);display:flex;position:absolute;transform:translate(-50%)}.castle-seat>.btn:not(.primary){background:#0e0d0cd9}.castle-nominate{border-radius:var(--radius);background:#0e0d0cd9;flex-basis:100%;justify-content:center;padding:8px}.castle-error-inline{text-align:center;color:#f0a0a0;flex-basis:100%}.castle-error~.castle-vote{top:calc(100px + env(safe-area-inset-top))}.castle-map{padding:calc(60px + env(safe-area-inset-top)) 12px calc(56px + env(safe-area-inset-bottom));background:radial-gradient(#1a1512 0%,#0b0908 80%);position:absolute;inset:0}.castle-map svg{width:100%;height:100%;font-family:Inter,system-ui,sans-serif;display:block}.castle-map-room{cursor:pointer}.castle-map-room:hover rect{stroke:#c2a46a}.castle-map-help{left:50%;bottom:calc(12px + env(safe-area-inset-bottom));border:1px solid var(--border);border-radius:var(--radius);text-align:center;background:#0e0d0cd9;align-items:center;gap:8px;max-width:94vw;margin:0;padding:6px 10px;display:flex;position:absolute;transform:translate(-50%)}.castle-map-person{cursor:pointer}.castle-map-person:hover circle{stroke:#e8c877}.castle-wardrobe{z-index:5;top:calc(56px + env(safe-area-inset-top));border:1px solid var(--gold);border-radius:var(--radius);background:#0e0d0ceb;grid-template-columns:minmax(160px,240px) 1fr;gap:12px;width:min(94vw,680px);max-height:calc(100% - 100px);padding:12px;display:grid;position:absolute;left:50%;overflow:auto;transform:translate(-50%)}.castle-wardrobe-preview{border-radius:10px;height:320px;position:relative;overflow:hidden}@media (max-width:560px){.castle-wardrobe{grid-template-columns:1fr}.castle-wardrobe-preview{height:220px}}.castle-walk-toggle{align-items:center;gap:6px;display:flex}.vote-panel,.block-banner{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 10px;padding:6px 10px;display:flex}.block-banner{border-color:var(--gold)}.vote-pass{color:var(--gold);font-weight:600}.castle-quit{display:inline-flex;position:relative}.castle-quit-menu{z-index:6;flex-direction:column;gap:6px;min-width:190px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.castle-council{font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid var(--gold);border-radius:var(--radius);background:#0e0d0ccc;padding:4px 10px}.castle-council.shut{border-color:#b8463a}.castle-riddle{z-index:5;top:calc(70px + env(safe-area-inset-top));border:1px solid var(--gold);border-radius:var(--radius);background:#0e0d0ceb;flex-direction:column;gap:10px;width:min(92vw,460px);padding:12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.castle-riddle-page{color:#2a1d0e;text-align:center;background:#e9dcb8;border-radius:6px;min-height:150px;padding:18px 20px;font-family:Georgia,Times New Roman,serif;box-shadow:inset 0 0 24px #5a3c1459}.castle-riddle-title{color:#7a1f1f;margin-bottom:10px;font-size:1.15rem;display:block}.castle-riddle-text{margin:0;font-size:1.05rem;font-style:italic;line-height:1.45}.castle-riddle-actions{justify-content:space-between}.castle-voices{top:calc(56px + env(safe-area-inset-top));z-index:4;border:1px solid var(--border);border-radius:var(--radius);background:#0e0d0ce0;gap:6px;width:min(420px,100% - 20px);max-height:calc(100% - 120px);padding:8px 10px;display:grid;position:absolute;right:10px;overflow-y:auto}.castle-error+.castle-voices{top:calc(100px + env(safe-area-inset-top))}.castle-voice{border-top:1px solid #ffffff0f;grid-template-columns:1.6em minmax(0,1fr) auto;grid-template-areas:"mic name act"".range pct";align-items:center;gap:2px 8px;padding:4px 0;display:grid}.castle-voice-mic{grid-area:mic}.castle-voice-name{text-overflow:ellipsis;white-space:nowrap;grid-area:name;overflow:hidden}.castle-voice input[type=range]{grid-area:range}.castle-voice-pct{grid-area:pct}.castle-voice .btn{grid-area:act}.castle-voice-mic.off{filter:drop-shadow(0 0 3px #c83c3ccc)}.castle-voice input[type=range]{width:100%;accent-color:var(--gold)}.castle-voice-pct{color:inherit;font:inherit;cursor:pointer;text-align:right;background:0 0;border:0;padding:0;font-size:.85em}.castle-badge{color:#fff;text-align:center;background:#a33;border-radius:999px;min-width:1.4em;margin-left:4px;padding:0 4px;font-size:.75em;line-height:1.4em;display:inline-block}.castle-announce{left:50%;top:calc(104px + env(safe-area-inset-top));z-index:3;border:1px solid var(--gold);color:#f3dc9a;white-space:nowrap;pointer-events:none;background:#281c0ae0;border-radius:999px;padding:6px 14px;font-weight:600;animation:1.6s ease-in-out infinite alternate castle-announce;position:absolute;transform:translate(-50%)}@keyframes castle-announce{0%{box-shadow:0 0 #c9a22700}to{box-shadow:0 0 18px #c9a2278c}}.castle-weather{color:inherit;border:1px solid var(--border);border-radius:var(--radius);font:inherit;cursor:pointer;background:#0e0d0cb3;padding:4px 6px;font-size:.85rem}.castle-emotes{left:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:2;flex-direction:column;gap:6px;display:flex;position:absolute}@media (hover:none){.castle-emotes{bottom:calc(168px + env(safe-area-inset-bottom));left:18px}}.castle-emote{cursor:pointer;background:#0e0d0cb3;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:42px;height:42px;font-size:20px;line-height:1;transition:transform .15s,border-color .15s;display:grid;position:relative}.castle-emote:hover{border-color:var(--gold);transform:scale(1.08)}.castle-emote.on{border-color:var(--gold);box-shadow:0 0 12px #c9a22799}.castle-emote kbd{min-width:16px;color:var(--muted);background:#1c1915;border:1px solid #fff3;border-radius:4px;padding:0 3px;font-family:inherit;font-size:10px;line-height:14px;position:absolute;bottom:-4px;right:-4px}@media (hover:none){.castle-emote kbd{display:none}}
