:root{color-scheme:dark;--ink:#10100f;--cream:#f1ecdf;--gold:#c8ad68;--red:#a92226;--muted:#c0b9a9;--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font:16px/1.6 var(--sans)}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-60px;z-index:30;background:var(--gold);color:#111;padding:10px 14px}.skip-link:focus{top:12px}.topbar{height:62px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,72px);background:rgba(15,15,14,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(200,173,104,.2)}.wordmark{font:500 10px var(--mono);letter-spacing:.17em;text-decoration:none;color:#eee9df}.wordmark span{color:var(--gold);margin-left:7px}.topbar-meta{display:flex;gap:22px;align-items:center;color:#bbb3a1;font:10px var(--mono);letter-spacing:.1em}.progress-track{width:100px;height:3px;background:#39362e;border-radius:4px;overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:var(--gold);transition:width .5s ease}main{overflow:hidden}.slide{--bg:#141411;--fg:#f1ecdf;--accent:#c8ad68;--red:#a92226;--panel:#201f1a;position:relative;display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - 120px);padding:78px clamp(22px,8vw,130px) 72px;background:radial-gradient(ellipse at 76% 18%,rgba(180,144,72,.12),transparent 40%),radial-gradient(ellipse at 6% 85%,rgba(67,76,51,.1),transparent 34%),var(--bg);color:var(--fg);overflow:hidden}.slide:not(.active){display:none!important}.slide:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.34;background:repeating-linear-gradient(90deg,transparent 0,transparent 69px,rgba(218,196,141,.018) 70px),linear-gradient(180deg,rgba(0,0,0,.12),transparent 30%,transparent 78%,rgba(0,0,0,.32));z-index:-1}.tone-lime{--bg:#121611;--panel:#1d241b;--red:#a9292b}.tone-coral{--bg:#191310;--panel:#251b17;--red:#b12a2b}.tone-orange{--bg:#171612;--panel:#242117;--red:#9f2825}.tone-violet{--bg:#171416;--panel:#241b1e;--red:#b42b31}.tone-pink{--bg:#171311;--panel:#251a18;--red:#b52f34}.tone-blue{--bg:#121617;--panel:#1d2423;--red:#a72b2c}.tone-red{--bg:#191211;--panel:#291a18;--red:#b6292b}.tone-teal{--bg:#121612;--panel:#1c241d;--red:#a82c2d}.tone-sand{--bg:#171510;--panel:#252117;--red:#a6282b}.tone-wall{--bg:#141411;--panel:#211f19;--red:#a6252a}.tone-stats{--bg:#171612;--panel:#252117;--red:#a6252a}.tone-finale{--bg:#171310;--panel:#251b16;--red:#ba292a}
.chapter-label{position:absolute;top:28px;left:clamp(22px,8vw,130px);font:11px var(--mono);letter-spacing:.14em;color:#d0c8b7}.chapter-label span{font-size:13px;font-weight:500;color:var(--accent);margin-right:12px}.kicker{margin:0 0 16px;font:500 11px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2{font:500 clamp(46px,7vw,91px)/1.02 var(--serif);letter-spacing:-.045em;margin-bottom:20px}h2 em,h1 em{font-weight:500;color:var(--accent);font-style:italic}.story-copy{max-width:570px;font-size:clamp(16px,1.35vw,18px);line-height:1.75;color:#ddd5c5;margin:0}.story-foot{position:absolute;bottom:22px;left:clamp(22px,8vw,130px);right:clamp(22px,8vw,130px);display:flex;justify-content:space-between;gap:14px;font:10px var(--mono);letter-spacing:.1em;color:#b8af9e}.cover{--bg:#10100e;--fg:#f4efe4;--accent:#d1b56c;min-height:calc(100svh - 120px);padding-left:clamp(25px,12vw,180px);background:radial-gradient(ellipse at 72% 45%,rgba(155,127,68,.22),transparent 23%),radial-gradient(ellipse at 78% 50%,#22221b 0,#171713 35%,#10100e 72%)}.cover:after{content:'';position:absolute;right:11%;bottom:-7%;width:43%;height:62%;background:linear-gradient(90deg,transparent 0 12%,#11120f 12% 18%,transparent 18% 28%,#11120f 28% 42%,transparent 42% 51%,#11120f 51% 58%,transparent 58% 70%,#11120f 70% 83%,transparent 83%);clip-path:polygon(0 26%,8% 26%,8% 4%,14% 0,20% 5%,20% 34%,33% 34%,33% 0,42% 0,42% 20%,53% 20%,53% 1%,62% 0,62% 28%,77% 28%,77% 0,88% 0,88% 38%,100% 38%,100% 100%,0 100%);opacity:.88;z-index:0}.cover-copy{position:relative;z-index:2;max-width:690px}.cover h1{font-size:clamp(65px,10.5vw,126px);line-height:.91;margin:18px 0 24px}.cover h1 em{color:#d8bf7b}.cover .kicker{color:#d8bf7b}.cover-subtitle{max-width:485px;color:#d2cabb;font-size:clamp(16px,1.5vw,19px);line-height:1.75;margin-bottom:32px}.primary-button{display:flex;gap:36px;align-items:center;border:1px solid #d5bd79;background:#c9ae6b;color:#17150f;padding:15px 20px;font:500 11px var(--mono);letter-spacing:.08em;cursor:pointer;transition:transform .2s,box-shadow .3s}.primary-button:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0007}.primary-button span{font-size:17px}.cover-orbit{position:absolute;border:1px solid rgba(211,188,121,.19);border-radius:50%;width:min(52vw,650px);aspect-ratio:1;right:5%;top:8%;transform:rotate(-25deg);z-index:1}.orbit-a{animation:orbit-turn 32s linear infinite}.orbit-a:before,.orbit-b:before{content:'✦';position:absolute;top:12%;left:17%;font-size:20px;color:#d7bf7b;text-shadow:0 0 15px #d7bf7b}.orbit-b{width:min(38vw,460px);top:20%;right:12%;border-color:rgba(211,188,121,.13);transform:rotate(32deg);animation:orbit-turn 24s linear infinite reverse}.orbit-b:before{top:auto;left:auto;bottom:10%;right:6%;font-size:15px}.cover-disc{position:absolute;width:min(25vw,305px);aspect-ratio:1;right:18%;top:24%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 31%,#f0d992,#b69c58 42%,#655734 76%,#28271f);color:#312b1d;font-size:32px;box-shadow:0 0 90px rgba(195,168,96,.18);z-index:1;animation:disc-breathe 5s ease-in-out infinite}.cover-bottom{position:absolute;left:clamp(25px,12vw,180px);right:clamp(25px,6vw,90px);bottom:24px;display:flex;justify-content:space-between;color:#a49b88;font:10px var(--mono);letter-spacing:.14em;z-index:2}.cover-bottom span:last-child{color:#d7bf7b;font-size:15px}.chapter-grid{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(35px,8vw,120px);width:min(100%,1080px);margin:auto}.chapter-grid h2{font-size:clamp(55px,8vw,102px)}.shield-row{display:flex;align-items:center;gap:10px;margin-top:35px}.shield-icon{color:var(--accent);font-size:23px;animation:shield-float 2.4s ease-in-out infinite}.shield-icon:nth-child(2){animation-delay:.2s}.shield-icon:nth-child(3){animation-delay:.4s}.shield-row p{margin:0 0 0 10px;font-size:13px;line-height:1.6;color:#ddd4c2}.shield-row b{font:12px var(--mono);color:var(--gold)}.poster-stat{position:relative;min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#27261d,#1b1c16 75%);border:1px solid rgba(200,173,104,.35);transform:rotate(2deg);box-shadow:12px 16px 0 rgba(0,0,0,.26)}.poster-stat>span,.poster-stat>b{font:11px var(--mono);letter-spacing:.13em}.poster-stat>span{position:absolute;top:22px;left:25px;color:#d4c6a7}.poster-stat strong{font:500 clamp(120px,22vw,220px)/.9 var(--serif);letter-spacing:-.08em;color:var(--accent)}.poster-stat strong small{font-size:.35em;vertical-align:top;letter-spacing:-.02em}.poster-stat>b{margin-top:18px;color:#e3dac7}.poster-stamp{position:absolute;right:-21px;bottom:36px;padding:12px;border:2px solid var(--red);font:10px/1.45 var(--mono);letter-spacing:.1em;transform:rotate(-9deg);color:#e1c68b;background:#291b17;animation:stamp-slam .6s .6s both}.event-stack{max-width:500px;margin-top:30px;border-top:1px solid rgba(208,187,139,.28)}.event-stack>div{display:grid;grid-template-columns:46px 1fr 30px;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid rgba(208,187,139,.24)}.event-number{font:13px var(--mono);color:var(--accent)}.event-stack small,.event-stack b{display:block}.event-stack small{font:10px var(--mono);letter-spacing:.1em;color:#c9c0ae}.event-stack b{font:500 22px var(--serif)}.event-stack i{font-style:normal;font-size:21px;color:var(--red)}.coin-story-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;max-width:1120px;width:100%;margin:0 auto 25px}.coin-story-head h2{font-size:clamp(44px,6vw,70px);margin-bottom:0}.coin-total{text-align:right;flex-shrink:0}.coin-total strong{display:block;font:500 clamp(74px,10vw,112px)/.88 var(--serif);letter-spacing:-.08em;color:var(--accent)}.coin-total span{font:11px var(--mono);letter-spacing:.13em;color:#ddd4c3}.challenge-cards{display:grid;grid-template-columns:1.16fr .92fr .92fr;gap:13px;max-width:1120px;width:100%;margin:auto}.challenge-card{background:linear-gradient(150deg,#28261f,#1d1c18);border:1px solid rgba(200,173,104,.24);padding:18px 19px 0;min-height:245px;display:flex;flex-direction:column;box-shadow:0 12px 28px #0003;transition:transform .3s, border-color .3s}.challenge-card:hover{transform:translateY(-5px) rotate(-.5deg);border-color:rgba(200,173,104,.55)}.card-index{font:10px var(--mono);letter-spacing:.12em;color:#d0bd8e}.challenge-card h3{font:500 21px var(--serif);margin:8px 0 12px}.team-results{display:grid;grid-template-columns:1fr 1fr;gap:9px}.team-results p{position:relative;margin:0;padding:9px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.07)}.team-results b,.team-results span,.team-results small{display:block}.team-results b{font:10px var(--mono);color:var(--accent)}.team-results span{font-size:11px;line-height:1.45;margin:4px 0 8px;color:#e0d9cb}.team-results strong{font:500 21px var(--serif)}.team-results small{font-size:10px;color:#ccc2af}.card-copy{font-size:14px;line-height:1.6;color:#e0d9cb;margin:0 0 auto}.score-row{display:flex;align-items:baseline;gap:9px;margin:auto 0 7px}.score-row strong{font:500 49px/.9 var(--serif);letter-spacing:-.05em}.score-row strong small{font-size:19px;color:#c8bca3}.score-row span{font:10px var(--mono);letter-spacing:.1em;color:#d4c8ad}.card-footer{padding:10px 0;border-top:1px solid rgba(200,173,104,.25);font:10px var(--mono);letter-spacing:.1em;margin-top:auto;color:#d7c69d}.coin-wrap{max-width:1120px;width:100%;margin:25px auto 0}.coin-meter{height:13px;position:relative;border-radius:8px;background:#343027;border:1px solid #696045;overflow:visible}.coin-earned{position:absolute;left:0;top:0;bottom:0;width:67.5%;border-radius:8px;background:linear-gradient(90deg,#7c6738,#d4b86e);animation:coin-fill 1.4s .2s both;transform-origin:left}.target-marker{position:absolute;left:62.5%;top:-6px;height:23px;border-left:3px solid #f1e7d2;z-index:1}.meter-labels{display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.08em;margin-top:8px;color:#d2c8b6}.meter-labels b{position:absolute;left:calc(62.5% - 83px);color:#f3e7cb}.coin-summary{font-size:14px;line-height:1.55;margin:13px 0 0;color:#e4dccb}.coin-summary b{color:#e6cc83}.double-kill{width:min(100%,1040px);margin:auto;display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:55px}.double-kill h2{font-size:clamp(60px,8.5vw,102px)}.victim-pills{display:flex;align-items:center;gap:13px;margin-top:30px}.victim-pills span{padding:9px 14px;border:1px solid rgba(200,173,104,.36);background:#201c1a;font:11px var(--mono);letter-spacing:.1em}.victim-pills b{font-size:19px;color:var(--accent)}.confession-layout{display:grid;grid-template-columns:1fr .7fr;align-items:center;gap:80px;width:min(100%,1000px);margin:auto}.confession-layout h2{font-size:clamp(59px,9vw,105px)}.vote-card{position:relative;min-height:385px;background:linear-gradient(145deg,#2a211c,#1c1815);border:1px solid rgba(200,173,104,.33);padding:22px;display:flex;flex-direction:column;align-items:flex-start;transform:rotate(-2deg);box-shadow:12px 15px #0004}.vote-card>span{font:11px var(--mono);letter-spacing:.14em;color:#d6c69f}.vote-card>p{margin:12px 0 0;font:11px var(--mono);letter-spacing:.12em;color:#e1c792}.imposter-rounds{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;max-width:1050px;margin:36px auto 0;width:100%}.imposter-rounds article{position:relative;min-height:210px;background:linear-gradient(145deg,#25251f,#1b1c18);border:1px solid rgba(200,173,104,.3);padding:18px;display:flex;flex-direction:column;box-shadow:0 10px 30px #0003;transition:transform .35s}.imposter-rounds article:hover{transform:translateY(-5px) rotate(1deg)}.imposter-rounds article>span{font:10px var(--mono);letter-spacing:.12em;color:#d0bf99}.imposter-rounds strong{font:500 clamp(27px,4vw,40px) var(--serif);margin-top:20px}.imposter-rounds small{font:10px var(--mono);color:#d2c9b9;letter-spacing:.1em}.imposter-rounds i{position:absolute;right:15px;top:43px;font-style:normal;color:var(--accent);font-size:27px}.imposter-rounds b{margin-top:auto;padding-top:10px;border-top:1px solid rgba(200,173,104,.24);font:10px var(--mono);color:#dfcfaa}.imposter-rounds .missed{background:linear-gradient(145deg,#2a201e,#1c1716)}.imposter-rounds .missed i{color:#c6594d}.murder-layout{width:min(100%,1100px);margin:auto;display:grid;grid-template-columns:1fr .9fr;gap:55px;align-items:center}.murder-layout h2{font-size:clamp(57px,8vw,96px)}.vote-picks{display:flex;gap:11px;margin-top:28px}.vote-picks div{flex:1;padding:13px;background:#211917;border:1px solid rgba(200,173,104,.22)}.vote-picks small,.vote-picks b{display:block}.vote-picks small{font:10px var(--mono);letter-spacing:.13em;color:#d3c7b2}.vote-picks b{font:500 15px var(--serif);margin-top:8px}.nav-story{display:grid;grid-template-columns:1fr .5fr;gap:65px;align-items:center;width:min(100%,1020px);margin:auto}.nav-story h2{font-size:clamp(64px,9vw,110px)}.last-traitor{display:flex;align-items:center;gap:18px;margin-top:34px;padding-top:14px;border-top:1px solid rgba(200,173,104,.25);max-width:390px}.last-traitor span{font:10px var(--mono);letter-spacing:.1em;color:#d4c9b4}.last-traitor strong{font:500 27px var(--serif)}.last-traitor i{margin-left:auto;font:italic 35px var(--serif);color:var(--accent)}.endgame-head{width:min(100%,1050px);display:flex;align-items:flex-end;gap:65px;margin:0 auto 25px}.endgame-head h2{font-size:clamp(54px,8vw,88px);margin:0}.endgame-head .story-copy{max-width:400px;margin-bottom:7px}.final-votes{display:grid;grid-template-columns:1fr auto 1fr;gap:17px;align-items:center;width:min(100%,1050px);margin:auto}.final-votes article{position:relative;min-height:250px;padding:16px;background:linear-gradient(145deg,#28251f,#1c1b17);border:1px solid rgba(200,173,104,.3);display:flex;flex-direction:column}.final-votes article>span{font:10px var(--mono);letter-spacing:.1em;color:#d5c7a6}.final-votes article>strong{font:500 31px var(--serif);margin-top:9px}.final-votes article>small{font:10px var(--mono);color:#d0c5b2}.vote-connector{font:10px var(--mono);letter-spacing:.1em;color:var(--accent)}.last-two{margin:20px auto 0;text-align:center}.last-two>span{font:10px var(--mono);letter-spacing:.15em;color:#d3c9b6}.last-two strong{display:block;font:500 clamp(30px,5vw,52px) var(--serif);margin:2px 0}.last-two strong i{font-style:normal;color:var(--accent);padding:0 6px}.last-two p{font-size:14px;margin:0 0 9px;color:#e0d8c8}.last-two>b{display:inline-block;padding:7px 13px;background:#8f2828;color:#f5ead2;font:10px var(--mono);letter-spacing:.13em}.wall-heading{display:flex;justify-content:space-between;align-items:flex-end;width:min(100%,1100px);margin:0 auto 24px}.wall-heading h2{font-size:clamp(44px,6vw,70px);margin:0}.wall-key{padding-bottom:7px;font:11px var(--mono);letter-spacing:.12em;color:var(--accent)}.player-wall{width:min(100%,1100px);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.player-card{min-width:0;margin:0;animation:card-rise .6s both}.player-card:nth-child(2){animation-delay:.04s}.player-card:nth-child(3){animation-delay:.08s}.player-card:nth-child(4){animation-delay:.12s}.player-card:nth-child(5){animation-delay:.16s}.player-card:nth-child(6){animation-delay:.2s}.player-card:nth-child(7){animation-delay:.24s}.player-card:nth-child(8){animation-delay:.28s}.player-card:nth-child(9){animation-delay:.32s}.player-card:nth-child(10){animation-delay:.36s}.player-card:nth-child(11){animation-delay:.4s}.player-card:nth-child(12){animation-delay:.44s}.portrait-frame{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:3/4;background:#29271f;border:1px solid rgba(200,173,104,.34)}.portrait-frame:after{content:'';position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.3));z-index:1;pointer-events:none}.portrait-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1);z-index:0}.player-card:hover .portrait-frame img{transform:scale(1.055)}.player-card figcaption{padding:8px 2px 0;font:500 clamp(14px,1.3vw,17px) var(--serif);color:#eee6d4}.exit-wall{display:flex;align-items:center;justify-content:center;gap:13px}.exit-pair .exit-card{width:calc(50% - 7px);max-width:230px}.exit-card{min-width:0;margin:0;animation:card-rise .55s both}.exit-photo{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:3/4;background:#27231d;border:1px solid rgba(200,173,104,.4);box-shadow:0 14px 36px #0005}.exit-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.35));pointer-events:none;z-index:1}.exit-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.76) brightness(.74);z-index:0}.traitor-cross{position:absolute;inset:0;z-index:2;display:grid;place-items:center;overflow:hidden}.traitor-cross i{position:absolute;width:145%;height:9px;background:linear-gradient(90deg,#670d12,#c51f27 13%,#ec3034 50%,#c51f27 87%,#670d12);border-top:1px solid #ec8c75;border-bottom:1px solid #5a080b;box-shadow:0 0 3px #f4d0b1,0 0 14px #c00b;transform-origin:center;animation:cross-draw .55s cubic-bezier(.2,.75,.3,1) both}.traitor-cross i:first-child{transform:scaleX(0) rotate(43deg)}.traitor-cross i:last-child{transform:scaleX(0) rotate(-43deg);animation-delay:.13s}.exit-card figcaption{display:flex;flex-direction:column;gap:1px;padding-top:8px;text-align:center}.exit-card figcaption b{font:500 17px var(--serif)}.exit-card figcaption span{font:10px var(--mono);letter-spacing:.12em;color:#d1b875}.exit-single{width:min(100%,235px);margin:auto}.exit-single figcaption{display:none}.exit-thumb{width:86px;margin:10px 0 0}.exit-thumb .exit-photo{border-width:1px}.exit-thumb .traitor-cross i{height:5px}.vote-card .exit-single{width:100%;max-width:210px;margin:auto}.vote-card .exit-photo{width:100%}.exit-pair{max-width:470px;width:100%;margin:auto}.exit-wall .exit-card:nth-child(2) .traitor-cross i{animation-delay:.3s}.exit-wall .exit-card:nth-child(2) .traitor-cross i:last-child{animation-delay:.43s}.imposter-rounds article{animation:card-rise .55s both}.imposter-rounds article:nth-child(2){animation-delay:.12s}.imposter-rounds article:nth-child(3){animation-delay:.24s}.role-breakdown{max-width:1040px;width:100%;margin:17px auto 0;display:grid;grid-template-columns:.75fr 1.25fr;gap:12px}.role-breakdown div{padding:11px 14px;background:linear-gradient(145deg,#29261e,#1d1b16);border:1px solid rgba(200,173,104,.25)}.role-breakdown span,.role-breakdown b{display:block}.role-breakdown span{font:10px var(--mono);letter-spacing:.12em;color:var(--accent);margin-bottom:5px}.role-breakdown b{font:500 14px var(--serif);color:#e5ddcb}.stats-title{width:min(100%,1040px);margin:0 auto 20px}.stats-title h2{font-size:clamp(47px,6vw,74px);margin:0}.stats-board{width:min(100%,1040px);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(200,173,104,.3);border-left:1px solid rgba(200,173,104,.3)}.stats-board div{min-height:95px;padding:11px 16px;border-right:1px solid rgba(200,173,104,.3);border-bottom:1px solid rgba(200,173,104,.3);display:flex;flex-direction:column;justify-content:center}.stats-board strong{font:500 clamp(38px,5vw,56px)/.92 var(--serif);color:var(--accent)}.stats-board span{font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:7px;color:#d6cdb9}.winner-banner{display:flex;align-items:center;justify-content:center;gap:18px;margin:17px auto 0;font:11px var(--mono);letter-spacing:.16em;color:#e3d8c1}.winner-banner strong{font:500 clamp(30px,5vw,48px) var(--serif);color:var(--accent)}.winner-banner i{font-style:normal;color:var(--accent);font-size:20px}.bet-finale{width:min(100%,1000px);margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(35px,8vw,100px);align-items:center}.bet-ticket{position:relative;min-height:360px;padding:24px;background:linear-gradient(150deg,#e4d7b8,#c9b991);color:#171510;box-shadow:12px 14px rgba(0,0,0,.35);display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-2deg)}.bet-ticket>span{font:10px var(--mono);letter-spacing:.15em;color:#514833}.bet-ticket blockquote{margin:15px 0;font:500 clamp(30px,4vw,46px)/1.12 var(--serif);letter-spacing:-.04em}.bet-result{display:flex;flex-direction:column;gap:4px;border-top:1px dashed rgba(25,20,15,.4);padding-top:12px}.bet-result span{font:10px var(--mono);letter-spacing:.13em;color:#514833}.bet-result strong{font:500 18px var(--serif)}.wrong-stamp{position:absolute;right:18px;top:43%;transform:rotate(11deg);border:2px solid #8e2528;color:#8e2528;padding:8px 10px;font:500 10px/1.35 var(--mono);letter-spacing:.1em;text-align:center;animation:stamp-slam .5s .8s both}.bet-debrief h2{font-size:clamp(45px,6vw,72px)}.bet-debrief>p:not(.kicker){max-width:490px;font-size:16px;line-height:1.75;color:#ded5c2}.final-score{display:flex;align-items:center;gap:13px;margin-top:25px;padding-top:14px;border-top:1px solid rgba(200,173,104,.28);font:10px var(--mono);letter-spacing:.13em;color:#ddd3bf}.final-score b{font:500 21px var(--serif);color:var(--accent)}.final-score i{font-style:normal;color:#a79c86}.last-line{position:absolute;bottom:22px;left:0;right:0;text-align:center;font:10px var(--mono);letter-spacing:.18em;color:#c7bba2}.last-line span{color:var(--accent);margin:0 12px}.story-nav{position:sticky;bottom:0;z-index:20;height:58px;display:flex;justify-content:center;align-items:center;gap:32px;background:rgba(15,15,14,.96);border-top:1px solid rgba(200,173,104,.22);backdrop-filter:blur(15px)}.story-nav button{padding:10px;border:0;background:none;color:#d4bd7d;cursor:pointer;font:10px var(--mono);letter-spacing:.14em}.story-nav button:disabled{color:#716b5c;cursor:default}.story-nav button span{margin:0 5px}.chapter-count{font:11px var(--mono);color:#e0ca89}.chapter-count i{margin:0 7px;color:#81775f;font-style:normal}.story-nav button:focus-visible,.primary-button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}footer{min-height:42px;padding:0 clamp(18px,5vw,72px);display:flex;align-items:center;justify-content:space-between;color:#a19a8b;font:9px var(--mono);letter-spacing:.12em}
@keyframes fade-up{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}@keyframes card-rise{from{opacity:0;transform:translateY(22px) rotate(-1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes cross-draw{from{transform:scaleX(0) rotate(var(--angle,43deg))}to{transform:scaleX(1) rotate(var(--angle,43deg))}}@keyframes coin-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes stamp-slam{0%{opacity:0;scale:2.5}70%{opacity:1;scale:.88}100%{opacity:1;scale:1}}@keyframes shield-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-6px) rotate(6deg)}}@keyframes orbit-turn{to{transform:rotate(335deg)}}@keyframes disc-breathe{0%,100%{box-shadow:0 0 70px rgba(195,168,96,.14);transform:scale(1)}50%{box-shadow:0 0 110px rgba(195,168,96,.28);transform:scale(1.025)}}
.slide.active .chapter-label,.slide.active .kicker,.slide.active h2,.slide.active .story-copy{animation:fade-up .55s both}.slide.active .story-copy{animation-delay:.12s}.slide.active .chapter-label{animation-delay:.04s}.slide.active .event-stack>div{animation:fade-up .45s both}.slide.active .event-stack>div:nth-child(2){animation-delay:.13s}.slide.active .exit-card:nth-child(2){animation-delay:.12s}.slide.active .exit-card:nth-child(2) .traitor-cross i:first-child{animation-delay:.24s}.slide.active .exit-card:nth-child(2) .traitor-cross i:last-child{animation-delay:.37s}
@media(max-width:850px){.slide{padding-left:6vw;padding-right:6vw}.chapter-label{left:6vw}.story-foot{left:6vw;right:6vw}.chapter-grid{gap:30px}.poster-stat{min-height:290px}.challenge-cards{grid-template-columns:1fr 1fr}.challenge-card:first-child{grid-row:span 2}.team-results{grid-template-columns:1fr}.team-results span{max-width:none}.player-wall{grid-template-columns:repeat(3,minmax(0,1fr))}.wall-heading,.stats-title,.stats-board{width:100%}.bet-finale{gap:40px}.cover{padding-left:8vw}.cover-bottom{left:8vw}.cover-disc{right:11%}.exit-pair .exit-card{width:calc(50% - 6px)}}
@media(max-width:600px){.topbar{height:55px;padding:0 15px}.topbar-meta{gap:10px;font-size:8px}.progress-track{width:50px}.wordmark{font-size:8px;letter-spacing:.1em}.slide{min-height:calc(100svh - 106px);padding:68px 6vw 70px}.chapter-label{top:20px;left:6vw;font-size:9px}.story-foot{left:6vw;right:6vw;bottom:13px;font-size:9px}.story-foot span:last-child{text-align:right}.cover{min-height:calc(100svh - 106px);padding-left:7vw}.cover h1{font-size:clamp(59px,14vw,88px)}.cover-disc{width:48vw;right:3%;top:16%;opacity:.55}.cover-orbit{width:78vw;right:-13%;top:10%}.orbit-b{width:58vw;right:0;top:22%}.cover-copy{max-width:95%;margin-top:60px}.cover-subtitle{max-width:320px;font-size:16px}.cover-bottom{left:7vw;right:7vw;bottom:16px;font-size:9px}.primary-button{padding:14px 16px}.wall-heading{display:block;margin-bottom:15px}.wall-heading h2{font-size:clamp(41px,11vw,58px)}.wall-key{padding:8px 0 0;font-size:10px}.player-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.player-card figcaption{padding-top:6px;font-size:15px}.chapter-grid{grid-template-columns:1fr;gap:23px;width:100%}.chapter-grid h2{font-size:clamp(53px,13vw,74px)}.poster-stat{min-height:205px;max-width:320px;width:100%;justify-self:center}.poster-stat strong{font-size:140px}.poster-stamp{right:3px;bottom:17px}.shield-row{margin-top:20px}.event-stack{max-width:100%;margin-top:20px}.exit-pair{max-width:360px}.exit-pair .exit-card{max-width:165px}.exit-card figcaption b{font-size:15px}.exit-card figcaption span{font-size:9px}.coin-story-head{align-items:flex-start;flex-direction:column;margin-bottom:17px}.coin-story-head h2{font-size:clamp(38px,10vw,57px)}.coin-total{position:absolute;right:6vw;top:70px}.coin-total strong{font-size:62px}.coin-total span{font-size:9px}.challenge-cards{grid-template-columns:1fr;gap:8px}.challenge-card,.challenge-card:first-child{grid-row:auto;min-height:0;padding:12px 13px 0}.challenge-card h3{margin:5px 0 7px;font-size:18px}.team-results{grid-template-columns:1fr 1fr}.team-results span{font-size:10px}.team-results p{padding:7px}.team-results small{font-size:9px}.card-copy{font-size:13px;margin-bottom:8px}.score-row{margin:5px 0}.score-row strong{font-size:36px}.card-footer{padding:7px 0;font-size:9px}.coin-wrap{margin-top:15px}.coin-summary{font-size:12px}.meter-labels{font-size:9px}.meter-labels b{left:calc(62.5% - 76px)}.double-kill{grid-template-columns:1fr;gap:22px}.double-kill h2{font-size:clamp(53px,13vw,76px)}.confession-layout{grid-template-columns:1fr;gap:20px}.confession-layout h2{font-size:clamp(54px,13vw,76px)}.vote-card{min-height:0;padding:15px;transform:rotate(-1deg)}.vote-card .exit-single{width:min(100%,190px);margin:14px auto}.vote-card .exit-photo{width:100%}.vote-card>p{text-align:center;width:100%;font-size:10px}.imposter-rounds{grid-template-columns:1fr;gap:7px;margin-top:22px}.imposter-rounds article{min-height:128px;padding:12px}.imposter-rounds strong{font-size:29px;margin-top:10px}.imposter-rounds i{top:28px}.imposter-rounds b{margin-top:10px;padding-top:7px}.murder-layout{grid-template-columns:1fr;gap:20px}.murder-layout h2{font-size:clamp(50px,12vw,71px)}.vote-picks{margin-top:18px}.vote-picks b{font-size:13px}.exit-pair .exit-card{max-width:160px}.nav-story{grid-template-columns:1fr .65fr;gap:15px}.nav-story h2{font-size:clamp(55px,13vw,78px)}.nav-story .exit-single{width:100%;max-width:170px}.endgame-head{display:block;margin-bottom:17px}.endgame-head h2{font-size:clamp(46px,11vw,64px)}.endgame-head .story-copy{font-size:14px;margin-top:13px}.final-votes{grid-template-columns:1fr auto 1fr;gap:6px}.final-votes article{min-height:230px;padding:10px}.final-votes article>strong{font-size:23px}.final-votes article>span,.final-votes article>small{font-size:8px}.exit-thumb{width:100%;max-width:88px;margin-top:9px}.exit-thumb .traitor-cross i{height:5px}.vote-connector{font-size:8px;writing-mode:vertical-rl}.last-two{margin-top:16px}.last-two strong{font-size:30px}.last-two p{font-size:12px}.wall-heading,.stats-title,.stats-board{width:100%}.stats-title{margin-bottom:18px}.stats-title h2{font-size:49px}.stats-board div{min-height:78px;padding:8px}.stats-board strong{font-size:39px}.stats-board span{font-size:9px;line-height:1.35}.role-breakdown{grid-template-columns:1fr;gap:7px;margin-top:12px}.role-breakdown div{padding:8px 10px}.role-breakdown span{font-size:9px;margin-bottom:3px}.role-breakdown b{font-size:12px;line-height:1.45}.winner-banner{margin-top:13px}.bet-finale{grid-template-columns:1fr;gap:25px}.bet-ticket{min-height:230px;padding:17px}.bet-ticket blockquote{font-size:32px}.bet-debrief h2{font-size:46px;margin-bottom:10px}.bet-debrief>p:not(.kicker){font-size:14px}.final-score{margin-top:12px;padding-top:9px}.last-line{bottom:13px;font-size:9px}footer{padding:0 13px;font-size:8px}}
@media(max-width:370px){.player-wall{gap:7px}.team-results{grid-template-columns:1fr}.coin-total{top:76px}.coin-story-head h2{max-width:230px}.story-foot span:last-child{max-width:48%}.cover-bottom{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}
.traitor-cross i:first-child{--angle:43deg}.traitor-cross i:last-child{--angle:-43deg}
.music-toggle{display:flex;align-items:center;gap:7px;padding:8px 11px;background:rgba(200,173,104,.09);border:1px solid rgba(200,173,104,.42);color:#e0ca89;cursor:pointer;font:10px var(--mono);letter-spacing:.08em;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}.music-toggle:hover{background:rgba(200,173,104,.18);border-color:#d1b56c;color:#f3e5bd}.music-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.music-toggle.is-playing{background:rgba(200,173,104,.18);color:#f3e5bd}.music-toggle:disabled{opacity:.55;cursor:not-allowed}.music-note{font-size:16px;line-height:1}.music-toggle.is-playing .music-note{animation:note-dance .8s ease-in-out infinite alternate}@keyframes note-dance{to{transform:translateY(-3px) rotate(9deg)}}
@media(max-width:600px){.topbar-meta>span:first-child{display:none}.music-toggle{gap:5px;padding:7px 8px;font-size:8px}.music-note{font-size:15px}}
.poster-stat{min-height:330px;padding:25px 26px;justify-content:center;gap:0}
.poster-stat>span{position:static;align-self:flex-start;font-size:11px}
.poster-stat strong{display:block;margin:18px 0 0;font-size:clamp(112px,16vw,184px);line-height:.88}
.poster-stat>b{margin-top:7px;font-size:12px}
@media(max-width:850px){.poster-stat{min-height:260px;padding:20px}.poster-stat strong{font-size:clamp(105px,17vw,145px);margin-top:11px}.poster-stat>b{margin-top:4px}}
@media(max-width:600px){.poster-stat{min-height:225px;padding:17px 16px}.poster-stat>span{font-size:10px}.poster-stat strong{font-size:clamp(100px,31vw,122px);margin-top:8px}.poster-stat>b{font-size:11px;margin-top:3px}}
.shield-awards{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:23px;padding-top:12px;border-top:1px solid rgba(200,173,104,.28)}
.shield-awards-label{font:10px var(--mono);letter-spacing:.13em;color:#e3ce94}
.shield-recipient-list{display:flex;align-items:flex-end;gap:12px}
.shield-recipient{display:flex;flex-direction:column;align-items:center;gap:4px;animation:card-rise .5s both}
.shield-portrait{position:relative;display:block;width:120px;height:152px}
.shield-player-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:1px solid rgba(200,173,104,.36);border-radius:3px;box-shadow:0 6px 15px #0005}
.shield-badge{position:absolute;right:-11px;bottom:-7px;width:43px;height:48px;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 2px 3px #0009);z-index:2}
.shield-recipient-name{font:11px var(--serif);color:#f1e7cf;white-space:nowrap}
.challenge-card .shield-awards.compact{margin-top:0;padding:7px 0 8px;border-top:1px solid rgba(200,173,104,.22)}
.shield-awards.compact{flex-direction:row;align-items:center;gap:10px}
.shield-awards.compact .shield-awards-label{font-size:9px;white-space:nowrap}
.shield-awards.compact .shield-recipient-list{gap:7px}
.shield-awards.compact .shield-recipient{flex-direction:row;gap:6px}
.shield-awards.compact .shield-portrait{width:74px;height:96px}
.shield-awards.compact .shield-badge{width:29px;height:34px;right:-7px;bottom:-5px}
.shield-awards.compact .shield-recipient-name{font:10px var(--mono)}
.coin-purchase{display:flex;align-items:center;gap:18px;margin-top:13px;padding-top:12px;border-top:1px solid rgba(200,173,104,.24)}
.coin-purchase .coin-summary{margin:0;flex:1}
.coin-purchase .shield-awards.compact{margin:0;padding:0;border:0}
.coin-purchase .shield-awards-label{max-width:90px;white-space:normal!important;line-height:1.4}
@media(max-width:600px){.shield-awards{margin-top:18px}.shield-portrait{width:104px;height:132px}.shield-badge{width:38px;height:43px}.shield-awards.compact{gap:7px}.shield-awards.compact .shield-awards-label{font-size:8px}.shield-awards.compact .shield-portrait{width:64px;height:84px}.shield-awards.compact .shield-badge{width:25px;height:30px}.shield-awards.compact .shield-recipient-name{font-size:9px}.coin-purchase{align-items:flex-start;gap:8px}.coin-purchase .shield-awards.compact{flex-direction:column;align-items:center;min-width:76px}.coin-purchase .shield-awards-label{max-width:76px;text-align:center}.coin-purchase .shield-awards.compact .shield-recipient{flex-direction:column}}
.gsap-enabled .slide.active .shield-recipient{animation:none!important}
.tone-victory{--bg:#111810;--panel:#1b281b;--accent:#a9c280;--red:#a6252a;background:radial-gradient(ellipse at 50% 35%,rgba(126,161,91,.2),transparent 50%),radial-gradient(ellipse at 9% 88%,rgba(200,173,104,.09),transparent 34%),var(--bg)}
.victory-story{width:min(100%,1000px);margin:auto;text-align:center}
.victory-story h2{font-size:clamp(44px,6.5vw,76px);margin:0 0 12px}
.victory-story .story-copy{margin:0 auto;max-width:680px}
.final-survivors{display:flex;align-items:flex-start;justify-content:center;gap:clamp(18px,5vw,52px);margin:24px auto 16px}
.final-survivor{width:clamp(126px,19vw,210px);margin:0;animation:card-rise .6s both}
.final-survivor:nth-child(2){animation-delay:.12s}
.final-survivor-photo{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid rgba(169,194,128,.72);box-shadow:0 12px 30px #0007,0 0 28px rgba(126,161,91,.12)}
.final-survivor-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.final-survivor figcaption{display:flex;flex-direction:column;gap:3px;padding-top:8px}
.final-survivor figcaption b{font:500 21px var(--serif);color:#f1ecdf}
.final-survivor figcaption span{font:10px var(--mono);letter-spacing:.14em;color:#b8d28f}
.faithful-win{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:6px auto 0;padding:10px 17px;background:#617b48;border:1px solid #a9c280;color:#f5f0e2;font:11px var(--mono);letter-spacing:.13em;box-shadow:0 5px 16px #0005}
.faithful-win:after{content:'✦';color:#decc91}
.winner-banner.faithful-win{display:flex;width:max-content;max-width:100%;padding:8px 15px;margin-top:17px}
.winner-banner.faithful-win strong{color:#d7e8ba}
.winner-banner.faithful-win i{display:none}
.gsap-enabled .slide.active .final-survivor{animation:none!important}
@media(max-width:600px){.victory-story h2{font-size:clamp(39px,10vw,56px)}.victory-story .story-copy{font-size:14px}.final-survivors{gap:15px;margin:20px auto 13px}.final-survivor{width:min(39vw,165px)}.final-survivor figcaption b{font-size:18px}.final-survivor figcaption span{font-size:9px}.faithful-win{font-size:10px;padding:9px 13px}}
.challenge-cards{grid-template-columns:1.3fr .95fr .95fr}
.team-results{grid-template-columns:1fr;gap:7px}
.team-results p{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"team score" "names score" "detail score";align-items:center;column-gap:12px;row-gap:2px;padding:8px 10px}
.team-results b{grid-area:team;font-size:12px}
.team-results span{grid-area:names;max-width:none;font-size:13px;line-height:1.38;margin:0;color:#e8dfcd}
.team-results strong{grid-area:score;font-size:24px;white-space:nowrap}
.team-results small{grid-area:detail;font-size:11px;line-height:1.3}
.score-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);align-items:center;column-gap:11px;row-gap:5px}
.score-row strong{font-size:clamp(34px,4vw,43px);line-height:1;white-space:nowrap}
.score-row strong small{font-size:.46em;vertical-align:baseline;margin-left:2px}
.score-row span{min-width:0;font-size:11px;line-height:1.3;white-space:normal}
.coin-purchase{display:grid;grid-template-columns:minmax(210px,.7fr) 1.3fr;align-items:center;gap:20px;margin-top:16px;padding:14px 16px;background:linear-gradient(140deg,#2c261b,#1d1b16);border:1px solid rgba(200,173,104,.45);box-shadow:0 10px 24px #0004}
.shield-awards.featured{flex-direction:row;align-items:center;gap:11px;margin:0;padding:0;border:0}
.shield-awards.featured .shield-awards-label{max-width:100px;font-size:10px;line-height:1.4;white-space:normal}
.shield-awards.featured .shield-portrait{width:126px;height:162px}
.shield-awards.featured .shield-badge{width:52px;height:58px;right:-11px;bottom:-7px}
.shield-awards.featured .shield-recipient-name{font-size:13px}
.purchase-explanation>p{font-size:15px;line-height:1.55;margin:0;color:#eee4d0}
.curse-result{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:8px 11px;border-left:4px solid #aa3b33;background:rgba(139,42,37,.2)}
.curse-result span{font:11px var(--mono);letter-spacing:.13em;color:#e29a80}
.curse-result strong{font:500 17px var(--serif);color:#f0dfc0}
.black-marker{position:absolute;inset:0;z-index:2;pointer-events:none}
.marker-ink{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.marker-ink path{fill:none;stroke:#090908;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;opacity:.96;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 1px 1px rgba(255,255,255,.22));animation:marker-swipe .62s cubic-bezier(.5,0,.2,1) both}
.marker-ink path:nth-child(2){animation-delay:.11s}.marker-ink path:nth-child(3){animation-delay:.22s}.marker-ink path:nth-child(4){animation-delay:.33s}
.traitor-cross{z-index:3}
.slide.active .marker-then-cross .exit-card:nth-child(1) .traitor-cross{animation-delay:2s}
.slide.active .marker-then-cross .exit-card:nth-child(2) .traitor-cross{animation-delay:2.25s}
.gsap-enabled .slide.active .marker-ink path{animation:none!important}
.gsap-enabled .slide.active .marker-then-cross .traitor-cross{animation:none!important}
@keyframes marker-swipe{to{stroke-dashoffset:0}}
.marker-ink path{stroke-width:9}
@media(max-width:850px){.challenge-cards{grid-template-columns:1fr 1fr}.team-results span{font-size:12px}.coin-purchase{grid-template-columns:minmax(185px,.7fr) 1.3fr;gap:12px}.score-row{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}}
@media(max-width:600px){.challenge-cards{grid-template-columns:1fr}.team-results span{font-size:13px}.team-results small{font-size:11px}.team-results p{padding:9px 10px}.score-row{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.score-row strong{font-size:39px}.coin-purchase{grid-template-columns:1fr;gap:12px;padding:12px}.shield-awards.featured .shield-awards-label{max-width:none}.purchase-explanation>p{font-size:14px}.curse-result strong{font-size:16px}}
.poster-stat>b{margin-top:40px;font-size:12px}
.slide,.cover{min-height:calc(100svh - 180px);padding-top:46px;padding-bottom:38px}
.story-nav{height:76px;padding:0 clamp(14px,5vw,72px);display:grid;grid-template-columns:1fr auto 1fr;gap:14px}
.story-nav #prev-button{justify-self:start;min-height:48px;padding:0 14px;font-size:12px}
.story-nav #next-button{justify-self:end;min-height:50px;min-width:190px;padding:0 19px;display:flex;align-items:center;justify-content:center;gap:12px;background:#c9ae6b;color:#17150f;border:1px solid #d5bd79;font-size:12px;box-shadow:0 4px 14px #0005;transition:transform .2s,box-shadow .25s,background .2s}
.story-nav #next-button:hover{transform:translateY(-2px);background:#ddc27c;box-shadow:0 8px 20px #0007}
.story-nav #next-button b{font:500 19px var(--sans)}
.story-nav #prev-button:disabled{opacity:.45}
.chapter-count{justify-self:center;display:flex;align-items:baseline;gap:8px;padding:10px 14px;border:1px solid rgba(200,173,104,.3);background:rgba(200,173,104,.08);font-size:12px;white-space:nowrap}
.chapter-count span:first-child,.chapter-count i{font-size:10px;letter-spacing:.1em;color:#d0c29f}
.chapter-count b{font:500 16px var(--serif);color:#f1dfad}
.cover-hint{margin:15px 0 0;color:#d2c49f;font:10px var(--mono);letter-spacing:.1em}
.cover-hint i{padding:0 6px;color:var(--accent);font-style:normal}
.chapter-label{font-size:12px}
.story-foot{font-size:11px}
.card-index,.team-results b,.team-results small,.score-row span,.card-footer,.meter-labels,.wall-key,.vote-picks small,.last-traitor span,.last-two>span,.final-votes article>span,.final-votes article>small,.vote-connector,.stats-board span,.role-breakdown span,.final-score,.bet-ticket>span,.bet-result span{font-size:11px}
.team-results span{font-size:12px}
.team-results strong{font-size:23px}
.event-stack small{font-size:11px}
.wall-heading h2{font-size:clamp(42px,5vw,62px)}
@media(min-width:1000px){.player-wall{max-width:1100px;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.wall-heading{margin-bottom:14px}.wall-heading h2{font-size:clamp(40px,4vw,54px)}.player-card figcaption{padding-top:5px;font-size:16px}.slide,.cover{padding-top:42px;padding-bottom:36px}}
@media(max-width:600px){.slide,.cover{min-height:calc(100svh - 169px);padding-top:60px;padding-bottom:68px}.story-nav{height:72px;padding:0 10px;gap:5px}.story-nav #prev-button{padding:0 6px;min-height:44px;font-size:10px}.story-nav #prev-button span{margin:0 2px}.story-nav #next-button{min-width:0;max-width:142px;min-height:46px;padding:0 9px;gap:7px;font-size:10px;}.chapter-count{gap:5px;padding:8px 7px}.chapter-count span:first-child,.chapter-count i{font-size:8px}.chapter-count b{font-size:14px}.cover-hint{max-width:260px;font-size:9px;line-height:1.6}.chapter-label{font-size:10px}.story-foot{font-size:9px}.card-index,.team-results b,.team-results small,.score-row span,.card-footer,.meter-labels,.wall-key,.vote-picks small,.last-traitor span,.last-two>span,.final-votes article>span,.final-votes article>small,.vote-connector,.stats-board span,.role-breakdown span,.final-score,.bet-ticket>span,.bet-result span{font-size:10px}.team-results span{font-size:11px}.team-results strong{font-size:20px}.event-stack small{font-size:10px}}
.exit-single>.exit-card,.exit-thumb>.exit-card{width:100%}
.painted-cross{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(var(--cross-tilt,0deg)) scale(var(--cross-scale,1));transform-origin:50% 50%;filter:drop-shadow(0 1px 2px #170000) drop-shadow(0 0 7px rgba(110,0,0,.4))}
.painted-cross g:last-child{mix-blend-mode:screen;opacity:.5}
.slide.active .traitor-cross{animation:cross-pop .56s cubic-bezier(.16,1.3,.35,1) both}
@keyframes cross-pop{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}
.gsap-enabled .slide.active .chapter-label,.gsap-enabled .slide.active .kicker,.gsap-enabled .slide.active h1,.gsap-enabled .slide.active h2,.gsap-enabled .slide.active .story-copy,.gsap-enabled .slide.active .event-stack>div,.gsap-enabled .slide.active .player-card,.gsap-enabled .slide.active .exit-card,.gsap-enabled .slide.active .challenge-card,.gsap-enabled .slide.active .imposter-rounds article,.gsap-enabled .slide.active .stats-board>div,.gsap-enabled .slide.active .poster-stat,.gsap-enabled .slide.active .vote-card,.gsap-enabled .slide.active .bet-ticket,.gsap-enabled .slide.active .bet-debrief,.gsap-enabled .slide.active .traitor-cross{animation:none!important}
.exit-single>.exit-card{width:100%;max-width:235px}.painted-cross{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(var(--cross-tilt,0deg)) scale(var(--cross-scale,1));transform-origin:50% 50%;filter:drop-shadow(0 1px 2px #170000) drop-shadow(0 0 7px rgba(110,0,0,.4))}.painted-cross g:last-child{mix-blend-mode:screen;opacity:.5}.slide.active .traitor-cross{animation:cross-pop .56s cubic-bezier(.16,1.3,.35,1) both}.gsap-enabled .slide.active .traitor-cross{animation:none!important}.gsap-enabled .slide .coin-earned{animation:none!important;transform-origin:left center}@keyframes cross-pop{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}

/* Keep story footers clear of chapter content across screen sizes. */
.slide:not(.cover){padding-bottom:clamp(82px,10vh,104px)}
@media(max-width:600px){.slide:not(.cover){padding-bottom:84px}}

/* Keep the endgame title aligned with the rest of the chapter headings. */
.endgame-head{align-items:center;gap:clamp(32px,5vw,70px)}
.endgame-head>div{flex:1;min-width:0}
.endgame-head>.story-copy{flex:0 1 400px;margin:0;align-self:center}

/* Give the imposter round a single, consistent content column. */
.imposter-heading{width:min(100%,1050px);margin:0 auto}
.imposter-heading h2{font-size:clamp(48px,6.5vw,82px);margin-bottom:14px}
.imposter-heading .story-copy{max-width:680px}
.imposter-rounds{margin-top:30px}

/* Increase the reading scale and usable canvas on very wide displays. */
@media(min-width:1921px){
  body{font-size:19px}
  .topbar{height:74px;padding-inline:clamp(72px,7vw,180px)}
  .wordmark{font-size:13px}
  .topbar-meta{font-size:12px;gap:30px}
  .progress-track{width:150px;height:4px}
  .slide,.cover{min-height:calc(100svh - 202px)}
  .slide{padding-left:clamp(150px,7.5vw,220px);padding-right:clamp(150px,7.5vw,220px)}
  .chapter-label{left:clamp(150px,7.5vw,220px);top:34px;font-size:14px}
  .chapter-label span{font-size:16px}
  .slide h2{font-size:clamp(66px,5.2vw,116px)}
  .slide .kicker{font-size:13px}
  .slide .story-copy{font-size:clamp(19px,1.15vw,24px);max-width:760px}
  .story-foot{left:clamp(150px,7.5vw,220px);right:clamp(150px,7.5vw,220px);bottom:28px;font-size:12px}
  .wall-heading{max-width:min(1380px,110vh)}
  .slide .player-wall{max-width:min(1380px,110vh)}
  .wall-heading{margin-bottom:22px}
  .wall-heading h2{font-size:clamp(58px,4.2vw,88px)}
  .wall-key{font-size:13px}
  .player-wall{gap:14px}
  .player-card figcaption{font-size:20px;padding-top:9px}
  .chapter-grid{max-width:1320px}
  .poster-stat{min-height:400px}
  .poster-stat>span,.poster-stat>b{font-size:14px}
  .challenge-cards,.coin-story-head,.coin-wrap,.imposter-rounds{max-width:1380px}
  .challenge-card{min-height:280px;padding:22px 24px 0}
  .challenge-card h3{font-size:26px}
  .card-index,.team-results b,.team-results small,.score-row span,.card-footer,.meter-labels{font-size:13px}
  .team-results span,.card-copy,.purchase-explanation>p{font-size:16px}
  .team-results strong{font-size:28px}
  .score-row strong{font-size:54px}
  .shield-awards-label{font-size:12px}
  .shield-portrait{width:144px;height:188px}
  .shield-recipient-name{font-size:14px}
  .coin-purchase{grid-template-columns:minmax(250px,.7fr) 1.3fr;padding:18px 22px}
  .double-kill,.murder-layout{max-width:1320px}
  .confession-layout,.endgame-head,.final-votes{max-width:1280px}
  .vote-card{min-height:430px}
  .imposter-heading{max-width:1380px}
  .imposter-heading h2{font-size:clamp(66px,5.2vw,108px)}
  .imposter-rounds article{min-height:260px;padding:24px}
  .imposter-rounds article>span,.imposter-rounds small,.imposter-rounds b{font-size:13px}
  .imposter-rounds strong{font-size:48px}
  .nav-story,.victory-story{max-width:1280px}
  .final-survivor{width:clamp(200px,13vw,280px)}
  .stats-title,.stats-board,.role-breakdown{max-width:1280px}
  .stats-board div{min-height:120px;padding:16px 22px}
  .stats-board span{font-size:13px}
  .bet-finale{max-width:1380px}
  .cover-copy{max-width:900px}
  .cover h1{font-size:clamp(110px,8vw,164px)}
  .cover-subtitle{max-width:650px;font-size:clamp(21px,1.3vw,27px)}
  .cover .primary-button{padding:18px 24px;font-size:13px}
  .cover-bottom{font-size:12px}
  .story-nav{height:90px;padding-inline:clamp(72px,7vw,180px)}
  .story-nav #prev-button,.story-nav #next-button{min-height:58px;font-size:14px}
  .chapter-count{font-size:14px;padding:12px 18px}
  .chapter-count b{font-size:19px}
  footer{min-height:38px;font-size:11px}
}

/* Endgame chapter: a clear decision at the top, then the votes in order. */
.endgame-layout{width:min(100%,1160px);margin:auto;display:grid;gap:clamp(24px,4vh,44px)}
.endgame-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);align-items:end;gap:clamp(28px,5vw,76px)}
.endgame-title{min-width:0}
.endgame-title .kicker{display:flex;align-items:center;width:fit-content;max-width:100%;margin:0 0 15px;padding:8px 12px;border-left:3px solid var(--accent);background:rgba(200,173,104,.09);font-size:clamp(10px,1vw,12px);line-height:1.45;letter-spacing:.075em}
.endgame-title h2{margin:0;font-size:clamp(48px,6.4vw,86px);line-height:.98}
.endgame-intro>.story-copy{max-width:470px;margin:0 0 5px;font-size:clamp(16px,1.35vw,19px)}
.endgame-vote-track{display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:stretch;gap:clamp(12px,2vw,26px)}
.endgame-vote-card{min-width:0;min-height:224px;padding:clamp(15px,2vw,23px);display:grid;grid-template-columns:clamp(92px,10vw,128px) minmax(0,1fr);grid-template-rows:auto 1fr;align-items:center;column-gap:clamp(15px,2.4vw,30px);row-gap:15px;background:linear-gradient(145deg,#29261f,#1d1b17);border:1px solid rgba(200,173,104,.32);box-shadow:0 16px 38px #0004;animation:card-rise .6s both;transition:transform .28s,border-color .28s,box-shadow .28s}
.endgame-vote-card:hover{transform:translateY(-4px);border-color:rgba(200,173,104,.62);box-shadow:0 21px 42px #0005}
.endgame-vote-card:nth-child(3){animation-delay:.12s}
.endgame-vote-meta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid rgba(200,173,104,.23);font:11px var(--mono);letter-spacing:.1em}
.endgame-vote-meta span{color:#e8ddc4}
.endgame-vote-meta b{color:var(--accent);font-weight:500}
.endgame-vote-card .exit-thumb{grid-column:1;grid-row:2;width:100%;max-width:128px;margin:0;justify-self:center}
.endgame-vote-card .exit-thumb .exit-photo{box-shadow:0 8px 20px #0006}
.endgame-vote-name{grid-column:2;grid-row:2;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.endgame-vote-name strong{font:500 clamp(31px,3.8vw,48px)/1 var(--serif);color:var(--cream)}
.endgame-vote-name span{font:10px/1.5 var(--mono);letter-spacing:.09em;color:#d4c8b2}
.endgame-continuation{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center}
.endgame-continuation:before{content:"";position:absolute;top:50%;left:-15px;right:-15px;border-top:1px solid rgba(200,173,104,.48)}
.endgame-continuation>.fire-choice-label,.endgame-continuation>i{position:relative;z-index:1;background:var(--bg)}
.endgame-continuation>.fire-choice-label{max-width:104px;padding:5px 0;font:10px/1.55 var(--mono);letter-spacing:.09em;color:#d4c29b}
.endgame-continuation i{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(200,173,104,.52);border-radius:50%;font:normal 22px/1 var(--sans);color:var(--accent)}
.gsap-enabled .slide.active .endgame-vote-card,.gsap-enabled .slide.active .endgame-continuation{animation:none!important}
@media(max-width:850px){
  .endgame-layout{width:min(100%,640px);gap:24px}
  .endgame-intro{grid-template-columns:1fr;gap:14px}
  .endgame-intro>.story-copy{max-width:620px}
  .endgame-vote-track{grid-template-columns:minmax(0,1fr);gap:10px}
  .endgame-vote-card{min-height:180px;grid-template-columns:clamp(90px,17vw,124px) minmax(0,1fr)}
  .endgame-vote-card .exit-thumb{max-width:116px}
  .endgame-continuation{min-height:42px;flex-direction:row;gap:12px}
  .endgame-continuation:before{top:50%;left:0;right:0}
  .endgame-continuation>.fire-choice-label{max-width:none;padding:4px 9px}
  .endgame-continuation i{width:36px;height:36px;transform:rotate(90deg)}
}
@media(max-width:600px){
  .endgame-layout{gap:20px}
  .endgame-title .kicker{margin-bottom:12px;padding:7px 9px;font-size:10px;letter-spacing:.06em}
  .endgame-title h2{font-size:clamp(42px,11vw,59px)}
  .endgame-intro>.story-copy{font-size:14px;line-height:1.65}
  .endgame-vote-card{min-height:160px;padding:12px;grid-template-columns:clamp(78px,23vw,100px) minmax(0,1fr);column-gap:14px;row-gap:11px}
  .endgame-vote-meta{font-size:9px;padding-bottom:8px}
  .endgame-vote-card .exit-thumb{max-width:96px}
  .endgame-vote-name strong{font-size:30px}
  .endgame-vote-name span{font-size:9px;letter-spacing:.05em}
  .endgame-continuation>.fire-choice-label{font-size:9px}
}

/* Keep chapter navigation pinned to the viewport while story content scrolls. */
body{--story-nav-height:76px;padding-bottom:calc(var(--story-nav-height) + env(safe-area-inset-bottom,0px))}
.story-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;width:100%;height:calc(var(--story-nav-height) + env(safe-area-inset-bottom,0px));padding:0 0 env(safe-area-inset-bottom,0px);display:block}
.story-nav-controls{height:var(--story-nav-height);width:100%;flex:0 0 var(--story-nav-height);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:0 clamp(14px,5vw,72px)}
@media(max-width:600px){body{--story-nav-height:72px}.story-nav-controls{gap:5px;padding:0 10px}}
@media(min-width:1921px){body{--story-nav-height:90px}.story-nav-controls{padding-inline:clamp(72px,7vw,180px)}}

/* Full-screen fire reveal for the endgame decisions. */
.fire-reveal-overlay[hidden]{display:none}
.fire-reveal-overlay{--fire-hot:#fff0ad;--fire-mid:#ee9b35;--fire-deep:#a9531e;--fire-glow-color:rgba(255,163,53,.42);--impact-hot:#ffd89b;--impact-mid:#f44336;--impact-deep:#8e1018;--impact-glow:rgba(255,41,34,.6);position:fixed;inset:0;z-index:110;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 84%,rgba(153,81,27,.24),transparent 62%),#080706;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease;isolation:isolate}
.fire-reveal-overlay[data-tone="green"]{--impact-hot:#f3ffb0;--impact-mid:#7de466;--impact-deep:#187748;--impact-glow:rgba(88,239,117,.62)}
.fire-reveal-overlay.is-active{opacity:1;visibility:visible;pointer-events:auto}
.fire-reveal-overlay.is-leaving{opacity:0;visibility:visible;pointer-events:none}
.fire-reveal-playing{overflow:hidden}
.fire-overlay-scene{position:absolute;inset:0;overflow:hidden}
.fire-webgl-canvas{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%}
.fire-reveal-overlay.has-three-fire .fire-overlay-glow,.fire-reveal-overlay.has-three-fire .fire-overlay-wash,.fire-reveal-overlay.has-three-fire .fire-overlay-flames,.fire-reveal-overlay.has-three-fire .fire-overlay-sparks{display:none}
.fire-overlay-caption{position:absolute;top:clamp(100px,17vh,190px);left:5vw;right:5vw;z-index:7;margin:0;text-align:center;color:#f5e5c4;font:500 clamp(17px,2.4vw,30px)/1.3 var(--mono);letter-spacing:.13em;text-shadow:0 2px 18px #000;opacity:0;transform:translateY(12px)}
.fire-overlay-glow{position:absolute;left:50%;bottom:-10vh;z-index:0;width:110vw;height:76vh;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,var(--fire-glow-color),transparent 69%);filter:blur(32px);opacity:.64;transition:filter .7s ease}
.fire-overlay-glow:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse,var(--impact-glow),transparent 69%);opacity:0;transition:opacity .85s ease}
.fire-overlay-wash{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .9s ease}
.fire-reveal-overlay[data-tone="red"] .fire-overlay-wash{background:radial-gradient(ellipse at 50% 79%,rgba(176,17,20,.43),transparent 59%)}
.fire-reveal-overlay[data-tone="green"] .fire-overlay-wash{background:radial-gradient(ellipse at 50% 79%,rgba(20,139,74,.4),transparent 59%)}
.fire-reveal-overlay.is-impacting .fire-overlay-wash,.fire-reveal-overlay.is-impacting .fire-overlay-glow:after{opacity:1}
.fire-overlay-flames{position:absolute;left:-4vw;right:-4vw;bottom:0;z-index:2;height:min(78vh,850px);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.overlay-flame{position:relative;display:block;flex:1 1 0;min-width:8px;max-width:118px;height:var(--flame-height);transform-origin:50% 100%;clip-path:polygon(48% 0,58% 17%,77% 32%,68% 47%,96% 67%,86% 100%,13% 100%,2% 68%,31% 49%,22% 35%,41% 20%);background:linear-gradient(to top,#9d421a 0%,var(--fire-deep) 24%,var(--fire-mid) 69%,var(--fire-hot) 100%);filter:drop-shadow(0 0 15px var(--fire-glow-color));opacity:.9}
.overlay-flame:after{content:"";position:absolute;inset:40% 24% 0;clip-path:inherit;background:linear-gradient(to top,var(--impact-deep),var(--impact-mid) 69%,var(--impact-hot));opacity:0;transition:opacity .9s ease}
.fire-reveal-overlay.is-impacting .overlay-flame:after{opacity:.92}
.overlay-flame-1{--flame-height:31%;--flame-delay:-.22s;--flame-angle:-5deg}
.overlay-flame-2{--flame-height:52%;--flame-delay:-.3s;--flame-angle:3deg}
.overlay-flame-3{--flame-height:43%;--flame-delay:-.05s;--flame-angle:-2deg}
.overlay-flame-4{--flame-height:68%;--flame-delay:-.24s;--flame-angle:4deg}
.overlay-flame-5{--flame-height:39%;--flame-delay:-.08s;--flame-angle:-4deg}
.overlay-flame-6{--flame-height:82%;--flame-delay:-.36s;--flame-angle:2deg}
.overlay-flame-7{--flame-height:58%;--flame-delay:-.16s;--flame-angle:-3deg}
.overlay-flame-8{--flame-height:75%;--flame-delay:-.28s;--flame-angle:4deg}
.overlay-flame-9{--flame-height:44%;--flame-delay:-.02s;--flame-angle:-2deg}
.overlay-flame-10{--flame-height:62%;--flame-delay:-.2s;--flame-angle:3deg}
.overlay-flame-11{--flame-height:35%;--flame-delay:-.1s;--flame-angle:-4deg}
.overlay-flame-12{--flame-height:54%;--flame-delay:-.32s;--flame-angle:2deg}
.overlay-flame-13{--flame-height:29%;--flame-delay:-.06s;--flame-angle:-3deg}
.fire-overlay-brazier{position:absolute;left:50%;bottom:4vh;z-index:3;width:min(62vw,720px);height:11vh;transform:translateX(-50%);border:5px solid #050505;border-top:13px solid #534a3c;border-radius:9px 9px 48% 48%;background:linear-gradient(180deg,#171614 0%,#030303 50%,#11100e 100%);box-shadow:0 18px 45px #000,0 0 22px var(--fire-glow-color);transition:border-color .8s ease,box-shadow .8s ease}
.fire-overlay-brazier:before{content:"";position:absolute;top:-17px;left:-8px;right:-8px;height:13px;border:3px solid #050505;border-top-color:#6a5a43;border-radius:50%;background:linear-gradient(180deg,#1d1b18,#070707)}
.fire-reveal-overlay.is-impacting .fire-overlay-brazier{border-top-color:var(--impact-mid);box-shadow:0 18px 45px #000,0 0 52px var(--impact-glow)}
.fire-overlay-bag{position:absolute;top:8vh;left:50%;z-index:6;width:clamp(58px,7vw,88px);height:clamp(66px,8vw,98px);display:grid;place-items:center;transform:translateX(-50%);clip-path:polygon(33% 0,67% 0,76% 13%,100% 30%,86% 100%,14% 100%,0 30%,24% 13%);background:linear-gradient(140deg,#171717,#030303 62%,#24211b);filter:drop-shadow(0 10px 12px #000a);opacity:0}
.fire-overlay-bag:before{content:"";position:absolute;top:2%;left:37%;width:26%;height:13%;border-top:4px solid #d5b86d;border-radius:50%}
.fire-overlay-bag span{position:relative;margin-top:8%;color:#d8ba69;font:500 clamp(40px,5.6vw,64px)/1 var(--serif);text-shadow:0 0 10px rgba(216,186,105,.48)}
.fire-overlay-sparks{position:absolute;left:50%;bottom:16vh;z-index:5;width:0;height:0}
.fire-overlay-sparks span{position:absolute;width:6px;height:11px;border-radius:50% 50% 50% 0;background:var(--impact-hot);box-shadow:0 0 12px var(--impact-glow);opacity:0}
.spark-one{--spark-x:-25vw;--spark-y:-35vh}.spark-two{--spark-x:-17vw;--spark-y:-47vh}.spark-three{--spark-x:-9vw;--spark-y:-30vh}.spark-four{--spark-x:9vw;--spark-y:-39vh}.spark-five{--spark-x:18vw;--spark-y:-50vh}.spark-six{--spark-x:28vw;--spark-y:-34vh}.spark-seven{--spark-x:-32vw;--spark-y:-20vh}.spark-eight{--spark-x:34vw;--spark-y:-23vh}
.fire-reveal-overlay.is-active .overlay-flame{animation:overlay-flicker .85s ease-in-out infinite alternate;animation-delay:var(--flame-delay,0s)}
.fire-reveal-overlay.is-active .fire-overlay-glow{animation:overlay-pulse 1.25s ease-in-out infinite alternate}
.fire-reveal-overlay.is-active .fire-overlay-bag{animation:overlay-bag-drop 1.15s .08s cubic-bezier(.48,.02,.78,.28) both}
.fire-reveal-overlay.is-impacting .fire-overlay-sparks span{animation:ember-burst .95s ease-out both}
.fire-overlay-sparks .spark-two,.fire-overlay-sparks .spark-five,.fire-overlay-sparks .spark-eight{animation-delay:.08s!important}
.fire-reveal-overlay.is-active .fire-overlay-caption{animation:overlay-caption-in .5s ease-out 1.05s both}
@keyframes overlay-flicker{from{transform:translateY(0) scaleY(.92) rotate(var(--flame-angle,-2deg))}to{transform:translateY(-2.5vh) scaleY(1.06) rotate(calc(var(--flame-angle,-2deg) + 5deg))}}
@keyframes overlay-bag-drop{0%{opacity:1;transform:translate(-50%,-3vh) rotate(-8deg) scale(1)}55%{opacity:1;transform:translate(calc(-50% + 3vw),38vh) rotate(12deg) scale(.86)}100%{opacity:0;transform:translate(calc(-50% - 1vw),55vh) rotate(-15deg) scale(.24)}}
@keyframes overlay-pulse{from{opacity:.48}to{opacity:.82}}
@keyframes ember-burst{0%{opacity:0;transform:translate(0,0) scale(.4)}18%{opacity:1}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.12)}}
@keyframes overlay-caption-in{to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.fire-overlay-caption{top:15vh;font-size:clamp(14px,4vw,19px);letter-spacing:.08em}.fire-overlay-flames{left:-22vw;right:-22vw;height:67vh}.fire-overlay-brazier{width:88vw;height:9vh;bottom:3vh}.fire-overlay-bag{top:13vh;width:58px;height:68px}.fire-overlay-sparks{bottom:13vh}}
@media(prefers-reduced-motion:reduce){.fire-overlay-glow{opacity:.9;animation:none!important}.overlay-flame{opacity:.9;transform:none;animation:none!important}.fire-overlay-bag{display:none}.fire-overlay-caption{opacity:1;transform:none;animation:none!important}.fire-overlay-brazier{filter:none;animation:none!important}.fire-overlay-sparks span{display:none}}

/* No footer is shown; let each chapter use the space up to the fixed nav. */
.slide,.cover{min-height:calc(100svh - 138px)}
@media(max-width:600px){.slide,.cover{min-height:calc(100svh - 127px)}}
@media(min-width:1921px){.slide,.cover{min-height:calc(100svh - 164px)}}

/* Show actual and requested roles together on each cast portrait. */
.player-card{position:relative;padding:5px;background:linear-gradient(145deg,#2c291f,#171511 72%);border:1px solid rgba(200,173,104,.34);box-shadow:0 11px 26px #0006;transition:transform .28s,border-color .28s,box-shadow .28s}
.player-card:before{content:"";position:absolute;inset:3px;z-index:2;border:1px solid rgba(200,173,104,.13);pointer-events:none}
.player-card:hover{transform:translateY(-4px);border-color:rgba(222,195,126,.72);box-shadow:0 17px 34px #0008,0 0 18px rgba(200,173,104,.09)}
.player-card figcaption{padding:9px 2px 4px;text-align:center}
.player-name{display:block;color:#f1e7d2;font:500 clamp(14px,1.3vw,18px)/1.2 var(--serif);letter-spacing:.02em}
.player-name:after{content:"";display:block;width:28px;margin:6px auto 0;border-top:1px solid rgba(200,173,104,.55)}
.player-intentions{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:stretch;gap:3px;margin:8px 0 0}
.player-intention{min-width:0;min-height:44px;padding:5px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(145deg,rgba(9,9,8,.7),rgba(17,16,13,.92));border:1px solid rgba(200,173,104,.2);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.player-intention dt{font:8px/1.2 var(--mono);letter-spacing:.07em;color:#b9ae98;white-space:nowrap}
.player-intention dd{overflow:hidden;max-width:100%;margin:0;font:500 10px/1.2 var(--sans);text-overflow:ellipsis;white-space:nowrap}
.player-role-card.player-role--faithful{background:linear-gradient(145deg,rgba(91,119,63,.24),rgba(17,23,16,.88));border-color:rgba(159,190,115,.48)}
.player-role-card.player-role--traitor{background:linear-gradient(145deg,rgba(135,45,43,.27),rgba(30,16,15,.9));border-color:rgba(191,83,77,.53)}
.player-role--faithful .player-role,.player-role--faithful.player-role{color:#c6e1a1}
.player-role--traitor .player-role,.player-role--traitor.player-role{color:#f09a8e}
.player-role-card .player-role:before{content:"✦";margin-right:4px;font-size:.86em}
.player-request-card{border-style:dashed;border-color:rgba(200,173,104,.4);background:linear-gradient(145deg,rgba(200,173,104,.12),rgba(14,13,10,.84))}
.player-request{color:#eed58d}
.player-intention-arrow{align-self:center;width:18px;height:18px;display:grid;place-items:center;border:1px solid rgba(200,173,104,.44);border-radius:50%;font:10px/1 var(--sans);color:#e3c878;background:#17150f;box-shadow:0 0 9px rgba(200,173,104,.12)}
.player-intention-arrow.is-match{color:#c8e3a2;border-color:rgba(164,198,119,.62);background:#1b2517;box-shadow:0 0 10px rgba(164,198,119,.17)}
@media(max-width:600px){.player-card{padding:4px}.player-card figcaption{padding:7px 1px 3px}.player-name{font-size:15px}.player-intentions{grid-template-columns:minmax(0,1fr) 17px minmax(0,1fr);gap:2px;margin-top:6px}.player-intention{min-height:40px;padding:4px 2px;gap:3px}.player-intention dt{font-size:7px;letter-spacing:.04em}.player-intention dd{font-size:9px}.player-intention-arrow{width:16px;height:16px;font-size:9px}}
@media(min-width:1921px){.player-intention{min-height:50px}.player-intention dt{font-size:10px}.player-intention dd{font-size:12px}.player-intention-arrow{width:22px;height:22px;font-size:12px}}

/* Give the cast role comparison a polished, dossier-like finish. */
.wall-key{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 13px;max-width:100%;padding:10px 13px;background:linear-gradient(135deg,rgba(200,173,104,.09),rgba(17,16,13,.55));border:1px solid rgba(200,173,104,.25);box-shadow:inset 0 1px rgba(255,255,255,.035)}
.wall-key-heading{margin-right:3px;color:#e4d1a0;font:500 9px/1.2 var(--mono);letter-spacing:.13em}
.wall-key-item{display:inline-flex;align-items:center;gap:6px;color:#d7cebc;font:9px/1.2 var(--mono);letter-spacing:.06em;white-space:nowrap}
.role-swatch{display:block;width:8px;height:8px;border-radius:50%;box-shadow:0 0 9px currentColor}
.role-swatch.faithful{color:#b4d38b;background:currentColor}
.role-swatch.traitor{color:#dd7770;background:currentColor}
.role-swatch.requested{color:#d8b962;background:currentColor}
.player-card{overflow:hidden;background:linear-gradient(145deg,#302b20 0%,#1d1a15 48%,#151411 100%);border-color:rgba(200,173,104,.42);box-shadow:0 14px 30px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.06)}
.player-card:before{inset:4px;z-index:3;border-color:rgba(231,208,150,.22);clip-path:polygon(0 0,17% 0,17% 1px,1px 1px,1px 17%,0 17%,0 83%,1px 83%,1px calc(100% - 1px),17% calc(100% - 1px),17% 100%,0 100%,83% 100%,83% calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) 83%,100% 83%,100% 17%,calc(100% - 1px) 17%,calc(100% - 1px) 1px,83% 1px,83% 0)}
.player-card:hover{transform:translateY(-5px);border-color:rgba(236,211,149,.8);box-shadow:0 20px 38px rgba(0,0,0,.52),0 0 24px rgba(200,173,104,.14),inset 0 1px rgba(255,255,255,.1)}
.player-card.is-role-match{--intent-glow:rgba(151,192,103,.18)}
.player-card.is-role-mismatch{--intent-glow:rgba(212,157,69,.17)}
.portrait-frame{border-color:rgba(216,190,119,.5);box-shadow:inset 0 0 0 1px rgba(0,0,0,.35)}
.portrait-frame:after{inset:0;background:linear-gradient(180deg,rgba(0,0,0,.14),transparent 23%,transparent 65%,rgba(0,0,0,.48))}
.player-card figcaption{padding:10px 3px 6px}
.player-name{font-size:clamp(15px,1.35vw,19px);text-shadow:0 2px 12px rgba(0,0,0,.72)}
.player-name:after{width:42px;margin-top:7px;border-color:rgba(216,190,119,.68)}
.player-intentions{grid-template-columns:minmax(0,1fr) 21px minmax(0,1fr);gap:4px;margin-top:9px}
.player-intention{position:relative;min-height:47px;padding:5px 4px;gap:4px;border-radius:2px;box-shadow:inset 0 1px rgba(255,255,255,.04),0 4px 10px rgba(0,0,0,.2)}
.player-intention-label{font:500 8px/1.2 var(--mono);letter-spacing:.07em;color:#d0c4aa;white-space:nowrap}
.player-intention strong{display:block;max-width:100%;margin:0;font:700 clamp(8px,1vw,12px)/1.2 var(--sans);letter-spacing:0;text-align:center;white-space:nowrap}
.player-role-card.player-role--faithful{border-color:rgba(165,200,125,.65);background:linear-gradient(145deg,rgba(96,132,62,.36),rgba(20,29,17,.94));box-shadow:inset 0 1px rgba(231,255,208,.1),0 0 15px rgba(125,170,84,.09)}
.player-role-card.player-role--traitor{border-color:rgba(211,106,96,.68);background:linear-gradient(145deg,rgba(151,55,50,.39),rgba(37,18,17,.95));box-shadow:inset 0 1px rgba(255,222,215,.08),0 0 15px rgba(171,64,58,.12)}
.player-role--faithful .player-role,.player-role--faithful.player-role{color:#d0edaa}
.player-role--traitor .player-role,.player-role--traitor.player-role{color:#ffb1a3}
.player-request-card{border-color:rgba(220,190,111,.56);background:linear-gradient(145deg,rgba(200,173,104,.17),rgba(19,17,12,.95));box-shadow:inset 0 1px rgba(255,236,190,.05),0 0 15px rgba(200,173,104,.06)}
.player-request{color:#f2d785}
.player-intention-arrow{position:relative;z-index:1;width:21px;height:21px;border:1px solid rgba(220,190,111,.65);color:#f0d78b;background:radial-gradient(circle,#39311c,#17150f 72%);box-shadow:0 0 13px var(--intent-glow);font-size:12px;font-weight:700}
.player-intention-arrow.is-match{color:#c7e59c;border-color:rgba(164,198,119,.78);background:radial-gradient(circle,#34452a,#172016 72%);box-shadow:0 0 13px rgba(164,198,119,.2)}
@media(max-width:600px){.wall-key{justify-content:flex-start;gap:7px 10px;padding:8px 10px}.wall-key-heading{flex-basis:100%}.wall-key-item{font-size:8px}.player-card{padding:4px}.player-card:before{inset:3px}.player-card figcaption{padding:8px 1px 4px}.player-name{font-size:15px}.player-intentions{grid-template-columns:minmax(0,1fr) 17px minmax(0,1fr);gap:2px;margin-top:7px}.player-intention{min-height:42px;padding:4px 2px;gap:3px}.player-intention-label{font-size:7px;letter-spacing:.05em}.player-intention strong{font-size:clamp(7px,2.4vw,9px)}.player-intention-arrow{width:17px;height:17px;font-size:10px}}
@media(min-width:1921px){.player-intention{min-height:54px}.player-intention-label{font-size:9px}.player-intention strong{font-size:14px}.player-intention-arrow{width:25px;height:25px;font-size:13px}}

/* Cast wall redesign: cinematic portrait above a readable role ticket. */
.player-card{position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;border:1px solid rgba(204,177,106,.52);border-radius:3px;background:#14120f;box-shadow:0 13px 30px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.07);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.player-card:before{inset:5px;z-index:4;border:1px solid rgba(233,211,158,.22);pointer-events:none}
.player-card:hover{transform:translateY(-5px);border-color:rgba(235,207,138,.92);box-shadow:0 22px 42px rgba(0,0,0,.55),0 0 28px rgba(200,173,104,.14),inset 0 1px rgba(255,255,255,.1)}
.portrait-frame{width:100%;aspect-ratio:3/4;position:relative;isolation:isolate;overflow:hidden;border:0;border-bottom:1px solid rgba(218,190,118,.56);background:#29271f;box-shadow:none}
.portrait-frame img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s ease}
.player-card:hover .portrait-frame img{transform:scale(1.045);filter:saturate(1.08) contrast(1.03)}
.portrait-frame:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.09),transparent 30%,transparent 78%,rgba(220,190,115,.07));opacity:.7;transition:opacity .4s ease}
.portrait-frame:after{inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,7,6,.05) 26%,rgba(6,7,6,.08) 49%,rgba(6,7,6,.83) 100%)}
.player-card:hover .portrait-frame:before{opacity:1}
.portrait-nameplate{position:absolute;left:clamp(12px,1.3vw,19px);right:12px;bottom:clamp(12px,1.4vw,20px);z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}
.portrait-nameplate>span{color:#e6d39e;font:500 8px/1.2 var(--mono);letter-spacing:.18em;text-shadow:0 1px 8px #000}
.player-name{display:block;color:#fff8e9;font:500 clamp(22px,2vw,30px)/1.08 var(--serif);letter-spacing:-.02em;text-shadow:0 2px 16px rgba(0,0,0,.7)}
.player-name:after{content:none}
.player-card figcaption{position:relative;z-index:2;margin:0;padding:11px 12px 13px;background:linear-gradient(145deg,#27241d 0%,#1b1915 58%,#151411 100%);text-align:left}
.role-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 8px;padding:0 0 7px;border-bottom:1px solid rgba(204,177,106,.28);color:#e3d2a7;font:500 8px/1.2 var(--mono);letter-spacing:.15em}
.role-panel-heading i{color:#d8bd75;font:normal 13px/1 var(--serif);text-shadow:0 0 10px rgba(216,189,117,.45)}
.role-comparison{width:100%;margin:0}
.role-row{min-width:0;min-height:39px;padding:7px 10px;border:1px solid rgba(216,198,150,.22);border-left-width:3px;border-radius:2px;background:rgba(7,7,6,.45);box-shadow:inset 0 1px rgba(255,255,255,.035);transition:transform .25s ease,background .25s ease,border-color .25s ease}
.player-card:hover .role-row{transform:translateX(2px)}
.role-row-label{flex:0 0 auto;color:#c5baa4;font:500 8px/1.2 var(--mono);letter-spacing:.12em}
.role-row-value{min-width:0;color:#f5eddd;font:700 clamp(12px,1vw,15px)/1.15 var(--sans);letter-spacing:.015em;text-align:right;white-space:nowrap}
.role-row-actual.player-role--faithful{border-color:rgba(154,192,113,.64);border-left-color:#a9cc7d;background:linear-gradient(95deg,rgba(92,126,60,.28),rgba(17,21,14,.72))}
.role-row-actual.player-role--faithful .role-row-label{color:#c8dda6}
.role-row-actual.player-role--faithful .role-row-value{color:#d6efb4}
.role-row-actual.player-role--traitor{border-color:rgba(197,91,83,.68);border-left-color:#d26760;background:linear-gradient(95deg,rgba(140,46,43,.34),rgba(31,16,15,.74))}
.role-row-actual.player-role--traitor .role-row-label{color:#e7aaa1}
.role-row-actual.player-role--traitor .role-row-value{color:#ffb5a8}
.role-row-requested{border-style:dashed;border-color:rgba(216,186,105,.48);border-left-style:solid;border-left-color:#d1b56c;background:linear-gradient(95deg,rgba(151,119,51,.18),rgba(15,14,11,.72))}
.role-row-requested .role-row-label{color:#d8c488}
.role-row-requested .role-row-value{color:#f0d889}
@media(max-width:600px){.player-card{border-radius:2px}.player-card:before{inset:3px}.portrait-nameplate{left:10px;right:9px;bottom:10px}.portrait-nameplate>span{font-size:7px}.player-name{font-size:clamp(17px,5vw,24px)}.player-card figcaption{padding:9px 8px 10px}.role-panel-heading{margin-bottom:6px;padding-bottom:5px;font-size:7px}.role-comparison{gap:6px}.role-row{min-height:35px;padding:6px 7px}.role-row-label{font-size:7px;letter-spacing:.08em}.role-row-value{font-size:clamp(10px,3vw,13px)}}
@media(min-width:1921px){.player-card figcaption{padding:15px 16px 17px}.role-panel-heading{font-size:10px}.role-row{min-height:47px;padding:9px 13px}.role-row-label{font-size:9px}.role-row-value{font-size:17px}.portrait-nameplate>span{font-size:10px}.player-name{font-size:clamp(28px,1.7vw,38px)}}
