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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* elite_tools.css */
/* Prop tools: Player Prop Odds, Prop Research, KarmaCards, Prop Lab and the
   platform boards (Alok, 2026-10-03: "revamp all of them according to the
   other revamps"). Same language as Live Odds, Live Trends and AI Models:
   pure black, framed hero with a glow line, compact toolbars, card grids that
   use the full width, a light travelling border, calm motion. Loaded last and
   only on these paths; data, gating and copy are unchanged. */
@property --kt-tool-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes kt-tool-orbit{to{--kt-tool-angle:360deg}}
@keyframes kt-tool-rise{from{opacity:0;transform:translateY(12px)}}
@keyframes kt-tool-aurora{0%,100%{transform:translate3d(-6%,0,0) scale(1)}50%{transform:translate3d(6%,-4%,0) scale(1.08)}}

:root{--kt-surface:linear-gradient(180deg,#111114,#0a0a0c);--kt-line:linear-gradient(90deg,transparent,#2dfce6 30%,#31fbb7 70%,transparent)}
:is(.player-prop-odds,.karmacards-hub,.prop-lab,.prop-research-shell,.prop-research,main>.shell:has(>.prop-machine-hero)){width:min(1320px,calc(100% - 40px))!important;padding-top:32px;padding-bottom:72px}
:is(.player-prop-odds,.karmacards-hub,.prop-lab,.prop-research-shell,.prop-research,main>.shell:has(>.prop-machine-hero)) .eyebrow{background:var(--ke-accent);-webkit-background-clip:text;background-clip:text;color:transparent!important;font-size:11.5px;font-weight:700;letter-spacing:.16em}

/* ---- Hero: one framed deck, dot grid, slow aurora, glow line ---- */
:is(.player-prop-hero,.karmacards-hub>.page-hero,.prop-lab-hero,.prop-machine-hero,.pr-hero){position:relative;isolation:isolate;overflow:hidden;max-width:none!important;margin:0 0 16px!important;padding:30px 34px!important;border:1px solid var(--ke-hairline)!important;border-radius:26px!important;background:radial-gradient(#ffffff0d 1px,transparent 1px) 0 0/22px 22px,linear-gradient(180deg,#0c0d10,#070708)!important;box-shadow:none!important}
:is(.player-prop-hero,.karmacards-hub>.page-hero,.prop-lab-hero,.prop-machine-hero,.pr-hero)::before{content:"";position:absolute;inset:-40% 35% -40% -10%;z-index:-1;background:radial-gradient(closest-side,#2dfce629,transparent 70%),radial-gradient(closest-side at 70% 60%,#31fbb71a,transparent 70%);filter:blur(30px);animation:kt-tool-aurora 18s ease-in-out infinite;pointer-events:none}
:is(.player-prop-hero,.karmacards-hub>.page-hero,.prop-lab-hero,.prop-machine-hero,.pr-hero)::after{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:var(--kt-line);opacity:.75;box-shadow:0 0 12px 1px #2dfce633;pointer-events:none}
:is(.player-prop-hero,.karmacards-hub>.page-hero,.prop-lab-hero,.prop-machine-hero,.pr-hero) h1{margin:12px 0 10px!important;color:#fff;font-size:clamp(32px,4.2vw,54px)!important;font-weight:600!important;line-height:1.02!important;letter-spacing:-.045em!important}
:is(.player-prop-hero,.karmacards-hub>.page-hero,.prop-lab-hero,.prop-machine-hero,.pr-hero) .lede{max-width:640px;margin:0;color:var(--ke-text-2);font-size:15.5px!important;line-height:1.55}
.prop-machine-hero .prop-manifesto{max-width:820px;margin:0 0 10px!important;color:#fff;font-size:clamp(17px,1.6vw,21px)!important;font-weight:600;line-height:1.35}
.prop-machine-hero .actions,.prop-lab-hero .actions{margin-top:18px}

/* Player Prop Odds: hero text and the freshness card sit inside one deck */
.player-prop-hero{display:grid!important;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:center}
.player-prop-hero>div{min-width:0}
.player-prop-hero .prop-odds-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.player-prop-hero .prop-odds-summary span{padding:8px 14px;border:1px solid var(--ke-hairline-strong);border-radius:14px;background:#0e0f12cc;color:var(--ke-text-2);font-size:12.5px}
.player-prop-hero .prop-odds-summary strong{margin-right:4px;color:#fff;font-family:var(--ke-display);font-size:20px;font-weight:600}
.player-prop-hero .prop-odds-freshness{position:relative;margin:0!important;padding:18px 20px!important;border:1px solid var(--ke-hairline)!important;border-radius:18px!important;background:#0e0f12cc!important;backdrop-filter:blur(8px);box-shadow:none!important}
.player-prop-hero .prop-odds-freshness strong{display:block;margin:10px 0 6px;color:#fff;font-size:14.5px;line-height:1.4}
.player-prop-hero .prop-odds-freshness small{display:block;color:var(--ke-text-3)}
.player-prop-hero .prop-odds-freshness a{display:inline-flex;margin-top:12px;color:var(--ke-mint)!important;font-size:13px;font-weight:650}
.prop-odds-state-available::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--ke-mint);vertical-align:1px;animation:kt-tool-ping 2.2s ease-out infinite}
@keyframes kt-tool-ping{0%{box-shadow:0 0 0 0 #31fbb780}70%,100%{box-shadow:0 0 0 7px #31fbb700}}

/* Prop Research hero keeps its sport switch and freshness on the right */
.pr-hero{display:flex!important;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* ---- Toolbars: every filter panel becomes one slim bar ---- */
:is(.prop-odds-controls,.karmacards-hub .filters,.prop-lab-controls,.prop-lab .panel:has(select)){position:relative;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:8px 10px!important;margin:0 0 22px!important;padding:12px 14px!important;border:1px solid var(--ke-hairline)!important;border-radius:18px!important;background:linear-gradient(180deg,#0f1013,#0b0b0d)!important;box-shadow:inset 0 1px 0 #ffffff0a!important}
:is(.prop-odds-controls,.karmacards-hub .filters,.prop-lab-controls) label{display:flex!important;flex-direction:column;gap:5px;margin:0!important;color:var(--ke-text-3)!important;font-size:10.5px!important;font-weight:700!important;letter-spacing:.1em;text-transform:uppercase}
:is(.prop-odds-controls,.karmacards-hub .filters,.prop-lab-controls,.prop-lab .panel) :is(select,input[type=search],input[type=text]){width:100%!important;height:38px!important;min-height:0!important;margin:0!important;padding:0 12px!important;border:1px solid var(--ke-hairline)!important;border-radius:10px!important;background:#131316!important;color:#fff!important;font:500 13px var(--ke-body)!important;letter-spacing:0;text-transform:none;box-shadow:none!important}
:is(.prop-odds-controls,.karmacards-hub .filters,.prop-lab-controls,.prop-lab .panel) :is(select,input):focus{outline:0;border-color:#2dfce666!important;box-shadow:0 0 0 3px #2dfce61a!important}
:is(.prop-odds-actions,.prop-lab-actions,.karmacards-hub .filters .actions){display:flex!important;align-items:center;gap:8px;grid-column:auto!important;margin:0!important}
:is(.prop-odds-controls,.karmacards-hub .filters,.prop-lab-controls,.prop-lab .panel) :is(button,.button){min-height:38px!important;height:38px;padding:0 16px!important;border-radius:10px!important;font-size:13px!important;white-space:nowrap}
.karmacards-hub .filters>:is(.eyebrow,h2,.section-head){display:none}

/* ---- Sport selector (Prop Lab) and platform tabs (NFL props) ---- */
.prop-sport-selector{display:flex!important;flex-wrap:wrap;gap:6px!important;margin:0 0 14px!important}
.prop-sport-card{flex:0 0 auto;flex-direction:row!important;align-items:center;gap:10px!important;padding:10px 16px!important;border:1px solid var(--ke-hairline)!important;border-radius:999px!important;background:#0b0b0d!important;transition:border-color .2s,background .2s}
.prop-sport-card strong{font-size:14px}
.prop-sport-card span{font-size:11.5px!important}
.prop-sport-card.selected{border-color:#2dfce666!important;background:linear-gradient(90deg,#2dfce614,#0b0b0d)!important;box-shadow:0 0 0 1px #2dfce622,0 0 24px #2dfce614!important}
.prop-sport-card:hover{border-color:#ffffff33!important}
.platform-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 16px!important;padding:4px;width:max-content;max-width:100%;border:1px solid var(--ke-hairline);border-radius:999px;background:#050506}
.platform-tabs a{padding:7px 16px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--ke-text-2)!important;font-size:13px;font-weight:650}
.platform-tabs a[aria-current=page]{background:#1c1c20!important;color:#fff!important;box-shadow:inset 0 0 0 1px #ffffff14}
.platform-tabs .badge{align-self:center;margin-left:4px}

/* ---- Shared card chrome: light glow line + slow travelling border ---- */
:is(.karmacard,.ke-showcase-locked>article,.free-player-market-card,.prop-game-section,.platform-statuses>.panel,.prop-stats>.stat,.research-pathways-grid>a,.karmacards-hub .ke-karmacards-elite){position:relative;isolation:isolate}
:is(.karmacard,.free-player-market-card,.pr-main,.prop-game-section)::before{content:"";position:absolute;top:0;left:14%;right:14%;z-index:2;height:1px;background:var(--kt-line);opacity:.55;box-shadow:0 0 10px 1px #2dfce626;pointer-events:none;transition:opacity .25s}
:is(.karmacard,.free-player-market-card)::after{content:"";position:absolute;inset:0;z-index:2;padding:1px;border-radius:inherit;background:conic-gradient(from var(--kt-tool-angle),transparent 0 82%,#2dfce659 90%,#31fbb766 93%,transparent 97%);-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:kt-tool-orbit 10s linear infinite;pointer-events:none}
:is(.karmacard,.free-player-market-card):nth-child(2n)::after{animation-delay:-3.3s}
:is(.karmacard,.free-player-market-card):nth-child(3n)::after{animation-delay:-6.6s}
:is(.karmacard,.free-player-market-card):hover::before{opacity:.95}

/* ---- KarmaCards grid: four across, locked previews are real tiles ---- */
.karmacard-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(292px,100%),1fr))!important;gap:14px!important;align-items:stretch}
.karmacard-grid>.ke-showcase-locked{display:contents!important}
.karmacard{display:flex!important;flex-direction:column;gap:12px!important;min-width:0;margin:0!important;padding:16px!important;border:1px solid var(--ke-hairline)!important;border-radius:22px!important;background:var(--kt-surface)!important;box-shadow:inset 0 1px 0 #ffffff0a!important;transition:border-color .2s,transform .2s,box-shadow .2s;animation:kt-tool-rise .55s cubic-bezier(.2,.7,.2,1) both}
.karmacard:hover{border-color:#ffffff29!important;transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff0a,0 18px 40px #00000080!important}
.karmacard-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0!important}
.karmacard-platform{color:var(--ke-text-2)!important;font-size:10.5px!important;font-weight:800!important;letter-spacing:.14em;text-transform:uppercase}
.karmacard-player-row{display:flex!important;align-items:center;gap:12px!important;margin:0!important}
.karmacard-player-row .ke-asset{width:52px!important;height:52px!important;border-radius:16px!important}
.karmacard-player-row h3{margin:2px 0!important;color:#fff;font-family:var(--ke-display);font-size:19px!important;font-weight:600;line-height:1.15;letter-spacing:-.02em}
.karmacard-market{color:var(--ke-mint)!important;font-size:10.5px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.karmacard-position{color:var(--ke-text-3)!important;font-size:12px}
/* The AI Score reads as one slim row: number left, stars right */
.karmacard .ke-research-rank{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:0!important;padding:10px 14px!important;border:1px solid #f2c14e38!important;border-radius:14px!important;background:linear-gradient(90deg,#f2c14e12,#f2c14e03)!important;box-shadow:none!important}
.karmacard .ke-research-rank .ke-rank-score{display:flex!important;align-items:baseline;gap:10px;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;text-align:left!important}
.karmacard .ke-research-rank .ke-rank-score small{color:var(--ke-text-2)!important;font-size:10px!important;font-weight:700!important;letter-spacing:.12em;text-transform:uppercase}
.karmacard .ke-research-rank .ke-rank-score strong{color:#fff!important;font-family:var(--ke-display);font-size:26px!important;font-weight:600!important;line-height:1!important}
.karmacard .ke-research-rank .ke-rank-stars{padding:0!important;border:0!important;background:none!important}
.karmacard .ke-research-rank .ke-rank-stars b{color:var(--ke-gold)!important;font-size:13px!important;letter-spacing:2px;text-shadow:0 0 14px #f2c14e40}
.karmacard-matchup{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;margin:0!important;padding:8px 12px!important;border:1px solid var(--ke-hairline)!important;border-radius:12px!important;background:#0d0d10!important;color:#fff}
.karmacard-matchup>span{display:inline-flex;align-items:center;gap:6px}
.karmacard-matchup .ke-asset{width:26px!important;height:26px!important;border-radius:8px!important}
.karmacard-matchup i{color:var(--ke-text-3);font-size:11px;font-style:normal}
.karmacard-matchup small{margin-left:auto;color:var(--ke-text-3)!important;font-size:11px}
.karmacard-projection-band{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0!important;margin:0!important;padding:0!important;border:1px solid #31fbb733!important;border-radius:14px!important;background:linear-gradient(135deg,#2dfce60d,#0d0d10 70%)!important;overflow:hidden}
.karmacard-projection-band>span{display:flex!important;flex-direction:column;gap:6px;min-width:0;padding:10px 12px!important;border:0!important;border-left:1px solid var(--ke-hairline)!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.karmacard-projection-band>span:first-child{border-left:0!important}
.karmacard-projection-band small{color:var(--ke-text-3)!important;font-size:9.5px!important;font-weight:700;letter-spacing:.08em;line-height:1.25;text-transform:uppercase}
.karmacard-projection-band strong{color:#fff!important;font-family:var(--ke-display);font-size:20px!important;font-weight:600;line-height:1}
.karmacard-projection-band>span:last-child strong{background:var(--ke-accent);-webkit-background-clip:text;background-clip:text;color:transparent!important}
/* 2026-10-18: when the line was last seen, under the line itself. */
.karmacard-line-asof{margin:-4px 2px 0!important;color:var(--ke-text-3)!important;font-size:11px!important;font-weight:600;line-height:1.3;letter-spacing:.01em}
.karmacard-prices{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin:0!important}
.karmacard-prices span{padding:8px 12px!important;border:1px solid var(--ke-hairline)!important;border-radius:10px!important;background:#0d0d10!important;color:var(--ke-text-2);font-size:12.5px;font-variant-numeric:tabular-nums}
.karmacard-prices b{color:#fff}
.karmacard-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:auto -16px -16px!important;padding:12px 16px!important;border-top:1px solid var(--ke-hairline);color:var(--ke-text-3);font-size:12px}
.karmacard-footer strong{color:var(--ke-mint)!important;font-size:12.5px}
/* Locked previews: a calm card with a skeleton and one lock chip */
.ke-showcase-locked>article{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:300px;margin:0!important;padding:18px!important;border:1px solid var(--ke-hairline)!important;border-radius:22px!important;background:var(--kt-surface)!important;overflow:hidden;filter:none!important;animation:kt-tool-rise .55s cubic-bezier(.2,.7,.2,1) both}
.ke-showcase-locked>article>div{position:absolute;inset:16px;display:grid!important;grid-template-rows:52px 34px 1fr 40px;gap:10px;opacity:.55;filter:none!important}
.ke-showcase-locked>article>div>*{display:block!important;width:auto!important;height:auto!important;margin:0!important;border:1px solid var(--ke-hairline);border-radius:12px;background:linear-gradient(90deg,#0f0f12 0%,#18181c 50%,#0f0f12 100%);background-size:200% 100%;filter:none!important;animation:kt-tool-sheen 2.6s ease-in-out infinite}
.ke-showcase-locked>article>div>span:nth-of-type(n+2){display:none!important}
@keyframes kt-tool-sheen{0%{background-position:100% 0}100%{background-position:-100% 0}}
.ke-showcase-locked>article>strong{position:relative;z-index:1;padding:8px 14px;border:1px solid #f2c14e55;border-radius:999px;background:#0b0b0dee;color:#e8d7a8!important;font-size:12px;font-weight:700}
.karmacard-grid>.ke-showcase-locked>article:nth-child(n){animation-delay:.08s}

/* Availability / upsell strips */
:is(.karmacards-hub,.prop-lab,.prop-research-shell,main>.shell:has(>.prop-machine-hero)) .ke-live-availability{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 0 14px!important;padding:12px 14px 12px 18px!important;border:1px solid #f2c14e38!important;border-radius:14px!important;background:linear-gradient(90deg,#f2c14e10,#0b0b0d 55%)!important;box-shadow:none!important}
:is(.karmacards-hub,.prop-lab,.prop-research-shell,main>.shell:has(>.prop-machine-hero)) .ke-live-availability .button{margin-left:auto;min-height:36px;padding:0 16px!important;font-size:13px}
.karmacards-hub .ke-karmacards-elite{margin:0 0 16px!important;padding:18px 22px!important;border-radius:20px!important}
.karmacards-hub .ke-karmacards-elite::after{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,#f7c75a 35%,#e6a83c 65%,transparent);opacity:.7;pointer-events:none}
:is(.karmacards-section,.prop-lab .karmacards-section) .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:28px 0 14px!important}
:is(.karmacards-section) .section-head h2{margin:6px 0 4px!important;color:#fff;font-size:26px!important;font-weight:600;letter-spacing:-.025em}
:is(.karmacards-section) .section-head p{margin:0;color:var(--ke-text-3)!important;font-size:13px}

/* ---- Player Prop Odds board: game panels with a card grid inside ---- */
.prop-game-board{display:grid;gap:16px}
.prop-game-section{margin:0!important;padding:0!important;border:1px solid var(--ke-hairline)!important;border-radius:22px!important;background:linear-gradient(180deg,#0d0e11,#08080a)!important;box-shadow:none!important;overflow:visible}
.prop-game-header{display:flex!important;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0!important;padding:14px 18px!important;border:0!important;border-bottom:1px solid var(--ke-hairline)!important;background:none!important}
.prop-game-matchup{display:flex!important;align-items:center;gap:8px}
.prop-game-matchup>span{display:inline-flex;align-items:center;gap:7px;color:#fff;font-weight:700}
.prop-game-matchup .ke-asset{width:30px!important;height:30px!important}
.prop-game-matchup b{color:var(--ke-text-3);font-size:10.5px;letter-spacing:.14em}
.prop-game-header h2,.prop-game-header h3{margin:0!important;color:#fff;font-size:18px!important;font-weight:600}
.player-market-card-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))!important;gap:12px!important;padding:14px!important}
.free-player-market-card{display:flex!important;flex-direction:column;gap:10px;min-width:0;margin:0!important;padding:14px!important;border:1px solid var(--ke-hairline)!important;border-radius:18px!important;background:var(--kt-surface)!important;box-shadow:inset 0 1px 0 #ffffff0a!important;animation:kt-tool-rise .55s cubic-bezier(.2,.7,.2,1) both}
.free-player-market-card .market-card-player{display:flex!important;align-items:center;gap:12px}
.free-player-market-card .market-card-player-art .ke-asset{width:48px!important;height:48px!important;border-radius:14px!important}
.free-player-market-card .market-card-player h3{margin:2px 0!important;color:#fff;font-size:17px!important;font-weight:600}
.free-player-market-card .market-card-line{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;margin:0!important;padding:8px 12px!important;border:1px solid var(--ke-hairline)!important;border-radius:12px!important;background:#0d0d10!important}
.free-player-market-card .market-card-sides{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin:0!important}
.free-player-market-card .market-card-sides>*{margin:0!important;padding:10px 12px!important;border-radius:12px!important}
.free-player-market-card .all-books-comparison{margin:0!important;border:1px solid var(--ke-hairline)!important;border-radius:12px!important;background:#0b0b0d!important}
.free-player-market-card .market-card-updated{margin:0!important;color:var(--ke-text-3)!important;font-size:11.5px}
.free-player-market-card .market-card-upgrade-cta{margin:auto 0 0!important;padding:10px 12px!important;border-radius:12px!important}
.research-pathways,.prop-odds-upgrade{margin-top:28px!important;border-radius:22px!important}
.research-pathways-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}

/* ---- Prop Research: the rail and the player card as glass panels ---- */
.pr-layout{gap:16px!important}
.pr-rail,.pr-main{border:1px solid var(--ke-hairline)!important;border-radius:22px!important;background:var(--kt-surface)!important;box-shadow:inset 0 1px 0 #ffffff0a!important}
/* The rail stays sticky on desktop and a fixed drawer on phones: only paint it. */
.pr-main{position:relative;isolation:isolate}
.pr-sticky{background:#111114!important;border-radius:22px 22px 0 0!important}
.pr-card{border:0!important;background:none!important;box-shadow:none!important}
.pr-rail-game{border:1px solid var(--ke-hairline)!important;border-radius:14px!important;background:#0b0b0d!important;overflow:hidden}
.pr-rail-player{transition:background .15s}
.pr-rail-player:hover{background:#ffffff08!important}
.pr-rail-player[aria-current],.pr-rail-player.is-active{background:linear-gradient(90deg,#2dfce614,transparent)!important;box-shadow:inset 3px 0 0 #2dfce6}
.pr-line-chip{border-radius:12px!important;box-shadow:0 0 0 1px #2dfce622,0 0 22px #2dfce60f}
.pr-keystats{gap:10px!important}
.pr-keystats>*{padding:12px 14px!important;border:1px solid var(--ke-hairline);border-radius:14px;background:#0d0d10}
.pr-empty{border-radius:16px!important}

/* ---- NFL props / platform boards ---- */
.platform-statuses{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:10px!important;margin:0 0 14px!important}
.platform-statuses>.panel,.prop-stats>.stat{margin:0!important;padding:14px 16px!important;border:1px solid var(--ke-hairline)!important;border-radius:16px!important;background:var(--kt-surface)!important;box-shadow:inset 0 1px 0 #ffffff0a!important}
.platform-statuses>.panel strong{display:block;margin:6px 0 4px;color:#fff;font-size:13.5px}
.platform-statuses>.panel p{margin:0;font-size:12.5px}
.prop-stats{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;gap:10px!important}
.prop-stats>.stat strong{display:block;margin-top:6px;color:#fff;font-family:var(--ke-display);font-size:26px;font-weight:600}
main>.shell:has(>.prop-machine-hero) .status-strip{margin:0 0 16px!important;padding:10px 14px!important;border:1px solid var(--ke-hairline)!important;border-radius:14px!important;background:#0b0b0d!important}
main>.shell:has(>.prop-machine-hero) .table-wrap{border:1px solid var(--ke-hairline)!important;border-radius:18px!important;background:var(--kt-surface)!important;overflow:auto}
main>.shell:has(>.prop-machine-hero) .table-wrap th{color:var(--ke-text-3)!important;font-size:10.5px!important;letter-spacing:.1em}
main>.shell:has(>.prop-machine-hero) .table-wrap tbody tr:hover{background:#ffffff06}

/* ---- Prop Lab status line ---- */
.prop-lab-status{margin:4px 0 18px!important}
.prop-lab-gate{border:1px solid var(--ke-hairline)!important;border-left:3px solid #2dfce6!important;border-radius:14px!important;background:#0b0b0d!important}

/* ---- Staggered entrance for the grids ---- */
.karmacard-grid>*:nth-child(2),.player-market-card-grid>*:nth-child(2){animation-delay:.05s}
.karmacard-grid>*:nth-child(3),.player-market-card-grid>*:nth-child(3){animation-delay:.1s}
.karmacard-grid>*:nth-child(4),.player-market-card-grid>*:nth-child(4){animation-delay:.15s}
.karmacard-grid>*:nth-child(n+5),.player-market-card-grid>*:nth-child(n+5){animation-delay:.2s}

@media(max-width:900px){
  .player-prop-hero{grid-template-columns:1fr}
}
@media(max-width:640px){
  :is(.player-prop-odds,.karmacards-hub,.prop-lab,.prop-research-shell,.prop-research,main>.shell:has(>.prop-machine-hero)){width:calc(100% - 32px)!important;padding-top:18px}
  :is(.player-prop-hero,.karmacards-hub>.page-hero,.prop-lab-hero,.prop-machine-hero,.pr-hero){padding:22px 18px!important;border-radius:20px!important}
  :is(.prop-odds-controls,.karmacards-hub .filters,.prop-lab-controls,.prop-lab .panel:has(select)){grid-template-columns:1fr 1fr!important;padding:10px!important}
  :is(.prop-odds-actions,.prop-lab-actions,.karmacards-hub .filters .actions){grid-column:1/-1!important}
  :is(.prop-odds-actions,.prop-lab-actions,.karmacards-hub .filters .actions) :is(button,.button){flex:1}
  .player-market-card-grid{padding:10px!important}
  .ke-showcase-locked>article{min-height:220px}
  .platform-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}
  :is(.karmacards-section) .section-head{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  :is(.karmacard,.free-player-market-card,.ke-showcase-locked>article),:is(.karmacard,.free-player-market-card)::after,:is(.player-prop-hero,.karmacards-hub>.page-hero,.prop-lab-hero,.prop-machine-hero,.pr-hero)::before,.ke-showcase-locked>article>div>*,.prop-odds-state-available::before{animation:none!important}
  .karmacard,.karmacard:hover{transition:none;transform:none}
}

/* Player Prop Odds card internals, tuned for the ~300px grid tile */
.player-prop-hero>div{padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}
.player-prop-hero>div::before,.player-prop-hero>div::after{display:none!important}
.free-player-market-card>*{margin-left:0!important;margin-right:0!important}
.free-player-market-card .market-card-player{position:relative;grid-template-columns:auto minmax(0,1fr)!important;gap:12px!important;padding:0 64px 0 0!important}
.free-player-market-card .market-card-player-art{width:52px!important;height:52px!important}
.free-player-market-card .market-card-player-art .ke-asset{width:52px!important;height:52px!important}
.free-player-market-card .market-card-player>div>span{color:var(--ke-mint);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.free-player-market-card .market-card-player p{margin:0!important;color:var(--ke-text-2);font-size:12px}
.free-player-market-card .market-card-player small{color:var(--ke-text-3);font-size:11.5px}
.free-player-market-card .market-card-live-dot{position:absolute;top:0;right:0;grid-column:auto!important;padding:3px 9px!important;font-size:10px!important}
.free-player-market-card .market-card-line{flex-wrap:wrap;gap:4px 10px!important}
.free-player-market-card .market-card-line>span{color:var(--ke-text-3);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.free-player-market-card .market-card-line>strong{color:#fff;font-family:var(--ke-display);font-size:22px;font-weight:600}
.free-player-market-card .market-card-line>small{flex-basis:100%;color:var(--ke-text-3);font-size:11px;line-height:1.35}
.free-player-market-card .market-side{display:flex;flex-direction:column;gap:4px}
.free-player-market-card .market-side>span{font-size:10px!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.free-player-market-card .market-side b{font-family:var(--ke-display);font-size:22px!important;line-height:1}
.free-player-market-card .market-side small{color:var(--ke-text-3);font-size:11px}
.free-player-market-card .market-book{display:flex;align-items:center;gap:6px}
.free-player-market-card .market-book i{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#1c1c20;color:#fff;font-size:9px;font-style:normal;font-weight:800}
.free-player-market-card .market-book strong{color:#fff;font-size:12.5px}
.free-player-market-card .all-books-comparison summary{display:flex;align-items:center;gap:8px;padding:10px 12px!important;font-size:12.5px;cursor:pointer}
.free-player-market-card .all-books-comparison summary>span{flex:1;min-width:0;color:#fff;font-weight:600;line-height:1.35}
.free-player-market-card .all-books-comparison summary>small{flex:none;max-width:40%;color:var(--ke-text-3);font-size:11px;text-align:right}
.free-player-market-card>footer{display:flex;flex-direction:column;gap:8px;margin:auto -14px -14px!important;padding:12px 14px!important;border-top:1px solid var(--ke-hairline);border-radius:0 0 18px 18px;background:none!important}
.free-player-market-card .market-card-upgrade-cta{display:flex!important;flex-direction:column;align-items:center;gap:2px;width:100%;margin:0!important;text-align:center}
.free-player-market-card .market-card-upgrade-cta strong{font-size:12.5px!important;letter-spacing:.02em}
.free-player-market-card .market-card-upgrade-cta small{font-size:10.5px!important}
.prop-game-header>div:not(.prop-game-matchup){text-align:center}
.prop-game-header .eyebrow{font-size:10px!important}
.game-card-count{padding:4px 10px;border:1px solid var(--ke-hairline-strong);border-radius:999px;color:var(--ke-text-2);font-size:11.5px}
:is(.prop-odds-controls,.karmacards-hub .filters,.prop-lab-controls) label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.free-player-market-card .market-card-sides{padding:0!important}

/* Toolbars wrap as flex so the buttons never spill out of the bar */
:is(.prop-odds-controls,.karmacards-hub .filters,.prop-lab-controls,.prop-lab .panel:has(select)){display:flex!important;flex-wrap:wrap}
:is(.prop-odds-controls,.karmacards-hub .filters,.prop-lab-controls,.prop-lab .panel:has(select))>label{flex:1 1 150px;min-width:0}
:is(.prop-odds-controls,.karmacards-hub .filters,.prop-lab-controls,.prop-lab .panel:has(select))>:is(.prop-odds-actions,.prop-lab-actions,button,.button){flex:0 0 auto;align-self:flex-end}
.karmacards-filter-panel{margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
.karmacards-filter-panel>.section-head{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* KarmaCard numbers: labels wrap on word boundaries only */
.karmacard-projection-band small{overflow-wrap:normal!important;word-break:normal!important;hyphens:none;letter-spacing:.04em!important}

/* Locked preview skeleton: avatar, a title bar, one body block */
.ke-showcase-locked>article>div{display:flex!important;flex-direction:column;gap:10px}
.ke-showcase-locked>article>div>i{flex:0 0 52px;width:52px!important;border-radius:16px!important}
.ke-showcase-locked>article>div>b{flex:0 0 18px;width:62%!important}
.ke-showcase-locked>article>div>span:first-of-type{flex:1 1 auto}
:is(.prop-odds-controls,.karmacards-hub .filters,.prop-lab-controls,.prop-lab .panel) input:not([type=hidden]):not([type=checkbox]):not([type=radio]){width:100%!important;height:38px!important;min-height:0!important;margin:0!important;padding:0 12px!important;border:1px solid var(--ke-hairline)!important;border-radius:10px!important;background:#131316!important;color:#fff!important;font:500 13px var(--ke-body)!important;box-shadow:none!important}
.karmacard .karmacard-projection-band{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.karmacard .karmacard-projection-band>span{grid-column:auto!important}
.karmacards-hub .karmacards-section,.prop-lab .karmacards-section{margin-top:8px!important;padding-top:0!important}
/* Prop Research sport switch in the site's segmented style */
.pr-sport-switch{padding:3px!important;border:1px solid var(--ke-hairline)!important;border-radius:999px!important;background:#050506!important}
.pr-sport-switch a{border-radius:999px!important;color:var(--ke-text-2)!important}
.pr-sport-switch a[aria-current]{background:#1c1c20!important;color:#fff!important;box-shadow:inset 0 0 0 1px #2dfce640,0 0 18px #2dfce61a!important}
@media(max-width:640px){
  .pr-hero{flex-direction:column;align-items:flex-start!important;text-align:left!important}
  .pr-hero>*{text-align:left!important;align-items:flex-start!important}
}
/* PrizePicks / Underdog sport filter: the same teal pills as Prop Lab's selector
   (gold is kept for purchase calls to action) */
.platform-sport-filter{display:flex!important;flex-wrap:wrap;gap:6px!important;margin:0 0 14px!important}
.platform-sport-option{flex:0 0 auto;flex-direction:row!important;align-items:center;gap:10px!important;min-height:0!important;padding:10px 16px!important;border:1px solid var(--ke-hairline)!important;border-radius:999px!important;background:#0b0b0d!important;color:#fff!important;box-shadow:none!important}
.platform-sport-option strong{font-size:14px}
.platform-sport-option span{font-size:10.5px!important}
.platform-sport-option.selected{border-color:#2dfce666!important;background:linear-gradient(90deg,#2dfce614,#0b0b0d)!important;box-shadow:0 0 0 1px #2dfce622,0 0 24px #2dfce614!important;color:#fff!important}
.prop-machine-hero .selected-sport-state{display:inline-flex;margin:0 0 10px;padding:3px 10px;border:1px solid #2dfce640;border-radius:999px;color:var(--ke-mint);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:640px){
  .platform-statuses>.panel{padding:12px 14px!important}
  .platform-statuses>.panel p{display:none}
  .prop-machine-hero .actions{display:grid;grid-template-columns:1fr;gap:8px}
}
/* The AI Score number never breaks (live it rendered "9 / 9"): the number and
   stars keep their width and the label takes what is left. */
.karmacard .ke-research-rank{gap:8px!important}
.karmacard .ke-research-rank .ke-rank-score{flex:1 1 auto;min-width:0}
.karmacard .ke-research-rank .ke-rank-score small{min-width:0;font-size:9.5px!important;letter-spacing:.06em!important;line-height:1.25}
.karmacard .ke-research-rank .ke-rank-score strong{flex:none;white-space:nowrap;word-break:keep-all!important;overflow-wrap:normal!important}
.karmacard .ke-research-rank .ke-rank-stars{flex:none}
.karmacard .ke-research-rank .ke-rank-stars b{white-space:nowrap;font-size:12px!important;letter-spacing:1px!important}
/* KarmaCard share on X (2026-10-06): the button sits on the card's top-right
   corner, outside the card link so the two never nest. */
.karmacard-shell{position:relative;display:flex;min-width:0}
.karmacard-shell>.karmacard{flex:1 1 auto;width:100%}
.karmacard-shell .karmacard-topline{padding-right:86px}
.karmacard-share{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--ke-hairline-strong,rgba(255,255,255,.14));border-radius:999px;background:#0c0d10;color:#f5f7f8;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s,color .15s}
.karmacard-share:hover,.karmacard-share:focus-visible{border-color:#31fbb7;background:#31fbb714;color:#31fbb7}
.karmacard-share svg{flex:none}
/* Shared KarmaCard page (2026-10-07): card left, unlock + lines right. */
.ke-prop-detail{padding-top:24px}
.ke-prop-crumbs{display:flex;gap:8px;color:var(--ke-text-3);font-size:13px}
.ke-prop-crumbs a{color:var(--ke-text-2);text-decoration:none}
.ke-prop-detail-hero h1 span{color:var(--ke-mint)}
.ke-prop-detail-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:24px;align-items:start;margin:8px 0 28px}
.ke-prop-detail-card .karmacard h2{margin:2px 0 0;font-family:var(--ke-display);font-size:24px;font-weight:600;letter-spacing:-.01em}
.karmacard-projection-band>span.ke-locked-value strong,.ke-locked-value strong{position:relative;display:inline-flex!important;align-items:center;gap:8px;color:var(--ke-mint)!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important}
.ke-locked-value strong i{display:inline-block;width:46px;height:12px;border-radius:6px;background:linear-gradient(90deg,#31fbb740,#31fbb714);filter:blur(1px)}
.ke-prop-detail-side{display:grid;gap:16px}
.ke-prop-unlock,.ke-prop-lines{padding:22px;border:1px solid var(--ke-hairline);border-radius:18px;background:linear-gradient(180deg,#0f1013,#0a0a0c)}
.ke-prop-unlock{border-color:#f2c14e55;background:radial-gradient(120% 140% at 100% 0,#f2c14e14,transparent 60%),#0b0b0d}
.ke-prop-unlock h2,.ke-prop-lines h2{margin:6px 0 12px;font-family:var(--ke-display);font-size:20px;font-weight:600}
.ke-prop-unlock .ke-checks{display:grid;gap:8px;margin:0 0 16px;padding:0;list-style:none;color:var(--ke-text-2);font-size:14px}
.ke-prop-unlock .ke-checks li{display:flex;gap:8px;align-items:flex-start}
.ke-prop-unlock .muted{margin:12px 0 0;font-size:13px}
.ke-prop-lines ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.ke-prop-lines li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--ke-hairline);border-radius:12px;background:#0c0d10}
.ke-prop-lines li span{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.ke-prop-lines li strong{font-family:var(--ke-display);font-size:17px;font-variant-numeric:tabular-nums}
.ke-prop-lines li small{color:var(--ke-text-3);font-size:12px;font-variant-numeric:tabular-nums}
.ke-prop-lines-more{display:inline-block;margin-top:12px;color:var(--ke-mint);font-size:13px;font-weight:600;text-decoration:none}
@media(max-width:860px){.ke-prop-detail-grid{grid-template-columns:1fr}}
/* The free game card on the KarmaCards hub when no prop card is on the board
   (2026-10-17): one readable card with its note under it. Side by side in one
   grid cell, with room kept for a share button it does not have, its header
   wrapped one letter per line on desktop. */
.karmacard-grid.ke-free-game-grid{grid-template-columns:minmax(0,460px)!important}
.ke-free-game-grid>.ke-free-game-slide{flex-direction:column;gap:12px}
.ke-free-game-slide>.hero-free-game-karmacard .karmacard-topline{padding-right:0}
.ke-free-game-slide .top-karmaedge-game-assets{display:flex;align-items:center;justify-content:center;gap:22px}
.ke-free-game-slide .top-karmaedge-game-assets>span{display:flex;flex-direction:column;align-items:center;gap:6px}
.ke-free-game-note{margin:0;color:var(--ke-text-2);font-size:13.5px;line-height:1.5}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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