:root{--gray-1:#fcfcfc;--gray-2:#f7f7f6;--gray-3:#f0f0ee;--gray-4:#e6e6e3;--gray-6:#d6d6d2;--gray-8:#a8a8a3;--gray-10:#6f6f6a;--gray-11:#55554f;--gray-12:#1b1b19;--page:#f4f4f2;--red:#d4432e;--red-ink:#fff;--blue:#2c63b5;--blue-ink:#fff;--neutral:#d9c9a3;--neutral-ink:#4a3f28;--assassin:#16151389;--assassin-solid:#161513;--assassin-ink:#fff;--green:#2e8b57;--elevation-raised:0 0 0 1px #0000000d, 0 1px 3px #0000000d, 0 4px 10px -4px #0000000d;--elevation-raised-hover:0 0 0 1px #00000012, 0 1px 3px #00000012, 0 4px 10px -4px #00000014;--ring:0 0 0 1px #00000012;--border-hairline:1px;--ease-out:cubic-bezier(.23, 1, .32, 1);--radius-panel:14px;--radius-card:10px}@media (resolution>=2x){:root{--border-hairline:.5px}}@media (prefers-color-scheme:dark){:root{--gray-1:#1c1c1b;--gray-2:#202020;--gray-3:#262625;--gray-4:#2e2e2d;--gray-6:#3a3a38;--gray-8:#6a6a66;--gray-10:#9b9b96;--gray-11:#bdbdb8;--gray-12:#f2f2ef;--page:#151514;--neutral:#a8956c;--neutral-ink:#1b1b19;--assassin-solid:#000;--elevation-raised:0 0 0 1px #ffffff17;--elevation-raised-hover:0 0 0 1px #ffffff24;--ring:0 0 0 1px #ffffff17}.card.assassin{box-shadow:var(--elevation-raised), inset 0 0 0 1px #ffffff1f}}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--page);color:var(--gray-12);font-variant-numeric:tabular-nums;margin:0;font:14px/1.45 ui-sans-serif,system-ui,-apple-system,Helvetica Neue,sans-serif;overflow:hidden}h1,h2,p{margin:0}h2{color:var(--gray-10);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.dim{color:var(--gray-10);font-weight:400}::selection{background:var(--gray-12);color:var(--gray-1)}:focus-visible{outline:2px solid var(--gray-12);outline-offset:2px}.textbtn,.link{font:inherit;color:var(--gray-12);cursor:pointer;background:0 0;border:0;padding:0;transition:color .12s,opacity .12s;position:relative}.textbtn:before,.link:before{content:"";position:absolute;inset:-12px -8px}.textbtn[aria-pressed=true]{text-underline-offset:3px;text-decoration:underline}.textbtn:disabled,.link:disabled{opacity:.45;cursor:default}.link{text-underline-offset:3px;text-decoration:underline}@media (hover:hover) and (pointer:fine){.textbtn:hover:not(:disabled),.link:hover:not(:disabled){color:var(--gray-10)}}.share{position:relative}.share-menu{z-index:2;background:var(--gray-1);min-width:150px;box-shadow:var(--elevation-raised);transform-origin:100% 0;animation:pop-in .15s var(--ease-out) both;border-radius:12px;padding:6px;display:grid;position:absolute;top:calc(100% + 10px);right:-8px}.share-menu a,.share-menu button{font:inherit;text-align:left;color:var(--gray-12);cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:36px;padding:8px 10px;font-size:13px;text-decoration:none;transition:background-color .12s}@media (hover:hover) and (pointer:fine){.share-menu a:hover,.share-menu button:hover{background:var(--gray-3)}}.share-menu a:active,.share-menu button:active{background:var(--gray-4)}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.share-menu{animation:.15s both fade-in}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}:root{--topline-h:48px;--panel-w:380px}.screen{grid-template-rows:var(--topline-h) 1fr;grid-template-columns:1fr;height:100dvh;display:grid}.screen.with-panel{grid-template-columns:1fr var(--panel-w)}@media (width>=1640px){.screen.with-panel{grid-template-columns:1fr}.screen.with-panel .panel{top:var(--topline-h);width:var(--panel-w);position:fixed;bottom:0;right:0}}@media (width<=1100px){.screen.with-panel{grid-template-columns:1fr}.screen.with-panel .panel{width:auto;position:fixed;inset:0}}.topline{height:var(--topline-h);grid-column:1/-1;align-items:center;gap:18px;padding:0 24px;font-size:13px;display:flex}.brand{font-weight:600}.spacer{flex:1}.stage{place-items:center;min-height:0;padding:8px 24px 24px;display:grid;position:relative;overflow:auto}.board{justify-items:center;gap:22px;width:100%;max-width:820px;display:grid}@media (width<=1440px){.board{max-width:680px}}.table{justify-items:center;gap:22px;width:100%;display:grid}.seats{flex-wrap:wrap;justify-content:center;gap:32px;display:flex}.seat{justify-items:center;gap:6px;transition:opacity .15s;display:grid;position:relative}.bubble{background:var(--gray-1);width:max-content;max-width:168px;color:var(--gray-12);box-shadow:var(--elevation-raised);pointer-events:none;z-index:1;text-wrap:pretty;opacity:0;transform-origin:bottom;transition:opacity .16s var(--ease-out), transform .16s var(--ease-out);border-radius:10px;margin-bottom:10px;padding:6px 10px;font-size:12.5px;line-height:1.35;position:absolute;bottom:100%;left:50%;transform:translate(-50%,4px)scale(.96)}.bubble:after{content:"";background:var(--gray-1);border-radius:0 0 2px;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;top:100%;left:50%;transform:rotate(45deg);box-shadow:2px 2px 2px #0000000a}.bubble.on{opacity:1;transform:translate(-50%)scale(1)}.seat.human .bubble{transform-origin:0;max-width:260px;margin:0;top:10px;bottom:auto;left:calc(50% + 122px);transform:translate(-6px)scale(.96)}.seat.human .bubble.on{transform:translate(0)scale(1)}.seat.human .bubble:after{border-radius:0 0 0 2px;margin:0 0 0 -5px;top:14px;left:0;box-shadow:-2px 2px 2px #0000000a}@media (prefers-color-scheme:dark){.bubble,.bubble:after{background:var(--gray-3)}}.seat.out{opacity:.35}.seat-head{justify-items:center;gap:0;display:grid}.seat-name{font-size:13px;font-weight:600}.seat-tag{color:var(--gray-10);font-size:11px}.seat-foot{align-items:center;gap:12px;min-height:20px;display:flex}.coins{color:var(--gray-11);align-items:center;gap:5px;font-size:13px;display:inline-flex}.coins i{background:#e0b34a;border-radius:50%;width:10px;height:10px;box-shadow:inset 0 0 0 2px #f3d27a}.role{color:var(--gray-10);text-align:center;opacity:0;min-width:80px;font-size:11px;transition:color .15s,opacity .15s}.role:not(.none){opacity:1}.role.turn,.role.respond,.role.lose,.role.exchange,.role.block{color:var(--gray-12)}.role.target{color:var(--red)}.role.winner{color:var(--green)}.role.out{color:var(--gray-8)}.cards{justify-content:center;gap:8px;display:flex}.seat.current .cards{transform:translateY(-3px)}.seat.target .card{box-shadow:var(--elevation-raised), 0 0 0 2px var(--red)}.card{aspect-ratio:5/7;border-radius:var(--radius-card);text-align:left;width:104px;font:inherit;color:#fff;box-shadow:var(--elevation-raised);background:var(--gray-3);transition:transform .16s var(--ease-out), box-shadow .15s ease-out, opacity .15s ease;border:0;flex-direction:column;justify-content:flex-end;padding:10px;display:flex;position:relative}.cards{transition:transform .2s var(--ease-out)}.card.small{border-radius:8px;width:58px;padding:7px}.card-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}.card.small .card-name{letter-spacing:.01em;font-size:10px}.card.back{background:repeating-linear-gradient(135deg, var(--gray-4) 0 6px, var(--gray-3) 6px 12px)}.card.duke{background:#5b47a8}.card.assassin{box-shadow:var(--elevation-raised), inset 0 0 0 1px #ffffff1f;background:#2a2a2e}.card.captain{background:#2c63b5}.card.ambassador{background:#2e8b57}.card.contessa{background:#c23a2c}.card.revealed{opacity:.3;box-shadow:none}.card.revealed .card-name{text-decoration:line-through}.card.clickable{cursor:pointer}.card.clickable:active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.card.clickable:hover{box-shadow:var(--elevation-raised-hover);transform:translateY(-2px)}}.card.selected{box-shadow:0 0 0 2px var(--page), 0 0 0 4px var(--gray-12)}.card:disabled{cursor:default}.felt{text-align:center;gap:4px;min-height:44px;display:grid}.felt-text{letter-spacing:-.01em;text-wrap:balance;font-size:17px;font-weight:500}.felt-last{color:var(--gray-10);justify-content:center;align-items:center;gap:8px;min-height:1.5em;font-size:13px;display:inline-flex}.spinner{border:1.5px solid var(--gray-6);border-top-color:var(--gray-12);border-radius:50%;flex:none;width:10px;height:10px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result-actions{justify-content:center;align-items:center;gap:22px;min-height:52px;font-size:14px;display:flex}.share-result .share-menu{transform-origin:top;left:50%;right:auto;translate:-50%}.controls{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;min-height:52px;display:flex}.controls.actions{grid-template-columns:repeat(4,minmax(0,1fr));max-width:560px;display:grid}@media (width<=480px){.controls.actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.btn.action span,.btn.action small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.btn{font:inherit;cursor:pointer;transition:transform .16s var(--ease-out), box-shadow .15s ease-out, opacity .15s ease, background-color .15s ease;border:0;border-radius:8px;padding:8px 14px;font-weight:500}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.4;cursor:default}.btn:disabled:active{transform:none}.btn.action{text-align:left;background:var(--gray-1);color:var(--gray-12);box-shadow:var(--ring);gap:1px;padding:8px 12px;display:grid}.btn.action small{color:var(--gray-10);font-size:11px;font-weight:400}.btn.action.bluff small{color:#b0651a}.btn.action.quiet{box-shadow:none;background:0 0}@media (hover:hover) and (pointer:fine){.btn.action:hover:not(:disabled){box-shadow:var(--elevation-raised-hover)}}.controls-label{color:var(--gray-11);align-self:center;margin-right:4px;font-size:13px}.message{color:var(--gray-10);text-align:center}.message.err{color:var(--red)}.chat{gap:6px;width:280px;min-width:0;font-size:12.5px;display:grid;position:absolute;bottom:20px;left:24px}@media (width<=1440px){.chat{width:220px}}.chat-list{scrollbar-gutter:stable;align-content:end;gap:3px;height:200px;padding-right:6px;display:grid;overflow-y:auto}.chat-list::-webkit-scrollbar{width:8px}.chat-list::-webkit-scrollbar-thumb{background:#80808040;border-radius:4px}.chat-list::-webkit-scrollbar-track{background:0 0}.line{animation:row-in .2s var(--ease-out) both;align-items:baseline;gap:6px;display:flex}.line.event .text,.line.system .text{color:var(--gray-8);font-size:11.5px}.line.talk .text{color:var(--gray-11)}.line .who{color:var(--gray-12);flex:none;font-weight:600}.line .who.me{color:var(--gray-10)}.say input{width:100%;font:inherit;border:0;border-bottom:1px solid var(--gray-6);color:var(--gray-12);background:0 0;padding:7px 0;font-size:16px;transition:border-color .12s}.say input::placeholder{color:var(--gray-8)}.say input:focus{border-color:var(--gray-12);outline:none}@media (width<=1180px){body{overflow:auto}.screen{grid-template-rows:var(--topline-h) auto auto;height:auto;min-height:100dvh}.stage{display:block;overflow:visible}.board{margin:0 auto}.chat{width:100%;max-width:680px;margin:28px auto 0;position:static}}@media (width<=600px){.topline{gap:14px;padding:0 16px}.topline .dim{display:none}.stage{padding:4px 16px 8px}.board,.table{gap:16px}.seats{gap:14px}.seat{gap:4px}.card.small{border-radius:6px;width:44px;padding:5px}.card.small .card-name{font-size:9px}.seat-name{font-size:12px}.seat-tag{font-size:10px}.seat-foot{gap:8px}.role{min-width:0;font-size:10px}.card{width:84px;padding:7px}.card-name{letter-spacing:0;font-size:11px}.felt-text{font-size:16px}.felt-last{font-size:12px}.controls.actions{max-width:none}.btn.action{padding:8px 10px}.chat{margin-top:20px}.chat-list{height:140px}.seats{padding-top:68px}.bubble{max-width:100px;margin-bottom:8px;padding:5px 7px;font-size:11px;line-height:1.3}.seat.human .bubble{max-width:150px;left:calc(50% + 92px)}.notice{padding:20px 16px 24px}}.notice{text-align:right;max-width:440px;color:var(--gray-8);pointer-events:none;text-wrap:pretty;justify-items:end;gap:6px;font-size:11px;line-height:1.4;display:grid;position:fixed;bottom:12px;right:24px}.notice p{margin:0}.notice-mark{opacity:.55}.screen.with-panel .notice{display:none}@media (width<=1180px){.notice{text-align:center;justify-items:center;max-width:none;padding:16px 24px 20px;position:static}}.panel{background:var(--gray-1);border-left:var(--border-hairline) solid var(--gray-4);z-index:1;flex-direction:column;min-height:0;display:flex}.panel-head{border-bottom:var(--border-hairline) solid var(--gray-4);gap:10px;padding:14px 18px 12px;display:grid}.panel-title{justify-content:space-between;align-items:center;font-size:13px;display:flex}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tab{font:inherit;cursor:pointer;background:var(--gray-3);color:var(--gray-11);transition:transform .12s var(--ease-out), background-color .12s ease, color .12s ease;border:0;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:500;position:relative}.tab:before{content:"";position:absolute;inset:-8px 0}.tab:active{transform:scale(.96)}.tab[aria-selected=true]{background:var(--gray-12);color:var(--gray-1)}.slider{color:var(--gray-11);gap:6px;font-size:12px;display:grid}.slider em{color:var(--gray-12);font-style:normal}.slider b{font-weight:600}input[type=range]{width:100%;accent-color:var(--gray-12);margin:0}.panel-body{align-content:start;gap:6px;padding:10px 12px 14px;display:grid;overflow:auto}.empty{color:var(--gray-10);padding:6px;font-size:13px}.decision{background:var(--gray-2);box-shadow:var(--ring);animation:row-in .22s var(--ease-out) both;border-radius:10px}.decision-head{width:100%;font:inherit;text-align:left;color:var(--gray-12);cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:9px 11px;font-size:13px;display:grid}.decision-n{color:var(--gray-8);font-size:11px}.decision-moment b{font-weight:600}.decision-chosen{color:var(--gray-11);background:var(--gray-1);box-shadow:var(--ring);border-radius:999px;padding:2px 8px;font-size:12px}.decision-body{gap:10px;padding:0 11px 11px 43px;font-size:13px;display:grid}.quote{font-style:italic}.q{gap:4px;display:grid}.q-text{color:var(--gray-10);font-size:12px}.row{grid-template-columns:minmax(0,120px) 1fr 40px;align-items:center;gap:8px;display:grid}.row .word{white-space:nowrap;text-overflow:ellipsis;text-transform:capitalize;font-size:12px;font-weight:500;overflow:hidden}.row .p{text-align:right;color:var(--gray-10);font-size:12px}.row.chosen .word,.row.chosen .p{color:var(--gray-12);font-weight:600}.bar{background:var(--gray-3);border-radius:4px;height:10px;position:relative;overflow:hidden}.bar i{background:var(--gray-8);transform-origin:0;transform:scaleX(var(--p));transition:transform .32s var(--ease-out);border-radius:4px;position:absolute;inset:0}@starting-style{.bar i{transform:scaleX(0)}}.row.chosen .bar i{background:var(--gray-12)}.note{color:var(--gray-11);background:var(--gray-1);box-shadow:var(--ring);border-radius:6px;padding:6px 9px;font-size:12px}.meta{color:var(--gray-8);gap:12px;font-size:11px;display:flex}@keyframes row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.decision,.line{animation:none}.bar i,.role,.cards,.card{transition:none}.bubble{transition:opacity .16s;transform:translate(-50%)}.seat.human .bubble{transform:none}.spinner{border-top-color:var(--gray-6);animation:none}}
