:root{
  --bg:#0b0d12;
  --surface:#151821;
  --text:#f5f7fa;
  --muted:#9aa3b2;
  --primary:#119DD9;
  --primary-text:#ffffff;
  --border:#262b36;
  --font-heading:'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-body:'Segoe UI', system-ui, -apple-system, sans-serif;
  --radius-md:12px;
  --radius-lg:20px;
  --space-md:16px;
  --space-lg:32px;
  --space-xl:64px;
  --motion-duration:0.5s;
  --motion-ease:cubic-bezier(0.2, 0.7, 0.2, 1);
  --content-max:72rem;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.5;}
.hero{padding:var(--space-xl) var(--space-lg);text-align:center;max-width:var(--content-max);margin:0 auto;}
.hero h1{font-family:var(--font-heading);font-size:2.5rem;margin:0 0 var(--space-md);}
.hero p{color:var(--muted);font-size:1.25rem;margin:0 auto;max-width:42rem;}
.features{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);padding:0 var(--space-lg) var(--space-xl);max-width:var(--content-max);margin:0 auto;}
@media (max-width:640px){.features{grid-template-columns:1fr;}}
.feature{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;}
.feature-media{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:var(--bg);overflow:hidden;}
.feature-media img{width:100%;height:100%;object-fit:cover;display:block;}
.feature-icon{width:72px;height:72px;color:var(--primary);}
.feature-icon svg{width:100%;height:100%;}
.feature-text{padding:var(--space-lg);flex:1 1 auto;min-width:0;}
.feature h3{margin:0 0 var(--space-md);font-family:var(--font-heading);}
.feature p{margin:0;color:var(--muted);}
.feature-foot{padding:var(--space-md) var(--space-lg) var(--space-lg);border-top:1px solid var(--border);}
.feature-btn{display:block;width:100%;text-align:center;}
.cta{display:flex;gap:var(--space-md);justify-content:center;padding:0 var(--space-lg) var(--space-xl);flex-wrap:wrap;}
.closing{text-align:center;padding:var(--space-xl) var(--space-lg);max-width:var(--content-max);margin:0 auto;}
.closing h2{font-family:var(--font-heading);font-size:1.8rem;margin:0 0 var(--space-md);}
.closing p{color:var(--muted);max-width:42rem;margin:0 auto var(--space-lg);}
.btn{display:inline-block;padding:0.85rem 1.75rem;border-radius:var(--radius-lg);text-decoration:none;font-weight:600;}
.btn-primary{background:var(--primary);color:var(--primary-text);}
.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border);}
.disclaimer{color:var(--muted);font-size:0.8rem;text-align:center;padding:0 var(--space-lg) var(--space-md);max-width:48rem;margin:0 auto;}
footer{color:var(--muted);font-size:0.8rem;text-align:center;padding:var(--space-lg);border-top:1px solid var(--border);}
.block-page{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-lg);}
.site-nav{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);}
.site-nav-inner{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;max-width:var(--content-max);margin:0 auto;}
.site-nav .site-logo-link{margin-right:auto;display:inline-flex;align-items:center;text-decoration:none;}
.site-nav .site-logo{margin-right:auto;}
.nav-links{display:flex;gap:var(--space-md);flex-wrap:wrap;align-items:center;}
.site-nav a{color:var(--text);text-decoration:none;font-weight:600;}
.site-nav a:hover{color:var(--primary);}
.nav-cta{padding:0.5rem 1.1rem;border-radius:var(--radius-lg);background:var(--primary);color:var(--primary-text) !important;}
.hero-badge{display:inline-block;margin-bottom:var(--space-md);padding:0.3rem 0.9rem;border:1px solid var(--border);border-radius:999px;font-size:0.8rem;color:var(--muted);}
.site-footer{border-top:1px solid var(--border);padding:var(--space-lg);}
.footer-cols{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-width:64rem;margin:0 auto var(--space-lg);}
.footer-brand p{color:var(--muted);font-size:0.85rem;margin:var(--space-md) 0 0;}
.footer-col h4{font-family:var(--font-heading);font-size:0.9rem;margin:0 0 var(--space-md);}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.4rem;}
.footer-col a{color:var(--muted);text-decoration:none;font-size:0.85rem;}
.footer-col a:hover{color:var(--primary);}
.footer-bottom{display:flex;flex-direction:column;gap:0.3rem;align-items:center;text-align:center;color:var(--muted);font-size:0.8rem;border-top:1px solid var(--border);padding-top:var(--space-md);}
.prose{max-width:48rem;margin:0 auto;padding:var(--space-xl) var(--space-lg);}
.prose h1{font-family:var(--font-heading);font-size:2rem;margin:0 0 var(--space-lg);}
.prose h2{font-family:var(--font-heading);margin:var(--space-lg) 0 var(--space-md);}
.prose p{color:var(--muted);margin:0 0 var(--space-md);}
.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);padding:0 var(--space-lg) var(--space-xl);max-width:var(--content-max);margin:0 auto;}
@media (max-width:760px){.game-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.game-grid{grid-template-columns:1fr;}}
.game-tile{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);text-decoration:none;color:var(--text);}
.game-thumb{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:var(--bg);overflow:hidden;}
.game-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.game-thumb span{width:64px;height:64px;color:var(--primary);}
.game-thumb svg{width:100%;height:100%;}
.game-name{padding:var(--space-md);font-weight:600;text-align:center;}
.game-detail{max-width:var(--content-max);margin:0 auto;padding:var(--space-lg);}
.game-detail h1{font-family:var(--font-heading);text-align:center;margin:0 0 var(--space-lg);}
.game-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);background:#000;}
.game-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
/* Self-hosted slot demos: a centered, fixed-height portrait frame (the machine caps at 440px wide). */
.game-embed{max-width:460px;margin:0 auto;}
.game-embed iframe{width:100%;height:860px;border:0;display:block;border-radius:var(--radius-md);overflow:hidden;}
.game-desc{color:var(--muted);max-width:48rem;margin:var(--space-lg) auto;}
.game-back{display:inline-block;margin-top:var(--space-md);color:var(--primary);text-decoration:none;}
.global-disclaimer{color:var(--muted);font-size:0.8rem;text-align:center;padding:0 var(--space-lg) var(--space-md);}
.site-nav .site-logo{margin-right:auto;display:inline-flex;align-items:center;height:40px;}
.site-nav .site-logo img,.site-nav .site-logo svg{height:40px;width:auto;max-width:240px;object-fit:contain;display:block;}
.footer-logo{display:inline-flex;justify-content:center;margin:0 auto var(--space-md);height:28px;}
.footer-logo img,.footer-logo svg{height:28px;width:auto;max-width:200px;object-fit:contain;}
.hero{position:relative;}
.hero-graphic{position:absolute;top:var(--space-md);right:var(--space-lg);width:96px;height:96px;opacity:0.5;pointer-events:none;}
.hero-graphic svg{width:100%;height:100%;}
.bg-animated{animation:bg-pan 18s ease infinite;}
@keyframes bg-pan{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
/* Motion presets (phase 13). */
/* hero_stagger: transform-only entrance so the LCP hero copy paints immediately and never shifts layout. */
.motion-stagger > *{animation:rise var(--motion-duration) var(--motion-ease) both;}
.motion-stagger > *:nth-child(2){animation-delay:0.08s;}
.motion-stagger > *:nth-child(3){animation-delay:0.16s;}
.motion-stagger > *:nth-child(4){animation-delay:0.24s;}
@keyframes rise{from{transform:translateY(10px);}to{transform:none;}}
/* scroll_reveal: JS-gated so content stays visible if the script never runs. */
.motion-ready [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity var(--motion-duration) var(--motion-ease),transform var(--motion-duration) var(--motion-ease);}
.motion-ready [data-reveal].is-visible{opacity:1;transform:none;}
/* hover_micro */
.motion-hover .btn{transition:transform 0.15s var(--motion-ease),box-shadow 0.15s var(--motion-ease);}
.motion-hover .btn:hover,.motion-hover .btn:focus-visible{transform:translateY(-2px);}
.motion-hover .feature{transition:transform 0.2s var(--motion-ease),border-color 0.2s var(--motion-ease);}
.motion-hover .feature:hover{transform:translateY(-3px);border-color:var(--primary);}
/* Always honor the OS preference. */
@media (prefers-reduced-motion: reduce){
  .bg-animated{animation:none;}
  .motion-stagger > *{animation:none;}
  .motion-ready [data-reveal]{opacity:1;transform:none;transition:none;}
  .motion-hover .btn,.motion-hover .feature{transition:none;}
}
/* Per-site hard off-switch. */
.motion-reduced .bg-animated{animation:none;}
.motion-reduced [data-reveal]{opacity:1 !important;transform:none !important;transition:none !important;}
.motion-reduced .motion-stagger > *{animation:none !important;}
:root{--primary:#cb062e;--primary-text:#ffffff;}