@font-face{font-family:Caduma;src:url('assets/display-regular.woff2') format('woff2');font-weight:100 500;font-display:swap}
@font-face{font-family:Caduma;src:url('assets/display-bold.woff2') format('woff2');font-weight:600 900;font-display:swap}
:root{--bg:#f1eadc;--ink:#11191c;--muted:#66675f;--red:#ed3f20;--lime:#ed3f20;--line:#3b45352b;--font:Arial,Helvetica,sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;color:var(--ink);background:#f0e8da url('assets/collection-room-v1.webp') center top/100% auto no-repeat;position:relative;isolation:isolate;min-height:100svh;font:16px/1.5 var(--font)}
body:before{content:'';position:absolute;inset:0;background:#fff9ea30;pointer-events:none;z-index:-1}
a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #cf361b;outline-offset:5px}img{display:block;max-width:100%}.wrap{width:min(1328px,calc(100% - 12%));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:fixed;top:-90px;left:12px;background:var(--red);color:white;padding:12px;z-index:20}.skip:focus{top:12px}
.header{height:69px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:Caduma,Arial,sans-serif;font-weight:800;font-size:29px;letter-spacing:4px;color:#263e34;display:inline-flex;align-items:start;line-height:1}.brand sup{font:8px Arial;letter-spacing:0;margin:0 0 0 3px}nav{display:flex;gap:59px;font-size:16px}nav a{position:relative;padding:10px 0}nav .current:after{content:'';position:absolute;bottom:6px;height:2px;background:var(--red);left:0;right:0}nav a:hover{color:var(--red)}
.collection{display:grid;grid-template-columns:minmax(0,1.92fr) minmax(0,1fr);gap:46px;align-items:start;padding-top:39px}.collection-library{min-width:0}.eyebrow{font-size:11px;letter-spacing:3.5px;font-weight:700;margin:0 0 16px}.collection-heading h1{font-size:clamp(34px,4.55vw,69px);line-height:1.06;letter-spacing:-3.7px;font-weight:900;margin:0 -24px 8px 0;white-space:nowrap}.collection-heading h1 span{color:var(--red)}.hero-description{font-size:clamp(17px,1.8vw,27px);color:#686a63;margin:0 0 14px;letter-spacing:-.4px;line-height:1.3}.catalog-toolbar{display:flex;align-items:center;gap:19px;margin-bottom:20px}.filters{display:flex;gap:10px;flex-shrink:0}.filter{color:var(--ink);border:1px solid #a9a69540;border-radius:15px;padding:10px 19px;background:#e5decd4a;font-size:13px;min-width:76px;transition:background .2s}.filter.active{background:var(--red);color:white;border-color:var(--red);box-shadow:inset 0 1px 1px #ffffff33}.filter:hover{border-color:#8b927a}.search{min-width:0;flex:1;display:flex;align-items:center;gap:13px;border:1px solid #a9a69540;border-radius:13px;padding:10px 14px;position:relative;background:#f7f0e33b}.search:before{content:'';position:absolute;height:26px;width:1px;background:#bfb8a3;left:-11px}.search svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}.search input{width:100%;min-width:0;outline-offset:1px;padding:0;color:var(--ink);background:transparent;border:0;font-size:13px}.search input::placeholder{color:#777970}
.collection-tray{position:relative;isolation:isolate;border-radius:40px 40px 25px 25px;padding:12px 25px 48px;background-image:url('assets/plastic-grain.svg'),linear-gradient(115deg,#b7baa7 0%,#8f9985 15%,#8e9985 62%,#aab29c 90%,#ccd0b9);border:1px solid #7b876f;box-shadow:inset 3px 4px 2px #eef0d8aa,inset -5px -5px 3px #4e604955,0 3px 0 #5b6a52,0 8px 3px #d7d0b9,0 22px 30px -15px #3b3b28a0;transform:perspective(1800px) rotateX(3deg);transform-origin:50% 100%}.collection-tray:before{content:'';position:absolute;z-index:-1;inset:12px 14px 37px;border-radius:29px 29px 12px 12px;background:linear-gradient(100deg,#65715d,#818c74 35%,#65735d);box-shadow:inset 0 5px 8px #26392488,inset 3px 0 4px #31462b77,0 2px 0 #e2e3c355}.games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px;position:relative;min-height:480px}.games-grid:empty{display:none}.game{position:relative;min-width:0;aspect-ratio:1/1.02;--pull-yaw:-5;--pull-roll:-2;isolation:isolate}.game:nth-child(3n+2){--pull-yaw:0;--pull-roll:0}.game:nth-child(3n){--pull-yaw:5;--pull-roll:2}.game:after{content:"";position:absolute;z-index:-1;bottom:-9px;left:-8px;right:-8px;height:24px;border-radius:4px;background-image:url("assets/plastic-grain.svg"),linear-gradient(#aeb69d,#c6cbb3 4px,#88967d 6px,#9eaa90 18px,#66775b);box-shadow:0 6px 8px #34442c55,inset 0 1px 1px #dce4c4}.game:before{content:'';position:absolute;inset:10px 0 14px;border-radius:26px 26px 8px 8px;background:linear-gradient(90deg,#52634d,#9da58b 10%,#6b7962 95%,#4b5b43);box-shadow:inset 0 4px 12px #263a23aa,0 1px 1px #dfe4c577}.game-cover{display:block;position:absolute;inset:0;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;user-select:none}.shelf-cartridge{position:absolute;left:0;right:0;bottom:29px;--shell-height:220px;height:auto;aspect-ratio:1.06;display:block;pointer-events:none;filter:drop-shadow(3px 8px 4px #1c291c88)}.cartridge-canvas{display:block;position:absolute;width:140%;height:175%;left:-20%;top:-50%;max-width:none;pointer-events:none}.game-label{position:absolute;left:4%;right:4%;bottom:-2px;text-align:center;font-size:12px;padding:6px 3px 7px;color:#172019;background:linear-gradient(100deg,#b9bba4,#d0cfb7 40%,#c2c5ad 85%,#a6b196);border:1px solid #8d9981;border-radius:3px 3px 11px 11px;box-shadow:inset 0 2px 2px #f2f0d766,0 3px 3px #34472e66;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game.is-selected .game-label:before{content:'';display:inline-block;width:10px;height:10px;vertical-align:-1px;margin-right:9px;background:var(--red);border-radius:50%;box-shadow:0 0 0 1px #b83a1e30}.game-cover:is(:hover,:focus-visible) .game-label{background:#e4dec0}.game:is(:hover,:focus-within){z-index:4}.game-cover:focus-visible{border-radius:20px}.tray-brand{position:absolute;bottom:9px;left:0;right:0;text-align:center;font-family:Caduma,Arial,sans-serif;font-size:17px;letter-spacing:3px;font-weight:800;color:#42533c;text-shadow:0 1px 0 #e4e6c988}.cartridge-fallback{background:linear-gradient(120deg,#bbc0af,#85927e);border:12px solid #9ba58f;border-radius:30px 30px 8px 8px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 2px #22371f}.cartridge-fallback img{height:100%;width:68%;object-fit:cover}.cartridge-fallback>span{display:none}.empty-state{height:455px;display:grid;align-content:center;text-align:center;color:#f8f2db}.collection-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;font-size:11px;color:var(--muted)}.collection-pagination button{border:1px solid #a39f8c55;background:#fff8e950;color:var(--ink);width:29px;height:25px;border-radius:6px}.collection-pagination button:hover:enabled{background:#fdf9ed}
.console-station{border:1px solid #b9b19c55;background:linear-gradient(115deg,#fff8ea2b,#e4dbc751);border-radius:18px;padding:28px 21px 20px;position:relative;min-width:0}.station-heading{display:flex;align-items:center;gap:16px;margin:0 8px 10px}.station-heading .eyebrow{font-size:11px;letter-spacing:2px;white-space:nowrap;margin:0}.station-rule{height:1px;background:#bdb8a4;flex:1}.station-dots{display:flex;gap:10px}.station-dots i{width:10px;height:10px;background:#b8b3a450;border-radius:50%}.station-dots i:first-child{background:var(--red)}.station-hardware{position:relative;aspect-ratio:.855;margin:-18px -60px 0}.station-info{padding:4px 13px 0}.station-info h2{font-size:clamp(25px,2.7vw,40px);line-height:1.1;letter-spacing:-1.6px;font-weight:900;margin:0 0 8px}.game-tags{display:flex;gap:9px;flex-wrap:wrap}.game-tags span{font-size:12px;background:#cfc8b36b;border-radius:50px;padding:3px 16px}.station-info>p:not(.sr-only){font-size:15px;margin:10px 0 16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--red);border-radius:13px;background:var(--red);color:white;padding:14px 24px;font-weight:700;font-size:16px;transition:background .2s,transform .2s}.button:hover{background:#d93619;transform:translateY(-2px)}.play-button{width:100%;font-size:20px;padding:15px 20px;box-shadow:inset 0 1px 1px #ffffff44}.play-button span{font-size:23px;line-height:1}.about{border-top:1px solid var(--line);margin-top:35px;padding:65px 0 40px;max-width:650px}.about h2{font-size:42px;letter-spacing:-1.8px;line-height:1.1;margin:0 0 22px}.about>p:not(.eyebrow){color:var(--muted);max-width:480px}.text-link{font-size:14px;border-bottom:1px solid var(--red);padding-bottom:5px}.contact{padding:65px 0;display:flex;align-items:center;justify-content:space-between;gap:50px}.contact h2{font-size:28px;letter-spacing:-1px;line-height:1.2;max-width:500px;margin:0}.contact p:not(.eyebrow){color:var(--muted);font-size:14px}.contact .button{flex-shrink:0}.footer{border-top:1px solid var(--line);padding:25px 0 35px;display:flex;gap:25px;align-items:center;color:var(--muted);font-size:12px}.footer .brand{font-size:20px;margin-right:auto}.footer a:hover{color:var(--red)}
.policy{padding-block:80px 90px}
.policy-title{font-size:clamp(46px,5.4vw,72px);letter-spacing:-3px}
.policy-lead{color:var(--muted);font-size:15px;margin:24px 0 56px}
.policy section{border-top:1px solid var(--line);padding-block:30px}
.policy h2{font-size:24px;letter-spacing:-.6px;display:flex;align-items:baseline;gap:16px}
.policy h2 span{color:var(--lime);font-size:12px;letter-spacing:2px}
.policy section p,.policy li{color:var(--muted);font-size:14px;line-height:1.8}
.policy section p{margin:14px 0 0}
.policy ul{margin:10px 0 0;padding-left:20px}
.policy li::marker{color:var(--lime)}
.policy section a{color:var(--lime);border-bottom:1px solid #d1ed8360}

.policy-title{white-space:normal;line-height:1.1;margin:0}.policy-title em{color:var(--red);font-style:normal}.contact-links{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0}.contact-links .email{font-size:12px;color:var(--muted)}.policy .policy-lead{line-height:1.8}
dialog{padding:0;border:1px solid var(--line);background:var(--bg);color:var(--ink);width:min(1250px,96vw);max-width:none;height:94dvh;max-height:94dvh;border-radius:12px;overflow:visible}
dialog[open]{display:flex;flex-direction:column}
dialog::backdrop{background:#080b12e8;backdrop-filter:blur(9px)}
body:has(dialog[open]){overflow:hidden}
.player-bar{display:flex;align-items:center;gap:15px;padding:12px 20px;border-bottom:1px solid var(--line)}
.player-bar .brand{font-size:24px}
.player-bar h2{font-size:16px;letter-spacing:-.3px;margin-left:auto;margin-right:auto}
.icon-button{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:5px;width:36px;height:36px;font-size:21px}
.player-stage{position:relative;flex:1;min-height:0;background:#0f121a}
iframe{position:relative;border:0;width:100%;height:100%;display:block;z-index:1;background:#0f121a;opacity:0;pointer-events:none;transition:none}
.game-ready iframe{opacity:1;pointer-events:auto}
.loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#10141d;overflow:hidden;opacity:1;transition:none;pointer-events:none}

.boot-copy{text-align:center;z-index:3;width:calc(100% - 36px);max-width:500px;margin:15px 0 25px}

.boot-copy>strong{display:block;font-size:25px;letter-spacing:-.7px;line-height:1.2}
#boot-status{font-size:12px;color:var(--muted);margin:11px 0;min-height:20px}

#retry-game{pointer-events:auto;margin:8px auto 0;font-size:12px;color:var(--ink);background:#252b36;padding:8px 16px}

@media(max-width:560px){.boot-copy{margin-top:20px}.boot-copy>strong{font-size:21px}#boot-status{font-size:11px}}
@media(max-height:700px) and (min-width:561px){.boot-copy{margin-block:0 10px}.boot-copy>strong{font-size:20px}}
@media(max-height:450px){.loading{flex-direction:row;gap:0}.boot-copy{width:45%;max-width:310px;margin:0 10px}.boot-copy>strong{font-size:18px}}

.player-footer{padding:10px 20px;display:flex;gap:15px;justify-content:space-between;font-size:10px;color:var(--muted)}
.player-footer a{color:var(--lime)}
.player-stage:fullscreen{width:100vw;height:100dvh}
 [hidden]{display:none!important}

/* The playable dialog retains the first-frame readiness contract. */
dialog{--bg:#151923;--ink:#f5f1e8;--muted:#b0b2b9;--line:#ffffff25;--lime:#d1ed83;color-scheme:dark;font-family:Caduma,Arial,sans-serif}
dialog .brand{font-size:22px;letter-spacing:-1px;color:#e0e6c8}dialog .brand-dot{color:#d1ed83}.loading{color:var(--ink)}
@media(min-width:1400px){.games-grid{min-height:495px}.game{aspect-ratio:1/1.01}.collection-tray{padding-top:17px}}
@media(max-width:1250px){.wrap{width:calc(100% - 72px)}.collection{gap:28px;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.catalog-toolbar{gap:15px}.filters{gap:7px}.filter{min-width:0;padding:10px 15px;font-size:12px}.search{padding-inline:10px;gap:8px}.collection-heading h1{font-size:4.5vw;letter-spacing:-2.7px}.hero-description{font-size:21px}.games-grid{min-height:400px;gap:10px 7px}.collection-tray{padding-inline:18px}.game-label{font-size:10px}.console-station{padding:24px 13px 17px}.station-heading{gap:10px;margin-inline:6px}.station-heading .eyebrow{font-size:9px;letter-spacing:1.5px}.station-dots{gap:7px}.station-dots i{width:8px;height:8px}.station-info{padding-inline:9px}.station-info>p:not(.sr-only){font-size:13px}.game-tags span{font-size:10px;padding-inline:12px}.play-button{font-size:18px}.station-info h2{font-size:30px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.collection{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:22px}.collection-heading h1{font-size:4.35vw;letter-spacing:-2px}.hero-description{font-size:17px}.catalog-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:20px}.filters{width:100%;justify-content:space-between}.filter{padding:9px 14px}.search{flex-basis:100%;padding:9px 13px}.search:before{display:none}.games-grid{min-height:330px}.collection-tray{padding-inline:12px;border-radius:28px 28px 17px 17px}.game-label{font-size:9px;padding-block:5px}.shelf-cartridge{bottom:25px}.console-station{padding-inline:12px}.station-heading{flex-wrap:wrap}.station-rule{display:none}.station-dots{margin-left:auto}.station-info h2{font-size:25px}.station-info>p:not(.sr-only){font-size:12px}.play-button{font-size:16px;padding:12px}.game-tags{gap:5px}.game-tags span{font-size:9px;padding-inline:9px}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.header{height:71px}.brand{font-size:24px;letter-spacing:2.5px}nav{gap:24px;font-size:13px}.collection{padding-top:30px;grid-template-columns:minmax(0,1fr);gap:26px}.collection-heading .eyebrow{font-size:9px;letter-spacing:3px;margin-bottom:12px}.collection-heading h1{white-space:normal;font-size:clamp(36px,7.2vw,49px);letter-spacing:-2px;margin-right:0;max-width:570px}.hero-description{font-size:17px;margin-top:12px;margin-bottom:22px}.catalog-toolbar{flex-wrap:nowrap;flex-direction:column;gap:13px}.filters{gap:7px}.filter{font-size:11px;border-radius:11px;padding:9px 15px;flex:1}.search{width:100%;flex-basis:auto;padding:11px 14px}.search input{font-size:13px}.games-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;gap:16px 9px}.game{aspect-ratio:1/1.06}.game-label{font-size:10px;bottom:0}.game:nth-child(odd){--pull-yaw:-4}.game:nth-child(even){--pull-yaw:4}.collection-tray{padding:10px 17px 42px;border-radius:30px 30px 19px 19px;transform:none}.collection-tray:before{inset:10px 9px 32px;border-radius:23px 23px 8px 8px}.tray-brand{font-size:13px;bottom:8px}.shelf-cartridge{bottom:28px}.console-station{max-width:430px;width:100%;justify-self:center;padding:22px 24px 20px}.station-heading .eyebrow{font-size:10px}.station-heading{margin:0}.station-rule{display:block}.station-hardware{margin-inline:-35px}.station-info{padding-inline:7px}.station-info h2{font-size:32px}.game-tags span{font-size:12px}.station-info>p:not(.sr-only){font-size:14px}.play-button{padding:14px;font-size:19px}.collection-pagination{margin-top:17px}.about{margin-top:20px;padding-top:40px}.about h2{font-size:34px}.contact{display:block;padding:40px 0}.contact h2{font-size:26px}.contact .button{margin-top:15px}.footer{flex-wrap:wrap;font-size:11px;gap:18px}.footer .brand{font-size:19px}.footer small{margin-left:auto}.player-bar{padding:10px;gap:7px}.player-bar .brand{font-size:18px;letter-spacing:-1px}.player-bar h2{font-size:12px}.icon-button{width:30px;height:30px;font-size:18px;flex-shrink:0}.player-footer{font-size:8px;padding:9px;gap:10px}.player-footer span{max-width:60%}dialog{height:96dvh;max-height:96dvh;width:calc(100vw - 12px);max-width:calc(100vw - 12px);border-radius:7px}}
@media(max-width:370px){nav{gap:16px}.brand{font-size:21px}.filter{padding-inline:9px}.game-label{font-size:8px}.collection-tray{padding-inline:12px}.hero-description{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* The console lives in the collection; only selection performs the physical ritual. */
.collection-library{position:relative;z-index:2}
.console-station{z-index:1;margin-top:36px;background:linear-gradient(115deg,#fff8ea10,#e4dbc728)}
.station-hardware{aspect-ratio:500/530;margin:12px -25px 6px;isolation:isolate;perspective:1200px}
.station-scene{position:absolute;width:500px;height:530px;transform:scale(var(--station-scale,1)) rotateY(-9deg) rotateX(3deg) rotateZ(1deg);transform-origin:0 0}
.station-art,.station-front{position:absolute;top:0;left:0;width:500px;height:auto;max-width:none;pointer-events:none;filter:drop-shadow(8px 16px 9px #4e563033)}
.station-art{z-index:1}
.station-front{z-index:4;clip-path:inset(75.3% 0 0);filter:none}
.station-screen{position:absolute;left:100.5px;top:71.8px;width:299px;height:205px;background:#19241e;border-radius:20%/14%;overflow:hidden;z-index:2;box-shadow:inset 0 0 16px #101a16}
.station-screen .tv-picture{position:absolute;inset:0;transform:scale(.002,.002);filter:brightness(2);opacity:0}
.station-scene.tv-on .tv-picture{opacity:1;transform:none;filter:none;animation:station-tv-on 300ms ease-out}
.station-scene.tv-off .tv-picture{animation:station-tv-off 160ms linear forwards}
.station-screen .tv-picture img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.screen-gloss{position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,#ffffff20,transparent 50%),repeating-linear-gradient(0deg,#11191614 0 1px,transparent 1px 3px);box-shadow:inset 0 0 15px 4px #11191677}
.boot-cartridge{position:absolute;left:250px;top:280px;width:200px;height:170px;margin-left:-100px;z-index:3}
.station-model{display:block;position:absolute;inset:0;transform-origin:50% 50%}
.station-model .shelf-cartridge{width:200px;height:170px;bottom:0;left:0;right:auto}

.game.is-selected .shelf-cartridge{opacity:.55}
@keyframes station-tv-off{0%{transform:none;opacity:1;filter:brightness(1)}60%{transform:scale(1,.015);opacity:1;filter:brightness(4)}100%{transform:scale(.002,.002);opacity:0;filter:brightness(6)}}
@keyframes station-tv-on{0%{transform:scale(.002,.002);filter:brightness(6)}35%{transform:scale(1,.015);filter:brightness(4)}75%{transform:scale(1,1.02);filter:brightness(1.8)}100%{transform:none;filter:none}}
/* Keep the SAME iframe laid out behind the page while preloading. showModal
   brings its existing browsing context to the top layer without moving/reloading it. */
dialog.is-preloading:not([open]){display:flex;flex-direction:column;position:fixed;inset:0;margin:auto;opacity:0;pointer-events:none;z-index:-10}
@media(min-width:701px){.console-station{margin-left:-13px}.station-hardware{margin-inline:-35px}}
@media(max-width:700px){.console-station{margin-top:0}.station-hardware{margin:12px -12px 6px}}
@media(prefers-reduced-motion:reduce){.station-scene.tv-off .tv-picture{animation:none;opacity:0}.station-scene.tv-on .tv-picture{animation:none;transform:none;opacity:1}.station-model{transform:none}}

/* Scene motion is independent of the CRT power transition. Only one scene lives here. */
.station-screen .tv-picture img{transform:scale(1.05);animation:scene-drift 12s ease-in-out infinite alternate;animation-play-state:paused}
.scene-fx{position:absolute;inset:0;overflow:hidden;--spark:#fff7b5;--travel:-22px}
.scene-fx i{position:absolute;left:18%;top:70%;width:3px;height:3px;background:var(--spark);box-shadow:0 0 6px var(--spark);opacity:0;animation:scene-spark 3.8s ease-in-out infinite;animation-play-state:paused}
.scene-fx i:nth-child(2){left:36%;top:43%;animation-delay:-1s}.scene-fx i:nth-child(3){left:64%;top:62%;animation-delay:-2.2s}.scene-fx i:nth-child(4){left:82%;top:25%;animation-delay:-.5s}.scene-fx i:nth-child(5){left:53%;top:31%;animation-delay:-3s}.scene-fx i:nth-child(6){left:76%;top:80%;animation-delay:-1.8s}.scene-fx i:nth-child(7){left:28%;top:23%;animation-delay:-2.6s}.scene-fx i:nth-child(8){left:44%;top:83%;animation-delay:-.8s}
.station-scene.tv-on:not(.scene-still) .tv-picture img,.station-scene.tv-on:not(.scene-still) .scene-fx i{animation-play-state:running}
.station-scene[data-game="supernova"] .scene-fx{--spark:#8ef7ff;--travel:-10px}
.station-scene[data-game="cardlings"] .scene-fx{--spark:#fff8ab;--travel:-28px}
.station-scene[data-game="nebulosh"] .scene-fx{--spark:#d8c5ff;--travel:-8px}
.station-scene[data-game="stalactite-drop"] .scene-fx{--spark:#7ef1de;--travel:55px;clip-path:polygon(40% 32%,61% 32%,63% 91%,38% 91%)}
.station-scene[data-game="stalactite-drop"] .scene-fx i{left:48%;top:44%;height:7px;animation-duration:1.5s}.station-scene[data-game="stalactite-drop"] .scene-fx i:nth-child(even){left:53%;top:48%}
.station-scene[data-game="kardashev"] .scene-fx{--spark:#ffbf69;--travel:-26px}
.station-scene[data-game="core-breaker"] .scene-fx{--spark:#71ffe2;--travel:24px}
.station-scene[data-game="retrato-suspeito"] .scene-fx{background:linear-gradient(110deg,transparent 36%,#fff8d936 48%,transparent 60%);background-size:280% 100%;animation:scene-search 8s ease-in-out infinite;animation-play-state:paused}.station-scene[data-game="retrato-suspeito"] .scene-fx i{display:none}
.station-scene[data-game="company-idle"] .scene-fx{--spark:#83ffd0;--travel:-5px}.station-scene[data-game="company-idle"] .scene-fx i{width:8px;height:2px;animation-timing-function:steps(3)}
.station-scene[data-game="medieval-idle"] .scene-fx{--spark:#ffb359;--travel:-30px}
.station-scene.tv-on:not(.scene-still) .scene-fx{animation-play-state:running}
@keyframes scene-drift{from{transform:scale(1.05) translate(-.8%,.3%)}to{transform:scale(1.09) translate(.8%,-.5%)}}
@keyframes scene-spark{0%,100%{opacity:0;transform:translateY(6px) scale(.5)}35%{opacity:.8}75%{opacity:.35;transform:translateY(var(--travel)) scale(1)}}
@keyframes scene-search{0%,20%{background-position:100% 0}80%,100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){.station-screen .tv-picture img,.scene-fx,.scene-fx i{animation:none!important}.scene-fx{display:none}}

/* The tabletop ends with a visible front edge and casts a shadow on the wall. */
.desk-page{background:#d1d8c3;--desk-edge:460px;--desk-height:460px;--desk-lip:48px;--desk-front:38px;--desk-perspective:1800px}
.desk-page:before{inset:0;background-image:url('assets/plastic-grain.svg'),radial-gradient(ellipse at 8% 14%,#fffbea99,transparent 65%),linear-gradient(110deg,#e4e6d1,#d1d8c3);z-index:-2}
.desk-scene{position:absolute;inset:var(--desk-edge) 0 auto;height:var(--desk-height);pointer-events:none;z-index:-1;isolation:isolate;background:#d7b17e;box-shadow:0 -12px 20px -10px #38433166,0 30px 34px -18px #35402e70,0 5px 8px #35402e33}
.desk-scene:before{content:'';position:absolute;inset:0 0 auto;height:var(--desk-lip);z-index:2;border-top:2px solid #f4d49b;border-radius:5px 5px 0 0;background-image:linear-gradient(180deg,#fff0be88,transparent 14%,#66390d42 85%,#59320f66),url('assets/desk-wood-v1.webp');background-position:center top;background-size:100% 100%,100% auto;box-shadow:inset 0 4px 3px #ffe6b477,inset 0 -2px 2px #70431d55,0 4px 5px #74482044}
.desk-scene:after{content:'';position:absolute;inset:auto 0 0;height:var(--desk-front);z-index:3;border-top:2px solid #f6d39e;border-bottom:3px solid #603c21;border-radius:0 0 5px 5px;background-image:linear-gradient(#c2956144,#84522b88 50%,#603d27bb),url('assets/desk-wood-v1.webp');background-position:center bottom;background-size:100% 100%,100% auto;box-shadow:inset 0 3px 3px #ffe6ba88,inset 0 -3px 4px #452b2380}
.desk-surface{position:absolute;inset:var(--desk-lip) 0 var(--desk-front);overflow:hidden}
.desk-surface:before{content:'';position:absolute;inset:0 0 -45%;background-image:linear-gradient(110deg,#fff4d24d,transparent 55%,#80502518),url('assets/desk-wood-v1.webp');background-size:100% 100%,100% auto;background-repeat:no-repeat,repeat-y;transform-origin:50% 0;transform:perspective(var(--desk-perspective)) rotateX(28deg) scaleX(1.015)}
.desk-surface:after{content:'';position:absolute;inset:0;background:linear-gradient(#49351e38,transparent 100px)}
.desk-page .console-station{border-color:transparent;background:none}
.desk-page .contact{margin-top:110px;border-top:1px solid var(--line)}
@media(max-width:700px){.desk-page{--desk-lip:30px;--desk-front:28px}}

.game-directory{border-top:1px solid var(--line);padding-block:26px;flex-wrap:wrap;align-items:baseline;gap:8px 40px}.game-directory .eyebrow{color:var(--muted);margin:0}.game-directory ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px}.game-directory a:hover{color:var(--red)}
