:root{--bg:#101015;--panel:#19191f;--raised:#24242b;--ink:#f3ebdd;--muted:#aaa6a1;--line:#36353d;--red:#d44b50;--gold:#d9b883;--green:#83bea8;--phase:#a6aed3;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 0,#38303e50,transparent 60%)}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{opacity:.38;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}a{color:inherit}button{border:0}input,select{min-width:0}.hidden{display:none!important}.wrap{max-width:1120px;margin:auto;padding:0 24px 56px}.topbar{position:sticky;top:0;z-index:30;background:#101015ee;border-bottom:1px solid var(--line);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:16px max(24px,calc((100vw - 1120px)/2));gap:14px}.wordmark{text-decoration:none;font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;line-height:.9;font-weight:700;letter-spacing:4px}.wordmark span{font:8px Inter,sans-serif;letter-spacing:4px;display:block;text-align:center;margin-top:6px;color:var(--gold)}.top-actions{display:flex;gap:12px;align-items:center}.home-link{color:var(--muted);font-size:12px;text-decoration:none}.iconbtn{background:var(--raised);border:1px solid var(--line);border-radius:50%;width:42px;height:42px}.room-chip{background:none;border:1px solid var(--gold);color:var(--gold);border-radius:5px;letter-spacing:3px;padding:10px 12px;font-size:17px;font-weight:800}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;margin-top:20px}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-1px}h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700}h2{font-size:27px;margin-bottom:12px}h3{font-size:17px}p{font-size:16px;line-height:1.6;color:var(--muted);margin-bottom:16px}.small{font-size:13px;color:var(--muted);line-height:1.5}.eyebrow{display:block;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:2px;line-height:1.6}.art{width:80px;height:80px;display:block;color:var(--gold);flex-shrink:0}.bigbtn,.secbtn,.quietbtn{min-height:48px;border-radius:9px;font-weight:800;padding:14px 20px}.bigbtn{display:block;width:100%;background:var(--red);color:#fff;font-size:19px;min-height:60px;margin-top:16px;box-shadow:0 4px 0 #752b30}.bigbtn:hover:not(:disabled){background:#e25c61}.ghost,.secbtn{background:var(--raised);border:1px solid var(--line);box-shadow:none;color:var(--ink)}.quietbtn{background:transparent;color:var(--muted);font-size:13px}.secbtn{font-size:14px}.entry-hero{position:relative;overflow:hidden;min-height:350px;border-bottom:1px solid var(--line);margin-bottom:28px}.skyline{display:block;width:100%;position:absolute;inset:auto 0 0;opacity:.8}.hero-copy{position:relative;padding:80px 24px 50px;max-width:700px}.hero-copy h1{font-size:clamp(66px,9vw,104px);line-height:.9;margin:18px 0}.hero-copy p{font-size:18px;color:var(--ink)}.entry-choices{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.entry-card{margin:0;padding:30px}.entry-card h2{margin-top:10px;font-size:30px}.create-card{position:relative;padding-right:110px}.create-card .art{position:absolute;right:20px;top:24px;width:85px;height:85px}.create-card .small{display:block;margin-top:14px}.join-inputs{display:grid;grid-template-columns:1fr 1.3fr;gap:14px}label{display:block;font-size:12px;font-weight:700;color:var(--muted)}.inp{display:block;margin-top:8px;width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:9px;font-size:18px;padding:15px}.code-input{text-transform:uppercase;letter-spacing:4px}.test-entry{display:flex;align-items:center;justify-content:space-between}.test-entry h3{margin:0}.room-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:#69573b;background:linear-gradient(120deg,#2a2522,var(--panel))}.room-code{display:block;font-size:72px;font-weight:800;letter-spacing:10px;background:none;padding:6px 0;color:var(--gold)}.room-bar .small{display:block}.room-actions{display:flex;flex-direction:column;gap:10px}.join-qr{width:140px;flex-shrink:0;text-align:center;font-size:12px;color:var(--muted)}.join-qr svg{display:block;width:140px;height:140px;border-radius:9px;background:#fff;margin-bottom:8px}summary{cursor:pointer;min-height:28px;font-size:14px;font-weight:700}.rulebook{background:transparent}.rule-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}.rule-tiles b{font-size:12px;color:var(--gold);letter-spacing:2px}.role-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:24px 0}.role-guide .art{width:45px;height:45px;margin-bottom:12px}.role-guide p{font-size:13px}.role-guide h3{margin-bottom:6px}.notice,.error{padding:16px;border:1px solid var(--gold);background:#d9b88312;border-radius:10px;margin:16px 0;font-size:14px;line-height:1.5}.error{border-color:var(--red)}.settings-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-head h2{margin:0}.preset-row{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.role-choice{border:1px solid var(--line);border-radius:12px;padding:18px 12px;text-align:center;min-width:0;background:var(--bg)}.role-choice.included{border-color:var(--gold);background:#d9b88309}.role-choice label{color:var(--ink);font-size:14px}.role-choice .art{width:68px;height:68px;margin:0 auto 12px}.role-counter{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:12px}.role-counter button{width:42px;height:42px;background:var(--raised);border:1px solid var(--line);border-radius:8px;font-size:25px}.role-counter input{background:none;border:0;color:var(--ink);text-align:center;width:42px;font-weight:800;font-size:24px;appearance:textfield}.role-counter input::-webkit-inner-spin-button{display:none}.role-number{display:block;font-size:27px;font-weight:800;margin-top:18px}.role-choice .small{margin:8px 0 0;font-size:11px}.timer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.timer-grid .inp{font-size:18px}.settings-note{display:flex;gap:12px;align-items:center;margin:18px 0;color:var(--gold);font-size:14px}.settings-note .art{width:36px;height:36px}.settings-help{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.lobby-start{display:flex;align-items:center;gap:20px}.lobby-start .bigbtn{width:auto;min-width:200px;margin:0}.lobby-start>div{flex:1}.lobby-start h2{margin:0}.lobby-start p{margin:8px 0 0}.stage{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:42px;margin-top:28px;border:1px solid #656477;border-radius:18px;background:radial-gradient(ellipse at 90% 30%,#45405670,transparent 65%),#1b1b24;min-height:270px}.stage:after{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(110deg,transparent 0 100px,#ffffff03 100px 104px)}.stage .art{width:175px;height:175px;color:var(--phase);filter:drop-shadow(0 0 25px #b6b9df20)}.stage h1{font-size:clamp(58px,7vw,88px);line-height:.95;margin:14px 0 16px}.stage .eyebrow{color:var(--phase)}.stage p{margin:0;font-size:18px;color:var(--ink)}.stage-top{display:flex;align-items:center;gap:20px;margin-bottom:10px}.clock{font-variant-numeric:tabular-nums;font-size:25px;color:var(--phase);font-weight:800;letter-spacing:1px}.progress-pill{display:inline-flex;align-items:center;gap:10px;background:#0003;border:1px solid #ffffff12;border-radius:6px;padding:10px 14px;margin-top:20px;font-size:13px}.progress-pill span{color:var(--muted)}.timer-track{position:absolute;bottom:0;left:0;width:100%;height:5px;background:#0002}.timer-track i{display:block;height:100%;background:var(--phase);transition:width .8s linear}.phase-morning,.phase-discussion{--phase:var(--gold)}.phase-morning .stage{border-color:#aa8f63;background:radial-gradient(ellipse at top right,#67553970,transparent 70%),#25221e}.phase-voting,.phase-roundEnd{--phase:var(--red)}.phase-voting .stage,.phase-roundEnd .stage{border-color:#965050}.phase-gameOver{--phase:var(--gold)}.host-screen.playing .stage{min-height:380px}.host-screen.playing .stage h1{font-size:clamp(70px,9vw,120px)}.host-screen.playing .stage .art{width:230px;height:230px}.host-screen.playing .clock{font-size:38px}.playing .room-bar{display:none}.more-panel{background:transparent;border-style:dashed;margin-top:28px}.more-panel>summary{color:var(--muted)}.more-panel .room-bar{display:flex}.more-panel .room-code{font-size:28px}.more-panel .join-qr{display:none}.action-panel{border:2px solid var(--red);background:linear-gradient(135deg,#2b2025,var(--panel));padding:28px;margin-top:22px}.action-panel h2{font-size:30px;margin:8px 0 18px}.action-panel>p{margin-bottom:16px}.action-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.action-title .art{width:54px;height:54px;color:var(--red)}.targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.target{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--raised);padding:16px;text-align:center;color:var(--ink);font-size:17px;font-weight:700;min-height:108px;overflow-wrap:anywhere}.target.selected,.target.allocated{border:2px solid var(--red);background:#d44b5020}.target .avatar-art{width:42px;height:42px;margin:0 auto 8px;color:#aaa6a1}.target .name{display:block}.target .small{display:block;font-size:12px;margin-top:5px}.target.dead-target .avatar-art{color:var(--red)}.allocation{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:14px}.allocation button{width:46px;height:46px;border-radius:8px;background:var(--bg);border:1px solid var(--line);font-size:26px}.allocation b{font-size:22px;min-width:20px}.budget{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}.budget .art{width:35px;height:35px;color:var(--red)}.budget .used{opacity:.22}.confirm-bar{position:sticky;bottom:10px;background:var(--panel);border-radius:10px;z-index:5;margin-top:18px;box-shadow:0 10px 25px #0009}.confirm-bar .bigbtn{margin:0}.status-card{text-align:center;padding:26px}.status-card .art{margin:0 auto 12px;width:72px;height:72px;color:var(--green)}.status-card h2{margin:0 0 8px;font-size:27px}.status-card p{margin:0}.skip-box{padding-top:16px;text-align:center}.skip-box .bigbtn{background:var(--raised);border:1px solid var(--line);box-shadow:none}.skip-box p{margin:10px 0 0;font-size:13px}.pips{display:inline-flex;gap:5px;align-items:center}.pips i{width:12px;height:18px;border:1px solid #77717a;border-radius:2px 2px 5px 5px;display:inline-block;background:none}.pips i.full{background:var(--red);border-color:var(--red)}.dead-stamp{display:inline-block;color:var(--red);border:2px solid var(--red);border-radius:3px;font-size:13px;letter-spacing:2px;font-weight:800;padding:3px 7px;transform:rotate(-5deg)}.report{margin-top:24px}.report-heading{display:flex;align-items:center;gap:12px;margin:0 0 18px}.report-heading .eyebrow{color:var(--phase)}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.report-card{position:relative;border:1px solid var(--gold);background:#e5d6b9;color:#211d1b;padding:24px;border-radius:8px;overflow:hidden}.report-card .art{color:#40363d;width:66px;height:66px;margin:0 auto 12px}.report-card h2{text-align:center;font-size:25px;overflow-wrap:anywhere;margin:8px 0}.report-card .sip-count{text-align:center;font-weight:800;font-size:34px;margin:10px 0;color:#842d37}.report-card .dead-stamp{position:absolute;right:10px;top:16px;color:#8c2930;border-color:#8c2930}.report-card .small{color:#524a48;text-align:center;display:block}.report-card.you{box-shadow:0 0 0 3px var(--gold)}.empty-report{display:flex;align-items:center;justify-content:center;gap:16px;text-align:center;padding:28px;border:1px dashed var(--line);border-radius:14px}.empty-report .art{width:70px;height:70px;color:var(--gold)}.empty-report h2{margin:0}.verdict-card{padding:30px;text-align:center;border:1px solid var(--red);border-radius:14px;background:#d44b5010}.verdict-card .art{margin:auto;color:var(--red);width:100px;height:100px}.verdict-card h2{font-size:36px;margin:12px 0}.verdict-card p{margin:0;font-size:20px}.role-card{max-width:540px;margin:22px auto 0;text-align:center;border:1px solid var(--gold);background:linear-gradient(120deg,#292630,var(--panel));padding:26px}.role-card .art{width:130px;height:130px;margin:0 auto 16px}.role-card h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:40px}.role-card p{font-size:17px;color:var(--ink)}.role-card .eyebrow{margin-bottom:12px}.private-details{margin-top:24px}.private-details .role-card{max-width:none;margin-top:14px}.private-details summary{color:var(--muted)}.role-card .team{display:inline-block;border:1px solid var(--line);padding:6px 14px;border-radius:30px;font-size:12px;margin-bottom:16px}.role-card .secret{background:var(--bg);padding:14px;border-radius:8px;font-size:14px;margin-top:12px}.fake-button{margin-top:14px}.roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.player{border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;gap:12px;align-items:center;min-width:0}.player .art{width:40px;height:40px}.player>div{flex:1;min-width:0}.player-name{font-size:15px;font-weight:700;overflow-wrap:anywhere}.player .small{font-size:11px;display:block;margin:5px 0}.player.out{opacity:.5}.player .remove{border:0;background:var(--raised);color:var(--muted);width:38px;height:38px;flex-shrink:0;border-radius:6px}.host-control{margin-top:20px}.host-control summary{color:var(--muted)}.history-entry{border-bottom:1px solid var(--line);padding:16px 0;font-size:14px;color:var(--muted)}.test-panel{border-color:#695781}.test-panel label{margin:14px 0}.test-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.test-count{display:flex;gap:10px;align-items:end}.test-count .inp{width:90px}.test-count label{margin:0}.test-panel .small{font-size:12px}#transition{position:fixed;inset:0;display:none;z-index:50;pointer-events:none;align-items:center;justify-content:center;flex-direction:column;background:#101015f2}#transition.show{display:flex;animation:curtain 1.6s both}#transition .art{width:150px;height:150px;color:var(--phase);animation:seal 1.6s both}#transition strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(48px,10vw,100px);margin:16px 0;color:var(--ink)}#transition span{letter-spacing:4px;color:var(--gold);font-size:13px}#phase{scroll-margin-top:92px}.phase-morning .report-card{animation:paper .6s both;animation-delay:calc(var(--i)*.12s)}.phase-night .stage>.art{animation:moonFloat 6s ease-in-out infinite}.revealed{animation:paper .35s both}.stage.urgent .clock{color:#ff7579}@keyframes curtain{0%{opacity:0;transform:translateY(-15%)}15%,62%{opacity:1;transform:none}100%{opacity:0;transform:translateY(15%)}}@keyframes seal{0%{transform:scale(.65) rotate(-15deg)}45%,100%{transform:scale(1) rotate(0)}}@keyframes paper{from{opacity:0;transform:translateY(15px) rotate(-3deg)}to{opacity:1;transform:none}}@keyframes moonFloat{50%{transform:translateY(-8px)}}
@media(max-width:720px){.wrap{padding:0 16px 36px}.topbar{padding:14px 16px}.home-link{display:none}.entry-choices{grid-template-columns:1fr;gap:16px}.entry-hero{min-height:270px}.hero-copy{padding:64px 0 35px}.hero-copy h1{font-size:67px}.hero-copy p{font-size:15px;max-width:235px}.skyline{width:150%;max-width:none;left:-30%}.entry-card{padding:24px}.create-card{padding-right:100px}.room-bar{flex-wrap:wrap;padding:22px;gap:18px}.room-code{font-size:52px;letter-spacing:5px}.room-actions{flex-direction:row;width:100%}.join-qr,.join-qr svg{width:108px}.join-qr svg{height:108px}.room-bar>div:first-child{flex:1}.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-choice{padding:16px 8px}.timer-grid{grid-template-columns:1fr}.lobby-start{display:block}.lobby-start .bigbtn{width:100%;margin-top:16px}.stage,.host-screen.playing .stage{grid-template-columns:1fr 80px;min-height:225px;padding:26px 20px;gap:5px;margin-top:20px}.stage h1,.host-screen.playing .stage h1{font-size:52px}.stage>.art,.host-screen.playing .stage>.art{width:86px;height:86px;align-self:center}.stage p{font-size:15px}.stage-top{gap:12px;flex-wrap:wrap}.clock,.host-screen.playing .clock{font-size:22px}.progress-pill{font-size:11px;padding:8px 10px;margin-top:14px}.action-panel{padding:22px 16px;margin-top:16px}.action-panel h2{font-size:25px}.targets{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.target{padding:14px 9px;font-size:16px}.target .avatar-art{width:35px;height:35px}.allocation{gap:6px}.allocation button{width:44px;height:44px}.bigbtn{font-size:18px}.role-guide,.rule-tiles{grid-template-columns:1fr 1fr}.roster{grid-template-columns:1fr 1fr}.player{padding:10px;gap:6px}.player .art{width:28px;height:28px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-card{padding:18px 10px}.report-card h2{font-size:19px}.report-card .sip-count{font-size:27px}.report-card .art{width:50px;height:50px}.report-card .dead-stamp{font-size:10px;right:5px;top:8px}.panel{padding:22px 18px}.role-card h2{font-size:34px}.role-card .art{width:100px;height:100px}.role-card p{font-size:16px}.more-panel{padding:18px}.test-count{flex-wrap:wrap}.settings-head{align-items:flex-start}.settings-head h2{font-size:24px}.empty-report{padding:22px 12px}.empty-report h2{font-size:24px}.game-extras .room-code{font-size:24px}}
@media(max-width:360px){.wordmark{font-size:25px}.top-actions{gap:8px}.room-chip{font-size:14px;padding:9px}.iconbtn{width:36px;height:36px}.stage,.host-screen.playing .stage{grid-template-columns:1fr 60px;padding:22px 16px}.stage>.art,.host-screen.playing .stage>.art{width:64px;height:64px}.stage h1,.host-screen.playing .stage h1{font-size:44px}.room-code{font-size:42px}.role-guide,.rule-tiles{grid-template-columns:1fr}.join-inputs{grid-template-columns:1fr}.roster{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#transition.show{display:none}}
@media(max-width:720px){.allocation-targets{grid-template-columns:1fr}.allocation-targets .target{display:grid;grid-template-columns:32px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:4px 10px;text-align:left;min-height:80px;padding:12px}.allocation-targets .avatar-art{grid-column:1;grid-row:1/3;margin:0;width:32px;height:32px;align-self:center}.allocation-targets .name{grid-column:2;grid-row:1;font-size:15px;align-self:end}.allocation-targets .small{grid-column:2;grid-row:2;margin:0;align-self:start}.allocation-targets .allocation{grid-column:3;grid-row:1/3;margin:0;gap:8px;align-self:center}.allocation-targets .allocation button{width:44px;height:44px}.allocation-targets .pips{gap:3px}.allocation-targets .pips i{width:8px;height:13px}.allocation-targets .dead-stamp{font-size:8px;letter-spacing:1px;padding:1px 3px}}
@media(max-width:360px){.allocation-targets .target{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.allocation-targets .avatar-art{display:none}.allocation-targets .name,.allocation-targets .small{grid-column:1}.allocation-targets .allocation{grid-column:2}}

/* "YOU DRINK" takeover (drinkfx.js) in the noir look: blood-red spotlight, serif, gold */
:root{--dfx-bg:radial-gradient(ellipse at 50% 38%,#6b1d24 0%,#2a0b10 52%,#101015 100%);--dfx-ink:#f3ebdd;--dfx-sub:#d9b883;--dfx-display:'Cormorant Garamond',Georgia,serif;--dfx-weight:700;--dfx-body:Inter,system-ui,sans-serif}
