@import url('/assets/fonts.css');
:root{color-scheme:dark;--bg:#090b14;--surface:#111525;--cyan:#50e4ee;--pink:#ff61be;--yellow:#ffe36b;--ink:#eef8ff;--muted:#adc1db;--line:#436586;font-family:Arial,Helvetica,sans-serif;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:radial-gradient(ellipse at 50% 0,#12203760,transparent 55%),var(--bg);color:var(--ink);min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}.skip{position:fixed;top:-80px;left:16px;z-index:20;background:var(--yellow);color:#090b14;padding:12px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{min-height:68px;padding:12px 2.2%;border-bottom:1px solid var(--cyan);display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 2px 18px #50e4ee18}.brand{display:flex;align-items:center;gap:15px;color:var(--cyan);font-family:'Arcade Display',Arial,sans-serif;font-size:24px;font-weight:900;letter-spacing:.055em}.world{font-size:36px;line-height:1}.divider{color:#597c98;font-family:Arial;font-weight:400}.pink{color:var(--pink)}nav{display:flex;gap:36px;align-items:center;font-weight:700;color:var(--muted);font-size:15px}nav a{padding:10px 0}nav .active{color:var(--cyan);border-bottom:2px solid var(--cyan)}main{max-width:1536px;margin:auto;padding:0 24px}.intro{text-align:center;padding:22px 0 20px}h1{font-family:'Arcade Display',Arial,sans-serif;font-size:clamp(32px,3.7vw,57px);font-weight:900;line-height:1.13;letter-spacing:-.035em;margin:0 0 9px;color:var(--cyan);text-shadow:0 0 17px #50e4ee2b}h1 span{color:var(--pink)}.intro p{margin:0;font-size:clamp(16px,1.5vw,22px);color:var(--muted);line-height:1.4}
.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:0 0 20px}.filters button{padding:8px 24px;min-width:130px;min-height:44px;font-size:14px;font-weight:700;border:1px solid #5b86af;border-radius:30px;background:#090e19;color:var(--muted);transition:background .15s,border-color .15s}.filters button:hover{background:#1b2540;color:white}.filters .selected{color:var(--cyan);border:2px solid var(--cyan);box-shadow:0 0 14px #50e4ee38;background:#071a23}
.catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.game-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--cyan);border-radius:8px;background:var(--surface);box-shadow:0 0 12px #50e4ee13;transition:transform .18s,box-shadow .18s}.game-card:hover,.game-card:focus-within{transform:translateY(-3px);box-shadow:0 0 22px #50e4ee44}.game-card:nth-child(3n){border-color:var(--pink)}.game-card.featured{grid-column:span 2;border-width:2px;box-shadow:0 0 18px #50e4ee34}.cover{position:relative;height:145px;background:#060b15;overflow:hidden}.cover img{width:100%;height:100%;object-fit:cover;display:block}.featured .cover{height:215px}.cover.henry img{object-position:50% 0%}.cover.kombat img{object-position:center 40%}.cover .logo{position:absolute;inset:15px 22px auto;width:48%;height:155px;object-fit:contain;filter:drop-shadow(0 3px 4px #000)}.cover.reactor img{object-position:50% 46%}.cover.pacman img{object-fit:cover;object-position:50% 35%}.cover.tetris img{object-fit:cover;object-position:50% 30%}.game-info{padding:13px 14px 15px}.game-info h2{font-family:'Arcade Display',Arial,sans-serif;font-size:21px;line-height:1.18;letter-spacing:-.025em;margin:0 0 7px;font-weight:800}.featured .game-info h2{font-size:25px}.game-info p{font-size:14px;color:var(--muted);margin:0 0 15px;line-height:1.45;min-height:20px}.game-actions{display:flex;gap:12px;align-items:center;justify-content:space-between}.category{font-size:13px;font-weight:700;color:var(--cyan);padding:6px 9px;border:1px solid #50e4ee83;border-radius:6px}.play{background:var(--pink);border:1px solid var(--pink);padding:9px 21px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:#150718;font-weight:800;font-size:14px}.play:hover{background:#ff8ed0;box-shadow:0 0 18px #ff61be55}.game-card[hidden]{display:none}.catalog.filtered .game-card{grid-column:auto}.catalog.filtered .featured .cover{height:145px}.catalog.filtered .featured .game-info h2{font-size:21px}.coming{display:flex;align-items:center;justify-content:center;gap:38px;text-align:center;min-height:135px;margin:22px 0 25px;border:1px dashed #65609f;border-radius:8px;background:linear-gradient(120deg,#13203480,#21122e60)}.coming h2{color:var(--cyan);font-family:'Arcade Display',Arial,sans-serif;font-size:26px;margin:0 0 8px;line-height:1.2}.coming p{color:var(--muted);font-size:16px;margin:0}.spark{font-size:35px;color:var(--pink)}.spark:last-child{color:var(--yellow)}footer{border-top:1px solid #50e4ee70;text-align:center;padding:23px;color:var(--muted);font-size:14px;letter-spacing:.05em}.loading{grid-column:1/-1;text-align:center;padding:30px}
.player-top{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--line);gap:15px;flex-wrap:wrap}.player-top h1{font-size:24px;margin:0;flex:1}.back{color:var(--cyan);font-weight:700}.player-actions{display:flex;gap:10px;align-items:center}.player-actions button,.player-actions a{padding:9px 14px;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:14px;min-height:42px}.player-main{padding:0;max-width:none;height:calc(100dvh - 72px)}.player-main iframe{border:0;width:100%;height:100%;display:block;background:var(--bg)}.player-main:fullscreen{height:100dvh}.player-error{padding:45px;text-align:center}.player-note{margin:0;background:#132034;padding:9px 20px;font-size:14px;color:var(--muted)}
@media(min-width:1500px){main{padding-left:24px;padding-right:24px}}
@media(max-width:1050px){.catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.game-card.featured{grid-column:span 3}.featured .cover{height:240px}.game-card.featured .game-info{display:grid;grid-template-columns:1fr auto;column-gap:20px}.featured .game-info h2{grid-column:1}.featured .game-info p{grid-column:1;margin-bottom:0}.featured .game-actions{grid-row:1/3;grid-column:2;align-self:center}.brand{font-size:19px}.cover .logo{height:190px}}
@media(max-width:700px){.topbar{padding:13px 18px;min-height:64px;flex-wrap:wrap;justify-content:center;gap:10px}.brand{font-size:16px;gap:8px;white-space:nowrap}.world{font-size:28px}nav{gap:28px;font-size:14px}.intro{padding:25px 0 20px}main{padding:0 16px}h1{font-size:37px;max-width:470px;margin:0 auto 12px}.intro p{max-width:330px;margin:auto;font-size:16px}.filters{gap:8px;justify-content:flex-start;margin-bottom:18px}.filters button{min-width:0;padding:8px 14px}.catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-card.featured{grid-column:span 2}.featured .cover{height:200px}.game-card.featured .game-info{display:block}.featured .game-info h2{font-size:24px}.featured .game-info p{margin-bottom:14px}.cover{height:120px}.game-info{padding:12px}.game-info h2,.catalog.filtered .featured .game-info h2{font-size:19px;line-height:1.2}.game-info p{font-size:14px;min-height:40px;margin-bottom:12px}.featured .game-info p{min-height:0}.game-actions{flex-wrap:wrap;gap:10px}.play{padding:9px 16px;min-height:44px}.category{font-size:12px}.cover .logo{width:57%;height:145px;inset:18px 15px auto}.coming{padding:25px 15px;gap:12px}.coming h2{font-size:23px}.spark{font-size:25px}.player-top{padding:10px 12px}.player-top h1{font-size:19px}.player-actions{width:100%;justify-content:flex-end}.player-main{height:calc(100dvh - 114px)}}
@media(max-width:380px){.brand{font-size:16px}.catalog{grid-template-columns:1fr}.game-card.featured{grid-column:auto}.cover{height:170px}.game-info p{min-height:0}.catalog.filtered .featured .cover{height:170px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.game-card:hover,.game-card:focus-within{transform:none}}

/* The next open cabinet is reserved for future releases. */
.catalog>.coming{margin:0;min-height:260px;flex-direction:column;gap:20px;padding:25px 16px}.catalog>.coming h2{font-size:26px}.catalog>.coming p{font-size:15px}.coming[hidden]{display:none}
.fullscreen-open{overflow:hidden}.player-main.expanded{position:fixed;inset:0;z-index:100;height:100dvh;display:flex;flex-direction:column;padding-top:8px;background:var(--bg)}.player-main.expanded iframe{height:auto;flex:1;min-height:0}.exit-fullscreen{align-self:flex-end;min-height:44px;margin:0 16px 8px;padding:8px 16px;border:1px solid var(--cyan);border-radius:6px;background:var(--surface);color:var(--cyan);font:700 14px Arial,sans-serif}.exit-fullscreen[hidden]{display:none}
@media(max-width:700px){.catalog>.coming{min-height:250px}.catalog>.coming h2{font-size:23px}}

/* Complete illustrated covers stay visible at every card size. */
.cover,.featured .cover,.catalog.filtered .featured .cover{height:auto;aspect-ratio:2/1}
.cover img,.cover.henry img,.cover.kombat img,.cover.reactor img,.cover.pacman img,.cover.tetris img{object-fit:contain;object-position:center}

.cover-title{position:absolute;inset:8% 8% auto;text-align:center;font-family:"Arcade Display",Arial,sans-serif;font-size:clamp(25px,4vw,48px);font-weight:900;letter-spacing:.08em;color:var(--yellow);text-shadow:3px 3px 0 #211940,-2px -2px 0 #143052,0 0 16px #ff61be}
@media(max-width:700px){.cover-title{font-size:27px}}
