
:root{--gold:#eac276;--paper:#e8e0d0;--ink:#080a11;--line:#41434c}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#07080e;color:var(--paper);margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
button,a{touch-action:manipulation}
.site-header{height:75px;display:flex;justify-content:space-between;align-items:center;max-width:1740px;padding:0 clamp(16px,4vw,54px);margin:auto;border-bottom:1px solid #ffffff1b}
.brand img{width:146px;height:62px;object-fit:contain}
.site-header .right{display:flex;align-items:center;gap:21px}
.top-link{color:#d0b787;text-decoration:none;letter-spacing:.14em;font-size:11px;font-weight:800}
.top-link.primary{background:#c8a15a;color:#100e0c;padding:11px 16px;border-radius:3px}
.masthead{max-width:1540px;margin:28px auto 20px;padding:0 20px;display:flex;align-items:end;justify-content:space-between;gap:15px}
.kicker{font-size:10px;letter-spacing:.26em;color:var(--gold);font-weight:900;margin:0 0 9px}
.masthead h1{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(40px,6vw,80px);line-height:.9;letter-spacing:.025em;margin:0;color:#f6e7b9}
.masthead p{font-size:13px;color:#a8a6ae;margin:12px 0 0}
.stamp{font:800 10px monospace;letter-spacing:.18em;color:#9d9ca4;white-space:nowrap;text-align:right}
.experience{max-width:1540px;margin:auto;padding:0 14px 22px}
.scene-viewport{position:relative;width:100%;aspect-ratio:2048/1143;isolation:isolate;background:#17161b;overflow:hidden;box-shadow:0 25px 90px #000b}
.scene-room,.scene-foreground{position:absolute;inset:0;display:block;width:100%;height:100%}
.scene-room{z-index:1}
.scene-room img,.scene-foreground img{display:block;width:100%;height:100%;object-fit:fill;user-select:none}
.scene-foreground{z-index:4;pointer-events:none}
.tv-game{position:absolute;z-index:2;left:31.15234%;top:22.57218%;width:37.64648%;height:40.76990%;background:#252531;border:0;border-radius:0;transform:none;box-shadow:none;overflow:hidden}
.tv-game::after{content:'';position:absolute;inset:0;z-index:9;pointer-events:none;background:repeating-linear-gradient(0deg,#08061012 0 1px,transparent 1px 4px);mix-blend-mode:multiply}
.tv-game .tv-game-noise{display:none}
.tv-game .game-panel{width:100%;height:100%;border:0;background:#0b1021;box-shadow:none;border-radius:0;display:block}
.tv-game .stage{width:100%;height:100%;min-height:0!important;aspect-ratio:auto;margin:0;border:0;overflow:hidden}
.tv-game .arcade-top,.tv-game .hud,.tv-game .mobile-controls,.tv-game .arcade-footer{display:none}
.tv-game .screen{overflow:hidden;padding:6px!important;background:#090d1de9}
.tv-game .menu-content{max-height:100%;max-width:97%;overflow:hidden}
.tv-game .big-seven{font-size:clamp(38px,5.0vw,77px);margin:1px 0;line-height:.9}
.tv-game .menu-kicker{font-size:clamp(7px,.68vw,10px);letter-spacing:1.5px}
.tv-game .screen .menu-content h2{font-size:clamp(17px,2vw,30px);margin:3px 0}
.tv-game .screen .menu-content p{font-size:clamp(7px,.69vw,10px);line-height:1.25;margin:5px auto;max-width:340px}
.tv-game .menu-actions{gap:6px}
.tv-game .menu-actions .btn-gold{min-height:31px;padding:7px 14px;font-size:11px}
.tv-game .menu-actions #dailyBtn,.tv-game .menu-hint{display:none}
.controls-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#10121a;border:1px solid #2d303a;padding:14px clamp(12px,2vw,26px);min-height:80px}
.controls-bar .legend{font:800 12px monospace;color:#aba8b4;letter-spacing:.05em}
.controls-bar .legend b{color:#e4c18b}
.controls-bar .actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.action-btn{font-weight:900;font-size:11px;letter-spacing:.11em;background:#252633;border:1px solid #5a5861;color:#f3e9d8;padding:13px 17px;min-height:44px;text-decoration:none;cursor:pointer;white-space:nowrap}
.action-btn.gold{background:#cba563;color:#17110c;border-color:#efd29c}
.action-btn:hover{filter:brightness(1.15)}
.touch-deck{display:none}
.content-grid{max-width:1540px;margin:40px auto 70px;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.content-card{background:#11131d;border:1px solid #33313d;padding:35px;min-height:245px}
.content-card .number{color:#c7a36f;letter-spacing:.25em;font-size:10px;font-weight:bold}
.content-card h2{font-family:Impact,'Arial Black',sans-serif;font-weight:800;font-size:clamp(27px,3vw,43px);margin:13px 0 9px}
.content-card p{color:#b4b1b8;font-size:13px;line-height:1.6;max-width:540px}
.content-card .action-btn{display:inline-block;margin-top:14px}
.site-footer{border-top:1px solid #252632;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1540px;margin:auto;font-size:10px;color:#92919d;letter-spacing:.1em}
.site-footer a{color:#beb8ad}
.back-to-room{display:none}
/* Expanded game is an intentional opt-in. Room cutout remains pixel perfect outside this mode. */
html.theater-open{overflow:hidden}
html.theater-open .tv-game{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;z-index:1001!important;overflow:auto;display:flex;justify-content:center;align-items:center;padding:50px 16px 25px;background:radial-gradient(ellipse at center,#2c3b53,#080b13)}
html.theater-open .tv-game::after{display:none}
html.theater-open .tv-game .game-panel{width:min(100%,1130px);height:auto;border:3px solid #656376;box-shadow:0 20px 75px #000b}
html.theater-open .tv-game .arcade-top,html.theater-open .tv-game .hud,html.theater-open .tv-game .arcade-footer{display:flex}
html.theater-open .tv-game .stage{height:min(65dvh,520px);min-height:210px!important}
html.theater-open .tv-game .screen{padding:18px!important;overflow:auto}
html.theater-open .tv-game .menu-content{max-height:none;overflow:visible}
html.theater-open .tv-game .big-seven{font-size:clamp(77px,11vw,155px)}
html.theater-open .tv-game .screen .menu-content h2{font-size:clamp(35px,4vw,52px)}
html.theater-open .tv-game .screen .menu-content p{font-size:13px;line-height:1.6;max-width:540px}
html.theater-open .tv-game .menu-actions #dailyBtn{display:inline-flex}
html.theater-open .tv-game .menu-actions .btn-gold{min-height:43px;padding:12px 22px;font-size:12px}
html.theater-open .back-to-room{display:block;position:fixed;top:8px;right:12px;z-index:1100;color:white;border:1px solid #8c8a90;background:#12131d;padding:11px 13px;cursor:pointer;font-weight:900;letter-spacing:.1em}
@media(max-width:700px){
 .site-header{height:62px;padding:0 12px}
 .brand img{width:109px;height:51px}
 .site-header .right{gap:9px}
 .top-link{font-size:9px;letter-spacing:.08em}
 .top-link.primary{padding:10px 9px}
 .masthead{margin:19px auto 17px;padding:0 16px}
 .masthead h1{font-size:49px}
 .masthead p{font-size:11px;max-width:235px}
 .masthead .stamp{display:none}
 .experience{padding:0 6px 15px}
 .scene-viewport{aspect-ratio:1143/2048}
 .tv-game{left:17.93526%;top:37.15820%;width:64.30446%;height:23.58398%}
 .tv-game .big-seven{font-size:clamp(30px,8vw,48px);letter-spacing:-2px}
 .tv-game .menu-kicker{font-size:5px;letter-spacing:.7px}
 .tv-game .screen .menu-content h2{font-size:clamp(12px,3.6vw,22px);margin:1px 0}
 .tv-game .screen .menu-content p{font-size:6px;line-height:1.17;margin:1px auto 4px}
 .tv-game .menu-actions .btn-gold{min-height:24px;padding:4px 8px;font-size:8px}
 .tv-game .menu-actions #dailyBtn{display:none}
 .controls-bar{padding:10px;display:block}
 .controls-bar .legend{font-size:10px;margin-bottom:10px;text-align:center}
 .controls-bar .actions{justify-content:center}
 .action-btn{padding:10px 13px;font-size:10px;min-height:40px}
 .touch-deck{display:block;background:#0d111c;border:1px solid #515264;padding:12px 12px 15px;touch-action:none}
 .touch-deck .pad-header{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em;color:#bdbaaf;font-weight:800;margin:0 2px 13px}
 .touch-deck .pad-header strong{color:#e0bd78}
 .touch-deck .pad-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
 .touch-deck .pad-pair{display:flex;gap:8px;width:46%;justify-content:space-between}
 .touch-deck .pad-pair button{touch-action:none;user-select:none;-webkit-user-select:none;height:64px;width:50%;font-weight:900;font-size:16px;border:2px solid #8a8d98;border-bottom:5px solid #383b4b;background:linear-gradient(#475062,#252b3a);color:#f6eecf;border-radius:9px;box-shadow:0 5px 10px #0006}
 .touch-deck .pad-pair button.jump{background:linear-gradient(#b4935b,#74512e);border-color:#e2c18b;color:#0a0d11;font-size:12px}
 .touch-deck .pad-pair button.dash{background:linear-gradient(#6c587a,#42304a);border-color:#b9a3ce;font-size:11px}
 .touch-deck .pad-pair button.pressed{transform:translateY(3px);border-bottom-width:2px;filter:brightness(1.2)}
 .content-grid{grid-template-columns:1fr;padding:0 9px;margin:12px auto 45px;gap:10px}
 .content-card{min-height:0;padding:25px}
 .site-footer{padding:24px 12px;flex-wrap:wrap}
 html.theater-open .tv-game{padding:46px 5px 4px;align-items:flex-start}
 html.theater-open .tv-game .game-panel{width:100%;max-width:100%;border-width:1px;height:auto}
 html.theater-open .tv-game .arcade-top,html.theater-open .tv-game .hud{display:flex;overflow:hidden;gap:5px;padding:7px 5px;flex-wrap:nowrap}
 html.theater-open .tv-game .hud .mini-hud,html.theater-open .tv-game .hud .hud-distance{display:none}
 html.theater-open .tv-game .hud-stat{min-width:0;flex:1}
 html.theater-open .tv-game .hud-stat strong{font-size:14px}
 html.theater-open .tv-game .hud-stat span{font-size:8px}
 html.theater-open .tv-game .stage{height:clamp(240px,52dvh,445px);min-height:0!important}
 html.theater-open .tv-game .mobile-controls{display:flex!important;justify-content:space-between;padding:8px 5px;min-height:80px;gap:6px}
 html.theater-open .tv-game .control-group{display:flex;gap:5px}
 html.theater-open .tv-game .control-group button{min-width:55px;height:59px;touch-action:none}
 html.theater-open .tv-game .control-group.right button{min-width:70px}
 html.theater-open .tv-game .control-tip{display:none}
 html.theater-open .tv-game .big-seven{font-size:clamp(62px,18vw,110px)}
 html.theater-open .tv-game .screen .menu-content h2{font-size:30px}
 html.theater-open .tv-game .screen .menu-content p{font-size:11px}
}
@media(max-width:365px){
 .tv-game .screen .menu-content p{display:none}
 .touch-deck .pad-pair button{height:56px}
}
