/* Competify - shared design system (dark default + light theme) */
:root{color-scheme:dark;
  --bg:#090D15;--panel:#0F1522;--panel-2:#131C2E;--line:#1D2941;--line-soft:#172136;
  --ink:#EDF1F9;--muted:#cfd9ee;--faint:#5E6980;
  --blue:#4D6BFE;--blue-deep:#3452E4;--blue-soft:#8AA0FF;
  --green:#3DCB82;--green-deep:#27A868;--green-bg:#12281E;--green-ink:#79E5AB;
  --rail:#0A0F1B;--inset:#111A2D;--chip-bg:#1A2440;--chip-line:#26345A;
  --track:#1C2743;--bar-idle:#233256;--ring:#16203A;--note-bg:#0C1220;
  --header-bg:#090d15d9;--grid-line:#151D31;
  --glow-hero:#1d2c6455;--glow-page:#22346e66;--glow-stage-a:#24398d55;--glow-stage-b:#14204d33;
  --shadow-lg:0 40px 90px #00000080;--shadow-md:0 22px 50px #00000073;
  --display:'Sora',sans-serif;--body:'Instrument Sans',sans-serif;
  --r-lg:18px;--r-md:12px;--r-sm:8px;--maxw:1240px;
}
:root[data-theme="light"]{color-scheme:light;
  --bg:#F4F6FB;--panel:#FFFFFF;--panel-2:#FBFCFF;--line:#E1E6F1;--line-soft:#EAEEF6;
  --ink:#141B2D;--muted:#5B6680;--faint:#8992A8;
  --blue:#3B57F0;--blue-deep:#2A43D6;--blue-soft:#4763F2;
  --green:#178A52;--green-deep:#116D41;--green-bg:#E4F6EC;--green-ink:#116D41;
  --rail:#101726;--inset:#F4F6FB;--chip-bg:#EDF1FB;--chip-line:#DBE2F2;
  --track:#E7EBF5;--bar-idle:#D9E1F5;--ring:#EFF2FA;--note-bg:#F2F5FB;
  --header-bg:#ffffffd9;--grid-line:#E7EBF4;
  --glow-hero:#dbe4ff8c;--glow-page:#ccd9ff80;--glow-stage-a:#c9d6ff99;--glow-stage-b:#e6ecff66;
  --shadow-lg:0 32px 70px #24345a24;--shadow-md:0 18px 40px #24345a1f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;
  transition:background .25s,color .25s}
a{color:inherit;text-decoration:none}
::selection{background:#4d6bfe55}
:focus-visible{outline:2px solid var(--blue-soft);outline-offset:3px;border-radius:4px}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;height:74px;display:flex;align-items:center;gap:36px;
  padding:0 max(28px,calc((100vw - var(--maxw))/2));
  background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft)}
.brand{font-family:var(--display);font-size:23px;font-weight:700;letter-spacing:-1.2px}
.brand span{color:var(--blue)}
nav{display:flex;gap:28px;flex:1}
nav a,.login{font-size:13.5px;font-weight:500;color:var(--muted);transition:color .18s}
nav a:hover,.login:hover{color:var(--ink)}
nav .active{color:var(--ink);position:relative}
nav .active:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--blue);border-radius:2px}
.nav-cta{display:flex;gap:22px;align-items:center}
.theme-toggle{width:37px;height:37px;border:1px solid var(--line);border-radius:50%;background:transparent;
  color:var(--ink);display:grid;place-items:center;cursor:pointer;font-size:15px;flex-shrink:0;
  transition:border-color .18s,transform .18s}
.theme-toggle:hover{border-color:var(--blue-soft);transform:none}
.button{display:inline-flex;align-items:center;gap:14px;border-radius:9px;
  background:linear-gradient(180deg,var(--blue),var(--blue-deep));color:#fff;
  padding:14px 20px;font-size:13.5px;font-weight:600;letter-spacing:.1px;
  border:1px solid #6d86ff55;box-shadow:0 10px 30px #3452e440,inset 0 1px 0 #ffffff2e;
  transition:transform .18s,box-shadow .18s}
.button:hover{transform:translateY(-1px);box-shadow:0 14px 36px #3452e45c,inset 0 1px 0 #ffffff2e}
.button b{font-size:16px;font-weight:400}
.button.small{padding:10px 15px;font-size:12.5px;gap:10px}
.button.light{background:#fff;color:#0d1220;border-color:#fff;box-shadow:0 10px 30px #00000040}
.menu-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--ink);
  font:600 11px var(--body);letter-spacing:1px;text-transform:uppercase;padding:9px 13px;cursor:pointer}

/* ---------- Shared type ---------- */
.eyebrow,.v2-kicker{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:600;color:var(--blue-soft);margin:0 0 20px}
.eyebrow i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);margin:0 8px 1px 0;box-shadow:0 0 0 5px #4d6bfe1f}

/* ---------- Sub-page hero ---------- */
.page-hero{max-width:var(--maxw);margin:auto;padding:92px 28px 66px;text-align:center;position:relative}
.page-hero:before{content:"";position:absolute;left:50%;top:-120px;transform:translateX(-50%);
  width:760px;height:420px;background:radial-gradient(ellipse at center,var(--glow-page) 0%,transparent 65%);pointer-events:none}
.page-hero h1{font:600 clamp(42px,5vw,62px)/1.02 var(--display);letter-spacing:-2.6px;margin:0;position:relative}
.page-hero p{max-width:580px;margin:22px auto 0;color:var(--muted);line-height:1.65;font-size:16px;position:relative}

/* ---------- Fairness strip (games) ---------- */
.fair-strip{max-width:var(--maxw);margin:0 auto 80px;padding:0 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fair-strip article{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r-md);
  padding:20px 22px;background:var(--panel)}
.fair-strip i{font-style:normal;color:var(--green);font-size:15px;margin-top:2px}
.fair-strip b{display:block;font:600 14px var(--display);letter-spacing:-.2px;margin-bottom:5px}
.fair-strip p{margin:0;font-size:12.5px;line-height:1.55;color:var(--muted)}

/* ---------- Section headers ---------- */
.section-head{max-width:var(--maxw);margin:0 auto;padding:0 28px 44px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}
.section-head h2{font:600 clamp(30px,3.6vw,42px)/1.06 var(--display);letter-spacing:-1.8px;margin:0;max-width:560px}
.section-head>p:not(.v2-kicker):not(.eyebrow){grid-column:1;font-size:14.5px;line-height:1.65;color:var(--muted);max-width:540px;margin:16px 0 0}
.section-head .head-link{font-size:12px;font-weight:600;color:var(--blue-soft);white-space:nowrap;padding-bottom:4px}

/* ---------- Signature games ---------- */
.signature-grid{max-width:var(--maxw);margin:auto;padding:0 28px 110px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.signature-card{min-height:280px;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;
  background:linear-gradient(180deg,var(--panel-2),var(--panel));position:relative;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .22s,border-color .22s}
.signature-card:hover{transform:translateY(-4px);border-color:var(--chip-line)}
.signature-card .sig-tag{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:600;color:var(--blue-soft);margin:0 0 18px}
.signature-card h3{font:600 24px var(--display);letter-spacing:-.9px;margin:0 0 12px}
.signature-card>p:not(.sig-tag){font-size:13.5px;line-height:1.62;color:var(--muted);margin:0 0 20px;max-width:420px}
.sig-points{list-style:none;padding:0;margin:auto 0 0;display:flex;gap:8px;flex-wrap:wrap}
.sig-points li{font-size:11px;font-weight:500;color:var(--muted);border:1px solid var(--line);
  background:var(--inset);border-radius:100px;padding:7px 13px}
.signature-card.jackpot{background:linear-gradient(160deg,#2c47d8,#1a2fa0);border-color:#4560ea;color:#fff}
.signature-card.jackpot .sig-tag{color:#cdd6ff}
.signature-card.jackpot>p:not(.sig-tag){color:#d5dcff}
.signature-card.jackpot .sig-points li{color:#dbe1ff;border-color:#ffffff33;background:#ffffff12}
.jackpot-pot{position:absolute;right:26px;top:26px;text-align:right}
.jackpot-pot small{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#c3ceff;margin-bottom:4px}
.jackpot-pot strong{font:600 25px var(--display);color:var(--green-ink);color:#79E5AB;font-variant-numeric:tabular-nums}
.sig-glyph{position:absolute;right:-28px;bottom:-38px;font-size:150px;line-height:1;opacity:.07;pointer-events:none}

/* ---------- Arcade grid (minigames) ---------- */
.arcade-grid{max-width:var(--maxw);margin:auto;padding:0 28px 46px;display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.arcade-tile{border:1px solid var(--line);border-radius:var(--r-md);padding:20px 18px;background:var(--panel);
  transition:transform .2s,border-color .2s}
.arcade-tile:hover{transform:translateY(-3px);border-color:var(--chip-line)}
.arcade-tile .tile-icon{font-size:26px;display:block;margin-bottom:16px}
.arcade-tile b{display:block;font:600 14px var(--display);letter-spacing:-.2px;margin-bottom:6px}
.arcade-tile p{margin:0;font-size:11.5px;line-height:1.5;color:var(--muted)}
.arcade-tile em{display:inline-block;font-style:normal;font-size:11px;font-weight:600;letter-spacing:.8px;
  text-transform:uppercase;color:var(--green);margin-top:10px}
.arcade-note{max-width:var(--maxw);margin:0 auto 110px;padding:0 28px;display:flex;gap:10px;align-items:center;
  font-size:12.5px;color:var(--faint)}
.arcade-note i{font-style:normal;color:var(--green)}

/* ---------- Poly series ---------- */
.poly-panel{max-width:var(--maxw);margin:0 auto 110px;padding:56px;border-radius:26px;position:relative;overflow:hidden;
  background:linear-gradient(150deg,#0E1730,#0A0F1F);border:1px solid #22315A;color:#EDF1F9}
.poly-panel:before{content:"";position:absolute;width:560px;height:560px;right:-140px;top:-200px;
  background:radial-gradient(circle,#2b47b855 0%,transparent 65%)}
.poly-head{max-width:520px;position:relative}
.poly-head .v2-kicker{color:#8AA0FF}
.poly-head h2{font:600 clamp(30px,3.6vw,42px)/1.06 var(--display);letter-spacing:-1.8px;margin:0}
.poly-head p{font-size:14.5px;line-height:1.68;color:#9AA5C2;margin:16px 0 0}
.poly-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px;position:relative}
.poly-card{border:1px solid #26355F;border-radius:var(--r-lg);padding:28px;background:#101A32cc}
.poly-card .tile-icon{font-size:30px;display:block;margin-bottom:18px}
.poly-card h3{font:600 20px var(--display);letter-spacing:-.6px;margin:0;display:flex;align-items:center;gap:10px}
.poly-card h3 span{font:600 11px var(--display);letter-spacing:1px;color:#0A0F1F;background:#3DCB82;
  border-radius:100px;padding:4px 8px;text-transform:uppercase}
.poly-card p{font-size:13px;line-height:1.62;color:#9AA5C2;margin:10px 0 0}

/* ---------- Engagement extras ---------- */
.extras-grid{max-width:var(--maxw);margin:auto;padding:0 28px 110px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}

/* ---------- Games grid (legacy cards, reused for extras) ---------- */
.game-grid{max-width:var(--maxw);margin:auto;padding:0 28px 110px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.game-card{min-height:240px;padding:30px;border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(180deg,var(--panel-2),var(--panel));position:relative;overflow:hidden;isolation:isolate;
  transition:transform .22s,border-color .22s}
.game-card:hover{transform:translateY(-4px);border-color:var(--chip-line)}
.game-card .game-icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;font-size:23px;
  background:var(--chip-bg);color:var(--blue-soft);border:1px solid var(--chip-line);margin-bottom:44px}
.game-card h3{font:600 20px var(--display);letter-spacing:-.6px;margin:0}
.game-card p{font-size:13.5px;color:var(--muted);line-height:1.55;margin-bottom:0}
.game-card:after{content:"";width:130px;height:130px;position:absolute;right:-42px;top:-40px;z-index:-1;
  border:18px solid var(--ring);border-radius:50%;transition:border-color .22s}
.game-card.blue{background:linear-gradient(160deg,#2c47d8,#1d34ac);border-color:#4560ea;color:#fff}
.game-card.blue p{color:#cdd7ff}
.game-card.blue .game-icon{background:#ffffff1a;border-color:#ffffff2e;color:#79E5AB}
.game-card.blue:after{border-color:#3d58e0}

/* ---------- Leaderboard ---------- */
.leaderboard-wrap{max-width:1140px;margin:0 auto 110px;padding:0 28px;display:grid;grid-template-columns:1fr 320px;gap:22px}
.board{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--panel)}
.board-top{padding:28px 28px 0;background:linear-gradient(160deg,var(--panel-2),var(--panel))}
.board-top h2{font:600 24px var(--display);letter-spacing:-.9px;margin:8px 0}
.board-top>p:not(.eyebrow){font-size:13px;color:var(--muted);margin:0 0 18px}
.tabs{display:flex;gap:4px}
.tabs button{font:600 12.5px var(--body);color:var(--muted);background:transparent;border:0;padding:13px 14px;cursor:pointer;
  border-bottom:2px solid transparent;transition:color .18s}
.tabs button:hover{color:var(--ink)}
.tabs button.active{color:var(--ink);border-color:var(--blue)}
.rank{display:grid;grid-template-columns:42px 1fr auto;align-items:center;padding:15px 28px;border-top:1px solid var(--line-soft);gap:10px}
.rank.top{background:var(--inset)}
.place{font:700 13px var(--display);color:var(--faint)}
.rank.top .place{color:var(--green)}
.rank .player{display:flex;align-items:center;gap:11px;font-size:13.5px;font-weight:600}
.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--chip-bg);color:var(--blue-soft);font-size:11px;font-style:normal}
.rank:nth-child(1) .avatar{background:var(--green-bg);color:var(--green-ink)}
.score{text-align:right;font:700 14px var(--display);color:var(--blue-soft)}
.rank.top .score{color:var(--green)}
.score small{display:block;font:400 11px var(--body);color:var(--faint);margin-top:3px;letter-spacing:.4px}
.board-note{padding:15px 28px;background:var(--note-bg);color:var(--faint);font-size:11.5px;line-height:1.5;border-top:1px solid var(--line-soft)}
.side-panel{background:linear-gradient(170deg,#22349b,#16226b);border:1px solid #3a51c8;color:#fff;border-radius:var(--r-lg);padding:28px}
.side-panel .eyebrow{color:#aebcff}
.side-panel h3{font:600 24px/1.12 var(--display);letter-spacing:-.9px;margin:0 0 13px}
.side-panel p{font-size:13px;line-height:1.6;color:#c8d0ee}
.side-panel hr{border:0;border-top:1px solid #ffffff24;margin:22px 0}
.side-panel b{font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:#dde3ff}
.side-panel ul{padding:0;list-style:none;margin:14px 0 0}
.side-panel li{font-size:13px;color:#d5dbf2;margin:11px 0}
.side-panel li:before{content:'✓';color:#79E5AB;margin-right:9px}
.info-strip{max-width:1140px;margin:0 auto 115px;padding:36px 32px;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r-lg);display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.info-strip h3{font:600 17px var(--display);letter-spacing:-.4px;margin:10px 0}
.info-strip p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}

/* ---------- Docs ---------- */
.guide-page{max-width:var(--maxw);margin:auto;padding:0 28px 110px}
.guide-path{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 0 42px}
.guide-path a{font-size:12.5px;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:100px;
  padding:9px 16px;background:var(--panel);transition:color .18s,border-color .18s}
.guide-path a:hover{color:var(--ink);border-color:var(--chip-line)}
.docs-collection{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.doc-group{border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;
  background:linear-gradient(180deg,var(--panel-2),var(--panel));display:flex;flex-direction:column}
.doc-group#basics>div{display:contents}
.doc-group.featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.doc-icon{font-style:normal;font-size:22px;display:grid;place-items:center;width:48px;height:48px;
  background:var(--chip-bg);border:1px solid var(--chip-line);border-radius:13px;margin-bottom:20px}
.doc-group h2{font:600 21px var(--display);letter-spacing:-.7px;margin:0}
.doc-group.featured h2{font-size:29px;letter-spacing:-1.2px}
.doc-group p{color:var(--muted);font-size:13.5px;line-height:1.6}
.doc-group ul{list-style:none;padding:20px 0 0;margin:auto 0 0}
.doc-group li a{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;
  padding:13px 2px;border-top:1px solid var(--line-soft);color:var(--muted);transition:color .18s}
.doc-group li a:hover{color:var(--ink)}
.doc-group li a span{color:var(--blue-soft)}

/* ---------- Shared CTA ---------- */
.cta{margin:45px 28px 0;background:linear-gradient(160deg,#2c47d8,#182a92);border:1px solid #4560ea;
  text-align:center;color:#fff;border-radius:22px;padding:88px 22px;position:relative;overflow:hidden}
.cta:before{content:"";position:absolute;width:640px;height:640px;left:50%;top:60px;transform:translateX(-50%);
  border:1px solid #7f94f155;border-radius:50%;box-shadow:0 0 0 60px #7f94f11c,0 0 0 130px #7f94f10e}
.cta .eyebrow{color:#c8d3ff;position:relative}
.cta h2{font:600 clamp(32px,4vw,46px)/1.06 var(--display);letter-spacing:-1.8px;margin:auto auto 32px;max-width:640px;position:relative}
.cta .button{display:inline-flex;position:relative}

/* ---------- Footer ---------- */
footer,.premium-footer{max-width:var(--maxw);margin:auto;padding:74px 28px 32px;display:grid;
  grid-template-columns:1.3fr 1fr 1fr;gap:40px;align-items:start}
footer>div:first-child p,.footer-blurb{color:var(--muted);font-size:13.5px;line-height:1.6;max-width:300px;margin:14px 0 0}
.footer-col small{display:block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--faint);margin-bottom:16px}
.footer-col a{display:block;font-size:13.5px;color:var(--muted);margin:10px 0;transition:color .18s}
.footer-col a:hover{color:var(--ink)}
.trust-seals{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line-soft);padding-top:26px}
.trust-seals span{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;color:var(--muted);
  border:1px solid var(--line);border-radius:100px;padding:9px 15px;background:var(--panel)}
.trust-seals b{font-family:var(--display);font-size:11px;color:var(--green);font-weight:600}
.footer-partnership{grid-column:1/-1;border-top:1px solid var(--line-soft);padding-top:24px;text-align:center}
.footer-partnership b{font-size:13px;font-weight:600}
.footer-partnership b i{font-style:normal;color:var(--green)}
.footer-partnership p{margin:8px 0 0;font-size:11.5px;color:var(--faint);line-height:1.55}
.footer-legal{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  color:var(--faint);font-size:11.5px;padding-top:8px}
.footer-legal a{color:inherit;transition:color .18s}.footer-legal a:hover{color:var(--ink)}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* ---------- Responsive ---------- */
@media(max-width:1080px){
  .site-header{gap:20px}.site-header nav{gap:15px}.site-header nav a,.site-header .login{font-size:12px}.nav-cta{gap:11px}
  .arcade-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){
  .game-grid,.extras-grid{grid-template-columns:1fr 1fr}
  .signature-grid{grid-template-columns:1fr}
  .fair-strip{grid-template-columns:1fr}
  .poly-cards{grid-template-columns:1fr}
  .poly-panel{padding:40px 30px}
  .docs-collection{grid-template-columns:1fr 1fr}
  .doc-group.featured{grid-template-columns:1fr;gap:10px}
  .leaderboard-wrap{grid-template-columns:1fr}
  footer,.premium-footer{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .site-header{height:64px;padding:0 18px;gap:14px}
  .menu-toggle{display:block;margin-left:auto;order:2}
  .theme-toggle{order:3}
  .nav-cta{display:none}
  .site-header nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--panel);
    border-bottom:1px solid var(--line);padding:22px;flex-direction:column;gap:16px}
  .site-header nav.open{display:flex}
  nav .active:after{display:none}
  .page-hero{padding:64px 21px 44px}
  .fair-strip{padding:0 21px;margin-bottom:60px}
  .section-head{grid-template-columns:1fr;padding:0 21px 32px}
  .signature-grid,.arcade-grid,.game-grid,.extras-grid{grid-template-columns:1fr;padding:0 21px 70px}
  .arcade-grid{padding-bottom:26px}
  .arcade-note{padding:0 21px;margin-bottom:70px}
  .poly-panel{margin:0 14px 70px;padding:34px 24px}
  .docs-collection{grid-template-columns:1fr}
  .guide-page{padding:0 21px 70px}
  .leaderboard-wrap{padding:0 16px;margin-bottom:60px}
  .rank{padding:14px 17px}
  .board-top{padding-left:17px}
  .tabs{overflow:auto}
  .tabs button{white-space:nowrap}
  .info-strip{margin:0 16px 65px;padding:26px;grid-template-columns:1fr}
  .cta{margin:20px 14px 0;padding:64px 18px}
  footer,.premium-footer{grid-template-columns:1fr;gap:28px;padding:52px 21px 26px}
  .footer-legal{justify-content:center;text-align:center}
}

/* ---------- Arcade filters + linked tiles + sig links ---------- */
.arcade-filters{max-width:var(--maxw);margin:0 auto;padding:0 28px 22px;display:flex;gap:7px;flex-wrap:wrap}
.arcade-filters button{font:600 12px var(--body);color:var(--muted);background:var(--panel);
  border:1px solid var(--line);border-radius:100px;padding:9px 16px;cursor:pointer;
  transition:color .18s,border-color .18s}
.arcade-filters button:hover{color:var(--ink);border-color:var(--chip-line)}
.arcade-filters button.active{color:#fff;background:linear-gradient(180deg,var(--blue),var(--blue-deep));border-color:var(--blue)}
.arcade-tile{display:block;color:inherit}
.arcade-tile.hidden{display:none}
.arcade-tile em{color:var(--blue-soft);opacity:0;transform:translateY(3px);transition:opacity .2s,transform .2s;
  text-transform:none;letter-spacing:.2px;font-size:11px}
.arcade-tile:hover em,.arcade-tile:focus-visible em{opacity:1;transform:none}
.tile-cat{float:right;font:600 11px var(--display);letter-spacing:1px;text-transform:uppercase;
  color:var(--blue-soft);border:1px solid var(--chip-line);background:var(--chip-bg);border-radius:100px;padding:4px 9px}
.tile-cat.skill{color:var(--green);border-color:var(--green-bg);background:var(--green-bg);color:var(--green-ink)}
.tile-cat.rvl{color:var(--green);border-color:var(--green-bg);background:var(--green-bg)}
.tile-cat.chn{color:var(--muted)}
.sig-links{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--line-soft)}
.sig-links li a{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:600;
  padding:11px 2px;border-bottom:1px solid var(--line-soft);color:var(--muted);transition:color .18s}
.sig-links li a:hover{color:var(--ink)}
.sig-links li a span{color:var(--blue-soft)}
.signature-card .sig-links{margin-top:18px}
.signature-card.jackpot .sig-links,.sig-links.inv{border-color:#ffffff2b}
.signature-card.jackpot .sig-links li a,.sig-links.inv li a{color:#d5dcff;border-color:#ffffff2b}
.signature-card.jackpot .sig-links li a:hover,.sig-links.inv li a:hover{color:#fff}
.signature-card.jackpot .sig-links li a span,.sig-links.inv li a span{color:#fff}
.sig-points{margin-bottom:0}
.signature-card>p:not(.sig-tag){margin-bottom:18px}

/* ---------- Pricing ---------- */
.no-fees{max-width:var(--maxw);margin:0 auto 56px;padding:0 28px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.no-fees span{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:500;color:var(--muted);
  border:1px solid var(--line);border-radius:100px;padding:11px 18px;background:var(--panel)}
.no-fees b{font-family:var(--display);font-size:12px;color:var(--green);font-weight:600}
.pricing-grid{max-width:var(--maxw);margin:auto;padding:0 28px 100px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.plan-card{border:1px solid var(--line);border-radius:20px;padding:34px 30px;
  background:linear-gradient(180deg,var(--panel-2),var(--panel));position:relative;display:flex;flex-direction:column}
.plan-card.featured{border-color:#4d6bfe66;box-shadow:0 0 0 1px #4d6bfe33,var(--shadow-md)}
.plan-flag{position:absolute;top:-13px;left:28px;font:600 11px var(--display);letter-spacing:1px;text-transform:uppercase;
  color:#fff;background:linear-gradient(180deg,var(--blue),var(--blue-deep));border-radius:100px;padding:7px 13px}
.plan-card .sig-tag{margin-bottom:14px}
.plan-price{display:flex;align-items:baseline;gap:9px;margin-bottom:14px}
.plan-price strong{font:600 clamp(30px,3vw,38px) var(--display);letter-spacing:-1.6px;font-variant-numeric:tabular-nums}
.plan-price span{font-size:12px;color:var(--faint)}
.plan-blurb{font-size:13.5px;line-height:1.62;color:var(--muted);margin:0 0 20px}
.plan-list{list-style:none;padding:0;margin:0 0 26px;border-top:1px solid var(--line-soft)}
.plan-list li{font-size:13px;color:var(--muted);padding:11px 0;border-bottom:1px solid var(--line-soft)}
.plan-list li:before{content:'✓';color:var(--green);margin-right:10px}
.plan-card .button{margin-top:auto;justify-content:space-between}

/* ---------- Template preset rail ---------- */
.preset-panel{max-width:var(--maxw);margin:0 auto 110px;padding:52px;border-radius:26px;position:relative;overflow:hidden;
  background:linear-gradient(150deg,#0E1730,#0A0F1F);border:1px solid #22315A;color:#EDF1F9}
.preset-panel:before{content:"";position:absolute;width:520px;height:520px;left:-160px;top:-220px;
  background:radial-gradient(circle,#2b47b84d 0%,transparent 65%);pointer-events:none}
.preset-head{max-width:560px;position:relative}
.preset-head .v2-kicker{color:#8AA0FF}
.preset-head h2{font:600 clamp(28px,3.4vw,40px)/1.06 var(--display);letter-spacing:-1.7px;margin:0}
.preset-head p{font-size:14px;line-height:1.66;color:#9AA5C2;margin:16px 0 0}
.preset-strip{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:9px;margin-top:34px;position:relative}
.preset-rail{display:flex;gap:9px;overflow-x:auto;padding:3px;scrollbar-width:none;scroll-behavior:smooth}
.preset-rail::-webkit-scrollbar{display:none}
.preset-nav{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid #ffffff26;border-radius:10px;
  color:#f8fafc;background:#ffffff0a;cursor:pointer;transition:background .16s,border-color .16s,opacity .16s}
.preset-nav:hover{border-color:#ffffff55;background:#ffffff16}
.preset-nav:disabled{opacity:.3;cursor:default}
.preset-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.preset-card{--pa:#4D6BFE;--pb:#8AA0FF;position:relative;isolation:isolate;flex:0 0 196px;display:grid;
  grid-template-columns:28px minmax(0,1fr) 14px;align-items:center;gap:9px;min-height:52px;padding:9px 12px;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--pa) 34%,#ffffff24);border-radius:12px;color:#f8fafc;
  background:linear-gradient(135deg,color-mix(in srgb,var(--pa) 16%,#131728) 0%,#151a2a 56%,color-mix(in srgb,var(--pb) 14%,#151a2a) 100%);
  box-shadow:inset 0 1px 0 #ffffff12;transition:transform .18s,border-color .18s,box-shadow .18s}
.preset-card:before{content:"";position:absolute;z-index:-1;width:96px;height:96px;right:-42px;top:-52px;border-radius:50%;
  background:var(--pb);opacity:.22;filter:blur(18px)}
.preset-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--pa) 72%,#fff)}
.preset-swatch{width:28px;height:28px;border:1px solid #ffffff30;border-radius:9px;
  background:linear-gradient(135deg,var(--pa),var(--pb));box-shadow:inset 0 1px 0 #ffffff45}
.preset-name{display:block;overflow:hidden;font:700 12px var(--display);letter-spacing:-.2px;white-space:nowrap;text-overflow:ellipsis}
.preset-name small{display:block;font:500 11px var(--body);letter-spacing:.4px;color:#9AA5C2;margin-top:3px;text-transform:uppercase}
.preset-arrow{font-size:13px;opacity:.85;transition:transform .18s}
.preset-card:hover .preset-arrow{transform:translate(2px,-2px)}

/* ---------- FAQ ---------- */
.faq-list{max-width:820px;margin:0 auto;padding:0 28px 90px}
.faq-list details{border:1px solid var(--line);border-radius:18px;background:var(--panel);margin-bottom:10px;overflow:hidden;transition:border-color .18s}
.faq-list details:hover{border-color:var(--chip-line)}
.faq-list summary{cursor:pointer;list-style:none;font:600 15px var(--display);letter-spacing:-.3px;padding:20px 24px;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary{padding-right:74px}
.faq-list summary:after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);
  width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;
  background:var(--inset);font:400 18px var(--display);color:var(--blue-soft);transition:transform .2s}
.faq-list details[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.faq-list details p{margin:0;padding:0 24px 22px;font-size:13.5px;line-height:1.65;color:var(--muted)}

/* ---------- Services grid ---------- */
.services-grid{max-width:var(--maxw);margin:auto;padding:0 28px 110px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.services-grid .game-card{min-height:0}
.services-grid .game-icon{margin-bottom:26px}

/* ---------- Index hero price note ---------- */
.hero-pricenote{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:500;color:var(--muted);
  border:1px solid var(--line);border-radius:100px;padding:8px 15px;background:var(--panel);margin:0 0 24px}
.hero-pricenote b{font-family:var(--display);font-weight:600;color:var(--green);font-size:11px}

@media(max-width:980px){
  .pricing-grid{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr 1fr}
  .preset-panel{padding:38px 28px}
}
@media(max-width:760px){
  .pricing-grid{padding:0 21px 70px}
  .services-grid{grid-template-columns:1fr;padding:0 21px 70px}
  .preset-panel{margin:0 14px 70px;padding:30px 20px}
  .preset-strip{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px}
  .preset-nav{width:32px;height:32px}
  .preset-card{flex-basis:178px}
  .faq-list{padding:0 21px 60px}
  .no-fees{padding:0 21px;margin-bottom:44px}
}

.fit-grid{padding-bottom:34px}
.fit-note{margin-bottom:110px}
@media(max-width:760px){.fit-note{margin-bottom:70px}}

/* ---------- Simplified commercial model ---------- */
.commercial-pillars{max-width:var(--maxw);margin:0 auto 90px;padding:0 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.commercial-pillars>span{min-height:112px;padding:22px;border:1px solid var(--line);background:var(--panel);margin-left:-1px}.commercial-pillars>span:first-child{border-radius:12px 0 0 12px}.commercial-pillars>span:last-child{border-radius:0 12px 12px 0}.commercial-pillars b{display:block;font:600 13px var(--display);color:var(--green);margin-bottom:9px}.commercial-pillars small{display:block;color:var(--muted);font-size:11px;line-height:1.5}.commercial-model{max-width:var(--maxw);margin:0 auto;padding:0 28px 110px}.commercial-intro{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:end;margin-bottom:44px}.commercial-intro .v2-kicker{grid-column:1/-1}.commercial-intro h2{font:600 clamp(36px,4.5vw,60px)/1.03 var(--display);letter-spacing:-.055em;margin:10px 0 0}.commercial-intro>p:last-child{color:var(--muted);line-height:1.7;margin:0}.commercial-routes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.commercial-route{min-height:520px;padding:34px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,var(--panel-2),var(--panel));display:flex;flex-direction:column}.commercial-route.featured{background:radial-gradient(circle at 100% 0,#5772ef55,transparent 38%),linear-gradient(145deg,#15234e,#203a99);border-color:#4e68da;color:#fff}.commercial-route>span{font:600 11px var(--display);letter-spacing:.14em;color:var(--green)}.commercial-route h3{font:600 clamp(27px,3vw,38px)/1.08 var(--display);letter-spacing:-.045em;margin:42px 0 14px}.commercial-route>p{color:var(--muted);line-height:1.65}.commercial-route.featured>p{color:#bdc8e9}.commercial-route ul{list-style:none;margin:auto 0 28px;padding:20px 0 0;border-top:1px solid var(--line)}.commercial-route.featured ul{border-color:#ffffff24}.commercial-route li{padding:7px 0 7px 22px;color:var(--muted);font-size:12px;position:relative}.commercial-route.featured li{color:#d6ddf4}.commercial-route li:before{content:"✓";position:absolute;left:0;color:var(--green)}.commercial-route .button{align-self:flex-start}.commercial-note{margin:14px 0 0;padding:18px 22px;border:1px solid var(--line);border-radius:12px;background:var(--inset);color:var(--muted);font-size:12px;line-height:1.6}.commercial-note strong{color:var(--ink)}
@media(max-width:900px){.commercial-pillars{grid-template-columns:1fr 1fr}.commercial-pillars>span:first-child{border-radius:12px 0 0 0}.commercial-pillars>span:nth-child(2){border-radius:0 12px 0 0}.commercial-pillars>span:nth-child(3){border-radius:0 0 0 12px}.commercial-pillars>span:last-child{border-radius:0 0 12px 0}.commercial-intro,.commercial-routes{grid-template-columns:1fr}.commercial-intro{gap:24px}.commercial-route{min-height:470px}}
@media(max-width:600px){.commercial-pillars{padding:0 21px;margin-bottom:60px}.commercial-pillars>span{min-height:125px;padding:17px}.commercial-model{padding:0 21px 80px}.commercial-route{padding:25px;min-height:500px}}
