:root{
--surface:#0B1020;--surface-2:#141A2E;--surface-3:#1B2340;
--ink:#EEF2FF;--muted:#98A4C2;--line:#252E4B;
--primary:#17C4B2;--primary-dark:#0E9C8E;--primary-soft:rgba(23,196,178,.12);
--accent:#F5B301;--accent-dark:#C98F00;
--gold1:#FFD75E;--gold2:#F5B301;
--danger:#FF6B6B;--ok:#3FD68C;
--shadow:0 6px 24px rgba(0,0,0,.45);--radius:14px;--wrap:1120px;
--font:'Outfit',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font);
font-size:17px;line-height:1.68;overflow-x:hidden}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.22;margin:0 0 .5em;font-weight:700;letter-spacing:-.015em}
h1{font-size:clamp(1.85rem,5vw,2.9rem)}
h2{font-size:clamp(1.4rem,3.6vw,2rem);margin-top:2.2em}
h3{font-size:clamp(1.12rem,2.6vw,1.35rem);margin-top:1.6em}
p{margin:0 0 1.1em}
img{max-width:100%;height:auto}
hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
/* provider logos */
.pl{display:flex;align-items:center;justify-content:center;height:70px;margin:-2px 0 12px;
background:#080D1A;border:1px solid var(--line);border-radius:10px;padding:10px 14px}
.pl img{max-height:46px;max-width:82%;width:auto;height:auto;object-fit:contain}
.pl-hero{display:inline-flex;align-items:center;justify-content:center;height:96px;min-width:220px;
margin:0 0 18px;background:#080D1A;border:1px solid var(--line);border-radius:14px;padding:14px 26px}
.pl-hero img{max-height:64px;max-width:260px;width:auto;height:auto;object-fit:contain}
.pl-row{display:inline-flex;align-items:center;justify-content:center;width:64px;height:34px;
background:#080D1A;border:1px solid var(--line);border-radius:7px;padding:4px 6px;
margin-right:10px;vertical-align:middle}
.pl-row img{max-height:24px;max-width:52px;width:auto;height:auto;object-fit:contain}
/* author strip under H1 */
.byline-card{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin:18px 0 4px;
padding:10px 14px;background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--primary);
border-radius:12px;font-size:.86rem;color:var(--muted);line-height:1.45}
.byline-card img{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:0 0 42px;border:1px solid var(--line)}
.byline-card .who{flex:1 1 200px;min-width:0}
.byline-card .who a strong{color:var(--ink)}
.byline-card .role{font-size:.78rem}
.byline-card .dates{text-align:right;font-size:.8rem}
@media(max-width:560px){.byline-card .dates{text-align:left;flex-basis:100%;display:flex;gap:14px}}
/* reviewer photo */
.author .av{overflow:hidden;padding:0}
.author .av img{width:100%;height:100%;object-fit:cover;display:block}
.author-hero{display:flex;gap:20px;align-items:center;margin:6px 0 22px}
.author-hero img{width:120px;height:120px;border-radius:50%;object-fit:cover;
border:2px solid var(--line);flex:0 0 120px}
/* homepage top banner */
.home-banner{margin:14px 0 0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
background:#0B1330;line-height:0}
.home-banner img{width:100%;height:auto;display:block}
.hero.after-banner{padding-top:24px}
/* review banner */
.banner{margin:18px 0 0;border:1px solid var(--line);border-radius:var(--radius);
overflow:hidden;background:var(--surface-2);line-height:0}
.banner img{width:100%;height:auto;display:block}
.banner figcaption{line-height:1.5;font-size:.76rem;color:var(--muted);padding:9px 14px;
border-top:1px solid var(--line);background:var(--surface-2)}
/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(11,16,32,.94);
backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:14px;height:62px}
.logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.06rem;color:var(--ink)}
.logo:hover{text-decoration:none}
.logo .mk{width:28px;height:28px;border-radius:8px;flex:0 0 28px;
background:linear-gradient(140deg,var(--primary),var(--accent));display:grid;place-items:center;
font-size:14px;font-weight:900;color:#08121F}
nav.main{margin-left:auto;display:flex;gap:4px}
nav.main a{color:var(--muted);font-size:.9rem;font-weight:600;padding:8px 11px;border-radius:9px}
nav.main a:hover{color:var(--ink);background:var(--surface-2);text-decoration:none}
.menu-btn{margin-left:auto;display:none;background:var(--surface-2);border:1px solid var(--line);
color:var(--ink);width:42px;height:38px;border-radius:10px;font-size:18px;cursor:pointer}
@media(max-width:900px){
nav.main{display:none;position:absolute;top:62px;left:0;right:0;background:var(--surface-2);
flex-direction:column;padding:10px;gap:2px;border-bottom:1px solid var(--line)}
nav.main.open{display:flex}
nav.main a{padding:12px;font-size:1rem}
.menu-btn{display:block}
}
/* header dropdowns */
.nav-item{position:relative;display:flex;align-items:center}
.sub-toggle{background:none;border:0;color:var(--muted);cursor:pointer;padding:8px 6px 8px 0;margin-left:-6px;
display:flex;align-items:center;border-radius:8px}
.sub-toggle span{display:block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
.nav-item:hover .sub-toggle,.nav-item.open .sub-toggle{color:var(--ink)}
.nav-item.open .sub-toggle span{transform:rotate(-135deg) translateY(-1px)}
.sub{position:absolute;top:100%;left:0;padding-top:10px;z-index:60;opacity:0;visibility:hidden;
transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}
.nav-item:hover .sub,.nav-item:focus-within .sub,.nav-item.open .sub{opacity:1;visibility:visible;transform:none;
transition:opacity .16s ease,transform .16s ease,visibility 0s}
#dd-providers{left:auto;right:-40px}
.sub-panel{width:520px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;
box-shadow:0 18px 44px rgba(0,0,0,.55);padding:14px}
#dd-providers .sub-panel{width:470px}
.sub-head{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800;
padding:2px 6px 10px}
.sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
nav.main .sub-grid a{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;color:var(--ink)}
nav.main .sub-grid a:hover{background:var(--surface-3)}
.mt{width:52px;height:32px;flex:0 0 52px;background:#080D1A;border:1px solid var(--line);border-radius:7px;
display:flex;align-items:center;justify-content:center;padding:4px}
.mt img{max-width:100%;max-height:22px;width:auto;height:auto;object-fit:contain}
.mn{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.mn strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mn small{font-size:.72rem;color:var(--muted);font-weight:600}
nav.main a.sub-all{display:block;margin-top:10px;padding:10px 8px 2px;border-top:1px solid var(--line);
color:var(--primary);font-size:.84rem;border-radius:0}
nav.main a.sub-all:hover{background:none;text-decoration:underline}
.nav-item.has-sub.dismissed .sub{opacity:0;visibility:hidden}
@media(prefers-reduced-motion:reduce){.sub,.sub-toggle span{transition:none}}
@media(max-width:900px){
nav.main{max-height:calc(100vh - 62px);overflow-y:auto}
.nav-item{flex-wrap:wrap}
.nav-item .nav-top{flex:1}
.sub-toggle{padding:12px 14px;margin:0}
.sub-toggle span{width:9px;height:9px}
.sub{position:static;padding:0;width:100%;opacity:1;visibility:visible;transform:none;display:none;transition:none}
#dd-providers{position:static}
.nav-item:hover .sub,.nav-item:focus-within .sub{display:none}
.nav-item.open .sub{display:block}
.sub-panel,#dd-providers .sub-panel{width:auto;box-shadow:none;border:0;border-left:2px solid var(--line);
border-radius:0;background:none;padding:2px 0 8px 10px;margin:0 0 6px 12px}
.sub-head{display:none}
.sub-grid{grid-template-columns:1fr}
nav.main .sub-grid a{padding:8px 6px}
nav.main a.sub-all{margin-top:4px;padding:8px 6px;border-top:0}
}
/* hero */
.hero{padding-top:44px;padding-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px;padding:0;list-style:none}
.chips li{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;
padding:6px 13px;font-size:.82rem;color:var(--muted);font-weight:600}
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--muted);
font-size:.87rem;margin:14px 0 0}
.lede{font-size:1.1rem;color:#C6CFE6}
/* key takeaways */
.kt{background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--accent);
border-radius:var(--radius);padding:20px 22px;margin:28px 0}
.kt h2{margin:0 0 .6em;font-size:1.05rem;text-transform:uppercase;letter-spacing:.09em;color:var(--accent)}
.kt ul{margin:0;padding-left:20px}
.kt li{margin-bottom:.6em;color:#C6CFE6}
/* casino card */
.cards{display:flex;flex-direction:column;gap:16px;margin:26px 0}
.card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);
padding:18px;position:relative;box-shadow:var(--shadow)}
.card.top{border-color:var(--accent)}
.card-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}
.rank{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;
font-weight:900;font-size:1rem;background:var(--surface-3);color:var(--muted);border:1px solid var(--line)}
.card.top .rank{background:linear-gradient(140deg,var(--gold1),var(--gold2));color:#1A1200;border-color:transparent}
.tile{width:92px;height:56px;flex:0 0 92px;background:#080D1A;border:1px solid var(--line);
border-radius:10px;display:grid;place-items:center;padding:7px}
.tile img{max-height:42px;width:auto;object-fit:contain}
.card-id{flex:1 1 190px;min-width:0}
.card-id h3{margin:0 0 4px;font-size:1.22rem}
.pill{display:inline-block;background:var(--primary-soft);color:var(--primary);
border:1px solid rgba(23,196,178,.3);border-radius:999px;padding:3px 10px;
font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.stars{color:var(--gold2);font-weight:800;white-space:nowrap}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;margin:14px 0}
.metric{background:var(--surface-3);border-radius:10px;padding:9px 12px}
.metric .k{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}
.metric .v{font-size:.95rem;font-weight:700;margin-top:2px}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.btn{display:inline-block;background:linear-gradient(135deg,var(--gold1),var(--gold2));color:#1A1200;
font-weight:800;padding:12px 24px;border-radius:11px;text-align:center;border:0;
font-size:.97rem;letter-spacing:.02em;cursor:pointer}
.btn:hover{text-decoration:none;filter:brightness(1.07)}
.btn-2{display:inline-block;background:transparent;color:var(--primary);border:1px solid var(--line);
padding:11px 18px;border-radius:11px;font-weight:700;font-size:.92rem}
.btn-2:hover{text-decoration:none;border-color:var(--primary)}
.fine{font-size:.76rem;color:var(--muted);width:100%;margin-top:2px}
details.why{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
details.why summary{cursor:pointer;font-weight:700;font-size:.9rem;color:var(--primary);
list-style:none;padding:4px 0}
details.why summary::-webkit-details-marker{display:none}
details.why summary::before{content:"▸ ";transition:.2s}
details.why[open] summary::before{content:"▾ "}
details.why ul{margin:8px 0 0;padding-left:20px;color:#C6CFE6;font-size:.94rem}
details.why li{margin-bottom:.45em}
/* ranking cards: phone layout */
@media(max-width:560px){
.card{padding:16px 14px}
.card-head{flex-wrap:nowrap;align-items:center;gap:10px;padding-right:58px}
.rank{width:30px;height:30px;flex:0 0 30px;font-size:.92rem}
.tile{width:74px;height:48px;flex:0 0 74px;padding:6px}
.tile img{max-height:34px}
.card-id{flex:1 1 0;min-width:0}
.card-id h3{font-size:1.08rem;margin-bottom:5px}
.pill{font-size:.66rem;padding:3px 8px;white-space:normal;line-height:1.35}
.stars{position:absolute;top:18px;right:14px;font-size:.95rem}
.metrics{grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 12px}
.metrics .metric:nth-child(3){grid-column:1/-1}
.metric{padding:9px 11px}
.metric .v{font-size:.9rem;line-height:1.35}
.cta-row{gap:8px}
.cta-row .btn,.cta-row .btn-2{flex:1 1 100%;text-align:center;padding:13px 16px}
.fine{text-align:center}
}
/* tables */
.tw{overflow-x:auto;margin:22px 0;border:1px solid var(--line);border-radius:var(--radius)}
table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--surface-3);font-size:.76rem;text-transform:uppercase;
letter-spacing:.07em;color:var(--muted);font-weight:800;white-space:nowrap}
tr:last-child td{border-bottom:0}
td strong{color:var(--ink)}
/* pros cons */
.pc{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
@media(max-width:700px){.pc{grid-template-columns:1fr}}
.pc>div{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.pc h4{margin:0 0 .6em;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em}
.pc .p h4{color:var(--ok)}.pc .c h4{color:var(--danger)}
.pc ul{margin:0;padding-left:18px;font-size:.93rem;color:#C6CFE6}
.pc li{margin-bottom:.42em}
/* grid of links */
.gr{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px;margin:22px 0}
.gr a{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);
padding:16px;display:block;color:var(--ink)}
.gr a:hover{border-color:var(--primary);text-decoration:none}
.gr a .t{font-weight:700;margin-bottom:4px}
.gr a .d{font-size:.85rem;color:var(--muted)}
/* notes */
.note{background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--primary);
border-radius:10px;padding:15px 18px;margin:20px 0;font-size:.93rem;color:#C6CFE6}
.note.warn{border-left-color:var(--accent)}
.note strong{color:var(--ink)}
.disclosure{background:var(--surface-2);border:1px dashed var(--line);border-radius:10px;
padding:14px 17px;font-size:.84rem;color:var(--muted);margin:22px 0}
/* faq */
.faq details{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;
padding:14px 17px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:700;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--primary);font-weight:800}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:.8em 0 0;color:#C6CFE6;font-size:.94rem}
/* author */
.author{display:flex;gap:15px;align-items:flex-start;background:var(--surface-2);
border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:28px 0}
.author .av{width:56px;height:56px;flex:0 0 56px;border-radius:50%;background:var(--surface-3);
display:grid;place-items:center;font-weight:800;color:var(--primary);border:1px solid var(--line)}
.author .n{font-weight:700}
.author .r{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}
.author p{font-size:.9rem;color:#C6CFE6;margin:.6em 0 0}
/* toc */
.toc{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;margin:26px 0}
.toc h2{margin:0 0 .5em;font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:26px;font-size:.92rem}
@media(max-width:620px){.toc ol{columns:1}}
.toc li{margin-bottom:.34em}
/* footer */
footer.site{border-top:1px solid var(--line);margin-top:56px;padding:34px 0 28px;
background:#070B16;color:var(--muted);font-size:.88rem}
.fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:26px;margin-bottom:26px}
footer.site h4{color:var(--ink);font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;margin:0 0 .8em}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site li{margin-bottom:.45em}
footer.site a{color:var(--muted)}
footer.site a:hover{color:var(--primary)}
.legal{border-top:1px solid var(--line);padding-top:18px;font-size:.8rem;line-height:1.6}
.age{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;
border:2px solid var(--accent);color:var(--accent);font-weight:900;font-size:.72rem;margin-right:9px;vertical-align:middle}
.bc{font-size:.82rem;color:var(--muted);margin:18px 0 6px}
.bc a{color:var(--muted)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:var(--accent);color:#1A1200;padding:9px 14px;border-radius:8px;z-index:99}
