@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@500;600;700;800&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&display=swap');

:root{
  --paper:#ffffff;
  --mist:#f2f5f3;
  --ink:#17201c;
  --body:#26302b;
  --slate:#58645e;
  --rule:#dce3df;
  --rule-strong:#c3cdc8;
  --green:#0f5c43;
  --green-dark:#0a4533;
  --green-tint:#eaf2ee;
  --brass:#9a6f1c;
  --brass-tint:#f8f2e4;
  --f-head:'Libre Franklin',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-body:'Source Serif 4',Georgia,'Times New Roman',serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
[id]{scroll-margin-top:92px}
body{margin:0;background:var(--paper);color:var(--body);font-family:var(--f-body);font-size:18px;line-height:1.72;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:var(--f-head);color:var(--ink);font-weight:700;line-height:1.14;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:3rem;font-weight:800;line-height:1.06;letter-spacing:-.025em;margin:0 0 .4em}
h2{font-size:2rem;margin:0 0 .75em}
h3{font-size:1.28rem;margin:1.7em 0 .45em}
p{margin:0 0 1.1em}
strong{font-weight:600;color:var(--ink)}
a{color:var(--green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(15,92,67,.35)}
a:hover{color:var(--green-dark);text-decoration-color:currentColor}
a:focus-visible,summary:focus-visible,.cta:focus-visible{outline:3px solid #8cc4aa;outline-offset:3px;border-radius:6px}
img{max-width:100%;height:auto;display:block}

/* top bar */
.topbar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--rule)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:12px;padding-bottom:12px}
.brand{text-decoration:none}
.brand img{width:236px;height:auto}
.topbar-ctas{display:flex;align-items:center;gap:8px}

/* buttons */
.cta{display:inline-block;white-space:nowrap;padding:12px 22px;border-radius:8px;font-family:var(--f-head);font-weight:700;font-size:.95rem;line-height:1.2;letter-spacing:0;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.cta-fill{background:var(--green);color:#fff;border-color:var(--green)}
.cta-fill:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff}
.cta-ghost{background:transparent;color:var(--ink);border-color:var(--rule-strong)}
.cta-ghost:hover{color:var(--ink);border-color:var(--ink)}

/* intro */
.intro{padding:64px 0 60px;border-bottom:1px solid var(--rule)}
.intro-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.intro-grid:not(:has(.intro-art)){grid-template-columns:1fr}
.intro-grid:not(:has(.intro-art)) .intro-copy{max-width:760px}
.intro-copy p{font-size:1.1rem;color:#2c3732}
.intro-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.intro-ctas .cta{padding:15px 28px;font-size:1rem}
.intro-art img{border-radius:14px;border:1px solid var(--rule)}

/* content sections */
.sect{padding:48px 0 16px}
.sect .wrap{max-width:780px}
.sect .wrap>figure{margin:2em 0}
.sect .wrap>figure img{width:100%;border-radius:12px;border:1px solid var(--rule)}
figcaption{margin-top:10px;font-family:var(--f-head);font-size:.85rem;color:var(--slate)}
.sect .wrap>ul,.sect .wrap>ol{margin:0 0 1.2em;padding-left:1.3em}
.sect .wrap li{margin:.55em 0;padding-left:.2em}
.sect .wrap li::marker{color:var(--green);font-family:var(--f-head);font-weight:700}
em{font-style:italic}

/* tables */
.tbl{overflow-x:auto;margin:0 0 1.5em;border:1px solid var(--rule);border-radius:12px;background:var(--paper)}
table{width:100%;border-collapse:collapse;font-family:var(--f-head);font-size:.94rem;line-height:1.5}
th,td{padding:13px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);color:var(--body)}
thead th{background:var(--mist);color:var(--ink);font-weight:600;font-size:.88rem}
tbody tr:last-child td{border-bottom:0}
tbody td:first-child{color:var(--ink);font-weight:600}

/* top picks table */
.tbl-picks{margin:.4em 0 1.8em;border-color:var(--rule-strong);border-radius:14px}
.tbl-picks thead th{background:var(--paper);color:var(--slate);font-weight:500;padding:14px 22px;border-bottom:1px solid var(--rule-strong)}
.tbl-picks td{padding:22px;vertical-align:middle}
.tbl-picks .pick-brand{width:36%}
.tbl-picks .pick-why{width:40%;font-family:var(--f-body);font-size:1rem;line-height:1.55;color:var(--body);font-weight:400}
.tbl-picks .pick-go{width:24%;text-align:right}
.tbl-picks tr.pick-top td{background:var(--brass-tint)}
.tbl-picks tr.pick-top td:first-child{box-shadow:inset 3px 0 0 var(--brass)}
.pick-id{display:grid;grid-template-columns:44px 128px;grid-template-areas:"rank logo" "rank name";column-gap:16px;row-gap:8px;align-items:center}
.pick-rank{grid-area:rank;font-family:var(--f-body);font-weight:600;font-size:2.6rem;line-height:1;color:var(--green);text-align:center;font-variant-numeric:lining-nums}
.pick-top .pick-rank{color:var(--brass)}
.pick-id img{grid-area:logo;width:128px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--rule)}
.pick-name{grid-area:name;font-family:var(--f-head);font-weight:700;font-size:1.02rem;color:var(--ink);line-height:1.3}
.pick-badge{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;font-family:var(--f-head);font-size:.74rem;font-weight:600;vertical-align:1px;color:var(--brass);background:#fff;border:1px solid rgba(154,111,28,.45)}
.tbl-picks .pick-go .cta{min-width:196px;padding:13px 22px;text-align:center}

/* byline card */
.byline-card{display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:start;margin:0 0 1.4em;padding:24px;border:1px solid var(--rule);border-radius:14px;font-family:var(--f-head);font-size:.94rem;line-height:1.55}
.byline-card img{width:96px;height:96px;object-fit:cover;border-radius:50%}
.byline-card p{margin:.25em 0;color:var(--slate)}
.byline-card p:first-child a{font-weight:700;font-size:1.05rem;color:var(--ink);text-decoration:none}
.byline-card p:first-child a:hover{color:var(--green)}

/* contents */
.contents{margin:0 0 1em;padding:2px 24px;border-radius:12px;background:var(--mist)}
.contents summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;cursor:pointer;list-style:none;font-family:var(--f-head);font-weight:700;font-size:1rem;color:var(--ink)}
.contents summary::-webkit-details-marker{display:none}
.contents summary::after{content:"+";font-weight:500;font-size:1.5rem;line-height:1;color:var(--green)}
.contents[open] summary::after{content:"\2212"}
.contents-list{columns:2;gap:36px;margin:0 0 1.2em;padding-left:1.4em;font-family:var(--f-head);font-size:.95rem}
.contents-list li{margin:.4em 0;break-inside:avoid}
.contents-list li::marker{color:var(--slate);font-weight:600}
.contents-list a{color:var(--ink);text-decoration:none}
.contents-list a:hover{color:var(--green);text-decoration:underline}

/* questions */
.qa-list{border-top:1px solid var(--rule)}
.qa-item{border-bottom:1px solid var(--rule)}
.qa-item summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;cursor:pointer;list-style:none;font-family:var(--f-head);font-weight:600;font-size:1.05rem;color:var(--ink)}
.qa-item summary::-webkit-details-marker{display:none}
.qa-item summary::after{content:"+";flex:none;font-weight:500;font-size:1.5rem;line-height:1;color:var(--green)}
.qa-item[open] summary::after{content:"\2212"}
.qa-a{padding:0 0 20px}

/* responsible gambling note */
.rg-note{margin:1.8em 0;padding:18px 22px;border-radius:10px;background:var(--green-tint);border-left:3px solid var(--green);font-family:var(--f-head);font-size:.93rem;line-height:1.6;color:var(--body)}
.rg-note strong{display:block;margin-bottom:.35em;font-weight:700;color:var(--ink)}

/* related links + footer */
.see-also{max-width:780px;margin:0 auto;padding:24px 28px 44px;font-family:var(--f-head);font-size:.9rem;color:var(--slate)}
.pagefoot{background:var(--ink);color:#b8c3bd;padding:56px 0 26px;font-family:var(--f-head)}
.pagefoot-grid{display:grid;grid-template-columns:1.1fr 2.2fr;gap:48px}
.pagefoot-brand img{width:250px;height:auto;margin-bottom:16px}
.pagefoot p{font-size:.9rem;line-height:1.65}
.pagefoot a{color:#e3e9e5;text-decoration-color:rgba(227,233,229,.35)}
.pagefoot a:hover{color:#fff}
.pagefoot-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.pagefoot-head{margin:0 0 .8em;font-weight:700;font-size:.95rem;color:#fff}
.pagefoot-nav ul{list-style:none;margin:0;padding:0}
.pagefoot-nav li{margin:.5em 0}
.pagefoot-nav a{font-size:.9rem;text-decoration:none}
.pagefoot-nav a:hover{text-decoration:underline}
.pagefoot-base{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.84rem}
.age-mark{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid #e3e9e5;color:#fff;font-weight:700;font-size:.78rem}

/* wide screens: let the ranking breathe beyond the text column */
@media (min-width:1100px){
  .sect .wrap>.tbl-picks{margin-left:-90px;margin-right:-90px}
}

/* small screens */
@media (max-width:860px){
  body{font-size:17px}
  h1{font-size:2.05rem}
  h2{font-size:1.6rem}
  .wrap{padding:0 18px}
  .intro{padding:30px 0 38px}
  .intro-grid{grid-template-columns:1fr;gap:28px}
  .intro-ctas{flex-direction:column;gap:10px}
  .intro-ctas .cta{width:100%;text-align:center}
  .topbar .wrap{padding-top:10px;padding-bottom:10px}
  .brand img{width:184px}
  .topbar-ctas .cta-ghost{display:none}
  .topbar-ctas .cta{padding:10px 16px;font-size:.9rem}
  .sect{padding:36px 0 8px}
  .byline-card{grid-template-columns:64px 1fr;gap:16px;padding:18px}
  .byline-card img{width:64px;height:64px}
  .tbl-picks{overflow:visible;border:0;background:transparent;border-radius:0}
  .tbl-picks thead{display:none}
  .tbl-picks table,.tbl-picks tbody,.tbl-picks tr,.tbl-picks td{display:block;width:100%}
  .tbl-picks tr{margin:0 0 12px;padding:18px 18px 20px;border:1px solid var(--rule-strong);border-radius:14px;background:var(--paper)}
  .tbl-picks tr.pick-top{background:var(--brass-tint);border-color:rgba(154,111,28,.55)}
  .tbl-picks td,.tbl-picks tr.pick-top td,.tbl-picks .pick-brand,.tbl-picks .pick-why,.tbl-picks .pick-go{width:100%;padding:0;border:0;background:transparent;box-shadow:none;text-align:left}
  .tbl-picks .pick-why{margin:12px 0 14px}
  .tbl-picks tr.pick-top td:first-child{box-shadow:none}
  .pick-id{grid-template-columns:36px 112px 1fr;grid-template-areas:"rank logo name";column-gap:12px}
  .pick-rank{font-size:2.1rem}
  .pick-id img{width:112px;height:56px}
  .pick-badge{display:block;width:max-content;margin:4px 0 0}
  .tbl-picks .pick-go .cta{display:block;width:100%;text-align:center;padding:14px 20px}
  .contents{padding:2px 18px}
  .contents-list{columns:1}
  .pagefoot-grid{grid-template-columns:1fr;gap:32px}
  .pagefoot-nav{grid-template-columns:repeat(2,1fr)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .cta{transition:none}
}


/* Inline editorial notes on operators' legal identity and licensing (Nov 5, 2026) */
.legal-ref{font-family:var(--f-head);font-size:.68em;vertical-align:super;font-weight:700;white-space:nowrap;margin-left:.3em}
.legal-ref a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
.legal-intro{font-family:var(--f-head);font-size:.88rem;line-height:1.55;color:var(--body);background:var(--green-tint);border-left:3px solid var(--green);padding:14px 18px;margin:18px 0 26px;border-radius:0 8px 8px 0}
.legal-footnote{font-family:var(--f-head);background:var(--mist);border:1px solid var(--rule);border-left:3px solid var(--green);border-radius:10px;padding:17px 20px 14px;margin:12px 0 24px;scroll-margin-top:28px;color:var(--body)}
.legal-footnote .legal-footnote-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;justify-content:space-between;margin:0 0 12px;color:var(--ink)}
.legal-footnote .legal-footnote-head strong{font-size:.9rem}
.legal-footnote .legal-footnote-head time{font-size:.72rem;color:var(--slate)}
.legal-footnote p{font-size:.87rem;line-height:1.62;margin:0 0 .76em;color:var(--body)}
.legal-footnote p:last-child{margin:0}
.legal-footnote .legal-sources{font-size:.78rem;border-top:1px solid var(--rule);padding-top:10px;margin-top:12px}
.legal-footnote a{color:var(--green);overflow-wrap:anywhere;text-underline-offset:2px}
@media(max-width:600px){.legal-footnote{padding:14px 14px 12px}.legal-footnote p{font-size:.84rem}.legal-intro{font-size:.83rem}}
