:root{--night:#101915;--pine:#1b2c23;--paper:#efe7d6;--muted:#adb8a9;--gold:#ddbc7a;--gold-deep:#a5814a;--mint:#b6dec4;--coral:#df9384;--ease:cubic-bezier(.32,.72,0,1)}
*{box-sizing:border-box}
html{background:var(--night)}
body{margin:0;color:var(--paper);font:14px/1.5 'DM Sans',sans-serif;background:radial-gradient(ellipse at 50% -30%,#31493a 0,transparent 62%),radial-gradient(ellipse at 100% 100%,#2b2a24 0,transparent 45%),var(--night)}
body::after{content:'';position:fixed;inset:0;z-index:8;pointer-events:none;opacity:.027;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.page{max-width:1440px;min-height:100dvh;margin:auto;padding:24px clamp(18px,3.3vw,50px) 20px;display:flex;flex-direction:column}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:45px}.wordmark{display:flex;align-items:center;gap:11px;color:var(--paper);text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.19em}.wordmark em{color:var(--gold);font-style:normal}.wordmark-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dcc18394;border-radius:50%;color:var(--gold);font:22px 'Cormorant Garamond',serif}.masthead-note{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#aab7a8}
.presentation{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 0 9px;text-align:center;min-height:0}.chapter{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:10px;letter-spacing:.28em;font-weight:700}.chapter-line{height:1px;width:26px;background:linear-gradient(90deg,transparent,#c4a771)}.chapter-line:last-child{transform:rotate(180deg)}h1{font:500 clamp(37px,4.2vw,62px)/1.02 'Cormorant Garamond',Georgia,serif;letter-spacing:-.03em;margin:9px 0 24px;text-wrap:balance}.stage-frame{width:min(100%,930px);padding:8px;border:1px solid #d7c08d34;border-radius:28px;background:linear-gradient(145deg,#e8d9b012,#0a15110e 60%,#e8d9b01a);box-shadow:0 26px 90px #030b0859,0 1px 0 #ffffff0b inset}.stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:clamp(380px,48vh,510px);overflow:hidden;border-radius:21px;background:linear-gradient(#08130e87,#08130ead),url('https://ithaca-after-dark-guest-pov.nuocchanh-vn.chatgpt.site/assets/ithaca-garden-panorama.png') center 58%/cover;box-shadow:inset 0 1px 1px #f8e8bf23, inset 0 -45px 75px #07110dd4}.stage::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,#06110b76 100%)}.stage.screen-scene{background:radial-gradient(circle at center,#263c3d,#0d1b1b 78%)}.stage.screen-scene::after{background:radial-gradient(ellipse at center,transparent 56%,#020a0da3 100%)}.stage.vote-scene{background:linear-gradient(#07120dd1,#07120dd1),url('https://ithaca-after-dark-guest-pov.nuocchanh-vn.chatgpt.site/assets/ithaca-garden-panorama.png') center/cover}.stage>*{position:relative;z-index:1;animation:arrive .78s var(--ease) both}
@keyframes arrive{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.explanation{max-width:730px;min-height:43px;margin:20px 0 3px;color:#e4e8db;font-size:15px;line-height:1.55;text-wrap:balance}.scene-detail{min-height:21px;color:#a4b9a9;font-size:11px;letter-spacing:.05em}
.controls{display:flex;align-items:center;justify-content:space-between;width:min(100%,930px);margin:auto;padding-top:16px;gap:18px}.nav-button{display:inline-flex;align-items:center;justify-content:space-between;gap:13px;min-width:151px;padding:5px 5px 5px 17px;border:1px solid #d7c08d35;border-radius:999px;color:var(--paper);background:#dfd7bb0d;font-size:12px;font-weight:700;transition:transform .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease)}.nav-button:hover:not(:disabled){transform:translateY(-2px);background:#e0c68b1a;border-color:#e0c68b77}.nav-button:active:not(:disabled){transform:scale(.98)}.nav-button:disabled{opacity:.3;cursor:not-allowed}.nav-button .nav-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#d1b37423;color:var(--gold);font-size:19px;transition:transform .35s var(--ease)}.nav-button:hover:not(:disabled) .nav-icon{transform:translateX(-3px)}.nav-button.next{padding:5px 5px 5px 20px;background:var(--gold);border-color:var(--gold);color:#1b241b}.nav-button.next .nav-icon{background:#1c2a207a;color:var(--paper)}.nav-button.next:hover:not(:disabled){background:#f1d49a}.nav-button.next:hover:not(:disabled) .nav-icon{transform:translateX(3px)}.position{min-width:132px;text-align:center;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.17em}.progress-track{height:2px;background:#e0cf9a2c;margin-top:7px;overflow:hidden;border-radius:9px}.progress-track span{display:block;height:100%;background:var(--gold);transition:transform .65s var(--ease);transform-origin:left;transform:scaleX(.125)}.key-hint{text-align:center;color:#778a7d;font-size:10px;letter-spacing:.06em;margin:4px 0 0}
/* 01 — lanyard */
.lanyard-pair{display:flex;align-items:center;justify-content:center;gap:0;width:100%;padding:18px}.lanyard{position:relative;width:232px;height:330px;margin:0 17px;padding:25px 23px;background:linear-gradient(145deg,#f4eddd,#cbbb9a);color:#1c2b22;border:8px solid #222c27;border-radius:13px;box-shadow:0 24px 35px #0008;text-align:center;transform:rotate(-6deg)}.lanyard::before{content:'';position:absolute;top:-78px;left:calc(50% - 1px);width:2px;height:69px;background:#d6bf8b}.lanyard.back{transform:rotate(6deg);background:linear-gradient(145deg,#344d3c,#172c23);border-color:#bba16b;color:#f3ebd9}.lanyard .micro{display:block;font-size:10px;font-weight:700;letter-spacing:.2em}.lanyard .emblem{font:73px 'Cormorant Garamond',serif;line-height:1;margin:42px 0 12px}.lanyard .value{font:500 33px 'Cormorant Garamond',serif;line-height:1;text-transform:uppercase}.lanyard .foot{border-top:1px solid #394d3c8a;margin-top:54px;padding-top:8px;font-size:10px;font-weight:700;letter-spacing:.16em}.lanyard.back .foot{border-color:#d7c9964a}.lanyard-caption{position:absolute;bottom:24px;left:0;right:0;font-size:10px;color:#cfdecd;letter-spacing:.18em;text-transform:uppercase}
/* 02 — mingling */
.mingling{width:min(820px,96%);display:flex;flex-direction:column;align-items:center}.mingling .prompt{font:500 32px 'Cormorant Garamond',serif;margin-bottom:30px}.people{display:flex;align-items:center;justify-content:center;gap:clamp(10px,3vw,36px);width:100%}.person{text-align:center;min-width:126px}.face{display:block;width:98px;height:98px;margin:0 auto 10px;border-radius:50%;background-image:url('https://ithaca-after-dark-guest-pov.nuocchanh-vn.chatgpt.site/assets/ithaca-portraits.png');background-size:500% 400%;background-position:var(--px) var(--py);box-shadow:0 0 0 5px #e6d29a16,0 0 0 6px #ddbc7a58}.person.you .face{width:125px;height:125px;box-shadow:0 0 0 7px #dbc4842b,0 0 0 8px var(--gold)}.person-name{display:block;font:500 25px 'Cormorant Garamond',serif}.person-house{display:block;margin-top:3px;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--mint)}.person.other .person-house{color:#acb7aa}.person.you{transform:translateY(-10px)}.people-bridge{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:26px;font-size:11px;color:#d5dfd2}.people-bridge i{display:block;width:60px;height:1px;background:#d3b57288}
/* 03 + 05 — public screen */
.venue-screen{width:min(820px,94%);min-height:345px;border:9px solid #090f11;border-radius:12px;background:linear-gradient(145deg,#142831,#0b171e 85%);box-shadow:0 25px 50px #0009,0 0 0 2px #ad8e5a;overflow:hidden;text-align:left}.venue-screen .screen-header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 18px;border-bottom:1px solid #c7d3cf30;color:#c7dcda;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.screen-header b{color:var(--gold)}.screen-content{padding:22px 24px}.screen-eyebrow{color:var(--coral);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.screen-content h2{font:500 39px/1 'Cormorant Garamond',serif;margin:5px 0 18px}.victim-row{display:flex;align-items:flex-start;gap:19px}.victim-photo{width:145px;height:145px;flex:none;border-radius:6px;background-image:url('https://ithaca-after-dark-guest-pov.nuocchanh-vn.chatgpt.site/assets/ithaca-portraits.png');background-size:500% 400%;background-position:0% 0%;box-shadow:0 0 0 1px #d8c48e7a}.victim-info{flex:1}.victim-info strong{display:block;font:500 32px 'Cormorant Garamond',serif;line-height:1}.victim-info small{display:block;color:#9fc9bf;text-transform:uppercase;letter-spacing:.14em;font-size:10px;margin:4px 0 11px}.cause-line{display:inline-block;padding:6px 8px;background:#a8534b30;border-left:2px solid #e99787;color:#f4cac2;font-size:11px}.ingredient-line{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.ingredient-line span{padding:5px 8px;border-radius:4px;border:1px solid #a1c2af6a;background:#47736338;color:#deefe2;font-size:10px}.countdown{font:500 39px 'Cormorant Garamond',serif;color:var(--gold);white-space:nowrap}.screen-footer{display:flex;justify-content:space-between;gap:14px;background:#08141a;padding:9px 18px;color:#b2cbc4;text-transform:uppercase;letter-spacing:.14em;font-size:9px}.clue-screen .screen-content{padding:19px 26px}.clue-screen .screen-content h2{margin:2px 0 17px}.clue-entry{display:flex;align-items:center;gap:14px;padding:12px 14px;margin-top:9px;background:#4369632b;border-left:2px solid #c7dbbb}.clue-entry span{color:var(--gold);font:500 21px 'Cormorant Garamond',serif}.clue-entry p{margin:0;color:#e3eee4;font-size:13px}.screen-metrics{display:flex;gap:10px;margin-top:18px}.screen-metrics span{flex:1;padding:8px 10px;background:#ffffff0d;color:#a4beb5;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.screen-metrics b{display:block;color:#f5e5bb;font-size:16px;letter-spacing:0}
/* 04 — rescue */
.rescue{width:min(810px,94%);text-align:center}.rescue-overline{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}.rescue h2{font:500 54px/1 'Cormorant Garamond',serif;margin:4px 0 13px}.recipe-orbit{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.recipe-orbit span{padding:9px 11px;border:1px solid #c4d9ba88;border-radius:5px;background:#30533cba;font-size:11px;color:#ebf2e4}.route-line{display:flex;align-items:center;justify-content:center;gap:13px;margin:31px 0 20px;color:#dfd5bc;font-size:11px}.route-line i{width:70px;height:1px;background:#c7ad76;display:block}.apothecary{display:inline-block;padding:12px 25px;border:1px solid #e1c88b79;background:#15251fe3;font:500 25px 'Cormorant Garamond',serif}.outcome-switch{display:flex;justify-content:center;gap:5px;margin-top:22px}.outcome-switch button,.ending-switch button{border:1px solid #dfc2825a;background:#17271f99;color:#d5ddcf;padding:7px 15px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;transition:transform .35s var(--ease),background .35s var(--ease)}.outcome-switch button:hover,.ending-switch button:hover{transform:translateY(-2px)}.outcome-switch button.active,.ending-switch button.active{background:var(--gold);color:#142019}.rescue-result{margin-top:13px;min-height:29px;color:var(--mint);font:500 21px 'Cormorant Garamond',serif}.rescue-result.lost{color:var(--coral)}
/* 06 — escalation */
.escalation{width:min(850px,96%);display:flex;align-items:center;justify-content:center;gap:clamp(15px,3vw,35px)}.wave{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:160px;min-height:220px}.wave strong{display:block;font:500 clamp(78px,9vw,140px)/.85 'Cormorant Garamond',serif;color:var(--paper);letter-spacing:-.09em}.wave small{display:block;margin-top:17px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.wave i{font-style:normal;color:#afc7b4;font-size:10px;margin-top:6px}.wave.final strong{color:var(--gold)}.wave-arrow{color:#a6baaa;font-size:30px;font-weight:400}.victim-swarm{position:absolute;z-index:-1;inset:0;opacity:.23;display:grid;grid-template-columns:repeat(10,1fr);gap:13px;align-content:center;padding:25px 70px}.victim-swarm span{width:31px;height:31px;border-radius:50%;background-image:url('https://ithaca-after-dark-guest-pov.nuocchanh-vn.chatgpt.site/assets/ithaca-portraits.png');background-size:500% 400%;background-position:var(--px) var(--py)}
.stage .victim-swarm{z-index:1}
.stage .escalation{z-index:2}
/* 07 — voting */
.vote-visual{text-align:center;width:min(760px,96%)}.vote-visual h2{font:500 45px 'Cormorant Garamond',serif;margin:0 0 26px}.envelopes{display:flex;gap:10px;justify-content:center}.envelope{width:150px;height:109px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(140deg,#d6c5a3,#ead8b4);color:#23332a;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);box-shadow:inset 0 0 0 1px #aa915f}.envelope::before{content:'◆';font-size:20px;line-height:1;color:#94652c}.envelope strong{font:500 24px 'Cormorant Garamond',serif}.envelope span{font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}.vote-visual p{font-size:11px;color:#d6dccf;margin-top:26px;letter-spacing:.06em}
/* 08 — prize */
.prize-visual{text-align:center}.prize-medallion{display:grid;place-items:center;width:193px;height:193px;border-radius:50%;margin:0 auto 16px;background:radial-gradient(circle at 37% 27%,#f4dca2,#b4833f 72%,#6f4e27);box-shadow:0 0 0 7px #ddbf8240,0 0 0 8px #f2d8a158,0 20px 50px #0008;color:#273325;font:500 90px 'Cormorant Garamond',serif}.prize-visual h2{font:500 42px 'Cormorant Garamond',serif;margin:7px 0 2px}.prize-visual p{color:#dbe3d3;font-size:12px;margin:0}.ending-switch{display:flex;justify-content:center;gap:6px;margin-top:21px}
@media(max-width:850px){.page{padding:19px 20px}.presentation{justify-content:flex-start;padding-top:38px}.stage{min-height:430px}.explanation{font-size:14px}}
@media(max-width:650px){.page{padding:14px 15px 18px}.masthead-note{display:none}.wordmark{font-size:10px}.presentation{padding-top:32px}.chapter{font-size:9px}h1{font-size:38px;margin-bottom:20px}.stage-frame{padding:5px;border-radius:20px}.stage{min-height:410px;border-radius:15px}.explanation{margin-top:17px;min-height:65px;font-size:13px}.scene-detail{font-size:10px}.controls{padding-top:12px}.nav-button{min-width:105px;padding-left:10px;font-size:11px;gap:5px}.nav-button.next{padding-left:10px}.nav-button .nav-icon{width:30px;height:30px}.position{min-width:67px;font-size:10px}.key-hint{font-size:9px}.lanyard{width:145px;height:228px;margin:0 6px;padding:13px 8px;border-width:5px}.lanyard::before{height:49px;top:-55px}.lanyard .micro{font-size:7px}.lanyard .emblem{font-size:55px;margin:30px 0 7px}.lanyard .value{font-size:22px}.lanyard .foot{font-size:7px;margin-top:39px}.lanyard-caption{bottom:33px;font-size:8px}.mingling .prompt{font-size:28px;margin:0 0 29px}.people{gap:7px}.person{min-width:0;flex:1}.face{width:61px;height:61px}.person.you .face{width:75px;height:75px}.person-name{font-size:17px}.person-house{font-size:7px;letter-spacing:.06em}.people-bridge{font-size:9px;gap:4px}.people-bridge i{width:20px}.venue-screen{width:95%;min-height:0;border-width:6px}.venue-screen .screen-header{padding:8px 9px;font-size:7px}.screen-content{padding:14px 12px}.screen-content h2{font-size:26px;margin-bottom:13px}.victim-row{gap:9px}.victim-photo{width:83px;height:112px}.victim-info strong{font-size:24px}.victim-info small{font-size:7px;margin-bottom:6px}.cause-line{font-size:8px;padding:4px}.ingredient-line{margin-top:7px;gap:3px}.ingredient-line span{font-size:7px;padding:3px 4px}.countdown{font-size:21px}.screen-footer{padding:7px 9px;font-size:7px}.clue-screen .screen-content{padding:12px}.clue-screen .screen-content h2{font-size:27px}.clue-entry{padding:8px;gap:8px}.clue-entry span{font-size:16px}.clue-entry p{font-size:9px}.screen-metrics{margin-top:10px;gap:5px}.screen-metrics span{font-size:7px;padding:6px}.screen-metrics b{font-size:12px}.rescue h2{font-size:42px}.recipe-orbit span{font-size:9px;padding:7px 8px}.route-line{gap:7px;margin:25px 0 15px;font-size:9px}.route-line i{width:20px}.apothecary{font-size:22px}.rescue-result{font-size:17px}.escalation{gap:5px}.wave{min-width:0;flex:1;min-height:190px}.wave strong{font-size:78px}.wave small{font-size:8px}.wave i{font-size:8px}.wave-arrow{font-size:18px}.victim-swarm{grid-template-columns:repeat(8,1fr);gap:6px;padding:20px}.victim-swarm span{width:21px;height:21px}.vote-visual h2{font-size:35px}.envelopes{gap:4px}.envelope{height:86px}.envelope strong{font-size:15px}.envelope span{font-size:6px}.vote-visual p{font-size:9px}.prize-medallion{width:150px;height:150px;font-size:75px}.prize-visual h2{font-size:34px}}
@media(max-width:390px){.nav-button{min-width:94px}.nav-button span:not(.nav-icon){font-size:10px}.stage{min-height:390px}.chapter{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.stage>*{animation:none}.nav-button,.nav-button .nav-icon,.outcome-switch button,.ending-switch button,.progress-track span{transition:none}}
.page{padding-bottom:96px}
.controls{position:fixed;left:50%;bottom:16px;z-index:6;transform:translateX(-50%);width:min(930px,calc(100% - 30px));margin:0;padding:7px;border:1px solid #e0c78a45;border-radius:999px;background:#14221cdb;box-shadow:0 10px 35px #06110b91;backdrop-filter:blur(12px)}
.key-hint{display:none}
@media(max-height:800px) and (min-width:651px){.presentation{padding-top:9px;padding-bottom:5px}h1{margin:5px 0 15px}.stage{min-height:345px}.lanyard{width:214px;height:295px;padding:19px}.lanyard .emblem{font-size:66px;margin:33px 0 9px}.lanyard .foot{margin-top:42px}.venue-screen{min-height:310px}.screen-content{padding:17px 22px}.clue-screen .screen-content{padding:12px 23px}.explanation{margin-top:12px;min-height:39px;font-size:13px}.scene-detail{font-size:9px}}
@media(max-width:650px){.venue-screen{min-height:340px}.venue-screen .screen-header{font-size:8px}.screen-content{padding:16px 12px}.screen-content h2{font-size:29px}.victim-photo{width:87px;height:122px}.victim-info strong{font-size:26px}.victim-info small{font-size:8px}.cause-line{font-size:9px}.ingredient-line span{font-size:8px;padding:4px 5px}.countdown{font-size:23px}.screen-footer{font-size:7.5px}}
.venue-screen{display:flex;flex-direction:column}
.venue-screen .screen-content{flex:1}
.venue-screen .screen-footer{margin-top:auto}
.explanation[hidden],.scene-detail[hidden]{display:none}
.lanyard .emblem-art{display:block;width:150px;height:135px;object-fit:contain;margin:14px auto 0;filter:drop-shadow(0 4px 5px #0f1f1733)}
.lanyard .foot{margin-top:29px}
.face.face-player,.victim-photo{background-image:url('https://ithaca-after-dark-guest-pov.nuocchanh-vn.chatgpt.site/assets/nhat-minh-portrait.png');background-size:cover;background-position:center 27%}
.person .face.guest-photo{background-image:var(--photo);background-size:cover;background-position:center 28%}
.mark-screen{min-height:350px;padding:24px 29px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}.mark-primary{display:flex;align-items:center;gap:24px}.mark-portrait{display:block;width:153px;height:157px;flex:none;object-fit:cover;object-position:center 24%;border:1px solid #d4bd82;border-radius:5px}.mark-identity{flex:1;min-width:0}.mark-identity strong{display:block;font:500 48px/1 'Cormorant Garamond',serif}.mark-identity span{display:block;margin-top:14px;color:#f1bdb1;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.mark-identity b{color:#fff4df}.mark-timer{align-self:flex-start;color:var(--gold);font:500 52px/1 'Cormorant Garamond',serif;letter-spacing:.03em;white-space:nowrap}.mark-ingredients{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.mark-ingredients figure{margin:0;min-width:0}.mark-ingredients img{display:block;width:100%;height:94px;object-fit:cover;border:1px solid #c9b17978;border-radius:5px}.mark-ingredients figcaption{margin-top:6px;color:#e9e9dc;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:center}
@media(max-width:650px){.mark-screen{min-height:335px;padding:17px 12px;gap:20px}.mark-primary{gap:12px;align-items:flex-start}.mark-portrait{width:103px;height:135px}.mark-identity strong{font-size:34px}.mark-identity span{font-size:9px;letter-spacing:.05em;margin-top:10px}.mark-timer{font-size:29px}.mark-ingredients{gap:5px}.mark-ingredients img{height:69px}.mark-ingredients figcaption{font-size:7px;letter-spacing:0}.mark-ingredients figure:last-child figcaption{font-size:6px}}
@media(max-width:390px){.mark-portrait{width:88px;height:120px}.mark-identity strong{font-size:30px}.mark-timer{font-size:26px}.mark-ingredients img{height:58px}}
.stage.projection-scene{background:radial-gradient(ellipse at 50% 35%,#1a2420 0,#080c0b 65%,#010303 100%);box-shadow:inset 0 0 95px #000,inset 0 0 0 1px #a8bfb028}.stage.projection-scene::after{background:linear-gradient(120deg,#c6ded408,transparent 44%,#c6ded408),radial-gradient(ellipse at center,transparent 48%,#000b 100%)}.projection-scene .mark-screen{width:100%;min-height:inherit;align-self:stretch;border:0;border-radius:0;padding:28px 39px;background:transparent;box-shadow:inset 0 0 55px #cadccb09,0 0 38px #e2f3dc24;text-shadow:0 0 12px #e3f5db38;overflow:visible}.projection-scene .mark-screen::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#e8f4e40b,transparent 17%,transparent 83%,#e8f4e40b),radial-gradient(ellipse at 48% 38%,#d6efdf0c,transparent 65%)}.projection-scene .mark-primary{gap:25px}.projection-scene .mark-portrait{border:1px solid #b2c9a77a;border-radius:1px;filter:saturate(.63) contrast(1.13) brightness(.86);box-shadow:0 0 18px #b3d4a833}.projection-scene .mark-identity strong{color:#f3f6e8;text-shadow:0 0 15px #dcefd65e}.projection-scene .mark-identity span{color:#d9a197;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.projection-scene .mark-timer{font:600 47px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em;color:#ffcf7f;text-shadow:0 0 20px #e99c5480}.projection-scene .mark-ingredients{gap:11px}.projection-scene .mark-ingredients figure{border:1px solid #8cae9161;border-radius:3px;padding:5px 5px 7px;background:linear-gradient(145deg,#19251dcc,#0c130eeb);box-shadow:inset 0 1px #e4f6de1b,0 0 13px #b1d4b018}.projection-scene .mark-ingredients img{height:85px;border:0;border-radius:0;object-fit:contain;filter:drop-shadow(0 2px 5px #0008)}.projection-scene .mark-ingredients figcaption{margin-top:3px;color:#d9e9ca;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.08em}
@media(max-width:650px){.projection-scene .mark-screen{padding:18px 14px;min-height:inherit}.projection-scene .mark-primary{gap:11px}.projection-scene .mark-timer{font-size:24px}.projection-scene .mark-identity span{font-size:8px}.projection-scene .mark-ingredients{gap:5px}.projection-scene .mark-ingredients figure{padding:3px 2px 5px}.projection-scene .mark-ingredients img{height:61px}.projection-scene .mark-ingredients figcaption{font-size:6px;letter-spacing:0}}
@media(max-width:390px){.projection-scene .mark-timer{font-size:21px}.projection-scene .mark-ingredients img{height:51px}}
.presentation h1.long-headline{max-width:950px;font-size:clamp(30px,3.3vw,45px);line-height:1.04;margin-bottom:18px}.stage.projection-scene{min-height:430px;background:#000;box-shadow:inset 0 0 0 1px #edf2e426}.stage.projection-scene::after{background:radial-gradient(ellipse at center,transparent 52%,#0008 100%)}.projection-scene .mark-screen{min-height:inherit;padding:18px 36px 20px;align-items:center;justify-content:center;gap:0;background:#000;box-shadow:none;text-shadow:none}.projection-scene .mark-screen::after{display:none}.mark-alert{color:#ff3c45;font:800 44px/1 'DM Sans',sans-serif;letter-spacing:.09em;text-shadow:0 0 22px #e925314b;margin-bottom:10px}.projection-scene .mark-portrait{width:112px;height:112px;border-radius:50%;border:3px solid #f3f4ec;filter:none;box-shadow:0 0 0 4px #ffffff1a;object-position:center 25%}.mark-name{display:block;margin-top:8px;color:#fff;font:600 28px/1 'Cormorant Garamond',serif}.projection-scene .mark-timer{align-self:center;margin-top:5px;color:#fff;font-size:34px;text-shadow:none}.projection-scene .mark-ingredients{width:min(100%,760px);margin-top:18px}.projection-scene .mark-ingredients figure{background:#0b0d0b;border-color:#7782757d}.projection-scene .mark-ingredients img{height:68px}.projection-scene .mark-ingredients figcaption{color:#f0f0eb}
@media(max-width:650px){.presentation h1.long-headline{font-size:30px;line-height:1.06;margin-bottom:14px}.stage.projection-scene{min-height:390px}.projection-scene .mark-screen{padding:16px 12px 18px}.mark-alert{font-size:32px;margin-bottom:9px}.projection-scene .mark-portrait{width:92px;height:92px}.mark-name{font-size:24px;margin-top:7px}.projection-scene .mark-timer{font-size:26px;margin-top:4px}.projection-scene .mark-ingredients{margin-top:17px}.projection-scene .mark-ingredients img{height:52px}}
@media(max-width:390px){.presentation h1.long-headline{font-size:27px}.projection-scene .mark-ingredients img{height:45px}}
.presentation h1.long-headline{max-width:1180px;font-size:clamp(20px,2.3vw,29px);line-height:1.16;margin:3px 0 13px}
@media(max-width:650px){.presentation h1.long-headline{max-width:100%;font-size:18px;line-height:1.2;margin:2px 0 12px}}
@media(max-width:390px){.presentation h1.long-headline{font-size:16px}}
@media(max-height:800px) and (min-width:651px){.lanyard .emblem-art{width:132px;height:112px;margin-top:10px}.lanyard .foot{margin-top:23px}}
@media(max-width:650px){.lanyard .emblem-art{width:97px;height:83px;margin-top:12px}.lanyard .foot{margin-top:17px}}
.rescue-flow{width:min(890px,100%);padding:25px 30px;text-align:center}.flow-kicker{margin-bottom:23px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.25em}.flow-main{display:grid;grid-template-columns:minmax(0,1.45fr) 25px minmax(125px,.75fr) 25px minmax(145px,.85fr);align-items:center;gap:9px;text-align:left}.flow-label{display:flex;align-items:center;gap:8px;min-height:30px;margin-bottom:11px;color:#c7d3c4;font-size:9px;font-weight:700;letter-spacing:.1em}.flow-label b{display:grid;place-items:center;width:24px;height:24px;flex:none;border:1px solid #ddbc7a88;border-radius:50%;color:var(--gold);font:600 10px 'DM Sans',sans-serif}.ingredient-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ingredient-card{display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:6px 8px;border:1px solid #d9c48b66;border-radius:6px;background:linear-gradient(145deg,#22372b,#101d17);box-shadow:0 5px 12px #0003}.ingredient-card:last-child{grid-column:span 2}.ingredient-card span,.bar-mark small{color:#99b1a0;font-size:8px;font-weight:700;letter-spacing:.12em}.ingredient-card b{margin-top:2px;color:#f2ead7;font-size:10px;letter-spacing:.08em}.flow-collection p{margin:9px 0 0;color:#b4c2b3;font-size:10px}.flow-arrow{align-self:center;color:var(--gold);font-size:25px;text-align:center}.bar-mark{display:flex;min-height:118px;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d9c48b76;border-radius:10px;background:linear-gradient(150deg,#293c30e8,#101a15f2);box-shadow:0 12px 25px #0004,inset 0 1px #fff2}.bar-icon{color:var(--gold);font-size:25px;line-height:1}.bar-mark strong{margin-top:5px;color:#f0e4c7;font:500 23px 'Cormorant Garamond',serif}.bar-mark small{margin-top:5px}.flow-cocktail{text-align:center}.flow-cocktail .flow-label{justify-content:center;white-space:nowrap}.cocktail-glass{height:82px;display:grid;place-items:center;color:var(--gold);font:58px/1 'Apple Color Emoji','Segoe UI Emoji',sans-serif;filter:drop-shadow(0 7px 10px #0007)}.cocktail-label{display:block;margin-top:8px;color:#efe5ce;font-size:10px;letter-spacing:.1em}
@media(max-width:650px){.stage.rescue-scene{min-height:520px}.rescue-flow{padding:14px 12px}.flow-kicker{margin-bottom:10px;font-size:9px}.flow-main{grid-template-columns:1fr;gap:1px}.flow-label{justify-content:center;margin:0 0 6px;font-size:8px}.ingredient-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.ingredient-card,.ingredient-card:last-child{grid-column:auto;min-height:48px;padding:5px 2px;text-align:center}.ingredient-card span{font-size:6px;letter-spacing:0}.ingredient-card b{font-size:7px;letter-spacing:0;overflow-wrap:anywhere}.flow-collection p{margin:5px 0 2px;font-size:9px}.flow-arrow{transform:rotate(90deg);font-size:19px;line-height:1.05}.flow-bar .flow-label{margin-bottom:5px}.bar-mark{min-height:61px;flex-direction:row;gap:8px}.bar-icon{font-size:18px}.bar-mark strong{margin:0;font-size:21px}.bar-mark small{margin:2px 0 0;font-size:7px}.flow-cocktail .flow-label{margin:4px 0 0}.cocktail-glass{height:53px;font-size:43px}.cocktail-label{margin-top:2px;font-size:8px}}
.stage.rescue-scene{background:#101915;box-shadow:inset 0 0 0 1px #d7c08d20}.stage.rescue-scene::after{display:none}.rescue-flow{width:100%;padding:20px 24px}.flow-main{display:grid;grid-template-columns:minmax(0,1.65fr) 26px minmax(0,1fr) 26px minmax(120px,.78fr);align-items:center;gap:8px}.flow-label{display:flex;align-items:center;gap:8px;min-height:30px;margin:0 0 10px;color:#d1d8ce;font-size:9px;font-weight:700;letter-spacing:.08em}.flow-label b{display:grid;place-items:center;width:23px;height:23px;flex:none;border:1px solid #ddbc7a8c;border-radius:50%;color:var(--gold);font:600 11px 'DM Sans',sans-serif}.guest-ingredients{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.guest-ingredient{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;padding:7px 3px 8px;border:1px solid #d7c08d35;border-radius:8px;background:#18251e}.guest-silhouette{display:block;width:47px;height:54px;background-image:url('https://ithaca-after-dark-guest-pov.nuocchanh-vn.chatgpt.site/assets/rescue-guests-sprite.png');background-size:500% 100%;background-position:var(--avatar-pos) center;background-repeat:no-repeat}.guest-number{margin-top:3px;color:#93a99a;font-size:7px;font-weight:700;letter-spacing:.08em}.ingredient-picture{width:44px;height:44px;object-fit:contain;margin-top:4px;filter:drop-shadow(0 3px 6px #0007)}.ingredient-name{color:#f0eadb;font-size:8px;line-height:1.15;text-align:center;overflow-wrap:anywhere}.flow-arrow{color:var(--gold);font-size:25px;text-align:center}.bar-picture{display:block;width:100%;height:132px;object-fit:cover;object-position:center 58%;border:1px solid #ddbc7a60;border-radius:8px}.bar-caption{display:block;margin-top:7px;color:#f0eadb;text-align:center;font-size:10px;letter-spacing:.12em}.flow-cocktail{text-align:center}.flow-cocktail .flow-label{justify-content:center;white-space:nowrap}.cocktail-glass{height:75px;display:grid;place-items:center;color:var(--gold);font:51px/1 'Apple Color Emoji','Segoe UI Emoji',sans-serif;filter:drop-shadow(0 5px 8px #0008)}.cocktail-label{display:block;margin-top:7px;color:#efe5ce;font-size:9px;letter-spacing:.08em}
@media(max-width:760px){.flow-main{grid-template-columns:minmax(0,1.4fr) 18px minmax(0,1fr) 18px minmax(100px,.72fr);gap:5px}.rescue-flow{padding:17px 14px}.guest-silhouette{width:39px;height:47px}.ingredient-picture{width:37px;height:37px}.guest-number,.ingredient-name{font-size:7px}.bar-picture{height:115px}}
@media(max-width:650px){.stage.rescue-scene{min-height:480px}.rescue-flow{padding:12px 9px}.flow-main{grid-template-columns:1fr;gap:6px}.flow-label{justify-content:center;margin-bottom:6px;font-size:9px}.guest-ingredients{gap:4px}.guest-ingredient{padding:5px 2px 6px}.guest-silhouette{width:50px;height:53px}.guest-number{font-size:7px}.ingredient-picture{width:45px;height:45px;margin-top:1px}.ingredient-name{font-size:8px}.flow-arrow{transform:rotate(90deg);font-size:19px;line-height:1}.bar-picture{width:min(100%,360px);height:92px;margin:auto}.bar-caption{margin-top:3px}.flow-cocktail .flow-label{margin:0}.cocktail-glass{height:42px;font-size:36px}.cocktail-label{margin-top:1px;font-size:8px}}
.outcome-map{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:16px 19px;text-align:left}.outcome-branch{min-width:0;min-height:330px;padding:17px 20px;border:1px solid #d7c08d44;border-radius:13px;background:#15221c;box-shadow:0 12px 30px #0003}.outcome-success{background:linear-gradient(145deg,#20372a,#142019)}.outcome-failure{background:linear-gradient(145deg,#392623,#211a19);border-color:#d98c7c52}.outcome-kicker{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.15em}.outcome-failure .outcome-kicker{color:#e3a296}.outcome-count{display:flex;align-items:center;gap:12px;margin-top:10px}.outcome-count strong{color:#f1e3c2;font:500 58px/.85 'Cormorant Garamond',serif}.outcome-count span{max-width:190px;color:#e6e9de;font-size:12px;font-weight:700;letter-spacing:.07em}.outcome-people{display:flex;gap:5px;margin-top:15px}.outcome-people span{display:grid;place-items:center;width:31px;height:31px;border:1px solid #e0c58655;border-radius:50%;background:#ddbc7a12;font:16px/1 'Apple Color Emoji','Segoe UI Emoji',sans-serif}.outcome-who{margin:6px 0 10px;color:#becabc;font-size:11px}.outcome-drink{padding:9px 11px;border-radius:7px;background:#d5bc7a16;color:#f0dfb5;font-size:14px}.outcome-clue{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;border-top:1px solid #d7c08d38}.outcome-clue b,.outcome-soul b{color:#d8bd78;font-size:10px;letter-spacing:.1em}.outcome-clue span,.outcome-soul span{color:#e2e4d8;font-size:12px}.ferryman-cup{display:flex;align-items:center;gap:12px;margin-top:22px;padding:12px;border:1px solid #d58f8155;border-radius:8px;background:#201a19}.ferryman-cup>span{font:32px/1 'Apple Color Emoji','Segoe UI Emoji',sans-serif}.ferryman-cup div{display:flex;flex-direction:column;gap:3px}.ferryman-cup strong{color:#f0d3c7;font:500 20px 'Cormorant Garamond',serif}.ferryman-cup small{color:#d4b7ad;font-size:11px}.outcome-soul{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding-top:10px;border-top:1px solid #d98c7c45}
@media(max-width:650px){.stage.outcome-scene{min-height:560px}.outcome-map{grid-template-columns:1fr;gap:8px;padding:8px}.outcome-branch{min-height:0;padding:12px 15px}.outcome-kicker{font-size:9px}.outcome-count{margin-top:7px}.outcome-count strong{font-size:45px}.outcome-count span{font-size:10px}.outcome-people{margin-top:8px}.outcome-people span{width:25px;height:25px;font-size:13px}.outcome-who{margin:4px 0 7px;font-size:10px}.outcome-drink{padding:7px 9px;font-size:12px}.outcome-clue{margin-top:7px;padding-top:7px}.outcome-clue span,.outcome-soul span{font-size:11px}.ferryman-cup{margin-top:10px;padding:8px}.ferryman-cup>span{font-size:27px}.ferryman-cup strong{font-size:17px}.ferryman-cup small{font-size:10px}.outcome-soul{margin-top:8px;padding-top:7px}}
.stage.public-projector-scene{min-height:430px;background:#000;box-shadow:inset 0 0 0 1px #eef3e51a}.stage.public-projector-scene::after{display:none}.public-projector-scene .projector-board{width:100%;min-height:inherit;padding:30px clamp(18px,5vw,58px);display:flex;flex-direction:column;justify-content:center;gap:30px;background:#000;text-align:left}.projector-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #bec9bb47;border-radius:6px;overflow:hidden}.projector-metrics>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-right:1px solid #bec9bb47}.projector-metrics>div:last-child{border-right:0}.projector-metrics span{color:#e7eee4;font-size:11px;font-weight:700;letter-spacing:.16em}.projector-metrics b{color:#f4d995;font:500 36px/1 'Cormorant Garamond',serif}.projector-clue{display:flex;align-items:center;justify-content:center;gap:26px;min-height:190px;border-top:1px solid #bec9bb35;border-bottom:1px solid #bec9bb35}.house-emblem{display:grid;place-items:center;width:112px;height:112px;flex:none;border:1px solid #d2b87988;border-radius:50%;background:radial-gradient(circle,#27382c,#101511 70%);font:58px/1 'Apple Color Emoji','Segoe UI Emoji',sans-serif;filter:drop-shadow(0 0 15px #d9c28d20)}.house-clue-copy{display:flex;flex-direction:column;align-items:flex-start}.house-clue-copy span{color:#d6bd7b;font-size:10px;font-weight:700;letter-spacing:.19em}.house-clue-copy small{margin-top:9px;color:#c5d1c6;font-size:12px;font-weight:700;letter-spacing:.12em}.house-clue-copy strong{margin-top:2px;color:#f4f2e8;font:500 clamp(42px,6vw,70px)/.95 'Cormorant Garamond',serif;letter-spacing:.04em}
@media(max-width:650px){.stage.public-projector-scene{min-height:400px}.public-projector-scene .projector-board{gap:18px;padding:16px 12px}.projector-metrics>div{flex-direction:column-reverse;gap:5px;padding:9px 3px}.projector-metrics span{font-size:8px;letter-spacing:.1em}.projector-metrics b{font-size:29px}.projector-clue{gap:14px;min-height:185px}.house-emblem{width:75px;height:75px;font-size:40px}.house-clue-copy span{font-size:8px;letter-spacing:.14em}.house-clue-copy small{font-size:9px;letter-spacing:.06em}.house-clue-copy strong{font-size:42px}}
.stage.escalation-projector{min-height:405px;background:#000;box-shadow:inset 0 0 0 1px #eef3e51a}.stage.escalation-projector::after{display:none}.escalation-board{width:100%;padding:22px 24px;background:#000}.escalation-route{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:8px}.escalation-step{min-width:0;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:15px 8px;border:1px solid #bcc8bc65;border-radius:8px;background:#080b09;text-align:center}.escalation-step.emphasized{border:2px solid #e2c16f;background:linear-gradient(150deg,#1d2117,#0a0c09);box-shadow:0 0 24px #dfc47720}.escalation-phase{color:#e3e8df;font-size:12px;font-weight:700;letter-spacing:.12em}.escalation-step strong{color:#fff;font:500 clamp(82px,10vw,132px)/.78 'Cormorant Garamond',serif}.escalation-step.emphasized strong{color:#f2d78f}.escalation-copy{min-height:20px;color:#d7dfd4;font-size:12px;font-weight:700;letter-spacing:.07em}.escalation-arrow{color:#f1d58f;font-size:30px;text-align:center}
@media(max-width:650px){.stage.escalation-projector{min-height:355px}.escalation-board{padding:16px 8px}.escalation-route{grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr) 15px minmax(0,1fr);gap:3px}.escalation-step{min-height:230px;padding:10px 3px;gap:8px;border-radius:5px}.escalation-step.emphasized{border-width:1px}.escalation-phase{font-size:8px;letter-spacing:.04em}.escalation-step strong{font-size:clamp(54px,15vw,74px)}.escalation-copy{font-size:8px;line-height:1.2;letter-spacing:0}.escalation-arrow{font-size:17px}}
.stage.public-projector-scene{min-height:430px;background:#000;box-shadow:none}
.stage.public-projector-scene::after{display:none}
.public-projector-scene .projector-board{width:100%;min-height:inherit;padding:24px clamp(20px,5vw,55px);display:flex;flex-direction:column;justify-content:center;gap:15px;background:#000;color:#fff;text-align:left}
.board-kicker{display:flex;align-items:center;gap:9px;color:#f23442;font:700 11px/1.2 'DM Sans',sans-serif;letter-spacing:.16em}
.board-kicker i{width:20px;height:1px;background:#c72936}
.projector-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:0;border-bottom:1px solid #b524302e;border-radius:0;overflow:visible;padding-bottom:12px}
.projector-metrics>div{display:flex;flex-direction:column-reverse;align-items:flex-start;justify-content:center;gap:3px;padding:2px 16px;border:0;border-right:1px solid #ffffff22}
.projector-metrics>div:first-child{padding-left:0}
.projector-metrics>div:last-child{border-right:0}
.projector-metrics span{color:#b7b7ba;font-size:10px;font-weight:700;letter-spacing:.17em}
.projector-metrics b{color:#fff;font:600 40px/1 'DM Sans',sans-serif;letter-spacing:0}
.clue-list{width:min(100%,740px);display:flex;flex-direction:column;margin:0 auto}
.clue-line{min-height:46px;display:grid;grid-template-columns:42px minmax(110px,.8fr) minmax(130px,1fr) 64px;align-items:center;gap:10px;border-bottom:1px solid #ffffff20}
.clue-number{color:#77777b;font:500 11px 'DM Sans',sans-serif}
.clue-type{color:#c6c4c5;font:700 10px 'DM Sans',sans-serif;letter-spacing:.14em}
.clue-value{color:#fff;font:600 18px 'DM Sans',sans-serif;letter-spacing:.07em}
.clue-veiled .clue-type{color:#e14953}
.clue-blur{width:max-content;max-width:100%;color:#dedbdd;filter:blur(5px);user-select:none}
.soul-stamp{justify-self:end;color:#eb4a54;font:700 9px 'DM Sans',sans-serif;letter-spacing:.16em}
.soul-note{color:#e34650;font:600 10px 'DM Sans',sans-serif;letter-spacing:.13em}
@media(max-width:650px){
  .stage.public-projector-scene{min-height:410px}
  .public-projector-scene .projector-board{gap:13px;padding:18px 14px}
  .board-kicker{font-size:9px;letter-spacing:.1em}
  .projector-metrics{padding-bottom:9px}
  .projector-metrics>div{padding:2px 8px}
  .projector-metrics span{font-size:8px;letter-spacing:.1em}
  .projector-metrics b{font-size:32px}
  .clue-line{min-height:47px;grid-template-columns:25px minmax(75px,.8fr) minmax(92px,1fr) 39px;gap:6px}
  .clue-number{font-size:9px}
  .clue-type{font-size:8px;letter-spacing:.07em}
  .clue-value{font-size:14px;letter-spacing:.04em}
  .soul-stamp{font-size:8px;letter-spacing:.08em}
  .soul-note{font-size:8px;letter-spacing:.08em}
}
.stage.public-projector-scene{min-height:360px}
.public-projector-scene .projector-board{align-items:center;gap:12px;padding:18px clamp(18px,5vw,52px);text-align:center}
.board-kicker{justify-content:center}
.projector-metrics{width:min(100%,720px);padding:0 0 9px}
.projector-metrics>div{align-items:center;padding:0 16px}
.projector-metrics b{font-size:36px}
.clue-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,760px);margin:0 auto}
.clue-line{position:relative;min-height:91px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px 12px;border:0;border-right:1px solid #ffffff22}
.clue-line:last-child{border-right:0}
.clue-type{color:#b9b6b8}
.clue-value{font-size:20px}
.clue-veiled .clue-type{color:#ef4852}
.clue-blur{filter:blur(5px)}
.soul-stamp{position:absolute;top:8px;right:12px;font-size:8px}
.soul-note{text-align:center}
@media(max-width:650px){
  .stage.public-projector-scene{min-height:400px}
  .public-projector-scene .projector-board{gap:11px;padding:16px 11px}
  .projector-metrics{width:100%}
  .projector-metrics>div{padding:0 5px}
  .projector-metrics b{font-size:30px}
  .clue-list{grid-template-columns:1fr;width:100%}
  .clue-line{min-height:53px;display:grid;grid-template-columns:minmax(90px,.8fr) minmax(95px,1fr) 35px;justify-content:stretch;gap:6px;padding:5px 4px;border:0;border-bottom:1px solid #ffffff20}
  .clue-line:last-child{border-bottom:0}
  .clue-type{font-size:8px;text-align:left}
  .clue-value{font-size:14px;text-align:left}
  .soul-stamp{position:static;justify-self:end}
  .soul-note{text-align:center}
}
.finale-map{align-items:stretch}
.finale-map .outcome-branch{display:flex;flex-direction:column;justify-content:center}
.finale-map .outcome-count{margin-top:18px}
.finale-map .outcome-count strong{font-size:64px}
.finale-prize{display:flex;align-items:center;gap:10px;margin-top:20px;padding:13px 0;border-top:1px solid #d7c08d38;border-bottom:1px solid #d7c08d38}
.finale-prize>span{color:#ddbc7a;font-size:25px}
.finale-prize b{color:#f0e5c9;font-size:13px;letter-spacing:.11em}
.odysseus-prize{border-color:#d98c7c45}
.odysseus-prize>span{color:#e3a296}
.odysseus-prize b{color:#f0d3c7}
.finale-copy{max-width:340px;margin:13px 0 0;color:#d4d9ce;font-size:13px;line-height:1.45}
.outcome-failure .finale-copy{color:#d4b7ad}
.simple-outcome-map{align-items:stretch}
.simple-outcome-map .outcome-branch{display:flex;flex-direction:column;justify-content:center;min-height:260px;padding:22px 24px}
.simple-outcome-main{display:flex;align-items:center;gap:13px;margin-top:20px;color:#f1e3c2}
.simple-outcome-main>strong{font-size:15px;line-height:1.25;letter-spacing:.07em}
.simple-outcome-map .outcome-people{gap:2px;margin:0}
.simple-outcome-map .outcome-people span{width:27px;height:27px;border:0;background:none;font-size:20px}
.simple-cup{font:34px/1 'Apple Color Emoji','Segoe UI Emoji',sans-serif}
.simple-outcome-foot{margin:20px 0 0;padding-top:13px;border-top:1px solid #d7c08d38;color:#e2e4d8;font-size:12px;line-height:1.5}
@media(max-width:650px){.simple-outcome-map .outcome-branch{min-height:0;padding:15px 17px}.simple-outcome-main{gap:8px;margin-top:12px}.simple-outcome-main>strong{font-size:13px}.simple-outcome-map .outcome-people span{width:23px;height:23px;font-size:16px}.simple-cup{font-size:27px}.simple-outcome-foot{margin-top:11px;padding-top:9px;font-size:11px}}
.simple-outcome-map .outcome-branch{min-height:250px;padding:22px 20px}
.outcome-results{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;margin-top:22px}
.outcome-result{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-width:0;padding:7px 10px;text-align:center}
.outcome-result+.outcome-result{border-left:1px solid #d7c08d55}
.outcome-result strong{max-width:150px;color:#f1e3c2;font-size:13px;line-height:1.35;letter-spacing:.04em}
.outcome-result small{margin-top:-8px;color:#d8d1bd;font-size:10px;line-height:1.2;letter-spacing:.03em}
.outcome-failure .outcome-result strong{color:#f0d3c7}
.result-icon{height:38px;display:grid;place-items:center;font:34px/1 'Apple Color Emoji','Segoe UI Emoji',sans-serif}
.clue-icon,.soul-icon{width:38px;border:1px solid #d7c08d55;border-radius:50%;color:#e0c586;font:25px/1 Georgia,serif}
.soul-icon{border-color:#d98c7c66;color:#e3a296}
@media(max-width:650px){.simple-outcome-map .outcome-branch{padding:15px 17px}.outcome-results{margin-top:12px}.outcome-result{gap:7px;padding:5px 7px}.outcome-result strong{font-size:12px}.result-icon{height:30px;font-size:27px}.clue-icon,.soul-icon{width:30px;font-size:20px}}
.clean-finale-map .outcome-branch{min-height:245px;align-items:center;text-align:center;padding:22px 20px}
.finale-condition{margin-top:24px;color:#e7e8dc;font-size:15px;font-weight:700;letter-spacing:.06em;line-height:1.4}
.finale-condition::after{content:'↓';display:block;margin:9px 0 7px;color:#d8bd78;font-size:18px}
.outcome-failure .finale-condition::after{color:#e3a296}
.finale-award{display:flex;align-items:center;justify-content:center;gap:10px;color:#f0e5c9}
.finale-award>span{font-size:26px;color:#ddbc7a}
.outcome-failure .finale-award>span{color:#e3a296}
.finale-award strong{font-size:19px;letter-spacing:.09em}
.finale-recipient{margin-top:6px;color:#c8d0c3;font-size:12px}
.outcome-failure .finale-recipient{color:#d4b7ad}
@media(max-width:650px){.clean-finale-map .outcome-branch{min-height:0;padding:16px}.finale-condition{margin-top:12px;font-size:13px}.finale-condition::after{margin:5px 0;font-size:16px}.finale-award{gap:7px}.finale-award>span{font-size:22px}.finale-award strong{font-size:16px}.finale-recipient{margin-top:4px;font-size:11px}}
.finale-illustrations{width:min(780px,94%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.5fr) minmax(0,1fr);align-items:end;gap:clamp(8px,2vw,24px)}
.finale-illustration{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:9px;text-align:center}
.finale-illustration img{display:block;width:100%;height:clamp(175px,27vh,245px);object-fit:contain;filter:drop-shadow(0 12px 16px #0008)}
.finalist-treasure img{height:clamp(88px,13.5vh,123px)}
.finale-illustration strong{color:#f0e8d5;font:700 clamp(9px,1.1vw,13px)/1.2 'DM Sans',sans-serif;letter-spacing:.1em}
.finalist-treasure strong{color:#f1d99b}
.finalist-odysseus strong{color:#e7a093}
@media(max-width:650px){.finale-illustrations{width:97%;gap:5px}.finale-illustration img{height:clamp(135px,25vh,190px)}.finalist-treasure img{height:clamp(68px,12.5vh,95px)}.finale-illustration{gap:6px}.finale-illustration strong{font-size:8px;letter-spacing:.06em}}
.recipe-equation{width:min(760px,100%);display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:12px auto 3px;padding:0 2px;color:#d7dfd2}
.recipe-equation span{font-size:10px;font-weight:700;letter-spacing:.16em;color:#aab5a8}
.recipe-equation strong{font:700 13px/1.25 'DM Sans',sans-serif;letter-spacing:.08em;color:#fff}
.recipe-equation strong b{padding:0 5px;color:#edcf83;font-size:17px}
.projection-scene .mark-ingredients{display:flex;align-items:stretch;gap:clamp(3px,1vw,9px);margin-top:2px}
.projection-scene .mark-ingredients figure{flex:1;min-width:0}
.projection-scene .mark-ingredients figure img{width:100%}
.recipe-plus{align-self:center;margin-top:-14px;color:#f0d48b;font:600 18px/1 'DM Sans',sans-serif}
@media(max-width:650px){.recipe-equation{align-items:center;gap:5px;margin-top:10px}.recipe-equation span{font-size:8px;letter-spacing:.08em}.recipe-equation strong{font-size:9px;letter-spacing:.02em}.recipe-equation strong b{padding:0 2px;font-size:12px}.projection-scene .mark-ingredients{gap:2px}.recipe-plus{margin-top:-11px;font-size:13px}}
.stage.mingling-scene{min-height:400px;background:#0b0e0d;box-shadow:inset 0 0 0 1px #e5e6dc12}
.stage.mingling-scene::after{display:none}
.mingling-board{width:min(960px,100%);padding:18px 14px;text-align:center}
.mingling-key{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 17px;color:#e6e8dd;font-size:11px;font-weight:700;letter-spacing:.13em}
.mingling-key span{color:#dfbd78;font-size:15px}
.assignment-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:stretch}
.assignment-card{--house-accent:#77c9d0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 9px;border:1px solid #ffffff20;border-top:3px solid var(--house-accent);border-radius:9px;background:linear-gradient(180deg,#19221f,#111614);box-shadow:0 8px 20px #0004}
.assignment-card[data-house="stag"]{--house-accent:#d6bb73}
.assignment-card[data-house="owl"]{--house-accent:#a9a1d2}
.assignment-card[data-house="serpent"]{--house-accent:#83b98f}
.assignment-card.assignment-you{background:linear-gradient(180deg,#24342b,#141b17);border-color:#ddbc7a7a;border-top-color:#ddbc7a;box-shadow:0 0 0 1px #ddbc7a24,0 8px 20px #0005}
.assignment-person{display:flex;min-height:98px;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px}
.assignment-face{display:block;width:66px;height:66px;border-radius:50%;background-image:var(--photo);background-size:cover;background-position:center 28%;box-shadow:0 0 0 2px #f1e8d258}
.assignment-name{display:flex;align-items:center;gap:6px;color:#f2eee3;font:600 15px/1.15 'DM Sans',sans-serif}
.assignment-name small{padding:2px 5px;border-radius:999px;background:#ddbc7a;color:#1a211c;font-size:8px;letter-spacing:.08em}
.assignment-house,.assignment-ingredient{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px}
.assignment-house{padding-bottom:8px;border-bottom:1px solid #ffffff1b}
.assignment-house-symbol{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--house-accent),transparent 42%);border-radius:50%;background:color-mix(in srgb,var(--house-accent),transparent 89%);font:20px/1 'Apple Color Emoji','Segoe UI Emoji',sans-serif}
.assignment-house>span:last-child,.assignment-ingredient>span{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:2px}
.assignment-house small,.assignment-ingredient small{color:#aab3aa;font-size:8px;font-weight:700;letter-spacing:.13em}
.assignment-house strong,.assignment-ingredient strong{color:#f0e8d5;font-size:11px;line-height:1.15;letter-spacing:.03em}
.assignment-house strong{color:var(--house-accent)}
.assignment-ingredient img{display:block;width:42px;height:42px;flex:none;object-fit:contain;filter:drop-shadow(0 3px 5px #0008)}
@media(max-width:800px){.assignment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.assignment-card:last-child:nth-child(3n + 2){grid-column:2}}
@media(max-width:650px){.stage.mingling-scene{min-height:680px}.mingling-board{padding:15px 8px}.mingling-key{gap:6px;margin-bottom:13px;font-size:8px;letter-spacing:.08em}.mingling-key span{font-size:12px}.assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.assignment-card{gap:7px;padding:9px 7px}.assignment-card:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 4px);justify-self:center}.assignment-person{min-height:89px;gap:6px}.assignment-face{width:60px;height:60px}.assignment-name{font-size:13px}.assignment-house,.assignment-ingredient{min-height:40px;gap:6px}.assignment-house{padding-bottom:6px}.assignment-house-symbol{width:29px;height:29px;font-size:17px}.assignment-house strong,.assignment-ingredient strong{font-size:10px}.assignment-ingredient img{width:36px;height:36px}}
.rescue-scene .bar-picture{height:132px;object-fit:contain;border:0;border-radius:0;filter:drop-shadow(0 9px 10px #0007)}
.outcome-map.simple-outcome-map{padding:76px 19px 16px}
.simple-outcome-map .outcome-branch{position:relative;min-height:250px;padding:78px 20px 22px;overflow:visible}
.outcome-peeker{position:absolute;z-index:2;top:-82px;left:50%;display:block;width:154px;height:122px;transform:translateX(-50%);object-fit:contain;pointer-events:none;filter:drop-shadow(0 7px 7px #0006)}
.simple-outcome-map .outcome-kicker,.simple-outcome-map .outcome-results{position:relative;z-index:1}
@media(max-width:650px){.rescue-scene .bar-picture{height:92px}.stage.outcome-scene{min-height:610px}.outcome-map.simple-outcome-map{gap:108px;padding:76px 8px 8px}.simple-outcome-map .outcome-branch{min-height:190px;justify-content:flex-start;padding:55px 17px 18px}.outcome-peeker{top:-78px;width:142px;height:116px}}
.escalation-step{min-height:315px;gap:5px}
.escalation-step strong{font-size:58px;line-height:.9;letter-spacing:-.04em}
.escalation-copy{min-height:0;font-size:10px}
.victim-icons{display:grid;justify-content:center;align-content:center;gap:1px;margin:1px 0 3px}
.victim-icons[data-count="1"]{grid-template-columns:1fr}
.victim-icons[data-count="4"]{grid-template-columns:repeat(2,40px)}
.victim-icons[data-count="20"]{grid-template-columns:repeat(4,27px)}
.victim-icons img{display:block;object-fit:contain;justify-self:center;align-self:center}
.victim-icons[data-count="1"] img{width:78px;height:72px}
.victim-icons[data-count="4"] img{width:40px;height:38px}
.victim-icons[data-count="20"] img{width:27px;height:26px}
.attack-causes{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:100%}
.attack-causes span{padding:4px 6px;border:1px solid currentColor;border-radius:3px;font-size:9px;font-weight:700;line-height:1.2;letter-spacing:.04em;white-space:nowrap}
.cause-poison{color:#b6d78b;background:#627c301b}
.cause-stabbing{color:#f2a098;background:#9b41331c}
.cause-curse{color:#c9acef;background:#68468d24}
@media(max-width:650px){.escalation-step{min-height:270px;padding:8px 3px;gap:4px}.escalation-step strong{font-size:45px}.escalation-copy{font-size:8px}.victim-icons[data-count="4"]{grid-template-columns:repeat(2,29px)}.victim-icons[data-count="20"]{grid-template-columns:repeat(4,19px)}.victim-icons[data-count="1"] img{width:54px;height:49px}.victim-icons[data-count="4"] img{width:29px;height:28px}.victim-icons[data-count="20"] img{width:19px;height:19px}.attack-causes{gap:2px}.attack-causes span{padding:3px 3px;font-size:7px;letter-spacing:0}}
.clue-demo-kicker{color:#ef4550;font:700 11px/1.3 'DM Sans',sans-serif;letter-spacing:.17em}
.clue-examples{width:min(100%,760px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:7px auto 0}
.clue-example{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:15px 10px;border-right:1px solid #ffffff22;text-align:center}
.clue-example:last-child{border-right:0}
.clue-demo-icon{height:72px;display:grid;place-items:center;font:58px/1 'Apple Color Emoji','Segoe UI Emoji',sans-serif}
.gender-demo{color:#f4f4f4;font:500 69px/.9 'DM Sans',sans-serif}
.outfit-demo{width:56px;height:56px;margin:8px;border:2px solid #eee;border-radius:50%;background:#79543d;box-shadow:0 0 0 6px #79543d30}
.clue-demo-type{color:#aeb2b4;font:700 10px/1.2 'DM Sans',sans-serif;letter-spacing:.16em}
.clue-example strong{color:#fff;font:600 19px/1.2 'DM Sans',sans-serif;letter-spacing:.07em}
@media(max-width:650px){.clue-demo-kicker{font-size:9px;letter-spacing:.12em}.clue-examples{margin-top:3px}.clue-example{min-height:165px;padding:9px 4px;gap:7px}.clue-demo-icon{height:58px;font-size:45px}.gender-demo{font-size:52px}.outfit-demo{width:44px;height:44px;margin:7px}.clue-demo-type{font-size:8px;letter-spacing:.07em}.clue-example strong{font-size:14px;letter-spacing:.04em}}
.vote-flow{width:min(840px,94%);display:grid;grid-template-columns:1fr 28px 1fr 28px 1.35fr;align-items:center;gap:12px}
.vote-step{display:flex;min-width:0;min-height:190px;flex-direction:column;align-items:center;justify-content:center;gap:15px;text-align:center}
.vote-art{display:block;width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 8px 12px #0005)}
.vote-step strong{max-width:230px;color:#f0e8d5;font-size:14px;line-height:1.4;letter-spacing:.09em}
.vote-step small{max-width:260px;color:#c7d4c9;font-size:13px;line-height:1.5}
.vote-arrow{color:#cfb87f;font-size:26px;text-align:center}
@media(max-width:650px){.vote-flow{width:min(430px,94%);grid-template-columns:1fr;justify-items:center;gap:4px}.vote-step{min-height:0;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}.vote-art{width:72px;height:72px;flex:none}.vote-step strong{font-size:12px}.vote-arrow{font-size:0;line-height:1}.vote-arrow::after{content:'↓';font-size:17px}}

/* Edge navigation replaces the floating control bar. */
.page{padding-bottom:20px}
.masthead{justify-content:flex-end}
.slide-nav{position:fixed;inset:0;z-index:15;pointer-events:none}
.slide-arrow{position:absolute;top:53%;display:grid;place-items:center;width:clamp(44px,5vw,68px);height:clamp(100px,18vh,180px);padding:0;border:0;color:#f2dfb7;background:transparent;opacity:.48;transform:translateY(-50%);pointer-events:auto;transition:opacity .2s ease,background .2s ease}
.slide-arrow span{font:300 47px/1 'Cormorant Garamond',Georgia,serif;transform:translateY(-2px)}
.slide-arrow-prev{left:0;border-radius:0 18px 18px 0;background:linear-gradient(90deg,#e2bf7612,transparent)}
.slide-arrow-next{right:0;border-radius:18px 0 0 18px;background:linear-gradient(270deg,#e2bf7612,transparent)}
.scene-first .slide-arrow-next{opacity:1;color:#fff1c9;background:linear-gradient(270deg,#e2bf7666,transparent);filter:drop-shadow(0 0 10px #e2bf7699)}
.slide-arrow:hover,.slide-arrow:focus-visible{opacity:1;background-color:#e2bf7618}
.slide-arrow:disabled{opacity:.18;cursor:default}
@media(max-width:650px){
  html{height:100%;overflow:hidden;overscroll-behavior:none}
  body{position:fixed;top:0;left:0;width:100%;height:100dvh;overflow:hidden;overscroll-behavior:none}
  .page{height:100%;min-height:0;overflow:hidden;padding:10px 10px max(10px,env(safe-area-inset-bottom))}
  .masthead{flex:none;min-height:36px}
  .presentation{flex:1;min-height:0;justify-content:flex-start;padding:8px 0 0}
  .chapter{flex:none;font-size:8px}
  h1{flex:none;max-width:94%;margin:5px 0 12px;font-size:clamp(27px,7.8vw,37px);line-height:1.02}
  .stage-frame{flex:1;min-height:0;width:100%;padding:4px}
  .stage,.stage.rescue-scene,.stage.outcome-scene,.stage.public-projector-scene,.stage.escalation-projector{height:100%;min-height:0}
  .stage>*{animation:none}
  .slide-arrow{top:55%;width:38px;height:112px;opacity:.6}
  .slide-arrow span{font-size:39px}
}
@media(max-width:650px) and (max-height:700px){
  .rescue-flow{padding:7px 8px}
  .flow-main{gap:3px}
  .flow-label{margin-bottom:3px;font-size:8px}
  .guest-ingredient{padding:3px 1px}
  .guest-silhouette{width:38px;height:41px}
  .ingredient-picture{width:32px;height:32px}
  .guest-number,.ingredient-name{font-size:6px}
  .flow-arrow{font-size:15px}
  .rescue-scene .bar-picture{height:64px}
  .bar-caption{margin-top:1px;font-size:8px}
  .cocktail-glass{height:32px;font-size:28px}
  .outcome-map.simple-outcome-map{gap:70px;padding:50px 7px 6px}
  .simple-outcome-map .outcome-branch{min-height:145px;padding:35px 12px 10px}
  .outcome-peeker{top:-58px;width:110px;height:90px}
  .outcome-results{margin-top:7px}
  .outcome-result{gap:3px;padding:3px 4px}
  .outcome-result strong{font-size:11px}
  .outcome-result small{margin-top:-2px;font-size:9px}
  .result-icon{height:24px;font-size:22px}
  .clue-icon,.soul-icon{width:24px;font-size:17px}
}
@media(max-width:650px){
  .finale-map .outcome-count{margin-top:8px}
  .finale-map .outcome-count strong{font-size:45px}
  .finale-prize{margin-top:9px;padding:7px 0}
  .finale-prize>span{font-size:20px}
  .finale-prize b{font-size:11px}
  .finale-copy{margin-top:7px;font-size:11px}
}

/* Short, direction-aware scene feedback. Scale stays on the scene itself; motion runs on opacity/transform only. */
.stage>*{transform:scale(var(--visual-scale,1));animation:arrive 200ms var(--ease) both}
@keyframes arrive{from{opacity:0;transform:translateX(var(--scene-offset,12px)) scale(var(--visual-scale,1))}to{opacity:1;transform:translateX(0) scale(var(--visual-scale,1))}}
.slide-arrow{transition:opacity 200ms var(--ease),background-color 200ms var(--ease),transform 110ms var(--ease)}
.slide-arrow:active{transform:translateY(-50%) scale(.97);transition-duration:90ms}
.nav-button:active:not(:disabled){transform:scale(.98);transition-duration:90ms}
@media(max-width:650px){.stage>*{animation-duration:180ms}}
@media(prefers-reduced-motion:reduce){.stage>*{animation:none!important;transform:scale(var(--visual-scale,1))}.slide-arrow,.nav-button{transition:none!important}}
