
/* Layout: left-aligned sports-desk site; one bold moment (the live sheet line in the hero), everything else quiet. */
:root{
  --ground:#EDF0F4; --surface:#FFFFFF; --ink:#121A2B; --muted:#5A6478; --line:#D3D9E2;
  --navy:#15244A; --accent:#E2580E; --accent-ink:#FFFFFF;
  --sheet:#D9D9DB; --sheet-ink:#000000; --fresh:#FFD8A8; --ok:#2B8A3E; --chip:#E3E8EF;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Archivo","Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#0E1522; --surface:#162033; --ink:#E7ECF3; --muted:#9BA7BA; --line:#26324A;
    --navy:#AFC0FF; --accent:#FF7A2E; --accent-ink:#0E1522;
    --sheet:#2A2D33; --sheet-ink:#F2F2F2; --fresh:#6B4512; --ok:#69DB7C; --chip:#1E2A40; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ground:#0E1522; --surface:#162033; --ink:#E7ECF3; --muted:#9BA7BA; --line:#26324A;
  --navy:#AFC0FF; --accent:#FF7A2E; --accent-ink:#0E1522;
  --sheet:#2A2D33; --sheet-ink:#F2F2F2; --fresh:#6B4512; --ok:#69DB7C; --chip:#1E2A40; color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
body{background:var(--ground);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface)}
a{color:inherit}
button,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{text-wrap:balance}
.wrap{max-width:1140px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}










/* Header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;padding-block:12px}
.logo{display:flex;align-items:baseline;gap:8px;text-decoration:none}
.logo b{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:.01em;line-height:1}
.logo b span{color:var(--accent)}
.logo small{font-size:13px;color:var(--muted);font-weight:600}
nav.main{display:flex;gap:4px;overflow-x:auto;margin-left:auto}
nav.main a{text-decoration:none;font-weight:700;font-size:15px;padding:8px 12px;border-radius:8px;white-space:nowrap;color:var(--muted)}
nav.main a:hover{color:var(--ink)}
nav.main a[aria-current="page"]{color:var(--ink);background:var(--chip)}
nav.main .ew{color:var(--accent)}
.free-tag{font-size:11px;font-weight:800;border:1px solid var(--ok);color:var(--ok);border-radius:10px;padding:0 6px;margin-left:4px;vertical-align:1px}

main{min-height:60vh}
section[data-route]{padding-block:32px 48px}
.eyebrow{font-size:14px;font-weight:700;color:var(--accent);margin:0 0 8px}
.display{font-family:var(--display);font-weight:700;line-height:1;letter-spacing:.005em;margin:0}
h1.display{font-size:clamp(44px,7vw,76px)}
h2.display{font-size:clamp(32px,4.5vw,44px)}
.lede{font-size:18px;color:var(--muted);max-width:56ch;margin:16px 0 0}
.btn{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 16px;font-weight:800;font-size:15px;text-decoration:none;cursor:pointer}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.fine{font-size:13px;color:var(--muted)}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.hero > *{min-width:0}
.mini-sheet{background:var(--sheet);color:var(--sheet-ink);border-radius:4px;padding:18px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.4;box-shadow:0 20px 40px -24px rgba(10,20,40,.45)}
.mini-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:13px}
.mini-head .tl{font-weight:800;font-style:italic;color:var(--accent);font-size:16px}
.live{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok)}
.mini-sheet h3{margin:0 0 4px;font-size:16px;text-decoration:underline;text-underline-offset:3px}
.mini-sheet .tag{margin:0 0 10px;font-size:12px;opacity:.75}
.mini-sheet p{margin:0 0 4px}
.mini-sheet .ln{border-radius:3px;padding:1px 4px;margin-left:-4px;transition:background .6s}
.mini-sheet .ln.fresh{background:var(--fresh)}
.mini-sheet .upd{margin:12px 0 0;font-size:13px;min-height:1.4em}
.voice{font-size:.8em;vertical-align:.05em}
.mini-cap{margin:10px 0 0;font-size:13px;color:var(--muted)}
.ridge{display:block;width:100%;height:auto;margin-top:36px;color:var(--line)}
.ridge text{fill:var(--muted);font-family:var(--body);font-size:12px;font-weight:600}

/* Home blocks */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:20px;margin-top:8px}
.block{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px}
.block.ew-block{background:var(--navy);border-color:var(--navy);color:var(--surface)}
.block.ew-block .fine{color:var(--surface);opacity:.8}
.block h3{margin:0 0 6px;font-family:var(--display);font-size:28px;line-height:1.05}
.block ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.block li{display:grid;gap:2px}
.block li b{font-weight:800}
.block li span{font-size:14px;opacity:.85}
.ew-block .btn{border-color:transparent}
.sports{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.sports span{font-size:12px;font-weight:800;border:1px solid currentColor;border-radius:10px;padding:1px 8px;opacity:.85}

.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:48px 0 12px}
.alist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.alist li{border-bottom:1px solid var(--line)}
.alist a{display:grid;grid-template-columns:110px minmax(0,1fr);gap:4px 20px;padding:16px 0;text-decoration:none}
.alist .meta{font-size:13px;color:var(--muted);padding-top:3px}
.alist h3{margin:0;font-size:20px;line-height:1.25}
.alist p{margin:4px 0 0;color:var(--muted);font-size:15px;max-width:68ch}
.alist a:hover h3{color:var(--accent)}
.feature{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);border-radius:14px;overflow:hidden;text-decoration:none;margin:4px 0 8px;border:1px solid var(--line);background:var(--surface)}
.feature img{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .3s}
.feature:hover img{transform:scale(1.02)}
.feature-text{display:flex;flex-direction:column;justify-content:center;padding:24px 28px}
.feature .meta{font-size:13px;color:var(--muted)}
.feature h3{margin:8px 0 0;font-size:clamp(24px,2.6vw,34px);line-height:1.12;color:var(--ink)}
.feature p{margin:8px 0 0;color:var(--muted);font-size:16px}
.feature-go{display:inline-block;margin-top:14px;font-weight:700;color:var(--accent)}
.feature:hover h3{color:var(--accent)}
@media (max-width:860px){.feature{grid-template-columns:1fr}.feature img{height:auto}.feature-text{padding:14px 16px 16px}.feature h3{font-size:24px}}
.alist a.has-cover{grid-template-columns:110px minmax(0,1fr) 168px}
.alist .thumb{width:168px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;align-self:start}
.article .article-dek{margin:10px 0 0}
.article .article-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin:0 0 28px}

.signup{margin-top:48px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 32px;align-items:center}
.signup h2{margin:0;font-family:var(--display);font-size:30px;line-height:1.05}
.signup p{margin:6px 0 0;color:var(--muted)}
.signup form{display:flex;gap:8px;flex-wrap:wrap}
.signup input{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--ground)}
.signup .msg{flex-basis:100%;font-size:14px;color:var(--ok);margin:0}

/* Article */
.article{max-width:68ch}
.article .meta{color:var(--muted);font-size:14px;margin:12px 0 28px}
.article p{margin:0 0 18px;font-size:17px}
.article h2{font-size:22px;margin:28px 0 10px}
.article .video{margin:0 0 18px}
.article .table-wrap{overflow-x:auto;margin:0 0 18px}
.article table{border-collapse:collapse;width:100%;font-size:15px;font-variant-numeric:tabular-nums}
.article th,.article td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.article th{font-size:13px;color:var(--muted)}
.article .cta{margin-top:32px;padding:20px;border-radius:14px;background:var(--navy);color:var(--surface)}
.article .cta p{margin:0 0 12px;font-size:16px}
.back{font-size:14px;font-weight:700;text-decoration:none;color:var(--muted)}

/* Educated Wagers */
.ew-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px}
.ew-top .by{font-size:14px;color:var(--muted);margin:6px 0 0}
.subnav{display:flex;gap:4px;margin:20px 0 20px;border-bottom:1px solid var(--line);overflow-x:auto}
.subnav a{text-decoration:none;font-weight:700;padding:10px 14px;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap}
.subnav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.frame{width:100%;border:0;display:block;min-height:420px;background:transparent}
.frame.tall{height:calc(100vh - 220px);min-height:560px;border:1px solid var(--line);border-radius:12px}
.locked{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:start}
.locked > *{min-width:0}
.locked h2{margin:0;font-family:var(--display);font-size:34px;line-height:1.05}
.locked ul{margin:14px 0 0;padding-left:20px}
.locked li{margin:0 0 6px}
.blur{position:relative;overflow:hidden;border-radius:6px}
.blur .mini-sheet{filter:blur(3px);user-select:none;pointer-events:none}
.blur .lock{position:absolute;inset:auto 12px 12px;background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:14px;font-weight:700}
.code-form{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin-top:16px}
.code-form label{display:grid;gap:4px;font-size:13px;font-weight:700;flex:1;min-width:180px}
.code-form input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);text-transform:uppercase}
.codebox{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 16px}
.codebox code{font-family:var(--display);font-size:28px;font-weight:700;letter-spacing:.04em}
.codebox p{flex-basis:100%;margin:0;font-size:13px;color:var(--muted)}
.dub{padding:14px;border:1px dashed var(--line);border-radius:10px;font-size:14px;color:var(--muted);margin:12px 0 0}
.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.overview a{display:block;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}
.overview a:hover{border-color:var(--accent)}
.overview h3{margin:0 0 6px;font-family:var(--display);font-size:26px;line-height:1.05}
.overview p{margin:0;color:var(--muted);font-size:15px}
.parlay-side{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}
.parlay-side > *{min-width:0}
.pitch{background:var(--navy);color:var(--surface);border-radius:14px;padding:20px}
.pitch h3{margin:0 0 6px;font-family:var(--display);font-size:24px;line-height:1.05}
.pitch p{margin:0 0 14px;font-size:15px;opacity:.9}

footer.site{border-top:1px solid var(--line);background:var(--surface)}
footer.site .wrap{padding-block:28px 36px;display:grid;gap:8px;font-size:13px;color:var(--muted)}
footer.site p{margin:0;max-width:90ch}
footer.site .brandline{font-family:var(--display);font-size:20px;color:var(--ink);font-weight:700}

@media (max-width:860px){
  .hero,.split,.signup,.locked,.parlay-side{grid-template-columns:1fr}
  .overview{grid-template-columns:1fr}
  nav.main{margin-left:0;width:100%}
  .alist a,.alist a.has-cover{grid-template-columns:1fr}
  .alist .thumb{width:100%;grid-row:1}
}
@media (prefers-reduced-motion: reduce){ .mini-sheet .ln{transition:none} }

/* Forms, login, admin */
.narrow{max-width:520px}
.form{display:grid;gap:14px;margin-top:20px}
.form label{display:grid;gap:6px;font-size:14px;font-weight:700}
.form input,.form textarea,.form select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);font-size:16px;width:100%}
.form textarea{min-height:360px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;line-height:1.5}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form .check{display:flex;align-items:center;gap:8px;font-weight:600}
.form .check input{width:auto}
.msg{font-size:14px;margin:0}
.msg.ok{color:var(--ok)} .msg.err{color:#C92A2A}
.panel-box{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}
.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px}
table.list{border-collapse:collapse;width:100%;font-size:14px}
table.list th,table.list td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
table.list th{font-size:12px;color:var(--muted)}
.pill{display:inline-block;font-size:12px;font-weight:800;border-radius:10px;padding:1px 8px;border:1px solid currentColor}
.pill.on{color:var(--ok)} .pill.off{color:var(--muted)}
.stats{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 20px}
.stats div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;min-width:150px}
.stats b{display:block;font-family:var(--display);font-size:30px;line-height:1}
.stats span{font-size:13px;color:var(--muted)}
.user-chip{font-size:13px;color:var(--muted);margin-left:8px;white-space:nowrap}
.user-chip a{font-weight:700}
@media (max-width:860px){ .form .row2{grid-template-columns:1fr} }

.leagues{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 24px}
.leagues span{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:.04em;border:1.5px solid var(--line);border-radius:8px;padding:2px 12px;background:var(--surface)}
.leagues small{font-size:12px;color:var(--muted);flex-basis:100%}

/* Educated Wagers: black and gold */
body.ew-theme{
  --ground:#0D0D0E; --surface:#161618; --ink:#F4EFE3; --muted:#A8A08A; --line:#2B2A27;
  --navy:#E6B422; --accent:#E6B422; --accent-ink:#0D0D0E; --chip:#211F1A; --ok:#7CD992;
  color-scheme:dark;
}
body.ew-theme nav.main .ew{color:var(--accent)}
body.ew-theme .subnav a[aria-current="page"]{border-bottom-color:var(--accent)}
body.ew-theme .overview a:hover{border-color:var(--accent)}
body.ew-theme .block{background:var(--surface);color:var(--ink)}
body.ew-theme .block .fine{color:var(--muted)}
body.ew-theme .locked h2,body.ew-theme .ew-title h1{color:var(--ink)}
body.ew-theme .blur .lock{background:var(--accent);color:var(--accent-ink)}
.ew-title{display:flex;align-items:center;gap:16px}
.ew-title h1{font-size:clamp(40px,6vw,60px)}
.ew-badge{display:inline-grid;place-items:center;width:64px;height:64px;flex-shrink:0;border-radius:12px;background:#E6B422;color:#0D0D0E;font-family:var(--display);font-weight:700;font-size:34px;letter-spacing:.02em;line-height:1;box-shadow:inset 0 0 0 2px rgba(13,13,14,.18)}
.ew-badge.small{width:34px;height:34px;font-size:18px;border-radius:8px;margin-right:10px;vertical-align:-6px}
/* Home page Educated Wagers block in the same colors */
.block.ew-block{background:#0D0D0E;border-color:#E6B422;color:#F4EFE3}
.block.ew-block h3{color:#F4EFE3}
.block.ew-block .fine{color:#C9C0A6;opacity:1}
.block.ew-block .btn.primary{background:#E6B422;border-color:#E6B422;color:#0D0D0E}
.block.ew-block .sports span{color:#E6B422;border-color:#E6B422}

/* Site-wide black and gold details */
body.ew-theme::before{background:var(--surface)}
body.ew-theme header.site,body.ew-theme footer.site{background:#111112}
body.ew-theme .pitch,body.ew-theme .article .cta{background:var(--surface);color:var(--ink);border:1px solid var(--accent)}
body.ew-theme .pitch p,body.ew-theme .article .cta p{color:var(--ink)}
body.ew-theme .btn{background:transparent;color:var(--ink);border-color:var(--line)}
body.ew-theme .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
body.ew-theme .signup input,body.ew-theme .form input,body.ew-theme .form textarea,body.ew-theme .form select{background:var(--ground);color:var(--ink);border-color:var(--line)}
body.ew-theme .leagues span{background:var(--surface);color:var(--accent);border-color:var(--accent)}
body.ew-theme .ridge{color:#3A3626}
body.ew-theme .eyebrow{color:var(--accent)}
body.ew-theme .alist a:hover h3{color:var(--accent)}
body.ew-theme .stats div,body.ew-theme .panel-box,body.ew-theme .table-wrap{background:var(--surface)}
body.ew-theme .msg.err{color:#FF7A7A}
body.ew-theme a{color:inherit}
body.ew-theme .article a,body.ew-theme .fine a,body.ew-theme .lede a{color:var(--accent)}
.block.ew-block{border-color:var(--accent)}

.lede-lead{display:block;color:var(--ink);font-weight:800;margin-bottom:4px}

/* My YouTube */
.yt{display:grid;gap:24px;margin-top:20px}
.yt-welcome{background:var(--surface);border:1px solid var(--accent);border-radius:14px;padding:24px;display:grid;gap:10px}
.yt-welcome h2{margin:0;font-size:clamp(30px,5vw,44px);line-height:1}
.yt-welcome p{margin:0;color:var(--muted);max-width:60ch}
.social{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.social .btn span{font-weight:500;opacity:.75;margin-left:4px}
.yt-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:820px){.yt-grid{grid-template-columns:minmax(0,1fr)}}
.yt h3{margin:0 0 10px;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.video{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#000}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-main .fine{margin-top:8px}
.yt-side{min-width:0}
.yt-side .twitter-tweet{margin:0 auto!important}
.feat-form{display:grid;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.feat-form label{display:grid;gap:4px;font-size:13px;font-weight:600}
.feat-form input{border:1px solid var(--line);border-radius:8px;background:var(--ground);color:var(--ink);padding:8px 10px;font-size:14px;min-width:0}
.feat-form .btn{justify-self:start}

.tm{font-size:.4em;vertical-align:super;line-height:0;margin-left:.05em;font-weight:600;letter-spacing:0}
.brandline .tm,.mini-cap .tm{font-size:.6em}

/* Article topics */
.topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.topics a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:700;font-size:14px;text-decoration:none;color:var(--ink)}
.topics a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:#0D0D0E}
.topic-tag{display:block;margin-top:4px;font-size:12px;font-weight:700;color:var(--accent)}

/* NBA / NFL / NHL buttons above the sheets */
.sport-pick{display:flex;gap:8px;margin:18px 0 12px}
.sport-pick a{padding:7px 16px;border-radius:999px;border:1px solid var(--line, #2B2A27);font-weight:800;font-size:14px;text-decoration:none;color:inherit;opacity:.75}
.sport-pick a[aria-current="page"]{background:#E6B422;border-color:#E6B422;color:#0D0D0E;opacity:1}
.sport-pick a:hover{opacity:1}
.sport-pick.sub{margin:-4px 0 12px;gap:6px}
.sport-pick.sub a{padding:5px 13px;font-size:13px}

/* Posted NFL / NHL sheets */
.osheet{display:flex;flex-direction:column;gap:14px}
.osheet-head h2{margin:0;font-size:22px}
.osheet-head .fine{margin:4px 0 0}
.osheet-note{margin:0;padding:12px 14px;border-radius:10px;background:rgba(230,180,34,.12);border:1px solid #E6B422;font-weight:700}
.osheet img{display:block;width:100%;height:auto;border-radius:10px;background:#fff}
.osheet-empty{text-align:center;padding:48px 16px;border:1px solid var(--line);border-radius:14px}
.osheet-empty .lab-icon{font-size:40px}

/* Odds API credits meter on the admin dashboard */
.meter{height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.meter span{display:block;height:100%;background:#E6B422}
