@font-face{font-family:Nightfall;src:url(/fonts/PatrickHand-Regular.ttf) format("truetype");font-display:swap}.learn-guide>h3{font-size:28px;line-height:1.15;font-weight:400;margin:20px 0 12px;outline:none}.learn-guide p{font:13px/1.6 Arial,sans-serif;color:#dfc5b3;margin:0 0 14px}.learn-guide strong{color:#fff0dc;font-weight:600}.learn-progress{display:flex;align-items:center;gap:13px;font-size:15px;color:#a27f70}.learn-progress>span:first-child{color:#ffc4ab;font-size:13px}.learn-progress .current{color:#fff0dc}.learn-teams{display:grid;gap:22px;margin:26px 0}.learn-guide h4{font-size:21px;line-height:1.2;font-weight:400;margin:0 0 5px}.learn-teams article:nth-child(2) h4{color:#ff9275}.learn-teams p{margin:0 0 5px}.learn-teams small{display:block;color:#bd9b88;font:11px/1.5 Arial,sans-serif}.learn-guide .learn-tip{font-size:12px;color:#bfa08e;margin:22px 0 0}.learn-actions{list-style:none;counter-reset:learn;padding:0;margin:24px 0}.learn-actions li{counter-increment:learn;display:flex;align-items:flex-start;gap:14px;margin:0 0 22px}.learn-actions li:before{content:counter(learn);color:#b98d76;font-size:19px;min-width:14px}.learn-actions p{margin:0}.learn-actions blockquote{margin:7px 0 0;font-size:18px;line-height:1.3;color:#bfa08e}.learn-night{display:grid;gap:18px;margin:24px 0}.learn-night p{margin:0}.learn-teams article,.learn-night article{display:flex;align-items:center;gap:16px}.learn-teams article>div:last-child,.learn-night article>div{min-width:0}.learn-team-art{position:relative;display:flex;align-items:center;justify-content:center;width:84px;height:96px;flex-shrink:0}.learn-team-art img{width:62px;height:86px;object-fit:contain}.town-cards img{position:absolute;width:49px;height:70px}.town-cards img:nth-child(1){left:0;transform:translateY(5px) rotate(-14deg)}.town-cards img:nth-child(2){left:18px;transform:translateY(-6px)}.town-cards img:nth-child(3){right:0;transform:translateY(5px) rotate(14deg)}.learn-night article>img{width:62px;height:86px;object-fit:contain;flex-shrink:0}.learn-night{gap:20px}.learn-details{margin-top:17px;font-size:16px;color:#bfa08e}.learn-details summary{cursor:pointer;padding:6px 0}.learn-details p{margin:8px 0;font-size:12px}.learn-guide .learn-mode-note{font-size:11px;color:#bd9b88;margin:10px 0 0}.learn-navigation{display:flex;gap:10px;margin-top:26px}.learn-navigation .primary-button{flex:1}.learn-navigation .secondary-button{min-width:70px;background:transparent;color:#c7a591;border-color:transparent;box-shadow:none}.learn-guide .learn-navigation button{font-size:18px}.dialog.rules-dialog{width:760px;max-width:calc(100% - 24px)}.rules-dialog .dialog-body{padding:32px}.rules-dialog .learn-guide>h3{font-size:34px;margin-top:26px}.rules-dialog .learn-guide p{font-size:14px}.rules-dialog .learn-guide .learn-tip,.rules-dialog .learn-details p{font-size:13px}.rules-dialog .learn-guide .learn-mode-note{font-size:12px}.rules-dialog .learn-teams,.rules-dialog .learn-night{gap:26px}.rules-dialog .learn-night article>img{width:76px;height:104px}.rules-dialog .learn-team-art{width:104px;height:120px}.rules-dialog .learn-team-art>img{width:76px;height:104px}.rules-dialog .town-cards>img{width:61px;height:88px}.rules-dialog .town-cards>img:nth-child(2){left:22px}.rules-dialog .learn-navigation{justify-content:flex-end;margin-top:30px}.rules-dialog .learn-navigation .primary-button{flex:0 1 auto;min-width:190px}.rules-dialog .learn-actions{margin:28px 0}.rules-dialog .learn-actions li{margin-bottom:25px}@media(min-width:650px){.rules-dialog .learn-teams,.rules-dialog .learn-night{grid-template-columns:1fr 1fr}.rules-dialog .learn-teams article{align-items:flex-start;flex-direction:column;gap:16px}.rules-dialog .learn-teams .learn-team-art{justify-content:flex-start}.rules-dialog .learn-teams{margin:28px 0}.rules-dialog .learn-night{gap:26px 30px}}@media(max-width:649px){.rules-dialog .dialog-body{padding:24px}.rules-dialog .learn-guide>h3{font-size:28px}.rules-dialog .learn-team-art{width:84px;height:100px}.rules-dialog .learn-team-art>img,.rules-dialog .learn-night article>img{width:62px;height:86px}.rules-dialog .town-cards>img{width:49px;height:70px}.rules-dialog .town-cards>img:nth-child(2){left:18px}.rules-dialog .learn-navigation .primary-button{flex:1;min-width:0}}:root{font-family:Nightfall,Trebuchet MS,sans-serif;color:#f8e7d0;background:#100c0c;font-synthesis:none;--accent:#ff4b3e;--cream:#f8e7d0;--muted:#b79488;--line:#745047;--detective:#a7c5d0;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:0;color:inherit;background:transparent;cursor:pointer;transition:transform .18s,filter .18s,background .18s}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--cream);outline-offset:5px}a{color:inherit;text-decoration:none}button:not(:disabled):active{transform:translateY(2px)}img{display:block;max-width:100%}input,select{min-width:0}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.game-shell{position:relative;isolation:isolate;width:calc(100% - 32px);max-width:1760px;min-height:max(740px,calc(100svh - 32px));margin:16px auto;overflow:hidden;border-radius:15px;background:#160c0c;box-shadow:0 16px 70px #0006}.room-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:url(/art/room.webp) center/cover no-repeat}.room-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#05020216 0%,transparent 40%,#08040450 100%);pointer-events:none}.topbar{position:relative;z-index:5;display:flex;align-items:center;gap:22px;padding:20px 32px;min-height:100px;pointer-events:none}.topbar>*{pointer-events:auto}.wordmark{font-size:clamp(40px,4.7vw,70px);line-height:1;letter-spacing:2px;transform:rotate(-3deg);text-shadow:0 3px #120606}.topbar-controls{margin-left:auto;display:flex;gap:6px;align-items:center}.icon-button{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--cream);flex-shrink:0}.icon-button:hover{background:#f7dec019}.room-heading{align-self:flex-end;margin-bottom:4px}.room-code{display:flex;gap:8px;align-items:center;font-size:18px;letter-spacing:2px;background:#100908a3;border-radius:20px;padding:6px 12px}.player-count{display:flex;align-items:center;gap:8px;font-size:20px;margin-right:12px;white-space:nowrap}.count-total{margin-left:-6px}.case-notes-button{position:relative}.notes-dot{position:absolute;right:5px;top:5px;width:6px;height:6px;background:var(--detective);border-radius:50%}.scene-heading{position:absolute;z-index:3;top:0;left:50%;transform:translate(-50%);min-width:280px;max-width:34%;padding:28px 28px 22px;text-align:center;background:linear-gradient(#100a09,#100a09e8 80%,#100a0900)}.scene-heading h1{font-weight:400;line-height:1.1;font-size:clamp(38px,4vw,58px);margin:0 0 8px;letter-spacing:1px}.scene-heading p{color:#d5aea1;font-size:21px;margin:0}.is-landing .scene-heading{padding-top:42px}.is-landing .scene-heading h1{font-size:66px}.is-landing .scene-heading p{font-size:19px}.day-label{display:inline-flex;align-items:center;gap:8px;background:var(--cream);color:#140b09;border-radius:30px;font-size:19px;padding:3px 20px;margin-bottom:9px}.table-meta{display:flex;justify-content:center;gap:12px;margin-top:8px;font-family:Arial,sans-serif;font-size:9px;color:#c7a196;letter-spacing:1px}.rec{display:flex;align-items:center;gap:5px}.rec i{width:5px;height:5px;background:var(--accent);border-radius:50%}.preview-label{opacity:.8}.table-arena{position:absolute;top:0;right:0;bottom:0;left:0}.seat-slot{position:absolute;left:var(--x);top:var(--y);width:17%;height:32%;transform:translate(-50%,-100%);display:flex;align-items:center;justify-content:flex-end;flex-direction:column;z-index:2;pointer-events:none}.seat-button{position:relative;width:100%;height:calc(100% - 34px);padding:0;display:flex;align-items:flex-end;justify-content:center;pointer-events:auto;opacity:1!important}.character-art{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 10px 4px #0003);-webkit-user-select:none;user-select:none}.seat-name{display:flex;justify-content:center;align-items:center;gap:6px;background:#090606ed;border-radius:24px;padding:3px 18px;margin-bottom:8px;max-width:100%;font-size:21px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 3px #0004}.seat-name small{font-family:Arial,sans-serif;font-size:9px;color:#c8a497}.my-seat .seat-name{color:#ffb2a0}.seat-indicator{position:absolute;bottom:7%;right:12%;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#17100f;border:2px solid #47302c;color:#a8877b}.seat-indicator.available{color:#ff8069;border-color:#d34a39;background:#28120d}.empty-seat .character-art{opacity:.15;filter:grayscale(1)}.empty-seat .seat-name{color:#a58a81;background:#100b09bb;font-size:17px}.empty-symbol{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);border:1px dashed #b98c79;border-radius:50%;width:44px;height:44px;display:grid;place-items:center}.eliminated .character-art{filter:grayscale(1);opacity:.4}.eliminated .seat-name{text-decoration:line-through;color:#a58a81}.revealed-role{position:absolute;bottom:-22px;font-size:15px;background:#100a09d9;padding:0 12px;border-radius:12px;text-transform:capitalize}.revealed-role.mafia{color:var(--accent)}.many-seats .seat-slot{height:26%;width:13%}.many-seats .seat-name{font-size:18px}.landing-actions{position:absolute;z-index:4;left:50%;bottom:10%;transform:translate(-50%);width:clamp(250px,26vw,380px);display:flex;flex-direction:column;gap:12px}.art-button{padding:0;display:block;background:none;width:100%;border-radius:50px}.art-button img{width:100%;height:auto}.art-button:hover:not(:disabled){filter:brightness(1.13);transform:rotate(-1deg) scale(1.025)}.art-button:disabled{opacity:.4}.table-center{position:absolute;z-index:3;top:71%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;text-align:center;width:330px;max-width:32%;pointer-events:none}.table-center button{pointer-events:auto}.table-center h2{font-size:26px;font-weight:400;margin:12px 0 0;line-height:1.1}.role-summary{font-size:15px;color:#c6a89b;margin-top:8px;white-space:nowrap}.role-config-button{display:flex;align-items:center;justify-content:center;gap:8px;font-size:17px;color:#e6c4b1;padding:8px 0}.role-config-button>span{margin-left:auto;font-size:15px;color:#bb9183}.role-config-button:hover{color:var(--cream)}.table-center .role-config-button{font-size:15px;padding:5px;margin-top:3px}.center-phase{display:flex;align-items:center;gap:7px;font-size:20px;margin-top:6px}.table-timer{font-size:27px;line-height:1.15;font-variant-numeric:tabular-nums;color:#ffc4ab;letter-spacing:2px}.table-timer>span{opacity:.65}.phase-hint{font-size:16px;line-height:1.35;color:#e0bca9;margin:8px -30px 0;text-shadow:0 2px 5px #000}.phase-hint:empty{display:none}.spirit-orb{position:relative;width:103px;height:108px;display:flex;justify-content:center;align-items:flex-start;flex-shrink:0}.orb-glass{width:88px;height:88px;display:grid;place-items:center;border-radius:50%;border:5px solid #db5844;background:radial-gradient(circle at 40% 20%,#562622,#100b0b 70%);box-shadow:0 0 0 6px #ff4e2d23,0 0 22px #ff4e2d4d,inset 0 2px 6px #ffd8b877;color:var(--cream);z-index:1}.orb-glass svg{width:50px;height:50px}.orb-stand{position:absolute;bottom:0;width:100px;height:28px;background:#3c1b15;border:6px solid #0a0707;border-radius:50%;box-shadow:0 6px #070606}.orb-stand:before{content:"";position:absolute;bottom:7px;left:34px;width:20px;height:26px;background:#0a0707}.sound-wave{display:flex;align-items:center;gap:5px;height:50px}.sound-wave i{display:block;width:4px;height:17px;border-radius:5px;background:#ff7059;animation:wave 1s ease-in-out infinite alternate}.sound-wave i:nth-child(2),.sound-wave i:nth-child(4){height:27px;animation-delay:.3s}.sound-wave i:nth-child(3){height:38px;animation-delay:.6s}.many-seats .spirit-orb{display:none}.many-seats .table-center{top:91%;max-width:50%}.many-seats .table-center h2{margin:0;font-size:22px}.many-seats .role-summary{margin:3px 0}.many-seats .table-center .role-config-button{position:absolute;right:-85px;top:0}.many-seats .center-phase{margin:0}.many-seats .phase-hint{font-size:13px;margin-top:2px}.many-seats .table-timer{font-size:21px}.result-center{top:62%;padding:24px;background:#0c0808db;border-radius:20px}.result-card{height:160px;transform:rotate(-5deg);filter:drop-shadow(0 10px 10px #0005)}.result-center h2{font-size:36px;margin-top:18px}.table-controls{position:absolute;z-index:6;bottom:24px;left:50%;transform:translate(-50%);display:flex;justify-content:center;align-items:center;gap:24px;width:max-content;max-width:calc(100% - 40px);padding:8px 14px;border-radius:18px;background:#100807ba;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.voice-controls,.primary-actions{display:flex;gap:10px;align-items:center}.voice-summary{display:flex;flex-direction:column;font-size:17px;line-height:1.15;min-width:75px}.voice-summary small{font-family:Arial,sans-serif;font-size:9px;color:#b49388;margin-top:4px}.mic-button{height:44px;width:44px;display:grid;place-items:center;background:var(--cream);color:#140b09;border-radius:12px;flex-shrink:0}.mic-button.muted{background:var(--accent);color:#170b08}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:2px solid #130909;border-radius:14px;padding:9px 20px;min-height:44px;font-size:20px;line-height:1.2}.primary-button{background:var(--accent);color:#160b09;box-shadow:0 3px #070404}.secondary-button{background:var(--cream);color:#160b09}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{opacity:.45}.pocket-button{padding:0;width:160px;display:block;border-radius:30px}.pocket-button img{width:100%}.pocket-button:hover{filter:brightness(1.1)}.end-game{opacity:.65;width:30px}.role-pocket:empty,.primary-actions:empty{display:none}.is-night .room-backdrop{background-position:center 60%}.is-night:not(.is-choosing) .seated-players{display:none}.is-night:not(.is-choosing) .table-center{top:40%;background:#100908c4;padding:28px;border-radius:16px}.is-night .scene-heading{background:linear-gradient(#100a09,#100a09dd,transparent)}.is-choosing .room-backdrop:after{background:#090505b8}.selection-panel{position:absolute;top:25%;left:50%;transform:translate(-50%);width:min(85%,1000px);text-align:center}.selection-panel h2{font-size:34px;font-weight:400;margin:0 0 3px}.selection-status{font-size:19px;color:#cfae9e;margin:0 0 26px;min-height:24px}.vote-grid{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.vote-card{display:flex;flex-direction:column;align-items:center;width:calc((100% - 64px)/5);max-width:163px;padding:0 0 14px;border:2px solid #78564c;border-radius:7px;background:#130c0be0;overflow:hidden;font-size:23px}.vote-portrait{width:100%;height:150px;overflow:hidden;display:flex;align-items:flex-start;border-bottom:2px solid #78564c;margin-bottom:8px;background:linear-gradient(#1a1210,#34221b)}.vote-portrait img{width:100%;height:200px;object-fit:contain;object-position:center 14px;transform:scale(1.15)}.vote-card small{font-family:Arial,sans-serif;font-size:10px;color:#b18d80;margin:3px 0 12px}.vote-card:disabled{opacity:.4}.vote-card:not(:disabled):hover,.vote-card.selected{border-color:var(--accent);background:#38201a;transform:translateY(-4px)}.vote-card.selected .vote-portrait{border-color:var(--accent)}.vote-radio{width:22px;height:22px;border:2px solid var(--cream);border-radius:50%;padding:3px;display:block}.vote-radio i{display:block;width:100%;height:100%;background:var(--accent);border-radius:50%}.submit-vote{width:190px;margin:28px auto 0}.vote-progress{font-size:17px;color:#b89789;margin:12px 0}.selection-panel:has(.vote-card:nth-child(6)){top:21%;width:min(85%,950px)}.selection-panel:has(.vote-card:nth-child(6)) .vote-portrait{height:85px}.selection-panel:has(.vote-card:nth-child(6)) .vote-portrait img{height:140px;object-position:center 4px}.selection-panel:has(.vote-card:nth-child(6)) .vote-card{font-size:18px;padding-bottom:8px}.selection-panel:has(.vote-card:nth-child(6)) .vote-card small{margin:0 0 6px}.selection-panel:has(.vote-card:nth-child(6)) .selection-status{margin-bottom:16px}.selection-panel:has(.vote-card:nth-child(6)) .submit-vote{margin-top:16px}.notice{position:absolute;z-index:9;top:115px;left:24px;max-width:330px;display:flex;align-items:center;gap:12px;border:1px solid #855947;border-radius:10px;padding:12px 14px;background:#221310f5;font:13px/1.5 Arial,sans-serif;color:#efd0b7}.notice.error{border-color:#c55a48}.notice .icon-button{width:25px;height:25px}.dialog{position:fixed;padding:0;border:2px solid #69443a;border-radius:20px;background:#1b100efc;color:var(--cream);width:440px;max-width:calc(100% - 32px);max-height:90svh;box-shadow:0 30px 100px #000b;overflow:auto}.dialog::backdrop{background:#070303bd;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialog-body{padding:26px}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-header h2{font-size:31px;font-weight:400;margin:0}.dialog-header .icon-button{background:#3c241d;width:32px;height:32px}.dialog-note{font:12px/1.7 Arial,sans-serif;color:#c5a494}.entry-panel form{display:flex;flex-direction:column;gap:16px}.tabs{display:flex;background:#0d0807;border:1px solid #66473b;padding:4px;border-radius:10px;margin-bottom:20px}.tabs button{flex:1;padding:6px;border-radius:6px;font-size:19px;color:#bd9788}.tabs button.active{background:#724139;color:var(--cream)}.entry-panel input:not([type=checkbox]){width:100%;height:48px;background:#0f0908;border:1px solid #775247;border-radius:8px;padding:0 14px;font-size:20px;color:var(--cream)}.entry-panel input::placeholder{color:#b99686}.mode-options{display:flex;gap:9px}.mode-options button{display:flex;justify-content:center;align-items:center;gap:8px;flex:1;border:1px solid #6b463a;border-radius:8px;padding:11px 6px;font-size:17px;color:#d3ad99}.mode-options button.active{background:#48271f;border-color:#f28165;color:#ffe5c9}.setup-options{display:flex;align-items:center;justify-content:space-between;gap:10px;font:11px Arial,sans-serif;color:#c6a290}.preview-toggle{display:flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;flex-shrink:0;margin:0}.entry-panel .primary-button{width:100%}.rules-content>div{display:flex;gap:15px;margin:0 0 23px}.rules-content>div>svg{color:var(--accent);flex-shrink:0;margin-top:4px}.rules-content p{font:13px/1.7 Arial,sans-serif;color:#c7a795;margin:0}.rules-content strong{display:block;font:22px Nightfall,sans-serif;color:var(--cream);margin-bottom:3px}.rules-content .dialog-note{border-top:1px solid var(--line);padding-top:16px;font-size:11px}.rules-content .primary-button{width:100%;margin-top:23px}.game-log{display:flex;flex-direction:column;gap:18px}.log-event{display:flex;align-items:baseline;gap:16px;font:12px/1.6 Arial,sans-serif}.log-event>span{white-space:nowrap;color:#aa8373;font-size:11px}.log-event p{margin:0;color:#dec1ab}.log-event.elimination p{color:#ff9c81}.log-event.result p{color:var(--accent)}.log-downloads{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.log-downloads .secondary-button{font-size:17px}.mic-settings{display:flex;flex-direction:column;gap:22px;font:13px Arial,sans-serif;margin-top:15px}.mic-settings>div{min-width:0}.mic-settings label,.mic-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.mic-settings select{width:100%;font:inherit;color:inherit;background:#100908;border:1px solid #725044;border-radius:8px;padding:10px;text-overflow:ellipsis}.mic-settings p{font-size:11px;color:#c0a08e;line-height:1.6;margin:9px 0}.mic-meter{height:8px;border-radius:6px;background:#4b3127;overflow:hidden}.mic-meter span{display:block;height:100%;background:#acc88c;transition:width .1s}.mic-meter.clipping span{background:var(--accent)}.mic-settings input[type=range]{width:100%;height:22px;padding:0;accent-color:var(--accent);border:0;background:transparent}.mic-test strong{display:block;font-size:12px;margin-bottom:12px}.mic-test audio{width:100%;height:36px;margin-top:8px}.mic-test button{font-size:18px;width:100%}.role-settings{display:flex;flex-direction:column;gap:16px}.role-preset,.role-count-row{display:flex;justify-content:space-between;align-items:center;font-size:22px;gap:18px}.role-count-row>span{display:flex;align-items:center;gap:10px}.role-settings input,.role-settings select{border:1px solid #775247;border-radius:8px;background:#100908;color:var(--cream);padding:8px 12px;font:inherit}.role-settings input{width:76px;text-align:center}.role-config-error{font:12px/1.6 Arial,sans-serif;color:#ffb2a0;margin:5px 0}.private-findings{width:100%;max-height:160px;overflow:auto;margin:0 0 20px;padding:12px 15px;background:#100908;border:1px solid #654438;border-radius:9px}.private-findings h3{font-size:19px;font-weight:400;color:#dbc1ad;margin:0 0 9px}.private-findings p{display:flex;justify-content:space-between;gap:12px;font:12px/1.6 Arial,sans-serif;color:#cdb3a0;margin:6px 0}.private-findings .mafia{color:#ff9780}.private-findings .town{color:#c5daa4}.role-dialog{width:430px;background:radial-gradient(ellipse at center,#4e271e,#160d0b 80%)}.role-dialog .dialog-header{margin-bottom:3px}.role-reveal{display:flex;flex-direction:column;align-items:center;padding:14px 0 7px;perspective:1200px}.role-flipper{width:235px;height:310px;padding:0;perspective:1100px;background:transparent;border-radius:14px}.role-flipper-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.7,.2,1)}.role-flipper.is-flipped .role-flipper-inner{transform:rotateY(180deg)}.role-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}.role-back{border:3px solid var(--cream);background:repeating-linear-gradient(45deg,#341914,#341914 8px,#3f211a 8px,#3f211a 9px);box-shadow:inset 0 0 0 7px #190d0a,inset 0 0 0 9px #a87152,0 14px 30px #03000066;color:var(--cream)}.back-ornament{display:grid;place-items:center;width:112px;height:112px;border:1px solid #edb98f66;border-radius:50%;box-shadow:0 0 0 8px #e9b8880d}.back-ornament svg{fill:#ff4b3e;stroke:#ff4b3e}.card-back-name{position:absolute;bottom:47px;letter-spacing:3px;font-size:16px}.card-corner{position:absolute;left:17px;top:17px;display:flex;flex-direction:column;gap:1px;font-size:22px;line-height:1}.card-corner small{font-size:15px}.card-corner.bottom{top:auto;left:auto;bottom:17px;right:17px;transform:rotate(180deg)}.role-front{transform:rotateY(180deg);filter:drop-shadow(0 12px 14px #0004)}.role-front img{width:100%;height:100%;object-fit:fill}.reveal-hint{font-size:18px;text-align:center;color:#e2bca6;min-height:23px;margin:22px 0 17px}.role-reveal>.primary-button{min-width:235px}.role-dialog[open] .role-flipper{animation:role-deal .7s cubic-bezier(.2,.7,.2,1) both}@keyframes role-deal{0%{opacity:0;transform:translateY(85px) rotate(-13deg) scale(.8)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes wave{0%{transform:scaleY(.4);opacity:.6}to{transform:scaleY(1);opacity:1}}@media(min-width:1500px){.seat-slot{height:34%}.table-center{top:72%}.landing-actions{bottom:9%}}@media(max-width:1100px)and (min-width:701px){.game-shell{min-height:720px}.topbar{padding:22px}.wordmark{font-size:48px}.room-heading{position:absolute;top:80px;left:20px}.topbar-controls{gap:0}.player-count{font-size:17px;margin-right:3px}.icon-button{width:32px}.scene-heading{min-width:240px;padding-left:15px;padding-right:15px}.scene-heading h1{font-size:40px}.seat-name{font-size:18px;padding:3px 12px}.table-controls{gap:12px}.primary-button,.secondary-button{font-size:18px;padding:9px 14px}.pocket-button{width:140px}.table-center{max-width:35%}.role-summary{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.scene-heading .role-config-button{margin:4px auto 0;padding:2px;font-size:15px}.scene-timer,.dense-status{display:none}.table-room:has(.many-seats) .scene-timer{display:block;font-size:19px;color:#ffc4ab}.table-room:has(.many-seats) .dense-status:not(:empty){display:block;font-size:13px;margin-top:5px}.table-room:has(.many-seats) .scene-heading:has(.dense-status:not(:empty)){background:#100a09f5}.vote-card>span:not(.vote-portrait):not(.vote-radio){max-width:100%;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preflight-next{width:100%;margin-top:18px}.preflight-leave{display:block;margin:15px auto 0;font-size:16px;color:#c8a899;text-decoration:underline}.sound-setting{display:flex;align-items:center;gap:9px;margin:20px 0;font-size:18px}.seat-readiness{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);white-space:nowrap;font:11px Arial,sans-serif;background:#1a100de8;color:#d5ad95;border-radius:12px;padding:3px 9px}.seat-readiness.ready{color:#c5d997}.spectator-label{display:inline-block;color:#ffc4ab;border:1px solid #976352;border-radius:20px;font-size:15px;padding:3px 12px;margin-top:5px}.scene-heading .spectator-event{font-size:14px;line-height:1.3;margin:8px 0;color:#ead1bb}.is-spectating.is-night .seated-players{display:block}.is-spectating.is-night .table-center{top:71%;background:transparent;padding:0}.countdown-urgent .table-timer,.countdown-urgent .scene-timer{color:#ff735d!important}.scene-heading .role-summary{white-space:normal;font-size:13px;line-height:1.35}.is-spectating .table-room .dense-status,.is-spectating .table-meta{display:none!important}#root{min-height:100svh;display:grid;place-items:center;padding:12px}.game-shell{width:min(100%,1760px,calc((100svh - 24px)*2));height:min(calc((100vw - 24px)*.5625),calc(100svh - 24px));min-height:0;margin:0}.rotate-prompt{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;background:radial-gradient(ellipse at 50% 40%,#482019,#160c0c 65%)}.rotate-prompt h1{font-size:32px;font-weight:400;line-height:1.2;margin:26px 0 10px}.rotate-prompt p,.rotate-prompt small{font:14px/1.6 Arial,sans-serif;color:#c6a897;margin:0}.rotate-prompt small{margin-top:18px;font-size:12px}.rotate-illustration{position:relative;width:104px;height:90px;color:var(--cream)}.rotate-illustration>svg:first-child{width:76px;height:76px;transform:rotate(90deg);position:absolute;left:10px;top:12px;stroke-width:1.3}.rotate-illustration>svg:last-child{position:absolute;right:-4px;top:-10px;width:34px;height:34px;color:var(--accent)}@media(orientation:portrait)and (max-width:1024px){.game-shell{visibility:hidden}body{overflow:hidden}}@media(orientation:landscape)and (max-height:600px),(orientation:landscape)and (max-width:1100px){#root{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);min-height:100svh}.game-shell{width:100%;height:min(calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom)),calc((100vw - env(safe-area-inset-left) - env(safe-area-inset-right))*.5625));min-height:0;max-width:1440px;border-radius:0;margin:0}.topbar{padding:10px 16px;min-height:60px;gap:12px;align-items:center;flex-wrap:nowrap}.wordmark{font-size:34px;letter-spacing:1px}.topbar-controls{gap:0;max-width:none;flex-wrap:nowrap}.icon-button{width:36px;height:40px}.icon-button svg{width:18px}.player-count{font-size:16px;margin-right:4px;gap:5px}.player-count svg{width:17px}.room-heading{position:absolute;top:61px;left:16px;margin:0}.room-code{font-size:13px;padding:4px 9px;letter-spacing:1px}.scene-heading,.is-landing .scene-heading{top:0;min-width:180px;max-width:38%;padding:8px 12px 14px}.scene-heading h1,.is-landing .scene-heading h1{font-size:30px;margin:0 0 3px}.scene-heading p,.is-landing .scene-heading p{font-size:14px}.day-label{font-size:13px;padding:1px 13px;margin-bottom:3px}.table-meta{font-size:8px;margin-top:3px}.role-summary{font-size:12px;margin-top:3px}.scene-heading .role-config-button{font-size:13px;margin:1px auto 0}.seat-slot{width:16%;height:34%}.seat-button{height:calc(100% - 25px)}.seat-name,.many-seats .seat-name{font-size:14px;margin-bottom:4px;padding:3px 10px;gap:4px}.seat-name small{font-size:7px}.seat-readiness{font-size:8px}.empty-seat .seat-name{font-size:12px}.empty-symbol{width:30px;height:30px}.seat-indicator{width:21px;height:21px;bottom:5%;right:5%;border-width:1px}.seat-indicator svg{width:12px}.revealed-role{font-size:11px;bottom:-15px}.many-seats .seat-slot{height:29%;width:13%}.many-seats .table-center{display:none}.landing-actions{width:clamp(155px,24vw,220px);bottom:7%;gap:5px}.table-center{top:65%;max-width:33%;width:240px}.table-center h2{font-size:18px;margin:4px 0 0}.spirit-orb{width:58px;height:64px}.orb-glass{width:52px;height:52px;border-width:3px;box-shadow:0 0 0 4px #ff4e2d23,0 0 15px #ff4e2d4d}.orb-glass svg{width:30px;height:30px}.orb-stand{width:57px;height:17px;border-width:4px}.orb-stand:before{left:16px;width:14px;height:18px}.sound-wave{transform:scale(.65);height:38px}.center-phase{font-size:15px;margin-top:0}.table-timer{font-size:18px}.phase-hint{font-size:12px;margin:3px -30px 0}.table-controls{bottom:8px;max-width:calc(100% - 24px);padding:5px 9px;gap:12px;flex-wrap:nowrap}.voice-controls,.primary-actions{gap:7px}.voice-summary{font-size:14px;min-width:65px}.voice-summary small{font-size:8px;margin-top:2px}.mic-button{width:40px;height:40px}.primary-button,.secondary-button{font-size:17px;padding:7px 13px;min-height:40px;border-radius:11px}.pocket-button{width:116px}.end-game{width:30px}.selection-panel,.selection-panel:has(.vote-card:nth-child(6)){top:23%;width:88%}.selection-panel h2{font-size:23px}.selection-status,.selection-panel:has(.vote-card:nth-child(6)) .selection-status{font-size:13px;min-height:16px;margin:0 0 8px}.vote-grid{gap:8px;flex-wrap:nowrap}.vote-card,.selection-panel:has(.vote-card:nth-child(6)) .vote-card{flex:1;min-width:0;max-width:125px;font-size:15px;padding-bottom:5px}.vote-portrait,.selection-panel:has(.vote-card:nth-child(6)) .vote-portrait{height:clamp(48px,16svh,95px);margin-bottom:3px}.vote-portrait img,.selection-panel:has(.vote-card:nth-child(6)) .vote-portrait img{height:clamp(75px,25svh,145px);object-position:center 4px}.vote-card small,.selection-panel:has(.vote-card:nth-child(6)) .vote-card small{font-size:8px;margin:0 0 3px}.vote-radio{width:17px;height:17px;padding:2px}.submit-vote,.selection-panel:has(.vote-card:nth-child(6)) .submit-vote{width:125px;margin:10px auto 0}.vote-progress{font-size:12px;margin:3px 0}.notice{top:66px;left:12px;max-width:270px;padding:8px 10px;font-size:11px}.dialog{max-height:calc(100svh - 20px);max-width:calc(100% - 32px - env(safe-area-inset-left) - env(safe-area-inset-right))}.dialog-body,.rules-dialog .dialog-body{padding:18px 24px}.dialog-header{margin-bottom:12px}.dialog-header h2{font-size:26px}.role-reveal{padding:0}.role-flipper{width:125px;height:165px}.card-back-name{bottom:23px;font-size:12px}.back-ornament{width:70px;height:70px}.card-corner{font-size:15px;left:12px;top:12px}.card-corner.bottom{bottom:12px;right:12px}.card-corner small{font-size:10px}.reveal-hint{font-size:15px;min-height:0;margin:9px 0}.role-reveal>.primary-button{min-width:180px}.private-findings{max-height:90px;margin-bottom:10px}.result-center,.many-seats .table-center.result-center{display:flex;top:51%;padding:12px;max-width:40%}.result-card{height:90px}.result-center h2{font-size:26px;margin-top:6px}.is-night:not(.is-choosing) .table-center{top:49%;padding:14px;max-width:45%}.spectator-label{font-size:13px;margin-top:3px}.scene-heading .spectator-event{font-size:10px;max-width:240px;margin:3px auto 0}}@media(orientation:landscape)and (max-height:360px){.scene-heading h1,.is-landing .scene-heading h1{font-size:25px}.day-label{font-size:11px}.scene-heading p,.is-landing .scene-heading p{font-size:12px}.selection-panel,.selection-panel:has(.vote-card:nth-child(6)){top:21%}.selection-panel h2{font-size:20px}.selection-status,.selection-panel:has(.vote-card:nth-child(6)) .selection-status{margin-bottom:5px;font-size:12px}.vote-portrait,.selection-panel:has(.vote-card:nth-child(6)) .vote-portrait{height:42px}.vote-card,.selection-panel:has(.vote-card:nth-child(6)) .vote-card{font-size:13px}.vote-card small,.selection-panel:has(.vote-card:nth-child(6)) .vote-card small{display:none}.submit-vote,.selection-panel:has(.vote-card:nth-child(6)) .submit-vote{margin-top:7px;width:110px}.table-center .phase-hint{display:none}.table-center{top:64%}.spirit-orb{display:none}}.many-seats .table-center:not(.result-center){display:none}.selection-panel:has(.vote-card:nth-child(6)) .vote-grid{flex-wrap:nowrap;gap:8px}.game-shell.is-choosing .scene-timer{display:none}@media(orientation:landscape)and (max-height:360px){.selection-panel,.selection-panel:has(.vote-card:nth-child(6)){width:96%;top:25%}.selection-panel h2{font-size:18px}.is-choosing .scene-heading{padding-bottom:4px}.vote-progress{display:none}.selection-panel:has(.vote-card:nth-child(6)) .vote-grid{gap:3px}.vote-card>span:not(.vote-portrait):not(.vote-radio){padding:0 2px}}.recording-notice{font:12px/1.55 Arial,sans-serif;color:#e3c2b0;margin:0}.consent-check{display:flex;align-items:flex-start;gap:10px;font:12px/1.6 Arial,sans-serif;color:#d0b09f;cursor:pointer}.consent-check input{width:20px;height:20px;margin-top:2px}.consent-check a{text-decoration:underline;text-underline-offset:3px;color:var(--cream)}.legal-links{position:absolute;z-index:5;left:22px;bottom:12px;display:flex;gap:16px;font:11px/1.4 Arial,sans-serif;color:#c7a593}.legal-links a{padding:8px 0;text-decoration:underline;text-underline-offset:3px}.rotate-prompt .legal-links{left:50%;transform:translate(-50%);bottom:20px}body:has(.legal-page){overflow:auto;background:#160c0c}.legal-page{width:100%;max-width:840px;padding:28px 24px;color:#f8e7d0}.legal-page header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:48px}.legal-page .wordmark{font-size:42px}.legal-page nav{display:flex;gap:20px;font:13px/1.5 Arial,sans-serif;flex-wrap:wrap}.legal-page a{text-decoration:underline;text-underline-offset:4px}.legal-page .wordmark{text-decoration:none}.legal-page a[aria-current=page]{color:#ff9b85}.legal-page h1{font-size:38px;font-weight:400;margin:0 0 12px}.legal-page h2{font-size:25px;font-weight:400;margin:32px 0 12px}.legal-page p{font:15px/1.8 Arial,sans-serif;white-space:pre-line;color:#dec7b7;margin:0 0 18px;overflow-wrap:anywhere}.legal-page .legal-effective{font-size:13px;color:#b39483}.legal-recording{border-left:2px solid var(--accent);padding:2px 0 2px 18px;margin:28px 0}.legal-recording strong{display:block;font-size:21px;font-weight:400;margin-bottom:8px}.legal-recording p{font-size:13px;margin:0}.legal-page footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:28px 0 10px;border-top:1px solid #5c3b31;margin-top:36px;font:13px/1.6 Arial,sans-serif}.legal-page ul{font:15px/1.8 Arial,sans-serif;color:#dec7b7;padding-left:24px;margin:0 0 18px}.legal-page li{margin-bottom:8px}.seat-settings{border:0;border-bottom:1px solid #f5decb25;padding:0 0 16px;margin:0 0 6px;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.seat-settings legend{margin-bottom:10px;color:var(--cream, #f5decb)}.seat-settings label{display:flex;align-items:center;justify-content:space-between;gap:12px}.seat-settings input{width:64px;text-align:center}.seat-settings p,.seat-settings small{grid-column:1 / -1;margin:0;color:#bca69b}.seat-settings small{font-size:.85rem}.lobby-seat-mix{display:block;font-size:.85rem;color:#bca69b;margin-top:3px}.dialog.create-dialog{width:680px}.table-settings{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:8px 0}.table-settings fieldset{min-width:0;padding:0;margin:0;border:0}.table-settings legend{font-size:22px;margin-bottom:10px;padding:0}.table-settings small{color:var(--muted);font-size:13px;font-weight:400}.table-settings legend small{margin-left:8px}.table-settings .count-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.table-settings label{display:flex;flex-direction:column;gap:5px;font-size:18px}.table-settings label span{white-space:nowrap}.table-settings input,.table-settings select,.entry-panel .table-settings input:not([type=checkbox]){width:100%;height:38px;padding:4px 10px;border:1px solid #775247;border-radius:7px;background:#100908;color:var(--cream);font-size:20px;text-align:center}.table-settings .preset-field{flex-direction:row;align-items:center;justify-content:space-between;margin-top:15px}.table-settings .preset-field select{width:130px}.table-settings>.role-config-error{grid-column:1/-1}@media(orientation:landscape)and (max-height:600px){.create-dialog .entry-panel form{gap:10px}.create-dialog .tabs{margin-bottom:10px}.table-settings{padding:12px 0;gap:18px}.table-settings legend{margin-bottom:6px;font-size:20px}.table-settings .count-grid{gap:8px}.table-settings label{font-size:16px;gap:3px}}.is-speaking .character-art{transform-origin:50% 92%;animation:speaker-wiggle .55s ease-in-out infinite;filter:drop-shadow(0 0 9px #ff6b48b3) drop-shadow(0 0 22px #ff4b3e66)}.is-speaking .seat-name{box-shadow:0 0 0 1px #ff8b70,0 0 14px #ff4b3e66}@keyframes speaker-wiggle{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg) translateY(-2px)}}body:has(.landing-description:not([hidden])){overflow-y:auto}#root:has(.landing-description:not([hidden])){display:flex;flex-direction:column;align-items:center;justify-content:flex-start}#root:has(.landing-description:not([hidden])) .game-shell{flex-shrink:0}.landing-description{width:min(760px,100%);padding:24px 24px 32px;color:#c7a593;text-align:center}.landing-description h2{margin:0 0 10px;color:var(--cream);font-size:25px;font-weight:400}.landing-description p{margin:0;font:14px/1.75 Arial,sans-serif}@media(orientation:landscape)and (max-height:600px){.landing-description{padding:22px 28px}.landing-description h2{font-size:22px}.landing-description p{font-size:13px}}.landing-description>a{display:inline-block;margin-top:14px;color:var(--cream);font-size:18px;text-decoration:underline;text-underline-offset:4px}.room-invite{position:relative;display:flex;align-items:center;gap:5px}.invite-button{white-space:nowrap;background:#f6dfc2;color:#21110d;border-color:#f6dfc2}.invite-fallback{position:absolute;bottom:calc(100% + 10px);left:0;width:min(330px,70vw);padding:12px;border-radius:9px;background:#281713;color:var(--cream);font:13px/1.5 Arial,sans-serif;z-index:8}.invite-fallback input{display:block;width:100%;margin-top:7px;padding:9px;background:#100908;color:var(--cream);border:1px solid #775247;border-radius:5px;font:13px Arial,sans-serif}@media(orientation:landscape)and (max-width:700px){.primary-actions .invite-button{font-size:15px;padding:8px 10px;gap:5px}.primary-actions .invite-button>svg:last-child{display:none}.primary-actions .room-invite>.icon-button{width:28px}}.lobby-edit-button{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 10px;border-radius:16px;background:#261510cc;color:#efcbb7;font-size:17px}.lobby-edit-button:hover{background:#48271f}.table-settings-save{width:100%;margin-top:18px}@media(orientation:landscape)and (max-height:600px){.lobby-edit-button{font-size:13px;margin-top:4px;padding:3px 8px}}.is-lobby .scene-heading{background:none}.room-heading{display:flex;align-items:center;gap:8px}.room-heading .lobby-edit-button{margin-top:0}.landing-footer{width:100%;padding:0 24px 28px}.landing-footer .legal-links{position:static;justify-content:center;gap:24px}.player-menu{display:flex;flex-direction:column;gap:16px}.player-menu button{width:100%}.join-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.join-choices button{padding:14px 8px;border:1px solid #66473b;border-radius:10px;background:#100908;color:#bd9788;text-align:center}.join-choices button[aria-pressed=true]{background:#48271f;border-color:#f28165;color:var(--cream)}.join-choices span{display:block;font-size:23px}.join-choices small{display:block;margin-top:5px;font:11px/1.4 Arial,sans-serif}.public-join-note{margin:0;color:#c5a494;font:12px/1.6 Arial,sans-serif}.public-join-status{margin:0;text-align:center;font-size:18px;color:var(--cream)}
