/* DynastyDaily — ESPN-DNA edition · sans-serif utility, light mode */
:root{
  --brand:#0E3B2E;          /* deep emerald — replaces ESPN red */
  --brand-2:#0A2B22;
  --gold:#C9A24A;
  --gold-2:#B58B2E;
  --bg:#FFFFFF;
  --surface:#FFFFFF;
  --surface-2:#F4F4F2;
  --surface-3:#FAFAF8;
  --ink:#1A1A1A;
  --ink-2:#3F3F3F;
  --ink-dim:#6B6B6B;
  --line:#E5E5E5;
  --line-2:#D4D4D2;
  --up:#1A7F4E;
  --down:#B5453A;
  --pill-qb-bg:#E8EEF7;   --pill-qb-fg:#1F4E8F;
  --pill-rb-bg:#E5EFE9;   --pill-rb-fg:#1A6F44;
  --pill-wr-bg:#F5ECD5;   --pill-wr-fg:#8B6A20;
  --pill-te-bg:#EDE2F2;   --pill-te-fg:#5D2A85;
}
*{box-sizing:border-box}
html,body{background:var(--bg);color:var(--ink);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;}
body{font-size:14px;line-height:1.45;}
.text-ink{color:var(--ink)}
.text-ink-2{color:var(--ink-2)}
.text-ink-dim{color:var(--ink-dim)}
.text-brand{color:var(--brand)}
.text-gold{color:var(--gold)}
.text-up{color:var(--up)}
.text-down{color:var(--down)}
.bg-brand{background:var(--brand)}
.bg-gold{background:var(--gold)}
.bg-surface-2{background:var(--surface-2)}
.bg-surface-3{background:var(--surface-3)}
.border-line{border-color:var(--line)}
.border-line-2{border-color:var(--line-2)}
.tabular{font-variant-numeric:tabular-nums}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* Wordmark */
.wordmark{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-0.03em;font-feature-settings:"ss01";}

/* Brand bar */
.brand-bar{background:var(--brand);color:#fff;height:56px}
.brand-bar a{color:#fff}
.nav-item{display:inline-flex;align-items:center;height:56px;padding:0 11px;font-size:13.5px;font-weight:500;color:#fff;text-decoration:none;border-bottom:2px solid transparent;transition:background .15s,border-color .15s;white-space:nowrap}
.nav-item.on{border-bottom-color:var(--gold);font-weight:600}
.nav-item:hover{background:var(--brand-2);border-bottom-color:var(--gold)}
.nav-item .caret{margin-left:6px;font-size:9px;opacity:.7}

/* Megamenu */
.has-mega{position:relative}
.megamenu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);
  width:min(1280px,calc(100vw - 32px));background:#fff;color:var(--ink);
  border-top:0;box-shadow:0 12px 28px -8px rgba(0,0,0,0.15);
  display:none;z-index:50;padding:0;
}
.has-mega:hover .megamenu,.has-mega:focus-within .megamenu{display:block}
.megamenu-inner{display:grid;grid-template-columns:200px 1fr;}
.mm-left{padding:24px 24px 24px 28px;border-right:1px solid var(--line)}
.mm-left a{display:block;padding:7px 0;color:var(--ink);font-size:14px;text-decoration:none}
.mm-left a:hover{color:var(--brand)}
.mm-right{padding:24px 32px}
.mm-grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:24px;row-gap:6px}
.mm-grid h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-dim);margin:14px 0 8px}
.mm-team{display:flex;align-items:center;gap:10px;padding:6px 6px;border-radius:3px;font-size:13.5px;color:var(--ink);text-decoration:none}
.mm-team:hover{background:var(--surface-2);color:var(--brand)}
.mm-logo{width:26px;height:26px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:#fff;letter-spacing:.02em;flex-shrink:0}

/* Force ink color on megamenu links (brand-bar a{color:#fff} would otherwise win) */
.dd-hdr .megamenu a,.dd-hdr .megamenu-narrow a,.dd-hdr .megamenu-mid a{color:var(--ink)}
.dd-hdr .megamenu a:hover,.dd-hdr .megamenu-narrow a:hover,.dd-hdr .megamenu-mid a:hover{color:var(--brand)}
.dd-hdr .mm-left a,.dd-hdr .mm-team,.dd-hdr .mm-flat{color:var(--ink)}

/* Reposition megamenu to viewport-centered, fixed under brand-bar */
.dd-hdr .megamenu{
  position:fixed;top:var(--ddh-top,92px);left:50%;right:auto;transform:translateX(-50%);
  width:min(1180px,calc(100vw - 32px));max-height:calc(100vh - 110px);overflow:auto;
}
.dd-hdr .megamenu-narrow{position:absolute;top:100%;left:0;transform:none;width:240px;max-height:none;overflow:visible}
.dd-hdr .megamenu-mid{position:fixed;top:var(--ddh-top,92px);left:50%;transform:translateX(-50%);width:min(720px,calc(100vw - 32px))}

/* Open immediately, no delay */
.dd-hdr .has-mega .megamenu,.dd-hdr .has-mega .megamenu-narrow,.dd-hdr .has-mega .megamenu-mid{transition:none;display:none}
.dd-hdr .has-mega:hover .megamenu,.dd-hdr .has-mega:hover .megamenu-narrow,.dd-hdr .has-mega:hover .megamenu-mid,
.dd-hdr .has-mega:focus-within .megamenu,.dd-hdr .has-mega:focus-within .megamenu-narrow,.dd-hdr .has-mega:focus-within .megamenu-mid{display:block}

/* dd-header shared variants */
.dd-hdr .nav-item{padding:0 13px}
.dd-hdr .dd-wm{display:flex;align-items:baseline;gap:1px;margin-right:22px;text-decoration:none}
.dd-hdr .dd-fant{color:#fff;text-decoration:none}
.dd-hdr .dd-fant:hover{background:var(--brand-2)}
.dd-hdr .dd-fant-wrap{position:relative;height:56px}
.dd-hdr .dd-fant-wrap .megamenu-narrow{left:auto;right:0}
.dd-hdr .dd-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:#fff;cursor:pointer}
.dd-hdr .dd-icon:hover{background:var(--brand-2)}

/* Narrow megamenu (single column - MMA / F1 / Olympic) */
.megamenu-narrow{
  width:240px;background:#fff;color:var(--ink);
  box-shadow:0 12px 28px -8px rgba(0,0,0,0.15);
  display:none;z-index:50;
}
.megamenu-inner-narrow .mm-left{padding:14px 18px;border-right:0}
.megamenu-inner-narrow .mm-left a{padding:8px 0;font-size:14px;color:var(--ink);display:block;text-decoration:none}
.megamenu-inner-narrow .mm-left a:hover{color:var(--brand)}

/* Mid megamenu (More Sports — 3 col flat tiles) */
.megamenu-mid{background:#fff;color:var(--ink);box-shadow:0 12px 28px -8px rgba(0,0,0,0.15);display:none;z-index:50}
.megamenu-inner-flat{padding:18px 22px}
.mm-flat-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:32px;row-gap:2px}
.mm-flat{display:block;padding:8px 6px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:500}
.mm-flat:hover{color:var(--brand)}

/* Wide grids — tighter, multi-row */
.dd-hdr .megamenu-inner{grid-template-columns:220px 1fr}
.dd-hdr .mm-left{padding:18px 18px 20px 22px}
.dd-hdr .mm-left a{padding:6px 0;font-size:13.5px}
.dd-hdr .mm-right{padding:18px 24px 20px}
.mm-grid,.mm-grid-3,.mm-grid-4{display:grid;column-gap:20px;row-gap:8px}
.mm-grid-3{grid-template-columns:repeat(3,1fr)}
.mm-grid-4{grid-template-columns:repeat(4,1fr)}
.mm-grid h4,.mm-grid-3 h4,.mm-grid-4 h4,.mm-col>h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-dim);margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.mm-col{display:flex;flex-direction:column;min-width:0}
.dd-hdr .mm-team{padding:5px 6px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}
.dd-hdr .mm-team .mm-logo{width:22px;height:22px;font-size:8.5px}
.mm-col-span-3{grid-column:span 3}
.mm-subgrid-3{display:grid;grid-template-columns:repeat(3,1fr);column-gap:20px;row-gap:2px}

/* Tool tile in megamenu */
.mm-tile{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:4px;text-decoration:none;color:var(--ink)}
.mm-tile:hover{background:var(--surface-2);color:var(--brand)}
.mm-tile .ti{font-size:13.5px;font-weight:600}
.mm-tile .td{font-size:12px;color:var(--ink-dim);line-height:1.4}

/* Ticker */
.ticker{height:92px;background:#fff;border-bottom:1px solid var(--line);display:flex}
.ticker-left{flex-shrink:0;width:128px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:0 14px;background:#fff}
.ticker-left .sel{appearance:none;border:0;background:transparent;font-size:14px;font-weight:600;color:var(--ink);padding:0;cursor:pointer;}
.ticker-scroll{flex:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.ticker-scroll::-webkit-scrollbar{height:6px}
.ticker-scroll::-webkit-scrollbar-thumb{background:#D4D4D2}
.ticker-row{display:flex;align-items:stretch;height:92px;min-width:max-content}
.tk-card{flex:0 0 auto;width:208px;border-right:1px solid var(--line);padding:10px 14px;display:flex;flex-direction:column;justify-content:space-between;background:#fff;position:relative;text-decoration:none}
.tk-card:hover{background:var(--surface-3)}
.tk-card .pc-overlay{position:absolute;inset:0;background:rgba(255,255,255,0.97);opacity:0;pointer-events:none;transition:opacity 150ms ease;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:12px}
.tk-card:hover .pc-overlay,.tk-card:focus-within .pc-overlay{opacity:1;pointer-events:auto}
.pc-btn{display:flex;align-items:center;justify-content:center;width:100%;height:30px;background:transparent;color:var(--brand);border:1px solid var(--brand);border-radius:4px;font-size:13px;font-weight:500;text-decoration:none;transition:background 120ms,color 120ms}
.pc-btn:hover{background:var(--brand);color:#fff}

/* Multi-sport top nav (row above brand bar) */
.sport-bar{background:#082A1F;height:40px;display:flex;align-items:center}
.sport-bar a{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;color:#E8EAE7;font-size:13px;font-weight:500;text-decoration:none;border-bottom:2px solid transparent}
.sport-bar a:hover{background:#051A12;border-bottom-color:var(--gold);color:#fff}
.sport-bar a.on{color:#fff;border-bottom-color:var(--gold);font-weight:600}
.sport-ic{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:#D6A14B;font-size:13px}
.tk-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em;font-weight:500;}
.tk-row{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--ink)}
.tk-row .v{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--ink-2);font-weight:500;font-size:12px}
.tk-divider{flex:0 0 auto;width:78px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:14px;letter-spacing:.04em}
.tk-divider .ds{font-size:9px;color:var(--ink-dim);font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
.team-dot{width:18px;height:18px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:0}
.pos-pill{display:inline-flex;align-items:center;padding:2px 6px;font-size:10px;font-weight:700;letter-spacing:.02em;border-radius:2px}
.pos-QB{background:var(--pill-qb-bg);color:var(--pill-qb-fg)}
.pos-RB{background:var(--pill-rb-bg);color:var(--pill-rb-fg)}
.pos-WR{background:var(--pill-wr-bg);color:var(--pill-wr-fg)}
.pos-TE{background:var(--pill-te-bg);color:var(--pill-te-fg)}
.trend-up-badge{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--up)}
.trend-down-badge{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--down)}

/* Utility bar */
.util-bar{height:28px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--ink-2);font-size:12px}
.util-bar a{color:var(--ink-2);text-decoration:none}
.util-bar a:hover{color:var(--ink)}

/* Sub-nav (context) */
.sub-nav{height:44px;background:var(--surface-2);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;font-size:13px}
.fmt-toggle{display:inline-flex;border:1px solid var(--line-2);background:#fff;border-radius:3px;overflow:hidden}
.fmt-toggle button{padding:5px 11px;font-size:12px;font-weight:500;color:var(--ink-2);background:#fff;border:0;cursor:pointer}
.fmt-toggle button.on{background:var(--brand);color:#fff}
.fmt-toggle button + button{border-left:1px solid var(--line-2)}

/* Card */
.card{background:#fff;border:1px solid var(--line);border-radius:4px}
.card.bg-brand{background:var(--brand);color:#fff;border-color:var(--brand-2)}
.card.bg-brand a{color:#fff}
.card-hover{transition:box-shadow .15s,transform .15s}
.card-hover:hover{box-shadow:0 6px 18px -10px rgba(0,0,0,0.18);transform:translateY(-1px)}

/* Section heading */
.section-h{font-weight:700;font-size:22px;letter-spacing:-0.01em;color:var(--ink);margin:0}
.section-sub{font-size:13px;color:var(--ink-dim)}

/* Btn */
.btn-gold{background:var(--gold);color:#fff;padding:8px 14px;border-radius:3px;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;border:0;cursor:pointer}
.btn-gold:hover{background:var(--gold-2)}
.btn-brand{background:var(--brand);color:#fff;padding:8px 14px;border-radius:3px;font-weight:600;font-size:13px}
.btn-brand:hover{background:var(--brand-2)}
.btn-ghost{background:#fff;color:var(--ink);padding:7px 13px;border-radius:3px;font-weight:500;font-size:13px;border:1px solid var(--line-2)}
.btn-ghost:hover{border-color:var(--ink)}

/* Article card */
.art-card{display:flex;flex-direction:column;gap:6px}
.art-card .cat{font-size:10.5px;font-weight:700;color:var(--gold-2);text-transform:uppercase;letter-spacing:.08em}
.art-card h3{font-size:17px;font-weight:700;line-height:1.25;letter-spacing:-0.01em;color:var(--ink);margin:0}
.art-card .meta{font-size:12px;color:var(--ink-dim)}
.art-card .ph{aspect-ratio:16/9}

/* Placeholder image */
.ph{background:repeating-linear-gradient(45deg,#EFEFED 0 6px,#F7F7F4 6px 12px);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-dim);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:500}
.ph-avatar{border-radius:9999px;background:repeating-linear-gradient(45deg,#EFEFED 0 4px,#F7F7F4 4px 8px)}
.ph-portrait{aspect-ratio:3/4}
.ph-square{aspect-ratio:1/1}
.ph-wide{aspect-ratio:16/9}

/* FAQ */
details[open] summary .chev{transform:rotate(45deg)}
.chev{transition:transform .15s ease;display:inline-block}

/* Tier divider in rankings */
.tier-row{background:#FBF6E6;font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--gold-2);text-transform:uppercase}

/* Sticky CTA */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line-2);box-shadow:0 -8px 24px -12px rgba(0,0,0,0.18);z-index:60}
.sticky-cta input{border:1px solid var(--line-2);padding:8px 10px;font-size:13px;outline:0;border-radius:3px 0 0 3px;border-right:0}
.sticky-cta button{border-radius:0 3px 3px 0}

/* Hover utilities */
.hover\:bg-surface-2:hover{background:var(--surface-2)}

/* Tools icon tile */
.tool-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;text-decoration:none;color:var(--ink);text-align:center;transition:border-color .15s,box-shadow .15s}
.tool-tile:hover{border-color:var(--ink-2);box-shadow:0 4px 14px -8px rgba(0,0,0,0.18)}
.tool-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--gold);color:var(--gold);border-radius:9999px}
.tool-tile .tl{font-size:13px;font-weight:600;color:var(--ink)}

/* Position quick nav */
.pos-card{position:relative;border-radius:4px;overflow:hidden;border:1px solid var(--line);background:#fff;padding:24px;height:160px;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink);text-decoration:none}
.pos-card:hover{border-color:var(--ink-2)}
.pos-card .big{font-size:60px;font-weight:800;letter-spacing:-0.04em;color:var(--surface-2);position:absolute;right:14px;bottom:-12px;line-height:.8}

::selection{background:var(--gold);color:#fff}
