:root{
  --void:#100a1c;
  --slate:#191228;
  --slate-2:#221836;
  --slate-3:#2f2149;
  --edge:#362653;
  --edge-2:#523a80;
  --paper:#f2ecfb;
  --dim:#a99ec7;
  --volt:#e0179d;
  --volt-2:#ff3fb4;
  --ice:#33cfe6;
  --ink:#120720;
  --good:#4bd6a0;
  --warn:#ffb454;
  --hold:1080px;
  --pad:40px;
  --round:14px;
  --sans:"Segoe UI",Roboto,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --head:"Trebuchet MS","Segoe UI",Roboto,system-ui,Arial,sans-serif;
  --bar:64px;
  --panel-grad:linear-gradient(135deg,#e0179d 0%,#8a2be2 100%);
  --ice-grad:linear-gradient(135deg,#33cfe6 0%,#5163ff 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html,body{overflow-x:hidden;max-width:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;font:16px/1.6 var(--sans);color:var(--paper);background:var(--void);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0 0 16px;font-family:var(--head);font-weight:700;line-height:1.22;color:var(--paper);overflow-wrap:break-word}
h1{font-size:40px;letter-spacing:.2px}
h2{font-size:28px}
h3{font-size:20px}
h4{font-size:17px}
p{margin:0 0 15px;overflow-wrap:break-word}
ul,ol{margin:0 0 16px;padding-left:22px}
li{margin:0 0 7px}
strong{color:#fff}
:focus-visible{outline:2px solid var(--ice);outline-offset:2px}
.wrap{max-width:var(--hold);margin-inline:auto;padding-inline:var(--pad)}

.site{min-height:100vh}

.topbar{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--slate);border-bottom:1px solid var(--edge)}
.topbar__row{max-width:none;margin-inline:0;display:flex;align-items:center;gap:16px;height:var(--bar);padding-inline:24px}
.mark{display:flex;align-items:center}
.mark img{height:34px;width:auto}
.toggle{display:none;flex-direction:column;gap:4px;width:42px;height:38px;border:1px solid var(--edge);border-radius:10px;background:var(--slate-2);cursor:pointer;align-items:center;justify-content:center}
.toggle span{display:block;width:19px;height:2px;background:var(--paper);border-radius:2px}
.menu{display:flex;align-items:center;gap:8px}
.menu__list{display:flex;list-style:none;gap:6px;margin:0;padding:0}
.menu__list a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--edge);border-radius:10px;background:var(--slate-2);color:var(--paper);font-size:14px;font-weight:600;cursor:pointer}
.menu__list a:hover{background:var(--slate-3);border-color:var(--edge-2)}
.menu__list svg{width:16px;height:16px;fill:var(--ice);flex:none}
.topbar__cta{display:flex;gap:10px;margin-left:auto}
.btn-login,.btn-join{display:inline-flex;align-items:center;padding:9px 16px;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;border:1px solid var(--edge-2)}
.btn-login{background:var(--slate-2);color:var(--paper)}
.btn-login:hover{background:var(--slate-3)}
.btn-join{background:var(--panel-grad);color:#fff;border:none}
.btn-join:hover{filter:brightness(1.08)}

.drawer{display:none}

.flow{padding-top:calc(var(--bar) + 30px);padding-bottom:44px}
.flow .wrap>*+*{margin-top:32px}
.panel{background:var(--slate);border:1px solid var(--edge);border-radius:var(--round);padding:30px}
.prose p:last-child,.prose ul:last-child,.prose ol:last-child,.prose table:last-child{margin-bottom:0}

.intro{background:var(--slate);border:1px solid var(--edge);border-radius:var(--round);padding:32px}
.intro__title{font-size:42px;margin-bottom:14px;background:var(--ice-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro__lead{font-size:17px;color:var(--paper)}
.intro__banner{display:block;margin:20px 0;border-radius:var(--round);overflow:hidden;border:1px solid var(--edge);cursor:pointer}
.intro__banner img{width:100%;height:auto}
.intro__cta{margin-top:6px}

.cta{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;border:none;background:var(--slate-3);color:var(--paper);border:1px solid var(--edge-2)}
.cta:hover{background:var(--edge)}
.cta--join{background:var(--panel-grad);color:#fff;border:none}
.cta--join:hover{filter:brightness(1.08)}
.cta--ice{background:var(--ice-grad);color:var(--ink);border:none}
.cta--ice:hover{filter:brightness(1.06)}
@keyframes breathe{0%,100%{transform:scale(1);box-shadow:0 0 0 rgba(224,23,157,0)}50%{transform:scale(1.035);box-shadow:0 0 26px rgba(224,23,157,.45)}}
.pulse{animation:breathe 2.7s ease-in-out infinite;will-change:transform}
.pulse:hover{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}}

.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--ice);margin-bottom:10px}

table{width:100%;border-collapse:collapse;font-size:14.5px}
.tablewrap{overflow-x:auto;margin:0 0 16px}
thead th{background:var(--panel-grad);color:#fff;text-align:left;padding:12px 14px;font-size:13.5px}
tbody td,tbody th{padding:11px 14px;border-bottom:1px solid var(--edge);text-align:left;vertical-align:top}
tbody th{background:var(--slate-2);font-weight:600;color:var(--paper)}
tbody tr:nth-child(even) td{background:var(--slate-2)}
caption{caption-side:top;text-align:left;color:var(--dim);font-size:13px;margin-bottom:8px}

.spec table td:first-child{width:34%;font-weight:600}

.lobby__nav{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 18px;padding:0}
.lobby__tab{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--edge);border-radius:10px;background:var(--slate-2);color:var(--paper);font-weight:600;font-size:14px;cursor:pointer}
.lobby__tab svg{width:17px;height:17px;fill:var(--ice)}
.lobby__tab.on{background:var(--panel-grad);border-color:transparent;color:#fff}
.lobby__tab.on svg{fill:#fff}
.shelf{display:none}
.shelf.on{display:block}
.shelf__track{display:grid;grid-auto-flow:column;grid-auto-columns:178px;gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
.tile{scroll-snap-align:start;background:var(--slate-2);border:1px solid var(--edge);border-radius:12px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column}
.tile:hover{border-color:var(--edge-2)}
.tile__art{position:relative;aspect-ratio:360/472;overflow:hidden}
.tile__art img{width:100%;height:100%;object-fit:cover}
.tile__rtp{position:absolute;top:7px;right:7px;background:rgba(16,10,28,.82);color:var(--ice);font-size:11px;font-weight:700;padding:3px 7px;border-radius:8px;border:1px solid var(--edge-2)}
.tile__play{position:absolute;inset:auto 7px 7px 7px;text-align:center;background:var(--panel-grad);color:#fff;font-size:12px;font-weight:700;padding:6px;border-radius:8px;opacity:0;transform:translateY(6px);transition:.18s}
.tile:hover .tile__play{opacity:1;transform:none}
.tile__meta{padding:9px 10px}
.tile__name{display:block;font-weight:700;font-size:13.5px;line-height:1.25}
.tile__studio{display:block;color:var(--dim);font-size:11.5px;margin-top:2px}

.brands{display:flex;flex-wrap:wrap;gap:12px}
.chip{flex:1 1 150px;min-width:0;display:flex;align-items:center;justify-content:center;background:var(--slate-2);border:1px solid var(--edge);border-radius:12px;padding:14px;cursor:pointer}
.chip:hover{border-color:var(--edge-2)}
.chip img{height:38px;width:auto}

.cashier-logos{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.cashier-logos .chip{flex:0 1 148px}
.cashier-logos .chip img{height:34px}

.tiers table td:first-child{font-weight:700;color:var(--ice)}

.verdict__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.verdict__col{min-width:0;background:var(--slate-2);border:1px solid var(--edge);border-radius:12px;padding:20px}
.verdict__col h3{margin-bottom:12px}
.verdict__col--up{border-top:3px solid var(--good)}
.verdict__col--down{border-top:3px solid var(--warn)}
.verdict__col ul{list-style:none;padding:0;margin:0}
.verdict__col li{padding-left:26px;position:relative}
.verdict__col--up li::before{content:"+";position:absolute;left:6px;color:var(--good);font-weight:800}
.verdict__col--down li::before{content:"–";position:absolute;left:8px;color:var(--warn);font-weight:800}

.voices__head{display:flex;flex-wrap:wrap;align-items:center;gap:18px;background:var(--slate-2);border:1px solid var(--edge);border-radius:12px;padding:18px 20px;margin-bottom:18px}
.voices__score{font-size:40px;font-weight:800;color:var(--ice);line-height:1}
.voices__meta small{color:var(--dim)}
.stars{display:inline-flex;gap:2px}
.stars svg{width:18px;height:18px;fill:var(--volt-2)}
.voices__cta{margin-left:auto}
.voices__list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.voice{min-width:0;background:var(--slate-2);border:1px solid var(--edge);border-radius:12px;padding:16px}
.voice__top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.voice__avatar{width:40px;height:40px;border-radius:50%;background:var(--panel-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex:none}
.voice__who{display:flex;flex-direction:column}
.voice__who span{font-weight:700;font-size:14px}
.voice__who small{color:var(--dim);font-size:12px}
.voice p{margin:0;font-size:14px}

.qa__item{border:1px solid var(--edge);border-radius:12px;background:var(--slate-2);margin-bottom:12px;overflow:hidden}
.qa__item h3{margin:0}
.qa__item summary{list-style:none;cursor:pointer;padding:15px 46px 15px 18px;position:relative;font-family:var(--head);font-weight:700;font-size:16px}
.qa__item summary::-webkit-details-marker{display:none}
.qa__item summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--ice);font-size:22px;font-weight:700}
.qa__item[open] summary::after{content:"–"}
.qa__body{padding:0 18px 16px}
.qa__body p{margin:0;font-size:14.5px;color:var(--dim)}

.stamp{background:var(--slate-2);border:1px solid var(--edge-2);border-radius:12px;padding:18px 20px;display:flex;align-items:center;gap:14px}
.stamp svg{width:34px;height:34px;fill:var(--ice);flex:none}
.stamp b{color:#fff}
.stamp small{display:block;color:var(--dim);font-size:13px;margin-top:3px}

.miniban{display:block;margin:8px 0 26px;border-radius:var(--round);overflow:hidden;border:1px solid var(--edge);cursor:pointer}
.miniban img{width:100%;height:auto}
.prose .miniban+h3,.prose img+h2,.prose img+h3{margin-top:6px}

.railhead{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.railhead .lobby__nav{margin:0}
.railctl{margin-left:auto;display:flex;gap:8px}
.railbtn{width:40px;height:40px;border-radius:11px;background:var(--slate-2);border:1px solid var(--edge);cursor:pointer;display:flex;align-items:center;justify-content:center}
.railbtn:hover{background:var(--slate-3);border-color:var(--edge-2)}
.railbtn svg{width:20px;height:20px;fill:var(--ice)}

.ticker{background:var(--slate-2);border:1px solid var(--edge);border-radius:12px;padding:12px 14px;overflow:hidden}
.ticker__head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ice);margin-bottom:10px}
.ticker__dot{width:8px;height:8px;border-radius:50%;background:var(--volt-2)}
.ticker__list{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;list-style:none}
.ticker__row{display:flex;align-items:center;gap:10px;font-size:13.5px;padding:7px 10px;border-radius:9px;background:var(--slate);border:1px solid var(--edge)}
.ticker__row.fresh{border-color:var(--volt-2)}
.ticker__game{font-weight:700;color:var(--paper)}
.ticker__amt{margin-left:auto;font-weight:800;color:var(--ice)}
.ticker__tag{font-size:11px;color:var(--dim)}

.foot{background:var(--slate);border-top:1px solid var(--edge);margin-top:30px}
.foot__top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:26px;padding:34px 0}
.foot__brand img{height:32px;width:auto;max-width:180px;object-fit:contain;margin-bottom:14px}
.foot__brand p{color:var(--dim);font-size:13.5px}
.foot__social{display:flex;gap:10px;margin-top:14px}
.foot__social a{width:38px;height:38px;border-radius:10px;background:var(--slate-2);border:1px solid var(--edge);display:flex;align-items:center;justify-content:center}
.foot__social a:hover{border-color:var(--edge-2)}
.foot__social svg{width:18px;height:18px;fill:var(--paper)}
.foot__label{font-family:var(--head);font-weight:700;font-size:15px;margin-bottom:12px;color:#fff}
.foot__col-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.foot__col-list span{cursor:pointer;color:var(--dim);font-size:14px}
.foot__col-list span:hover{color:var(--paper)}
.foot__app{margin-top:16px}
.foot__app-row{display:flex;gap:10px;flex-wrap:wrap}
.storebtn{display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border-radius:11px;background:var(--slate-2);border:1px solid var(--edge);cursor:pointer}
.storebtn:hover{border-color:var(--edge-2)}
.storebtn svg{width:20px;height:20px;fill:var(--ice)}
.storebtn b{font-size:13px;display:block;line-height:1.1}
.storebtn small{font-size:10px;color:var(--dim)}
.foot__pay{border-top:1px solid var(--edge);padding:22px 0 6px;text-align:center}
.foot__seals{border-top:1px solid var(--edge);padding:20px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:center;justify-items:center}
.foot__seals a{display:flex;align-items:center;justify-content:center}
.foot__seals img{height:44px;width:auto}
.badge18{width:44px;height:44px;border-radius:50%;border:2px solid var(--volt-2);color:var(--volt-2);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.foot__legal{border-top:1px solid var(--edge);padding:20px 0;color:var(--dim);font-size:12.5px}
.foot__legal p{margin:0 0 9px}
.foot__copy{border-top:1px solid var(--edge);padding:16px 0 40px;color:var(--dim);font-size:12.5px}

.up{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:12px;background:var(--panel-grad);border:none;color:#fff;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:55}
.up.show{display:flex}
.up svg{width:22px;height:22px;fill:#fff}

.heavy{content-visibility:auto;contain-intrinsic-size:auto 600px}

@media (max-width:1100px){
  .menu{position:fixed;top:var(--bar);left:0;right:0;background:var(--slate);border-bottom:1px solid var(--edge);flex-direction:column;align-items:stretch;gap:10px;padding:16px 24px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:.18s;max-height:calc(100vh - var(--bar));overflow:auto}
  .menu.open{transform:none;opacity:1;pointer-events:auto}
  .menu__list{flex-direction:column}
  .menu__list a{width:100%}
  .menu .btn-login,.menu .btn-join{width:100%;justify-content:center}
  .menu__cta{display:flex;flex-direction:column;gap:10px}
  .toggle{display:flex}
  .topbar__cta{display:none}
}
@media (min-width:1101px){.menu__cta{display:none}}
@media (max-width:900px){
  .foot__top{grid-template-columns:1fr 1fr}
  .verdict__grid,.voices__list{grid-template-columns:1fr}
}
@media (max-width:768px){
  :root{--pad:24px}
  h1,.intro__title{font-size:32px}
  h2{font-size:24px}
  .panel,.intro{padding:22px}
  .foot__seals{grid-template-columns:repeat(2,1fr);gap:18px}
}
@media (max-width:560px){
  :root{--pad:18px}
  .shelf__track{grid-auto-columns:154px}
  .foot__top{grid-template-columns:1fr}
  .intro__title{font-size:28px}
}
@media (max-width:380px){
  :root{--pad:14px}
  .shelf__track{grid-auto-columns:142px}
  table{font-size:13px}
  thead th,tbody td,tbody th{padding:9px 10px}
}
