/* One-screen casino entrance, followed by a focused game view. */
body[data-view="lobby"]{overflow:hidden}
body[data-view="lobby"] #floor,body[data-view="lobby"] #welcome,body[data-view="lobby"] footer{display:none}
.intro,.evidence-promo,.hero-foot>span{display:none}
body:not([data-view="lobby"]) .hero{display:none}
body:not([data-view="welcome"]) #welcome,body[data-view="welcome"] #floor,body[data-view="welcome"] footer{display:none}
.nav{height:72px}.hero{height:calc(100svh - 72px);min-height:0;isolation:isolate;transform-origin:72% 46%;transition:transform 1.25s cubic-bezier(.3,.01,.18,1),filter 1.25s}
.hero-copy{padding-top:clamp(30px,8vh,95px);width:43%}.hero h1{font-size:clamp(46px,6.3vw,88px)}.hero-copy>p{font-size:16px;max-width:390px}.hero-meta{font-size:10px}
.casino-scene{left:44%;height:100%;top:0;bottom:0;overflow:visible}.scene-footer{bottom:8px}.scene-footer button{display:none}.scene-footer small{font-size:10px}.hero-foot{bottom:14px;left:24px;right:auto;z-index:8}.hero-foot button{font-size:11px;background:#08151288}
#entryVeil{position:fixed;inset:0;background:#0a1514;opacity:0;pointer-events:none;z-index:90;transition:opacity .65s}
#jackpotBanner{position:fixed;left:70%;top:35%;transform:translate(-50%,-50%) scale(.9);z-index:40;text-align:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .4s;color:#fff0c6;text-shadow:0 0 28px #ffcb5e,0 4px 25px #000}
#jackpotBanner b{font:700 clamp(60px,8vw,120px) Georgia;display:block;letter-spacing:.08em}#jackpotBanner span{font-size:11px;letter-spacing:.25em;background:#17201be8;padding:10px 18px;border:1px solid #e6bf7888;border-radius:30px;white-space:nowrap}
#cancelEntry{display:none;position:fixed;right:22px;bottom:20px;z-index:100;background:#0b1716e8}
.entry-running #cancelEntry{display:block}.entry-running .hero-copy,.entry-running .hero-foot{opacity:.2;pointer-events:none;transition:opacity .35s}.entry-running #dragLever::after{opacity:0}.entry-running .nav{pointer-events:none}
.entry-jackpot #jackpotBanner{opacity:1;transform:translate(-50%,-50%) scale(1)}
.entry-zoom .hero{transform:scale(3.5);filter:brightness(1.4)}.entry-zoom #jackpotBanner{opacity:0}.entry-fade #entryVeil{opacity:1}
#welcome{min-height:calc(100svh - 72px);display:grid;place-items:center;padding:30px 24px;background:radial-gradient(ellipse at 50% 10%,#54422344,transparent 65%),#0a1514}
.welcome-card{max-width:840px;text-align:center}.welcome-suit{font-size:42px;color:var(--gold);line-height:1;margin-bottom:16px}.welcome-card .eyebrow{margin-bottom:14px}.welcome-card h1{font-size:clamp(40px,5vw,65px)}.welcome-lead{margin:20px 0;font-size:17px}.welcome-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.welcome-steps>div{padding:20px;border:1px solid #e6bf7830;background:#142723;border-radius:12px}.welcome-steps b{display:block;color:var(--gold);font:italic 26px Georgia}.welcome-steps strong{display:block;font-size:16px;margin:8px 0}.welcome-steps span{font-size:12px;color:var(--muted)}.welcome-reassurance{font-size:13px;margin-bottom:22px}.welcome-card>.quiet{display:block;margin:16px auto 0;border:0;color:var(--muted)}
body[data-view="game"]{background:radial-gradient(ellipse at 50% 0%,#25463c66,transparent 60%),#0a1514}.game-floor{max-width:1060px;padding-top:30px}.game-directions{font-size:15px;margin-top:12px}.section-top{margin-bottom:22px}.section-top .eyebrow{margin-bottom:10px}.section-top h2{font-size:38px}.case-layout{display:block}.case-sidebar{display:none}.clue-guide{display:flex;gap:22px;font-size:13px;margin:0 0 15px;color:var(--gold)}.clue-guide span{color:var(--muted)}.case-title h3{font-size:30px}.case-title p{font-size:16px;line-height:1.6;max-width:750px}.case-title{margin-bottom:24px}.evidence-card{min-height:155px}.evidence-card b{font-size:27px}.choices{gap:10px}.choice{padding:16px}.choice span{font-size:15px}.hud{margin-bottom:22px}.best{font-size:9px}body[data-view="game"] footer{max-width:1060px;margin-top:35px;padding-top:24px}
@media(max-height:740px) and (min-width:601px){.hero-copy{padding-top:30px}.hero h1{font-size:clamp(44px,5.5vw,70px)}.hero-copy>p{margin:20px 0}.welcome-suit{display:none}.welcome-steps{margin:20px 0}.welcome-card h1{font-size:46px}}
@media(max-width:600px){.nav{height:64px}.hero{height:calc(100svh - 64px)}.hero-copy{width:94%;padding-top:18px;margin-left:18px;pointer-events:none}.hero-copy h1{font-size:37px;line-height:1}.hero-copy h1 br:first-child{display:none}.hero-copy h1 em br{display:none}.hero-copy>p{font-size:12px;margin:10px 0}.hero-copy .eyebrow{margin-bottom:10px}.hero-actions,.hero-meta{display:none}.casino-scene{top:170px;left:0;right:0;height:calc(100% - 195px)}.scene-footer{bottom:-8px}.hero-foot{bottom:7px;left:10px}.hero-foot .quiet{padding:6px 10px;font-size:9px}.hero{transform-origin:50% 65%}#jackpotBanner{left:50%;top:55%}#welcome{min-height:calc(100svh - 64px);padding:22px 18px}.welcome-card h1{font-size:40px}.welcome-lead{font-size:14px}.welcome-steps{gap:8px}.welcome-steps>div{padding:14px 8px}.welcome-steps strong{font-size:12px}.welcome-steps span{font-size:11px}.welcome-suit{font-size:32px}.game-floor{padding-top:24px}.game-directions{font-size:12px}.section-top h2{font-size:30px}.clue-guide{font-size:11px;gap:12px}.case-title h3{font-size:25px}.case-title p{font-size:14px}.evidence-card b{font-size:20px}.choice span{font-size:14px}}
@media(prefers-reduced-motion:reduce){.entry-zoom .hero{transform:none;filter:none}}

#jackpotBanner{visibility:hidden}.entry-jackpot #jackpotBanner{visibility:visible}#welcome:focus,#stage:focus{outline:none}.plan-grid{grid-template-columns:1fr}.extra-actions{margin:18px 0;border-top:1px solid var(--line);padding-top:18px}.extra-actions summary,.lab summary{cursor:pointer;color:var(--gold);font-weight:700}.lab[open] summary{margin-bottom:24px}

@media(max-width:600px){.hero-copy h1{font-size:34px}.hero-copy h1 em{display:block}}

/* True Three.js camera flight; the layout opens up around the scene. */
.casino-scene{transition:left .9s cubic-bezier(.25,.1,.25,1),top .9s,height .9s}
.entry-zoom .hero{transform:none;filter:none}.entry-zoom .casino-scene{left:0;top:0;height:100%;width:100%}.entry-zoom .hero-copy,.entry-zoom .hero-foot,.entry-zoom .scene-footer{opacity:0;visibility:hidden}.entry-zoom .hero-shade{backdrop-filter:blur(3px);transition:backdrop-filter 1.4s}.entry-zoom .nav{opacity:.2;transition:opacity 1s}
@media(prefers-reduced-motion:reduce){.casino-scene{transition:none}.entry-zoom .hero-shade{backdrop-filter:none}}
