@font-face{font-family:ArcadeUI;src:url('/assets/arcade-ui.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}

/* A shared palette keeps the arcade and the quieter information pages together. */
:root,:root[data-theme="dark"]{
  color-scheme:dark;--bg:#080b1b;--surface:#12162b;--surface-alt:#161a32;--raised:#222842;
  --text:#f4f3ff;--muted:#b8b9d3;--cyan:#88e6f5;--violet:#c2acff;--line:#383c59;
  --edge:#626688;--shadow:#030510;--header:#0b0e20;--field:#0d1126;--selection:#282844;
  --music-surface:#18142e;--button-start:#8ce8ef;--button-end:#bba5ff;--button-text:#111527;
  --glow-blue:#67deef22;--glow-violet:#8c65e632;--star:#a9b8e61b;--max:1240px;
  --cabinet:#14172b;--cabinet-top:#2d2947;--cabinet-edge:#6d688e;--cabinet-ink:#f5f1ff;
  --cabinet-soft:#bebad7;--cabinet-line:#4b4768;--counter:#14192d;
  font-family:Arial,Helvetica,sans-serif;
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#b8bbc5;
  --surface:#cbced7;
  --surface-alt:#bfc3ce;
  --raised:#b0b5c2;
  --text:#252b39;
  --muted:#3a4250;
  --cyan:#13434f;
  --violet:#4f356f;
  --line:#8a90a0;
  --edge:#6a7489;
  --shadow:#888fa0;
  --header:#c3c7d2;
  --field:#d3d6df;
  --selection:#b2bbcb;
  --music-surface:#c6c4d8;
  --button-start:#194d5e;
  --button-end:#523675;
  --button-text:#f1f2f8;
  --glow-blue:#287b9018;
  --glow-violet:#7957a31c;
  --star:#3f486712;
  --cabinet:#282b34;
  --cabinet-top:#3c3f4a;
  --cabinet-edge:#76798c;
  --cabinet-ink:#f2f2fa;
  --cabinet-soft:#d3d5df;
  --cabinet-line:#585c70;
  --counter:#1f222b;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;color:var(--text);background:var(--bg);font-size:1rem;line-height:1.6;min-width:0;
  background-image:radial-gradient(circle at 1px 1px,var(--star) 1px,transparent 1.5px);background-size:47px 47px}
button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{
  outline:3px solid var(--cyan);outline-offset:4px}
button:disabled{opacity:.48;cursor:not-allowed}button[aria-disabled="true"]{opacity:.48}
[hidden]{display:none!important}::selection{background:var(--button-start);color:var(--button-text)}
h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}p{overflow-wrap:break-word}main{min-width:0}main:focus{outline:none}
.wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto;min-width:0}
.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}
.skip{position:fixed;top:-100px;left:16px;z-index:100;padding:12px 20px;background:var(--button-start);color:var(--button-text);font-weight:700}
.skip:focus{top:12px}.eyebrow,.pixel-label{font:700 .75rem/1.5 ArcadeUI,'Courier New',monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--cyan);margin:0 0 16px}
.muted{color:var(--muted)}.highlight{color:var(--violet)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;max-width:100%;padding:11px 19px;
  border:1px solid var(--edge);border-radius:7px;background:var(--surface);color:var(--text);font-size:.9375rem;font-weight:700;line-height:1.4;
  box-shadow:0 2px 0 var(--shadow);transition:background .18s,border-color .18s,box-shadow .18s}
.button:hover{background:var(--raised);border-color:var(--cyan);box-shadow:0 3px 12px var(--glow-blue)}
.button.primary,.button.violet{background:linear-gradient(115deg,var(--button-start),var(--button-end));border-color:transparent;color:var(--button-text);
  box-shadow:inset 0 1px 0 #ffffff4a,0 3px 0 var(--shadow)}
.button.primary:hover,.button.violet:hover{filter:brightness(1.09);box-shadow:inset 0 1px 0 #ffffff55,0 3px 14px var(--glow-violet)}
.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-decoration:underline;text-decoration-color:var(--edge);text-underline-offset:5px}
.text-link:hover{color:var(--cyan);text-decoration-color:var(--cyan)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:25px}

/* Site navigation is quiet beside the cabinet. Mobile appearance controls live in Menu. */
body>header,.site-header{position:relative;z-index:10;background:var(--header);border-bottom:1px solid var(--line)}
.header-inner{min-height:88px;display:flex;align-items:center;gap:26px;padding-block:12px}
.wordmark{display:flex;align-items:center;gap:13px;flex-shrink:0;min-height:44px}
.wordmark-main{position:relative;display:inline-flex;align-items:baseline;gap:.32em;flex-shrink:0;padding-left:1.05em;color:var(--text);
  font:700 2rem/1.5 ArcadeUI,'Courier New',monospace;letter-spacing:-.045em;white-space:nowrap}
.wordmark-main:before{content:'';position:absolute;left:0;top:.42em;width:.38em;height:.38em;background:var(--cyan);box-shadow:.38em .38em 0 var(--violet)}
.wordmark-main>.brand-loot{color:var(--cyan)}
.wordmark-main .wordmark-games{display:block;margin-left:.25em;color:var(--violet);
  font:700 .6875rem/1.5 ArcadeUI,'Courier New',monospace;letter-spacing:.04em}
.nav{display:flex;align-items:center;gap:25px;margin-left:auto;min-width:0}
.nav a{position:relative;display:flex;align-items:center;min-height:44px;color:var(--muted);font-size:.875rem;font-weight:700}
.nav a:hover{color:var(--text)}
.nav a:is([aria-current="page"],[aria-current="location"]){color:var(--cyan)}
.nav a:is([aria-current="page"],[aria-current="location"]):after{content:'';position:absolute;bottom:3px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--violet))}
.header-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.theme-picker{display:flex;align-items:stretch;gap:3px;border:1px solid var(--line);border-radius:7px;background:var(--field);padding:3px;min-width:0;margin:0}
.theme-option{min-height:44px;padding:8px 12px;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:4px;font-size:.8125rem;font-weight:700;line-height:1.2}
.theme-option:hover{background:var(--raised);color:var(--text)}
.theme-option[aria-pressed="true"]{background:var(--selection);color:var(--cyan);border-color:var(--line)}
.menu-toggle{display:none;min-height:44px;padding:8px 14px;border:1px solid var(--edge);border-radius:6px;background:var(--surface);font-size:.875rem;font-weight:700}

/* The centre cabinet sits in a visible row of neighbouring arcade machines. */
.cosmic-hub{position:relative;padding:20px 0 36px;isolation:isolate;overflow-x:clip;
  background:radial-gradient(ellipse at 50% 8%,var(--glow-violet),transparent 63%),radial-gradient(ellipse at 47% 70%,var(--glow-blue),transparent 64%)}
.cosmic-hub:before{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);z-index:-1}
.cosmic-hub:focus{outline:none}.console-shell{width:100%;max-width:none}
.console-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(960px,calc(100% - 80px));padding-inline:5px;margin:0 auto 15px}
.console-view-info{font:700 .6875rem/1.5 ArcadeUI,'Courier New',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}
.console-view-info{display:flex;align-items:center;gap:9px}.console-view-info p{margin:0}
.live-dot{display:block;flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--glow-blue)}
.console-view-info strong{color:var(--cyan)}
.arcade-browse-label{margin:0;color:var(--muted);font:700 .6875rem/1.5 'Courier New',monospace;letter-spacing:.06em;text-transform:uppercase}
.arcade-stage{--cabinet-width:min(960px,calc(100vw - 420px));--neighbour-width:350px;position:relative;display:flex;justify-content:center;min-width:0;
  padding-bottom:12px;isolation:isolate}
.arcade-stage:before{content:'';position:absolute;left:0;right:0;bottom:0;height:23%;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 80%,var(--glow-violet),transparent 64%),linear-gradient(transparent,var(--glow-blue));
  border-bottom:1px solid var(--line);transform:perspective(600px) rotateX(36deg);transform-origin:bottom}
.arcade-navigation{position:absolute;inset:0;z-index:5;pointer-events:none}
.arcade-position{position:absolute;top:-39px;left:50%;transform:translateX(-50%);display:grid;justify-items:center;gap:2px;color:var(--muted);white-space:nowrap}
.arcade-position small{font-size:.5625rem;line-height:1.3;letter-spacing:.06em;text-transform:uppercase}
.arcade-navigation [data-console-position]{font:700 .75rem/1.4 'Courier New',monospace;letter-spacing:.09em;color:var(--text)}
.arcade-arrow{position:absolute;top:45%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;pointer-events:auto;
  width:110px;min-height:110px;padding:14px 8px 11px;border:1px solid var(--edge);border-radius:12px;background:linear-gradient(160deg,var(--raised),var(--surface));
  color:var(--cyan);box-shadow:inset 0 1px 0 #ffffff18,0 4px 0 var(--shadow),0 6px 24px #0003;transform:translateY(-50%);
  transition:background .18s,border-color .18s,box-shadow .18s}
.arcade-arrow[data-console-prev]{left:calc(50% - var(--cabinet-width)/2 - 128px)}
.arcade-arrow[data-console-next]{right:calc(50% - var(--cabinet-width)/2 - 128px);color:var(--violet)}
.arcade-arrow:hover{border-color:currentColor;background:linear-gradient(160deg,var(--selection),var(--surface));box-shadow:inset 0 1px 0 #ffffff24,0 4px 0 var(--shadow),0 0 26px var(--glow-blue)}
.arcade-arrow[data-console-next]:hover{box-shadow:inset 0 1px 0 #ffffff24,0 4px 0 var(--shadow),0 0 26px var(--glow-violet)}
.arcade-arrow:active{box-shadow:inset 0 2px 4px #0003,0 1px 0 var(--shadow)}
.arrow-graphic{position:relative;display:block;width:58px;height:44px;flex-shrink:0;filter:drop-shadow(0 0 7px var(--glow-blue))}
.arrow-graphic:before,.arrow-graphic:after{content:'';position:absolute;top:6px;width:30px;height:30px;border-bottom:7px solid currentColor;border-left:7px solid currentColor;transform:rotate(45deg);border-radius:2px}
.arrow-graphic:before{left:4px}.arrow-graphic:after{left:22px;opacity:.72}
.arcade-arrow[data-console-next] .arrow-graphic{transform:rotate(180deg);filter:drop-shadow(0 0 7px var(--glow-violet))}
.arrow-copy{color:var(--text);font:700 .75rem/1.3 'Courier New',monospace;white-space:nowrap}
.neighbour-cabinet{position:absolute;top:28px;z-index:1;display:flex;flex-direction:column;gap:0;width:var(--neighbour-width);padding:0 10px 11px;
  border:1px solid var(--cabinet-edge);border-radius:18px 18px 10px 10px;text-align:left;color:var(--cabinet-ink);
  background:linear-gradient(90deg,var(--cabinet-top),var(--cabinet) 4%,var(--cabinet) 96%,var(--cabinet-top));
  box-shadow:inset 0 0 0 4px #ffffff04,0 6px 0 var(--shadow),0 22px 35px #0002;cursor:pointer;
  transition:border-color .2s,filter .2s,box-shadow .2s}
.neighbour-cabinet[data-cabinet-neighbour="prev"]{right:calc(50% + var(--cabinet-width)/2 - 25px);transform:perspective(1400px) rotateY(8deg) scale(.94);transform-origin:right center}
.neighbour-cabinet[data-cabinet-neighbour="next"]{left:calc(50% + var(--cabinet-width)/2 - 25px);transform:perspective(1400px) rotateY(-8deg) scale(.94);transform-origin:left center}
.neighbour-cabinet:before,.neighbour-cabinet:after{content:'';position:absolute;top:15px;bottom:14px;width:2px;border-radius:2px;pointer-events:none;background:#88e6f5;box-shadow:0 0 10px #88e6f540}
.neighbour-cabinet:before{left:4px}.neighbour-cabinet:after{right:4px;background:#c2acff;box-shadow:0 0 10px #c2acff40}
.neighbour-cabinet:hover{border-color:var(--cyan);filter:brightness(1.1);box-shadow:inset 0 0 0 4px #ffffff06,0 6px 0 var(--shadow),0 0 28px var(--glow-violet)}
.neighbour-marquee{display:grid;align-content:center;gap:7px;min-height:112px;padding:17px 17px 16px;border:1px solid var(--cabinet-line);border-top:0;
  border-radius:14px 14px 6px 6px;background:linear-gradient(145deg,var(--cabinet-top),var(--cabinet));box-shadow:inset 0 -2px 0 var(--violet)}
.neighbour-marquee [data-neighbour-title]{display:block;max-width:240px;font:700 clamp(.875rem,1.2vw,1.0625rem)/1.35 ArcadeUI,'Courier New',monospace;letter-spacing:-.04em;text-wrap:balance}
.neighbour-kicker{color:var(--cabinet-soft);font:700 .625rem/1.3 'Courier New',monospace;letter-spacing:.07em;text-transform:uppercase}
.neighbour-marquee [data-neighbour-platforms]{color:var(--cabinet-soft);font-size:.6875rem;line-height:1.3}
.neighbour-cabinet[data-cabinet-neighbour="prev"] .neighbour-marquee{justify-items:end;text-align:right}
.neighbour-cabinet[data-cabinet-neighbour="next"] .neighbour-marquee{justify-items:start;text-align:left}
.neighbour-screen{display:flex;align-items:center;justify-content:center;min-width:0;aspect-ratio:16/11;margin-top:10px;padding:6px;background:#01001e;
  border:1px solid var(--cabinet-edge);border-radius:7px;box-shadow:inset 0 3px 7px #0006;overflow:hidden}
.neighbour-screen img{width:100%;height:100%;object-fit:contain;background:#01001e}
.neighbour-deck{display:grid;gap:11px;min-height:115px;margin-top:9px;padding:20px 17px;border:1px solid var(--cabinet-line);border-radius:5px 5px 8px 8px;
  background:linear-gradient(175deg,var(--cabinet-top),var(--cabinet));box-shadow:inset 0 2px 0 #ffffff12,inset 0 -3px 0 #0003;font-size:.6875rem;color:var(--cabinet-soft)}
.neighbour-deck [data-neighbour-status]{font-weight:700}.neighbour-deck [data-neighbour-platforms]{font-size:.6875rem}
.neighbour-cabinet[data-cabinet-neighbour="prev"] .neighbour-deck{text-align:right;justify-items:end}
.neighbour-cabinet[data-cabinet-neighbour="next"] .neighbour-deck{text-align:left;justify-items:start}
.arcade-stage.is-travelling.towards-next>.cosmic-cabinet{animation:cabinet-arrive-next .36s cubic-bezier(.2,.7,.25,1) both}
.arcade-stage.is-travelling.towards-prev>.cosmic-cabinet{animation:cabinet-arrive-prev .36s cubic-bezier(.2,.7,.25,1) both}
.arcade-stage.is-travelling.towards-next>.neighbour-cabinet{animation:neighbours-nudge-next .36s ease-out both}
.arcade-stage.is-travelling.towards-prev>.neighbour-cabinet{animation:neighbours-nudge-prev .36s ease-out both}
@keyframes cabinet-arrive-next{from{translate:calc(var(--cabinet-width)*.3) 0;opacity:.78}to{translate:0 0;opacity:1}}
@keyframes cabinet-arrive-prev{from{translate:calc(var(--cabinet-width)*-.3) 0;opacity:.78}to{translate:0 0;opacity:1}}
@keyframes neighbours-nudge-next{from{translate:100px 0;opacity:.8}to{translate:0 0;opacity:1}}
@keyframes neighbours-nudge-prev{from{translate:-100px 0;opacity:.8}to{translate:0 0;opacity:1}}
.cosmic-cabinet{position:relative;z-index:3;width:var(--cabinet-width);padding:0 15px 13px;min-width:0;border:1px solid var(--cabinet-edge);border-radius:20px 20px 12px 12px;
  background:linear-gradient(90deg,var(--cabinet-top),var(--cabinet) 2.5%,var(--cabinet) 97.5%,var(--cabinet-top));
  box-shadow:inset 2px 0 0 #ffffff0a,inset -2px 0 0 #ffffff0a,0 7px 0 var(--shadow),0 24px 55px #00000024}
.cosmic-cabinet:before,.cosmic-cabinet:after{content:'';position:absolute;top:20px;bottom:18px;width:3px;border-radius:2px;pointer-events:none}
.cosmic-cabinet:before{left:5px;background:#88e6f5;box-shadow:0 0 12px #88e6f549}
.cosmic-cabinet:after{right:5px;background:#c2acff;box-shadow:0 0 12px #c2acff49}
.cabinet-marquee{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:24px;
  margin:0 -1px 13px;padding:20px 26px 18px;min-height:112px;border:1px solid var(--cabinet-line);border-top:0;border-radius:16px 16px 8px 8px;
  background:linear-gradient(120deg,var(--cabinet-top),var(--cabinet),var(--cabinet-top));box-shadow:inset 0 -2px 0 #00000020,0 5px 22px var(--glow-violet)}
.cabinet-marquee:after{content:'';position:absolute;left:22px;right:22px;bottom:0;height:2px;background:linear-gradient(90deg,#88e6f5,#c2acff,#88e6f5);box-shadow:0 0 9px #b7a5fa44}
.cabinet-marquee p[data-console-genre]{grid-column:1;margin:0 0 7px;color:var(--cabinet-soft);font:700 .6875rem/1.4 'Courier New',monospace;letter-spacing:.11em;text-transform:uppercase}
.cabinet-marquee h1{grid-column:1;margin:0;color:var(--cabinet-ink);font:700 clamp(1.5rem,3vw,2.375rem)/1.2 ArcadeUI,'Courier New',monospace;letter-spacing:-.045em;text-shadow:0 2px 18px var(--glow-violet)}
.console-meta{grid-column:2;grid-row:1;display:flex;align-items:flex-end;justify-content:center;flex-direction:column;gap:9px;font-size:.75rem;color:var(--cabinet-soft);min-width:0}
[data-console-status]{display:inline-flex;align-items:center;gap:7px;font-weight:700;line-height:1.3}
[data-console-status]:before{content:'';width:6px;height:6px;border-radius:50%;background:#98e3b8;box-shadow:0 0 8px #98e3b855}
.platform-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.platform-badges>span,.platform-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--cabinet-line);border-radius:5px;
  background:var(--cabinet);color:var(--cabinet-soft);font-size:.6875rem;line-height:1.4;font-weight:700;white-space:nowrap}
.screen-shell{position:relative;padding:11px;border:1px solid var(--cabinet-edge);border-radius:10px;background:linear-gradient(150deg,#030510,#191b30,#030510);
  box-shadow:inset 0 5px 5px #00000060,inset 0 -2px 0 #ffffff12,0 2px 0 #ffffff0a}
.screen-shell:before{content:'';position:absolute;inset:5px;border:1px solid #ffffff0b;border-radius:7px;pointer-events:none}
.console-screen{position:relative;aspect-ratio:16/9;min-width:0;background:#01001e;overflow:hidden;border:1px solid #30344c;border-radius:3px;color:#fff}
.game-stage{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#01001e}
.game-stage>iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;outline:none}
.launch-screen{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;isolation:isolate;overflow:hidden;background:#01001e}
.launch-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:contain;background:#01001e}
.launch-screen:after{content:'';position:absolute;inset:40% 0 0;z-index:-1;background:linear-gradient(transparent,#020219cc);pointer-events:none}
.launch-controls{display:flex;flex-direction:column;align-items:center;gap:13px;padding:25px 20px 28px;text-align:center;max-width:100%}
.launch-controls .button{min-width:150px;min-height:54px;padding:13px 30px;font-size:1.1875rem;border-radius:8px;
  background:linear-gradient(110deg,#90e5ef,#bea9ff);color:#16142a;border:1px solid #d8d6ff;box-shadow:0 3px 0 #1c2344,0 0 22px #b8aaff30}
.launch-controls .button:hover{filter:brightness(1.09);box-shadow:0 3px 0 #1c2344,0 0 25px #b8aaff50}
.launch-note{max-width:550px;color:#e8e4fc;font-size:.8125rem;line-height:1.4;margin:0;text-wrap:balance;text-shadow:0 1px 6px #000}
.launch-controls h2,.launch-controls h3{font:700 clamp(1.25rem,2.5vw,2rem)/1.3 ArcadeUI,'Courier New',monospace;margin:0;color:#f3ecff}
.launch-controls>p:not(.launch-note){margin:0;max-width:560px;color:#eee7ff}
.launch-unavailable{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border:1px solid #ada0d96b;border-radius:7px;
  background:#211b39d9;color:#e9deff;font:700 clamp(.875rem,2vw,1.25rem)/1.4 ArcadeUI,'Courier New',monospace;box-shadow:0 3px 14px #0003}
.launch-screen:has(.launch-unavailable) .launch-art{opacity:.7}
.cosmic-cabinet:has(.launch-unavailable) [data-console-status]:before{background:#c2acff;box-shadow:0 0 8px #c2acff44}
.launch-screen.is-unavailable .launch-art,.launch-screen.unavailable .launch-art{opacity:.62}
.launch-screen.is-unavailable,.launch-screen.unavailable{align-items:center}
.unavailable-copy{padding:20px;max-width:580px;color:#f3efff;text-align:center}
.unavailable-copy h2{font-size:clamp(1.25rem,2.5vw,2rem);margin:0 0 12px}
.unavailable-copy p{margin:0 0 15px}
.cabinet-deck{position:relative;display:grid;grid-template-areas:"controls brand count";grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:16px;row-gap:14px;min-height:100px;margin:9px 0 0;padding:14px 22px 13px;
  border:1px solid var(--cabinet-line);border-radius:6px 6px 9px 9px;background:linear-gradient(175deg,var(--cabinet-top),var(--cabinet) 65%);
  box-shadow:inset 0 2px 0 #ffffff11,inset 0 -3px 0 #0000002a}
.arcade-controls{grid-area:controls;position:relative;display:flex;align-items:center;gap:9px;justify-self:start;width:100px;max-width:100%;min-width:0;min-height:58px;padding-bottom:10px;pointer-events:none}
.arcade-button{display:block;width:26px;height:23px;flex-shrink:0;border:3px solid #0c1022;border-radius:50%;
  background:radial-gradient(ellipse at 42% 26%,#b9f6ff,#7bd8e5 48%,#3b7b9b);box-shadow:0 3px 0 #080b17,0 4px 4px #0007,inset 0 1px 0 #ffffffb3}
.arcade-button:nth-child(2){background:radial-gradient(ellipse at 42% 26%,#e2d1ff,#b096ec 48%,#65519b)}
.arcade-button:nth-child(3){background:radial-gradient(ellipse at 42% 26%,#fff0c3,#ecc46f 48%,#a77032)}
.control-panel-lines{position:absolute;left:3px;right:14px;bottom:7px;height:4px;border-block:1px solid var(--cabinet-line);opacity:.7}
/* The selected pixel label is printed directly on each cabinet deck. */
.cabinet-brand,.neighbour-brand{--brand-cyan:#88e6f5;--brand-violet:#c2acff;--brand-size:clamp(1.25rem,2.15vw,1.75rem);
  position:relative;display:inline-flex;align-items:baseline;justify-content:center;gap:.32em;width:max-content;max-width:100%;min-width:0;margin:0;padding:0 0 0 1.05em;
  color:var(--cabinet-ink);font:700 calc(var(--brand-size)*.66)/1.5 ArcadeUI,'Courier New',monospace;letter-spacing:-.045em;
  text-align:left;white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal}
.cabinet-brand{grid-area:brand;justify-self:center}
.cabinet-brand>span,.neighbour-brand>span{display:block}
.cabinet-brand:before,.neighbour-brand:before{content:'';position:absolute;left:0;top:.42em;width:.38em;height:.38em;background:var(--brand-cyan);box-shadow:.38em .38em 0 var(--brand-violet)}
.cabinet-brand>.brand-loot,.neighbour-brand>.brand-loot{color:var(--brand-cyan)}
.neighbour-deck>.neighbour-brand{--brand-size:.9375rem;justify-self:center}
.public-player-count{grid-area:count;display:grid;grid-template-columns:minmax(0,1fr);justify-items:end;justify-self:end;gap:2px;min-width:0;max-width:min(230px,100%);border-left:1px solid var(--cabinet-line);padding-left:25px;text-align:right}
.public-player-count small{color:var(--cabinet-soft);font-size:.6875rem;line-height:1.3;letter-spacing:.02em}
.public-player-count strong{font:700 clamp(.8125rem,1.25vw,1rem)/1.35 'Courier New',monospace;color:var(--cabinet-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.public-player-count strong[data-state="available"]{display:flex;padding:7px 9px 6px;border:1px solid #4c5269;border-radius:4px;background:#111522;box-shadow:inset 0 2px 5px #0008}
.public-player-count .counter-digits{display:flex;align-items:flex-end;gap:.13em;font-size:clamp(1rem,1.65vw,1.375rem);--counter-lit:#bfecef;--counter-unlit:#7b96a126}
.public-player-count .counter-digits[data-long="true"]{font-size:.5625rem;gap:.1em}
.public-player-count .counter-digit{position:relative;display:block;flex:none;width:.58em;height:1.08em;transform:skew(-6deg)}
.public-player-count .counter-segment{position:absolute;display:block;background:var(--counter-unlit)}
.public-player-count .counter-segment[data-active="true"]{background:var(--counter-lit);filter:drop-shadow(0 0 2px #a8eff733)}
.public-player-count .counter-segment-a,.public-player-count .counter-segment-g,.public-player-count .counter-segment-d{left:12%;width:76%;height:12%;clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%)}
.public-player-count .counter-segment-a{top:0}.public-player-count .counter-segment-g{top:44%}.public-player-count .counter-segment-d{bottom:0}
.public-player-count .counter-segment-b,.public-player-count .counter-segment-c,.public-player-count .counter-segment-e,.public-player-count .counter-segment-f{width:17%;height:42%;clip-path:polygon(0 10%,50% 0,100% 10%,100% 90%,50% 100%,0 90%)}
.public-player-count .counter-segment-b{top:7%;right:0}.public-player-count .counter-segment-c{bottom:7%;right:0}.public-player-count .counter-segment-e{bottom:7%;left:0}.public-player-count .counter-segment-f{top:7%;left:0}
.public-player-count .counter-separator{position:relative;display:block;flex:none;width:.16em;height:1.08em}
.public-player-count .counter-separator:after{content:"";position:absolute;right:0;bottom:-.035em;width:.1em;height:.17em;background:var(--counter-lit);clip-path:polygon(35% 0,100% 0,100% 55%,0 100%)}
.public-player-count>span{color:var(--cabinet-soft);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.3}
.console-underbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px 24px;margin:20px 0 0}
.console-underbar a,.console-underbar button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 11px;
  border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:.8125rem;font-weight:700;line-height:1.4}
.console-underbar a:hover,.console-underbar button:not(:disabled):hover{color:var(--cyan);background:var(--surface);border-color:var(--line)}
.console-underbar .console-expand{color:var(--cyan);border-color:var(--cyan);background:var(--surface);box-shadow:0 2px 0 var(--shadow)}
.console-underbar .console-expand:not(:disabled):hover{background:var(--selection);border-color:var(--cyan)}
.console-expand:before{content:'';display:block;flex-shrink:0;width:16px;height:16px;
  background:linear-gradient(currentColor,currentColor) left top/6px 2px no-repeat,
    linear-gradient(currentColor,currentColor) left top/2px 6px no-repeat,
    linear-gradient(currentColor,currentColor) right top/6px 2px no-repeat,
    linear-gradient(currentColor,currentColor) right top/2px 6px no-repeat,
    linear-gradient(currentColor,currentColor) left bottom/6px 2px no-repeat,
    linear-gradient(currentColor,currentColor) left bottom/2px 6px no-repeat,
    linear-gradient(currentColor,currentColor) right bottom/6px 2px no-repeat,
    linear-gradient(currentColor,currentColor) right bottom/2px 6px no-repeat}
.console-description{max-width:730px;text-align:center;color:var(--muted);font-size:.9375rem;line-height:1.6;margin:8px auto 0}
.device-note{max-width:730px;margin:13px auto 0;padding:12px 16px;border-left:2px solid var(--violet);background:var(--surface);color:var(--muted);font-size:.8125rem;line-height:1.6;border-radius:0 5px 5px 0}
.cosmic-cabinet.is-switching,.cosmic-cabinet.is-loading{opacity:.7}

/* Expanded play uses the available viewport without forcing an orientation. */
body.game-expanded{overflow:hidden;overscroll-behavior:none}
body.game-expanded .cosmic-hub{z-index:100}
body.game-expanded .arcade-stage>.cosmic-cabinet{z-index:10}
body.game-expanded .arcade-navigation,body.game-expanded .neighbour-cabinet{visibility:hidden;pointer-events:none}
.console-screen.is-expanded,.console-screen:fullscreen{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;aspect-ratio:auto;
  width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:#01001e;overflow:hidden}
.console-screen.is-expanded .game-stage,.console-screen:fullscreen .game-stage{flex:1 1 0;min-height:0;min-width:0;width:100%;height:auto;
  padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}
.console-screen.is-expanded .game-stage>iframe,.console-screen:fullscreen .game-stage>iframe{
  top:0;left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);
  width:calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right));height:calc(100% - env(safe-area-inset-bottom))}
.expanded-toolbar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:15px;flex:0 0 auto;
  padding:6px max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left));padding-top:max(6px,env(safe-area-inset-top));
  border-bottom:1px solid #3e3b59;background:#111125;color:#f4efff}
.expanded-toolbar>span{font:700 .8125rem/1.4 ArcadeUI,'Courier New',monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.expanded-toolbar button{min-height:44px;flex-shrink:0;padding:9px 14px;border:1px solid #625e82;border-radius:6px;background:#23203c;color:#f3edff;font-size:.8125rem;font-weight:700}
.expanded-toolbar button:hover{border-color:#b8a6ff;background:#322a4b}

/* A browsable shelf distinguishes games by the devices they support. */
.library-section{padding:50px 0 65px}
.library-section .section-heading{margin-bottom:24px}.library-section h2{margin:0;font-size:clamp(1.75rem,3vw,2.4rem);letter-spacing:-.035em;line-height:1.2}
.library-section .section-heading>p,.library-section [data-library-summary]{font-size:.875rem;color:var(--muted);margin:0}
.library-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;margin:0 0 25px}
.device-filters{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.device-filters button{min-height:44px;max-width:100%;padding:9px 14px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted);font-size:.8125rem;font-weight:700;line-height:1.4}
.device-filters button:hover{color:var(--text);background:var(--raised);border-color:var(--edge)}
.device-filters button[aria-pressed="true"]{background:var(--selection);color:var(--cyan);border-color:var(--cyan);box-shadow:inset 0 1px 0 #ffffff12}
#game-search{width:min(250px,100%);min-width:0;min-height:44px;margin:0;padding:10px 13px;background:var(--field);color:var(--text);border:1px solid var(--edge);border-radius:7px;font-size:.875rem}
#game-search::placeholder{color:var(--muted);opacity:1}
.game-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.library-game{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 4px 0 var(--shadow);transition:border-color .18s,box-shadow .18s}
.library-game:hover{border-color:var(--edge);box-shadow:0 4px 0 var(--shadow),0 8px 24px var(--glow-violet)}
.library-game.is-selected,.library-game[aria-current="true"]{border-color:var(--cyan);box-shadow:0 4px 0 var(--shadow),0 0 0 1px var(--cyan)}
.library-game>img,.library-game>a>img,.library-art img,.library-game .game-art img{width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;background:#01001e}
.library-art,.library-game>.game-art{position:relative;aspect-ratio:16/9;background:#01001e;border-bottom:1px solid var(--line)}
.library-game-content,.library-card-content,.library-game>.game-content,.library-game>div:not(.library-art):not(.game-art){display:flex;flex-direction:column;flex:1;gap:0;padding:22px}
.library-game h3{margin:0 0 12px;font-size:1.3125rem;letter-spacing:-.03em;line-height:1.25}
.library-game p{margin:0 0 18px;font-size:.875rem;color:var(--muted);line-height:1.65}
.library-game .platform-badges{justify-content:flex-start;margin:0 0 14px;gap:5px}
.library-game .platform-badges>span,.library-game .platform-badge{color:var(--muted);background:var(--surface-alt);border-color:var(--line);padding:4px 7px}
.library-game .status-label{margin:0 0 14px;align-self:flex-start}.library-game .game-meta{margin:0 0 14px}
.library-game-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;margin-bottom:13px;font-size:.6875rem;line-height:1.5;font-weight:700;letter-spacing:.03em;color:var(--violet);text-transform:uppercase}
.library-game-meta span:last-child{padding:3px 7px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:.625rem;white-space:nowrap;background:var(--surface-alt)}
.library-game .game-support-note{font-size:.75rem;color:var(--violet);line-height:1.6;margin:0 0 21px}
.library-game-actions{margin-top:auto;display:flex;align-items:stretch;flex-direction:column}.game-search{min-width:0}
.library-game .button{margin-top:auto;width:100%;font-size:.875rem}
.library-game .text-link{align-self:center;margin-top:8px;font-size:.8125rem;min-height:44px}
.library-empty{padding:35px 25px;border:1px dashed var(--edge);border-radius:9px;color:var(--muted);text-align:center;margin:0;background:var(--surface)}

/* Information pages retain familiar content and supplied artwork. */
.section{padding:64px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:0 0 30px}
.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{margin:0;font-size:clamp(1.875rem,3vw,2.7rem);line-height:1.2;letter-spacing:-.04em}
.section-heading>p{max-width:390px;margin:0;color:var(--muted)}
.page-head{padding:42px 0 48px;background:radial-gradient(ellipse at 75% 0,var(--glow-violet),transparent 75%);border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(2.25rem,4.5vw,4rem);line-height:1.12;letter-spacing:-.055em;margin:0 0 24px}
.page-head .intro{max-width:750px;font-size:1.125rem;color:var(--muted);margin:0 0 22px}
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.8125rem;color:var(--muted);margin:0 0 28px}
.crumbs a{text-decoration:underline;text-underline-offset:4px}.crumbs a:hover{color:var(--cyan)}
.game-info-section{padding:45px 0 55px;border-bottom:1px solid var(--line)}
.game-info-grid,.game-description-grid,.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:55px;align-items:center}
.game-details-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:55px;align-items:center}
.game-details-grid>div{min-width:0}.game-details-head .crumbs{margin-bottom:27px}.game-details-head .intro{font-size:1rem;line-height:1.7}
.game-info-grid h1,.game-info-grid h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.2;letter-spacing:-.04em;margin:0 0 20px}
.game-info-grid .intro,.game-description-grid p{color:var(--muted);margin:0 0 20px;font-size:1rem;line-height:1.7}
.game-page-art{aspect-ratio:16/9;min-width:0;border:1px solid var(--edge);border-radius:9px;overflow:hidden;background:#01001e;box-shadow:0 5px 0 var(--shadow)}
.game-page-art>img,.game-cover{width:100%;height:100%;object-fit:contain;background:#01001e}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}
.tag-row span,.status-label{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--line);border-radius:5px;color:var(--violet);font-size:.75rem;font-weight:700;line-height:1.5;background:var(--surface)}
.status-label{margin-bottom:17px}.game-description-grid{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.game-description-grid h2{font-size:2rem;line-height:1.2;letter-spacing:-.04em;margin:0 0 23px}
.feature-list{list-style:none;padding:0;margin:0}.feature-list li{padding:16px 0;border-bottom:1px solid var(--line)}
.feature-list li:first-child{padding-top:0}.feature-list strong{display:block;font-size:1.0625rem;line-height:1.4;margin-bottom:7px}
.feature-list span{display:block;font-size:.9375rem;line-height:1.7;color:var(--muted)}
.game-credit{padding-top:20px;border-top:1px solid var(--line);font-size:.8125rem!important;color:var(--violet)!important}
.screenshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.screenshot-grid figure{margin:0;min-width:0}.screenshot-grid button{display:block;padding:0;width:100%;border:1px solid var(--edge);border-radius:7px;overflow:hidden;background:#01001e;box-shadow:0 3px 0 var(--shadow)}
.screenshot-grid button:hover{border-color:var(--cyan)}.screenshot-grid img{width:100%;aspect-ratio:16/9;object-fit:contain;image-rendering:pixelated}
.screenshot-grid figcaption{font-size:.8125rem;margin-top:12px;color:var(--muted)}
.games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.game-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden;min-width:0}
.game-art{aspect-ratio:16/9;background:#01001e}.game-art img{width:100%;height:100%;object-fit:contain}
.game-content{padding:22px;display:flex;flex-direction:column;flex:1}.game-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;font-size:.6875rem;line-height:1.5;text-transform:uppercase;color:var(--cyan);margin:0 0 12px}
.game-meta span:last-child{color:var(--muted)}.game-card h3{font-size:1.375rem;letter-spacing:-.03em;line-height:1.25;margin:0 0 13px}
.game-card p{color:var(--muted);font-size:.9375rem;margin:0 0 22px}.game-content .button{margin-top:auto;width:100%;justify-content:space-between;font-size:.875rem}
.game-content .button span:last-child{font-size:.6875rem;color:var(--muted)}
.related-game{min-width:0;padding:27px;border:1px solid var(--line);background:var(--surface);border-radius:8px}
.related-game h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.03em;margin:0 0 15px}.related-game p{color:var(--muted);margin:0 0 20px}
.service-cards,.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}
.process{background:var(--surface-alt);border-block:1px solid var(--line)}
.three-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.content-block{padding-top:21px;border-top:2px solid var(--edge);min-width:0}
.content-block h3{font-size:1.375rem;line-height:1.25;letter-spacing:-.03em;margin:0 0 14px}.content-block p{color:var(--muted);font-size:.9375rem;margin:0;line-height:1.7}
.inline-callout{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:30px;border:1px solid var(--line);border-left:3px solid var(--violet);background:var(--surface);border-radius:8px}
.inline-callout h2{margin:0 0 12px;font-size:1.75rem;line-height:1.2;letter-spacing:-.03em}.inline-callout p{margin:0;color:var(--muted)}.inline-callout .button{flex-shrink:0}
.creator-band{padding:32px 0;background:var(--music-surface);border-bottom:1px solid var(--line)}
.creator-band-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.creator-band h2{font-size:1.625rem;line-height:1.3;margin:0 0 12px}
.creator-band .eyebrow{margin-bottom:10px}.creator-band p:last-child{color:var(--muted);margin:0;max-width:740px}.creator-band .button{flex-shrink:0}
.studio-profile{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:65px;align-items:center}
.studio-strip-section{background:var(--surface-alt);border-top:1px solid var(--line)}
.studio-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:start;gap:85px}
.studio-strip h2{font-size:clamp(1.75rem,2.75vw,2.4rem);line-height:1.2;letter-spacing:-.04em;margin:0 0 20px}
.studio-strip p:not(.eyebrow){font-size:.9375rem;color:var(--muted);line-height:1.75;margin:0 0 14px;max-width:570px}
.studio-small-links{display:grid;gap:13px}.studio-small-links a{display:grid;gap:6px;padding:21px 23px;border:1px solid var(--line);border-radius:8px;background:var(--surface);transition:border-color .18s,background .18s}
.studio-small-links a:hover{border-color:var(--violet);background:var(--raised)}
.studio-small-links span{font-size:.6875rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.studio-small-links strong{font-size:1.1875rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.studio-small-links small{font-size:.75rem;color:var(--muted);line-height:1.5}
.studio-name h2{font:700 clamp(2.75rem,5.7vw,4.75rem)/1.15 ArcadeUI,'Courier New',monospace;letter-spacing:-.055em;color:var(--cyan);margin:0}
.studio-name h2 span{color:var(--violet)}.studio-profile h3{font-size:1.75rem;line-height:1.3;margin:0 0 23px}.studio-profile p:not(.pixel-label){color:var(--muted)}
.music{background:var(--music-surface);border-block:1px solid var(--line)}
.music-inner{padding:55px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:70px}
.music-name{font-size:clamp(2.75rem,5.5vw,4.8rem);font-weight:900;font-style:italic;letter-spacing:-.07em;line-height:.95;color:var(--violet);margin:0}
.music-name span{display:block}.music-copy h3{font-size:1.5rem;line-height:1.3;margin:0 0 19px;letter-spacing:-.03em}
.music-copy p,.music details{color:var(--muted);margin:0 0 20px}.music summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--text);font-weight:700}
.music details p{margin:12px 0 0}.music-credit{font-size:.8125rem;color:var(--violet);margin-top:22px}
.music-page-head{background:var(--music-surface)}.music-page-head .music-name{font-size:clamp(3rem,7vw,6rem);line-height:.97}
.music-page-head .intro{margin-top:28px}.music-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:65px}
.music-page-grid h2{font-size:1.875rem;line-height:1.25;margin:0 0 21px}.music-page-grid p{color:var(--muted)}
.music-stamp{padding:32px;border:1px solid var(--edge);border-radius:9px;background:var(--surface);box-shadow:0 4px 0 var(--shadow)}
.music-stamp h2{color:var(--violet);font:700 1.5rem/1.4 ArcadeUI,'Courier New',monospace}.music-stamp p{margin:0}
.loot-strip{padding:35px 0;background:var(--header);border-bottom:1px solid var(--line)}.loot-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.loot-inner .eyebrow{margin-bottom:9px}.loot-inner h2{font-size:1.75rem;line-height:1.25;letter-spacing:-.035em;margin:0 0 7px}.loot-inner p{color:var(--muted);margin:0}
.loot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.loot-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden}
.loot-image-link{display:grid;place-items:center;aspect-ratio:4/3;padding:24px;background:#fff}
.loot-image-link img{max-height:185px;width:auto;height:auto;object-fit:contain}
.loot-card-content{padding:23px;flex:1;display:flex;flex-direction:column}.loot-card-content h3{font-size:1.25rem;line-height:1.4;margin:0 0 23px}
.loot-card-content .pixel-label{font-size:.6875rem}.loot-card-content .button{margin-top:auto}
.catalogue-status{color:var(--muted);background:var(--surface-alt);padding:13px 17px;border-left:3px solid var(--violet);margin:0 0 28px;font-size:.875rem}
.footer{padding:30px 0;border-top:1px solid var(--line);background:var(--header)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
.footer-brand{font-size:1rem;font-style:italic;font-weight:900;letter-spacing:-.04em}.footer-inner p{font-size:.75rem;color:var(--muted);margin:0}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 23px;font-size:.8125rem;color:var(--muted)}.footer-links a{display:inline-flex;align-items:center;min-height:44px}
.footer-links a:hover{color:var(--cyan)}

/* Native dialogs keep installation advice short and the browser option obvious. */
dialog{width:min(660px,calc(100% - 32px));padding:0;border:1px solid var(--edge);border-radius:15px;background:var(--surface);color:var(--text);
  max-height:90vh;max-height:90dvh;box-shadow:0 24px 120px #0008;overflow:auto}
dialog::backdrop{background:#050615cf;backdrop-filter:blur(6px)}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 25px;border-bottom:1px solid var(--line);background:var(--surface-alt)}
.dialog-top p{font-size:.75rem;color:var(--cyan);margin:0;letter-spacing:.06em;font-weight:700;text-transform:uppercase}
.close,[data-close-iphone]{display:grid;place-items:center;min-width:44px;min-height:44px;flex-shrink:0;border:1px solid var(--edge);border-radius:7px;background:var(--surface);font-size:1.4rem;line-height:1}
.close:hover,[data-close-iphone]:hover{background:var(--raised);border-color:var(--cyan)}
.dialog-body{padding:28px}.dialog-body h2{font-size:1.875rem;line-height:1.2;letter-spacing:-.04em;margin:0 0 20px}.dialog-body p{margin:0 0 20px;color:var(--muted)}
#iphone-play-dialog{width:min(510px,calc(100% - 32px))}
#iphone-play-dialog>[data-close-iphone]{margin:13px 13px 0 auto}
#iphone-play-dialog [data-iphone-choice],#iphone-play-dialog [data-iphone-instructions]{padding:10px 28px 28px}
#iphone-play-dialog .dialog-body [data-iphone-choice],#iphone-play-dialog .dialog-body [data-iphone-instructions]{padding:0}
#iphone-play-dialog h2{font-size:1.75rem;line-height:1.2;letter-spacing:-.035em;margin:0 0 18px}
#iphone-play-dialog p{font-size:.9375rem;line-height:1.7;color:var(--muted);margin:0 0 23px}
#iphone-play-dialog .button,#iphone-play-dialog button[data-iphone-install],#iphone-play-dialog button[data-iphone-browser],#iphone-play-dialog button[data-iphone-back]{width:100%;min-height:48px;line-height:1.4;margin-top:11px;padding:12px 16px;
  border:1px solid var(--edge);border-radius:7px;background:var(--surface-alt);font-size:.9375rem;font-weight:700}
#iphone-play-dialog button[data-iphone-install]{background:linear-gradient(115deg,var(--button-start),var(--button-end));color:var(--button-text);border-color:transparent}
#iphone-play-dialog button[data-iphone-browser]:hover,#iphone-play-dialog button[data-iphone-back]:hover{background:var(--raised);border-color:var(--cyan)}
#iphone-play-dialog ol{padding-left:22px;color:var(--muted);font-size:.9375rem;margin:0 0 22px}#iphone-play-dialog li{padding:0 0 13px 5px}
.gallery-dialog{width:min(1120px,calc(100% - 32px))}.gallery-dialog .dialog-body{padding:15px}
.gallery-dialog img{width:100%;max-height:68vh;max-height:68dvh;object-fit:contain;background:#01001e;image-rendering:pixelated}
.gallery-caption{font-size:.9375rem!important;margin:15px 8px 5px!important}

@media(min-width:1101px) and (min-height:740px){
  .arcade-stage{--cabinet-width:min(960px,max(650px,calc((100svh - 390px)*1.77778 + 56px)),calc(100vw - 420px))}
}
@media(min-width:761px) and (max-width:1100px){
  .arcade-stage{--cabinet-width:calc(100vw - 300px);--neighbour-width:250px}
  .console-toolbar{width:calc(100% - 50px);margin-bottom:16px}.arcade-browse-label{font-size:.625rem}
  .arcade-arrow{width:92px;min-height:100px;gap:7px;padding-inline:5px}
  .arcade-arrow[data-console-prev]{left:calc(50% - var(--cabinet-width)/2 - 119px)}
  .arcade-arrow[data-console-next]{right:calc(50% - var(--cabinet-width)/2 - 119px)}
  .arrow-copy{font-size:.625rem}.arrow-graphic{scale:.85}
  .neighbour-cabinet{top:26px}
  .neighbour-marquee{min-height:100px;padding-inline:12px;gap:7px}
  .neighbour-marquee [data-neighbour-title]{max-width:125px;font-size:.75rem;line-height:1.45}
  .neighbour-kicker{font-size:.5rem;letter-spacing:.035em}.neighbour-marquee [data-neighbour-platforms]{font-size:.5625rem}
  .neighbour-deck{min-height:94px;padding-inline:12px;gap:7px}.neighbour-deck>.neighbour-brand{--brand-size:.8125rem}
  .neighbour-deck [data-neighbour-status]{font-size:.5625rem}
  .cabinet-marquee{column-gap:14px;padding-inline:19px}.cabinet-marquee h1{font-size:clamp(1.25rem,2.2vw,1.875rem)}
  .cabinet-marquee p[data-console-genre]{font-size:.5625rem}.console-meta{font-size:.625rem;max-width:115px}
  .cabinet-deck{grid-template-areas:". brand count";grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding-inline:14px;gap:12px}.arcade-controls{display:none}
  .cabinet-brand{--brand-size:1.375rem}.public-player-count{max-width:min(185px,100%);padding-left:16px}
  .public-player-count strong{font-size:.8125rem}
}
@media(max-width:1080px){
  .wrap{width:calc(100% - 56px)}.header-inner{position:relative;min-height:82px;gap:20px}.header-controls{margin-left:auto}.menu-toggle{display:block}
  .nav{display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;z-index:20;align-items:stretch;flex-direction:column;gap:3px;margin:0;padding:15px;
    border:1px solid var(--edge);border-radius:0 0 10px 10px;background:var(--header);box-shadow:0 12px 25px #0003}
  .nav.is-open{display:flex}.nav a{padding:11px 12px;font-size:.9375rem;border-radius:5px}.nav a:hover{background:var(--surface)}
  .nav a:is([aria-current="page"],[aria-current="location"]){background:var(--selection)}.nav a:is([aria-current="page"],[aria-current="location"]):after{top:12px;bottom:12px;left:0;right:auto;width:2px;height:auto}
  .nav .theme-picker{width:100%;justify-content:center;margin-top:10px;border-color:var(--line)}.nav .theme-option{flex:1}
  .console-shell{width:100%}.console-meta{gap:8px}
  .game-info-grid,.game-details-grid,.game-description-grid,.music-page-grid{gap:35px}.studio-profile,.studio-strip{gap:40px}.music-inner{gap:40px}
  .game-library-grid{gap:18px}.library-tools{gap:14px}#game-search{width:230px}
}
@media(max-width:800px){
  .game-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .library-tools{align-items:stretch}#game-search{flex:1;width:auto;min-width:min(230px,100%)}
  .studio-profile,.studio-strip,.music-page-grid,.game-info-grid,.game-details-grid,.hero-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .game-info-grid .game-page-art{max-width:700px;width:100%}.studio-name h2{font-size:3rem}.three-columns{gap:20px}
}
@media(max-width:760px), (max-width:1020px) and (pointer:coarse){
  .cosmic-hub{padding:12px 0 28px}.console-shell{width:100%;margin-inline:auto}
  .console-toolbar{width:calc(100% - 32px);margin:0 auto 9px;padding:0;gap:10px;align-items:center}
  .console-view-info{font-size:.5625rem;line-height:1.5;letter-spacing:.04em;max-width:155px}.arcade-browse-label{font-size:.5625rem;letter-spacing:.025em;text-align:right}
  .arcade-stage{--cabinet-width:calc(100vw - 8px);display:flex;flex-direction:column;align-items:center;padding-bottom:8px}
  .arcade-stage:before,.neighbour-cabinet{display:none}
  .arcade-navigation{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;
    width:calc(100% - 24px);margin:0 auto 12px;pointer-events:auto}
  .arcade-arrow{position:relative;inset:auto!important;top:auto;display:flex;flex-direction:row;gap:8px;width:100%;min-height:66px;padding:10px;
    border-radius:9px;transform:none}
  .arcade-arrow[data-console-next]{flex-direction:row-reverse}
  .arrow-graphic{width:42px;height:34px;scale:1}
  .arrow-graphic:before,.arrow-graphic:after{top:6px;width:22px;height:22px;border-width:5px}
  .arrow-graphic:before{left:3px}.arrow-graphic:after{left:17px}
  .arrow-copy{max-width:60px;white-space:normal;font-size:.6875rem;line-height:1.25;text-wrap:balance}
  .arcade-position{position:static;transform:none;min-width:58px;max-width:66px;gap:5px;white-space:normal;text-align:center}
  .arcade-position small{font-size:.5rem;line-height:1.4;letter-spacing:.035em}.arcade-navigation [data-console-position]{font-size:.6875rem;letter-spacing:.04em}
  .cosmic-cabinet{padding:0 2px 5px;border-radius:12px 12px 8px 8px;box-shadow:0 5px 0 var(--shadow),0 16px 30px #00000020}
  .cosmic-cabinet:before,.cosmic-cabinet:after{top:14px;bottom:12px;width:1px;opacity:.85}.cosmic-cabinet:before{left:1px}.cosmic-cabinet:after{right:1px}
  .cabinet-marquee{min-height:92px;column-gap:10px;margin:0 0 5px;padding:13px 13px 12px;border-radius:9px 9px 5px 5px}
  .cabinet-marquee:after{left:12px;right:12px;height:1px}.cabinet-marquee p[data-console-genre]{font-size:.5rem;letter-spacing:.05em;margin-bottom:7px}
  .cabinet-marquee h1{font-size:clamp(1rem,4.8vw,1.625rem);line-height:1.3;letter-spacing:-.05em}
  .console-meta{gap:7px;font-size:.5625rem;max-width:112px}.platform-badges{gap:3px}.platform-badges>span,.platform-badge{padding:3px 5px;font-size:.5rem;border-radius:3px}
  [data-console-status]{gap:4px;line-height:1.3}[data-console-status]:before{width:4px;height:4px}
  .screen-shell{padding:1px;border-width:0;border-radius:3px;box-shadow:inset 0 1px 0 #0006}.screen-shell:before{display:none}.console-screen{border-width:0;border-radius:1px}
  .launch-controls{gap:9px;padding:14px 12px 17px}.launch-controls .button{min-height:44px;min-width:120px;padding:10px 21px;font-size:.9375rem;border-radius:6px}
  .launch-note{font-size:.625rem;line-height:1.35;max-width:270px}.launch-controls h2,.launch-controls h3{font-size:1.125rem}.launch-controls>p:not(.launch-note){font-size:.75rem}
  .cabinet-deck{grid-template-areas:"brand" "count";grid-template-columns:minmax(0,1fr);row-gap:10px;min-height:84px;margin:4px 0 0;padding:12px 14px 13px;border-radius:4px 4px 6px 6px}
  .arcade-controls{display:none}.cabinet-brand{--brand-size:1.65rem}
  .public-player-count{max-width:100%;width:100%;justify-items:center;justify-self:center;padding:10px 0 0;border:0;border-top:1px solid var(--cabinet-line);gap:3px;text-align:center}
  .public-player-count small{font-size:.5625rem;line-height:1.2}.public-player-count strong{font-size:.75rem;line-height:1.3}.public-player-count>span{font-size:.5625rem;letter-spacing:.04em;line-height:1.2}
  .console-underbar{gap:3px 6px;margin-top:14px;padding-inline:7px}.console-underbar a,.console-underbar button{min-height:44px;padding:9px 8px;font-size:.75rem}
  .console-description{font-size:.8125rem;line-height:1.65;padding-inline:16px;max-width:520px;margin-top:6px}.device-note{margin-inline:15px;padding:10px 12px;font-size:.75rem}
}
@media(max-width:700px){
  .wrap{width:calc(100% - 36px)}.console-shell{width:100%}
  .header-inner{min-height:73px;padding-block:10px;gap:14px}.wordmark-main{font-size:clamp(1.25rem,5.6vw,1.5rem)}
  .wordmark-main .wordmark-games{font-size:.5rem;letter-spacing:.04em;margin-left:.2em}
  .header-controls{gap:7px}.menu-toggle{padding:8px 12px}.nav{left:-6px;right:-6px}.nav .theme-option{font-size:.875rem}
  .library-section{padding:38px 0 45px}.library-section .section-heading{gap:12px;margin-bottom:20px}.library-section h2{font-size:1.75rem}.library-section [data-library-summary]{font-size:.8125rem}
  .library-tools{gap:13px;margin-bottom:21px;flex-direction:column}.device-filters{gap:5px}.device-filters button{padding:9px 11px;font-size:.75rem;flex-grow:1}
  #game-search{width:100%;min-width:0;flex:none;font-size:.875rem}.game-library-grid{grid-template-columns:1fr;gap:20px}
  .library-game{border-radius:10px}.library-game-content,.library-card-content,.library-game>.game-content,.library-game>div:not(.library-art):not(.game-art){padding:21px}
  .library-game h3{font-size:1.375rem}.library-game p{font-size:.9375rem}.library-game .platform-badges>span{font-size:.625rem;padding:4px 7px}
  .section{padding:45px 0}.section-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:25px}.section-heading h2{font-size:1.875rem}
  .page-head{padding:30px 0 35px}.page-head h1{font-size:clamp(2rem,8vw,3rem);margin-bottom:22px}.page-head .intro{font-size:1rem}.crumbs{margin-bottom:23px}
  .game-info-section{padding:35px 0 40px}.game-info-grid h1,.game-info-grid h2{font-size:2rem}.game-description-grid{grid-template-columns:minmax(0,1fr);gap:30px}.game-description-grid h2{font-size:1.75rem}
  .screenshot-grid,.games-grid,.service-cards,.about-grid,.three-columns,.loot-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .content-block{padding-top:19px}.inline-callout,.creator-band-inner,.loot-inner{flex-direction:column;align-items:flex-start;gap:23px}
  .inline-callout{padding:23px}.inline-callout .button{width:100%}.related-game{padding:24px}.creator-band{padding:28px 0}
  .music-inner{grid-template-columns:minmax(0,1fr);gap:30px;padding:42px 0}.music-name{font-size:clamp(2.75rem,11vw,4.5rem)}.music-copy h3{font-size:1.375rem}
  .music-page-head .music-name{font-size:clamp(2.75rem,11vw,4.5rem)}.music-stamp{padding:25px}.music-stamp h2{font-size:1.375rem}
  .studio-name h2{font-size:clamp(2.5rem,10vw,4rem)}.studio-profile h3{font-size:1.625rem}.footer{padding:25px 0}.footer-inner{flex-direction:column;align-items:flex-start;gap:16px}.footer-links{gap:4px 20px}
  .dialog-body{padding:24px}.dialog-top{padding:16px 20px}.dialog-body h2{font-size:1.625rem}#iphone-play-dialog [data-iphone-choice],#iphone-play-dialog [data-iphone-instructions]{padding:10px 24px 25px}
}
@media(max-width:360px){
  .console-toolbar{gap:6px}.console-view-info{max-width:122px;font-size:.5rem}.arcade-browse-label{font-size:.5rem}
  .arcade-navigation{gap:7px}.arcade-arrow{gap:5px;padding-inline:6px;min-height:64px}
  .arrow-graphic{width:34px;height:30px}.arrow-graphic:before,.arrow-graphic:after{top:6px;width:19px;height:19px;border-width:4px}
  .arrow-graphic:before{left:2px}.arrow-graphic:after{left:14px}.arrow-copy{max-width:48px;font-size:.59375rem}
  .arcade-position{min-width:54px}.arcade-position small{font-size:.46875rem}
  .cabinet-marquee{column-gap:7px;padding-inline:10px}.cabinet-marquee h1{font-size:.9375rem}.console-meta{max-width:96px;font-size:.5rem}.platform-badges>span{font-size:.4375rem;padding:3px 4px}
  .cabinet-deck{padding-inline:12px}.cabinet-brand{--brand-size:1.4rem}.public-player-count strong{font-size:.6875rem}
  .console-underbar{gap:0}.console-underbar a,.console-underbar button{font-size:.6875rem;padding-inline:7px}
}
@media(display-mode:standalone){
  body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  .header-inner,.console-toolbar{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
}
@media(orientation:landscape) and (max-height:550px){
  .cosmic-hub{padding-top:10px}.cabinet-marquee{min-height:85px;padding-block:13px}.cabinet-marquee h1{font-size:1.5rem}.cabinet-deck{min-height:80px;padding-block:10px}
  .expanded-toolbar{padding-block:4px;padding-top:max(4px,env(safe-area-inset-top))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
