@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;500;700&family=Noto+Serif+SC:wght@300;400;500;700;900&family=Oswald:wght@300;400;500;600;700&display=swap');
:root{--ink:#09090b;--panel:#131215;--cream:#f3e6ce;--paper:#101012;--gold:#d4b278;--dim-gold:#88714f;--red:#b62336;--bright:#f25b65;--muted:#aba29b;--line:#d2b47930;--serif:'Noto Serif SC',SimSun,Georgia,serif;--sans:Arial,'Microsoft YaHei',sans-serif;--condensed:'Oswald',Impact,'Arial Narrow',sans-serif;--display:'Cormorant Garamond',Georgia,serif;color-scheme:dark;color:var(--cream);background:var(--ink);font-family:var(--sans);font-synthesis:none;overflow-x:clip}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 78% 25%,#39101624,transparent 60%),var(--ink);min-height:100dvh}button,a,select{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:disabled{cursor:not-allowed;opacity:.38}button:disabled *{pointer-events:none}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:var(--red);color:white}button,select{touch-action:manipulation}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.paper-noise{position:fixed;inset:0;pointer-events:none;z-index:80;opacity:.042;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23aaa' filter='url(%23n)' opacity='.5' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}.glyph{width:24px;height:24px;display:inline-block;vertical-align:middle;flex-shrink:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--gold);border:1px solid transparent;transition:background .2s,border-color .2s,color .2s}.icon-button:hover,.icon-button[aria-pressed=true]{background:#d2b47912;border-color:var(--line);color:var(--cream)}.icon-button .glyph{width:21px;height:21px}.masthead{height:92px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand img{height:39px;width:33px;filter:sepia(.5) saturate(.7)}.brand>span{font:500 22px/1 var(--condensed);letter-spacing:3px}.brand small{display:block;color:var(--gold);font:300 9px var(--serif);letter-spacing:5px;margin-top:8px}.edition{font:400 10px var(--condensed);letter-spacing:2.5px;color:var(--muted);margin-left:10%}.edition i{font-style:normal;font-size:7px;color:var(--red);margin:0 13px}.masthead nav{display:flex;gap:10px}.eyebrow{font:400 10px/1.6 var(--condensed);letter-spacing:2.5px;color:var(--gold)}.tiny-line{display:inline-block;vertical-align:middle;width:25px;height:1px;background:var(--gold);margin-right:11px}
.hero{position:relative;margin:0 5%;min-height:665px;display:grid;grid-template-columns:46% 54%;align-items:center;isolation:isolate}.hero:after{content:'';position:absolute;bottom:22px;left:0;width:60px;height:1px;background:var(--gold)}.hero-copy{z-index:3;padding:35px 0 48px}.hero-copy>.eyebrow{margin:0 0 23px;font-size:9px;letter-spacing:3px}.hero h1{font:500 clamp(78px,8.7vw,142px)/.95 var(--condensed);letter-spacing:-2px;width:max-content}.hero h1>span{display:block;color:var(--cream);font-weight:300;letter-spacing:1px}.hero h1 em{font-style:normal;font-weight:700;color:var(--red);display:block;letter-spacing:-1px;margin-left:-3px;text-shadow:1px 1px 0 #d44a44}.hero-subtitle{display:flex;gap:16px;align-items:center;margin-top:22px}.hero-subtitle>span{font:500 17px var(--serif);letter-spacing:8px}.hero-subtitle i{height:1px;background:var(--line);width:46px}.hero-subtitle small{font:300 8px var(--condensed);letter-spacing:2px;color:var(--muted)}.hero-lead{font:300 17px/1.9 var(--serif);color:#c6bdb2;margin-top:26px}.hero-lead b{font-weight:700;color:var(--cream)}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:32px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:20px;min-height:54px;padding:15px 24px;font:700 14px var(--serif);transition:background .2s,transform .2s;position:relative}.button.primary{background:var(--red);color:#fff2dc;box-shadow:inset 0 0 0 1px #e4636333}.button.primary:after{content:'';width:13px;height:13px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);position:absolute;right:-4px;top:-4px}.button.primary:hover:not(:disabled){background:#cb2b42;transform:translateY(-2px)}.button.dark,.button.outline{background:#1a1719;border:1px solid var(--line)}.button.dark:hover:not(:disabled),.button.outline:hover:not(:disabled){background:#292023;border-color:var(--gold)}.button.wide{width:100%}.button .glyph:last-child{width:20px}.entry{min-width:228px;height:66px;padding:18px 26px;transform:skew(-5deg)}.entry>*{transform:skew(5deg)}.entry>span{font-size:20px;letter-spacing:6px;flex:1;text-align:center}.entry>.glyph:first-child{height:29px;width:29px}.resume-button{border-color:var(--line);height:56px;width:56px}.hero-facts{display:flex;gap:26px;margin-top:29px;color:var(--gold)}.hero-facts>span{display:flex;align-items:center;gap:8px;cursor:help}.hero-facts .glyph{width:18px;height:18px}.hero-facts small{font:400 9px var(--condensed);letter-spacing:1.5px;color:var(--muted)}.hero-orbit{position:absolute;width:550px;height:550px;left:46%;top:46px;z-index:-1;border:1px solid #d4b2781c;border-radius:50%;box-shadow:0 0 0 30px #b6233606,0 0 0 31px #d4b2780d}.hero-orbit:after{content:'';position:absolute;inset:23%;border:1px solid #d4b27826;transform:rotate(45deg)}.hero-gallery{position:relative;height:610px;width:100%;margin-top:15px;perspective:1000px}.hero-portrait{position:absolute;left:16%;width:68%;top:18px;height:557px;background:#111;border:1px solid #d4b27880;transform:rotate(3deg);box-shadow:0 20px 60px #000a;overflow:hidden}.hero-portrait:before{content:'';position:absolute;inset:7px;border:1px solid #d4b27855;z-index:2;pointer-events:none}.hero-portrait>img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.87) contrast(1.03)}.hero-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#09090bf0,transparent 43%);pointer-events:none}.portrait-wing{position:absolute;top:67px;width:49%;height:459px;border:1px solid var(--line);overflow:hidden;filter:brightness(.46) saturate(.6)}.portrait-wing img{width:100%;height:100%;object-fit:cover}.wing-left{left:-3%;transform:rotate(-10deg)}.wing-right{right:-2%;transform:rotate(12deg)}.portrait-title{position:absolute;bottom:38px;left:26px;right:25px;z-index:3;display:flex;align-items:center;gap:14px;color:var(--gold)}.portrait-title .glyph{width:33px;height:33px}.portrait-title small{display:block;font:400 8px var(--condensed);letter-spacing:3px;margin-bottom:7px}.portrait-title strong{font:700 21px var(--serif);color:var(--cream);letter-spacing:3px}.portrait-star{font-size:27px;margin-left:auto}.portrait-number{position:absolute;z-index:3;top:24px;left:26px;font:300 25px var(--condensed);color:var(--gold);text-shadow:0 1px 5px #000}.portrait-number small{font-size:10px}.vertical-caption{position:absolute;writing-mode:vertical-rl;right:-15px;top:185px;color:var(--dim-gold);font:300 9px var(--condensed);letter-spacing:3px}.roster-strip{display:flex;align-items:center;gap:36px;padding:28px 0 33px;margin:0 5%;border-block:1px solid var(--line)}.roster-label{width:185px;flex-shrink:0}.roster-label .eyebrow{font-size:8px;letter-spacing:3px}.roster-label h2{font:300 19px var(--serif);margin-top:10px}.roster-list{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;flex:1}.roster-choice{padding:0;position:relative;display:flex;align-items:center;justify-content:center;height:82px;background:#151113;overflow:hidden;border:1px solid #d4b27824;transition:border-color .2s,transform .2s;filter:saturate(.6)}.roster-choice img{width:100%;height:100%;object-fit:cover;object-position:center 28%;opacity:.65;transition:opacity .2s}.roster-choice:hover,.roster-choice.selected{filter:saturate(.9);border-color:var(--gold);transform:translateY(-4px)}.roster-choice:hover img,.roster-choice.selected img{opacity:1}.roster-choice>span{position:absolute;bottom:5px;left:5px;color:var(--gold);background:#08080bbd;padding:3px}.roster-choice .glyph{width:15px;height:15px}.roster-choice b{position:absolute;inset:auto 0 0;font:500 10px var(--serif);background:#09090bea;padding:8px;opacity:0;transition:opacity .2s}.roster-choice:hover b,.roster-choice:focus-visible b{opacity:1}.local-entry{gap:5px;width:65px;flex-shrink:0}.local-entry .glyph:last-child{width:16px}footer{margin:0 5%;padding:23px 0;display:flex;justify-content:space-between;align-items:center;font:300 8px var(--condensed);letter-spacing:2px;color:#91867b}footer i{font-style:normal;color:var(--gold);font-size:6px;margin:0 10px}footer button{font:400 10px var(--sans);color:var(--muted)}.text-button{font-size:12px;border-bottom:1px solid var(--line);padding:10px 0;color:var(--gold)}
.in-game .masthead{height:76px;margin:0 3.5%}.in-game .brand>span{font-size:18px}.in-game .brand small{font-size:7px}.in-game .brand img{height:31px}.game-heading{margin:0 3.5%;padding:25px 0 22px;display:flex;align-items:center;gap:23px;border-bottom:1px solid var(--line)}.game-heading h1{font:300 24px var(--serif);letter-spacing:2px;margin-top:6px}.game-heading .eyebrow{font-size:8px;letter-spacing:3px}.round-counter{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--gold);cursor:help}.round-counter>.glyph{width:22px}.round-counter>strong{font:300 39px/1 var(--condensed)}.round-counter>small{font:300 13px var(--condensed);color:var(--muted)}.game-layout{display:grid;grid-template-columns:205px minmax(0,1fr) 237px;gap:28px;margin:24px 3.5% 33px;align-items:start;max-width:1500px}.panel-label{font:300 9px var(--condensed);letter-spacing:3px;color:var(--gold);display:flex;justify-content:space-between;align-items:center;height:24px}.panel-label>span{color:var(--muted);letter-spacing:1px}.guest-list{display:flex;flex-direction:column;gap:12px}.player{height:174px;position:relative;overflow:hidden;border:1px solid #d4b27822;background:#161215;padding:15px;isolation:isolate;transition:border-color .3s}.player:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#100e11da,#100e110a),linear-gradient(0deg,#100e11 7%,#100e11a6 42%,transparent);z-index:-1}.player-portrait{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 24%;opacity:.66}.player.active{border-color:var(--gold)}.player.active .player-portrait{opacity:.98}.player.active:before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--red)}.player.eliminated{filter:grayscale(1);opacity:.45}.player-heading{display:flex;gap:10px;align-items:center;position:relative}.player-index{font:300 20px var(--condensed);color:var(--gold)}.player-heading h3{font:700 14px var(--serif);letter-spacing:1px}.player-heading small{display:block;font:300 9px var(--sans);color:#c1b6aa;margin-top:5px}.turn-marker{color:var(--gold);margin-left:auto}.turn-marker .glyph{width:20px}.player.active .turn-marker{color:#f18386}.player-stats{display:flex;gap:20px;align-items:center;margin-top:29px}.stat-row{display:flex;gap:7px;align-items:center;cursor:help}.stat-row .glyph{color:var(--bright);width:18px;height:18px}.stat-row strong{font:500 27px/1 var(--condensed)}.stat-row small{font:300 9px var(--condensed);margin-left:4px;color:var(--muted)}.tox-row .glyph{color:var(--gold)}.tox-row strong{font-weight:300}.danger{color:var(--bright)}.meter{height:3px;background:#d4b27816;margin-top:12px}.meter>i{display:block;height:100%;background:var(--red);transition:width .5s}.toxin-pips{display:flex;gap:3px;margin-top:6px}.toxin-pips i{height:3px;background:#d4b27813;flex:1}.toxin-pips i.filled{background:var(--gold)}.table-title{height:28px;display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.table-title>span{font:500 12px var(--serif);letter-spacing:1px;display:flex;align-items:center;gap:8px}.live-dot{height:5px;width:5px;border-radius:50%;background:var(--red);box-shadow:0 0 10px #ba243966}.sip-count{display:flex;gap:7px;align-items:center;cursor:help;color:var(--gold)}.sip-count .glyph{width:17px;height:17px}.sip-count b{font:500 20px var(--condensed)}.sip-count small{font-size:9px;color:var(--muted)}.villages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.village-card{padding:13px 13px 11px;background:linear-gradient(160deg,#21191b,#111013 75%);border:1px solid #d4b27835;position:relative;width:100%;text-align:left;transition:border-color .2s,transform .2s,background .2s;opacity:1!important;overflow:hidden;isolation:isolate}.village-card:after{content:'';position:absolute;inset:5px;border:1px solid #d4b2780f;pointer-events:none;z-index:-1}.village-card:hover:not(:disabled){transform:translateY(-4px);border-color:var(--gold)}.village-card.selected{border-color:var(--gold);background:linear-gradient(160deg,#3d181f,#161115 75%);box-shadow:0 0 24px #b6233610;transform:translateY(-3px)}.village-top{display:flex;justify-content:space-between;align-items:center;color:var(--dim-gold)}.village-top>span{font:300 19px var(--display)}.village-top .glyph{width:16px;height:16px}.village-card.selected .village-top{color:var(--gold)}.villager-portrait{display:block;width:100%;height:122px;max-height:10vw;margin:3px 0 4px;color:#9f8765;--paper:#171316;opacity:.75}.village-card.selected .villager-portrait{color:#d1b382;opacity:1}.village-info{padding-top:10px;border-top:1px solid var(--line)}.village-info h3{font:500 13px var(--serif);letter-spacing:1px;white-space:nowrap}.village-risk{display:flex;align-items:center;gap:5px;margin-top:10px}.village-risk>.glyph{color:var(--bright);height:17px;width:17px}.village-risk>strong{font:500 25px/1 var(--condensed);color:#f2d7ce}.balance{margin-left:auto;display:flex;align-items:center;gap:2px;color:var(--muted);font:300 11px var(--condensed)}.balance .glyph{width:12px;height:12px}.stack-chips{display:flex;align-items:center;gap:3px;height:18px;margin-top:8px;overflow:hidden}.chip{background:#d4b27816;color:var(--gold);width:17px;height:19px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.chip .suit{height:12px;width:12px;color:inherit}.chip.type-G{color:var(--bright)}.chip.type-A{color:#f3e6ce}.empty-stack{color:var(--dim-gold);font-size:8px;letter-spacing:4px}.reveal-area{min-height:213px;display:flex;align-items:center;justify-content:center;gap:28px;padding:25px 10px;position:relative;margin:10px 0 17px;border-bottom:1px solid var(--line);isolation:isolate}.reveal-area:before{content:'';position:absolute;border:1px solid #d4b2780c;border-radius:50%;height:160px;width:160px;top:20px;left:calc(50% - 80px);z-index:-1}.empty-reveal{display:flex;align-items:center;gap:35px}.back-card{width:80px;height:118px;background:#100e11;border:1px solid #b28e57;outline:1px solid #d4b27833;outline-offset:-6px;transform:rotate(-9deg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--gold);box-shadow:8px 8px 0 #0005}.back-card .glyph{width:34px;height:34px}.back-card span{font:300 6px var(--condensed);letter-spacing:1.5px}.empty-reveal h3{font:300 22px var(--serif);margin-top:11px}.empty-reveal p:last-child{font:300 10px var(--serif);color:var(--muted);margin-top:14px}.empty-reveal .eyebrow{font-size:7px;letter-spacing:2px}.suit{width:40px;height:40px;fill:currentColor;color:var(--cream)}.reveal-cards{display:flex;align-items:center;justify-content:center;min-width:150px;padding:0 10px}.drawn-card{width:75px;height:118px;flex-shrink:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#20191b;color:var(--cream);border:1px solid #9c7c51;outline:1px solid #d4b27833;outline-offset:-5px;box-shadow:5px 8px 9px #0005;transform:rotate(calc((var(--i) - .5)*9deg));margin-left:-7px}.drawn-card.type-G{background:#4c101c;border-color:var(--red)}.drawn-card.type-A{background:#2a2620}.drawn-card.type-C{background:#322326}.drawn-card .suit{width:31px;height:31px;margin-top:10px;color:var(--gold)}.drawn-card.type-G .suit{color:#f58d94}.card-corner{position:absolute;top:9px;left:9px;font:300 10px var(--condensed);color:var(--gold)}.card-corner small{display:block;font-size:5px}.card-name{font:500 10px var(--serif);margin-top:7px}.card-bottom{position:absolute;bottom:11px;font:300 5px var(--condensed);letter-spacing:1.3px}.revealing .drawn-card{animation:deal .55s both;animation-delay:calc(var(--i)*.14s)}@keyframes deal{from{opacity:0;transform:translateY(-25px) rotateY(90deg) rotate(-12deg)}to{opacity:1}}.reveal-result{display:flex;flex-direction:column;gap:8px}.outcome-kicker{font:300 7px var(--condensed);letter-spacing:2px;color:var(--gold)}.reveal-result>strong{display:flex;align-items:center;gap:9px}.reveal-result>strong .glyph{width:28px;height:28px;color:var(--gold)}.reveal-result>strong b{font:600 53px/.95 var(--condensed);color:var(--gold)}.reveal-result.poison>strong b,.reveal-result.poison>strong .glyph{color:var(--bright)}.reveal-result>span:last-child{font:400 10px var(--serif);color:var(--muted)}.reveal-result i{font-style:normal;color:var(--dim-gold);margin:0 6px}.quiet-result{display:flex;align-items:center;gap:22px}.quiet-result>.glyph{width:45px;height:45px;color:var(--gold)}.quiet-result h3{font:300 27px var(--serif);letter-spacing:4px}.quiet-result p{font-size:11px;color:var(--muted);margin-top:12px}.controls{display:flex;gap:10px;min-height:64px;align-items:stretch}.controls .button{flex:1}.drink-action{justify-content:flex-start;font-size:18px;gap:13px}.drink-action>.glyph{height:28px;width:28px}.drink-action>b{font:500 32px var(--condensed);margin-left:auto}.action-square{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);padding:12px 15px;background:#151215;min-width:90px}.action-square .glyph{color:var(--gold);height:24px;width:24px}.action-square>span{font:500 12px var(--serif)}.action-square:hover{border-color:var(--gold);background:#292023}.waiting-note{width:100%;display:flex;align-items:center;justify-content:center;gap:15px;background:#d4b27808;border:1px solid var(--line);font:300 13px var(--serif);padding:15px;color:var(--gold)}.thinking{animation:spin 6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.inventory{margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.inventory-heading{display:flex;align-items:center;justify-content:space-between;font:400 10px var(--serif);color:var(--muted);letter-spacing:1px}.inventory-heading small{font:400 9px var(--sans);letter-spacing:0;color:var(--dim-gold)}.item-list{display:flex;gap:10px;margin-top:13px}.item{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);background:#141214;padding:13px;flex:1;min-width:0;color:var(--gold);position:relative}.item:hover:not(:disabled){border-color:var(--gold);background:#241a1d}.item>.glyph{width:27px;height:27px}.item>span{font:400 11px var(--serif);color:var(--cream)}.empty-slot{border-style:dashed;opacity:.4}.empty-slot .glyph{width:19px}.inventory-hidden{display:flex;gap:12px;align-items:center;color:var(--dim-gold);height:75px}.inventory-hidden span{font:300 13px var(--condensed)}.inventory-hidden i{font:300 8px var(--condensed);letter-spacing:2px;margin-left:auto}.ward-note{display:flex;align-items:center;gap:8px;font:400 10px var(--serif);color:var(--gold);margin-top:11px}.ward-note .glyph{width:15px}.peek-note{display:flex;align-items:center;gap:10px;background:#d4b27812;padding:12px;margin-bottom:12px;font-size:10px;color:var(--gold)}.peek-note .glyph{width:19px}.peek-note b{display:flex;align-items:center;gap:4px;font-weight:400}.peek-note .suit{width:18px;height:18px;color:var(--gold)}.witness{padding-top:43px}.witness-portrait{height:352px;position:relative;border:1px solid var(--line);overflow:hidden}.witness-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c090ef2,transparent 65%)}.witness-portrait>img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:saturate(.7)}.witness-caption{position:absolute;bottom:25px;left:22px;z-index:2;color:var(--gold)}.witness-caption .glyph{width:25px;height:25px;margin-bottom:20px}.witness-caption small{display:block;font:300 7px var(--condensed);letter-spacing:2px;margin-bottom:8px}.witness-caption strong{font:500 19px var(--serif);letter-spacing:3px;color:var(--cream)}.witness-quote{font:300 20px var(--serif);letter-spacing:3px;text-align:center;margin:23px 0;color:#c7b49a}.table-tools{display:flex;align-items:center;justify-content:space-between;border-block:1px solid var(--line);padding:8px 0;gap:8px;color:var(--gold)}.table-tools>span,.deck-badge{display:flex;align-items:center;gap:6px;cursor:help}.table-tools b{font:400 16px var(--condensed)}.table-tools .glyph{width:18px;height:18px}.deck-badge{padding:10px}.latest-event{font:300 11px/2 var(--serif);margin-top:19px;color:var(--muted)}.in-game footer{margin:0 3.5%;border-top:1px solid var(--line)}
dialog{background:linear-gradient(150deg,#21181c,#101013 50%);color:var(--cream);border:1px solid #9d7b4b;padding:42px;width:680px;max-width:calc(100% - 32px);max-height:calc(100dvh - 40px);box-shadow:0 30px 100px #000c;overflow-y:auto}dialog::backdrop{background:#050407c9;backdrop-filter:blur(9px)}.close-modal{position:absolute;right:10px;top:10px}.close-modal .glyph{height:19px;width:19px}dialog h2{font:500 30px/1.5 var(--serif);letter-spacing:2px;margin:9px 0 24px}.modal-intro{font:300 13px/1.95 var(--sans);color:var(--muted);margin:14px 0 25px}.modal-intro b{color:var(--gold);font-weight:700}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:23px}.mode-option{border:1px solid var(--line);padding:22px;display:grid;grid-template-columns:30px 1fr;gap:8px 16px;text-align:left;background:#0c0a0c}.mode-option .glyph{grid-row:1/3;width:28px;height:28px;color:var(--gold);align-self:center}.mode-option strong{font:500 18px var(--serif)}.mode-option small{font-size:10px;color:var(--muted)}.mode-option.selected{border-color:var(--gold);background:#46202944}.setup-roster{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.pick-character{padding:0;border:1px solid var(--line);height:131px;position:relative;overflow:hidden}.pick-character img{height:100%;width:100%;object-fit:cover;object-position:center 30%;filter:saturate(.7);opacity:.7}.pick-character span{position:absolute;bottom:0;left:0;right:0;background:#09090bc9;text-align:center;padding:8px 0;font:400 8px var(--serif);letter-spacing:1px}.pick-character.selected{border-color:var(--gold)}.pick-character.selected img,.pick-character:hover img{opacity:1;filter:saturate(1)}.fine-print{font:300 10px/1.8 var(--sans);color:var(--muted);margin:13px 0 24px}.player-count{display:flex;gap:20px;align-items:center;font-size:12px;margin-bottom:24px}.player-count select{background:#151113;border:1px solid var(--line);padding:8px 26px;font:400 16px var(--condensed);color:var(--cream)}.rules-intro{display:flex;gap:35px;align-items:center;border-block:1px solid var(--line);padding:20px 0;margin:10px 0}.rules-intro strong{font:500 43px var(--condensed);color:var(--gold)}.rules-intro small{display:block;font:400 10px var(--sans);color:var(--muted)}.rules-copy{margin-bottom:26px}.rules-copy h3{font:700 15px var(--serif);color:var(--gold);margin:25px 0 10px}.rules-copy p{font:300 12px/2.1 var(--sans);color:#c0b5ad;margin:10px 0}.rules-copy b{font-weight:700;color:var(--cream)}.rule-suits{display:flex;flex-wrap:wrap;gap:20px;padding:13px 0}.rule-suits span{display:flex;gap:6px;align-items:center;font-size:11px}.rule-suits .suit{width:22px;height:22px;color:var(--gold)}.invite-targets{display:grid;gap:12px}.invite-player{display:flex;align-items:center;gap:18px;padding:12px;border:1px solid var(--line);text-align:left}.invite-player:hover{border-color:var(--gold);background:#27171c}.invite-player img{width:52px;height:62px;object-fit:cover;object-position:50% 26%}.invite-player strong{font:500 15px var(--serif)}.invite-player>span{margin-left:auto;display:flex;gap:7px;align-items:center;font:400 16px var(--condensed);color:var(--gold)}.invite-player>span .glyph{width:17px;height:17px}.invite-player>.glyph{color:var(--gold)}.drink-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.drink-options button{border:1px solid var(--line);padding:23px 8px;text-align:center;background:#151114;transition:transform .2s}.drink-options button:hover{border-color:var(--gold);background:#341b23;transform:translateY(-4px)}.drink-glyphs{display:flex;justify-content:center;color:var(--gold)}.drink-glyphs .glyph{width:22px;height:22px}.drink-options h3{font:500 19px var(--serif);margin:16px 0}.drink-options strong{display:block;font:600 42px var(--condensed);color:var(--gold)}.drink-options .offer-risk{display:flex;gap:7px;align-items:center;justify-content:center;margin:13px 0;color:var(--bright);font:400 17px var(--condensed)}.offer-risk .glyph{width:16px;height:16px}.drink-options small{font-size:9px;color:var(--muted)}.result-modal{text-align:center}.result-modal h2{margin-top:5px}.result-seal{display:block;font-size:72px;color:var(--gold);margin:12px}.result-modal>p:not(.eyebrow){font:300 12px/1.9 var(--serif);color:var(--muted);margin:20px 0}.final-scores{border-top:1px solid var(--line);margin:24px 0}.final-scores>div{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font:400 13px var(--serif)}.final-scores strong{font:500 25px var(--condensed);color:var(--gold)}.final-scores small{font-size:10px}.final-scores>div>span:last-child{font:300 13px var(--condensed);color:var(--muted)}.result-modal>.text-button{margin-top:10px}.deck-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:30px 0}.deck-counts>div{display:flex;flex-direction:column;align-items:center;gap:13px;border-right:1px solid var(--line)}.deck-counts>div:last-child{border:0}.deck-counts .suit{color:var(--gold);height:35px;width:35px}.deck-counts b{font:400 12px var(--serif)}.deck-counts strong{font:500 32px var(--condensed)}.deck-counts+p{font:300 12px/1.9 var(--sans);color:var(--muted)}.chronicle{padding:0;list-style:none;margin:0}.chronicle li{display:flex;gap:16px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line);font:300 12px/1.8 var(--sans);color:#c8bcb1}.chronicle .glyph{width:18px;height:18px;color:var(--gold)}.chronicle .log-poison .glyph{color:var(--bright)}
#tooltip{position:fixed;z-index:1000;width:max-content;max-width:280px;background:#181216f5;border:1px solid #ad8b5a;box-shadow:0 8px 30px #0008;padding:15px 18px;pointer-events:none;backdrop-filter:blur(18px)}#tooltip strong{display:block;font:700 13px var(--serif);color:var(--gold);margin-bottom:7px}#tooltip span{display:block;max-width:242px;font:300 11px/1.9 var(--sans);color:var(--cream)}#feedback{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:1001;display:flex;align-items:center;gap:13px;padding:16px 25px;background:#181215f5;border:1px solid var(--gold);color:var(--gold);font:500 15px var(--serif);box-shadow:0 10px 50px #0008;max-width:calc(100% - 30px);width:max-content;animation:feedback-in .3s ease-out}#feedback .glyph{height:23px;width:23px}#feedback.poison{border-color:var(--red);color:#ff9398}#feedback.blood{background:#30171dea;color:#f9ddb0}@keyframes feedback-in{from{opacity:0;bottom:10px}to{opacity:1;bottom:28px}}.inspect-mode [data-tip]{cursor:help!important}.inspect-mode #inspect-button{background:var(--red);color:var(--cream);border-color:var(--red)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.masthead,.hero,.roster-strip,footer{max-width:1440px;margin-inline:auto}.hero{min-height:715px}.hero-gallery{height:650px}.hero-portrait{height:604px;width:64%;left:18%}.portrait-wing{height:490px;top:80px}.hero h1{font-size:147px}.game-heading,.game-layout,.in-game .masthead,.in-game footer{max-width:1500px;margin-inline:auto}.game-layout{grid-template-columns:230px minmax(0,1fr) 260px;gap:34px}.villager-portrait{height:148px}.witness-portrait{height:410px}.player{height:190px}.player-stats{margin-top:40px}}
@media(max-width:1180px){.edition{margin-left:0}.hero{grid-template-columns:45% 55%;min-height:595px}.hero-gallery{height:560px}.hero-portrait{height:490px;top:35px;left:12%;width:75%}.portrait-wing{height:400px;top:80px}.hero h1{font-size:104px}.hero-lead{font-size:14px}.hero-subtitle small{display:none}.hero-facts{gap:20px}.vertical-caption{display:none}.hero-orbit{width:420px;height:420px;left:48%;top:65px}.roster-label{width:152px}.roster-strip{gap:23px}.roster-list{gap:10px}.roster-choice{height:70px}.game-layout{grid-template-columns:178px minmax(0,1fr) 184px;gap:19px}.player{height:158px;padding:12px}.player-heading h3{font-size:12px}.player-heading small{font-size:8px}.player-index{font-size:17px}.player-stats{margin-top:28px;gap:13px}.stat-row strong{font-size:23px}.stat-row .glyph{width:15px}.stat-row small{font-size:8px}.village-card{padding:10px}.village-info h3{font-size:11px}.villager-portrait{height:110px;max-height:11vw}.village-risk>strong{font-size:22px}.village-risk>.glyph{width:15px}.balance{font-size:9px}.village-risk{gap:3px}.witness-portrait{height:305px}.witness-caption{left:16px;bottom:20px}.witness-caption strong{font-size:16px}.witness-quote{font-size:18px}.reveal-area{min-height:196px;gap:17px;padding-inline:0}.empty-reveal{gap:24px}.empty-reveal h3{font-size:19px}.action-square{min-width:69px;padding:10px;gap:5px}.action-square .glyph{width:20px}.action-square>span{font-size:11px}.drink-action{font-size:15px;gap:9px;padding:13px 17px}.drink-action>b{font-size:27px}.controls{gap:8px}.item{gap:7px;padding:12px 7px}.item>.glyph{width:24px}.item>span{font-size:10px}.reveal-result>strong b{font-size:45px}.reveal-cards{min-width:138px}.drawn-card{width:68px;height:111px}.outcome-kicker{font-size:6px}.reveal-result>span:last-child{font-size:9px}.witness .table-tools{gap:3px}.table-tools .icon-button{width:36px}.table-tools>span{gap:4px}.deck-badge{padding:8px 3px}.table-tools b{font-size:14px}.latest-event{font-size:10px}}
@media(max-width:950px){.hero{min-height:565px}.hero h1{font-size:88px}.hero-gallery{height:525px}.hero-portrait{height:455px}.portrait-wing{height:365px;top:87px}.hero-lead{font-size:12px}.hero-subtitle>span{font-size:14px;letter-spacing:7px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:2px}.entry{min-width:183px;height:60px;padding:15px 18px}.entry>span{font-size:18px}.entry>.glyph:first-child{width:24px}.hero-actions{gap:12px}.resume-button{height:50px;width:45px}.hero-facts{gap:15px}.hero-facts small{font-size:8px}.hero-facts .glyph{width:16px}.hero-orbit{width:340px;height:340px;top:90px}.portrait-title{left:20px;right:20px;bottom:35px;gap:10px}.portrait-title strong{font-size:17px}.portrait-title .glyph{width:26px}.portrait-title small{letter-spacing:2px;font-size:7px}.portrait-star{font-size:21px}.roster-label{width:140px}.roster-label h2{font-size:16px}.roster-strip{gap:20px}.local-entry{display:none}.roster-choice{height:62px}.game-layout{grid-template-columns:174px minmax(0,1fr);gap:23px}.witness{display:none}.villager-portrait{height:125px;max-height:16vw}.village-info h3{font-size:13px}.village-risk>strong{font-size:25px}.village-risk>.glyph{width:17px}.village-card{padding:12px}.player{height:178px}.player-stats{margin-top:39px}.reveal-area{min-height:228px}.item>span{font-size:11px}.action-square{padding:10px 16px;min-width:80px}.game-heading h1{font-size:23px}.masthead .edition{font-size:8px;letter-spacing:1.5px}.in-game .edition{display:none}.in-game .masthead nav{gap:8px}.table:after{content:'✦';display:block;text-align:center;color:var(--dim-gold);margin-top:28px;font-size:22px}.in-game footer{margin-top:15px}}
@media(max-width:650px){.masthead{height:76px;margin:0 6%}.brand{gap:9px}.brand img{width:27px;height:33px}.brand>span{font-size:17px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:3px}.edition{display:none}.masthead nav{gap:0}.masthead .icon-button{width:36px;height:40px}.masthead .icon-button .glyph{height:19px;width:19px}.hero{margin:0 6%;display:block;min-height:770px;padding-bottom:25px}.hero-copy{padding:28px 0 0;position:relative;pointer-events:none}.hero-copy button,.hero-facts{pointer-events:auto}.hero-copy>.eyebrow{font-size:7px;letter-spacing:2px;margin-bottom:19px}.hero h1{font-size:96px;position:relative;z-index:4}.hero h1>span{font-size:77px;letter-spacing:1px}.hero h1 em{font-size:107px;letter-spacing:-2px}.hero-subtitle{margin-top:16px;gap:15px}.hero-subtitle>span{font-size:13px;letter-spacing:6px}.hero-subtitle i{width:38px}.hero-lead{font-size:12px;line-height:2;margin-top:24px;max-width:125px;text-shadow:0 2px 8px black}.hero-lead b{display:block}.hero-gallery{position:absolute;height:400px;width:76%;right:-3%;top:230px;z-index:1;margin:0}.hero-portrait{height:366px;top:11px;width:83%;left:13%;transform:rotate(5deg)}.hero-portrait>img{object-position:50% 30%}.portrait-wing{height:295px;top:56px;width:58%}.wing-left{left:-2%;transform:rotate(-9deg)}.wing-right{right:0;transform:rotate(12deg)}.hero-orbit{width:290px;height:290px;top:284px;left:14%;border-color:#d4b27819}.portrait-title{bottom:28px;left:17px;gap:10px;right:16px}.portrait-title strong{font-size:17px;letter-spacing:2px}.portrait-title small{font-size:6px;letter-spacing:1.5px}.portrait-title .glyph{width:22px;height:22px}.portrait-star{font-size:19px}.portrait-number{font-size:19px;left:20px;top:17px}.portrait-number small{font-size:8px}.hero-actions{margin-top:272px;position:relative;z-index:5;gap:16px}.entry{min-width:223px;height:60px}.entry>span{font-size:19px}.resume-button{height:52px;width:52px}.hero-facts{margin-top:26px;gap:23px;position:relative;z-index:4}.hero-facts .glyph{height:17px;width:17px}.hero-facts small{font-size:9px}.hero:after{display:none}.roster-strip{margin:0 6%;display:block;padding:24px 0 28px}.roster-label{width:auto;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.roster-label .eyebrow{font-size:8px}.roster-label h2{font-size:15px;margin:0}.roster-list{grid-template-columns:repeat(6,1fr);gap:7px}.roster-choice{height:67px}.roster-choice>span{left:2px;bottom:2px;padding:2px}.roster-choice .glyph{height:12px;width:12px}.roster-choice b{display:none}footer{margin:0 6%;padding:22px 0;font-size:7px;letter-spacing:1.5px}footer>span:nth-child(2){display:none}footer button{font-size:9px}.in-game .masthead{height:66px;margin:0 4%}.in-game .brand>span{font-size:16px}.in-game .brand small{font-size:6px}.in-game .brand img{width:24px}.in-game .masthead nav{gap:0}.game-heading{margin:0 4%;padding:18px 0;gap:13px}.game-heading h1{font-size:17px;letter-spacing:1px}.game-heading .eyebrow{font-size:6px;letter-spacing:2px}.round-counter{gap:7px}.round-counter>.glyph{width:17px;height:17px}.round-counter>strong{font-size:29px}.round-counter>small{font-size:10px}.game-heading>.icon-button{width:30px;height:36px}.game-heading>.icon-button .glyph{width:18px;height:18px}.game-layout{display:flex;flex-direction:column;gap:20px;margin:16px 4% 24px}.guest-list{flex-direction:row;gap:7px;width:100%;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}.guest-list .panel-label{display:none}.player{height:154px;padding:10px 8px;flex:1;min-width:108px}.player-heading{gap:0}.player-index,.turn-marker{display:none}.player-heading h3{font-size:11px;letter-spacing:0;white-space:nowrap}.player-heading small{font-size:7px;margin-top:5px;white-space:nowrap}.player-stats{margin-top:36px;gap:0;justify-content:space-between}.stat-row{gap:4px}.stat-row .glyph{width:12px;height:13px}.stat-row strong{font-size:22px}.stat-row small{display:none}.meter{margin-top:12px}.toxin-pips{gap:2px}.table{width:100%}.table-title{margin-bottom:14px;height:24px}.table-title>span{font-size:11px}.sip-count b{font-size:19px}.sip-count small{font-size:8px}.villages{gap:8px}.village-card{padding:10px 9px}.village-top>span{font-size:16px}.village-top .glyph{height:13px;width:13px}.villager-portrait{max-height:none;height:91px;margin-top:2px}.village-info{padding-top:9px}.village-info h3{font-size:10px;letter-spacing:0}.village-risk{gap:4px;margin-top:10px}.village-risk>strong{font-size:23px}.village-risk>.glyph{width:14px;height:14px}.balance{font-size:9px;gap:0}.balance .glyph{height:10px;width:10px}.stack-chips{margin-top:8px;gap:2px;height:14px}.chip{width:12px;height:14px}.chip .suit{width:10px;height:10px}.chip:nth-child(n+7){display:none}.empty-stack{letter-spacing:2px;font-size:7px}.reveal-area{min-height:195px;gap:24px;padding:20px 0;margin:8px 0 16px}.empty-reveal{gap:27px}.empty-reveal h3{font-size:19px;margin-top:10px}.empty-reveal p:last-child{font-size:9px;margin-top:12px}.empty-reveal .eyebrow{font-size:6px}.back-card{width:73px;height:110px}.back-card .glyph{height:28px;width:28px}.back-card span{font-size:5px}.reveal-area:before{height:140px;width:140px;left:calc(50% - 70px)}.reveal-cards{min-width:144px;padding:0 4px}.drawn-card{height:113px;width:71px}.reveal-result>strong b{font-size:47px}.reveal-result>strong .glyph{width:24px;height:24px}.reveal-result>span:last-child{font-size:9px}.outcome-kicker{font-size:6px;letter-spacing:1.2px}.controls{min-height:62px;gap:8px}.controls .drink-action{font-size:17px;padding:13px 18px;gap:9px}.drink-action>b{font-size:29px}.drink-action>.glyph{width:25px;height:25px}.action-square{min-width:68px;flex-direction:column;gap:5px;padding:9px 12px}.action-square .glyph{height:23px;width:23px}.action-square>span{font-size:10px}.inventory{margin-top:21px;padding-top:15px}.inventory-heading{font-size:10px}.inventory-heading small{font-size:8px}.item-list{gap:9px;margin-top:13px}.item{padding:13px 6px;gap:8px}.item>span{font-size:10px}.item>.glyph{width:24px;height:24px}.table:after{margin-top:23px;font-size:18px}.in-game footer{margin-inline:4%;margin-top:0}.quiet-result h3{font-size:25px}.quiet-result>.glyph{height:38px;width:38px}.quiet-result p{font-size:10px}.peek-note{padding:11px;gap:7px}.peek-note .suit{width:15px}.peek-note>span{font-size:9px}dialog{padding:34px 22px;max-width:calc(100% - 24px);max-height:calc(100dvh - 28px)}dialog h2{font-size:25px;margin-bottom:23px}.mode-grid{gap:10px;margin-bottom:21px}.mode-option{padding:18px 12px;grid-template-columns:23px 1fr;gap:6px 10px}.mode-option .glyph{width:23px}.mode-option strong{font-size:16px}.mode-option small{font-size:8px}.setup-roster{grid-template-columns:repeat(3,1fr);gap:10px}.pick-character{height:130px}.pick-character span{font-size:10px;padding:8px 0}.fine-print{font-size:9px;line-height:1.9;margin:14px 0 21px}.modal-intro{font-size:12px}.rules-copy h3{font-size:14px}.rules-copy p{font-size:11px}.rules-intro{gap:29px}.rules-intro strong{font-size:38px}.rule-suits{gap:14px}.rule-suits span{font-size:10px}.rule-suits .suit{width:19px;height:19px}.invite-player{gap:10px;padding:10px}.invite-player img{height:57px;width:44px}.invite-player strong{font-size:12px}.invite-player>span{font-size:14px;gap:4px}.invite-player>span .glyph{height:13px;width:13px}.invite-player>.glyph{width:19px}.drink-options{gap:8px}.drink-options button{padding:21px 5px}.drink-options h3{font-size:17px;margin:15px 0}.drink-glyphs .glyph{width:21px;height:21px}.drink-options strong{font-size:36px}.drink-options .offer-risk{font-size:16px}.drink-options small{font-size:8px}.chronicle li{font-size:11px}#feedback{font-size:13px;padding:14px 19px;gap:10px}#tooltip{max-width:250px}}
@media(max-width:365px){.hero h1>span{font-size:69px}.hero h1 em{font-size:96px}.hero-gallery{top:221px;height:374px}.hero-portrait{height:344px}.hero-actions{margin-top:261px}.entry{min-width:195px}.hero{min-height:735px}.hero-facts{gap:18px}.roster-list{gap:5px}.roster-choice{height:59px}.village-info h3{font-size:9px}.village-card{padding:9px 7px}.player{min-width:101px}.action-square{min-width:61px;padding:9px}.controls .drink-action{padding:12px;font-size:15px}.item>span{font-size:9px}.reveal-area{gap:15px}.reveal-cards{min-width:130px}.drawn-card{width:65px}.game-heading h1{font-size:15px}.game-heading{gap:9px}.round-counter{gap:5px}.round-counter>strong{font-size:26px}.masthead nav .icon-button{width:33px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep the complete decision area in view on laptop screens. */
@media(min-width:951px) and (max-height:850px){.in-game .masthead{height:60px}.game-heading{padding:14px 0 13px}.game-heading h1{font-size:20px;margin-top:3px}.game-heading .eyebrow{font-size:7px}.round-counter>strong{font-size:31px}.game-layout{margin-top:16px;margin-bottom:19px}.panel-label{height:20px}.player{height:142px;padding:11px 13px}.player-stats{margin-top:24px}.player-heading h3{font-size:12px}.player-heading small{font-size:8px}.stat-row strong{font-size:23px}.table-title{height:20px;margin-bottom:12px}.village-card{padding:9px 12px}.villager-portrait{height:70px;max-height:70px;margin:0}.village-top>span{font-size:15px}.village-info{padding-top:8px}.village-info h3{font-size:12px}.village-risk{margin-top:8px}.village-risk>strong{font-size:23px}.stack-chips{margin-top:5px;height:15px}.reveal-area{min-height:133px;padding:12px 0;margin:8px 0 12px}.reveal-area:before{height:110px;width:110px;left:calc(50% - 55px);top:10px}.back-card{height:98px;width:65px}.back-card .glyph{height:27px;width:27px}.empty-reveal h3{font-size:19px}.empty-reveal p:last-child{font-size:9px;margin-top:9px}.drawn-card{height:101px;width:67px}.drawn-card .suit{width:28px;height:28px}.card-name{font-size:9px;margin-top:5px}.card-bottom{bottom:9px}.reveal-result>strong b{font-size:43px}.controls{min-height:54px}.button{min-height:50px}.inventory{margin-top:15px;padding-top:10px}.item-list{margin-top:9px}.item{padding:10px}.item>.glyph{height:23px;width:23px}.witness{padding-top:32px}.witness-portrait{height:289px}.witness-quote{font-size:18px;margin:18px 0}.latest-event{margin-top:12px;font-size:10px}.in-game footer{padding:17px 0}.peek-note{padding:7px;margin-bottom:8px}.peek-note+.controls{min-height:49px}}
@media(max-width:950px){.witness{display:block;grid-column:2;padding:0;width:100%;margin-top:-14px}.witness-portrait,.witness-quote,.latest-event{display:none}.table-tools{justify-content:flex-end;gap:25px;border-top:0}.table:after{display:none}}
#tooltip[popover]{margin:0;inset:auto;overflow:visible}
