/* elite_black.css */
/* KarmaEdge.AI elite black design system (UI revamp phase 1, 2026-09-29).
   Loaded last on every customer page. Pure black canvas to match the logo,
   one teal accent taken from the logo (#2DFCE6 -> #31FBB7), gold reserved for
   paid access. Fonts are self-hosted (SIL OFL, see static/fonts/*-OFL.txt):
   the site CSP allows no third-party font or style hosts. */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-latin-wght.woff2) format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/space-grotesk-latin-wght.woff2) format("woff2")}

:root{
  --ke-black:#000;--ke-surface:#0b0b0d;--ke-surface-2:#131316;--ke-surface-3:#1a1a1e;
  --ke-hairline:rgba(255,255,255,.08);--ke-hairline-strong:rgba(255,255,255,.14);
  --ke-text:#f5f7f8;--ke-text-2:#a1a7ad;--ke-text-3:#6d7379;
  --ke-teal:#2dfce6;--ke-mint:#31fbb7;--ke-accent:linear-gradient(135deg,#2dfce6 0%,#31fbb7 100%);
  --ke-gold:#f2c14e;--ke-gold-2:#e6a83c;
  --ke-display:"Space Grotesk","Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ke-body:"Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  /* The shared tokens every page stylesheet already reads. */
  --bg:#000;--panel:#0b0b0d;--panel2:#131316;--panel-2:#131316;--line:rgba(255,255,255,.1);
  --ink:#f5f7f8;--muted:#a1a7ad;--mint:#31fbb7;--cta-free-primary:#31fbb7;
  --shadow:0 24px 60px rgba(0,0,0,.6);
  --os-bg:#000;--os-panel:#0b0b0d;--os-line:rgba(255,255,255,.1);
  --gd-bg:#000;--gd-panel:#0b0b0d;--gd-line:rgba(255,255,255,.1);
  --trend-bg:#000;--trend-panel:#0b0b0d;--trend-panel-2:#131316;--trend-line:rgba(255,255,255,.1);
  --pr-surface:#0b0b0d;
}
html{background:#000}
body{background:#000!important;color:var(--ke-text);font-family:var(--ke-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:#2dfce633;color:#fff}
h1,h2,h3,.brand{font-family:var(--ke-display);letter-spacing:-.025em}
h1{letter-spacing:-.04em}

/* Header: slim, black glass, hairline. */
.site-header{background:rgba(0,0,0,.72)!important;border-bottom:1px solid var(--ke-hairline)!important;-webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px);box-shadow:none!important}
.site-header .nav{min-height:68px}
/* The logo file is a square with wide dark margins; show only the mark and wordmark. */
.site-header .brand-logo-link{flex:none;display:block;width:70px;height:50px;overflow:hidden;border-radius:6px}
.site-header .brand-logo{width:84px;height:84px;max-width:none;margin:-13px 0 0 -7px}
@media (max-width:640px){.site-header .brand-logo-link{width:62px;height:44px}.site-header .brand-logo{width:74px;height:74px;margin:-11px 0 0 -6px}}
.site-header .shell.nav{width:min(1320px,calc(100% - 40px))}
.nav-links{gap:18px;font-size:13.5px;font-weight:600;color:var(--ke-text-2)}
.nav-links a,.nav-links button,.nav-account>*{white-space:nowrap}
.nav-links>.nav-dropdown{flex:none}
.nav-links a,.nav-dropdown-trigger{transition:color .15s ease}
.nav-links a:hover,.nav-links a[aria-current=page],.nav-dropdown-trigger[aria-current=page]{color:#fff}
.nav-dropdown-menu{background:#0b0b0d!important;border:1px solid var(--ke-hairline-strong)!important;box-shadow:0 24px 60px rgba(0,0,0,.7)!important;border-radius:12px}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible{background:#17171a!important}
.nav-player-prop-free{background:#0f1614!important;border-color:#31fbb766!important;box-shadow:none!important}
.nav-free-badge{background:var(--ke-accent)!important;border-color:transparent!important;color:#001a14!important;box-shadow:none!important}
.nav-account{gap:16px}
.nav-account a[href="/account/login"]{color:var(--ke-text-2);font-weight:600}
.nav-account a[href="/account/login"]:hover{color:#fff}
.nav-start-free{padding:8px 14px!important;border:1px solid var(--ke-hairline-strong)!important;border-radius:999px!important;background:transparent!important;color:#fff!important;font-weight:700!important;letter-spacing:.02em;box-shadow:none!important}
.nav-start-free:hover{border-color:#31fbb7!important;color:#31fbb7!important}
.nav-premium-cta{padding:8px 15px!important;border-radius:999px!important;background:linear-gradient(135deg,#f7c75a,#e6a83c)!important;border:0!important;color:#1a1204!important;font-weight:800!important;letter-spacing:.02em;box-shadow:0 0 0 1px #ffd9801f,0 8px 24px #e6a83c26!important}
.nav-premium-cta:hover{filter:brightness(1.06)}
/* The logged-out header (KarmaCards, four sports, Pricing, How It Works, Log
   In, Start Free, Get Full Access) needs about 1165px; below 1260px it uses
   the Menu button (2026-10-08: was 1400px, which sent 1280-1366px laptops to
   the click-only menu). */
@media(max-width:1259px){.nav-links{display:none}.nav-links.open{display:flex;position:absolute;left:16px;right:16px;top:68px;max-height:calc(100vh - 86px);overflow:auto;background:#0b0b0d;border:1px solid var(--ke-hairline-strong);border-radius:14px;padding:16px;flex-direction:column;align-items:flex-start}.nav-toggle{display:block;border-color:var(--ke-hairline-strong)!important;border-radius:999px!important;padding:8px 16px!important}.nav-dropdown,.nav-dropdown-trigger{width:100%}.nav-dropdown-trigger{text-align:left}.nav-dropdown-menu{position:static;width:100%;margin-top:8px;box-shadow:none}.nav-dropdown-menu a{min-height:44px}.nav-account{display:flex;width:100%;gap:14px;align-items:center;flex-wrap:wrap;border-left:0;border-top:1px solid var(--ke-hairline);padding:14px 0 0}.live-odds-dropdown,.live-trends-dropdown{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.live-odds-dropdown .nav-dropdown-trigger,.live-trends-dropdown .nav-dropdown-trigger{width:auto}.live-odds-dropdown .nav-dropdown-menu,.live-trends-dropdown .nav-dropdown-menu{flex-basis:100%}}

/* Surfaces: flat near-black cards with hairlines, no navy glow. */
.panel,.hero-card,.prediction-card,.state-card,.stat,.hero-copy{background:var(--ke-surface)!important;border-color:var(--ke-hairline)!important;box-shadow:none}
.eyebrow,.label{color:var(--ke-mint);letter-spacing:.14em}

/* Buttons: free = teal accent, paid = gold, secondary = hairline ghost. */
.button{border-radius:999px;font-weight:750;letter-spacing:.005em;transition:transform .15s ease,filter .15s ease,border-color .15s ease,background .15s ease}
.button:active{transform:translateY(1px)}
.cta-free-primary{background:var(--ke-accent)!important;color:#00140f!important;border:0!important;box-shadow:0 10px 30px #2dfce61f!important}
.cta-free-primary:hover{filter:brightness(1.06)}
.cta-flagship,.hero-prop-cta,.premium-cta,.purchase-action{background:linear-gradient(135deg,#f7c75a,#e6a83c)!important;color:#1a1204!important;border:0!important;box-shadow:0 10px 30px #e6a83c26!important}
.button.secondary{background:transparent!important;color:#fff!important;border:1px solid var(--ke-hairline-strong)!important}
.button.secondary:hover{border-color:#ffffff4d!important}
.button:focus-visible,.nav-links a:focus-visible{outline:2px solid var(--ke-teal);outline-offset:3px}

/* Footer blends into the canvas. */
.site-footer,footer{background:#000!important;border-top:1px solid var(--ke-hairline)!important}

/* A plan the member already holds is marked as included, never offered for sale. */
.pricing-cta-included{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;background:transparent!important;border:1px solid #31fbb766!important;color:var(--ke-mint)!important;box-shadow:none!important;cursor:pointer}
.pricing-cta-included:hover{background:#31fbb70f!important}

/* KarmaCards: the one filled block among the header links (Alok, 2026-09-30).
   Teal, not gold: gold stays the purchase colour (Get Full Access). */
.nav-links a.nav-karmacards-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:var(--ke-accent);color:#00140f!important;font-weight:800;box-shadow:0 0 0 1px #2dfce633,0 6px 22px #2dfce62e;transition:filter .15s,box-shadow .15s,transform .15s}
.nav-links a.nav-karmacards-tab:hover,.nav-links a.nav-karmacards-tab[aria-current=page]{color:#00140f!important;filter:brightness(1.08);box-shadow:0 0 0 1px #2dfce666,0 8px 28px #2dfce647}
.nav-links a.nav-karmacards-tab:active{transform:translateY(1px)}
@media(max-width:1259px){.nav-links.open a.nav-karmacards-tab{align-self:stretch;justify-content:center;min-height:44px}}
/* Elite annual: a gold line travels around the button (Alok, 2026-10-01: annual
   plans sell well over time, so the yearly option should catch the eye). */
@property --ke-gold-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes ke-gold-spin{to{--ke-gold-angle:360deg}}
.public-pricing-grid .price-card.pricing-card-elite .pricing-annual-cta.ke-annual-glow,.ke-annual-glow{position:relative;isolation:isolate;border-color:transparent!important;background:transparent!important;color:#ffe08a!important;font-weight:800;letter-spacing:.01em;box-shadow:0 0 22px #f2c14e26}
.ke-annual-glow::before{content:"";position:absolute;inset:-2px;z-index:-2;border-radius:inherit;background:conic-gradient(from var(--ke-gold-angle),#f2c14e33 0 55%,#f2c14e 68%,#fff3c4 74%,#f2c14e 80%,#f2c14e33 92%);animation:ke-gold-spin 3.2s linear infinite}
.ke-annual-glow::after{content:"";position:absolute;inset:1.5px;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,#151208,#0a0904)}
.ke-annual-glow:hover{box-shadow:0 0 34px #f2c14e4d;color:#fff3c4!important}
@media(prefers-reduced-motion:reduce){.ke-annual-glow::before{animation:none;background:#f2c14e}}

/* Visible FAQs (site_faq.py; the same questions feed the FAQPage markup). */
.ke-page-faq{margin:48px 0 0;padding:0}
.ke-page-faq h2{margin:0 0 14px;color:#fff;font-size:20px;font-weight:600}
.ke-page-faq-list{display:grid;gap:8px}
.ke-page-faq-item{border:1px solid var(--ke-hairline);border-radius:14px;background:var(--ke-surface)}
.ke-page-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;color:#fff;font-size:14.5px;font-weight:600;list-style:none;cursor:pointer}
.ke-page-faq-item summary::-webkit-details-marker{display:none}
.ke-page-faq-item summary::after{flex:none;color:var(--ke-teal);font-size:18px;content:"+";transition:transform .2s}
.ke-page-faq-item[open] summary::after{transform:rotate(45deg)}
.ke-page-faq-item p{margin:0;padding:0 18px 16px;color:var(--ke-text-2);font-size:14px;line-height:1.6}
@media(prefers-reduced-motion:reduce){.ke-page-faq-item summary::after{transition:none}}
/* ?watch= status after a Save (2026-10-07). */
.ke-watch-notice{margin-top:14px!important;padding:10px 14px;border:1px solid var(--ke-hairline-strong);border-radius:12px;background:#0c0d10;color:var(--ke-text);font-size:13px}
.ke-watch-notice.is-saved{border-color:#31fbb766;color:var(--ke-mint)}
/* NBA AI Models coming soon (2026-10-07). */
.ke-nba-soon{padding:40px 0 64px}
.ke-nba-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:center}
.ke-nba-copy h1{margin:16px 0 0;font-family:var(--ke-display);font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-.02em}
.ke-nba-copy h1 span{display:block;background:var(--ke-accent);-webkit-background-clip:text;background-clip:text;color:transparent}
.ke-nba-copy .lede{max-width:560px;margin:18px 0 26px;color:var(--ke-text-2);font-size:16px;line-height:1.6}
.ke-nba-field{display:flex;gap:10px;max-width:520px}
.ke-nba-field input{flex:1;min-width:0;height:50px;padding:0 16px;border:1px solid var(--ke-hairline-strong);border-radius:14px;background:#0c0d10;color:var(--ke-text);font-size:15px}
.ke-nba-field input:focus{outline:2px solid #31fbb766;border-color:transparent}
.ke-nba-field .button{height:50px;white-space:nowrap}
.ke-nba-consent{display:flex;gap:8px;align-items:center;margin-top:12px;color:var(--ke-text-3);font-size:13px}
.ke-nba-status{display:flex;gap:8px;align-items:center;max-width:520px;margin-top:12px;padding:12px 14px;border:1px solid var(--ke-hairline-strong);border-radius:12px;font-size:14px}
.ke-nba-status.is-ok{border-color:#31fbb766;color:var(--ke-mint)}
.ke-nba-status.is-error{color:#ff9c8a}
.ke-nba-preview{border:1px solid var(--ke-hairline);border-radius:20px;background:radial-gradient(120% 120% at 100% 0,#2dfce614,transparent 55%),linear-gradient(180deg,#111114,#0a0a0c);overflow:hidden}
.ke-nba-preview ul{display:grid;gap:12px;margin:0;padding:20px;list-style:none}
.ke-nba-preview li{display:flex;gap:14px;align-items:flex-start;padding:14px;border:1px solid var(--ke-hairline);border-radius:14px;background:#0c0d10;color:var(--ke-mint)}
.ke-nba-preview li strong{display:block;color:var(--ke-text);font-size:15px}
.ke-nba-preview li span{color:var(--ke-text-3);font-size:13px}
.ke-nba-note{margin:0;padding:0 20px 18px;color:var(--ke-text-3);font-size:12px}
.ke-nba-now{margin-top:56px}
.ke-nba-now h2{font-family:var(--ke-display);font-size:22px}
.ke-nba-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ke-nba-links a{display:grid;gap:4px;padding:18px;border:1px solid var(--ke-hairline);border-radius:16px;background:#0c0d10;color:var(--ke-text);text-decoration:none}
.ke-nba-links a:hover{border-color:#31fbb755}
.ke-nba-links span{color:var(--ke-text-3);font-size:13px}
@media(max-width:860px){.ke-nba-hero,.ke-nba-links{grid-template-columns:1fr}.ke-nba-field{flex-direction:column}}
.ke-nba-soon .ke-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ke-nba-soon .ke-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid #31fbb755;border-radius:999px;background:#31fbb712;color:var(--ke-mint);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ke-nba-soon .ke-pill i{width:7px;height:7px;border-radius:50%;background:var(--ke-mint);box-shadow:0 0 10px var(--ke-mint)}
.ke-nba-soon .ke-nba-field input{height:50px!important;margin:0!important;padding:0 16px!important}
.ke-nba-soon .ke-nba-consent{display:flex!important;flex-direction:row!important;align-items:center!important;max-width:520px;font-weight:500}
.ke-nba-soon .ke-nba-consent input{width:16px!important;height:16px!important;margin:0!important;flex:none;accent-color:var(--ke-mint)}
.ke-nba-preview-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 0;color:var(--ke-text);font-family:var(--ke-display);font-size:16px;font-weight:600}
.ke-nba-preview-head b{padding:3px 10px;border:1px solid #f2c14e66;border-radius:999px;color:var(--ke-gold);font-family:var(--ke-body);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:860px){.ke-nba-soon .ke-nba-field input{width:100%!important;flex:none!important}}
/* Research guide links on Home and How It Works (Dan, SEO, 2026-10-12). */
.ke-research-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:22px;font-size:14px}
.ke-research-links span{color:var(--ke-text-3,#8b9199);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ke-research-links a{color:#31fbb7;text-decoration:none}
.ke-research-links a:hover,.ke-research-links a:focus-visible{text-decoration:underline}

/* elite_nav.css */
/* Navigation. Loaded right after elite_black.css on every page.
   2026-10-03: "most beautiful nav bar", prop products highlighted.
   2026-10-08 (Alok: "streamline our product offers ... NFL, CFB, NBA, MLB,
   KarmaCards up"): KarmaCards first, then one menu per sport. Each sport opens
   a wide panel: the sport on the left (glyph, tagline, tool count, its main
   CTA), every product for it on the right, props first. Markup:
   templates/_site_nav.html, data: site_nav.py. */
@property --nav-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes nav-orbit{to{--nav-angle:360deg}}
@keyframes nav-drop{from{opacity:0;transform:translateY(-6px) scale(.985)}}
@keyframes nav-drop-mega{from{opacity:0;transform:translate(-50%,-8px) scale(.99)}}
@keyframes nav-tile-in{from{opacity:0;transform:translateY(4px)}}

/* ---- The bar: quiet glass with one glowing hairline ---- */
.site-header{background:rgba(0,0,0,.62)!important;border-bottom:0!important;-webkit-backdrop-filter:saturate(170%) blur(20px);backdrop-filter:saturate(170%) blur(20px)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#ffffff14 15%,#2dfce64d 50%,#ffffff14 85%,transparent);pointer-events:none}
.site-header .nav{position:relative;min-height:68px;gap:14px}
@media(min-width:1260px){
  .site-header .nav-links{display:flex!important;align-items:center;gap:2px!important}
  .site-header .nav-links>a,.site-header .nav-links>.nav-dropdown>.nav-dropdown-trigger{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 11px!important;border-radius:10px;color:#a6adb5!important;font-size:14px!important;font-weight:550!important;letter-spacing:-.005em;white-space:nowrap;transition:color .18s,background .18s}
  .site-header .nav-links>a:hover,.site-header .nav-links>.nav-dropdown>.nav-dropdown-trigger:hover,.site-header .nav-dropdown.open>.nav-dropdown-trigger{color:#fff!important;background:#ffffff0a}
  /* a teal underline slides in on hover and stays, glowing, on the current page */
  .site-header .nav-links>a:not(.nav-karmacards-tab)::after,.site-header .nav-links>.nav-dropdown>.nav-dropdown-trigger::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--sport,#2dfce6),#31fbb7);transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
  .site-header .nav-links>a:not(.nav-karmacards-tab):hover::after{transform:scaleX(.55)}
  .site-header .nav-links>a[aria-current=page]:not(.nav-karmacards-tab),.site-header .nav-links>.nav-dropdown>.nav-dropdown-trigger[aria-current=page]{color:#fff!important}
  .site-header .nav-links>a[aria-current=page]:not(.nav-karmacards-tab)::after,.site-header .nav-links>.nav-dropdown>.nav-dropdown-trigger[aria-current=page]::after{transform:scaleX(1);box-shadow:0 0 10px #2dfce699}
}

/* ---- KarmaCards: the featured pill, dark with a travelling light border ---- */
.site-header .nav-karmacards-tab{position:relative;isolation:isolate;display:inline-flex!important;align-items:center;gap:7px;min-height:38px!important;padding:0 16px!important;border-radius:999px!important;background:linear-gradient(180deg,#0b1d1a,#06100e)!important;color:#7dfde3!important;font-weight:750!important;font-size:14px!important;box-shadow:0 0 0 1px #2dfce640,0 0 24px #2dfce624,inset 0 1px 0 #ffffff12!important;filter:none!important;transition:box-shadow .25s,transform .2s}
.site-header .nav-karmacards-tab::before{content:"";position:absolute;inset:0;z-index:-1;padding:1px;border-radius:inherit;background:conic-gradient(from var(--nav-angle),transparent 0 60%,#2dfce6 78%,#31fbb7 86%,transparent 96%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:nav-orbit 4.5s linear infinite;pointer-events:none}
.site-header .nav-karmacards-tab:hover,.site-header .nav-links a.nav-karmacards-tab[aria-current=page]{color:#fff!important;box-shadow:0 0 0 1px #2dfce680,0 0 34px #2dfce640,inset 0 1px 0 #ffffff1a!important;transform:translateY(-1px)}
@media(min-width:1260px){.site-header .nav-links>.nav-karmacards-tab{margin-right:12px}}

/* ---- Sport triggers: glyph in the sport's colour, label, chevron ---- */
.site-header .nav-sport-trigger{gap:7px!important}
.site-header .nav-sport-glyph{display:grid;place-items:center;width:20px;height:20px;color:var(--sport);font-style:normal;opacity:.8;transition:transform .3s cubic-bezier(.2,.7,.2,1),filter .25s,opacity .2s}
.site-header .nav-sport-label{font-weight:700;letter-spacing:.03em}
.site-header .nav-chevron{font-size:10px;opacity:.6;transition:transform .2s}
.site-header .nav-sport.open .nav-chevron{transform:rotate(180deg);opacity:1}
.site-header .nav-sport-trigger:hover .nav-sport-glyph,.site-header .nav-sport.open .nav-sport-glyph,.site-header .nav-sport-trigger[aria-current=page] .nav-sport-glyph{opacity:1;filter:drop-shadow(0 0 7px var(--sport));transform:rotate(-14deg) scale(1.1)}

/* ---- Dropdown panels: glass, rounded, quick ---- */
.site-header .nav-dropdown-menu{top:calc(100% + 10px)!important;left:0;min-width:240px;padding:8px!important;border:1px solid #ffffff17!important;border-radius:18px!important;background:linear-gradient(180deg,#101114,#0b0c0e)!important;box-shadow:0 30px 80px #000c,0 0 0 1px #00000080,inset 0 1px 0 #ffffff0d!important}
.site-header .nav-dropdown.open>.nav-dropdown-menu{animation:nav-drop .18s cubic-bezier(.2,.7,.2,1) both}
.site-header .nav-dropdown-menu a{min-height:40px;padding:9px 12px!important;border-radius:11px!important;color:#e6e9ec!important;font-size:14px;font-weight:550;transition:background .15s,color .15s,border-color .15s}
.site-header .nav-dropdown-menu a:hover,.site-header .nav-dropdown-menu a:focus-visible{background:#ffffff0d!important;color:#fff!important;outline:0}
.site-header .nav-dropdown-group{padding:10px 12px 4px!important;color:#6d747c!important;font-size:10.5px!important;font-weight:800;letter-spacing:.14em!important;text-transform:uppercase}

/* ---- Badges: FREE mint, NEW gold, PREVIEW ice, SOON dashed ---- */
.site-header .nav-free-badge{flex:none;padding:3px 8px!important;border:1px solid #31fbb766!important;border-radius:999px;background:#31fbb71a!important;color:#7dfde3!important;box-shadow:none!important;font-size:10px!important;font-weight:800!important;letter-spacing:.08em;line-height:1.2}
.site-header .nav-free-badge.is-new{border-color:#ffd47766!important;background:#ffd4771a!important;color:#ffd98a!important}
.site-header .nav-free-badge.is-preview{border-color:#9db8ff59!important;background:#9db8ff14!important;color:#bfd0ff!important}
.site-header .nav-free-badge.is-soon{border:1px dashed #ffffff33!important;background:transparent!important;color:#8a9199!important}

/* ---- Product tiles: icon, name + badges, one-line pitch ---- */
.site-header :is(.nav-tile,.nav-dropdown-platform-prizepicks,.nav-dropdown-platform-underdog){display:grid!important;grid-template-columns:38px minmax(0,1fr) auto;grid-template-areas:"icon name badge" "icon desc desc";column-gap:12px;row-gap:2px;align-items:center;min-width:0;min-height:62px!important;padding:10px 12px!important;border:1px solid transparent!important;background:transparent!important;box-shadow:none!important;color:#fff!important}
.site-header .nav-tile>.nav-tile-icon{grid-area:icon;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#12302b,#0a1513);box-shadow:inset 0 0 0 1px #2dfce62e;color:#5ff7dc;font-style:normal;transition:box-shadow .2s,transform .2s,color .2s}
.site-header .nav-tile>.nav-tile-icon.is-logo{background:none;box-shadow:inset 0 0 0 1px #ffffff1a;overflow:hidden}
.site-header .nav-tile>.nav-tile-icon.is-logo img{width:100%;height:100%;object-fit:cover}
.site-header .nav-tile>.nav-tile-name{grid-area:name;min-width:0;color:#fff;font-size:14px;font-weight:650;letter-spacing:-.01em;white-space:normal}
.site-header .nav-tile>.nav-tile-badges{grid-area:badge;display:inline-flex;gap:4px}
.site-header .nav-tile>.nav-tile-desc{grid-area:desc;min-width:0;color:#7d848c;font-size:12px;font-weight:450;line-height:1.35}
.site-header .nav-tile:hover,.site-header .nav-tile:focus-visible{border-color:#ffffff14!important;background:linear-gradient(135deg,#ffffff0d,#ffffff04)!important}
.site-header .nav-tile:hover>.nav-tile-icon,.site-header .nav-tile:focus-visible>.nav-tile-icon{box-shadow:inset 0 0 0 1px #2dfce666,0 0 18px #2dfce633;transform:translateY(-1px)}
.site-header .nav-tile[aria-current=page]{border-color:#2dfce640!important;background:linear-gradient(135deg,#2dfce614,#2dfce603 70%)!important}
.site-header .nav-tile.is-soon{opacity:.62}
.site-header .nav-tile.is-soon>.nav-tile-icon{background:transparent;box-shadow:inset 0 0 0 1px #ffffff26;color:#8a9199}
.site-header .nav-tile.is-soon:hover{opacity:.85}
/* Tile descriptions wrap inside their tile (2026-10-07: they inherited the
   nav links' nowrap and ran past the panel edge). */
.site-header :is(.nav-tile,.nav-dropdown-platform-prizepicks,.nav-dropdown-platform-underdog)>.nav-tile-desc{white-space:normal!important;overflow-wrap:anywhere}

/* ---- Sport panel: the sport on the left, its products on the right ---- */
.site-header .nav-sport-panel{padding:0!important;overflow:hidden}
.site-header .nav-sport-hero{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:22px 20px 20px;overflow:hidden;background:radial-gradient(120% 70% at 0% 0%,#ffffff12,transparent 62%),linear-gradient(180deg,#131418,#0b0c0e);background:radial-gradient(120% 70% at 0% 0%,color-mix(in srgb,var(--sport) 30%,transparent),transparent 62%),linear-gradient(180deg,#131418,#0b0c0e)}
.site-header .nav-sport-hero-glyph{display:grid;place-items:center;width:54px;height:54px;margin-bottom:4px;border-radius:16px;color:var(--sport);font-style:normal;background:#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff26;background:color-mix(in srgb,var(--sport) 14%,#0b0c0e);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sport) 45%,transparent),0 0 30px color-mix(in srgb,var(--sport) 32%,transparent)}
.site-header .nav-sport-watermark{position:absolute;right:-46px;bottom:34px;z-index:-1;color:var(--sport);opacity:.08;font-style:normal;transform:rotate(-18deg);pointer-events:none}
.site-header .nav-sport-name{color:#fff;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.site-header .nav-sport-tagline{color:#9aa1a9;font-size:13px;line-height:1.45}
.site-header .nav-sport-cta-note{margin-top:auto;padding-top:18px;color:#7d848c;font-size:12px;line-height:1.4}
.site-header .nav-sport-count{padding:4px 10px;border:1px solid #ffffff1f;border-radius:999px;background:#00000040;color:#cfd5db;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.site-header .nav-dropdown-menu a.nav-sport-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;align-self:stretch;min-height:46px;padding:0 16px!important;border-radius:13px!important;background:linear-gradient(135deg,#2dfce6,#31fbb7)!important;color:#00140f!important;font-size:14px;font-weight:800;box-shadow:0 10px 28px #2dfce633,inset 0 1px 0 #ffffff66;transition:transform .2s,box-shadow .2s,filter .2s}
.site-header .nav-dropdown-menu a.nav-sport-cta:hover,.site-header .nav-dropdown-menu a.nav-sport-cta:focus-visible{color:#00140f!important;filter:brightness(1.05);box-shadow:0 14px 34px #2dfce64d,inset 0 1px 0 #ffffff80;transform:translateY(-1px)}
.site-header .nav-sport-cta span{transition:transform .2s}
.site-header .nav-sport-cta:hover span{transform:translateX(3px)}
.site-header .nav-sport-body{display:flex;flex-direction:column;min-width:0;padding:10px 12px 12px}
.site-header .nav-sport-section>.nav-dropdown-group{display:block;padding:10px 10px 6px!important}
.site-header .nav-sport-section+.nav-sport-section{margin-top:4px;border-top:1px solid #ffffff0f;padding-top:4px}
.site-header .nav-sport-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
/* short menus: sections side by side, one tile per row */
.site-header .nav-sport-body.is-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;column-gap:14px}
.site-header .nav-sport-body.is-columns>.nav-sport-section:first-child{grid-row:span 2}
.site-header .nav-sport-body.is-columns>.nav-sport-section:nth-child(2){margin-top:0;border-top:0;padding-top:0}
.site-header .nav-sport-body.is-columns .nav-sport-grid{grid-template-columns:minmax(0,1fr)}
.site-header .nav-sport.open .nav-tile{animation:nav-tile-in .26s cubic-bezier(.2,.7,.2,1) both}
.site-header .nav-sport.open .nav-sport-grid .nav-tile:nth-child(2){animation-delay:.02s}
.site-header .nav-sport.open .nav-sport-grid .nav-tile:nth-child(3){animation-delay:.04s}
.site-header .nav-sport.open .nav-sport-grid .nav-tile:nth-child(4){animation-delay:.06s}
.site-header .nav-sport.open .nav-sport-grid .nav-tile:nth-child(n+5){animation-delay:.08s}

@media(min-width:1260px){
  /* one wide panel under the whole bar, whichever sport opened it */
  .site-header .nav-sport{position:static!important}
  .site-header .nav-sport-panel{left:50%!important;top:calc(100% - 4px)!important;width:min(1000px,calc(100vw - 48px));max-height:calc(100vh - 90px)!important;overflow-y:auto!important;transform:translateX(-50%)}
  .site-header .nav-sport.open>.nav-sport-panel{display:grid!important;grid-template-columns:270px minmax(0,1fr);animation:nav-drop-mega .22s cubic-bezier(.2,.7,.2,1) both}
  .site-header .nav-sport-hero{border-right:1px solid #ffffff10}
  .site-header .nav-sport-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--sport) 30%,#31fbb7 70%,transparent);opacity:.8;z-index:1}
  /* a glow on the panel's top edge, over the tab that opened it (--nav-caret set on open) */
  .site-header .nav-sport-panel::after{content:"";position:absolute;top:0;left:var(--nav-caret,50%);z-index:2;width:72px;height:2px;border-radius:2px;background:var(--sport);box-shadow:0 0 14px 1px var(--sport);transform:translateX(-50%);pointer-events:none}
  /* switching sports swaps panels without replaying the drop-in */
  .site-header.nav-instant .nav-sport.open>.nav-sport-panel,.site-header.nav-instant .nav-sport.open .nav-tile{animation:none!important}
}
/* 1260-1439px laptops: the same bar, a little tighter */
@media(min-width:1260px) and (max-width:1439px){
  .site-header .nav-links>a:not(.nav-karmacards-tab),.site-header .nav-links>.nav-dropdown>.nav-dropdown-trigger{padding:0 8px!important}
  .site-header .nav-links>.nav-karmacards-tab{margin-right:6px}
  .site-header .nav-account{margin-left:4px;padding-left:8px}
}

/* ---- Account cluster ---- */
.site-header .nav-account{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding-left:12px;border-left:1px solid #ffffff14}
.site-header .nav-account>a,.site-header .nav-account form{display:inline-flex;align-items:center;margin:0}
.site-header .nav-account>a:not(.nav-premium-cta):not(.nav-start-free),.site-header .nav-logout button,.site-header .nav-manage{min-height:36px;padding:0 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#a6adb5!important;font-size:14px!important;font-weight:550!important;cursor:pointer}
.site-header .nav-account>a:not(.nav-premium-cta):not(.nav-start-free):hover,.site-header .nav-logout button:hover,.site-header .nav-manage:hover{color:#fff!important;background:#ffffff0a!important}
.site-header .nav-start-free{display:inline-flex;align-items:center;min-height:36px;padding:0 14px!important;border:1px solid #ffffff2e!important;border-radius:999px!important;background:transparent!important;color:#fff!important;font-size:13px!important;font-weight:750!important;letter-spacing:.02em}
.site-header .nav-start-free:hover{border-color:#ffffff66!important;background:#ffffff0d!important}

/* ---- Phone / tablet: a glass sheet. KarmaCards first, then each sport as an
   accordion row that opens to its CTA and product tiles. ---- */
@media(max-width:1259px){
  .site-header .nav-toggle{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid #ffffff1f;border-radius:999px;background:#ffffff08;color:#fff;font-weight:650}
  .site-header .nav-links.open{position:fixed!important;top:76px!important;left:12px!important;right:12px!important;max-height:calc(100dvh - 92px)!important;gap:4px;padding:12px!important;border:1px solid #ffffff17!important;border-radius:22px!important;background:#0b0c0e!important;box-shadow:0 30px 80px #000d;animation:nav-drop .2s cubic-bezier(.2,.7,.2,1) both}
  .site-header .nav-links.open>a{display:flex;align-items:center;width:100%;min-height:48px;padding:0 14px;border-radius:12px;color:#e6e9ec;font-size:16px;font-weight:600}
  .site-header .nav-links.open>a[aria-current=page]{background:#2dfce60f;color:#fff;box-shadow:inset 3px 0 0 #2dfce6}
  .site-header .nav-links.open>.nav-karmacards-tab,.site-header .nav-links.open>a.nav-karmacards-tab[aria-current=page]{order:-1;justify-content:center;margin-bottom:6px;min-height:52px!important;font-size:16px!important;color:#7dfde3!important}
  .site-header .nav-links.open>.nav-sport{width:100%;border:1px solid #ffffff0f;border-radius:16px;background:#ffffff04;overflow:hidden}
  .site-header .nav-links.open>.nav-sport.open{border-color:#ffffff1f;background:#ffffff07}
  .site-header .nav-links.open .nav-sport-trigger{display:flex;align-items:center;width:100%;min-height:54px;padding:0 16px!important;color:#e6e9ec;font-size:16px;font-weight:650;text-align:left}
  .site-header .nav-links.open .nav-sport-trigger[aria-current=page]{color:#fff;box-shadow:inset 3px 0 0 var(--sport)}
  .site-header .nav-links.open .nav-sport-glyph{width:26px;height:26px;opacity:1}
  .site-header .nav-links.open .nav-chevron{margin-left:auto;font-size:12px}
  .site-header .nav-links.open .nav-sport-panel{margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .site-header .nav-sport.open>.nav-sport-panel{display:block!important}
  .site-header .nav-links.open .nav-sport-panel{max-height:none!important;overflow:visible!important}
  .site-header .nav-sport-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;margin:0 8px;padding:14px;border-radius:14px}
  .site-header .nav-sport-hero-glyph,.site-header .nav-sport-watermark,.site-header .nav-sport-name{display:none}
  .site-header .nav-sport-tagline{grid-column:1}
  .site-header .nav-sport-count{grid-column:2;grid-row:1;justify-self:end}
  .site-header .nav-sport-cta-note{display:none}
  .site-header .nav-dropdown-menu a.nav-sport-cta{grid-column:1/-1;margin-top:8px}
  .site-header .nav-sport-body.is-columns{display:flex;flex-direction:column}
  .site-header .nav-sport-body.is-columns>.nav-sport-section:nth-child(2){margin-top:4px;border-top:1px solid #ffffff0f;padding-top:4px}
  .site-header .nav-sport-body.is-columns .nav-sport-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
  .site-header .nav-sport-body{padding:6px 8px 10px}
  .site-header .nav-sport-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
  .site-header .nav-links.open .nav-account{flex-wrap:wrap;margin:8px 0 0;padding:12px 0 0;border-left:0;border-top:1px solid #ffffff14}
}

@media(prefers-reduced-motion:reduce){
  .site-header .nav-karmacards-tab::before,.site-header .nav-dropdown.open>.nav-dropdown-menu,.site-header .nav-sport.open>.nav-sport-panel,.site-header .nav-sport.open .nav-tile,.site-header .nav-links.open{animation:none!important}
  .site-header .nav-links>a::after,.site-header .nav-links>.nav-dropdown>.nav-dropdown-trigger::after,.site-header .nav-sport-glyph{transition:none}
}

/* research_article.css */
/* KarmaEdge research guides (2026-10-13): an editorial article layout on the
   elite black system. Reading column ~70ch, sticky contents on wide screens,
   a collapsible contents list on phones. Tokens come from elite_black.css. */
.ke-article-page{position:relative;overflow:hidden}
.ke-article-page::before{content:"";position:absolute;inset:-180px -10% auto;height:520px;pointer-events:none;background:radial-gradient(640px 280px at 18% 40%,#2dfce61f,transparent 70%),radial-gradient(520px 260px at 82% 20%,#7c5cff14,transparent 70%);z-index:0}
.ke-article{position:relative;z-index:1;padding:28px 0 88px}
.ke-crumbs ol{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--ke-text-3)}
.ke-crumbs li{display:flex;align-items:center;gap:10px;max-width:100%}
.ke-crumbs li+li::before{content:"/";color:#3a3d42}
.ke-crumbs a{color:var(--ke-text-2);text-decoration:none}
.ke-crumbs a:hover,.ke-crumbs a:focus-visible{color:var(--ke-mint)}
.ke-crumbs [aria-current]{color:var(--ke-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}

.ke-article-hero{max-width:880px;padding:34px 0 30px;border-bottom:1px solid var(--ke-hairline)}
.ke-article-kicker{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:var(--ke-accent);-webkit-background-clip:text;background-clip:text;color:transparent}
.ke-article-hero h1{margin:14px 0 16px;font-family:var(--ke-display);font-size:clamp(34px,5.4vw,64px);font-weight:600;line-height:1.02;letter-spacing:-.045em;color:#fff;text-wrap:balance}
.ke-article-dek{max-width:68ch;margin:0;color:var(--ke-text-2);font-size:clamp(17px,1.6vw,20px);line-height:1.55}
.ke-article-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:22px 0 0;color:var(--ke-text-3);font-size:13.5px}
.ke-article-meta span{display:inline-flex;align-items:center;white-space:nowrap}
.ke-article-meta time{margin-left:.35em}
.ke-article-meta span+span::before{content:"";width:4px;height:4px;border-radius:50%;background:#3a3d42;margin-right:12px}
.ke-article-author{color:var(--ke-text-2);font-weight:600}

.ke-article-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;align-items:start;margin-top:36px}
.ke-article-layout.no-toc{grid-template-columns:minmax(0,1fr)}
.ke-article-main{max-width:740px;min-width:0}
.ke-article-toc{position:sticky;top:92px;font-size:13.5px}
.ke-article-toc details{border-left:1px solid var(--ke-hairline-strong);padding-left:16px}
.ke-article-toc summary{list-style:none;cursor:default;margin-bottom:12px;color:var(--ke-text-3);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ke-article-toc summary::-webkit-details-marker{display:none}
.ke-article-toc ol{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:toc}
.ke-article-toc li{counter-increment:toc}
.ke-article-toc a{display:flex;gap:10px;color:var(--ke-text-2);text-decoration:none;line-height:1.4;transition:color .15s}
.ke-article-toc a::before{content:counter(toc,decimal-leading-zero);color:#3f444a;font-variant-numeric:tabular-nums;font-size:12px;padding-top:1px}
.ke-article-toc a:hover,.ke-article-toc a:focus-visible{color:var(--ke-mint)}

.ke-answer{position:relative;margin:0 0 40px;padding:24px 26px;border:1px solid #2dfce633;border-radius:18px;background:linear-gradient(135deg,#2dfce60f,#31fbb705 55%,transparent),var(--ke-surface);box-shadow:0 0 0 1px #00000040,0 24px 60px #00000080}
.ke-answer::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:var(--ke-accent)}
.ke-answer-label{display:block;margin-bottom:8px;color:var(--ke-mint);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.ke-answer p{margin:0;color:#e9eef0;font-size:17px;line-height:1.65}
.ke-answer strong{color:#fff}

.ke-article-body{color:#d9dee2;font-size:17.5px;line-height:1.75}
.ke-article-body p{margin:0 0 1.15em}
.ke-article-body h2{scroll-margin-top:96px;margin:2.1em 0 .6em;font-family:var(--ke-display);font-size:clamp(24px,2.6vw,31px);font-weight:600;line-height:1.18;letter-spacing:-.03em;color:#fff}
.ke-article-body h2:first-child{margin-top:0}
.ke-article-body strong{color:#fff;font-weight:650}
.ke-article-body ul,.ke-article-body ol{margin:0 0 1.3em;padding-left:1.25em}
.ke-article-body li{margin:.45em 0;padding-left:.25em}
.ke-article-body ul li::marker{color:var(--ke-mint)}
.ke-article-body ol li::marker{color:var(--ke-mint);font-weight:700;font-variant-numeric:tabular-nums}
.ke-article-body ol{counter-reset:none}
.ke-article-body a{color:var(--ke-mint);text-decoration:underline;text-underline-offset:3px}
.research-unavailable{color:var(--ke-text-3);font-style:italic}

.ke-article-faq{scroll-margin-top:96px;margin-top:56px;padding-top:40px;border-top:1px solid var(--ke-hairline)}
.ke-article-faq>h2{margin:0 0 18px;font-family:var(--ke-display);font-size:clamp(24px,2.6vw,31px);font-weight:600;letter-spacing:-.03em;color:#fff}
.ke-faq-item{border:1px solid var(--ke-hairline);border-radius:14px;background:var(--ke-surface);margin-bottom:10px;transition:border-color .15s}
.ke-faq-item[open]{border-color:#2dfce62e}
.ke-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;list-style:none}
.ke-faq-item summary::-webkit-details-marker{display:none}
.ke-faq-item summary h3{margin:0;font-family:var(--ke-body);font-size:16.5px;font-weight:650;letter-spacing:-.01em;color:#fff;line-height:1.4}
.ke-faq-item summary::after{content:"+";flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--ke-hairline-strong);color:var(--ke-mint);font-size:18px;line-height:1;transition:transform .2s}
.ke-faq-item[open] summary::after{transform:rotate(45deg)}
.ke-faq-item summary:focus-visible{outline:2px solid var(--ke-mint);outline-offset:-2px;border-radius:14px}
.ke-faq-answer{padding:0 20px 18px;color:#cfd5d9;font-size:16px;line-height:1.7}
.ke-faq-answer p{margin:0 0 .8em}
.ke-faq-answer p:last-child{margin-bottom:0}

.ke-article-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:48px 0 0;padding:24px 26px;border:1px solid #2dfce640;border-radius:20px;background:radial-gradient(420px 160px at 0% 0%,#2dfce624,transparent 70%),linear-gradient(135deg,#0f1416,#0b0b0d)}
.ke-article-cta strong{display:block;font-family:var(--ke-display);font-size:21px;font-weight:600;letter-spacing:-.02em;color:#fff}
.ke-article-cta p{margin:6px 0 0;color:var(--ke-text-2);font-size:14.5px}
.ke-article-cta .button{flex:none;gap:8px;padding:13px 20px;border-radius:12px;background:var(--ke-accent);color:#04130e;font-weight:700;white-space:nowrap;box-shadow:0 10px 30px #2dfce62e}

.ke-article-related{margin-top:56px}
.ke-article-related>h2{margin:0 0 16px;font-family:var(--ke-display);font-size:22px;font-weight:600;letter-spacing:-.02em;color:#fff}
.ke-article-related ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.ke-related-card{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 44px 16px 18px;border:1px solid var(--ke-hairline);border-radius:14px;background:var(--ke-surface);text-decoration:none;transition:border-color .15s,background .15s,transform .15s}
.ke-related-card span{color:var(--ke-mint);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ke-related-card strong{color:#fff;font-size:15.5px;font-weight:600;line-height:1.35}
.ke-related-card i{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--ke-text-3);font-style:normal;transition:color .15s,transform .15s}
.ke-related-card:hover,.ke-related-card:focus-visible{border-color:#2dfce640;background:var(--ke-surface-2)}
.ke-related-card:hover i,.ke-related-card:focus-visible i{color:var(--ke-mint);transform:translate(3px,-50%)}

.ke-article-disclosure{margin-top:40px;padding:16px 18px;border:1px solid var(--ke-hairline);border-radius:12px;background:#0b0b0d;color:var(--ke-text-3);font-size:13.5px;line-height:1.6}
.ke-article-disclosure p{margin:0}

@media (max-width:1020px){
  .ke-article-layout{grid-template-columns:minmax(0,1fr);gap:0;margin-top:26px}
  .ke-article-main{max-width:none}
  .ke-article-toc{position:static;margin-bottom:28px}
  .ke-article-toc details{padding:14px 16px;border:1px solid var(--ke-hairline);border-radius:14px;background:var(--ke-surface)}
  .ke-article-toc summary{cursor:pointer;margin:0;display:flex;justify-content:space-between}
  .ke-article-toc summary::after{content:"+";color:var(--ke-mint);font-size:16px}
  .ke-article-toc details[open] summary{margin-bottom:12px}
  .ke-article-toc details[open] summary::after{content:"–"}
}
@media (max-width:640px){
  .ke-article{padding:18px 0 64px}
  .ke-article-hero{padding:22px 0 22px}
  .ke-crumbs [aria-current]{max-width:22ch}
  .ke-answer{padding:20px 18px}
  .ke-answer p{font-size:16px}
  .ke-article-body{font-size:16.5px;line-height:1.72}
  .ke-article-cta{flex-direction:column;align-items:stretch;padding:20px}
  .ke-article-cta .button{justify-content:center}
  .ke-article-related ul{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.ke-faq-item summary::after,.ke-related-card,.ke-related-card i{transition:none}}

/* Research hub: the guide list (/research). */
.ke-guides{padding-top:8px}
.ke-guides .section-head p{max-width:420px}
.ke-guides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.ke-guide-card{display:flex;flex-direction:column;gap:8px;height:100%;padding:20px;border:1px solid var(--ke-hairline);border-radius:16px;background:linear-gradient(180deg,#ffffff06,transparent),var(--ke-surface);text-decoration:none;transition:border-color .15s,transform .15s,background .15s}
.ke-guide-card span{color:var(--ke-mint);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ke-guide-card strong{font-family:var(--ke-display);color:#fff;font-size:19px;font-weight:600;line-height:1.25;letter-spacing:-.02em}
.ke-guide-card small{color:var(--ke-text-2);font-size:14px;line-height:1.55}
.ke-guide-card i{margin-top:auto;padding-top:6px;color:var(--ke-mint);font-style:normal;font-size:13.5px;font-weight:600}
.ke-guide-card:hover,.ke-guide-card:focus-visible{border-color:#2dfce640;background:var(--ke-surface-2);transform:translateY(-2px)}
@media (max-width:1020px){.ke-guides-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ke-guides-grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.ke-guide-card{transition:none}}

/* seo_pages.css */
/* Game, team and hub pages (SEO, 2026-10-19). Elite black theme, mobile first. */
.ke-seo-page{position:relative;overflow:hidden}
.ke-seo-page::before{content:"";position:absolute;inset:-180px -10% auto;height:520px;pointer-events:none;background:radial-gradient(640px 280px at 18% 40%,#2dfce61a,transparent 70%),radial-gradient(520px 260px at 82% 20%,#7c5cff12,transparent 70%);z-index:0}
.ke-seo{position:relative;z-index:1;padding:24px 0 88px;max-width:1040px}
.ke-seo-hero{padding:28px 0 26px;border-bottom:1px solid var(--ke-hairline)}
.ke-seo-kicker{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:var(--ke-accent);-webkit-background-clip:text;background-clip:text;color:transparent}
.ke-seo-hero h1{margin:12px 0 10px;font-family:var(--ke-display);font-size:clamp(30px,4.6vw,54px);font-weight:600;line-height:1.04;letter-spacing:-.04em;color:#fff;text-wrap:balance}
.ke-seo-dek{max-width:70ch;margin:0;color:var(--ke-text-2);font-size:clamp(16px,1.5vw,18px);line-height:1.55}
.ke-seo-when{margin:0;color:var(--ke-text-2);font-size:15px}
.ke-seo-when b{color:var(--ke-gold);font-weight:600}
.ke-seo-matchup{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:18px 0 6px}
.ke-seo-team{display:flex;align-items:center;gap:12px;min-width:0;color:var(--ke-text);text-decoration:none}
.ke-seo-team span{display:flex;flex-direction:column;min-width:0}
.ke-seo-team strong{font-family:var(--ke-display);font-size:clamp(17px,2vw,22px);font-weight:600;letter-spacing:-.01em}
.ke-seo-team small{color:var(--ke-text-3);font-size:13px}
.ke-seo-team:hover strong,.ke-seo-team:focus-visible strong{color:var(--ke-mint)}
.ke-seo-at{color:var(--ke-text-3);font-size:18px;font-weight:700}
.ke-seo-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ke-seo-jump a{padding:7px 12px;border:1px solid var(--ke-hairline-strong);border-radius:999px;color:var(--ke-text-2);font-size:13px;font-weight:600;text-decoration:none}
.ke-seo-jump a:hover,.ke-seo-jump a:focus-visible{border-color:#2dfce666;color:#fff}
.ke-seo-answer{margin:28px 0 8px}
.ke-seo-answer ul{display:grid;gap:8px;margin:0;padding:0 0 0 18px;color:#e9eef0;font-size:16px;line-height:1.6}
.ke-seo-section{margin-top:40px}
.ke-seo-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 18px;margin-bottom:14px}
.ke-seo-section-head h2{margin:0;font-family:var(--ke-display);font-size:clamp(22px,2.6vw,30px);font-weight:600;letter-spacing:-.025em;color:#fff}
.ke-seo-section-head p{margin:0;max-width:62ch;color:var(--ke-text-3);font-size:14px;line-height:1.5}
.ke-seo-odds .ke-odds-card{max-width:760px}
.ke-seo-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}
.ke-seo-note,.ke-seo-more{margin:12px 0 0;color:var(--ke-text-3);font-size:14px}
.ke-seo-note a,.ke-seo-more a,.ke-seo-all{color:var(--ke-mint);font-weight:600;text-decoration:none}
.ke-seo-note a:hover,.ke-seo-more a:hover,.ke-seo-all:hover{text-decoration:underline}
.ke-seo-empty{margin:0}
.ke-seo-table-wrap{overflow-x:auto;border:1px solid var(--ke-hairline);border-radius:16px;background:var(--ke-surface)}
.ke-seo-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.ke-seo-table th{padding:11px 14px;color:var(--ke-text-3);font-size:11px;font-weight:700;letter-spacing:.1em;text-align:left;text-transform:uppercase;border-bottom:1px solid var(--ke-hairline);white-space:nowrap}
.ke-seo-table td{padding:11px 14px;color:var(--ke-text);border-bottom:1px solid var(--ke-hairline);white-space:nowrap}
.ke-seo-table tr:last-child td{border-bottom:0}
.ke-seo-table small{color:var(--ke-text-3);font-size:11.5px}
.ke-seo-table .is-stale td{opacity:.65}
.ke-move.is-higher{color:var(--ke-mint)}.ke-move.is-lower{color:#ff8a8a}
.ke-result.is-w{color:var(--ke-mint);font-weight:700}.ke-result.is-l{color:#ff8a8a;font-weight:700}
.ke-seo-props{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px;margin:0;padding:0;list-style:none}
.ke-seo-props li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:12px 14px;border:1px solid var(--ke-hairline);border-radius:14px;background:linear-gradient(180deg,#111114,#0a0a0c)}
.ke-seo-props strong{color:#fff;font-size:15px}
.ke-seo-props small{grid-column:1;color:var(--ke-text-3);font-size:12px}
.ke-seo-props span{grid-column:1;color:var(--ke-text-2);font-size:13px}
.ke-seo-props b{grid-column:2;grid-row:1/4;align-self:center;font-family:var(--ke-display);font-size:22px;color:var(--ke-mint);font-variant-numeric:tabular-nums}
.ke-seo-props em{grid-column:1/3;margin-top:6px;color:var(--ke-text-3);font-size:12px;font-style:normal;line-height:1.5}
.ke-seo-games{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.ke-seo-games a{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:13px 16px;border:1px solid var(--ke-hairline);border-radius:14px;background:linear-gradient(180deg,#111114,#0a0a0c);color:var(--ke-text);text-decoration:none;transition:border-color .2s}
.ke-seo-games a:hover,.ke-seo-games a:focus-visible{border-color:#2dfce655}
.ke-seo-game-teams{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
.ke-seo-game-teams strong{font-weight:600}
.ke-seo-game-teams i{color:var(--ke-text-3);font-style:normal}
.ke-seo-game-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--ke-text-3);font-size:13px;font-variant-numeric:tabular-nums}
.ke-seo-game-meta b{padding:3px 9px;border:1px solid var(--ke-hairline-strong);border-radius:999px;color:var(--ke-text);font-weight:600}
.ke-seo-team-hero{display:flex;align-items:center;gap:20px}
.ke-seo-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:8px;margin:24px 0 0;padding:0;list-style:none}
.ke-seo-team-grid a{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--ke-hairline);border-radius:12px;background:var(--ke-surface);color:var(--ke-text);font-weight:600;text-decoration:none}
.ke-seo-team-grid a:hover,.ke-seo-team-grid a:focus-visible{border-color:#2dfce655;color:#fff}
.ke-seo-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px;margin-top:44px;padding-top:28px;border-top:1px solid var(--ke-hairline)}
.ke-seo-related h2{margin:0 0 12px;font-family:var(--ke-display);font-size:18px;font-weight:600;color:#fff}
.ke-seo-related ul{display:grid;gap:8px;margin:0 0 12px;padding:0;list-style:none}
.ke-seo-related a{color:var(--ke-text-2);text-decoration:none}
.ke-seo-related a:hover,.ke-seo-related a:focus-visible{color:var(--ke-mint)}
.ke-seo-related small{color:var(--ke-text-3)}
.ke-seo-disclaimer{margin:36px 0 0;color:var(--ke-text-3);font-size:12.5px;line-height:1.6}
/* NFL depth charts and injury report (2026-10-19). */
.ke-dc-tag{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 4px;border-radius:5px;font-size:10.5px;font-style:normal;font-weight:800;letter-spacing:.02em;vertical-align:1px;color:#0b0b0d;background:#8a8f98}
.ke-dc-tag.is-out{background:#ff6b6b}.ke-dc-tag.is-doubtful{background:#ffae57}.ke-dc-tag.is-questionable{background:#f5d06a}
.ke-dc-status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid currentColor}
.ke-dc-status.is-out{color:#ff7b7b}.ke-dc-status.is-doubtful{color:#ffb86b}.ke-dc-status.is-questionable{color:#f5d06a}
.ke-dc-answer{margin:24px 0 0}
.ke-dc-answer dl,dl.ke-dc-answer{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;margin:0}
dl.ke-dc-answer{margin:0 0 14px}
.ke-dc-answer dl>div,dl.ke-dc-answer>div{padding:13px 15px;border:1px solid var(--ke-hairline);border-radius:14px;background:linear-gradient(180deg,#111114,#0a0a0c)}
.ke-dc-answer dt{margin:0 0 6px;color:var(--ke-text-3);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ke-dc-answer dd{display:flex;flex-direction:column;gap:3px;margin:0;color:#fff;font-size:15.5px;font-weight:600}
.ke-dc-answer dd a{color:var(--ke-mint);text-decoration:none}.ke-dc-answer dd a:hover{text-decoration:underline}
.ke-dc-answer dd small{color:var(--ke-text-3);font-size:12.5px;font-weight:500}
.ke-dc-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:14px 0 0;color:var(--ke-text-3);font-size:12.5px}
.ke-dc-legend span{display:inline-flex;align-items:center}.ke-dc-legend .ke-dc-tag{margin:0 6px 0 0}
.ke-dc-wrap{border:1px solid var(--ke-hairline);border-radius:16px;background:var(--ke-surface);overflow:hidden}
.ke-dc-table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;font-size:14px}
.ke-dc-table thead th{padding:10px 14px;color:var(--ke-text-3);font-size:11px;font-weight:700;letter-spacing:.1em;text-align:left;text-transform:uppercase;border-bottom:1px solid var(--ke-hairline)}
.ke-dc-table thead th:first-child{width:72px}
.ke-dc-table tbody th{padding:11px 14px;border-bottom:0;color:var(--ke-mint);font-family:var(--ke-display);font-size:13px;font-weight:700;text-align:left;letter-spacing:.02em}
.ke-dc-table td{padding:11px 14px;border-bottom:0;color:var(--ke-text-2);vertical-align:top}
.ke-dc-table tbody tr+tr>*{border-top:1px solid var(--ke-hairline)}
.ke-dc-table tbody tr:hover>*{background:#ffffff05}
.ke-dc-table td:nth-of-type(1){color:#fff}.ke-dc-table td:nth-of-type(1) b{font-weight:650}
.ke-dc-player{display:inline}.ke-dc-player b{font-weight:500}
.ke-dc-player small{margin-left:7px;color:var(--ke-text-3);font-size:12px;font-variant-numeric:tabular-nums}
.ke-dc-injuries td strong{color:#fff;font-weight:600}
.ke-dc-divisions{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;margin-top:28px}
.ke-dc-division{padding:16px;border:1px solid var(--ke-hairline);border-radius:18px;background:linear-gradient(180deg,#101013,#09090b)}
.ke-dc-division h2{margin:0 0 10px;color:var(--ke-text-3);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ke-dc-division ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.ke-dc-division a{display:flex;align-items:center;gap:11px;padding:9px 10px;border:1px solid transparent;border-radius:12px;color:var(--ke-text);text-decoration:none;transition:border-color .2s,background .2s}
.ke-dc-division a:hover,.ke-dc-division a:focus-visible{border-color:#2dfce640;background:#ffffff06}
.ke-dc-division .ke-dc-name{display:flex;flex:1;flex-direction:column;min-width:0}
.ke-dc-division strong{color:#fff;font-size:14.5px;font-weight:600}
.ke-dc-division small{overflow:hidden;color:var(--ke-text-3);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
.ke-dc-division em{display:flex;gap:4px;font-style:normal}.ke-dc-division em .ke-dc-tag{margin:0}
.ke-dc-totals{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.ke-dc-totals li{display:flex;align-items:baseline;gap:8px;padding:10px 16px;border:1px solid var(--ke-hairline-strong);border-radius:14px;background:var(--ke-surface)}
.ke-dc-totals b{font-family:var(--ke-display);font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}
.ke-dc-totals span{color:var(--ke-text-2);font-size:13px}
.ke-dc-totals .is-out b{color:#ff7b7b}.ke-dc-totals .is-doubtful b{color:#ffb86b}.ke-dc-totals .is-questionable b{color:#f5d06a}
.ke-dc-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.ke-dc-team{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--ke-hairline);border-radius:16px;background:linear-gradient(180deg,#111114,#0a0a0c)}
.ke-dc-team h3{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;margin:0;font-size:15.5px}
.ke-dc-team h3 a{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.ke-dc-team h3 a:hover span{color:var(--ke-mint)}
.ke-dc-team h3 small{color:var(--ke-gold);font-size:12px;font-weight:600}
.ke-dc-team ul,.ke-dc-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.ke-dc-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));margin-bottom:6px}
.ke-dc-team li,.ke-dc-list li{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1px 10px}
.ke-dc-team li .ke-dc-status,.ke-dc-list li .ke-dc-status{grid-row:1/3;min-width:94px;text-align:center}
.ke-dc-team li strong,.ke-dc-list li strong{color:#fff;font-size:14px;font-weight:600}
.ke-dc-team li small,.ke-dc-list li small{color:var(--ke-text-3);font-size:12.5px}
.ke-dc-none{margin:0;color:var(--ke-text-3);font-size:13.5px}
.ke-dc-team-link{margin-top:auto;color:var(--ke-mint);font-size:13px;font-weight:600;text-decoration:none}
.ke-dc-team-link:hover{text-decoration:underline}
/* Depth chart field view (2026-10-19): the team's colours on a dark field. */
.ke-dc-page{--tc:#1b6f5f;--ta:#2dfce6}
.ke-dc-page::before{background:radial-gradient(680px 300px at 16% 36%,color-mix(in srgb,var(--tc) 30%,transparent),transparent 70%),radial-gradient(520px 260px at 84% 18%,color-mix(in srgb,var(--ta) 14%,transparent),transparent 70%)}
.ke-dc-switcher{margin:14px -16px 0;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
.ke-dc-switcher::-webkit-scrollbar{display:none}
.ke-dc-switcher ul{display:flex;gap:4px;width:max-content;margin:0;padding:4px 16px;list-style:none}
.ke-dc-switcher a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 6px 5px;border:1px solid transparent;border-radius:12px;color:var(--ke-text-3);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-decoration:none;opacity:.62;transition:opacity .2s,background .2s}
.ke-dc-switcher a:hover,.ke-dc-switcher a:focus-visible{opacity:1;background:#ffffff0a}
.ke-dc-switcher a[aria-current=page]{opacity:1;border-color:color-mix(in srgb,var(--ta) 55%,transparent);background:color-mix(in srgb,var(--tc) 26%,transparent);color:#fff}
.ke-field-tabs{position:relative}
.ke-field-radio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ke-field-switch{display:inline-flex;gap:4px;margin:0 0 14px;padding:4px;border:1px solid var(--ke-hairline-strong);border-radius:999px;background:#0b0b0d}
.ke-field-switch label{padding:8px 20px;border-radius:999px;color:var(--ke-text-2);font-size:13.5px;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
#ke-unit-offense:checked~.ke-field-switch .is-offense,#ke-unit-defense:checked~.ke-field-switch .is-defense{background:linear-gradient(135deg,color-mix(in srgb,var(--tc) 80%,#fff 20%),var(--tc));color:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ta) 70%,transparent)}
.ke-field-radio:focus-visible~.ke-field-switch{outline:2px solid var(--ke-mint);outline-offset:3px}
#ke-mu-away:checked~.ke-field-switch .is-away,#ke-mu-home:checked~.ke-field-switch .is-home{background:linear-gradient(135deg,#2dfce633,#7c5cff33);color:#fff;box-shadow:inset 0 0 0 1px #2dfce666}
#ke-mu-away:checked~.ke-field-pane.is-away,#ke-mu-home:checked~.ke-field-pane.is-home{display:block}
.ke-field-pane{display:none}
#ke-unit-offense:checked~.ke-field-pane.is-offense,#ke-unit-defense:checked~.ke-field-pane.is-defense{display:block}
.ke-field{position:relative;isolation:isolate;aspect-ratio:2/1;border:1px solid #2dfce624;border-radius:22px;background:radial-gradient(110% 70% at 50% 0,color-mix(in srgb,var(--tc,#1b6f5f) 34%,transparent),transparent 62%),repeating-linear-gradient(180deg,#0e2619 0 10%,#0b1f15 10% 20%);box-shadow:0 34px 80px -46px #000,inset 0 0 140px #000000b0}
.ke-field.is-matchup{aspect-ratio:13/9;background:radial-gradient(90% 40% at 50% 0,color-mix(in srgb,var(--dtc,#7c5cff) 26%,transparent),transparent 70%),radial-gradient(90% 40% at 50% 100%,color-mix(in srgb,var(--otc,#1b6f5f) 30%,transparent),transparent 70%),repeating-linear-gradient(180deg,#0e2619 0 7.14%,#0b1f15 7.14% 14.28%);box-shadow:0 34px 80px -46px #000,inset 0 0 140px #000000b0}
.ke-field::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 calc(10% - 1px),#ffffff12 calc(10% - 1px) 10%)}
.ke-field::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(180deg,#ffffff1f 0 1px,transparent 1px 2%) 37% 0/10px 100% no-repeat,repeating-linear-gradient(180deg,#ffffff1f 0 1px,transparent 1px 2%) 63% 0/10px 100% no-repeat,repeating-linear-gradient(180deg,#ffffff17 0 1px,transparent 1px 2%) 1.2% 0/8px 100% no-repeat,repeating-linear-gradient(180deg,#ffffff17 0 1px,transparent 1px 2%) 98.8% 0/8px 100% no-repeat}
.ke-field-los{position:absolute;left:0;right:0;z-index:1;height:2px;background:linear-gradient(90deg,transparent,#2dfce6 18%,#2dfce6 82%,transparent);box-shadow:0 0 18px #2dfce699}
.ke-field.is-offense .ke-field-los{top:16.67%}.ke-field.is-defense .ke-field-los{top:83.33%}.ke-field.is-matchup .ke-field-los{top:50%}
.ke-field-los em{position:absolute;left:50%;padding:3px 10px;border:1px solid #2dfce655;border-radius:999px;background:#06120d;color:var(--ke-mint);font-size:9.5px;font-style:normal;font-weight:800;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transform:translate(-50%,-150%)}
.ke-field.is-defense .ke-field-los em{transform:translate(-50%,60%)}
.ke-field.is-matchup .ke-field-los em{display:none}
.ke-field-tag{position:absolute;z-index:2;padding:5px 10px;border:1px solid #ffffff1f;border-radius:10px;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ke-field-tag.is-team{left:12px;top:12px}.ke-field-tag.is-form{right:12px;top:12px;color:var(--ke-gold)}
.ke-field.is-defense .ke-field-tag{top:auto;bottom:12px}
.ke-field.is-matchup .ke-field-tag.is-team{top:auto;bottom:12px}.ke-field.is-matchup .ke-field-tag.is-def-team{left:12px;top:12px}
.ke-fp{position:absolute;z-index:3;left:clamp(30px,calc(var(--x) * 1%),calc(100% - 30px));display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%)}
.ke-field.is-offense .ke-fp{top:calc((var(--y) - 40) * 100% / 60)}
.ke-field.is-defense .ke-fp{top:calc(var(--y) * 100% / 60)}
.ke-field-unit{position:absolute;inset:0}
.ke-field.is-matchup .is-def .ke-fp{top:calc(var(--y) * .92%)}
.ke-field.is-matchup .is-off .ke-fp{top:calc(8% + var(--y) * .92%)}
.ke-field-cap{margin:0 0 8px 4px;color:var(--ke-text-3);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.ke-field-cap b{color:#fff;font-weight:800}
.ke-field-cap.is-off{margin:8px 0 0 4px}
.ke-fp:hover,.ke-fp:focus-within{z-index:9}
.ke-fp-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.ke-fp-btn:focus-visible{outline:none}.ke-fp-btn:focus-visible .ke-fp-disc{outline:2px solid #fff;outline-offset:3px}
.ke-fp-pos{padding:1px 6px;border:1px solid #ffffff1a;border-radius:6px;background:#000000b8;color:var(--ke-mint);font-size:10px;font-weight:800;letter-spacing:.06em;line-height:1.5}
.ke-fp-disc{position:relative;display:grid;flex:none;place-items:center;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 32% 24%,color-mix(in srgb,var(--tc,#1b6f5f) 62%,#fff 38%),var(--tc,#1b6f5f) 58%,color-mix(in srgb,var(--tc,#1b6f5f) 55%,#000));box-shadow:0 0 0 2px var(--ta,#2dfce6),0 0 0 4px #00000080,0 12px 24px -10px #000;transition:transform .2s}
.ke-fp-disc strong{color:#fff;font-family:var(--ke-display);font-size:20px;font-weight:700;line-height:1;text-shadow:0 1px 3px #000c;font-variant-numeric:tabular-nums}
.ke-fp-disc img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 12%;background:#0d0d10}
.ke-fp-num{position:absolute;right:-7px;bottom:-5px;min-width:21px;padding:1px 4px;border:1.5px solid var(--ta,#2dfce6);border-radius:999px;background:#0b0b0d;color:#fff;font-size:10px;font-weight:800;line-height:1.35;text-align:center;font-variant-numeric:tabular-nums}
.ke-fp-flag{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;width:18px;height:18px;border:2px solid #07130d;border-radius:50%;color:#0b0b0d;font-size:9.5px;font-style:normal;font-weight:900}
.ke-fp.is-out .ke-fp-disc{box-shadow:0 0 0 2px #ff6b6b,0 0 18px #ff6b6b70,0 12px 24px -10px #000}.ke-fp.is-out .ke-fp-flag{background:#ff6b6b}
.ke-fp.is-out .ke-fp-disc img,.ke-fp.is-out .ke-fp-disc strong{opacity:.55;filter:grayscale(.7)}
.ke-fp.is-doubtful .ke-fp-disc{box-shadow:0 0 0 2px #ffae57,0 0 16px #ffae5766,0 12px 24px -10px #000}.ke-fp.is-doubtful .ke-fp-flag{background:#ffae57}
.ke-fp.is-questionable .ke-fp-disc{box-shadow:0 0 0 2px #f5d06a,0 0 14px #f5d06a55,0 12px 24px -10px #000}.ke-fp.is-questionable .ke-fp-flag{background:#f5d06a}
.ke-fp-name{max-width:100px;padding:1px 6px;overflow:hidden;border-radius:6px;background:#000000b8;color:#fff;font-size:11.5px;font-weight:650;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}
.ke-fp-btn:hover .ke-fp-disc,.ke-fp-btn:focus-visible .ke-fp-disc{transform:translateY(-2px) scale(1.07)}
.ke-fp-card{position:absolute;top:calc(100% + 8px);left:50%;z-index:10;display:none;width:230px;padding:12px 14px;border:1px solid #ffffff21;border-radius:14px;background:#0b0c0ef2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 22px 50px -12px #000;color:var(--ke-text-2);font-size:12.5px;text-align:left;transform:translateX(-50%)}
.ke-fp.is-up .ke-fp-card{top:auto;bottom:calc(100% + 8px)}
.ke-fp.is-left .ke-fp-card{left:-8px;transform:none}.ke-fp.is-right .ke-fp-card{left:auto;right:-8px;transform:none}
.ke-fp:hover .ke-fp-card,.ke-fp:focus-within .ke-fp-card{display:block}
.ke-fp-card>strong{display:block;color:#fff;font-size:14px}
.ke-fp-card>small{display:block;margin-top:2px;color:var(--ke-text-3);font-size:11.5px}
.ke-fp-card-status{display:block;margin-top:8px;color:var(--ke-text-2)}
.ke-fp-card ol{display:grid;gap:3px;margin:10px 0 0;padding:8px 0 0 20px;border-top:1px solid var(--ke-hairline)}
.ke-fp-card ol b{color:var(--ke-text-3);font-size:11px}
.ke-fp-card em{display:block;margin-top:8px;color:var(--ke-text-3);font-style:normal}
.ke-field-extras{display:flex;flex-wrap:wrap;gap:6px 16px;margin:12px 2px 0;color:var(--ke-text-3);font-size:13px}
.ke-field-extras span{color:var(--ke-text-2)}.ke-field-extras b{color:var(--ke-mint);font-size:11.5px}
.ke-field-subhead{margin:26px 0 10px;color:var(--ke-text-3);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ke-field-special{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:8px;margin:0;padding:0;list-style:none}
.ke-field-special li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--ke-hairline);border-radius:14px;background:linear-gradient(180deg,#111114,#0a0a0c)}
.ke-field-special .ke-fp-disc{width:40px;height:40px}.ke-field-special .ke-fp-disc strong{font-size:15px}
.ke-field-special li>span:last-child{display:flex;flex-direction:column;min-width:0}
.ke-field-special li>span:last-child small{color:var(--ke-mint);font-size:10.5px;font-weight:800;letter-spacing:.08em}
.ke-field-special li>span:last-child strong{overflow:hidden;color:#fff;font-size:13.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.ke-field-special .is-out .ke-fp-flag{background:#ff6b6b}.ke-field-special .is-doubtful .ke-fp-flag{background:#ffae57}.ke-field-special .is-questionable .ke-fp-flag{background:#f5d06a}
.ke-dc-num{display:inline-block;min-width:24px;margin-right:4px;color:var(--ke-text-3);font-size:11.5px;font-style:normal;font-weight:700;font-variant-numeric:tabular-nums}
.ke-dc-num::before{content:"#"}
@media(prefers-reduced-motion:reduce){.ke-fp-disc,.ke-field-switch label,.ke-dc-switcher a{transition:none}}
.ke-dc-field-section{margin-top:28px}
@media(max-width:760px){
  .ke-fp{left:clamp(24px,calc(var(--x) * 1%),calc(100% - 24px))}
  .ke-field-special{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ke-field{aspect-ratio:10/11;border-radius:16px}
  .ke-field.is-matchup{aspect-ratio:10/16}
  .ke-field-switch{display:flex}.ke-field-switch label{flex:1;text-align:center}
  .ke-fp-btn{gap:2px}
  .ke-fp-disc{width:34px;height:34px;box-shadow:0 0 0 1.5px var(--ta,#2dfce6),0 0 0 3px #00000080,0 8px 16px -8px #000}
  .ke-fp-disc strong{font-size:13px}
  .ke-fp-pos{padding:0 4px;font-size:8.5px}
  .ke-fp-name{max-width:54px;padding:0 4px;font-size:9.5px}
  .ke-fp-flag{top:-3px;right:-3px;width:13px;height:13px;border-width:1.5px;font-size:7.5px}
  .ke-fp-num{right:-6px;bottom:-4px;min-width:16px;padding:0 3px;font-size:8.5px}
  .ke-fp-card{width:min(220px,70vw)}
  .ke-field-tag{padding:3px 7px;font-size:9px}
  .ke-field-los em{font-size:8px}
}
@media(max-width:760px){
  .ke-dc-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ke-dc-table,.ke-dc-table tbody{display:block}
  .ke-dc-table tbody tr{display:grid;grid-template-columns:48px repeat(2,minmax(0,1fr));gap:4px 10px;padding:11px 12px}
  .ke-dc-table tbody tr+tr>*{border-top:0}
  .ke-dc-table tbody tr+tr{border-top:1px solid var(--ke-hairline)}
  .ke-dc-table tbody th{grid-row:1/span 3;padding:2px 0 0;background:none}
  .ke-dc-table td{padding:0;font-size:13px}
  .ke-dc-table td:empty{display:none}
  .ke-dc-table td:nth-of-type(1){grid-column:2/-1;font-size:15px}
  .ke-dc-answer dd{font-size:15px}
  .ke-dc-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .ke-dc-totals li{flex-direction:column;gap:0;padding:10px 12px}
  .ke-dc-totals b{font-size:22px}
}
@media(max-width:760px){
  .ke-seo{padding-top:12px}
  .ke-seo-hero{padding:18px 0}
  .ke-seo-team-hero{align-items:flex-start;gap:14px}
  .ke-seo-matchup{flex-direction:column;align-items:flex-start;gap:10px}
  .ke-seo-at{display:none}
  .ke-seo-answer ul{font-size:15px}
  .ke-seo-section{margin-top:32px}
}

/* mobile_app.css */
/* Phone app shell (2026-10-16). Alok, after the marketing call: "a dedicated
   mobile UI for every page, like the best mobile UI in the world", KarmaCards
   "swiped like reels on Instagram", and a smaller hit-rate card in Prop
   Research. Loaded last on every page; every rule below sits under 761px, so
   tablets and desktop are unchanged. Markup: templates/_mobile_tabbar.html,
   customer_base.html (header CTA), karmacards.html (reels), customer_home.html.
   Behaviour: static/mobile_app.js. */
.ke-tabbar,.ke-sheet-backdrop,.ke-mobile-cta,.ke-reel-only,.ke-phone-only,.ke-reel-hint,.ke-reel-bar,.ke-swipe-dots,.ke-install,.ke-install-link,.ke-ios-sheet,
.ke-get-app,.ke-chip-row,.ke-filter-open,.ke-filter-head,.ke-filter-backdrop{display:none}

@media (max-width:760px){
  :root{--ke-head-h:58px;--ke-tab-h:62px;--ke-tab-gap:8px;--ke-safe-b:env(safe-area-inset-bottom,0px);
    --ke-bar-space:calc(var(--ke-tab-h) + var(--ke-tab-gap) + var(--ke-safe-b))}
  body{padding-bottom:calc(var(--ke-bar-space) + 6px)}
  /* Some page sheets hide sideways overflow on html and body; with both set, the body becomes its
     own scroll box and nothing sticky inside it sticks (the header, the Live Trends pager). Clip
     stops the sideways scroll without that. Browsers without clip keep the old rule. */
  html,body{overflow-x:clip}
  .ke-phone-only{display:revert}
  .ke-desk-only{display:none!important}

  /* ---------------------------------------------------------- header */
  .site-header{position:sticky;top:0;z-index:50;padding-top:env(safe-area-inset-top,0px)}
  .site-header .nav{min-height:var(--ke-head-h);gap:10px}
  .site-header .brand-logo{width:46px!important;height:auto!important}
  .site-header .nav-toggle{display:none!important}
  .ke-mobile-cta{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin-left:auto;padding:0 16px;border-radius:999px;
    background:linear-gradient(135deg,#2dfce6,#31fbb7);color:#03140f!important;font-size:.84rem;font-weight:800;letter-spacing:.01em;text-decoration:none;
    box-shadow:0 6px 22px #2dfce633,inset 0 1px 0 #ffffff80}
  .ke-mobile-cta.is-elite{background:linear-gradient(135deg,#f7b84a,#f2c14e);color:#241704!important;box-shadow:0 6px 22px #f2c14e33,inset 0 1px 0 #ffffff80}

  /* ---------------------------------------------------------- app bar */
  .ke-tabbar{position:fixed;left:10px;right:10px;bottom:calc(var(--ke-tab-gap) + var(--ke-safe-b));z-index:70;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:center;height:var(--ke-tab-h);padding:0 4px;border:1px solid #ffffff17;border-radius:24px;background:rgba(10,11,13,.82);
    -webkit-backdrop-filter:saturate(170%) blur(22px);backdrop-filter:saturate(170%) blur(22px);
    box-shadow:0 18px 50px #000000b3,inset 0 1px 0 #ffffff0f;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .28s}
  .ke-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:100%;min-width:0;padding:0;border:0;
    background:none;color:#8b9298;font:inherit;font-size:.64rem;font-weight:700;letter-spacing:.02em;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .ke-tab svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .ke-tab span{white-space:nowrap}
  .ke-tab:active{transform:scale(.94)}
  .ke-tab.is-current{color:#fff}
  .ke-tab.is-current:not(.ke-tab-hero)::before{content:"";position:absolute;top:5px;width:18px;height:3px;border-radius:999px;background:#2dfce6;box-shadow:0 0 12px #2dfce6}
  .ke-tab.is-current:not(.ke-tab-hero) svg{stroke:#2dfce6}
  .ke-tab-hero{gap:4px;color:#d9fff7}
  .ke-tab-hero i{display:grid;place-items:center;width:50px;height:50px;margin-top:-26px;border-radius:18px;
    background:linear-gradient(135deg,#2dfce6,#31fbb7);color:#03140f;box-shadow:0 10px 26px #2dfce655,0 0 0 4px #0a0b0d,inset 0 1px 0 #ffffffa0;
    animation:ke-hero-glow 3.2s ease-in-out infinite}
  .ke-tab-hero i svg{width:26px;height:26px;stroke-width:2}
  .ke-tab-hero.is-current span{color:#2dfce6}
  html.ke-bar-hidden .ke-tabbar{transform:translateY(calc(100% + var(--ke-tab-gap) + var(--ke-safe-b) + 12px));opacity:.4}

  /* "More": the header menu as a bottom sheet over a dimmed page */
  .ke-sheet-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:55;background:#000000a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ke-fade .2s both}
  .site-header .nav-links.open{position:fixed!important;top:auto!important;left:8px!important;right:8px!important;bottom:calc(var(--ke-bar-space) + 8px)!important;
    z-index:60!important;max-height:calc(100dvh - var(--ke-bar-space) - var(--ke-head-h) - 24px)!important;border-radius:24px!important;
    padding:14px 12px 12px!important;animation:ke-sheet-up .28s cubic-bezier(.2,.8,.2,1) both!important}
  .site-header .nav-links.open::before{content:"";order:-2;align-self:center;flex:none;width:40px;height:4px;margin:-4px 0 8px;border-radius:999px;background:#ffffff2e}
  html.ke-sheet-open{overflow:hidden}
  /* the header's blur would make it the sheet's containing block, and its layer sits under the backdrop */
  html.ke-sheet-open .site-header{z-index:65;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#000!important}

  /* Prop Research's player dock rides just above the app bar */
  .pr-dock{bottom:calc(var(--ke-bar-space) + 6px)!important;left:10px!important;right:10px!important;padding:7px 8px!important;border:1px solid #ffffff17!important;
    border-radius:18px;box-shadow:0 14px 40px #000000a6;transition:bottom .28s cubic-bezier(.2,.8,.2,1)}
  html.ke-bar-hidden .pr-dock{bottom:calc(8px + var(--ke-safe-b))!important}
  body:has(.pr-dock){padding-bottom:calc(var(--ke-bar-space) + 84px)}

  /* ---------------------------------------------------------- Prop Research: compact hit rate */
  .prop-research .pr-strip{gap:10px!important;padding:12px!important}
  .pr-hit{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"value label" "value meter" "value note";align-items:center;column-gap:14px;row-gap:3px;padding:10px 14px!important;border-radius:14px}
  .pr-hit strong{grid-area:value;flex-direction:column;align-items:flex-start;gap:1px;font-size:1.72rem!important}
  .pr-hit strong small{font-size:.7rem!important}
  .pr-hit-label{grid-area:label;font-size:.6rem!important;letter-spacing:.06em}
  .pr-hit-meter{grid-area:meter;height:5px!important;margin-top:2px!important}
  .pr-implied{grid-area:note;font-size:.7rem!important;line-height:1.3}
  .prop-research .pr-strip .pr-keystats{gap:6px!important}
  .prop-research .pr-strip .pr-keystats>*{padding:6px 8px!important;border-radius:11px}
  .pr-keystats dt{font-size:.56rem!important;letter-spacing:.05em}
  .pr-strip .pr-keystats dd{justify-content:center;flex-wrap:wrap;gap:0 4px!important;font-size:.98rem!important}
  .pr-strip .pr-keystats dd small{font-size:.6rem!important}
  .prop-research .pr-strip .pr-tiles{flex-wrap:nowrap!important;overflow-x:auto;padding-top:8px!important;scrollbar-width:none}
  .prop-research .pr-strip .pr-tiles::-webkit-scrollbar{display:none}
  .prop-research .pr-strip .pr-tiles>*{flex:none}
  .prop-research .pr-strip .pr-stat{padding:4px 9px!important}

  /* ---------------------------------------------------------- KarmaCards reels */
  html.ke-reel-mode,html:has(.karmacards-section.is-reel){--ke-reel-bar-h:50px;scroll-snap-type:y mandatory;scroll-behavior:auto}
  html:has(.karmacards-section.is-reel) .site-footer{scroll-snap-align:start}
  .karmacards-hub:has(.is-reel){width:calc(100% - 20px)!important;padding-top:0!important}
  .karmacards-hub:has(.is-reel)>.page-hero{position:sticky!important;top:var(--ke-head-h);z-index:40;display:flex;align-items:center;gap:10px;min-height:var(--ke-reel-bar-h);
    margin:0 -10px!important;padding:6px 12px!important;border:0!important;border-radius:0!important;overflow:visible!important;
    background:linear-gradient(180deg,#000 72%,#0000)!important;box-shadow:none!important}
  .karmacards-hub:has(.is-reel)>.page-hero::before,.karmacards-hub:has(.is-reel)>.page-hero::after,
  .karmacards-hub:has(.is-reel)>.page-hero>.eyebrow,.karmacards-hub:has(.is-reel)>.page-hero>.lede{display:none!important}
  .karmacards-hub:has(.is-reel)>.page-hero h1{margin:0!important;font-size:21px!important;letter-spacing:-.02em}
  .karmacards-hub:has(.is-reel) .ke-reel-bar{display:flex;align-items:center;gap:8px;margin-left:auto}
  .ke-reel-live{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid #31fbb740;border-radius:999px;background:#31fbb712;color:#7dfde3;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
  .ke-reel-live i{width:7px;height:7px;border-radius:50%;background:#31fbb7;box-shadow:0 0 10px #31fbb7;animation:ke-pulse 2s ease-in-out infinite}
  .ke-reel-count{min-width:44px;color:#a1a7ad;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}
  .ke-reel-filter{min-height:32px;padding:0 13px;border:1px solid #ffffff1f;border-radius:999px;background:#ffffff0a;color:#fff;font:inherit;font-size:.78rem;font-weight:700}
  .ke-reel-filter[aria-expanded=true]{border-color:#2dfce6;color:#2dfce6}
  .karmacards-hub:has(.is-reel) .ke-karmacards-elite{display:none!important}
  .karmacards-hub:has(.is-reel) .karmacards-filter-panel{display:none!important}
  .karmacards-hub:has(.is-reel) .karmacards-filter-panel.is-open{display:block!important;margin:4px 0 10px!important;scroll-snap-align:start;scroll-margin-top:calc(var(--ke-head-h) + var(--ke-reel-bar-h))}
  .karmacards-hub .karmacards-section.is-reel>:is(.section-head,.ke-live-availability,.ke-feature-filter-note){display:none!important}
  .karmacards-section.is-reel{margin:0!important;padding:0!important}
  .karmacards-section.is-reel .karmacard-grid{display:block!important}
  .karmacards-section.is-reel .karmacard-grid>.ke-showcase-locked{display:none!important}
  .karmacards-section.is-reel [data-ke-reel-slide]{position:relative;display:flex;flex-direction:column;
    height:calc(100svh - var(--ke-head-h) - var(--ke-reel-bar-h) - var(--ke-bar-space) - 4px);min-height:520px;padding:4px 0 12px;
    scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:calc(var(--ke-head-h) + var(--ke-reel-bar-h))}

  /* one card, full screen */
  .is-reel .karmacard{flex:1;min-height:0;justify-content:space-between;gap:10px!important;padding:16px 16px 14px!important;border-radius:28px!important;
    background:radial-gradient(130% 60% at 50% 0,#2dfce624,transparent 62%),radial-gradient(90% 50% at 50% 100%,#f2c14e10,transparent 70%),linear-gradient(180deg,#111215,#060607)!important;
    box-shadow:0 24px 60px #000000b3,inset 0 1px 0 #ffffff12!important;transform:none!important}
  .is-reel .karmacard-topline{padding-right:58px}
  .is-reel .karmacard-player-row{flex-direction:column;align-items:center!important;gap:8px!important;text-align:center}
  .is-reel .karmacard-player-row .ke-asset{width:min(118px,15svh)!important;height:min(118px,15svh)!important;border-radius:50%!important;
    box-shadow:0 0 0 3px #0b0b0d,0 0 0 5px #2dfce6b3,0 18px 46px #2dfce638!important}
  .is-reel .karmacard-player-row h3{font-size:clamp(22px,3.4svh,28px)!important}
  .is-reel .karmacard-player-row>div{display:flex;flex-direction:column;align-items:center}
  .is-reel .ke-research-rank{justify-content:center}
  .is-reel .karmacard-projection-band strong{font-size:clamp(20px,3.2svh,26px)!important}
  .is-reel .karmacard-footer{margin:0 -2px!important;padding:0!important;border:0!important}
  .is-reel .karmacard-footer>span{display:none}
  .is-reel .karmacard-footer strong{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;border-radius:16px;
    background:linear-gradient(135deg,#2dfce6,#31fbb7);color:#03140f!important;font-size:15px;box-shadow:0 10px 30px #2dfce633}
  /* share sits on the right like a reel's action rail */
  .is-reel .karmacard-shell>.karmacard-share{position:absolute!important;top:16px;right:12px;z-index:5;display:grid!important;place-items:center;width:46px!important;height:46px!important;
    min-height:0!important;padding:0!important;border-radius:50%!important;font-size:0!important;background:#ffffffd9!important;color:#000!important;box-shadow:0 8px 24px #0009}
  .is-reel .karmacard-shell>.karmacard-share svg{width:18px;height:18px}
  .ke-reel-hint{display:inline-flex;align-self:center;align-items:center;gap:7px;margin:-2px 0 -4px;color:#7dfde3;font-size:.74rem;font-weight:700;
    animation:ke-hint 1.8s ease-in-out infinite;transition:opacity .3s}
  .ke-reel-hint i{width:9px;height:9px;border-top:2px solid currentColor;border-left:2px solid currentColor;transform:rotate(45deg);margin-top:4px}
  .ke-reel-hint.is-gone{opacity:0}
  /* the Elite slide and the end slide */
  .is-reel .ke-reel-only{display:flex}
  .ke-reel-panel{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 22px;border:1px solid #ffffff14;border-radius:28px;text-align:center;overflow:hidden;
    background:radial-gradient(120% 70% at 50% 0,#f2c14e1f,transparent 60%),linear-gradient(180deg,#111215,#060607)}
  .ke-reel-panel>strong{color:#fff;font-family:var(--ke-display);font-size:26px;line-height:1.15;letter-spacing:-.02em}
  .ke-reel-panel>p{max-width:290px;margin:0;color:#a1a7ad;font-size:14px;line-height:1.5}
  .ke-reel-panel>small{color:#6d7379;font-size:12px}
  .ke-reel-panel>small a{color:#a1a7ad}
  .ke-reel-panel .button{width:100%;max-width:300px;min-height:50px;font-size:15px}
  .ke-reel-ghosts{position:relative;width:180px;height:150px;margin-bottom:6px}
  .ke-reel-ghosts i{position:absolute;inset:0;border:1px solid #ffffff1a;border-radius:20px;background:linear-gradient(180deg,#1b1c20,#0c0c0e);filter:blur(.4px)}
  .ke-reel-ghosts i:nth-child(1){transform:rotate(-9deg) translate(-26px,8px);opacity:.55}
  .ke-reel-ghosts i:nth-child(2){transform:rotate(8deg) translate(26px,6px);opacity:.7}
  .ke-reel-ghosts i:nth-child(3){display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#f2c14e33,transparent 60%),linear-gradient(180deg,#1d1e22,#0d0d10)}
  .ke-reel-ghosts i:nth-child(3)::after{content:"🔒";font-size:34px;font-style:normal}
  .ke-reel-end .ke-reel-panel{background:radial-gradient(120% 70% at 50% 0,#2dfce61f,transparent 60%),linear-gradient(180deg,#111215,#060607)}
  .ke-reel-check{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#2dfce6,#31fbb7);color:#03140f;font-size:30px;font-weight:900;box-shadow:0 12px 34px #2dfce640}
  .ke-reel-links{display:grid;width:100%;max-width:300px;gap:8px}
  .ke-reel-links a{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #ffffff1f;border-radius:14px;background:#ffffff08;color:#fff;font-weight:700;text-decoration:none}
  /* the free game card, when no prop card is on the board */
  .is-reel .ke-free-game-slide{gap:8px}
  .is-reel .hero-free-game-karmacard{text-align:center}
  .is-reel .hero-free-game-karmacard .karmacard-topline{padding-right:0}
  .is-reel .hero-free-game-karmacard .top-karmaedge-game-assets{display:flex!important;justify-content:center;align-items:center;gap:22px!important;padding:8px 0!important}
  .is-reel .hero-free-game-karmacard .top-karmaedge-game-assets>span{display:flex;flex-direction:column;align-items:center;gap:6px}
  .is-reel .hero-free-game-karmacard .top-karmaedge-game-assets .ke-asset{width:min(76px,10svh)!important;height:min(76px,10svh)!important;border-radius:22px!important}
  .is-reel .hero-free-game-karmacard .top-karmaedge-game-assets b{font-size:18px}
  .is-reel .hero-free-game-karmacard .top-karmaedge-game-assets i{color:#6d7379;font-style:normal;font-weight:800}
  .is-reel .hero-free-game-karmacard h3{font-size:clamp(20px,3svh,24px)!important}
  .is-reel .hero-free-game-karmacard .hero-free-slate{margin:0;color:#a1a7ad;font-size:12.5px}
  .ke-free-game-note{margin:0 6px;color:#8b9298;font-size:12px;line-height:1.45;text-align:center}
  @media (max-height:700px){
    .is-reel .karmacard{gap:7px!important;padding:12px 14px!important}
    .is-reel .karmacard-matchup small{display:none}
  }

  /* ---------------------------------------------------------- Home: a short, swipeable phone page */
  /* Order for a phone: pitch, today's card, every tool, sports, plans, then the detail. */
  .ke-home{display:flex;flex-direction:column}
  .ke-home>.karmaedge-hero{order:0}.ke-home>.ke-proof-strip{order:1}.ke-home>.ke-bento-section{order:2}.ke-home>.ke-sports{order:3}
  .ke-home>.homepage-pricing{order:4}.ke-home>.prop-showcase{order:5}.ke-home>.machine-intro{order:6}.ke-home>.ke-faq{order:7}
  .ke-home>.trust-preview{order:8}.ke-home>.final-karmaedge-cta{order:9}
  .ke-home>.free-products-home{display:none!important} /* the same four free tools are the first cards in the swipe row above */
  .ke-home>section:not(.karmaedge-hero):not(.ke-proof-strip){padding-top:30px!important;padding-bottom:6px!important}
  .ke-home .ke-section-head{margin-bottom:14px!important;text-align:left!important}
  .ke-home .ke-section-head h2{font-size:25px!important;line-height:1.12!important;letter-spacing:-.025em}
  .ke-home .ke-section-head .lede,.ke-home .ke-section-head .machine-subtitle,.ke-home .ke-section-head .free-products-copy{display:none}
  .ke-home .ke-section-head .eyebrow{margin-bottom:6px}

  /* hero */
  .karmaedge-hero{padding:14px 0 6px!important;min-height:0!important}
  .karmaedge-hero .ke-hero-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  .karmaedge-hero .ke-hero-copy,.karmaedge-hero .hero-karmacards{min-width:0;max-width:100%}
  .karmaedge-hero .ke-pill-soon{display:none!important}
  .karmaedge-hero h1{margin:12px 0 0!important;font-size:clamp(30px,8.6vw,36px)!important;line-height:1.04!important;letter-spacing:-.035em!important}
  .karmaedge-hero .hero-subhead{margin:8px 0 0!important;font-size:16px!important}
  .karmaedge-hero .hero-value-copy{margin:4px 0 0!important;font-size:14.5px!important}
  .karmaedge-hero .hero-primary-actions{display:grid!important;grid-template-columns:1fr;gap:9px;margin:16px 0 12px!important}
  .karmaedge-hero .hero-primary-actions .button{width:100%;min-height:52px!important;font-size:16px!important}
  .karmaedge-hero .ke-also-free{display:flex!important;flex-wrap:nowrap!important;gap:8px;margin:0 -16px!important;padding:0 16px 2px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;font-size:0!important}
  .karmaedge-hero .ke-also-free::-webkit-scrollbar{display:none}
  .karmaedge-hero .ke-also-free a{flex:none;display:inline-flex;align-items:center;min-height:36px;margin:0!important;padding:0 14px;border:1px solid #ffffff1c;border-radius:999px;
    background:#ffffff08;color:#e6e9ec!important;font-size:13px!important;font-weight:650;text-decoration:none!important}
  .karmaedge-hero .ke-also-free a::after{display:none!important}
  .karmaedge-hero .hero-legal-disclaimer{margin-top:10px!important;font-size:11.5px!important}
  .karmaedge-hero .hero-karmacards{margin:0!important}
  .karmaedge-hero .hero-karmacards .ke-frame-bar{display:none!important}

  /* swipe rows: one card in view, the next one peeking */
  .ke-home [data-ke-swipe]{display:flex!important;flex-wrap:nowrap!important;gap:12px!important;margin:0 -16px!important;padding:4px 16px 6px!important;
    overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 16px;scrollbar-width:none;grid-template-columns:none!important}
  .ke-home [data-ke-swipe]::-webkit-scrollbar{display:none}
  .ke-home [data-ke-swipe]>*:not([aria-hidden=true]){flex:0 0 84%!important;max-width:none!important;min-width:0;margin:0!important;scroll-snap-align:start}
  .ke-home [data-ke-swipe]>[aria-hidden=true]{display:none!important}
  .ke-home .machine-stages>article{flex-basis:72%!important}
  .ke-home .pricing-grid[data-ke-swipe]{align-items:flex-start!important}
  .ke-home .pricing-grid[data-ke-swipe]>*{flex-basis:86%!important;height:auto!important;min-height:0!important}
  .ke-swipe-dots{display:flex;justify-content:center;gap:6px;margin:10px 0 0}
  .ke-swipe-dots i{width:6px;height:6px;border-radius:999px;background:#ffffff2b;transition:width .25s,background .25s}
  .ke-swipe-dots i.is-on{width:20px;background:#2dfce6;box-shadow:0 0 10px #2dfce680}

  /* the detail sections, tighter */
  .ke-home .prop-showcase .ke-split-grid{gap:16px!important}
  .ke-home .prop-showcase .lede{font-size:14px!important}
  .ke-home .ke-trust{gap:12px!important;padding:18px!important}
  .ke-home .ke-research-links{gap:8px!important}
  .ke-home .ke-final{padding:24px 18px!important}
  .ke-home .ke-final .actions{display:grid!important;gap:9px}
  .ke-home .ke-final .actions .button{width:100%}

  /* ---------------------------------------------------------- Add to Home Screen */
  .ke-install:not([hidden]){position:fixed;left:12px;right:12px;bottom:calc(var(--ke-bar-space) + 10px);z-index:68;display:flex;align-items:center;gap:12px;
    padding:10px 10px 10px 12px;border:1px solid #2dfce640;border-radius:20px;background:linear-gradient(135deg,#0d1a19f2,#0a0b0df2);
    -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 44px #000000c0,0 0 0 1px #2dfce614 inset;
    opacity:0;transform:translateY(16px);transition:opacity .26s ease,transform .26s cubic-bezier(.2,.8,.2,1)}
  .ke-install.is-in{opacity:1;transform:none}
  html.ke-bar-hidden .ke-install{bottom:calc(10px + var(--ke-safe-b))}
  .ke-install img{flex:none;width:46px;height:46px;border-radius:12px;box-shadow:0 6px 18px #2dfce633}
  .ke-install-copy{display:grid;flex:1;min-width:0;gap:1px}
  .ke-install-copy strong{color:#fff;font-size:15px;line-height:1.2}
  .ke-install-copy small{color:#a1a7ad;font-size:12px}
  .ke-install-go{flex:none;min-height:38px;padding:0 16px;border:0;border-radius:999px;background:linear-gradient(135deg,#2dfce6,#31fbb7);color:#03140f;font:inherit;font-size:14px;font-weight:800}
  .ke-install-x{display:grid;place-items:center;flex:none;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#ffffff12;color:#a1a7ad}
  .ke-install-x svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
  .site-header .nav-links.open>.ke-install-link:not([hidden]){display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:4px 0 2px;border:1px solid #2dfce655;
    border-radius:14px;background:#2dfce612;color:#7dfde3;font:inherit;font-size:15px;font-weight:700}
  .ke-ios-sheet:not([hidden]){position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;padding:12px 12px calc(16px + var(--ke-safe-b));
    background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:ke-fade .2s both}
  .ke-ios-panel{display:grid;justify-items:center;gap:12px;width:100%;max-width:420px;padding:22px 18px 16px;border:1px solid #ffffff1c;border-radius:26px;background:#0d0e11;
    box-shadow:0 30px 80px #000;animation:ke-sheet-up .28s cubic-bezier(.2,.8,.2,1) both}
  .ke-ios-panel>img{width:64px;height:64px;border-radius:16px;box-shadow:0 10px 30px #2dfce640}
  .ke-ios-panel>strong{color:#fff;font-family:var(--ke-display);font-size:20px;text-align:center}
  .ke-ios-panel ol{display:grid;gap:10px;width:100%;margin:0;padding:0;list-style:none}
  .ke-ios-panel li{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid #ffffff12;border-radius:16px;background:#ffffff06;color:#d6dade;font-size:14.5px;line-height:1.4}
  .ke-ios-n{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#2dfce61a;color:#2dfce6;font-size:14px}
  .ke-ios-panel em{color:#fff;font-style:normal;font-weight:700}
  .ke-ios-glyph{width:20px;height:20px;margin:0 2px -4px;fill:none;stroke:#2dfce6;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .ke-ios-done{width:100%;min-height:50px;border:0;border-radius:16px;background:linear-gradient(135deg,#2dfce6,#31fbb7);color:#03140f;font:inherit;font-size:15px;font-weight:800}
  html.ke-ios-open{overflow:hidden}
  /* inside the installed app: room under the iPhone status bar */
  html.ke-standalone .site-header{padding-top:max(env(safe-area-inset-top,0px),6px)}

  /* ================================================== Phase 2 (2026-10-16): from the competitor teardown */
  /* header: "App" sits beside Start free wherever the phone can install */
  .ke-get-app:not([hidden]){display:inline-flex;align-items:center;gap:5px;min-height:36px;margin-left:auto;padding:0 12px 0 9px;border:1px solid #2dfce655;border-radius:999px;
    background:#2dfce612;color:#7dfde3;font:inherit;font-size:.8rem;font-weight:800;-webkit-tap-highlight-color:transparent}
  .ke-get-app svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .ke-get-app:not([hidden])+.ke-mobile-cta{margin-left:0}

  /* Home first screen: sports, the headline, today's card, then the buttons */
  .karmaedge-hero{margin-top:0!important}
  .karmaedge-hero .ke-hero-grid{display:flex!important;flex-direction:column;gap:0!important;padding-top:12px!important}
  .karmaedge-hero .ke-hero-copy{display:contents}
  .karmaedge-hero .ke-sport-chips{order:0;display:flex!important;gap:8px;margin:0 -16px 4px!important;padding:0 16px 2px;overflow-x:auto;scrollbar-width:none}
  .karmaedge-hero .ke-sport-chips::-webkit-scrollbar{display:none}
  .ke-sport-chips a{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px;border:1px solid #ffffff1c;border-radius:999px;background:#ffffff0a;
    color:#e6e9ec!important;font-size:13.5px;font-weight:700;text-decoration:none!important;-webkit-tap-highlight-color:transparent}
  .ke-sport-chips a i{width:8px;height:8px;border-radius:50%;background:var(--chip,#2dfce6);box-shadow:0 0 8px var(--chip,#2dfce6)}
  .ke-sport-chips a.is-hot{border-color:#2dfce655;background:#2dfce614;color:#7dfde3!important}
  .ke-sport-chips a:active{transform:scale(.96)}
  .karmaedge-hero .hero-brand-label,.karmaedge-hero .hero-value-copy{display:none!important}
  .karmaedge-hero h1{order:1;font-size:clamp(26px,7.4vw,31px)!important}
  .karmaedge-hero .hero-subhead{order:2}
  .karmaedge-hero .hero-karmacards{order:3;margin:14px 0 0!important}
  .karmaedge-hero .hero-primary-actions{order:4;margin:14px 0 10px!important}
  .karmaedge-hero .ke-cta-note{order:5;margin:0!important;color:#a1a7ad;font-size:12.5px;text-align:center}
  .karmaedge-hero .ke-live-counts{order:6;display:flex!important;align-items:center;justify-content:center;gap:7px;margin:6px 0 12px!important;color:#7dfde3;font-size:12px;font-weight:650;line-height:1.35;text-align:center}
  .ke-live-counts i{flex:none;width:7px;height:7px;border-radius:50%;background:#31fbb7;box-shadow:0 0 10px #31fbb7;animation:ke-pulse 2s ease-in-out infinite}
  .karmaedge-hero .ke-also-free{order:7}
  .karmaedge-hero .hero-legal-disclaimer{order:8;text-align:center}
  /* today's card, compact: one glance, not a page */
  .ke-home .karmaedge-hero .hero-karmacards .ke-frame-body{padding:12px!important}
  .ke-home .karmaedge-hero .hero-karmacards-head{gap:6px 8px;margin-bottom:10px!important}
  .ke-home .karmaedge-hero .hero-karmacards-head .eyebrow{display:none}
  .ke-home .karmaedge-hero .hero-karmacards-head h2{flex-basis:auto;order:-1;margin:0 auto 0 0!important;font-size:19px!important}
  .ke-home .karmaedge-hero .hero-free-karmacard{gap:8px!important;padding:12px 14px!important}
  .ke-home .karmaedge-hero .hero-free-game-karmacard .karmacard-method-state{display:none!important} /* the score is already in the band above it */
  .ke-home .karmaedge-hero .hero-free-game-karmacard .top-karmaedge-game-assets{display:flex!important;align-items:center;gap:10px!important;padding:0!important}
  .ke-home .karmaedge-hero .hero-free-game-karmacard .top-karmaedge-game-assets>span{display:inline-flex;align-items:center;gap:7px}
  .ke-home .karmaedge-hero .hero-free-game-karmacard .top-karmaedge-game-assets .ke-asset{width:34px!important;height:34px!important}
  .ke-home .karmaedge-hero .hero-free-game-karmacard h3{font-size:18px!important;line-height:1.2!important}
  .ke-home .karmaedge-hero .hero-free-player .ke-asset{width:48px!important;height:48px!important}
  .ke-home .karmaedge-hero .hero-free-player h3{font-size:20px!important}
  .ke-home .karmaedge-hero .karmacard-projection-band{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ke-home .karmaedge-hero .karmacard-projection-band>span:first-child{grid-column:1/-1!important;flex-direction:row!important;align-items:baseline;justify-content:space-between;
    border-bottom:1px solid var(--ke-hairline)!important}
  .ke-home .karmaedge-hero .karmacard-projection-band>span:nth-child(2){border-left:0!important}
  .ke-home .karmaedge-hero .karmacard-projection-band>span:first-child strong{text-align:right}
  .ke-home .karmaedge-hero .hero-karmacards .ke-research-rank{padding:9px 14px!important}
  .ke-home .karmaedge-hero .hero-karmacards .ke-rank-score strong{font-size:30px!important;line-height:1!important}
  .ke-home .karmaedge-hero .karmacard-projection-band>span{gap:4px!important;padding:8px 12px!important}
  .ke-home .karmaedge-hero .karmacard-projection-band strong{font-size:18px!important}
  .ke-home .karmaedge-hero .hero-karmacards-cta{display:none!important} /* the big button right under the card goes to the same place */

  /* Filters in a bottom sheet (static/mobile_app.js): the search stays, the rest is one tap away */
  form[data-ke-filter-sheet]:not(.is-sheet){display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:8px!important}
  form[data-ke-filter-sheet]:not(.is-sheet)>:not([data-ke-sheet-keep]):not(.ke-filter-open){display:none!important}
  form[data-ke-filter-sheet]:not(.is-sheet)>[data-ke-sheet-keep]{flex:1 1 0%!important;max-width:none!important;min-width:0}
  /* (the page's own form-button styles must not reach these two) */
  form[data-ke-filter-sheet] button.ke-filter-open{position:relative;display:inline-flex;flex:none!important;align-items:center;gap:7px;width:auto!important;height:40px!important;margin:0!important;
    padding:0 14px!important;border:1px solid #ffffff24!important;border-radius:12px!important;background:#ffffff0a!important;color:#fff!important;font:inherit;font-size:13.5px!important;
    font-weight:700!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}
  .ke-filter-open svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .ke-filter-open b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#2dfce6;color:#03140f;font-size:11px}
  form.is-sheet{position:fixed!important;left:8px!important;right:8px!important;top:auto!important;bottom:calc(8px + var(--ke-safe-b))!important;z-index:73!important;
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;max-width:none!important;max-height:min(82dvh,640px);margin:0!important;
    padding:12px 16px 16px!important;overflow:auto;overscroll-behavior:contain;border:1px solid #ffffff1c!important;border-radius:26px!important;background:#0d0e11!important;
    box-shadow:0 30px 80px #000!important;animation:ke-sheet-up .28s cubic-bezier(.2,.8,.2,1) both}
  form.is-sheet>*{grid-column:1/-1!important;width:100%!important;max-width:none!important;flex:none!important}
  form.is-sheet>.ke-filter-open{display:none!important}
  form.is-sheet>.ke-filter-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 2px}
  form.is-sheet>.ke-filter-head::before{content:"";position:absolute;top:7px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:999px;background:#ffffff2e}
  .ke-filter-head strong{color:#fff;font-family:var(--ke-display);font-size:19px}
  form[data-ke-filter-sheet] button.ke-filter-done{flex:none!important;width:auto!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0 14px!important;border:0!important;
    border-radius:999px!important;background:#ffffff12!important;color:#fff!important;font:inherit;font-size:13.5px!important;font-weight:700!important;box-shadow:none!important}
  form.is-sheet label{color:#a1a7ad!important;font-size:11px!important}
  form.is-sheet label>span{position:static!important;width:auto!important;height:auto!important;margin:0 0 5px;clip:auto!important;overflow:visible!important;display:block}
  .ke-odds-filters.is-sheet label{color:#a1a7ad!important;font-size:11px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  form.is-sheet :is(select,input){height:46px!important;font-size:16px!important}
  form.is-sheet :is(button[type=submit],.button){width:100%!important;height:50px!important;min-height:50px!important;font-size:15px!important}
  form.is-sheet .prop-odds-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .ke-filter-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:72;background:#000000a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ke-fade .2s both}
  html.ke-filters-open{overflow:hidden}
  /* a blurred or raised parent would trap the sheet under the backdrop */
  html.ke-filters-open :has(form.is-sheet){z-index:auto!important;isolation:auto!important;transform:none!important;filter:none!important;
    contain:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

  /* one-tap chips built from a select (Player Prop Odds markets) */
  .ke-chip-row{position:relative;display:flex;gap:7px;margin:10px -16px 4px;padding:0 16px 2px;overflow-x:auto;scrollbar-width:none}
  .ke-chip-row::-webkit-scrollbar{display:none}
  .ke-chip-row a{flex:none;display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border:1px solid #ffffff1c;border-radius:999px;background:#ffffff08;
    color:#d6dade!important;font-size:13px;font-weight:650;text-decoration:none!important;white-space:nowrap}
  .ke-chip-row a[aria-current]{border-color:#2dfce6;background:#2dfce61a;color:#7dfde3!important}

  /* Live Odds: a compact status, the board straight after */
  .ke-odds-hero{gap:12px!important;margin:4px 0 12px!important}
  .ke-odds-hero h1{margin:6px 0 6px!important;font-size:29px!important}
  .ke-odds-hero p{font-size:13.5px!important;line-height:1.45!important}
  .ke-odds-live{flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:6px 10px!important;padding:12px 14px!important;border-radius:18px!important}
  .ke-odds-live .ke-live-pill{align-self:center;font-size:10.5px!important}
  .ke-odds-live>strong{margin:0!important;font-size:14px!important}
  .ke-odds-live>small{flex-basis:100%;font-size:11.5px!important}
  .ke-odds-live .ke-odds-stats{flex-basis:100%;margin:2px 0 0!important}
  .ke-odds-stats>div{display:flex;flex-direction:column;justify-content:space-between;padding:7px 10px!important}
  .ke-odds-stats dt{font-size:9px!important;letter-spacing:.08em!important}
  .ke-odds-stats dd{margin-top:2px!important;font-size:17px!important}
  .ke-odds-toolbar{gap:8px!important;padding:8px!important}
  .ke-odds-toolbar .ke-seg{overflow-x:auto;scrollbar-width:none}
  .ke-odds-toolbar .ke-odds-filters{flex:1 1 100%!important}
  .ke-odds-toolbar .ke-odds-filters input{height:40px!important}
  /* the legend: the three rules side by side; the note below still says what "best" means */
  .ke-odds-legend{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important;margin:0 0 14px!important;font-size:11.5px!important}
  .ke-odds-legend .legend-up{display:none} /* the note says "fresh … eligible sportsbooks" too */
  .ke-odds-legend .legend-best{grid-column:2/-1}
  .ke-odds-legend>span:not(.legend-best):not(.legend-up){display:flex;flex-direction:column;gap:2px;min-width:0;padding:7px 8px;border:1px solid var(--ke-hairline);
    border-radius:10px;font-size:10.5px;line-height:1.25}
  .ke-odds-legend small{grid-column:1/-1;font-size:10.5px!important;line-height:1.4}

  /* Player Prop Odds: the board, not the banner */
  .player-prop-hero{gap:12px!important;margin-bottom:10px!important;padding:16px!important}
  .player-prop-hero h1{margin:6px 0 6px!important;font-size:28px!important}
  .player-prop-hero .lede{font-size:13.5px!important;line-height:1.45!important}
  .player-prop-hero .prop-odds-summary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important;margin-top:12px!important}
  .player-prop-hero .prop-odds-summary span{display:flex;flex-direction:column;align-items:center;padding:7px 4px!important;border-radius:12px!important;font-size:10.5px!important;line-height:1.2;text-align:center}
  .player-prop-hero .prop-odds-summary strong{margin:0 0 2px!important;font-size:18px!important}
  .player-prop-hero .prop-odds-freshness{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px!important;padding:12px 14px!important}
  .player-prop-hero .prop-odds-freshness>*{grid-column:1/-1;margin:0!important}
  .player-prop-hero .prop-odds-freshness>.prop-odds-state{grid-column:1}
  .player-prop-hero .prop-odds-freshness>.prop-odds-state+strong{grid-column:2;font-size:13px!important;line-height:1.35}
  .player-prop-hero .prop-odds-freshness small{font-size:11.5px!important}
  .player-prop-hero .prop-odds-freshness a{margin-top:2px!important;font-size:12.5px!important}
  .prop-odds-controls:not(.is-sheet){padding:8px!important}
  .prop-odds-controls:not(.is-sheet)>[data-ke-sheet-keep]{font-size:0!important}
  .prop-odds-controls:not(.is-sheet)>[data-ke-sheet-keep] input{height:40px!important;font-size:15px!important}
  .free-player-market-card{padding:14px!important}
  .free-player-market-card .market-card-player-art .ke-asset{width:52px!important;height:52px!important}

  /* Live Trends: leagues and Filters on one row */
  .ke-trends .ke-trends-hero h1{font-size:29px!important}
  .ke-trends .ke-trends-hero .lede{font-size:13.5px!important;line-height:1.45!important}
  .ke-trends .ke-trends-toolbar{flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important}
  .ke-trends .ke-trends-toolbar .ke-seg{flex:1 1 0;min-width:0;overflow-x:auto;scrollbar-width:none}
  .ke-trends .ke-trends-toolbar .live-trends-filter-panel[open]{flex-basis:100%!important}
  .ke-trends .ke-trends-toolbar .live-trends-filter-panel .live-trends-filters:not(.is-sheet){padding:0!important;border:0!important;background:none!important}
  /* the pager floats above the app bar */
  .ke-trends .live-trends-pagination.has-pages{bottom:calc(var(--ke-bar-space) + 8px);gap:8px;margin:12px 0 0;padding:6px 6px 6px 14px;font-size:12px;
    transition:bottom .28s cubic-bezier(.2,.8,.2,1)}
  .ke-trends .live-trends-pagination.has-pages a{min-height:38px;padding:0 14px}
  html.ke-bar-hidden .ke-trends .live-trends-pagination.has-pages{bottom:calc(10px + var(--ke-safe-b))}
  html.ke-install-open .ke-trends .live-trends-pagination.has-pages{bottom:calc(var(--ke-bar-space) + 88px)}

  /* ---------------------------------------------------------- footer: tidy, still complete */
  .site-footer .site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 14px!important}
  .site-footer .site-footer-brand{grid-column:1/-1}
  .site-footer nav a{min-height:32px;display:flex;align-items:center}
}

@keyframes ke-hero-glow{0%,100%{box-shadow:0 10px 26px #2dfce655,0 0 0 4px #0a0b0d,inset 0 1px 0 #ffffffa0}50%{box-shadow:0 10px 34px #2dfce699,0 0 0 4px #0a0b0d,inset 0 1px 0 #ffffffa0}}
@keyframes ke-sheet-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes ke-fade{from{opacity:0}}
@keyframes ke-pulse{50%{opacity:.35}}
@keyframes ke-hint{0%,100%{transform:none}50%{transform:translateY(-4px)}}
@media (prefers-reduced-motion:reduce){
  .ke-tabbar,.pr-dock,.ke-install{transition:none!important}
  .ke-tab-hero i,.ke-sheet-backdrop,.site-header .nav-links.open,.ke-reel-hint,.ke-reel-live i,.ke-ios-sheet,.ke-ios-panel,
  .ke-live-counts i,form.is-sheet,.ke-filter-backdrop{animation:none!important}
}
