/* 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}
}

/* Signed-in members' cluster also carries Home (Member Home, 2026-10-31). On the desktop bar
   (1260px up) its links sit a little closer, so the bar is no wider than it was before Home. */
@media(min-width:1260px){
  .site-header .nav-account.is-member{gap:0;margin-left:2px;padding-left:6px}
  .site-header .nav-account.is-member>a:not(.nav-premium-cta):not(.nav-start-free),.site-header .nav-account.is-member .nav-logout button,.site-header .nav-account.is-member .nav-manage{padding:0 6px!important}
  .site-header .nav-account.is-member .nav-premium-cta{padding:8px 11px!important}
}

/* ---- 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}
}

/* ---- Simple menus (2026-10-22, Alok: "it takes the whole space of the page,
   I want it simple"). Same links and markup; each sport now opens a compact
   list under its own tab: no side panel, no descriptions, small icons. ---- */
.site-header .nav-sport-hero,.site-header .nav-sport-panel::before,.site-header .nav-sport-panel::after{display:none!important}
.site-header .nav-tile>.nav-tile-desc{display:none!important}
.site-header :is(.nav-tile,.nav-dropdown-platform-prizepicks,.nav-dropdown-platform-underdog){grid-template-columns:24px minmax(0,1fr) auto;grid-template-areas:"icon name badge";column-gap:10px;min-height:38px!important;padding:6px 10px!important;border-radius:10px!important}
.site-header .nav-tile>.nav-tile-icon{width:24px;height:24px;border-radius:7px}
.site-header .nav-tile>.nav-tile-icon svg{width:14px;height:14px}
.site-header .nav-tile>.nav-tile-name{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-header .nav-tile .nav-free-badge{padding:1px 6px;font-size:9px}
.site-header .nav-tile .nav-free-badge.is-new{display:none}
.site-header .nav-sport-body,.site-header .nav-sport-body.is-columns{display:block;padding:6px}
.site-header .nav-sport-section>.nav-dropdown-group{padding:8px 10px 4px!important}
.site-header .nav-sport-section+.nav-sport-section,.site-header .nav-sport-body.is-columns>.nav-sport-section:nth-child(2){margin-top:4px;border-top:1px solid #ffffff0f;padding-top:2px}
.site-header .nav-sport-grid,.site-header .nav-sport-body.is-columns .nav-sport-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
.site-header .nav-sport.open .nav-tile{animation:none}
@media(min-width:1260px){
  .site-header .nav-sport{position:relative!important}
  .site-header .nav-sport-panel{left:0!important;top:calc(100% + 8px)!important;width:520px;max-height:calc(100vh - 100px)!important;transform:none}
  .site-header .nav-sport.open>.nav-sport-panel{display:block!important;animation:nav-drop .16s cubic-bezier(.2,.7,.2,1) both}
  .site-header .nav-sport-mlb .nav-sport-panel,.site-header .nav-sport-nba .nav-sport-panel{left:auto!important;right:0!important}
}
@media(max-width:1259px){
  .site-header .nav-sport-body,.site-header .nav-sport-body.is-columns{padding:2px 6px 8px}
}
@media(max-width:560px){
  .site-header .nav-sport-grid,.site-header .nav-sport-body.is-columns .nav-sport-grid{grid-template-columns:minmax(0,1fr)}
}

/* Matchup X-Ray top-level link (2026-10-22, Alok: "access to this tool is easy") */
.site-header .nav-xray-tab{display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap}
.site-header .nav-xray-icon{width:16px;height:16px;flex:none;fill:none;stroke:#2dfce6;stroke-width:1.6}
.site-header .nav-xray-new{padding:1px 6px;border-radius:999px;background:#2dfce61f;color:#2dfce6;font-size:9.5px;font-weight:800;letter-spacing:.08em}
@media(max-width:1259px){.nav-links.open a.nav-xray-tab{min-height:44px}}
@media(min-width:1260px) and (max-width:1365px){.site-header .nav-xray-long{display:none}}
@media(min-width:1260px) and (max-width:1599px){.site-header .nav-xray-new{display:none}}

/* Elite tools in the sport menus (2026-10-26, Alok: "highlight ... and create a lock").
   Gold so they read as the premium tier; a lock pill for a visitor without Elite, a check for
   a member. Hover lifts the tile and sweeps a soft sheen across it. templates/_site_nav.html.
   2026-11-03 (Alok: "even if you're logged in as a subscriber I would still highlight in yellow
   the premium products"): a member's check pill is the same solid gold as the lock, and the
   Matchup X-Ray tile (is-sims, its simulations) is gold too. */
.site-header .nav-tile:is(.is-elite,.is-sims){position:relative;overflow:hidden;border-color:#f2c14e3d!important;background:linear-gradient(135deg,#f2c14e17,#f2c14e05 62%,transparent)!important}
.site-header .nav-tile:is(.is-elite,.is-sims)>.nav-tile-icon{background:linear-gradient(145deg,#3a2c0c,#171104);box-shadow:inset 0 0 0 1px #f2c14e59;color:#ffd77a}
.site-header .nav-tile:is(.is-elite,.is-sims)>.nav-tile-icon.is-logo{box-shadow:inset 0 0 0 1px #f2c14e66}
.site-header .nav-tile:is(.is-elite,.is-sims)>.nav-tile-name{color:#fff6e0}
.site-header .nav-tile:is(.is-elite,.is-sims)::after{content:"";position:absolute;inset:0 auto 0 -60%;width:45%;pointer-events:none;
  background:linear-gradient(105deg,transparent,#ffe3a01f 45%,#ffe3a033 50%,transparent);transform:skewX(-18deg);opacity:0;transition:none}
.site-header .nav-tile:is(.is-elite,.is-sims):hover,.site-header .nav-tile:is(.is-elite,.is-sims):focus-visible{border-color:#f2c14e8c!important;background:linear-gradient(135deg,#f2c14e29,#f2c14e0a 62%,transparent)!important;box-shadow:0 10px 28px -14px #f2c14e80!important;transform:translateY(-1px)}
.site-header .nav-tile:is(.is-elite,.is-sims):hover>.nav-tile-icon,.site-header .nav-tile:is(.is-elite,.is-sims):focus-visible>.nav-tile-icon{box-shadow:inset 0 0 0 1px #f2c14e99,0 0 18px #f2c14e40}
.site-header .nav-tile:is(.is-elite,.is-sims):hover::after{opacity:1;left:120%;transition:left .75s cubic-bezier(.2,.7,.2,1),opacity .2s}
.site-header .nav-elite-pill{display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px 8px 3px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;white-space:nowrap}
.site-header .nav-elite-pill svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header .nav-elite-pill.is-locked{background:linear-gradient(135deg,#f7b84a,#f2c14e);color:#2a1b02;box-shadow:0 0 0 1px #ffe3a04d,0 4px 14px -4px #f2c14e99}
.site-header .nav-elite-pill.is-locked svg{stroke-width:2}
.site-header .nav-elite-pill.is-unlocked{background:linear-gradient(135deg,#f7b84a,#f2c14e);color:#2a1b02;box-shadow:0 0 0 1px #ffe3a04d,0 4px 14px -4px #f2c14e99}
.site-header .nav-elite-pill.is-unlocked svg{stroke-width:2}
.site-header .nav-elite-pill .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Where a tile has no room for FREE and Sims beside "Matchup X-Ray" (it read "Matchup ..."), the
   tile stays gold with its FREE badge, so a free tool never reads as a bare lock: the 520px desktop
   menu (1260px and up), the two-column menu sheet from 561 to 620px (a phone on its side) and the
   one-column phone sheet at 340px and under. Measured in Chromium, 320-1600px (2026-11-03). The
   phone sheet from 341 to 560px and the 621-1259px menu show both. */
@media(max-width:340px),(min-width:561px) and (max-width:620px),(min-width:1260px){.site-header .nav-tile.is-sims .nav-elite-pill.is-sims{display:none}}
.site-header .nav-dropdown-menu a.nav-sport-unlock{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:6px 0 0;padding:9px 12px!important;border:1px solid #f2c14e59!important;border-radius:11px!important;background:linear-gradient(135deg,#f2c14e24,#f2c14e08)!important;color:#ffd98a!important;font-size:13px;font-weight:750;text-decoration:none!important;transition:border-color .2s,background .2s}
.site-header .nav-sport-unlock>span{flex:1;min-width:0}
.site-header .nav-sport-unlock>b{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:linear-gradient(135deg,#f7b84a,#f2c14e);color:#2a1b02;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.site-header .nav-sport-unlock svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.site-header .nav-dropdown-menu a.nav-sport-unlock:hover,.site-header .nav-dropdown-menu a.nav-sport-unlock:focus-visible{border-color:#f2c14eb3!important;background:linear-gradient(135deg,#f2c14e3d,#f2c14e12)!important}
@media (prefers-reduced-motion:reduce){
  .site-header .nav-tile:is(.is-elite,.is-sims)::after{display:none}
  .site-header .nav-tile:is(.is-elite,.is-sims):hover{transform: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}}

/* The research glossary (/glossary; Alok, 2026-11-05, Glen and Dan's Nov 5 SEO email): a chip
   index of the terms, then one panel per term. */
.ke-glossary .ke-article-hero{max-width:860px}
.ke-glossary-index{margin:22px 0 0;max-width:980px}
.ke-glossary-index ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ke-glossary-index a{display:inline-flex;align-items:center;min-height:34px;padding:6px 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;transition:border-color .15s,color .15s}
.ke-glossary-index a:hover,.ke-glossary-index a:focus-visible{border-color:#2dfce666;color:#fff}
.ke-glossary-list{display:grid;gap:12px;max-width:860px;margin:28px 0 0;padding:0}
.ke-glossary-term{scroll-margin-top:96px;padding:20px 22px;border:1px solid var(--ke-hairline);border-radius:14px;background:linear-gradient(180deg,#ffffff05,transparent),var(--ke-surface)}
.ke-glossary-term:target{border-color:#2dfce666;box-shadow:0 0 0 1px #2dfce62e}
.ke-glossary-term dt{margin:0}
.ke-glossary-term dfn{font-family:var(--ke-display);font-style:normal;font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.02em;color:#fff}
.ke-glossary-term dd{margin:8px 0 0}
.ke-glossary-definition{margin:0;color:#d9dde1;font-size:16px;line-height:1.65}
.ke-glossary-aka{margin:8px 0 0;color:var(--ke-text-3);font-size:13px}
.ke-glossary-see{display:inline-block;margin-top:10px;color:var(--ke-mint);font-size:13.5px;font-weight:600;text-decoration:none}
.ke-glossary-see:hover,.ke-glossary-see:focus-visible{text-decoration:underline}
.ke-glossary .ke-article-disclosure{max-width:860px}
@media (max-width:640px){
  /* Phones: the term index is one row that scrolls sideways inside itself, not 18 rows of chips. */
  .ke-glossary-index ol{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .ke-glossary-index ol::-webkit-scrollbar{display:none}
  .ke-glossary-index li{flex:none}
  .ke-glossary-term{padding:16px}
  .ke-glossary-term dfn{font-size:18px}
  .ke-glossary-definition{font-size:15px}
}
@media (prefers-reduced-motion:reduce){.ke-glossary-index a{transition:none}}

/* compact_heads.css */
/* Compact page heads (Alok, 2026-10-26): the first screen shows the tool, not the title.
   Desktop and tablet only (761px and up): smaller titles, tighter frames, calls to action
   and status cards beside the title instead of under it. Phones get their own layout in
   mobile_app.css. Layout and type only: no copy, disclaimer, Preview label, freshness or
   status is hidden, and the homepage hero is unchanged. */
@media (min-width:761px){
  /* ---- Shared type: eyebrow, title, lede, actions ---- */
  :is(.page-hero,.prop-lab-hero,.player-prop-hero,.ke-board-page .ke-board-hero,.ke-odds-hero,.ke-seo-hero,.ke-dcl-hero,.dvp-hero) :is(.eyebrow,.label,.ke-seo-kicker){font-size:11px!important;letter-spacing:.14em!important;line-height:1.3!important}
  :is(.page-hero,.prop-lab-hero,.player-prop-hero,.ke-board-page .ke-board-hero,.ke-odds-hero,.ke-seo-hero,.ke-dcl-hero,.dvp-hero) h1{margin:6px 0 6px!important;font-size:clamp(26px,2.35vw,34px)!important;line-height:1.08!important;letter-spacing:-.035em!important;text-wrap:balance}
  :is(.page-hero,.prop-lab-hero,.player-prop-hero,.ke-board-page .ke-board-hero,.ke-odds-hero,.ke-seo-hero,.ke-dcl-hero) :is(.lede,.ke-seo-dek,.ke-board-title>p,.ke-odds-title>p){max-width:680px!important;margin:0!important;font-size:14.5px!important;line-height:1.5!important}
  :is(.page-hero,.prop-lab-hero)>.actions{gap:8px!important;margin:14px 0 0!important}
  :is(.page-hero,.prop-lab-hero)>.actions .button,.ke-board-hero .ke-board-unlock{min-height:40px!important;padding:0 16px!important;border-radius:12px!important;font-size:13.5px!important}

  /* ---- Plain heads (account, pricing, legal, results): less air above and below ---- */
  .page-hero{padding:22px 0 10px!important}

  /* ---- Framed heads (Prop Lab, platform boards, KarmaCards, Player Prop Odds, game models,
        Defense vs Position): one slim glass panel ---- */
  :is(.player-prop-hero,.karmacards-hub>.page-hero,.prop-lab-hero,.prop-machine-hero,.pr-hero,.prop-research-hero,.ke-board-page .ke-board-hero){position:relative;isolation:isolate;overflow:hidden;margin:0 0 14px!important;padding:20px 28px!important;border:1px solid var(--ke-hairline,#ffffff1a)!important;border-radius:22px!important;background:radial-gradient(#ffffff0b 1px,transparent 1px) 0 0/22px 22px,radial-gradient(120% 160% at 100% 0,#2dfce60f,transparent 55%),linear-gradient(180deg,#0c0d10,#070708)!important;box-shadow:none!important}
  .prop-research-hero::after{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,#2dfce6 30%,#31fbb7 70%,transparent);opacity:.7;box-shadow:0 0 12px 1px #2dfce633;pointer-events:none}

  /* Title on the left, calls to action on the right */
  :is(.page-hero,.prop-lab-hero):has(>.actions){display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:36px;align-items:center}
  :is(.page-hero,.prop-lab-hero):has(>.actions)>*{grid-column:1}
  :is(.page-hero,.prop-lab-hero):has(>.actions)>.actions{grid-column:2;grid-row:1/span 4;align-self:center;justify-content:flex-end;max-width:460px;margin:0!important}

  /* ---- Prop tools: less dead space between the head and the first rows ---- */
  :is(.player-prop-odds,.karmacards-hub,.prop-lab,.prop-research-shell,.prop-research,main>.shell:has(>.prop-machine-hero)){padding-top:18px!important}
  :is(.prop-lab,.prop-research-shell)>section:not(.panel){padding-block:12px!important}
  :is(.karmacards-section,.prop-lab .karmacards-section) .section-head{margin:12px 0 12px!important}
  .player-prop-odds .prop-game-board{margin-top:16px!important;padding-top:0!important}

  /* ---- KarmaCard pages (2026-10-27): the cards start in the first screen ---- */
  /* the source tabs and the board status share one bar */
  .prop-board-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;margin:0 0 12px}
  .prop-board-bar>:is(.platform-tabs,.platform-sport-filter){margin:0!important}
  .prop-board-bar>.status-strip{flex:1 1 auto;justify-content:flex-end;gap:6px 16px;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-size:12.5px}
  .prop-board-bar>.status-strip>div{display:flex;align-items:center;gap:8px}
  /* the card filters: one slim row */
  .prop-research-shell .prop-card-filters{display:flex!important;flex-wrap:wrap;align-items:flex-end;gap:10px!important;margin:0 0 14px!important;padding:0!important}
  .prop-research-shell .prop-card-filters>label{flex:1 1 180px;max-width:300px;margin:0!important;font-size:11px}
  .prop-research-shell .prop-card-filters :is(input,select){height:38px!important;margin-top:4px!important;padding:0 12px!important}
  .prop-research-shell .prop-card-filters .button{flex:none;height:38px!important;min-height:38px!important;padding:0 22px!important;border-radius:12px!important}
  .prop-research-shell .prop-market-types .prop-market-inventory span{padding:5px 10px!important;font-size:11.5px!important}
  /* Prop Lab: every filter on one row, the board status as a line */
  .prop-lab>.panel.prop-lab-controls{flex-wrap:wrap;align-items:flex-end;gap:8px!important;margin:12px 0 0!important;padding:12px 14px!important}
  .prop-lab>.panel.prop-lab-controls>label{flex:1 1 112px!important;min-width:0}
  .prop-lab>.panel.prop-lab-controls :is(select,input){height:36px!important}
  .prop-lab>.panel.prop-lab-controls>.prop-lab-actions{flex:none!important;width:auto!important}
  .prop-lab>.panel.prop-lab-controls>.prop-lab-actions .button{height:36px!important;min-height:36px!important;padding:0 14px!important}
  .prop-lab>section.prop-lab-status{margin:10px 0 0!important;padding:6px 0!important;border:0!important;background:none!important;box-shadow:none!important;font-size:12.5px}
  /* the KarmaCards heading on one line */
  :is(.prop-research-shell,.prop-lab) section.karmacards-section{padding-top:4px!important}
  :is(.prop-research-shell,.prop-lab) .karmacards-section>.section-head .eyebrow{display:none!important}
  :is(.karmacards-section,.prop-lab .karmacards-section)>.section-head{align-items:center!important;margin:8px 0 10px!important}
  :is(.karmacards-section,.prop-lab .karmacards-section)>.section-head h2{margin:2px 0!important;font-size:22px!important}
  :is(.karmacards-section,.prop-lab .karmacards-section)>.section-head p{margin:2px 0 0!important;font-size:13px!important}
  :is(.karmacards-section,.prop-lab .karmacards-section)>.section-head .button{min-height:38px!important;padding:0 16px!important;font-size:13px!important}
  /* with the sliders shown (Elite), the card count is a line, not a bar */
  :is(.karmacards-hub,.prop-lab,.prop-research-shell,main>.shell:has(>.prop-machine-hero)) .karmacards-section:has(.ke-refine) .ke-live-availability{margin:0 0 10px!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:#a1a7ad!important;font-size:12.5px!important}
  :is(.karmacards-hub,.prop-lab,.prop-research-shell,main>.shell:has(>.prop-machine-hero)) .karmacards-section:has(.ke-refine) .ke-live-availability strong{font-weight:600!important}

  /* ---- Player Prop Odds: summary chips and the freshness card shrink to match ---- */
  .player-prop-hero{gap:24px!important;align-items:center!important}
  @media (min-width:901px){.player-prop-hero{grid-template-columns:minmax(0,1fr) 300px!important}}
  .player-prop-hero>div{padding:0!important}
  .player-prop-hero .prop-odds-summary{gap:8px!important;margin:12px 0 0!important}
  .player-prop-hero .prop-odds-summary>span{padding:6px 12px!important;border-radius:12px!important;font-size:12.5px!important}
  .player-prop-hero .prop-odds-summary>span b,.player-prop-hero .prop-odds-summary>span strong{font-size:17px!important}
  .player-prop-hero .prop-odds-freshness{gap:4px!important;padding:14px 16px!important;border-radius:16px!important}
  .player-prop-hero .prop-odds-freshness strong{font-size:14px!important;line-height:1.35!important}

  /* ---- Game models (NFL, CFB, NBA predictions): stats and unlock beside a one-line title ---- */
  .ke-board-page .ke-board-hero{align-items:center!important;gap:28px!important}
  .ke-board-page .ke-board-hero h1{margin:6px 0 6px!important;font-size:clamp(26px,2.35vw,34px)!important}
  .ke-board-page .ke-board-side{gap:10px!important}
  .ke-board-page .ke-board-stats>*,.ke-board-page .ke-board-stats>aside{min-width:104px!important;padding:9px 14px!important;border-radius:14px!important}
  .ke-board-page .ke-board-stats>aside strong,.ke-board-page .ke-board-stats strong{font-size:15px!important}
  .ke-board-page .ke-board-stats>div:first-child strong{font-size:20px!important}

  /* ---- Live Odds: the live card becomes a slim status panel ---- */
  .ke-odds-hero{align-items:center!important;gap:24px!important;margin:4px 0 16px!important}
  @media (min-width:1001px){
  .ke-odds-hero{grid-template-columns:minmax(0,1fr) minmax(0,600px)!important}
  .ke-odds-hero .ke-odds-live{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,300px);column-gap:16px;align-items:center}
  .ke-odds-hero .ke-odds-live>:not(dl){grid-column:1}
  .ke-odds-hero .ke-odds-live>.ke-live-pill{justify-self:start}
  .ke-odds-hero .ke-odds-stats>div{padding:7px 10px!important}
  .ke-odds-hero .ke-odds-stats dt{font-size:9.5px!important;letter-spacing:.08em!important;line-height:1.25}
  .ke-odds-hero .ke-odds-live>dl{grid-column:2;grid-row:1/span 3;margin:0!important}
  }
  .ke-odds-hero .ke-odds-title{align-self:center!important}
  .ke-odds-hero .ke-odds-live{gap:2px!important;padding:12px 16px!important;border-radius:18px!important}
  .ke-odds-hero .ke-odds-live>strong{margin-top:6px!important;font-size:16px!important}
  .ke-odds-hero .ke-odds-live>small{font-size:11.5px!important}
  .ke-odds-hero .ke-odds-stats{margin:8px 0 0!important;border-radius:12px!important}
  .ke-odds-hero .ke-odds-stats>div{padding:7px 12px!important}
  .ke-odds-hero .ke-odds-stats dd{font-size:17px!important}
  .pulse-hero:not(.ke-odds-hero){padding:22px 0 14px!important}

  /* ---- Injury report, depth charts, player hubs ---- */
  .ke-seo-hero{padding:18px 0 14px!important}
  .ke-dcl-hero{padding:18px 0 14px!important}
  .ke-seo-hero .ke-dc-totals{margin:12px 0 0!important}
  .ke-seo-hero .ke-seo-jump{margin:12px 0 0!important}
  .ke-seo-hero+section{margin-top:0!important;padding-top:14px!important}

  /* ---- NBA Defense vs Position ---- */
  .dvp-hero{gap:16px 28px!important;padding:20px 26px!important;border-radius:22px!important}
  .dvp-hero .dvp-lede{margin:6px 0 0!important;font-size:14px!important;line-height:1.5!important}
  .dvp-hero .dvp-meta{margin-top:10px!important}
  .dvp-hero+section{padding-top:8px!important}

  /* ---- How It Works: still a story page, with a shorter opening ---- */
  .hiw-hero{min-height:0!important;padding-block:44px 36px!important}
  .hiw-hero h1{font-size:clamp(38px,4.4vw,58px)!important}
}

/* 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}
  /* Tap feedback (static/mobile_app.js): the tapped tab spins and a bar runs along the top
     while the next page is on its way. */
  .ke-tabbar{touch-action:manipulation}
  .ke-tab.is-loading:not(.ke-tab-hero)::after{content:"";position:absolute;top:50%;left:50%;width:34px;height:34px;margin:-27px 0 0 -17px;
    border:2px solid #2dfce62e;border-top-color:#2dfce6;border-radius:50%;animation:ke-tab-spin .7s linear infinite}
  .ke-tab-hero.is-loading i{animation:ke-pulse .8s ease-in-out infinite alternate}
  .ke-load-bar{position:fixed;top:0;left:0;right:0;z-index:200;height:3px;pointer-events:none;transform-origin:0 50%;transform:scaleX(0);opacity:0;
    background:linear-gradient(90deg,#2dfce6,#31fbb7);box-shadow:0 0 10px #2dfce6}
  html.ke-navigating .ke-load-bar{opacity:1;animation:ke-load 8s cubic-bezier(.08,.75,.25,1) forwards}
  /* Not "ke-spin": that name belongs to elite_home.css, and reusing it spun the homepage's
     button border on phones (Alok, 2026-10-29). */
  @keyframes ke-tab-spin{to{transform:rotate(360deg)}}
  @keyframes ke-pulse{to{transform:scale(.9);box-shadow:0 0 26px #2dfce6aa}}
  @keyframes ke-load{0%{transform:scaleX(0)}8%{transform:scaleX(.3)}100%{transform:scaleX(.92)}}
  @media (prefers-reduced-motion:reduce){
    .ke-tab.is-loading:not(.ke-tab-hero)::after,.ke-tab-hero.is-loading i{animation:none}
    html.ke-navigating .ke-load-bar{animation:none;transform:scaleX(.6)}
  }
  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:100px}
  .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: a labelled pill inside the card's top row. The white circle with only the X logo, on the
     card's corner, read as a close button (conversion audit K3, 2026-11-05). */
  .is-reel .karmacard-shell>.karmacard-share{position:absolute!important;top:20px;right:18px;z-index:5;display:inline-flex!important;align-items:center;gap:6px;width:auto!important;height:32px!important;
    min-height:0!important;padding:0 12px!important;border:1px solid #ffffff38!important;border-radius:999px!important;font-size:12.5px!important;font-weight:700;background:#ffffff14!important;color:#f5f7f8!important;box-shadow:none}
  .is-reel .karmacard-shell>.karmacard-share svg{width:13px;height:13px}
  .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}
  /* Conversion audit K2 (2026-11-05): the Elite slide shows three real locked cards, who, market and stars. */
  .ke-reel-previews{display:grid;width:100%;max-width:300px;gap:8px;margin:0 0 6px;padding:0;list-style:none;text-align:left}
  .ke-reel-previews li{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border:1px solid #ffffff1a;border-radius:14px;background:#ffffff08}
  .ke-reel-preview-name{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}
  .ke-reel-preview-name small{overflow:hidden;color:#a1a7ad;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}
  .ke-reel-preview-name strong{overflow:hidden;color:#fff;font-size:15px;text-overflow:ellipsis;white-space:nowrap}
  .ke-reel-preview-lock{flex:none;font-size:15px}
  .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}
  /* Plans (conversion audit, 2026-11-05): the swipe row opened on Free $0 with Premium cut off and the
     row as tall as Elite, a blank gap under each shorter card. Stacked instead: Premium, Elite, then Free,
     each its own height. Same cards, prices and buttons; desktop keeps its three columns. */
  .ke-home .pricing-grid[data-ke-swipe]{flex-direction:column!important;align-items:stretch!important;margin:0!important;padding:0!important;overflow:visible!important;scroll-snap-type:none!important}
  .ke-home .pricing-grid[data-ke-swipe]>*{flex:none!important;width:100%!important;height:auto!important;min-height:0!important}
  .ke-home .pricing-grid>.pricing-card-premium{order:0}.ke-home .pricing-grid>.pricing-card-elite{order:1}.ke-home .pricing-grid>.pricing-card-free{order:2}
  .ke-home .homepage-pricing .ke-swipe-dots{display:none!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, the buttons, then today's card. Conversion audit (2026-11-05):
     below the card the buttons started at 839px, under the tab bar, on a 390x844 phone. Desktop is unchanged. */
  .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-xray{border-color:#2dfce666;background:#2dfce614;color:#7dfde3!important}
  .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-primary-actions{order:3;margin:14px 0 10px!important}
  .karmaedge-hero .ke-cta-note{order:4;margin:0!important;color:#a1a7ad;font-size:12.5px;text-align:center}
  .karmaedge-hero .ke-live-counts{order:5;display:flex!important;align-items:center;justify-content:center;gap:7px;margin:6px 0 0!important;color:#7dfde3;font-size:12px;font-weight:650;line-height:1.35;text-align:center}
  /* .ke-home: ai_commercial_v2.css (under 900px) sets .homepage-story .karmaedge-hero .hero-karmacards{order:2}, which
     outranked a two-class rule here, so the card always sat at 2; this bundle loads after it. */
  .ke-home .karmaedge-hero .hero-karmacards{order:6;align-self:stretch;margin:14px 0 0!important} /* full width, so centred on every phone */
  .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;margin-top:14px!important}
  .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 buttons sit right above the card */

  /* 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 is a plain row after the board (conversion audit T2, 2026-11-05): floating
     above the app bar, the two covered about 140px of the board. Desktop keeps it sticky. */
  .ke-trends .live-trends-pagination.has-pages{position:static;gap:8px;margin:12px 0 0;padding:6px 6px 6px 14px;font-size:12px;box-shadow:none}
  .ke-trends .live-trends-pagination.has-pages a{min-height:38px;padding:0 14px}

  /* ---------------------------------------------------------- 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}
  /* ---------------------------------------------------------- tool page heads (2026-10-26)
     A tool page opens like an app screen: the title (with its live status beside it), one
     folded line of description, one line of facts, then one row of filters, so the tool
     starts within the first screen. Nothing is dropped: a description folds behind "More"
     (mobile_app.js; without it the text is simply shown), and disclaimers, Preview labels
     and freshness stay in view as fine print. */
  :is(.prop-research-hero,.prop-machine-hero,.prop-lab-hero,.player-prop-hero,.karmacards-hub:not(:has(.is-reel))>.page-hero,.ke-board-page .ke-board-hero,.ke-trends .ke-trends-hero,.ke-odds-hero,.ke-seo-hero,.ke-dcl-hero,.dvp-hero){
    margin:0 0 12px!important;padding:2px 0 0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}
  :is(.prop-research-hero,.prop-machine-hero,.prop-lab-hero,.player-prop-hero,.karmacards-hub:not(:has(.is-reel))>.page-hero,.ke-board-page .ke-board-hero,.dvp-hero)::before,
  :is(.prop-research-hero,.prop-machine-hero,.prop-lab-hero,.player-prop-hero,.karmacards-hub:not(:has(.is-reel))>.page-hero,.ke-board-page .ke-board-hero,.dvp-hero)::after,
  .dvp-hero-glow,
  :is(.prop-research-hero,.prop-machine-hero,.prop-lab-hero,.player-prop-hero,.karmacards-hub:not(:has(.is-reel))>.page-hero,.ke-board-page .ke-board-hero,.ke-trends .ke-trends-hero,.ke-odds-hero,.dvp-hero) :is(.eyebrow,.dvp-eyebrow){display:none!important}
  :is(.prop-research-hero,.prop-machine-hero,.prop-lab-hero,.player-prop-hero,.karmacards-hub:not(:has(.is-reel))>.page-hero,.ke-board-page .ke-board-hero,.ke-trends .ke-trends-hero,.ke-odds-hero,.ke-seo-hero,.ke-dcl-hero,.dvp-hero) h1{
    margin:0!important;color:#fff!important;font-size:22px!important;font-weight:650!important;line-height:1.2!important;letter-spacing:-.025em!important;text-wrap:balance}
  :is(.prop-research-hero,.prop-machine-hero,.prop-lab-hero,.player-prop-hero,.karmacards-hub:not(:has(.is-reel))>.page-hero,.ke-board-page .ke-board-hero,.ke-trends .ke-trends-hero,.ke-odds-hero,.ke-seo-hero,.ke-dcl-hero,.dvp-hero) :is(.lede,.ke-seo-dek,.ke-board-title>p,.ke-odds-title>p,.dvp-lede){
    max-width:none!important;margin:4px 0 0!important;color:#a1a7ad!important;font-size:13px!important;line-height:1.45!important}
  .ke-fold{position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .ke-fold:not(.is-open){display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;padding-right:44px}
  .ke-fold:not(.is-open)::after{content:"More";position:absolute;right:0;bottom:0;color:#7dfde3;font-weight:700}
  .ke-fold:focus-visible{outline:2px solid #2dfce6;outline-offset:3px;border-radius:6px}
  :is(.prop-research-hero,.prop-machine-hero,.prop-lab-hero,.karmacards-hub>.page-hero)>.actions{
    display:flex!important;flex-wrap:nowrap!important;gap:8px!important;margin:10px -16px 0!important;padding:0 16px 2px!important;overflow-x:auto;scrollbar-width:none}
  :is(.prop-research-hero,.prop-machine-hero,.prop-lab-hero,.karmacards-hub>.page-hero)>.actions::-webkit-scrollbar{display:none}
  :is(.prop-research-hero,.prop-machine-hero,.prop-lab-hero,.karmacards-hub>.page-hero)>.actions .button{
    flex:none!important;width:auto!important;min-height:36px!important;height:36px;padding:0 15px!important;border-radius:999px!important;font-size:13px!important;white-space:nowrap}
  /* a scrolling row of chips: platform and sport tabs, prop types, jump links */
  :is(.prop-board-bar,.prop-lab,.main-prop-board)>:is(.platform-tabs,.prop-sport-selector),.ke-seo-hero .ke-seo-jump,.dvp-hero .dvp-meta,.ke-board-page .ke-board-points,.prop-research-shell .prop-market-inventory{
    display:flex!important;flex-wrap:nowrap!important;gap:6px!important;margin-left:-16px!important;margin-right:-16px!important;padding:0 16px 2px!important;overflow-x:auto;scrollbar-width:none;border:0!important;background:none!important;box-shadow:none!important}
  :is(.prop-board-bar,.prop-lab)>:is(.platform-tabs,.prop-sport-selector)::-webkit-scrollbar,.ke-seo-hero .ke-seo-jump::-webkit-scrollbar,.dvp-hero .dvp-meta::-webkit-scrollbar,.ke-board-page .ke-board-points::-webkit-scrollbar,.prop-research-shell .prop-market-inventory::-webkit-scrollbar{display:none}
  :is(.prop-board-bar,.prop-lab)>:is(.platform-tabs,.prop-sport-selector)>*,.ke-seo-hero .ke-seo-jump>*,.dvp-hero .dvp-meta>*,.ke-board-page .ke-board-points>*,.prop-research-shell .prop-market-inventory>*{flex:none!important;white-space:nowrap}

  /* Live Odds: title and live pill on one line, then the update time, coverage and fine print */
  .ke-odds-page .ke-odds-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:0 10px!important;margin:2px 0 12px!important}
  .ke-odds-page .ke-odds-hero>.ke-odds-title,.ke-odds-page .ke-odds-hero>.ke-odds-live{display:contents!important}
  .ke-odds-page .ke-odds-hero h1{grid-area:1/1}
  .ke-odds-page .ke-odds-hero .ke-live-pill{grid-area:1/2;justify-self:end;margin:0!important;padding:4px 10px 4px 8px!important;font-size:9.5px!important;letter-spacing:.08em!important;white-space:nowrap}
  .ke-odds-page .ke-odds-hero .ke-odds-title>p{grid-column:1/-1;grid-row:2}
  .ke-odds-page .ke-odds-hero .ke-odds-live>strong{grid-column:1/-1;grid-row:3;margin:8px 0 0!important;color:#e9edf0!important;font-size:12.5px!important;font-weight:600!important}
  .ke-odds-page .ke-odds-hero .ke-odds-stats{grid-column:1/-1;grid-row:4;display:flex!important;flex-wrap:wrap;gap:2px 14px!important;margin:3px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;overflow:visible!important}
  .ke-odds-page .ke-odds-hero .ke-odds-stats>div{display:flex!important;flex-direction:row!important;align-items:baseline;gap:5px;padding:0!important;border:0!important}
  .ke-odds-page .ke-odds-hero .ke-odds-stats dd{order:-1;margin:0!important;color:#fff;font-size:13px!important}
  .ke-odds-page .ke-odds-hero .ke-odds-stats dt{color:#8b9298;font-size:11px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important}
  .ke-odds-page .ke-odds-hero .ke-odds-live>small{grid-column:1/-1;grid-row:5;margin-top:2px;color:#7c838a!important;font-size:10.5px!important;line-height:1.35}
  .ke-odds-page .ke-odds-toolbar{gap:8px!important;margin:0 0 10px!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
  .ke-odds-page .ke-odds-toolbar .ke-seg{margin:0 -16px!important;padding:0 16px!important;border:0!important;border-radius:0!important;background:none!important}
  .ke-odds-page .ke-odds-toolbar .ke-seg a{min-height:32px!important;padding:0 13px!important;border:1px solid #ffffff1c;border-radius:999px!important;font-size:13px!important}
  .ke-odds-page .ke-odds-legend{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:2px 10px!important;margin:0 0 12px!important;padding:0!important;border:0!important;background:none!important;font-size:11.5px!important}
  .ke-odds-page .ke-odds-legend>span:not(.legend-best){display:none!important}
  .ke-odds-page .ke-odds-legend small{flex:1 1 100%;color:#7c838a!important;font-size:10.5px!important;line-height:1.35}

  /* Player Prop Odds: title with its board state, the description (it carries the disclaimer, so it stays whole), counts, freshness */
  .player-prop-odds .player-prop-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:0 10px!important}
  .player-prop-odds .player-prop-hero>div,.player-prop-odds .player-prop-hero>.prop-odds-freshness{display:contents!important}
  .player-prop-odds .player-prop-hero h1{grid-area:1/1}
  .player-prop-odds .player-prop-hero .prop-odds-state{grid-area:1/2;justify-self:end;margin:0!important;font-size:10px!important;white-space:nowrap}
  .player-prop-odds .player-prop-hero .lede{grid-column:1/-1;grid-row:2}
  .player-prop-odds .player-prop-hero .prop-odds-summary{grid-column:1/-1;grid-row:3;display:flex!important;flex-wrap:nowrap!important;margin:8px -16px 0!important;padding:0 16px 2px!important;gap:6px!important;overflow-x:auto;scrollbar-width:none}
  .player-prop-odds .player-prop-hero .prop-odds-summary::-webkit-scrollbar{display:none}
  .player-prop-odds .player-prop-hero .prop-odds-summary span{flex:none!important;flex-direction:row!important;align-items:baseline;gap:4px;padding:4px 10px!important;border-radius:999px!important;font-size:11.5px!important}
  .player-prop-odds .player-prop-hero .prop-odds-summary strong{margin:0!important;font-size:13px!important}
  .player-prop-odds .player-prop-hero .prop-odds-freshness>strong{grid-column:1/-1;grid-row:4;margin:8px 0 0!important;color:#e9edf0!important;font-size:12.5px!important;font-weight:600!important}
  .player-prop-odds .player-prop-hero .prop-odds-freshness>small:not(.prop-odds-lines-only){grid-column:1;grid-row:5;margin:2px 0 0!important;font-size:11px!important}
  .player-prop-odds .player-prop-hero .prop-odds-freshness>a{grid-column:2;grid-row:5;justify-self:end;margin:2px 0 0!important;font-size:12px!important;white-space:nowrap}
  .player-prop-odds .player-prop-hero .prop-odds-lines-only{grid-column:1/-1;grid-row:6;margin:2px 0 0!important;color:#7c838a!important;font-size:10.5px!important}

  /* AI game models: title, folded description, the three facts on one line, then unlock */
  .ke-board-page .ke-board-hero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;align-items:start!important}
  .ke-board-page .ke-board-hero>.ke-board-title,.ke-board-page .ke-board-hero>.ke-board-side{display:contents!important}
  .ke-board-page .ke-board-hero .ke-preview-label{justify-self:start;margin:0 0 6px!important}
  .ke-board-page .ke-board-stats{display:flex!important;flex-wrap:wrap;gap:3px 14px!important;width:auto!important;margin:8px 0 0!important;padding:0!important;border:0!important;background:none!important;overflow:visible!important}
  .ke-board-page .ke-board-stats>*,.ke-board-page .ke-board-stats>aside{display:flex!important;flex:none!important;align-items:baseline;gap:5px;min-width:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;backdrop-filter:none!important}
  .ke-board-page .ke-board-stats span,.ke-board-page .ke-board-stats>aside span{font-size:9.5px!important;letter-spacing:.1em!important}
  .ke-board-page .ke-board-stats strong,.ke-board-page .ke-board-stats>aside strong,.ke-board-page .ke-board-stats>div:first-child strong{margin:0!important;font-size:12.5px!important;line-height:1.3!important;white-space:nowrap}
  .ke-board-page .ke-board-unlock{width:100%;min-height:40px!important;height:40px;margin:10px 0 0!important;justify-content:center;border-radius:12px!important;font-size:13px!important}
  .ke-board-page .ke-board-points{margin-top:0!important;margin-bottom:10px!important;font-size:11.5px!important}
  .ke-board-page .ke-board-points>li{padding:0!important}
  .ke-board-page .ke-board-toolbar{gap:8px!important;margin:0 0 12px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
  .ke-board-page .ke-board-switches{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;margin:0 -16px!important;padding:0 16px!important;overflow-x:auto;scrollbar-width:none}
  .ke-board-page .ke-board-switches::-webkit-scrollbar{display:none}
  .ke-board-page .ke-board-switches .ke-seg{flex:none!important}

  /* Prop Lab and the platform boards: tabs, status and prop types as single rows */
  .prop-board-bar>.platform-tabs a,.prop-lab>.prop-sport-selector a{min-height:32px!important;padding:0 13px!important;border-radius:999px!important;font-size:13px!important}
  .prop-lab>.prop-sport-selector .prop-sport-card{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;min-height:34px!important;padding:0 12px!important;border-radius:999px!important}
  .prop-lab>.prop-sport-selector .prop-sport-card span{font-size:10.5px!important}
  .prop-board-bar>.status-strip{flex-wrap:wrap;gap:2px 10px!important;margin:8px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-size:12px!important}
  .prop-board-bar>.status-strip>*{min-width:0}
  .prop-research-shell>section:not(.panel){padding-block:12px!important}
  :is(.prop-research-shell,.prop-lab) .karmacards-section .section-head{margin:10px 0 10px!important}
  :is(.prop-research-shell,.prop-lab) .karmacards-section{padding-top:6px!important}
  .player-prop-odds .prop-game-board{margin-top:10px!important;padding-top:0!important}
  :is(.prop-research-shell,.prop-lab,.ke-board-page,.player-prop-odds,.ke-odds-page,.karmacards-hub:not(:has(.is-reel))) .section-head h2{font-size:19px!important;line-height:1.25!important;letter-spacing:-.02em!important}
  .prop-board-bar>.platform-sport-filter{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;margin:0 -16px!important;padding:0 16px 2px!important;overflow-x:auto;scrollbar-width:none}
  .prop-board-bar>.platform-sport-filter::-webkit-scrollbar{display:none}
  .prop-board-bar>.platform-sport-filter a{flex:none!important;display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;min-height:34px!important;padding:0 13px!important;border-radius:999px!important;font-size:13px!important;white-space:nowrap}
  .prop-board-bar>.platform-sport-filter a span{font-size:10px!important}
  .prop-research-shell>section:not(.panel) .section-head{margin:0 0 8px!important}
  .prop-research-shell>section:not(.panel) .section-head h2{font-size:17px!important}
  .prop-research-shell .prop-market-inventory span{padding:5px 10px!important;font-size:11px!important}
  .prop-board-bar{margin:0 0 10px}
  /* with the sliders shown (Elite), the card count is a line, not a bar */
  :is(.karmacards-hub,.prop-lab,.prop-research-shell) .karmacards-section:has(.ke-refine) .ke-live-availability{margin:0 0 8px!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:#a1a7ad!important;font-size:12px!important}
  :is(.karmacards-hub,.prop-lab,.prop-research-shell) .karmacards-section:has(.ke-refine) .ke-live-availability strong{font-weight:600!important}
  /* the KarmaCards heading: title left, a small "Explore all" pill right */
  :is(.prop-research-shell,.prop-lab) .karmacards-section>.section-head{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;margin:4px 0 8px!important}
  :is(.prop-research-shell,.prop-lab) .karmacards-section>.section-head>div{flex:1 1 auto;min-width:0}
  :is(.prop-research-shell,.prop-lab) .karmacards-section>.section-head .eyebrow{display:none!important}
  :is(.prop-research-shell,.prop-lab) .karmacards-section>.section-head .button{flex:none!important;width:auto!important;min-height:32px!important;height:32px;margin:0!important;padding:0 12px!important;border-radius:999px!important;font-size:12px!important}
  .prop-lab>.prop-lab-status{gap:6px 10px!important;margin:10px 0 0!important;padding:8px 12px!important;font-size:12px!important}
  :is(.prop-lab-controls,.prop-card-filters,.ke-model-filters)[data-ke-filter-sheet]:not(.is-sheet){margin:10px 0 0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
  :is(.prop-lab-controls,.prop-card-filters,.ke-model-filters)[data-ke-filter-sheet]:not(.is-sheet)>[data-ke-sheet-keep]{position:relative;font-size:0!important}
  :is(.prop-lab-controls,.prop-card-filters,.ke-model-filters)[data-ke-filter-sheet]:not(.is-sheet)>[data-ke-sheet-keep]>span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
  :is(.prop-lab-controls,.prop-card-filters,.ke-model-filters)[data-ke-filter-sheet]:not(.is-sheet)>[data-ke-sheet-keep] input{height:40px!important;margin:0!important;font-size:15px!important}

  /* NBA Defense vs Position, injury report, depth charts: same head, facts in one row */
  .dvp-hero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .dvp-hero .dvp-meta{margin-top:8px!important}
  .dvp-hero .dvp-meta>*{font-size:11px!important}
  .dvp-hero .dvp-controls{gap:8px!important}
  .dvp-hero .dvp-seg a{flex-direction:row!important;gap:6px;height:38px!important;min-height:38px!important}
  .dvp-hero .dvp-stat-chips a{min-height:34px!important;height:34px;padding:0 12px!important;display:inline-flex;align-items:center}
  .dvp-hero+section{padding-top:10px!important}
  .ke-seo-hero .ke-dc-totals{display:flex!important;gap:6px!important;margin:10px 0 0!important}
  .ke-seo-hero .ke-dc-totals li{display:flex!important;flex-direction:row!important;align-items:baseline;gap:5px;padding:5px 10px!important;border-radius:999px!important}
  .ke-seo-hero .ke-dc-totals b{font-size:14px!important}
  .ke-seo-hero .ke-dc-totals span{font-size:11px!important}
  .ke-seo-hero .ke-seo-jump{margin-top:8px!important}
  .ke-seo-hero .ke-seo-jump a{min-height:30px!important;padding:0 12px!important;font-size:12px!important}
  .ke-seo-hero+section{margin-top:0!important;padding-top:10px!important}

  /* Every other page head (pricing, account, legal, results): the same type scale, less air */
  .page-hero:not(:is(.karmacards-hub>*,.live-trends-hero,.prop-research-hero,.prop-machine-hero)){padding:14px 0 6px!important}
  .page-hero:not(:is(.karmacards-hub>*,.live-trends-hero,.prop-research-hero,.prop-machine-hero)) h1{margin:6px 0 6px!important;font-size:clamp(24px,7vw,28px)!important;line-height:1.12!important;letter-spacing:-.03em!important}
  .page-hero:not(:is(.karmacards-hub>*,.live-trends-hero,.prop-research-hero,.prop-machine-hero)) .lede{font-size:14px!important;line-height:1.45!important}
  .hiw-hero{min-height:0!important;padding-block:20px 16px!important}
  .hiw-hero h1{font-size:clamp(30px,8.6vw,38px)!important}

  /* An open sport menu in the More sheet starts with that sport's own button ("Open NBA
     KarmaCards", or its Live Odds), which the simple menus hide with the rest of the panel's
     head (2026-11-03, Alok: "I click on NBA and it showcases NFL stuff"). Phones only. */
  .site-header .nav-sport.open .nav-sport-hero{display:block!important;margin:0;padding:6px 6px 2px;background:none}
  .site-header .nav-sport.open .nav-sport-hero>:not(.nav-sport-cta){display:none!important}
  .site-header .nav-sport.open .nav-dropdown-menu a.nav-sport-cta{min-height:44px;margin:0}
}

@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}
}
