:root{color-scheme:dark;--ink:#f2f2f7;--muted:#aaaec3;--deep:#090d19;--accent:#7587f1;--step:245px;font-family:'DM Sans',sans-serif}
*{box-sizing:border-box}html{background:var(--deep)}body{margin:0;color:var(--ink);background:var(--deep);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #f5f5fa;outline-offset:4px}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}::selection{background:#7d87d4;color:#fff}
.app-shell{min-height:100dvh;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 48%,#243169 0%,#141c38 37%,#090d19 77%)}
.ambient-art{position:absolute;inset:-24%;z-index:-3;background-position:center;background-size:cover;filter:blur(88px) saturate(1.2);opacity:.35;transform:scale(1.06);transition:background-image .35s ease}
.ambient-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#090d19da 0%,#0d1125a6 23%,#10193646 55%,#080b16ed 100%),radial-gradient(circle at 50% 49%,transparent 0%,#090d1aa1 70%)}
.topbar{width:min(100%,1660px);margin:0 auto;min-height:82px;padding:18px clamp(24px,4vw,65px);display:grid;grid-template-columns:165px 1fr 190px;gap:22px;align-items:center;position:relative;z-index:5;border-bottom:1px solid #ffffff1b}
.site-brand{text-decoration:none;font:700 21px 'Space Grotesk',sans-serif;letter-spacing:-.07em;white-space:nowrap}.site-brand span{color:#f36f52}.site-brand i{font-style:normal;color:#858ba5;margin:0 8px;font-weight:400}.console-tabs{display:flex;align-items:center;justify-content:center;gap:5px}.console-tab{height:45px;min-width:85px;padding:8px 16px;display:grid;place-items:center;border:1px solid transparent;border-radius:4px;background:transparent;opacity:.52;transition:opacity .2s,background .2s,border-color .2s,transform .2s}.console-tab:hover{opacity:.85;background:#ffffff14}.console-tab.is-active{opacity:1;background:#ffffff16;border-color:#ffffff4b;box-shadow:inset 0 1px #ffffff2c}.console-tab img{display:block;width:auto;max-width:126px;height:22px;object-fit:contain;filter:brightness(0) invert(1)}.console-tab--web{min-width:117px;display:flex;gap:8px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.07em;white-space:nowrap}.console-tab--web span{font-size:16px}.controller-status{justify-self:end;font-size:10px;letter-spacing:.12em;color:#c2c6db;white-space:nowrap;display:flex;align-items:center;gap:9px}.status-light{width:7px;height:7px;border-radius:50%;background:#677084;box-shadow:0 0 0 4px #67708424}.controller-status.is-connected .status-light{background:#7dd3a0;box-shadow:0 0 0 4px #7dd3a026,0 0 13px #7dd3a0}.controller-status.is-connected{color:#d5f3df}
main{display:flex;flex:1}.game-screen{width:100%;max-width:1660px;margin:0 auto;min-height:660px;display:flex;flex-direction:column;position:relative}.screen-heading{display:flex;justify-content:space-between;align-items:flex-start;padding:clamp(26px,3.5vh,43px) clamp(24px,4vw,65px) 0;position:relative;z-index:2}.system-name{display:flex;flex-direction:column;align-items:flex-start}.system-eyebrow,.system-name>span:last-child,.position-count,.selected-meta,.selected-note,.primary-actions,.control-bar,.dialog-kicker,.dialog-meta,.dialog-hint,.search-label,.search-count{font-size:11px;font-weight:700;letter-spacing:.12em}.system-eyebrow{color:#aeb5d3;margin-bottom:6px}.system-name h2{font:700 clamp(29px,3.2vw,51px)/1 'Space Grotesk',sans-serif;letter-spacing:-.065em;margin:0 0 8px}.system-name>span:last-child{color:#a7aecb}.position-count{font-size:17px;letter-spacing:.08em;margin-top:12px}.position-count span{color:#727994;margin:0 8px}
.carousel-stage{min-height:365px;height:clamp(365px,47vh,515px);width:100%;position:relative;perspective:1100px;perspective-origin:50% 48%;overflow:hidden;margin-top:-9px;touch-action:pan-y}.stage-light{pointer-events:none;position:absolute;left:50%;top:20%;width:min(620px,60vw);height:65%;transform:translateX(-50%);background:radial-gradient(ellipse,#7d8af065 0%,#5362b62a 38%,transparent 72%);filter:blur(26px)}.carousel-stage:after{content:'';position:absolute;left:12%;right:12%;bottom:10px;height:60px;border-radius:50%;background:#02040c8a;filter:blur(24px);z-index:-1}.game-track{position:absolute;inset:0;transform-style:preserve-3d}.game-card{position:absolute;left:50%;top:50%;width:clamp(205px,18.8vw,270px);height:clamp(275px,30vw,385px);padding:0;border:0;background:transparent;color:#fff;transform:translate(-50%,-50%) translateX(calc(var(--offset) * var(--step))) rotateY(calc(var(--offset) * -28deg)) scale(var(--card-scale));opacity:var(--card-opacity);transition:transform .48s cubic-bezier(.22,1,.36,1),opacity .35s,filter .35s;transform-style:preserve-3d;filter:brightness(var(--card-brightness));cursor:pointer}.game-card[data-offset="0"]{filter:brightness(1);cursor:pointer}.game-card:hover:not([data-offset="0"]){filter:brightness(1.15)}.game-card[data-offset="0"] .case-front{box-shadow:0 26px 44px #000a,0 0 45px #a2a7fa30,5px 0 0 #fff2}.game-card[data-offset="0"]:focus-visible{outline:none}.game-card:focus-visible .case-front{outline:3px solid #fff;outline-offset:6px}.game-card[aria-hidden="true"]{visibility:hidden;pointer-events:none}
.case-front{width:100%;height:100%;position:relative;overflow:hidden;background:#18213e;border:6px solid #131822;border-left:14px solid #1e283f;border-radius:3px;box-shadow:15px 18px 26px #000a,4px 0 0 #e8eeff19;display:flex;flex-direction:column;transform-style:preserve-3d}.case-front:before{content:'';position:absolute;z-index:4;top:0;bottom:0;left:-7px;width:3px;background:#ffffff73;box-shadow:2px 0 6px #fff4}.case-front:after{content:'';position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(103deg,#ffffff26 0%,transparent 19%,transparent 70%,#ffffff12 100%)}.case-banner{height:26px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 7px;background:#e7eaf5;color:#192036;font:700 10px 'Space Grotesk',sans-serif;letter-spacing:-.03em}.case-banner span:last-child{font-size:8px;letter-spacing:.06em}.game-card[data-brand="nintendo"] .case-banner{background:#e22635;color:#fff}.game-card[data-brand="sega"] .case-banner{background:#101a4b;color:#fff}.game-card[data-brand="atari"] .case-banner{background:#f1efe4;color:#d42530}.game-card[data-brand="web"] .case-banner{background:#3747ac;color:#fff}.case-art{position:relative;flex:1;min-height:0;display:grid;place-items:center;background:#11172b;overflow:hidden}.case-art:before{content:'';position:absolute;inset:-12%;background-image:var(--cover);background-position:center;background-size:cover;filter:blur(17px) brightness(.48);opacity:.9}.case-art img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain}.case-foot{height:10px;flex:none;background:linear-gradient(90deg,#354461,#151a27)}.directory-art{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e95c43;color:white;font:700 31px/.95 'Space Grotesk',sans-serif;letter-spacing:-.075em}.directory-art b{font-size:85px;line-height:.9}
.stage-arrow{position:absolute;top:48%;z-index:15;width:48px;height:48px;border:1px solid #ffffff50;border-radius:50%;background:#111933aa;color:#fff;font-size:23px;display:grid;place-items:center;transition:background .2s,transform .2s}.stage-arrow:hover{background:#5263c9;transform:scale(1.07)}.stage-arrow--previous{left:clamp(18px,3vw,55px)}.stage-arrow--next{right:clamp(18px,3vw,55px)}
.selected-details{text-align:center;position:relative;z-index:4;padding:2px 24px 31px;margin-top:auto}.selected-meta{color:#c0c6de;margin:0 0 7px;text-transform:uppercase}.selected-meta span{color:#737eab;margin:0 5px}.selected-details h1{font:600 clamp(31px,3.7vw,57px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.06em;margin:0 auto;max-width:820px;text-wrap:balance}.selected-note{min-height:16px;color:#ffbbac;margin:8px 0 0;font-size:10px}.selected-note:empty{visibility:hidden}.primary-actions{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:17px}.play-button,.text-button{height:43px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.1em}.play-button{background:#eef0fa;color:#161c32;padding:0 20px;min-width:154px;box-shadow:0 8px 28px #0006}.play-button:hover{background:white}.play-button span{font-size:17px}.text-button{border:1px solid #ffffff55;background:#ffffff0e;color:#e9eaf5;padding:0 16px}.text-button:hover{background:#ffffff24}.text-button span{font-size:17px;line-height:0}
.control-bar{position:relative;z-index:5;min-height:55px;padding:12px clamp(24px,4vw,65px);border-top:1px solid #ffffff2a;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#070b17b8;color:#adb5d2;font-size:9px;white-space:nowrap}.control-group{display:flex;align-items:center;gap:6px}.keycap{border:1px solid #9099b6;border-radius:3px;padding:3px 5px;min-width:21px;text-align:center;color:#d7dcf2;font-size:9px;line-height:1}.control-divider{width:1px;height:15px;background:#ffffff36;margin:0 11px}.symbol{font-size:19px;font-weight:400;line-height:.5;margin-left:7px}.symbol--cross{color:#84a8ff}.symbol--triangle{color:#76d2ba}.symbol--square{color:#ed9ec6}.about-trigger{background:none;border:0;color:#e9ecf8;font-size:10px;font-weight:700;letter-spacing:.09em;white-space:nowrap}.about-trigger:hover{text-decoration:underline;text-underline-offset:4px}
.overlay-dialog{width:min(620px,calc(100% - 32px));max-height:min(86dvh,800px);overflow:auto;border:1px solid #929ec966;border-radius:8px;padding:clamp(28px,4vw,45px);background:#121a32;color:#f1f2fa;box-shadow:0 28px 90px #000c}.overlay-dialog::backdrop{background:#03050bc9;backdrop-filter:blur(9px)}.dialog-close{position:absolute;top:17px;right:19px;border:0;background:none;color:#d8def0;font-size:19px}.dialog-kicker{color:#a9b9ff;margin:0 0 10px}.overlay-dialog h2{font:600 clamp(29px,4vw,45px)/1.08 'Space Grotesk',sans-serif;letter-spacing:-.06em;margin:0 30px 17px 0}.dialog-meta{color:#bac3e1;margin:0 0 18px}.dialog-copy{color:#d1d6e8;line-height:1.6;font-size:16px;margin:0 0 16px}.dialog-primary{display:inline-flex;align-items:center;min-height:43px;padding:0 19px;margin-top:7px;border-radius:3px;background:#eef0fa;color:#11172b;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.1em}.dialog-primary:hover{background:white}.dialog-hint{color:#8d9abb;margin:28px 0 0;font-size:10px;line-height:1.6}.about-footnote{border-top:1px solid #ffffff31;margin:23px 0 0;padding-top:17px;font-size:12px;line-height:1.5;color:#aeb7d3}.search-label{display:block;color:#aab5d6;margin-bottom:8px}.overlay-dialog--search input{width:100%;border:1px solid #8993b466;border-radius:3px;background:#0b1123;color:#fff;font:500 17px 'DM Sans',sans-serif;padding:14px}.search-count{color:#bac4e2;min-height:18px;margin:11px 0 18px}.virtual-keyboard{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}.virtual-key{height:36px;border:1px solid #ffffff3d;border-radius:3px;background:#ffffff0c;color:#e9edfa;font:700 12px 'Space Grotesk',sans-serif}.virtual-key:hover,.virtual-key.is-selected{background:#e9edfa;color:#141b31}.virtual-key--wide{grid-column:span 3}.virtual-key--delete{grid-column:span 3}.virtual-key--done{grid-column:span 4;background:#5367c9}.overlay-dialog--search .dialog-hint{margin-top:20px}
@media(max-width:1050px){:root{--step:205px}.topbar{grid-template-columns:130px 1fr}.controller-status{display:none}.control-bar{flex-wrap:wrap;justify-content:center}.about-trigger{display:none}.game-screen{min-height:640px}.carousel-stage{height:420px}.console-tab{min-width:66px;padding:7px 9px}.console-tab img{max-width:100px;height:20px}}
@media(max-width:680px){:root{--step:156px}.app-shell{min-height:100dvh}.topbar{display:flex;flex-direction:column;align-items:stretch;gap:13px;padding:14px 15px 10px;min-height:103px}.site-brand{font-size:18px}.console-tabs{width:100%;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-bottom:3px}.console-tabs::-webkit-scrollbar{display:none}.console-tab{flex:none;height:37px;min-width:57px;padding:5px 9px}.console-tab img{max-width:82px;height:18px}.console-tab--web{min-width:92px;font-size:9px}.game-screen{min-height:calc(100dvh - 174px)}.screen-heading{padding:18px 19px 0}.system-eyebrow,.system-name>span:last-child{font-size:9px}.system-name h2{font-size:31px}.position-count{font-size:13px;margin-top:9px}.carousel-stage{height:clamp(305px,45vh,405px);min-height:305px;margin-top:0}.game-track{--step:156px}.game-card{width:195px;height:272px}.case-banner{height:21px;font-size:9px}.case-foot{height:7px}.stage-arrow{top:auto;bottom:4px;width:34px;height:34px;font-size:18px}.stage-arrow--previous{left:18px}.stage-arrow--next{right:18px}.selected-details{padding:0 17px 19px}.selected-details h1{font-size:clamp(28px,7.5vw,40px)}.selected-meta{font-size:9px}.selected-note{font-size:9px}.primary-actions{gap:6px;margin-top:11px}.play-button,.text-button{height:39px;font-size:9px;gap:5px}.play-button{min-width:125px;padding:0 10px}.text-button{padding:0 10px}.control-bar{min-height:70px;padding:11px 10px;gap:6px;font-size:8px}.control-group{justify-content:center;flex-wrap:wrap}.control-group:first-child{display:none}.symbol{font-size:17px}.keycap{font-size:8px}.overlay-dialog{padding:26px 21px}.virtual-keyboard{gap:3px}.virtual-key{height:33px;font-size:11px}}
@media(max-width:380px){:root{--step:140px}.game-card{width:180px;height:252px}.carousel-stage{height:305px}.control-group .keycap{display:none}}
@media(prefers-reduced-motion:reduce){.game-card,.console-tab,.stage-arrow,.ambient-art{transition:none!important}}

.console-tab[data-brand="nintendo"] img,.console-tab[data-brand="atari"] img{filter:none}.console-tab[data-brand="sega"] img{filter:brightness(1.55)}.game-card[data-brand="web"] .case-art img{object-fit:cover}
.about-home{display:inline-block;margin-top:16px;color:#f1f2fa;font-size:11px;font-weight:700;letter-spacing:.1em;text-underline-offset:5px}
.virtual-spacer{grid-column:span 4}
