:root{--bg:#0a0e15;--bg2:#0f1520;--card:#121a26;--card2:#17212f;--line:#233044;--tx:#e8eef7;--mut:#9fb0c6;--g:#2fe6a6;--g2:#12b886;--am:#f5c542;--red:#ff4d4f;--r:16px;--f1:"Sora",system-ui,sans-serif;--f2:"Inter",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:400 16px/1.65 var(--f2);overflow-x:hidden}
img{max-width:100%;height:auto}a{color:var(--g);text-underline-offset:3px}a:hover{color:#7bf5cb}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--g);color:#001;padding:8px 12px;z-index:99;border-radius:8px}
:focus-visible{outline:2px solid var(--am);outline-offset:2px}
.ic{flex:none}
/* header */
.hd{position:sticky;top:0;z-index:30;background:rgba(10,14,21,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hd-in{display:flex;align-items:center;gap:14px;height:56px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--tx);font:700 18px var(--f1)}.brand b{color:var(--g)}
.nav{display:flex;gap:2px;margin-left:auto}.nav a{color:var(--mut);text-decoration:none;padding:8px 10px;border-radius:10px;font-size:14px;font-weight:500}
.nav a:hover,.nav a[aria-current]{color:var(--tx);background:var(--card)}
.age{border:2px solid var(--red);color:var(--red);font:700 12px var(--f1);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex:none}
.burger{display:none;background:none;border:0;color:var(--tx);width:44px;height:44px;border-radius:10px;cursor:pointer}
/* hero */
.hero{background:radial-gradient(900px 300px at 85% -20%,#13503f55,transparent),linear-gradient(180deg,var(--bg2),var(--bg));padding:22px 0 10px;border-bottom:1px solid var(--line)}
.hero-in{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:center}
.hero h1{font:800 clamp(25px,3.4vw,40px)/1.15 var(--f1);margin:6px 0 8px;letter-spacing:-.01em}
.eyebrow{display:inline-flex;gap:6px;align-items:center;color:var(--g);font:600 13px var(--f1);margin:0}
.lead{color:var(--mut);margin:0 0 10px;max-width:60ch}
.trust{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:0;margin:6px 0 0;font-size:13px;color:var(--mut)}.trust li{display:flex;gap:5px;align-items:center}.trust .ic{color:var(--g);width:16px;height:16px}
.hero-img{border-radius:var(--r);justify-self:end}
.byline{font-size:13px;color:var(--mut);margin:0}
.hero.sub{padding:20px 0}.hero.sub .hero-in{grid-template-columns:1fr 300px}
.crumbs{display:flex;gap:6px;font-size:13px;color:var(--mut);padding-top:12px}.crumbs a{color:var(--mut)}
/* listing */
.upd{display:flex;align-items:center;gap:8px;color:var(--mut);font-size:13px;margin:16px 0 12px;flex-wrap:wrap}.upd .ic{width:16px;height:16px;color:var(--am)}.upd .sep{flex:1}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 28px}
.cc{background:linear-gradient(180deg,var(--card),#0e1520);border:1px solid var(--line);border-radius:var(--r);padding:0 0 14px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.cc::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--g),var(--am))}
.cc-top{display:flex;justify-content:space-between;align-items:center;padding:14px 14px 6px;gap:8px}
.rank{display:inline-flex;gap:6px;align-items:center;background:var(--g);color:#032;font:700 13px var(--f1);padding:5px 12px 5px 8px;border-radius:8px 14px 14px 8px;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 50%,100% 100%,0 100%)}
.rank .ic{width:15px;height:15px}
.chips{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.chip{font-size:11px;color:var(--mut);border:1px solid var(--line);border-radius:99px;padding:1px 8px}
.cc-main{display:flex;gap:12px;align-items:center;padding:6px 14px}.cc-main h3{font:700 19px var(--f1);margin:0}
.logo{border-radius:14px;background:#0a0e15;border:1px solid var(--line);flex:none}
.bonus{margin:2px 0 0;color:var(--g);font-weight:600;font-size:15px;line-height:1.35}
.cc-rows{list-style:none;margin:8px 14px;padding:0;background:var(--bg);border:1px solid var(--line);border-radius:12px}
.cc-rows li{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;padding:9px 12px;font-size:13px;border-bottom:1px solid var(--line)}.cc-rows li:last-child{border:0}
.cc-rows .ic{width:18px;height:18px;color:var(--am)}.cc-rows span{color:var(--mut)}.cc-rows b{font-weight:600;text-align:right;max-width:14ch;line-height:1.3}
.cc-cta{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;padding:6px 14px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 16px;background:var(--g);color:#032;font:700 15px var(--f1);border-radius:12px;text-decoration:none;border:0;cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #2fe6a644;color:#032}.btn .ic{width:16px;height:16px}
.btn.ghost{background:transparent;color:var(--tx);border:1px solid var(--line)}.btn.ghost:hover{color:var(--tx);border-color:var(--g);box-shadow:none}.btn.small{min-height:40px}
.cc-more{margin:8px 14px 0;font-size:13px}.cc-more summary{color:var(--mut);cursor:pointer;min-height:36px;display:flex;align-items:center}
.micro{font-size:11px;color:var(--mut);margin:8px 14px 0;line-height:1.4}
.more-body{padding:4px 0 8px;color:var(--mut)}
/* prose */
.prose{padding-top:8px;padding-bottom:30px;max-width:900px}
.prose h2{font:700 clamp(21px,2.6vw,28px)/1.25 var(--f1);margin:38px 0 10px;scroll-margin-top:70px}
.prose h3{font:700 19px/1.3 var(--f1);margin:24px 0 6px}
.prose p{margin:0 0 14px;color:#cfdaea}.prose ul{padding-left:20px;color:#cfdaea}.prose li{margin:4px 0}
.prose>.cards,.prose>.upd{max-width:none}
.home .prose{max-width:1120px}.home .prose>p,.home .prose>ul,.home .prose>h2,.home .prose>h3,.home .prose>.tbl,.home .prose>details,.home .prose>.note,.home .prose>section{max-width:860px}
.note{display:flex;gap:10px;background:#1b2a1f;border:1px solid #2a5a3f;border-radius:12px;padding:12px 14px;margin:14px 0;color:#cdeedd}.note p{margin:0;color:inherit}.note .ic{color:var(--g);margin-top:3px}
.tbl{overflow-x:auto;margin:14px 0;border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:14px;min-width:520px}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--card2);font:600 13px var(--f1);color:var(--mut)}tr:last-child td{border:0}
details.faq,details.more{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:8px 0;padding:0 14px}
details.faq summary,details.more summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:600;list-style:none;gap:8px}
details summary::-webkit-details-marker{display:none}
details.faq summary::after,details.more summary::after{content:"+";margin-left:auto;color:var(--g);font-size:22px}
details[open]>summary::after{content:"–"}
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 8px;padding:0;list-style:none}
.cats a{display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;text-decoration:none;color:var(--tx);height:100%;min-height:96px}
.cats a:hover{border-color:var(--g)}.cats .ic{color:var(--g)}.cats small{color:var(--mut)}.cats b{font:600 14px/1.3 var(--f1)}
.review{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--g);border-radius:14px;padding:6px 18px 14px;margin:18px 0}
.review h3{margin:14px 0 8px}.review h4{font:600 15px var(--f1);margin:14px 0 4px;color:var(--am)}
.rg{margin:0 auto 24px;background:#2a1618;border:1px solid #5b2327;border-radius:12px;padding:12px 16px;font-size:14px;color:#f3cfd0;max-width:900px}
.back{margin-top:28px;font-size:14px}
/* footer */
.ft{border-top:1px solid var(--line);background:#070a10;padding:28px 0 90px;margin-top:20px}
.ft-trust{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.ft-trust img{border-radius:10px;border:1px solid var(--line);display:block}
.ft-cols{display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:24px}
.ft h4{font:600 14px var(--f1);margin:0 0 8px}.ft-cols a{display:block;color:var(--mut);text-decoration:none;font-size:14px;padding:5px 0}.ft-cols a:hover{color:var(--g)}.ft-about p{color:var(--mut);font-size:14px;margin:0}
.ft-legal{font-size:12.5px;color:var(--mut);border-top:1px solid var(--line);margin-top:20px;padding-top:14px}
.cookie{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:10px 14px;display:flex;gap:12px;align-items:center;max-width:620px;margin:auto;font-size:13px}.cookie p{margin:0;flex:1}
.cookie[hidden],.age-gate[hidden]{display:none}
.age-gate{position:fixed;inset:0;background:rgba(5,8,13,.92);z-index:60;display:grid;place-items:center;padding:16px}.age-box{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;max-width:420px;text-align:center}.age-box h2{font:700 22px var(--f1);margin:0 0 8px}.age-btns{display:grid;gap:8px;margin-top:14px}
@media(max-width:1020px){.cards{grid-template-columns:repeat(2,1fr)}.cats{grid-template-columns:repeat(2,1fr)}.hero-in,.hero.sub .hero-in{grid-template-columns:1fr}.hero-img{display:none}}
@media(max-width:820px){.burger{display:grid;place-items:center;margin-left:auto}.nav{display:none;position:absolute;top:56px;left:0;right:0;flex-direction:column;background:var(--bg2);border-bottom:1px solid var(--line);padding:8px 12px 14px}.nav.open{display:flex}.nav a{min-height:44px;display:flex;align-items:center;font-size:16px}.age{margin-left:auto}.ft-cols{grid-template-columns:1fr}}
@media(max-width:700px){
.cards{grid-template-columns:1fr;gap:10px}
.hero{padding:10px 0 4px}.hero h1{font-size:22px;margin:2px 0 4px}.lead{font-size:14px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.eyebrow,.trust{display:none}
.hero.sub .lead{-webkit-line-clamp:3}
.upd{margin:8px 0 8px}
.cc-top{padding:10px 12px 2px}.chips{display:none}.cc-main{padding:4px 12px}.logo{width:44px;height:44px}.cc-main h3{font-size:17px}.bonus{font-size:14px}
.cc-rows,.micro{display:none}.cc-cta{padding:6px 12px 0}.cc{padding-bottom:10px}.cc-more{margin:4px 12px 0}.cc-more summary{min-height:32px}
.cc-more[open]~.micro{display:block}
.cats{grid-template-columns:1fr 1fr}
.cookie{flex-direction:row}
.tbl table{min-width:480px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* compact first screen */
.home .prose>h2:first-child,.prose>.upd+h2{margin-top:0}
.hero-in{grid-template-columns:1fr 250px}.hero-img{width:250px;height:auto;max-height:155px;object-fit:cover}
.hero h1{font-size:clamp(24px,3vw,34px);margin:2px 0 6px}.hero{padding:14px 0 6px}.lead{margin:0 0 6px;font-size:15px}.trust{margin:4px 0 0}
.upd{margin:10px 0 6px}
.prose>.upd+h2{font-size:22px;margin-bottom:8px}
.cc-top{padding:10px 12px 2px}.cc-main{padding:4px 12px}.logo{width:48px;height:48px}.cc-rows{margin:6px 12px}.cc-rows li{padding:6px 10px}.cc-rows b{max-width:none;white-space:nowrap}
.cc-cta{padding:4px 12px 0}.cc-more{margin:4px 12px 0}.cc-more summary{min-height:34px}.micro{margin:4px 12px 0}
.cards{margin-bottom:20px}
@media(max-width:700px){.hero{padding:8px 0 2px}.hero h1{font-size:21px;margin:0 0 2px}.cc-main{padding:2px 12px}.cc-top{padding:8px 12px 0}.btn{min-height:44px}.prose>.upd+h2{font-size:18px;margin-bottom:6px}.upd{margin:6px 0 4px}}

@media(max-width:1020px){.hero-in,.hero.sub .hero-in{grid-template-columns:1fr}.hero-img{display:none}}
@media(max-width:700px){.upd .sep{display:none}.upd{gap:4px 12px}.cc-more summary{min-height:30px}.cc{padding-bottom:6px}.cc-top{padding:8px 12px 0}.rank{font-size:12px;padding:3px 10px 3px 6px}.cc-main h3{font-size:16px}.bonus{font-size:13.5px}.cc-cta{grid-template-columns:1.5fr 1fr}.lead{-webkit-line-clamp:2}}

.hero-img{max-height:130px;width:210px}.hero-in{grid-template-columns:1fr 210px}
.eyebrow{display:none}.hero{padding:10px 0 4px}.hero h1{margin:0 0 4px}
.cc-main{padding:6px 12px 2px}.cc-rows li{padding:5px 10px}.cc-top{padding:8px 12px 0}
@media(max-width:700px){
.cc-top{position:absolute;right:8px;top:6px;padding:0;z-index:2}
.cc-main{padding:10px 74px 2px 12px}
.hero h1{font-size:20px}
}
@media(max-width:1020px){.hero-in,.hero.sub .hero-in{grid-template-columns:1fr}.hero-img{display:none}}
@media(max-width:700px){.hero .lead{display:none}.hero.sub .lead{display:-webkit-box}.upd{font-size:12.5px;flex-wrap:nowrap}.upd a{white-space:nowrap;margin-left:auto}}
.cats{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1020px){.cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.cats{grid-template-columns:minmax(0,1fr)}.cats a{min-height:0}}
.cats b{overflow-wrap:anywhere}
.prose .cc .micro,.cc .micro{margin:4px 12px 0;font-size:11px;color:var(--mut)}
.prose .cc p.bonus{margin:2px 0 0;color:var(--g)}
.prose .cc h3{margin:0}

/* consistent left edge: one 1120 container, readable text column */
.prose,.home .prose{max-width:1120px}
.prose>p,.prose>ul,.prose>h2,.prose>h3,.prose>.tbl,.prose>details,.prose>.note,.prose>section,.prose>.fig{max-width:820px}
.prose>.cards,.prose>.cats,.prose>.upd{max-width:none}
.rg{max-width:1088px;margin-left:auto;margin-right:auto}
.hero-in{grid-template-columns:1fr 360px}.hero-img{width:360px;max-height:none}
.hero.sub .hero-in{grid-template-columns:1fr 360px}
.fig{margin:22px 0}.fig img{display:block;width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line)}.fig figcaption{font-size:13px;color:var(--mut);margin-top:6px}
.brandbanner{display:block;width:100%;height:auto;border-radius:12px;margin:12px 0 4px}
@media(max-width:1020px){.hero-in,.hero.sub .hero-in{grid-template-columns:1fr}.hero-img{display:none}}
@media(min-width:1100px){.prose>.fig{float:right;width:270px;margin:6px 0 14px 24px}.prose>.fig figcaption{font-size:12px}.prose>.review{clear:both}}
.prose::after{content:"";display:block;clear:both}

.cc-more summary{font-size:12px}.cc-more .more-body{font-size:12px}
.hcards{display:grid;gap:12px;margin:14px 0 24px}
.hc{display:grid;grid-template-columns:auto minmax(190px,1.1fr) minmax(220px,1.4fr) auto;gap:14px 20px;align-items:center;background:linear-gradient(180deg,var(--card),#0e1520);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;position:relative;overflow:hidden}
.hc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--g),var(--am))}
.hc-brand{display:flex;gap:12px;align-items:center}.hc-brand h3{font:700 18px var(--f1);margin:0}.prose .hc .bonus{margin:2px 0 0;color:var(--g);font-size:14px}
.hc-rows{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13.5px}.prose .hc-rows li{display:flex;gap:6px;align-items:center;margin:0}.hc-rows .ic{width:16px;height:16px;color:var(--am)}.hc-rows span{color:var(--mut)}
.hc-cta{display:grid;gap:4px;justify-items:stretch;min-width:170px}.prose .hc .micro{margin:0;font-size:11px;text-align:center}
.prose>.hcards{max-width:none}
@media(max-width:900px){.hc{grid-template-columns:1fr;gap:10px}.hc .rank{justify-self:start}.hc-cta{min-width:0}}

.logo{width:96px;height:48px;object-fit:contain;padding:7px 9px;background:#070a10;border:1px solid var(--line);border-radius:12px;flex:none}
.hc .logo{width:112px;height:52px}
@media(max-width:700px){.logo{width:84px;height:42px;padding:5px 7px}}

.logo{width:116px;height:54px;padding:6px 10px}.hc .logo{width:132px;height:58px}
@media(max-width:700px){.logo{width:92px;height:44px;padding:4px 8px}}
.hero-in{grid-template-columns:1fr 260px}.hero-img{width:260px;height:150px;max-height:150px;object-fit:contain;border-radius:0;justify-self:end}
.hero.sub .hero-in{grid-template-columns:1fr 360px}.hero.sub .hero-img{width:360px;height:auto;max-height:none;object-fit:fill;border-radius:var(--r)}
@media(max-width:1020px){.hero-in,.hero.sub .hero-in{grid-template-columns:1fr}.hero-img{display:none}}
.hero-in{grid-template-columns:1fr 300px}.hero-img{width:300px;height:185px;max-height:185px}
@media(max-width:1020px){.hero-in,.hero.sub .hero-in{grid-template-columns:1fr}.hero-img{display:none}}
