:root{
  --rp-bg:#070909;
  --rp-surface:#0d1111;
  --rp-surface-2:#111515;
  --rp-ivory:#eee7d7;
  --rp-muted:#918f86;
  --rp-amber:#ffc400;
  --rp-lime:#a9df31;
  --rp-cobalt:#478bd3;
  --rp-rule:rgba(255,196,0,.24);
  --rp-rule-soft:rgba(238,231,215,.14);
  --rp-radius:18px;
  background:var(--rp-bg);
  color:var(--rp-ivory);
  font-family:Inter,"Segoe UI",ui-sans-serif,system-ui,sans-serif;
  scroll-behavior:smooth;
}

body{
  background:var(--rp-bg);
  color:var(--rp-ivory);
  min-height:100vh;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  opacity:.08;
  pointer-events:none;
  background-image:linear-gradient(rgba(71,139,211,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(255,196,0,.2) 1px,transparent 1px);
  background-size:64px 64px;
  background-position:center;
  mask-image:linear-gradient(145deg,transparent 35%,#000 100%);
}

.shell{
  width:min(100%,1536px);
  max-width:1536px;
  padding:14px 16px 28px;
}

.top{
  min-height:68px;
  margin:0 0 4px;
  padding:10px 14px;
  border:1px solid var(--rp-rule-soft);
  background:rgba(7,9,9,.92);
  box-shadow:0 18px 55px rgba(0,0,0,.24);
}

.brand{gap:14px}.brand .logo{
  width:48px;
  height:48px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--rp-amber);
  font-family:"Arial Black",Impact,sans-serif;
  font-size:34px;
  font-style:italic;
  letter-spacing:-.14em;
  transform:skew(-8deg);
  box-shadow:none;
  border-right:1px solid var(--rp-rule);
  padding-right:12px;
}

.brand h1{
  font-family:Bahnschrift,"Arial Narrow",sans-serif;
  font-size:22px;
  letter-spacing:.025em;
  color:var(--rp-ivory);
}

.brand p{
  color:var(--rp-muted);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.member{display:flex;align-items:center;gap:18px;text-align:left}.member-copy{padding-right:18px;border-right:1px solid var(--rp-rule-soft)}.member strong{font-size:13px;color:var(--rp-ivory)}.member span{display:block;margin-top:4px;color:var(--rp-lime);font-size:11px}.account-actions{margin:0;gap:10px;flex-wrap:nowrap}.account-actions .ghost{min-height:42px;border-radius:8px;border-color:var(--rp-rule);background:#0b0e0e;color:var(--rp-ivory);padding:9px 15px;font-size:12px;letter-spacing:.01em}.account-actions .ghost:hover{border-color:var(--rp-amber);background:#15150f}.account-actions svg{width:16px;height:16px;margin-right:8px;vertical-align:-3px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#subscription{min-width:190px;border-color:rgba(255,196,0,.7)}#subscription::before{content:"Ⅱ";display:inline-block;margin-right:10px;color:var(--rp-amber);font-weight:900;letter-spacing:-.2em}

.library-hero{
  position:relative;
  min-height:340px;
  overflow:hidden;
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--rp-rule-soft);
  isolation:isolate;
}

.hero-copy{
  position:relative;
  z-index:2;
  width:min(47%,650px);
  padding:36px 0 30px 46px;
}

.hero-copy h2{
  max-width:640px;
  margin:0;
  color:var(--rp-ivory);
  font-family:Impact,Bahnschrift,"Arial Narrow",sans-serif;
  font-size:clamp(72px,6.4vw,98px);
  font-stretch:condensed;
  font-weight:800;
  letter-spacing:.005em;
  line-height:.86;
  text-transform:uppercase;
  white-space:nowrap;
  width:132%;
  transform:scaleX(.76);
  transform-origin:left center;
  text-wrap:balance;
}

.hero-copy>p{
  max-width:470px;
  margin:20px 0 0;
  color:#b7b2a6;
  font-size:clamp(17px,1.5vw,23px);
  line-height:1.35;
}

.hero-copy>p strong{color:var(--rp-amber);font-weight:650}.hero-actions{display:flex;gap:12px;margin-top:26px}.hero-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-width:180px;padding:13px 17px;border:1px solid var(--rp-rule);border-radius:7px;color:var(--rp-ivory);font-size:13px;font-weight:700;text-decoration:none;transition:transform .22s ease,border-color .22s ease,background .22s ease}.hero-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s ease}.hero-cta:hover{transform:translateY(-2px);border-color:var(--rp-amber)}.hero-cta:hover svg{transform:translateX(4px)}.primary-cta{background:var(--rp-amber);border-color:var(--rp-amber);color:#090a08}.primary-cta:hover{background:#ffd02b}.secondary-cta{background:rgba(7,9,9,.7)}

.hero-stats{display:flex;gap:24px;margin-top:23px}.hero-stat{display:flex;align-items:center;gap:10px;min-width:135px;color:var(--rp-muted);font-size:11px}.hero-stat+ .hero-stat{padding-left:24px;border-left:1px solid var(--rp-rule-soft)}.hero-stat svg{width:31px;height:31px;fill:none;stroke:#b7b2a6;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.hero-stat span{display:grid;gap:2px}.hero-stat strong{color:var(--rp-ivory);font-size:14px;font-weight:500}

.hero-art{position:absolute;z-index:1;inset:0 0 0 34%;pointer-events:none;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 19%,#000 100%)}.hero-art::after{content:"";position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(transparent,var(--rp-bg));pointer-events:none}.hero-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 49%;animation:hero-drift 9s ease-in-out infinite alternate}

.catalog-shell{display:block;margin:0;padding:0 40px}.catalog-group{padding-top:20px}.catalog-group+.catalog-group{padding-top:16px}.catalog-group-heading{display:flex;align-items:center;gap:16px;margin:0 0 12px}.catalog-group-heading h2{flex:none;margin:0;color:#d8d1c2;font-family:Bahnschrift,"Arial Narrow",sans-serif;font-size:19px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.catalog-group-heading::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,var(--rp-rule),rgba(71,139,211,.15))}

.playable-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.game-card{position:relative}.playable-grid .game-card{display:flex;min-width:0;height:auto;padding:0;overflow:hidden;align-items:stretch;flex-direction:column;gap:0;border:1px solid rgba(255,196,0,.35);border-radius:9px;background:var(--rp-surface);box-shadow:0 12px 26px rgba(0,0,0,.2);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.playable-grid .game-card:hover{transform:translateY(-5px);border-color:rgba(255,196,0,.76);box-shadow:0 20px 38px rgba(0,0,0,.38)}.playable-grid .game-art{width:100%;height:auto;aspect-ratio:1.68/1;display:block;border-radius:0;background-size:cover;background-position:center;background-repeat:no-repeat;filter:saturate(.86) contrast(1.05);transition:filter .25s ease,transform .35s ease}.playable-grid .game-card:hover .game-art{filter:saturate(1) contrast(1.08);transform:scale(1.015)}.game-details{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px 13px 13px}.game-copy{min-width:0}.game-card h3{margin:0 0 5px;color:var(--rp-ivory);font-family:Bahnschrift,"Arial Narrow",sans-serif;font-size:19px;line-height:1}.game-card p{margin:2px 0;color:var(--rp-muted);font-size:11px;line-height:1.25}.game-card .machine{color:#b5b0a5}.game-actions{align-self:end}.game-card .play{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--rp-amber);border-radius:6px;background:var(--rp-amber);color:#090a08;padding:9px 12px;font-size:12px;font-weight:800}.game-card .play svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.game-card .play:hover svg{transform:translateX(3px)}

.roadmap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.roadmap-grid .game-card{display:grid;grid-template-columns:108px minmax(0,1fr);gap:0;align-items:stretch;min-height:100px;padding:0;overflow:hidden;border:1px solid var(--rp-rule-soft);border-radius:8px;background:rgba(13,17,17,.8)}.roadmap-grid .game-card:hover{border-color:var(--rp-rule)}.roadmap-grid .game-art{width:100%;height:100%;min-height:100px;background-size:cover;background-position:center}.roadmap-details{display:grid;align-content:center;gap:8px;padding:11px}.roadmap-grid .game-card h3{font-size:16px}.roadmap-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.badge{align-self:end;white-space:nowrap;border-color:var(--rp-rule-soft);border-radius:5px;color:var(--rp-muted);padding:5px 7px;font-size:9px}.rom-select{border:1px solid rgba(169,223,49,.45);border-radius:5px;background:transparent;color:var(--rp-lime);padding:5px 7px;font-size:9px;font-weight:750}.rom-select:hover{border-color:var(--rp-lime);background:rgba(169,223,49,.08)}.rom-loaded{border-color:rgba(169,223,49,.65)!important}.rom-loaded .badge{color:var(--rp-lime)}

#playerView{position:relative}.player-card{position:relative;background:linear-gradient(180deg,rgba(14,17,17,.96),rgba(8,10,10,.98));border-color:var(--rp-rule-soft)}#playerView .cabinet-marquee{position:relative;display:grid;align-content:end;width:min(100%,720px);height:132px;margin:0 auto 16px;padding:17px 20px;overflow:hidden;border:1px solid rgba(255,196,0,.45);border-radius:9px;background-image:linear-gradient(90deg,rgba(3,5,5,.05),rgba(3,5,5,.78)),var(--game-art);background-size:cover;background-position:center;color:var(--rp-ivory);box-shadow:inset 0 -70px 80px rgba(0,0,0,.55),0 12px 32px rgba(0,0,0,.35);text-align:left;text-shadow:0 2px 14px #000;font-family:Bahnschrift,"Arial Narrow",sans-serif;font-size:clamp(28px,4vw,48px);font-weight:800;letter-spacing:.03em;text-transform:uppercase}#playerView .cabinet-marquee::after{content:"POWERED BY RETRO RUNTIME";display:block;margin-top:3px;color:var(--rp-amber);font-family:Inter,"Segoe UI",sans-serif;font-size:9px;font-weight:700;letter-spacing:.2em}#playerView .screen-wrap{position:relative;box-shadow:0 0 0 1px rgba(255,196,0,.12),0 20px 50px rgba(0,0,0,.55)}#playerView .side-card{border-color:var(--rp-rule-soft);background:rgba(13,17,17,.92)}

.future-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.future-grid .game-card{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:68px;padding:10px 14px;border:1px solid rgba(169,223,49,.26);border-radius:8px;background:rgba(13,17,17,.8)}.future-mark{width:43px;height:43px;display:grid;place-items:center;border-left:9px solid var(--rp-cobalt);border-right:9px solid var(--rp-lime);color:var(--rp-amber);font-family:"Arial Black",sans-serif;font-size:13px;font-weight:900;transform:skew(-9deg)}.future-grid .game-card h3{font-size:16px}.future-grid .badge{border:0;color:var(--rp-lime);font-size:10px}

.platform-manifesto{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr) 300px;align-items:center;gap:20px;min-height:90px;margin:20px 0 0;padding:13px 26px;border:1px solid var(--rp-rule-soft);background:rgba(8,11,11,.9);overflow:hidden}.manifesto-mark{width:50px;height:50px;display:grid;place-items:center;border:1px solid var(--rp-amber);border-radius:50%;color:var(--rp-amber);font-family:"Arial Black",sans-serif;font-size:25px;font-style:italic}.platform-manifesto p{position:relative;z-index:1;margin:0;color:#777970;font-size:10px;line-height:1.5}.platform-manifesto p strong{color:#a5a297}.manifesto-lines{width:100%;height:64px;fill:none;stroke:rgba(255,196,0,.28);stroke-width:1}

.ghost,.primary,.arcade-btn{font-family:Inter,"Segoe UI",sans-serif}.ghost:focus-visible,.primary:focus-visible,.arcade-btn:focus-visible,.hero-cta:focus-visible,.game-card .play:focus-visible{outline:2px solid var(--rp-lime);outline-offset:3px}

@keyframes hero-drift{from{transform:scale(1.01) translate3d(0,0,0)}to{transform:scale(1.035) translate3d(-7px,-3px,0)}}

@media(max-width:1180px){
  .hero-copy{width:52%;padding-left:26px}.hero-copy h2{font-size:clamp(58px,8vw,86px);white-space:normal;width:auto;transform:none}.hero-art{left:38%}.playable-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.roadmap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-manifesto{grid-template-columns:55px 1fr}.manifesto-lines{display:none}
}

@media(max-width:820px){
  .shell{padding:8px 10px 20px}.top{align-items:center;gap:12px;padding:10px;margin-bottom:0}.brand{min-width:0}.brand .logo{width:38px;height:40px;font-size:28px;padding-right:9px}.brand h1{font-size:17px}.brand p{font-size:8px;letter-spacing:.1em}.member{gap:8px}.member-copy{display:none}.account-actions{gap:6px}.account-actions .ghost{min-height:38px;padding:8px 10px;font-size:11px}#subscription{min-width:0;font-size:0}#subscription::before{content:"Ⅱ";margin:0;font-size:15px;letter-spacing:-.16em}.library-hero{min-height:660px;display:block;border-bottom:0}.hero-copy{width:100%;padding:48px 14px 0}.hero-copy h2{font-size:clamp(66px,20vw,104px);line-height:.82}.hero-copy>p{max-width:400px;font-size:17px}.hero-actions{flex-wrap:wrap}.hero-cta{min-width:0;flex:1}.hero-stats{gap:12px}.hero-stat+ .hero-stat{padding-left:12px}.hero-art{inset:310px -80px 0 4%;mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 85%,transparent 100%)}.hero-art::after{height:25%}.catalog-shell{padding:0 12px}.catalog-group{padding-top:22px}.catalog-group-heading h2{font-size:17px}.playable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.future-grid{grid-template-columns:1fr}.platform-manifesto{grid-template-columns:48px 1fr;margin:20px 2px 0;padding:14px}.manifesto-mark{width:42px;height:42px}.platform-manifesto p{font-size:9px}
}

@media(max-width:520px){
  .top{align-items:flex-start}.brand p{max-width:130px}.account-actions{align-items:flex-end;flex-direction:column}.account-actions .ghost{min-height:34px;padding:6px 9px}.library-hero{min-height:630px}.hero-copy{padding-top:35px}.hero-copy h2{font-size:clamp(59px,19vw,82px)}.hero-copy>p{font-size:16px}.hero-actions{gap:8px}.hero-cta{width:100%;flex:none}.hero-stats{margin-top:18px}.hero-art{inset:335px -135px 0 -12%}.playable-grid,.roadmap-grid{grid-template-columns:1fr}.playable-grid .game-card{display:grid;grid-template-columns:44% 56%;min-height:150px}.playable-grid .game-art{height:100%;aspect-ratio:auto}.game-details{align-self:stretch;grid-template-columns:1fr;align-content:center}.game-actions{align-self:auto}.game-card .play{margin-top:5px}.roadmap-grid .game-card{min-height:72px}.platform-manifesto{grid-template-columns:1fr}.manifesto-mark{display:none}
}

@media(prefers-reduced-motion:reduce){
  :root{scroll-behavior:auto}.hero-art img{animation:none}.playable-grid .game-card,.hero-cta,.hero-cta svg,.game-card .play svg{transition:none}
}
