/* style.css */
/* ============================================================================
   WarriorIQ breakpoints
   ----------------------------------------------------------------------------
   Four widths. Nothing else should introduce a fifth.

     --wiq-bp-compact   480px   one column, controls stack, labels shorten
     --wiq-bp-phone     620px   the phone layout proper
     --wiq-bp-stacked   900px   tables become cards, two columns become one
     --wiq-bp-desktop  1180px   the desktop nav hands over to the hamburger

   Media queries cannot read a custom property in their condition, so these are
   declared as a comment and as tokens: the tokens exist so a component can
   reference the same number in a width or a padding and stay in step, and the
   comment is what a person reads before typing a new @media.

   Why these four, and not a fresh set. The stylesheets currently hold 21
   distinct max-width breakpoints across 58 uses, most appearing once. The
   distribution is not flat - 620px is used 16 times and 900px 9 times, and
   between them they already carry nearly half of everything. Those two are the
   system that grew here; the other nineteen are drift around them. 480px and
   1180px are the ends: 1180 is where the nav now hands over, which is a real
   hand-off rather than a round number.

   The set proposed in the audit - 520 / 760 / 1000 / 1180 - is a cleaner ruler,
   but 520, 760 and 1000 appear nowhere in this codebase, so adopting it moves
   all 58 uses and changes behaviour at every one of them. This set leaves 27 of
   the 58 exactly where they are.

   MIGRATION IS NOT DONE, and is deliberately not being forced through in one
   pass. The shipped bundle switches on 22 widths across 71 media queries.
   Measured before deciding: /, /pricing and /analyze/kickboxing swept at 360,
   430, 520, 620, 700, 850, 1000 and 1180 - 25 measurements - showed zero
   horizontal overflow and navigation present at every width on every page.
   Moving all 71 queries onto the four values above would change behaviour at
   each of them to fix a defect that measurement cannot find, which is a poor
   trade on a live site. So the set is RATCHETED instead: the 22 are listed in
   NavigationReachabilityTests.KNOWN_BREAKPOINTS and a 23rd fails the suite.
   The list may shrink whenever a rule is moved onto the scale for a reason.

   Note when shrinking it: 981 is not ad-hoc. max-width:980 paired with
   min-width:981 is how a two-sided boundary is written without a one-pixel
   overlap, so those two belong together.

   The one rule that already holds: every display rule for .navlinks,
   .nav-more, .account-nav and .mobile-menu-button lives at one breakpoint and
   nowhere else, because splitting those across three breakpoints is what left
   a signed-in visitor between 901px and 1180px with no navigation at all.
   ========================================================================= */
:root{
  --wiq-bp-compact:480px;
  --wiq-bp-phone:620px;
  --wiq-bp-stacked:900px;
  --wiq-bp-desktop:1180px;
}

:root{--ink:#f7f7f3;--muted:#989c9a;--bg:#07101f;--surface:#0d1729;--line:#243653;--lime:#2f6fed;--green:#4ade80;--amber:#fbbf24;--red:#fb7185;--shadow:0 28px 80px #0006;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}.shell{width:min(1280px,calc(100% - 36px));margin:auto}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff14;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:950;letter-spacing:-1px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--lime);color:#07101f;font-size:12px;box-shadow:0 0 30px #2f6fed2e}.brand span{color:var(--lime)}.navlinks{display:flex;gap:4px}.navlinks a{padding:10px 12px;color:#aeb4af;font-size:14px;font-weight:650;border-radius:10px}.navlinks a:hover{color:white;background:#ffffff0f}.nav-cta{border:1px solid #254781!important;color:var(--lime)!important}.hero{min-height:690px;padding:74px 0 60px;display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--lime);font-size:11px;font-weight:900;letter-spacing:2.2px;text-transform:uppercase}.eyebrow:before{content:"";width:18px;height:2px;background:currentColor}.hero h1{font-size:clamp(52px,6.6vw,94px);line-height:.91;letter-spacing:-5.5px;margin:18px 0 25px}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #8e958f}.hero p{font-size:18px;line-height:1.7;color:#a7aca8;max-width:650px}.trust-row,.selection-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:24px}.hero-card,.card{position:relative;background:linear-gradient(145deg,#111b2efa,#0b1324fa);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:28px}.card{padding:25px;margin-bottom:20px}.card:hover{border-color:#31517f}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric{padding:17px;border:1px solid var(--line);background:#0a1425;border-radius:15px}.metric .value{font-size:29px;font-weight:900;letter-spacing:-1.5px}.metric .label{margin-top:4px;font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted)}h1,h2,h3{letter-spacing:-.035em}h2{font-size:30px}input,select,textarea,button{font:inherit}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field label{font-size:11px;color:#b8bdb9;font-weight:850;text-transform:uppercase;letter-spacing:.8px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#090c0a;color:var(--ink);border-radius:12px;padding:12px 13px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #2f6fed14}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 17px;font-weight:900;cursor:pointer;background:var(--lime);color:#07101f;transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn.secondary{background:#14213a;color:var(--ink);border:1px solid #2c4368}.btn.danger{background:#35171d;color:#ffb2ba;border:1px solid #642b34}.muted{color:var(--muted)}.small{font-size:13px}.pill{display:inline-flex;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#111b2c;color:#c8cec9;font-size:11px;font-weight:800}.good{color:var(--green)}.warn{color:var(--amber)}.bad{color:var(--red)}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:50px 0 24px}.section-title h2{margin:6px 0 0}.notice{padding:15px 17px;background:#2f6fed0e;border:1px solid #274675;border-left:3px solid var(--lime);border-radius:13px;color:#bdc5bd;margin:16px 0}.select-stage,.replay-wrap{position:relative;background:#030403;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:18px}.select-stage img,.replay-wrap video{display:block;width:100%;max-height:72vh;object-fit:contain}.select-stage canvas,.replay-wrap canvas{position:absolute;inset:0}.selection-status{padding:13px 16px;border-radius:12px;background:#111b2c;color:#bac1bb;margin-top:16px}.progress-shell{height:10px;border-radius:999px;background:#1a2a45;overflow:hidden}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,#1d4ed8,var(--lime));box-shadow:0 0 20px #2f6fed80;transition:.3s}.big-progress{font-size:68px;font-weight:950;letter-spacing:-5px;margin-bottom:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}td,th{padding:13px 11px;border-bottom:1px solid var(--line);text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted)}.score{font-size:65px;font-weight:950;color:var(--lime)}.event{display:grid;grid-template-columns:55px 75px 1fr 110px 90px;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.time{font-variant-numeric:tabular-nums;color:var(--lime)}.list-clean{padding:0;list-style:none}.list-clean li{padding:13px 0;border-bottom:1px solid var(--line)}.profile-head{display:flex;gap:16px;align-items:center}.avatar{width:90px;height:90px;border-radius:20px;object-fit:cover}.empty-avatar{display:grid;place-items:center;background:var(--lime);color:#07101f;font-weight:950}.timeline{display:flex;gap:8px;overflow:auto;padding:15px 0}.timeline button{white-space:nowrap;border:1px solid var(--line);background:#111b2c;color:#ddd;border-radius:99px;padding:9px 12px}
/* Evidence timestamps are anchors, not buttons: they carry the reader to
   /replay?t=, which the replay page already honours, so they work with no
   script at all. The buttons they replaced had no click handler anywhere
   on the report page and had never done anything. */
.timeline a.evidence-jump{white-space:nowrap;border:1px solid var(--line);background:#111b2c;color:#ddd;border-radius:99px;padding:9px 12px;text-decoration:none;font-variant-numeric:tabular-nums}
.timeline a.evidence-jump:hover,.timeline a.evidence-jump:focus-visible{border-color:var(--lime);color:#fff}.skeleton-only video{opacity:0}.footer{margin-top:72px;padding:30px 0;border-top:1px solid var(--line);color:#747b75;font-size:12px;display:flex;justify-content:space-between}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.feature-number{font-size:42px;color:#2c4368;font-weight:950}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}
@media(max-width:950px){.hero{grid-template-columns:1fr;gap:30px;padding-top:48px}.hero h1{letter-spacing:-3px}.grid,.grid3,.compare-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.navlinks{overflow:auto;max-width:70%}.navlinks a{white-space:nowrap}.row,.row3{grid-template-columns:1fr}.event{grid-template-columns:55px 70px 1fr}.event>*:nth-child(4),.event>*:nth-child(5){display:none}}
@media(max-width:620px){.shell{width:calc(100% - 24px)}.nav{height:auto;padding:18px 0}.hero{padding:45px 0 35px;min-height:auto}.hero h1{font-size:49px;letter-spacing:-3px}.hero-card,.card{padding:19px}.section-title{align-items:flex-start;flex-direction:column}.big-progress{font-size:54px}}

/* navigation.css */
/* Error-page actions. The floating back pill that lived here was removed:
   it was position:fixed inside .shell, which carries a transform and so
   became its containing block, and it sat on top of the bottom-left corner
   of six pages. Every page it served is reachable from the nav or an
   inline back link. */
#errorActions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}#errorActions[hidden]{display:none}

/* fixes.css */
.file-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.file-button{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;padding:13px 17px!important;border:1px solid #31517f!important;border-radius:12px;background:#14213a;color:#f7f7f3!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important;transition:.2s}
.file-button:hover{background:#1a2c4c;border-color:#2f6fed!important;transform:translateY(-1px)}
.file-button.uploaded{background:var(--lime);border-color:var(--lime);color:white!important;border-style:solid}
.file-button b{font:inherit}
.file-status.uploaded{color:#60a5fa;font-weight:750}
.brand-logo{width:44px;height:44px;object-fit:contain}
.replay-wrap canvas{pointer-events:none}
.review-player{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:22px;align-items:center}.review-player video{display:block;width:100%;max-height:62vh;background:#030812;border-radius:16px}.review-list{display:grid;gap:14px}.review-candidate{border-left:3px solid var(--border)}.review-candidate.reviewed{border-left-color:#2f6fed}.review-candidate-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.pagination{justify-content:center;margin:22px 0}.check{display:flex;align-items:flex-start;gap:10px;margin:16px 0}.check input{margin-top:4px}
@media(max-width:780px){.review-player{grid-template-columns:1fr}.review-candidate-head{align-items:flex-start;flex-direction:column}}
.grid.single{grid-template-columns:minmax(0,1fr)}
.correct-event{border:0;background:none;color:#60a5fa;padding:5px 0;cursor:pointer;font-size:12px;font-weight:800}.correct-event:hover{text-decoration:underline}.correction-dialog{width:min(680px,calc(100% - 28px));border:1px solid var(--line);border-radius:20px;background:#0d1729;color:var(--ink);padding:26px;box-shadow:var(--shadow)}.correction-dialog::backdrop{background:#020611cc;backdrop-filter:blur(5px)}
@media(max-width:480px){.nav{height:auto;padding:12px 0}.brand{font-size:18px}.brand-logo{width:38px;height:38px}.hero h1{font-size:42px}.row,.row3,.grid,.grid3{grid-template-columns:1fr}.shell{width:calc(100% - 16px)}}

/* Professional product shell */
.skip-link{position:fixed;z-index:1000;top:12px;left:12px;padding:11px 15px;border:1px solid #7aa7ff;border-radius:10px;background:#0b1730;color:#fff;font-weight:800;box-shadow:0 12px 35px #0009;transform:translateY(-180%);transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #60a5fa;outline-offset:3px}.text-link{color:#7fb1ff;text-decoration:underline;text-underline-offset:3px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.product-section{padding:70px 0}.section-intro{max-width:760px;margin-bottom:28px}.section-intro h2{font-size:clamp(34px,5vw,56px);margin:10px 0 14px}.section-intro p{font-size:17px;line-height:1.7;color:var(--muted)}.step-card{min-height:260px}.feature-band{display:grid;grid-template-columns:repeat(3,1fr);background:linear-gradient(135deg,#101c33,#0a1427);border:1px solid #284166;border-radius:24px;overflow:hidden}.feature-band>div{padding:32px;border-right:1px solid #284166}.feature-band>div:last-child{border-right:0}.feature-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#2f6fed22;color:#8db5ff;font-size:23px}.trust-panel{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center;padding:42px;border:1px solid #31517f;border-radius:26px;background:radial-gradient(500px 250px at 10% 0,#2f6fed26,transparent),#0c172a;box-shadow:var(--shadow)}.trust-panel h2{font-size:clamp(34px,4vw,52px);margin:10px 0}.trust-panel p{color:#b7c0cd;line-height:1.7}.trust-checks{display:grid;gap:12px}.trust-checks span{padding:12px 14px;border:1px solid #29466f;border-radius:12px;background:#0d1a30;color:#d7e4f8}.coach-callout{display:flex;align-items:center;justify-content:space-between;gap:35px}.coach-callout>div:first-child{max-width:780px}.faq{max-width:900px;margin:auto}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq summary{font-weight:850;cursor:pointer}.faq details p{color:var(--muted);line-height:1.7}.account-nav{display:flex;align-items:center;gap:10px;font-size:13px}.account-nav form{margin:0}.account-chip{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:9px 11px;border:1px solid var(--line);border-radius:99px;color:#b9c9e5}.nav-text-button{background:none;border:0;color:#9fb0cb;cursor:pointer}.nav-signup{padding:9px 12px}.mobile-menu-button{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:#0e1a2e;padding:10px;cursor:pointer}.mobile-menu-button span{display:block;height:2px;background:#dce7f8;margin:4px 0}.mobile-menu{position:relative;z-index:20;display:grid;gap:5px;padding:12px;margin-top:8px;border:1px solid var(--line);border-radius:15px;background:#0c1729;box-shadow:var(--shadow)}.mobile-menu[hidden]{display:none}.mobile-menu a,.mobile-menu button{display:block;width:100%;text-align:left;padding:13px;border:0;border-radius:9px;background:transparent;color:#dae4f4}.mobile-menu a:hover,.mobile-menu button:hover{background:#152644}.mobile-menu form{margin:0}.auth-layout{min-height:720px;display:grid;grid-template-columns:1.05fr .75fr;gap:70px;align-items:center}.auth-copy h1,.empty-workspace h1{font-size:clamp(42px,6vw,76px);line-height:.98;margin:15px 0 22px}.auth-copy>p{font-size:18px;line-height:1.7;color:var(--muted)}.auth-card{max-width:520px;width:100%;justify-self:end}.auth-switch{text-align:center;margin-top:18px}.bad-notice{border-color:#743544;background:#3a1620}.empty-workspace{max-width:900px;margin:70px auto;padding:44px}.progress-metrics{margin-bottom:20px}.trend{font-size:12px;font-weight:800;margin-top:9px}.progress-layout{grid-template-columns:1.25fr .75fr}.progress-chart{width:100%;height:250px;overflow:visible}.chart-grid{stroke:#29405f;stroke-width:1}.chart-line{fill:none;stroke:#4f86ff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#8db5ff;stroke:#0b1425;stroke-width:3}.chart-empty{fill:#7f8da3;font-size:16px}.chart-legend{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:12px}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4f86ff;margin-right:6px}.assignment-row{display:flex;justify-content:space-between;align-items:center;gap:18px}.assignment-row.completed{opacity:.58}.assignment-row.completed strong{text-decoration:line-through}.assignment-list form{margin:0}.account-danger{border-color:#5b2a37}.pricing-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.pricing-card{display:flex;flex-direction:column;min-height:440px}.pricing-card.featured{border-color:#4b78c7;box-shadow:0 24px 70px #0b54d42b}.recommended{position:absolute;right:18px;top:15px;color:#8db5ff;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:900}.plan-price{font-size:40px;font-weight:950;margin-top:18px}.plan-features{list-style:none;padding:0;color:#c4d0df;line-height:2}.pricing-card .btn,.pricing-card .pill,.pricing-card form{margin-top:auto}.pricing-trust{margin-top:35px}.quality-strip{display:grid;grid-template-columns:1fr auto;gap:8px 28px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#0c172a}.quality-strip h3{margin:7px 0}.quality-strip ul{grid-column:1/-1;margin:4px 0;color:var(--muted)}.quality-strip.strong{border-color:#256d4d}.quality-strip.review{border-color:#805d22}.quality-measures{display:flex;gap:8px;align-items:center}.quality-measures span{padding:8px 10px;border-radius:99px;background:#16243b;color:#c8d7ef;font-size:12px}.score-share{display:flex;gap:20px;font-size:36px;font-weight:950;color:#7faaff}
/* Nav collapse. One breakpoint for all four selectors: the hamburger has to
   appear at exactly the width the desktop nav leaves, or the account menu
   and the hamburger are both hidden and the workspace has no navigation. */
@media(max-width:1180px){.pricing-grid{grid-template-columns:repeat(3,1fr)}}
/* The nav hands over to the hamburger at 900px, not 1180px. At 1180 a 1366px
   laptop was fine but a 1280 one in a split screen, and every 1024-1152 laptop,
   got a hamburger with a half-empty bar beside it. 900px is --wiq-bp-stacked,
   already in the documented scale in style.css, rather than a fifth width.
   All four rules stay in ONE query: splitting them across breakpoints is what
   once left a signed-in visitor with no navigation at all. */
@media(max-width:900px){.navlinks{display:none}.nav-more{display:none}.account-nav{display:none}.mobile-menu-button{display:block}}
@media(max-width:900px){.trust-panel,.auth-layout{grid-template-columns:1fr}.auth-layout{gap:20px;padding:55px 0}.auth-card{justify-self:stretch;max-width:none}.feature-band{grid-template-columns:1fr}.feature-band>div{border-right:0;border-bottom:1px solid #284166}.feature-band>div:last-child{border-bottom:0}.coach-callout{align-items:flex-start;flex-direction:column}.progress-layout{grid-template-columns:1fr}.pricing-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.product-section{padding:48px 0}.trust-panel{padding:25px;grid-template-columns:1fr;gap:22px}.pricing-grid{grid-template-columns:1fr}.quality-strip{grid-template-columns:1fr}.quality-measures{justify-content:flex-start}.assignment-row{align-items:flex-start;flex-direction:column}.chart-legend{flex-direction:column}.footer{flex-direction:column;gap:10px}.auth-copy h1,.empty-workspace h1{font-size:42px}.empty-workspace{padding:25px;margin:40px 0}}

/* WarriorIQ experience refresh: readable, energetic, and action-led */
:root{
  --ink:#f4f7ff;--muted:#9aa8c2;--bg:#070a16;--surface:#0e1528;--line:#273653;
  --lime:#6d7cff;--green:#52d6a3;--amber:#ffbd66;--red:#ff718f;
  --violet:#9a6dff;--cyan:#4fd7ff;--coral:#ff7f6b;
  --shadow:0 24px 70px rgba(0,0,0,.38);--radius:20px;
  --font-body:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,sans-serif;
  --font-display:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,sans-serif
}
html{scroll-padding-top:110px}
body{font-family:var(--font-body);font-size:16px;line-height:1.55;background:radial-gradient(850px 520px at 78% -8%,rgba(109,124,255,.22),transparent 62%),radial-gradient(700px 470px at -8% 35%,rgba(79,215,255,.1),transparent 64%),linear-gradient(180deg,#080c19 0,#070a16 55%,#090b18 100%);letter-spacing:0}
body:before{opacity:.08;background-size:56px 56px;mask-image:linear-gradient(#000,transparent 76%)}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em;line-height:1.08}h2{font-size:clamp(28px,3.3vw,43px)}h3{font-size:21px}
.shell{width:min(1220px,calc(100% - 40px))}
.nav{position:sticky;top:12px;z-index:50;height:70px;margin-top:12px;padding:0 13px 0 16px;border:1px solid rgba(153,174,214,.16);border-radius:18px;background:rgba(9,14,29,.82);box-shadow:0 12px 38px rgba(0,0,0,.2);backdrop-filter:blur(22px) saturate(1.3)}
.brand{gap:9px;font-size:19px;font-weight:850;letter-spacing:-.7px}.brand-logo{width:38px;height:38px}.brand span{color:#8490ff}
.navlinks{align-items:center;gap:3px}.navlinks>a,.nav-more>summary{position:relative;padding:10px 12px;border-radius:10px;color:#aebbd1;font-size:13px;font-weight:650;cursor:pointer;list-style:none;transition:color .18s,background .18s}.nav-more>summary::-webkit-details-marker{display:none}.navlinks>a:hover,.nav-more>summary:hover,.nav-more[open]>summary{color:#fff;background:rgba(128,147,255,.1)}.navlinks>a[aria-current=page]{color:#fff;background:rgba(109,124,255,.15)}.navlinks>a[aria-current=page]:after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--cyan),var(--violet))}
.nav-more{position:relative}.nav-more>summary span{font-size:12px}.nav-more-panel{position:absolute;top:48px;right:0;width:244px;padding:8px;border:1px solid #2a3b5d;border-radius:16px;background:#0c1428;box-shadow:0 22px 60px rgba(0,0,0,.55)}.nav-more-panel a{display:flex;flex-direction:column;padding:11px 12px;border-radius:10px;color:#eef3ff;font-size:13px;font-weight:700}.nav-more-panel a:hover{background:#16213c}.nav-more-panel span{margin-top:2px;color:#8595b1;font-size:11px;font-weight:500}
.account-nav{font-size:12px}.account-nav>a:not(.btn){color:#bac5d7}.nav-signup{padding:9px 13px!important}.nav-text-button{font-family:var(--font-body)}
.mobile-menu-button{background:#111a30;border-color:#293a5c}.mobile-menu{position:sticky;top:90px;z-index:49;background:rgba(10,17,34,.97);border-color:#2b3c60;backdrop-filter:blur(20px)}

.eyebrow{color:#8794ff;font-size:11px;font-weight:800;letter-spacing:1.7px}.eyebrow:before{width:16px;background:linear-gradient(90deg,var(--cyan),var(--violet))}
.hero{min-height:720px;padding:82px 0 68px;grid-template-columns:1.04fr .96fr;gap:70px;align-items:start}.hero-copy{position:relative}.hero-copy:before{content:"";position:absolute;z-index:-1;width:290px;height:290px;left:-110px;top:40px;border-radius:50%;background:#603cff18;filter:blur(18px)}
.hero h1{max-width:700px;margin:20px 0 24px;font-size:clamp(51px,6.7vw,86px);font-weight:790;line-height:.98;letter-spacing:-.052em}.hero h1 em{display:inline;font-style:normal;color:transparent;-webkit-text-stroke:0;background:linear-gradient(100deg,#7edaff 3%,#8d95ff 48%,#c47cff 98%);background-clip:text;-webkit-background-clip:text}.hero p{max-width:610px;color:#aeb9ce;font-size:18px;line-height:1.68}
.hero-actions{gap:12px;margin-top:27px}.btn{min-height:46px;padding:12px 17px;border:1px solid transparent;border-radius:12px;background:linear-gradient(115deg,#6177ff,#865ff2);box-shadow:0 10px 25px rgba(83,91,222,.2);color:#fff;font-family:var(--font-body);font-size:13px;font-weight:760;letter-spacing:.05px;transition:transform .18s,box-shadow .18s,filter .18s}.btn:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(91,95,225,.3);filter:brightness(1.08)}.btn:active{transform:translateY(0)}.btn.secondary{border-color:#33476f;background:#121d35;box-shadow:none;color:#e7edfa}.btn.secondary:hover{border-color:#6375b1;background:#182744}.btn:disabled{opacity:.46;transform:none;box-shadow:none;filter:none}.btn[aria-busy=true]{cursor:wait}
.fight-path{display:flex;align-items:center;gap:10px;margin-top:32px;color:#b9c5d9;font-size:12px;font-weight:650}.fight-path span{display:flex;align-items:center;gap:6px}.fight-path b{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#151f39;color:#8fdfff;font-size:11px}.fight-path i{width:28px;height:1px;background:linear-gradient(90deg,#394a6a,#7a6aea)}
.trust-row{margin-top:20px}.pill{border-color:#2e3d5c;background:#10192d;color:#b8c5da;font-weight:700}.status-dot{background:#5de0af;box-shadow:0 0 15px #5de0af}
.hero-card,.card{background:linear-gradient(145deg,rgba(18,27,51,.97),rgba(10,16,32,.98));border-color:#273858;box-shadow:var(--shadow)}.hero-card{padding:28px;border-radius:24px}.hero-card:before{content:"";position:absolute;left:25px;right:25px;top:-1px;height:2px;border-radius:3px;background:linear-gradient(90deg,transparent,#58dcff,#9f6dff,transparent)}.card{transition:border-color .2s,transform .2s}.card:hover{border-color:#3b507c}
.console-head{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:21px}.console-head h2{margin:7px 0 0;font-size:31px}.console-badge{padding:7px 10px;border:1px solid #2f6d64;border-radius:99px;background:#15322e;color:#71e8bd;font-size:11px;font-weight:750}
.field{gap:8px}.field label{color:#aebbd0;font-size:11px;font-weight:750;letter-spacing:.55px}.field input,.field select,.field textarea{border-color:#2a3a5b;background:#0a1122;color:#f3f7ff;padding:13px 14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7181ff;box-shadow:0 0 0 3px rgba(109,124,255,.15)}
.file-button{min-height:90px!important;flex-wrap:wrap;align-content:center;border:1px dashed #5066a4!important;border-radius:16px!important;background:linear-gradient(145deg,#121d36,#0e172c)!important}.file-button span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#6376ff;color:#fff;font-size:19px!important}.file-button small{flex-basis:100%;text-align:center;color:#7f8da8;font-size:11px}.file-button:hover{border-color:#7f8cff!important;background:#16233f!important}.file-button.uploaded{border-style:solid!important;border-color:#407d72!important;background:linear-gradient(145deg,#14342e,#102a29)!important;color:#e8fff7!important}.file-button.uploaded span{background:#48c99d}.file-status{text-align:center}.file-status.uploaded{color:#65dcb2}.upload-submit{width:100%;margin-top:4px}
.file-button.disabled{cursor:not-allowed;opacity:.55}.file-button.disabled:hover{transform:none!important;border-color:#5066a4!important}.console-allowance{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-8px 0 18px;padding:10px 12px;border:1px solid #2c3e62;border-radius:11px;background:#0b1428;font-size:11px}.console-allowance span{color:#8997b1;text-transform:uppercase;letter-spacing:.8px;font-weight:750}.console-allowance strong{color:#d9e1ef}
.notice{border-color:#334c7c;border-left-color:#6e7eff;background:rgba(75,102,190,.11);color:#b9c6db}.product-section{padding:76px 0}.section-intro{max-width:720px}.section-intro h2{margin:11px 0 15px;font-weight:740}.section-intro p{color:#9fabbe;line-height:1.7}
.step-card{min-height:245px;overflow:hidden;padding:28px}.step-card:after{content:"";position:absolute;width:130px;height:130px;right:-65px;bottom:-65px;border-radius:50%;background:radial-gradient(circle,rgba(105,120,255,.2),transparent 68%)}.step-card:hover{transform:translateY(-4px)}.step-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:linear-gradient(145deg,#1f3154,#182443);color:#88dfff;font-size:21px}.feature-number{position:absolute;right:22px;top:18px;color:#33436a;font-size:42px}.step-card h3{margin:25px 0 8px}.step-card p{line-height:1.65}
.feature-band{border-color:#2b3b5c;background:linear-gradient(130deg,#101a31,#0a1122);border-radius:22px}.feature-band>a{display:block;padding:31px;border-right:1px solid #2b3b5c;transition:background .18s}.feature-band>a:last-child{border-right:0}.feature-band>a:hover{background:rgba(108,123,255,.08)}.feature-band h3{margin-bottom:8px}.feature-band p{min-height:50px}.feature-band b{color:#8f9cff;font-size:12px}.feature-icon{background:linear-gradient(145deg,#263969,#1c2850);color:#77dcff}
.trust-panel{border-color:#354d7b;border-radius:24px;background:radial-gradient(520px 260px at 5% 0,rgba(104,122,255,.22),transparent),linear-gradient(140deg,#0f1a32,#0b1224)}.trust-panel h2{font-weight:740}.trust-checks span{border-color:#2f456d;background:#111d36;color:#d6e0f1}
.coach-callout{padding-left:32px;padding-right:32px;border-radius:24px;background:linear-gradient(105deg,rgba(79,215,255,.08),rgba(154,109,255,.08))}.faq details{border-color:#273653}.faq summary{font-weight:720;color:#e6ecf7}.faq details[open] summary{color:#91a0ff}
.section-title{margin-top:55px}.section-title h2{font-weight:740}.metric{border-color:#293a5c;background:#0b1428}.metric .value{font-weight:780}.timeline button{cursor:pointer;border-color:#33466d;background:#121d36;color:#dfe7f6}.timeline button:hover{border-color:#7382bd;background:#192946}.progress-bar{background:linear-gradient(90deg,#4fd7ff,#6d7cff,#a46cff)}
.pricing-card{min-height:430px}.pricing-card.featured{border-color:#7282ff;box-shadow:0 24px 70px rgba(84,76,211,.27)}.plan-price{font-weight:780}.recommended{color:#a9b1ff}.pricing-card .btn{width:100%}.plan-features{color:#b8c4d8}
.app-toast{position:fixed;z-index:200;right:22px;bottom:22px;max-width:min(390px,calc(100% - 32px));padding:13px 16px;border:1px solid #3a527f;border-radius:13px;background:rgba(16,27,50,.96);box-shadow:0 18px 55px rgba(0,0,0,.5);color:#edf3ff;font-size:13px;font-weight:650;opacity:0;transform:translateY(10px);transition:.18s;backdrop-filter:blur(16px)}.app-toast.show{opacity:1;transform:translateY(0)}.app-toast[data-tone=success]{border-color:#367665}.app-toast[data-tone=error]{border-color:#8b4055}
.footer{color:#78859c}.footer a{color:#a8b6cc}.auth-copy h1,.empty-workspace h1{font-weight:760;line-height:1.02}.auth-copy>p{color:#a7b4c8}.correction-dialog{background:#0d162b}.target-options span{background:#0a1122;color:#acb8cd}.target-options input:checked+span{border-color:#7483ff;background:#6577ff20;color:#b9c2ff}
@media(max-width:1100px){.navlinks>a,.nav-more>summary{padding-left:9px;padding-right:9px}.hero{gap:42px}.hero h1{font-size:clamp(50px,6vw,74px)}}
@media(max-width:900px){.nav{top:8px;margin-top:8px}.hero{grid-template-columns:1fr;padding-top:62px}.feature-band>a{border-right:0;border-bottom:1px solid #2b3b5c}.feature-band>a:last-child{border-bottom:0}.feature-band p{min-height:0}}
@media(max-width:620px){.shell{width:calc(100% - 24px)}.nav{padding:0 10px;height:62px;border-radius:15px}.brand{font-size:17px}.brand-logo{width:34px;height:34px}.hero{padding:54px 0 35px;gap:34px}.hero h1{font-size:46px;letter-spacing:-.042em}.hero p{font-size:16px}.fight-path{gap:7px;flex-wrap:wrap}.fight-path i{width:14px}.fight-path b{width:24px;height:24px}.trust-row .pill{display:none}.hero-card{padding:20px}.console-head h2{font-size:27px}.product-section{padding:54px 0}.step-card{min-height:220px}.coach-callout{padding:28px 20px}.app-toast{right:16px;bottom:70px}.section-title{margin-top:38px}.hero-actions .btn{flex:1;min-width:145px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Plan architecture */
.pricing-hero{max-width:850px;padding:86px 0 50px}.pricing-hero h1{margin:15px 0 20px;font-size:clamp(52px,7vw,88px);font-weight:780;line-height:.94;letter-spacing:-.055em}.pricing-hero h1 em{font-style:normal;color:transparent;background:linear-gradient(100deg,#62dfff,#8b8bff,#c775ff);background-clip:text;-webkit-background-clip:text}.pricing-hero>p{max-width:690px;color:#aeb9ce;font-size:18px;line-height:1.7}.pricing-promise{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.pricing-promise span{padding:8px 11px;border:1px solid #2d4064;border-radius:99px;background:#0f192e;color:#b9c7dc;font-size:11px;font-weight:700}
.allowance-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:25px;overflow:hidden;border:1px solid #344b79;border-radius:18px;background:#344b79}.allowance-strip>div{display:flex;flex-direction:column;gap:4px;padding:18px 21px;background:#101a31}.allowance-strip strong{font-size:17px}
.pricing-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.pricing-card{grid-column:span 4;min-height:560px;padding:28px;overflow:hidden}.pricing-card[data-plan=coach]{grid-column:span 5}.pricing-card.gym-featured{grid-column:span 7;border-color:#5b66ce;background:radial-gradient(430px 230px at 100% 0,rgba(82,215,255,.15),transparent),radial-gradient(480px 280px at 0 100%,rgba(165,100,255,.17),transparent),linear-gradient(140deg,#131d3a,#0d1428);box-shadow:0 28px 80px rgba(73,58,188,.26)}
.plan-banner{margin:-28px -28px 24px;padding:12px 18px;text-align:center;background:linear-gradient(100deg,#5169e9,#9363ec);color:#fff;font-size:14px;font-weight:900;letter-spacing:2px;text-transform:uppercase}.gym-featured .plan-banner{background:linear-gradient(100deg,#168fb2,#6d67ec,#a750d0)}
.plan-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.current-plan{padding:6px 9px;border:1px solid #3a7568;border-radius:99px;background:#15322e;color:#6ee4ba;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.plan-price{margin-top:19px;font-size:45px;font-weight:790;letter-spacing:-2px}.plan-description{min-height:54px;line-height:1.58}.plan-entitlement{display:flex;flex-direction:column;gap:3px;margin:17px 0;padding:14px 15px;border:1px solid #30446c;border-radius:14px;background:#0b1428}.plan-entitlement strong{color:#f1f5ff;font-size:15px}.plan-entitlement span{color:#8f9fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.9px}.plan-features{display:grid;gap:9px;margin:2px 0 25px;line-height:1.45}.plan-features li{display:flex;gap:9px;color:#c0cbdd}.plan-features li span{color:#69dcb3;font-weight:900}.gym-note{display:flex;flex-direction:column;gap:4px;margin:-5px 0 20px;padding:14px;border:1px solid rgba(109,124,255,.34);border-radius:14px;background:rgba(109,124,255,.1)}.gym-note strong{font-size:13px}.gym-note span{color:#9eacc3;font-size:12px;line-height:1.5}.pricing-card .btn,.pricing-card form{margin-top:auto}.pricing-card.featured{border-color:#7b87ff;box-shadow:0 28px 80px rgba(84,76,211,.25)}
.report-levels{padding:82px 0 50px}.report-levels .card{min-height:190px}.report-dot{display:block;width:13px;height:13px;margin-bottom:20px;border-radius:50%}.report-dot.compact{background:#54d8ff;box-shadow:0 0 20px #54d8ff}.report-dot.expanded{background:#858dff;box-shadow:0 0 20px #858dff}.report-dot.full{background:#c46fff;box-shadow:0 0 20px #c46fff}
@media(max-width:1100px){.pricing-card,.pricing-card[data-plan=coach]{grid-column:span 6}.pricing-card.gym-featured{grid-column:span 12}}
@media(max-width:700px){.pricing-hero{padding:58px 0 38px}.pricing-hero h1{font-size:49px}.pricing-hero>p{font-size:16px}.allowance-strip{grid-template-columns:1fr}.pricing-card,.pricing-card[data-plan=coach],.pricing-card.gym-featured{grid-column:span 12;min-height:0}.plan-description{min-height:0}.report-levels{padding-top:55px}}
.report-access-banner,.locked-report-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 22px;padding:20px 22px;border:1px solid #3d4f82;border-radius:18px;background:linear-gradient(105deg,rgba(89,107,221,.16),rgba(139,89,220,.08))}.report-access-banner strong{display:block;margin-top:6px;font-size:18px}.report-access-banner p,.locked-report-card p{margin:5px 0 0}.locked-report-card{margin:0 0 20px}.locked-report-card h2{margin:7px 0 0;font-size:27px}.report-access-banner .btn,.locked-report-card .btn{flex:0 0 auto}
@media(max-width:650px){.report-access-banner,.locked-report-card{align-items:flex-start;flex-direction:column}.report-access-banner .btn,.locked-report-card .btn{width:100%}}
.review-details{margin:14px 0 16px;border:1px solid #2d4065;border-radius:13px;background:#0b1428}.review-details summary{padding:12px 14px;cursor:pointer;color:#aebcd4;font-size:12px;font-weight:750}.review-details[open] summary{border-bottom:1px solid #263858;color:#eef3ff}.review-details .row{padding:14px}.review-candidate.reviewed{border-color:#347461}.review-candidate.reviewed>.review-candidate-head:after{content:"Checked";padding:5px 8px;border-radius:99px;background:#15352f;color:#69ddb4;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}

/* Legal, consent, and launch-readiness experience */
.legal-check{padding:12px 13px;border:1px solid #2b3d61;border-radius:12px;background:#0b1428;color:#c8d2e2;font-size:13px;line-height:1.55}.legal-check a{display:inline}.upload-consent{margin:15px 0;padding:4px 14px;border:1px solid #2a3d61;border-radius:14px;background:#091225}.upload-consent .check{font-size:12px;line-height:1.55}.upload-consent p{margin:12px 0}.billing-check{font-size:11px;line-height:1.5;color:#aebbd0}.billing-check a{display:inline}.pricing-card form{display:flex;flex-direction:column;gap:8px}.pricing-card form .btn{margin-top:0}
.legal-hero{max-width:890px;padding:82px 0 38px}.legal-hero h1{margin:14px 0 18px;font-size:clamp(48px,7vw,82px);font-weight:780;line-height:.98;letter-spacing:-.05em}.legal-hero p{max-width:790px;color:#aeb9ce;font-size:18px;line-height:1.72}.legal-version{display:inline-flex;margin-top:12px;padding:7px 10px;border:1px solid #34486f;border-radius:99px;color:#aebbd0;font-size:11px;font-weight:750}.launch-blocker{margin:0 0 28px;border-color:#7a5926;border-left-color:#ffbd66;background:#38281455}.launch-readiness{padding:30px}.launch-readiness.blocked{border-color:#725328}.launch-readiness.ready{border-color:#2f725e}.launch-list{columns:2;gap:36px;color:#bec9da}.launch-list li{margin:7px 0;break-inside:avoid}.legal-identity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:24px 0 34px;overflow:hidden;border:1px solid #2c3e61;border-radius:18px;background:#2c3e61}.legal-identity>div{display:flex;min-width:0;flex-direction:column;gap:5px;padding:16px;background:#0d172b}.legal-identity span{color:#7f8da7;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.legal-identity strong{overflow-wrap:anywhere;color:#dce5f3;font-size:13px}.legal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:0 0 34px}.legal-grid .card{min-height:190px}.legal-grid .card>span{color:#6676b4;font-size:11px;font-weight:850}.legal-grid h2{margin:26px 0 8px;font-size:22px}.legal-grid p{margin:0;color:#98a6bc;line-height:1.6}.legal-grid .card:hover{transform:translateY(-3px);border-color:#6578bf}.legal-layout{display:grid;grid-template-columns:230px minmax(0,780px);gap:48px;align-items:start;margin-bottom:50px}.legal-toc{position:sticky;top:108px;display:grid;gap:4px;padding:16px;border:1px solid #293b5e;border-radius:15px;background:#0b1428}.legal-toc strong{padding:7px 9px;color:#eef3fc;font-size:12px}.legal-toc a{padding:8px 9px;border-radius:8px;color:#96a6c0;font-size:12px}.legal-toc a:hover{background:#172440;color:#fff}.legal-copy{min-width:0}.legal-copy section{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid #263653;scroll-margin-top:120px}.legal-copy h2{margin:0 0 13px;font-size:27px}.legal-copy p,.legal-copy li{color:#b1bdcf;font-size:15px;line-height:1.8}.legal-copy a{color:#8eb4ff;text-decoration:underline;text-underline-offset:3px}.legal-copy ul{padding-left:22px}.legal-footer{align-items:start;gap:25px}.legal-footer>div{display:flex;flex-direction:column;gap:5px}.legal-footer nav{display:flex;max-width:550px;flex-wrap:wrap;justify-content:center;gap:7px 15px}.legal-footer nav a:hover{color:#fff}.cookie-notice{position:fixed;z-index:210;right:20px;bottom:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;width:min(760px,calc(100% - 40px));padding:17px 18px;border:1px solid #415986;border-radius:16px;background:#0c1629f7;box-shadow:0 20px 65px #000b;backdrop-filter:blur(18px)}.cookie-notice[hidden]{display:none}.cookie-notice p{margin:4px 0 0;color:#a7b4c8;font-size:12px;line-height:1.5}.cookie-notice .selection-tools{margin:0}.error-page{display:grid;grid-template-columns:auto minmax(0,680px);gap:35px;align-items:center;min-height:430px;margin:80px auto;max-width:930px;padding:50px}.error-code{color:#7f8dff;font-size:clamp(72px,12vw,150px);font-weight:850;line-height:1}.error-page h1{margin:10px 0;font-size:clamp(38px,5vw,62px)}
@media(max-width:850px){.legal-grid{grid-template-columns:repeat(2,1fr)}.legal-layout{grid-template-columns:1fr;gap:22px}.legal-toc{position:static;grid-template-columns:repeat(3,1fr)}.legal-toc strong{grid-column:1/-1}.legal-identity{grid-template-columns:repeat(2,1fr)}.legal-footer nav{justify-content:flex-start}.cookie-notice{grid-template-columns:1fr}.error-page{grid-template-columns:1fr}.error-code{font-size:78px}}
@media(max-width:560px){.legal-hero{padding-top:55px}.legal-hero h1{font-size:48px}.legal-grid,.legal-identity{grid-template-columns:1fr}.legal-grid .card{min-height:0}.legal-toc{grid-template-columns:1fr 1fr}.launch-list{columns:1}.cookie-notice{right:12px;left:12px;bottom:60px;width:auto;gap:11px;padding:13px 14px}.cookie-notice strong{font-size:13px}.cookie-notice p{font-size:11px;line-height:1.45}.cookie-notice .selection-tools{gap:6px;flex-wrap:nowrap}.cookie-notice .selection-tools>*{flex:1 1 0;min-width:0}.cookie-notice .btn{width:100%;min-width:0;padding:10px 6px;font-size:11px;text-align:center}
/* The notice is fixed above the page, so reserve the space it covers. Without
   this it sits on top of the upload form and the frame-selection video. */
body:has(#cookieNotice) main{padding-bottom:210px}.error-page{margin:45px 0;padding:25px}.legal-footer{align-items:flex-start}}

/* Automatic performance story */
.automatic-notice{position:relative;overflow:hidden}.automatic-notice:after{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#78dcff,#8c83ff,transparent);animation:automatic-notice-scan 4.8s ease-in-out infinite}
.performance-card{--fighter-accent:#5b9dff;overflow:hidden;background:radial-gradient(460px 180px at 100% 0,color-mix(in srgb,var(--fighter-accent) 15%,transparent),transparent 72%),linear-gradient(145deg,rgba(18,27,51,.98),rgba(10,16,32,.99))}.performance-card.fighter-b{--fighter-accent:#e5b95f}.performance-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,transparent,var(--fighter-accent),transparent);opacity:.8}
.performance-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(205px,1fr);gap:11px;margin:18px -5px 5px;padding:5px 5px 12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin;scrollbar-color:var(--fighter-accent) #111b31}.performance-rail:focus-visible{outline:2px solid var(--fighter-accent);outline-offset:4px;border-radius:12px}.performance-stat{min-width:0;padding:15px;border:1px solid #2c3d60;border-radius:15px;background:linear-gradient(150deg,rgba(17,29,53,.96),rgba(9,18,35,.96));scroll-snap-align:start;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.performance-stat>span{display:block;color:#93a1ba;font-size:11px;font-weight:800;letter-spacing:1.15px;text-transform:uppercase}.performance-stat>strong{display:block;margin:7px 0 10px;color:#f2f6ff;font-size:27px;font-weight:800;letter-spacing:-1px}.performance-stat>small{display:block;margin-top:8px;color:#7f8da7;font-size:11px;line-height:1.35}
.performance-meter{height:9px;overflow:hidden;border:1px solid #2b3b5b;border-radius:999px;background:#081122;box-shadow:inset 0 2px 5px rgba(0,0,0,.35)}.performance-meter i{position:relative;display:block;width:var(--meter-value);height:100%;overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--fighter-accent) 72%,#46d8ff),var(--fighter-accent));box-shadow:0 0 17px color-mix(in srgb,var(--fighter-accent) 58%,transparent);transform-origin:left;animation:report-meter-fill .9s cubic-bezier(.22,.8,.25,1) both}.performance-meter i:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 22%,rgba(255,255,255,.42) 50%,transparent 78%);transform:translateX(-120%);animation:report-meter-shine 2.9s 1s ease-in-out infinite}
@keyframes report-meter-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes report-meter-shine{0%,45%{transform:translateX(-120%)}75%,100%{transform:translateX(130%)}}
@keyframes automatic-notice-scan{0%,100%{transform:translateX(-65%);opacity:.15}50%{transform:translateX(65%);opacity:.9}}
@media(max-width:620px){.performance-rail{grid-auto-columns:minmax(190px,84%)}.performance-stat>strong{font-size:24px}}

/* Simple report path: core coaching first, diagnostics on demand */
.report-path{display:flex;align-items:center;gap:9px;margin:22px 0;padding:13px 14px;overflow-x:auto;border:1px solid #2c4067;border-radius:16px;background:#0b1529;scrollbar-width:thin}.report-path>div{display:flex;min-width:175px;flex-direction:column;gap:3px;padding:0 10px 0 3px}.report-path>div strong{font-size:13px}.report-path a{flex:0 0 auto;padding:10px 12px;border:1px solid #30466f;border-radius:11px;background:#111e37;color:#cdd8ea;font-size:12px;font-weight:750;transition:.18s}.report-path a:hover{border-color:#7183d6;background:#172747;color:#fff;transform:translateY(-1px)}.report-path-absent{flex:0 0 auto;padding:10px 12px;border:1px dashed #2c4067;border-radius:11px;color:var(--muted);font-size:12px;font-weight:650}
.contact-routes{margin:10px 0 0;padding-left:18px;color:var(--muted);line-height:1.9}
#report-performance,#report-scorecard,#report-coaching,#report-training,#report-evidence{scroll-margin-top:108px}.report-details{margin-top:16px;border:1px solid #2b3d60;border-radius:14px;background:#0a1326}.report-details summary,.report-technical>summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;color:#dce5f4;font-size:13px;font-weight:800;list-style:none}.report-details summary::-webkit-details-marker,.report-technical>summary::-webkit-details-marker{display:none}.report-details summary span{color:#8291aa;font-size:11px;font-weight:600}.report-details summary:after{content:"＋";color:#8494ff;font-size:18px}.report-details[open] summary:after{content:"−"}.report-details-body{padding:0 16px 16px;border-top:1px solid #263756}.report-details-body>h3:first-of-type{margin-top:20px}
.report-technical{padding:0;overflow:hidden}.report-technical>summary{min-height:70px;padding:19px 22px}.report-technical>summary span{display:flex;flex-direction:column;gap:4px}.report-technical>summary small{color:#8291aa;font-size:11px;font-weight:600}.report-technical>summary b{color:#8494ff;font-size:20px}.report-technical[open]>summary b{font-size:0}.report-technical[open]>summary b:after{content:"−";font-size:20px}.report-technical-body{padding:22px;border-top:1px solid #2a3b5e}
@media(max-width:700px){.report-path{margin-left:-2px;margin-right:-2px}.report-path>div{min-width:150px}.report-path a{padding:9px 10px}.report-details summary{align-items:flex-start;flex-direction:column}.report-details summary:after{position:absolute;right:16px}.report-technical>summary{min-height:64px;padding:16px}.report-technical-body{padding:16px}}

/* Focused-athlete report and honest analysis quality */
.analysis-quality{margin:0 0 22px;padding:22px;border:1px solid #3a507b;border-radius:19px;background:radial-gradient(520px 190px at 100% 0,rgba(79,215,255,.11),transparent),linear-gradient(145deg,#111d36,#0a1427);box-shadow:0 18px 50px rgba(0,0,0,.22)}.analysis-quality.strong,.analysis-quality.good{border-color:#397568}.analysis-quality.review{border-color:#806331}.analysis-quality.bad{border-color:#82465a}.analysis-quality-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.analysis-quality-heading h2{margin:7px 0 0;font-size:29px}.quality-focus{flex:0 0 auto;padding:8px 11px;border:1px solid #425a8b;border-radius:99px;background:#121f3b;color:#d9e4f5;font-size:11px;font-weight:800}.analysis-quality-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:18px}.analysis-quality-grid>div{padding:13px;border:1px solid #2b3d60;border-radius:12px;background:#091326}.analysis-quality-grid span{display:block;color:#8392ab;font-size:11px;font-weight:800;letter-spacing:.65px;text-transform:uppercase}.analysis-quality-grid strong{display:block;margin-top:6px;color:#eef4ff;font-size:16px}.analysis-quality>p{margin:13px 0 0;color:#8696af;font-size:11px}.performance-insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.performance-insights article{padding:14px;border:1px solid #2a3b5d;border-radius:13px;background:#0c172c}.performance-insights span{color:#8290a8;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.performance-insights strong{display:block;margin:5px 0;color:#edf3ff;font-size:20px}.performance-insights p{margin:0;color:#8492a9;font-size:11px;line-height:1.5}.replay-callout{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:20px;background:radial-gradient(400px 190px at 100% 50%,rgba(117,102,255,.18),transparent),linear-gradient(145deg,#111c36,#0b1428)}.replay-callout h2{margin:7px 0 9px;font-size:30px}.replay-callout p{max-width:760px;margin:0}.replay-callout .btn{flex:0 0 auto}.movement-progress{grid-template-columns:repeat(5,minmax(0,1fr))}.action-progress{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:24px;align-items:center;margin-bottom:20px}.action-progress h2{margin:7px 0 0;font-size:28px}.action-progress .metric-grid{margin:0}.progress-calibration{margin-bottom:20px}
@media(max-width:980px){.analysis-quality-grid{grid-template-columns:repeat(3,1fr)}.performance-insights{grid-template-columns:repeat(2,1fr)}.movement-progress{grid-template-columns:repeat(3,1fr)}.action-progress{grid-template-columns:1fr}}
@media(max-width:620px){.analysis-quality-heading,.replay-callout{align-items:flex-start;flex-direction:column}.analysis-quality-grid,.performance-insights,.movement-progress{grid-template-columns:1fr 1fr}.replay-callout .btn{width:100%}.quality-focus{align-self:flex-start}}
@media(max-width:430px){.analysis-quality-grid,.performance-insights,.movement-progress{grid-template-columns:1fr}}

/* Replay navigation and coach workboard */
.replay-actions{display:flex;align-items:center;gap:16px;margin:14px 0 25px}.replay-chapter-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0 12px}.replay-chapter-heading h3{margin:5px 0 0}.replay-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.replay-timeline button{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}.replay-timeline button strong{color:#eef4ff;font-size:13px}.replay-timeline button span{color:#8291aa;font-size:11px}.coach-focus-card{margin-bottom:20px}.coach-focus-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.coach-focus-head h2{margin:7px 0 0}.coach-evidence-grid{margin-top:18px}.assignment-title{align-items:flex-start}.assignment-counts{display:flex;gap:8px}.assignment-counts span{padding:10px 12px;border:1px solid #31466f;border-radius:12px;background:#0b152a;color:#91a0b8;font-size:11px}.assignment-counts strong{color:#eff4ff;font-size:18px}.assignment-suggestions{margin:18px 0 24px;padding:18px;border:1px solid #334a77;border-radius:16px;background:linear-gradient(145deg,#101d37,#0a1428)}.assignment-suggestions h3{margin:6px 0 14px}.assignment-suggestion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.assignment-suggestion{display:flex;min-width:0;flex-direction:column;gap:8px;padding:14px;border:1px solid #2d4065;border-radius:13px;background:#0b1529}.assignment-suggestion>strong{color:#edf3ff;font-size:13px}.assignment-suggestion>span{flex:1;color:#8e9bb1;font-size:11px;line-height:1.5}.assignment-suggestion .btn{width:100%;margin-top:5px}.assignment-builder{padding:18px;border:1px solid #293c60;border-radius:15px;background:#091326}.assignment-board{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}.assignment-board>div{min-width:0}.assignment-board h3{margin:0 0 12px}.assignment-list{display:grid;gap:10px}.assignment-list .assignment-row{padding:13px;border:1px solid #2a3d61;border-radius:13px;background:#0b1529}.assignment-list .assignment-row form{flex:0 0 auto}.completed-list .assignment-row{background:#0a171c;border-color:#28483f}.dashboard-assignments .btn{min-height:38px;padding:8px 11px}
@media(max-width:850px){.assignment-suggestion-grid{grid-template-columns:1fr}.assignment-board{grid-template-columns:1fr}.coach-focus-head{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.replay-actions,.replay-chapter-heading{align-items:flex-start;flex-direction:column}.replay-actions .btn{width:100%}.replay-timeline{grid-template-columns:1fr}.assignment-counts{width:100%}.assignment-counts span{flex:1}.assignment-list .assignment-row{align-items:flex-start}.assignment-list .assignment-row form,.assignment-list .assignment-row .btn{width:100%}}

/* Video-first live analysis */
.active-analysis-chip{display:flex;align-items:center;gap:7px;padding:8px 10px!important;border:1px solid #325f72;border-radius:99px;background:#102a35;color:#a9ecff!important;font-weight:800}.active-analysis-chip i,.active-analysis-card i{width:7px;height:7px;border-radius:50%;background:#55d9ff;box-shadow:0 0 0 4px rgba(85,217,255,.12);animation:wiq-stage-pulse 1.4s ease-in-out infinite}.active-analysis-mobile{color:#83e0ff!important}.active-analysis-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:34px;padding:16px 18px;border:1px solid #355578;border-radius:16px;background:linear-gradient(120deg,#10243a,#111b35);color:#edf5ff;box-shadow:0 14px 36px rgba(0,0,0,.2)}.active-analysis-card>span{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.active-analysis-card i{grid-row:1/3}.active-analysis-card strong,.active-analysis-card small{display:block}.active-analysis-card small{margin-top:3px;color:#8fa2ba}.active-analysis-card>b{color:#8ce4ff;font-size:12px;white-space:nowrap}
.live-analysis-page{max-width:1180px}.live-analysis-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.analysis-exit{color:#aebdd3;font-size:12px;font-weight:800}.analysis-exit:hover{color:#fff}.live-analysis-header{align-items:center;margin-bottom:22px}.live-analysis-header h1{font-size:clamp(40px,5.6vw,66px)}.analysis-scoreboard{text-align:right}.analysis-scoreboard span{color:#7f8fa9;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.9px}.live-analysis-grid{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(290px,.72fr);gap:16px;align-items:stretch}.live-video-card,.live-feed-card,.live-stats,.analysis-process-card{border:1px solid #2d4268;border-radius:22px;background:linear-gradient(145deg,#101b33,#091326);box-shadow:0 22px 62px rgba(0,0,0,.26)}.live-video-card{min-width:0;padding:13px}.live-video-wrap{position:relative;overflow:hidden;aspect-ratio:16/9;border:1px solid #243a60;border-radius:15px;background:#030713}.live-video-wrap video{display:block;width:100%;height:100%;object-fit:contain;background:#02050b}.live-video-status{position:absolute;top:11px;left:11px;display:flex;flex-direction:column;gap:2px;max-width:calc(100% - 22px);padding:7px 9px;border:1px solid rgba(117,143,190,.28);border-radius:10px;background:rgba(6,13,27,.76);pointer-events:none;backdrop-filter:blur(9px)}.live-video-status span{color:#eff5ff;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.8px}.live-video-status small{color:#a4b3c9;font-size:11px}.fighter-overlay{position:absolute;border:2px solid #60dbff;border-radius:7px;box-shadow:0 0 0 1px rgba(0,0,0,.5),inset 0 0 30px rgba(59,199,255,.06);pointer-events:none;transition:left .15s linear,top .15s linear,width .15s linear,height .15s linear}.fighter-overlay.fighter-b{border-color:#a889ff;box-shadow:0 0 0 1px rgba(0,0,0,.5),inset 0 0 30px rgba(150,105,255,.06)}.fighter-overlay b{position:absolute;top:-2px;left:-2px;display:grid;place-items:center;width:23px;height:23px;border-radius:6px 0 7px 0;background:#4bcbe9;color:#04101a;font-size:11px}.fighter-overlay.fighter-b b{background:#9679ef;color:#fff}.fighter-overlay span{position:absolute;top:3px;left:28px;color:#fff;font-size:11px;font-weight:850;text-shadow:0 1px 4px #000;white-space:nowrap}.event-flash{position:absolute;left:50%;bottom:52px;max-width:calc(100% - 30px);transform:translateX(-50%);padding:8px 12px;border:1px solid rgba(132,157,255,.52);border-radius:99px;background:rgba(9,16,34,.88);color:#fff;font-size:11px;font-weight:850;pointer-events:none;animation:wiq-complete .22s ease-out}.analysis-timeline{position:relative;height:18px;margin:10px 3px 8px;overflow:hidden;border-radius:99px;background:#071022}.analysis-timeline:before{content:"";position:absolute;inset:7px 0;background:#1f3151}.analysis-frontier{position:absolute;inset:7px auto 7px 0;border-radius:99px;background:linear-gradient(90deg,#43cbed,#7580ff);transition:width .35s ease}.analysis-markers{position:absolute;inset:0}.analysis-markers button{position:absolute;top:3px;width:7px;height:12px;padding:0;transform:translateX(-50%);border:1px solid #071022;border-radius:4px;background:#58d9fa;cursor:pointer}.analysis-markers button.fighter-b{background:#a07ef5}.analysis-markers button:hover{height:16px;top:1px;filter:brightness(1.3)}.live-status-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:9px 3px 1px}.live-status-row p{margin:0;color:#e8effb;font-size:12px;font-weight:750}.live-status-row span{color:#8494ac;font-size:11px;white-space:nowrap}.playback-ahead{margin:10px 3px 0;padding:8px 10px;border-radius:9px;background:#241d0e;color:#e1c786;font-size:11px}.live-feed-card{display:flex;min-height:440px;max-height:610px;flex-direction:column;padding:18px}.live-feed-heading,.live-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.live-feed-heading h2{margin:4px 0 0;font-size:25px}.live-feed-heading>span{padding:6px 8px;border:1px solid #2d4268;border-radius:99px;color:#8fa1b9;font-size:11px;font-weight:800}.live-event-feed{display:flex;min-height:0;flex:1;flex-direction:column;gap:8px;margin:16px -5px 13px 0;padding:0 5px 0 0;overflow:auto;list-style:none}.live-event-empty{display:flex;flex:1;min-height:210px;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;border:1px dashed #2d4165;border-radius:14px}.live-event-empty strong{color:#becbe0;font-size:12px}.live-event-empty span{max-width:220px;margin-top:6px;color:#74839b;font-size:11px;line-height:1.55}.live-event-item button{display:grid;width:100%;grid-template-columns:41px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid #263b5e;border-left:3px solid #53d1f2;border-radius:11px;background:#0b162b;color:#eaf1fd;text-align:left;cursor:pointer}.live-event-item.fighter-b button{border-left-color:#9b7df1}.live-event-item button:hover{border-color:#536d9c;background:#101f3a}.live-event-item time{color:#93a4bd;font-size:11px;font-weight:800}.live-event-item span{display:flex;min-width:0;flex-direction:column}.live-event-item strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.live-event-item small{margin-top:3px;color:#7f90aa;font-size:11px}.live-event-item b{color:#8edfff;font-size:11px}.live-event-item.is-new{animation:wiq-feed-in .4s cubic-bezier(.16,1,.3,1)}.live-evidence-note{padding:10px;border-radius:10px;background:#0a1427;color:#7f90aa;font-size:11px;line-height:1.55}.live-evidence-note strong{color:#b8c8dc}.live-stats,.analysis-process-card{margin-top:16px;padding:21px}.live-section-heading h2{margin:5px 0 0;font-size:25px}.live-section-heading>p,.live-section-heading>span{max-width:390px;margin:4px 0 0;color:#7f90a9;font-size:11px;line-height:1.55;text-align:right}.live-fighter-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.fighter-stat-panel{padding:15px;border:1px solid #2b4066;border-radius:15px;background:#0a1529}.fighter-stat-panel>header{display:flex;align-items:center;gap:10px}.fighter-letter{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#1a667a;color:#aef0ff;font-size:12px;font-weight:900}.fighter-stat-panel[data-fighter=B] .fighter-letter{background:#493a83;color:#dcd2ff}.fighter-stat-panel header strong,.fighter-stat-panel header small{display:block}.fighter-stat-panel header small{margin-top:2px;color:#8292aa;font-size:11px}.live-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.live-stat-grid>div{padding:9px;border-radius:10px;background:#081122}.live-stat-grid span{display:block;min-height:22px;color:#76869e;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.45px}.live-stat-grid b{display:block;margin-top:3px;color:#f0f5ff;font-size:16px}.compact-analysis-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:17px 0 0;padding:0;list-style:none}.compact-analysis-stages .analysis-stage{min-height:58px}.analysis-actions{display:flex;gap:10px;justify-content:center;margin-top:18px}@keyframes wiq-feed-in{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:1000px){.live-analysis-grid{grid-template-columns:1fr}.live-feed-card{min-height:330px;max-height:480px}.live-event-empty{min-height:120px}.compact-analysis-stages{grid-template-columns:repeat(2,1fr)}.active-analysis-chip{display:none}}
@media(max-width:680px){.live-analysis-toolbar,.live-analysis-header,.live-status-row,.live-section-heading{align-items:flex-start;flex-direction:column}.analysis-scoreboard{text-align:left}.live-analysis-header h1{font-size:40px}.live-video-card{padding:8px;border-radius:17px}.live-video-wrap{border-radius:11px}.live-video-status{top:7px;left:7px}.event-flash{bottom:45px;font-size:11px}.live-status-row span{white-space:normal}.live-fighter-stats{grid-template-columns:1fr}.compact-analysis-stages{grid-template-columns:1fr}.analysis-process-card,.live-stats{padding:16px}.live-section-heading>p,.live-section-heading>span{text-align:left}.analysis-actions{flex-direction:column}.analysis-actions .btn{width:100%}.active-analysis-card{align-items:flex-start;flex-direction:column}.live-stat-grid{grid-template-columns:repeat(2,1fr)}}

/* Honest live-analysis reactions and final-session state. */
.active-analysis-chip[data-analysis-status=complete]{border-color:#3b6e64;background:#102922;color:#9ce3ca!important}.active-analysis-chip[data-analysis-status=complete] i{background:#68d5ae;animation:none}.active-analysis-chip[data-analysis-status=error]{border-color:#744253;background:#2a1420;color:#f1a9bd!important}.current-analysis-panel{margin-top:15px;padding:13px 14px;border:1px solid #365782;border-radius:13px;background:linear-gradient(135deg,#10243d,#0b172c)}.current-analysis-panel>span{display:block;color:#75d9f7;font-size:8px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.current-analysis-panel strong{display:block;margin-top:6px;color:#f2f6ff;font-size:13px;line-height:1.35}.current-analysis-panel small{display:block;margin-top:4px;color:#8495ad;font-size:11px}.analysis-markers button.family-kick{border-radius:50%}.analysis-markers button.family-knee{background:#7bd5b5}.analysis-markers button.outcome-blocked,.analysis-markers button.outcome-checked{box-shadow:0 0 0 2px rgba(241,184,75,.32)}.analysis-markers button.outcome-missed{opacity:.55}.analysis-complete .analysis-frontier{background:#62d0aa}.analysis-complete .analysis-live i{background:#62d0aa;animation:none}.analysis-complete .live-stats{border-color:#356c61}
.live-event-empty[hidden]{display:none}

/* The uploaded fight remains visible while the real pipeline warms up. */
.live-video-wrap video{transition:opacity .28s ease,filter .28s ease}.live-video-wrap.is-warming video{opacity:.4;filter:saturate(.7) contrast(.9)}.analysis-warmup{position:absolute;z-index:3;inset:0;display:grid;grid-template-rows:1fr auto;align-items:end;padding:clamp(46px,9vw,82px) clamp(18px,4vw,34px) 24px;background:linear-gradient(180deg,rgba(3,7,16,.28),rgba(3,8,19,.82));pointer-events:none}.analysis-warmup[hidden]{display:none}.warmup-arena{position:relative;width:min(330px,72%);height:110px;margin:auto}.warmup-ring-line{position:absolute;right:0;bottom:10px;left:0;height:1px;background:linear-gradient(90deg,transparent,#49617f 16%,#49617f 84%,transparent)}.warmup-figure{position:absolute;bottom:11px;width:46px;height:82px;transform-origin:50% 100%}.warmup-a{left:21%;color:#58d8f7;animation:wiq-shadowbox-a 1.6s ease-in-out infinite}.warmup-b{right:21%;color:#a58af7;animation:wiq-shadowbox-b 1.6s ease-in-out infinite}.warmup-figure i{position:absolute;top:0;left:15px;width:17px;height:17px;border:2px solid currentColor;border-radius:50%;background:#091426}.warmup-figure b{position:absolute;top:18px;left:13px;width:21px;height:34px;border:2px solid currentColor;border-radius:10px 10px 7px 7px;background:#0a1628}.warmup-figure b:before,.warmup-figure b:after{position:absolute;top:6px;width:26px;height:7px;border:2px solid currentColor;border-radius:99px;background:#0a1628;content:""}.warmup-figure b:before{right:13px;transform:rotate(-22deg);transform-origin:right}.warmup-figure b:after{left:13px;transform:rotate(22deg);transform-origin:left}.warmup-figure em:before,.warmup-figure em:after{position:absolute;top:48px;width:8px;height:34px;border:2px solid currentColor;border-radius:99px;background:#0a1628;content:""}.warmup-figure em:before{left:11px;transform:rotate(7deg)}.warmup-figure em:after{right:10px;transform:rotate(-7deg)}.warmup-copy{max-width:520px;margin:0 auto;text-align:center}.warmup-copy span{display:block;color:#73dff7;font-size:11px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.warmup-copy strong{display:block;margin-top:5px;color:#f3f7ff;font-size:clamp(17px,2.4vw,23px)}.warmup-copy small{display:block;max-width:460px;margin:5px auto 0;color:#a2b0c5;font-size:11px;line-height:1.5}@keyframes wiq-shadowbox-a{0%,100%{transform:translateX(0) rotate(-2deg)}45%{transform:translateX(9px) rotate(3deg)}55%{transform:translateX(7px) rotate(1deg)}}@keyframes wiq-shadowbox-b{0%,100%{transform:translateX(0) rotate(2deg)}45%{transform:translateX(-9px) rotate(-3deg)}55%{transform:translateX(-7px) rotate(-1deg)}}
@media(max-width:680px){.analysis-warmup{padding:48px 14px 17px}.warmup-arena{height:82px}.warmup-figure{transform:scale(.82);transform-origin:50% 100%}.warmup-copy small{display:none}}
@media(prefers-reduced-motion:reduce){.warmup-a,.warmup-b{animation:none}.live-video-wrap video{transition:none}}

/* Accuracy Lab: evidence density without dashboard clutter. */
.timing-validation{margin-top:18px}
.end-to-end-validation{margin-top:18px}.end-to-end-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.end-to-end-grid>div{padding:12px;border:1px solid #2d4165;border-radius:11px;background:#091326}.end-to-end-grid span,.end-to-end-grid small{display:block;color:#8191aa;font-size:11px;text-transform:capitalize}.end-to-end-grid strong{display:block;margin:5px 0;color:#eef4ff;font-size:18px}
.accuracy-title{align-items:flex-end;margin-bottom:24px}.accuracy-title h1{margin:7px 0 10px;font-size:clamp(42px,6vw,70px)}.accuracy-title p{max-width:760px;margin:0;color:var(--muted)}.accuracy-next-step{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:18px;border-color:#3d527e;background:radial-gradient(520px 190px at 100% 0,rgba(79,215,255,.12),transparent),linear-gradient(145deg,#111d37,#0a1428)}.accuracy-next-step h2{margin:7px 0 9px}.accuracy-next-step p{max-width:820px;margin:0;color:var(--muted)}.accuracy-state{flex:0 0 auto;padding:9px 12px;border:1px solid #745d2f;border-radius:99px;background:#241d10;font-size:11px;font-weight:850}.accuracy-state.good{border-color:#336b5a;background:#10271f}.accuracy-metric-grid{margin:18px 0 34px}.accuracy-metric .score{margin:12px 0 4px;font-size:42px}.accuracy-subtitle{margin-top:42px}.accuracy-dataset-grid{grid-template-columns:1fr 1fr}.accuracy-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.accuracy-card-head h2{margin:7px 0 0;font-size:28px}.accuracy-bars,.accuracy-error-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.accuracy-bars>div,.accuracy-error-strip>div{padding:12px;border:1px solid #2b3e62;border-radius:12px;background:#091326}.accuracy-bars span,.accuracy-error-strip span{display:block;color:#8291aa;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.accuracy-bars strong,.accuracy-error-strip strong{display:block;margin-top:5px;color:#eef4ff;font-size:20px}.class-coverage,.per-class-validation,.accuracy-issues{margin-top:18px}.class-support-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}.class-support-grid>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #2d4166;border-radius:10px;background:#0a1529}.class-support-grid span{color:#c7d2e3;font-size:11px;text-transform:capitalize}.class-support-grid strong{color:#77e0bd}.class-support-grid .missing{border-color:#493c3d;background:#191418}.class-support-grid .missing span{color:#877d83}.class-support-grid .missing strong{color:#c78391}.accuracy-empty{display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;margin-top:18px;border:1px dashed #35496f;border-radius:14px;text-align:center}.accuracy-empty strong{color:#d7e2f3}.accuracy-empty span{margin-top:5px;color:#8291aa;font-size:12px}.per-class-validation table td:first-child{text-transform:capitalize}
@media(max-width:900px){.accuracy-dataset-grid{grid-template-columns:1fr}.class-support-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.end-to-end-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.accuracy-title,.accuracy-next-step,.accuracy-card-head{align-items:flex-start;flex-direction:column}.accuracy-bars,.accuracy-error-strip{grid-template-columns:1fr 1fr}.class-support-grid,.end-to-end-grid{grid-template-columns:1fr 1fr}.accuracy-state{align-self:flex-start}}

/* The FAQ kept the browser's default ▶ disclosure triangle.
 *
 * Every other <details> in the product hides it and draws its own marker -
 * .nav-more>summary, .profile-menu>summary and .report-details summary all
 * do - so the FAQ was the one place a raw platform control showed through.
 * Same +/- marker as the report's accordion, for the same reason: one
 * disclosure idiom across the site.
 */
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"＋";flex:none;color:#8494ff;font-size:18px;font-weight:400;line-height:1}
.faq details[open] summary:after{content:"−"}

/* Delete already has its own colour and contrast in product.css, measured at
 * 4.5:1 and pinned by a test - not restated here. What it lacked was
 * separation from "View analysis" and "Replay": a destructive action reading
 * as the third item in a row of navigation. A divider before it, and only
 * that, so the responsive variants in product.css keep deciding the layout. */
.fight-record-actions form[data-confirm-delete]{margin-left:auto;padding-left:14px;border-left:1px solid var(--wiq-line-soft,#263756)}

/* The delete confirmation, replacing window.confirm(). */
.wiq-confirm{max-width:460px;width:calc(100% - 32px);padding:0;border:1px solid var(--wiq-edge,#2b3d60);border-radius:16px;background:var(--wiq-surface,#0c172a);color:var(--wiq-text,#e8effb)}
.wiq-confirm::backdrop{background:rgba(3,7,15,.72)}
.wiq-confirm-body{padding:22px}
.wiq-confirm h2{margin:0 0 10px;font-size:18px}
.wiq-confirm p{margin:0;color:var(--wiq-text-secondary,#9fb0cb);font-size:13px;line-height:1.6}
.wiq-confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 22px}
.wiq-confirm-actions button{padding:10px 16px;border-radius:10px;font-size:13px;font-weight:750;cursor:pointer}
.wiq-confirm-cancel{border:1px solid var(--wiq-edge,#2b3d60);background:transparent;color:var(--wiq-text,#e8effb)}
.wiq-confirm-delete{border:1px solid #7d3446;background:#5d2231;color:#ffd9e0}
.wiq-confirm-delete:hover{background:#742b3d}

/* product.css */
/* WarriorIQ product polish — shared editorial sports interface */
:root{
  --wiq-canvas:#09090b;
  --wiq-canvas-raised:#151518;
  --wiq-panel:#1c1c21;
  --wiq-panel-strong:#232329;
  --wiq-line:#33333a;
  --wiq-line-soft:#242429;
  --wiq-text:#f5f5f6;
  --wiq-text-secondary:#a1a1a8;
  --wiq-text-tertiary:#82828b;
  --wiq-blue:#5c82ef;
  --wiq-cyan:#55c6df;
  --wiq-a:#55c6df;
  --wiq-b:#a08ae8;
  --wiq-success:#5fd5a6;
  --wiq-warning:#edb966;
  --wiq-danger:#ef7891;
  --wiq-radius-sm:3px;
  --wiq-radius-md:4px;
  --wiq-radius-lg:6px;
  --wiq-space-1:6px;
  --wiq-space-2:10px;
  --wiq-space-3:16px;
  --wiq-space-4:24px;
  --wiq-space-5:36px;
  --wiq-space-6:56px;
  --wiq-shadow:0 1px 0 rgba(255,255,255,.03);
}

.settings-tabs{display:flex;gap:8px;margin:18px 0 24px;border-bottom:1px solid var(--line)}
.settings-tabs a{padding:12px 16px;color:var(--muted);font-weight:700;text-decoration:none;border-bottom:2px solid transparent}
.settings-tabs a[aria-current="page"]{color:var(--text);border-bottom-color:var(--blue)}
.settings-data{display:grid;gap:0;margin:18px 0}
.settings-data>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}
.settings-data dt{color:var(--muted)}.settings-data dd{margin:0;text-align:right;font-weight:700}
.billing-facts{display:grid;gap:6px;margin:14px 0;padding:12px 0;border-block:1px solid var(--line);line-height:1.45}
.privacy-fight-list{display:grid;gap:10px}.privacy-fight-list article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--line)}
.privacy-fight-list article>div:first-child{display:grid;gap:4px}.privacy-fight-list article span{color:var(--muted);font-size:.88rem}
@media(max-width:720px){.privacy-fight-list article,.settings-data>div{align-items:flex-start;flex-direction:column}.settings-data dd{text-align:left}.settings-tabs a{flex:1;text-align:center}}

html{background:var(--wiq-canvas)}
body{background:var(--wiq-canvas);color:var(--wiq-text)}
body:before{opacity:.045;background-size:64px 64px}
::selection{background:#557ee8;color:#fff}
main{min-height:55vh}
h1,h2,h3{color:var(--wiq-text);text-wrap:balance}
p{text-wrap:pretty}
.muted{color:var(--wiq-text-secondary)}
.eyebrow{color:#8ea9f5;letter-spacing:1.5px}
.eyebrow:before{background:var(--wiq-cyan)}
.card,.hero-card{border-color:var(--wiq-line);background:linear-gradient(150deg,rgba(16,26,43,.98),rgba(10,17,29,.99));box-shadow:0 14px 42px rgba(0,0,0,.22)}
.card:hover{border-color:#3a506f}
.btn{border-radius:10px;background:#5577d8;box-shadow:0 8px 20px rgba(41,75,158,.22)}
.btn:hover{background:#6387ea;box-shadow:0 11px 28px rgba(41,75,158,.3)}
.btn.secondary{border-color:#344762;background:#111b2b}
.btn.secondary:hover{background:#17243a;border-color:#506786}
.pill{border-color:#33455e;background:#101a2a}

/* Premium application navigation */
.nav{top:0;height:72px;margin-top:0;border-width:0 0 1px;border-color:var(--wiq-line-soft);border-radius:0;background:rgba(8,13,23,.94);box-shadow:none;backdrop-filter:blur(16px)}
.brand{font-size:18px;letter-spacing:-.45px}.brand-logo{width:36px;height:36px}.brand span{color:#8ea9f5}
.navlinks{height:100%}.navlinks>a,.nav-more>summary{display:flex;height:100%;align-items:center;padding:0 11px;border-radius:0;color:#98a8bd;font-size:12px;letter-spacing:.12px}
.navlinks>a:hover,.nav-more>summary:hover,.nav-more[open]>summary{background:transparent;color:#fff}
.navlinks>a[aria-current=page]{background:transparent;color:#fff}
.navlinks>a[aria-current=page]:after{left:11px;right:11px;bottom:0;height:2px;background:var(--wiq-cyan)}
.nav-more-panel{top:62px;border-color:var(--wiq-line);border-radius:12px;background:#0c1421;box-shadow:var(--wiq-shadow)}
.account-nav{gap:8px}.account-nav>a:not(.btn){font-size:12px}
.profile-menu{position:relative}.profile-menu>summary{display:flex;align-items:center;gap:8px;min-height:42px;padding:4px 9px 4px 5px;border:1px solid #2c3c54;border-radius:10px;color:#bec9d8;cursor:pointer;list-style:none}.profile-menu>summary::-webkit-details-marker{display:none}.profile-menu>summary:hover,.profile-menu[open]>summary{border-color:#4b6283;background:#111d2e;color:#fff}.profile-initial{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#263e69;color:#dce7ff;font-size:12px;font-weight:850}.profile-email{max-width:126px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.profile-menu-panel{position:absolute;top:50px;right:0;width:238px;padding:7px;border:1px solid var(--wiq-line);border-radius:12px;background:#0c1421;box-shadow:var(--wiq-shadow)}.profile-menu-panel a{display:flex;flex-direction:column;gap:2px;padding:11px;border-radius:8px}.profile-menu-panel a:hover{background:#152238}.profile-menu-panel strong{font-size:12px}.profile-menu-panel span{color:var(--wiq-text-tertiary);font-size:11px}.profile-menu-panel form{margin:5px 0 0;padding-top:5px;border-top:1px solid var(--wiq-line-soft)}.profile-menu-panel button{width:100%;padding:10px;border:0;border-radius:8px;background:transparent;color:#d89aa8;text-align:left;cursor:pointer}.profile-menu-panel button:hover{background:#2a1820}
.active-analysis-chip{border-color:#36556a;background:#102530}.active-analysis-chip i{background:var(--wiq-success)}

/* Homepage — editorial typography, product-first composition */
body[data-page=home] .hero{min-height:0;padding:64px 0 78px;gap:58px}
body[data-page=home] .hero-copy{padding-top:12px}
body[data-page=home] .hero h1{max-width:740px;margin:20px 0 24px;font-size:clamp(55px,7.2vw,92px);font-weight:820;line-height:.88;letter-spacing:-.058em;text-transform:uppercase}
body[data-page=home] .hero h1 span,body[data-page=home] .hero h1 em{display:block}
body[data-page=home] .hero h1 em{margin-left:clamp(12px,3vw,54px);background:none;color:#9cb3f5;-webkit-text-stroke:0}
body[data-page=home] .hero p{max-width:600px;color:#adb9c9;font-size:17px;line-height:1.68}
body[data-page=home] .hero-card{border-radius:18px;box-shadow:var(--wiq-shadow)}
body[data-page=home] .hero-card:before{left:0;right:auto;top:24px;width:2px;height:58px;background:var(--wiq-cyan)}
.product-preview{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);gap:clamp(34px,6vw,78px);align-items:center;padding:64px 0 82px;border-top:1px solid var(--wiq-line-soft);border-bottom:1px solid var(--wiq-line-soft)}
.preview-visual{min-width:0}.preview-screen{overflow:hidden;padding:12px;border:1px solid #31435e;border-radius:17px;background:#0b1321;box-shadow:0 22px 65px rgba(0,0,0,.34)}.preview-screen-head{display:flex;align-items:center;justify-content:space-between;padding:3px 3px 12px;color:#7f8fa6;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.9px}.preview-screen-head span{display:flex;align-items:center;gap:6px}.preview-screen-head i{width:6px;height:6px;border-radius:50%;background:var(--wiq-success)}.preview-screen-head b{color:#b7c3d5}.preview-fight-stage{position:relative;overflow:hidden;aspect-ratio:16/8.5;border:1px solid #263954;border-radius:11px;background:linear-gradient(145deg,#101b2e,#070d17)}.preview-fight-stage:before,.preview-fight-stage:after{content:"";position:absolute;left:12%;right:12%;height:1px;background:#32455f}.preview-fight-stage:before{top:27%}.preview-fight-stage:after{bottom:25%}.preview-fighter{position:absolute;display:grid;place-items:center;width:18%;height:54%;top:23%;border:2px solid var(--wiq-a);border-radius:8px;color:#dff9ff;font-size:clamp(12px,2vw,22px);font-weight:900}.preview-a{left:24%}.preview-b{right:21%;border-color:var(--wiq-b);color:#eee9ff}.preview-scan{position:absolute;top:0;bottom:0;left:-24%;width:24%;background:linear-gradient(90deg,transparent,rgba(91,201,226,.12),transparent);animation:wiq-preview-scan 3.8s ease-in-out infinite}.preview-timeline{position:relative;height:20px;margin:10px 3px 0}.preview-timeline:before{content:"";position:absolute;top:9px;left:0;right:0;height:2px;background:#263850}.preview-timeline i{position:absolute;z-index:1;top:9px;left:0;width:68%;height:2px;background:var(--wiq-cyan)}.preview-timeline span{position:absolute;z-index:2;top:5px;width:8px;height:10px;border-radius:3px;background:var(--wiq-a)}.preview-timeline span:nth-of-type(1){left:24%}.preview-timeline span:nth-of-type(2){left:47%;background:var(--wiq-b)}.preview-timeline span:nth-of-type(3){left:64%}
.preview-copy h2{margin:11px 0 17px;font-size:clamp(38px,4.6vw,58px);line-height:.98}.preview-copy>p{color:var(--wiq-text-secondary);line-height:1.72}.preview-proof{display:grid;gap:0;margin:26px 0 0;padding:0;list-style:none}.preview-proof li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--wiq-line-soft)}.preview-proof li>span{color:#7f9bea;font-size:11px;font-weight:900}.preview-proof strong,.preview-proof small{display:block}.preview-proof strong{font-size:13px}.preview-proof small{margin-top:3px;color:var(--wiq-text-tertiary);font-size:11px;line-height:1.5}
.workflow-section{padding-bottom:92px}.workflow-section .section-intro{max-width:820px}.workflow-track{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #3a4b63;border-bottom:1px solid var(--wiq-line-soft)}.workflow-track article{position:relative;display:grid;grid-template-columns:38px 1fr;gap:10px;min-height:220px;padding:26px 22px 30px 0;border-right:1px solid var(--wiq-line-soft)}.workflow-track article:not(:first-child){padding-left:22px}.workflow-track article:last-child{border-right:0}.workflow-track article>span{color:#7089c7;font-size:11px;font-weight:900}.workflow-track h3{margin:0 0 10px;font-size:20px}.workflow-track p{margin:0;color:var(--wiq-text-tertiary);font-size:13px;line-height:1.62}
.product-outcomes{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:clamp(40px,8vw,100px);align-items:start}.outcome-intro{position:sticky;top:105px}.outcome-intro h2{margin:12px 0 17px;font-size:clamp(42px,5vw,62px);line-height:.98}.outcome-intro p{color:var(--wiq-text-secondary);line-height:1.7}.outcome-list{border-top:1px solid #3a4b63}.outcome-list a{display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:20px;align-items:center;min-height:124px;padding:24px 0;border-bottom:1px solid var(--wiq-line-soft)}.outcome-list a:hover strong{color:#fff}.outcome-list a:hover b{transform:translateX(4px);color:#a7bcfa}.outcome-list span{color:#7791d2;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.8px}.outcome-list strong{color:#c0cad8;font-size:18px;font-weight:650;transition:color .18s}.outcome-list b{color:#7f8fa6;font-size:12px;transition:transform .18s,color .18s}
.trust-panel{border-radius:17px;background:#0d1726;box-shadow:none}.final-cta{margin-top:40px;padding:52px 0;border-top:1px solid var(--wiq-line);border-bottom:1px solid var(--wiq-line)}.final-cta h2{margin:10px 0;font-size:clamp(38px,4.8vw,58px)}

/* Fight library — a sports archive, not a generic table */
.archive-hero{display:flex;align-items:end;justify-content:space-between;gap:32px;padding:64px 0 32px;border-bottom:1px solid var(--wiq-line)}.archive-hero h1{margin:10px 0 8px;font-size:clamp(48px,6.6vw,78px);line-height:.95}.archive-hero p{margin:0;color:var(--wiq-text-secondary)}
.fight-archive{padding:24px 0 60px}.archive-tools{display:flex;align-items:center;gap:14px;margin-bottom:24px}.archive-search{display:flex;flex:1;align-items:center;gap:8px;max-width:410px;padding:0 12px;border:1px solid var(--wiq-line);border-radius:10px;background:#0b1320}.archive-search:focus-within{border-color:#5876a5;box-shadow:0 0 0 3px rgba(91,128,190,.12)}.archive-search span{color:#7e8ca0}.archive-search input{width:100%;min-height:43px;border:0;outline:0;background:transparent;color:var(--wiq-text);font-size:12px}.archive-filters{display:flex;gap:4px;padding:4px;border:1px solid var(--wiq-line-soft);border-radius:10px;background:#0a111d}.archive-filters button{min-height:35px;padding:7px 11px;border:0;border-radius:7px;background:transparent;color:#8796aa;font-size:11px;font-weight:800;cursor:pointer}.archive-filters button[aria-pressed=true]{background:#1a2940;color:#fff}.archive-sort{display:flex;align-items:center;gap:7px;color:#7f8ea2;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.65px}.archive-sort select{min-height:43px;border:1px solid var(--wiq-line);border-radius:10px;background:#0b1320;color:#dbe3ef;padding:0 10px;font-size:11px}
.fight-records{border-top:1px solid #40516a}.fight-record{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(270px,1.25fr) minmax(150px,.55fr) minmax(125px,.42fr);gap:25px;align-items:center;padding:20px 0;border-bottom:1px solid var(--wiq-line-soft);transition:background-color .2s,transform .2s}.fight-record:hover{background:linear-gradient(90deg,rgba(38,60,90,.15),transparent 70%)}.fight-record[hidden]{display:none}.fight-thumb{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;border-radius:9px;background:linear-gradient(145deg,#111d30,#0a111c)}.fight-thumb img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.04);transition:transform .34s ease,filter .34s ease}.fight-record:hover .fight-thumb img{transform:scale(1.035);filter:saturate(.95) contrast(1.04)}.fight-thumb span{position:absolute;right:8px;bottom:8px;padding:5px 7px;border-radius:6px;background:rgba(6,12,21,.82);color:#eaf0f8;font-size:11px;font-weight:850;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.fight-record:hover .fight-thumb span{opacity:1;transform:none}.fight-thumb.thumb-unavailable:before{content:"Fight preview";position:absolute;inset:0;display:grid;place-items:center;color:#64758c;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.fight-record-main{min-width:0}.fight-record-top{display:flex;align-items:center;gap:12px;color:#78879b;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.7px}.fight-state{display:flex;align-items:center;gap:6px;color:#77caaa}.fight-state i{width:6px;height:6px;border-radius:50%;background:var(--wiq-success)}.fight-record-main h2{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:clamp(19px,2.1vw,26px)}.fight-record-main h2 b{color:#627087;font-size:11px;text-transform:uppercase;letter-spacing:1px}.fight-meta{display:flex;gap:7px;flex-wrap:wrap}.fight-meta span{padding-right:8px;border-right:1px solid #324158;color:#8b99ad;font-size:11px}.fight-meta span:last-child{border:0}
.fight-result{display:flex;flex-direction:column;align-items:flex-start}.fight-result>span{color:#718096;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.fight-result strong{margin:4px 0;color:#f0f4fa;font-size:30px;font-variant-numeric:tabular-nums}.fight-result strong i{color:#64738a;font-style:normal;font-weight:500}.fight-result .score-withheld{font-size:18px;color:#c3ad80}.fight-result small{color:#7d8b9f;font-size:11px}.fight-record-actions{display:flex;align-items:flex-start;flex-direction:column;gap:16px}.fight-record-actions .btn{width:100%;min-height:40px;padding:9px 11px}.fight-record-actions form{margin:0}.record-delete{padding:2px 0;border:0;background:none;color:var(--wiq-danger);font-size:13px;cursor:pointer}.record-delete:hover{color:#f08ca1;text-decoration:underline}
/* Separated from Replay: it is permanent, and it was one mis-tap away. */
.fight-record-actions form{margin-left:8px}.archive-no-results{display:flex;flex-direction:column;align-items:center;gap:14px;padding:55px 0;text-align:center;color:var(--wiq-text-tertiary)}.archive-no-results p{margin:0}
/* Named next to the button that will not work, rather than three native
   bubbles and a scroll back up to the consent block. */
/* The squad table below 900px.
   Nine columns in a 969px container made "Work on: Walking them down" wrap to
   five lines and rows grow to triple height; the wrapper's overflow-x turned
   a phone into a sideways scroll with nothing to say columns existed off to
   the right. Each row becomes a card instead, with the column header carried
   in front of its value. */
@media(max-width:900px){
  #squad .table-wrap{overflow-x:visible}
  #squad table,#squad tbody,#squad tr,#squad td{display:block;width:auto}
  #squad thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  #squad tr{margin-bottom:12px;padding:12px;border:1px solid var(--wiq-line);
    border-radius:var(--wiq-radius-sm);background:var(--wiq-canvas-raised)}
  #squad td{display:flex;justify-content:space-between;gap:14px;align-items:baseline;
    padding:5px 0;border:0;text-align:right}
  #squad td[data-label]:before{content:attr(data-label);flex:0 0 auto;
    color:var(--wiq-text-tertiary);font-size:12px;text-align:left}
  #squad td[data-label='']:before{content:none}
  #squad td[data-label='Fighter']{display:block;text-align:left}
}
.assign-note{display:inline-flex;align-items:baseline;gap:6px;margin-left:8px;color:var(--wiq-text-tertiary);font-size:12px}
.assign-note .text-link{border:0;background:none;padding:0;font-size:12px;cursor:pointer}
.upload-validation{margin:0 0 10px;padding:10px 12px;border:1px solid var(--wiq-line);border-radius:var(--wiq-radius-sm);background:var(--wiq-canvas-raised);color:var(--wiq-text-secondary);font-size:13px}
.empty-state{display:grid;grid-template-columns:90px minmax(0,1fr);gap:28px;align-items:start;max-width:780px;margin:45px 0;padding:34px;border:1px solid var(--wiq-line);border-radius:14px;background:#0c1421}.empty-state-mark{display:grid;place-items:center;width:72px;height:72px;border:1px solid #354b6a;border-radius:50%;color:#8fa9ef;font-size:29px}.empty-state h2{margin:8px 0}.empty-state p{color:var(--wiq-text-secondary)}

/* Shared result and live-analysis polish */
.result-overview{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(300px,1.1fr) minmax(190px,.6fr);gap:24px;align-items:center;margin:4px 0 24px;padding:22px 0;border-top:1px solid var(--wiq-line);border-bottom:1px solid var(--wiq-line)}.result-fighters{display:flex;align-items:center;gap:10px}.result-fighter{display:flex;align-items:center;gap:9px}.result-fighter img{width:48px;height:48px;border:1px solid #38516f;border-radius:9px;object-fit:cover}.result-fighter span{display:flex;flex-direction:column}.result-fighter small{color:#76859a;font-size:11px}.result-fighter strong{font-size:13px}.result-versus{color:#637188;font-size:11px;font-weight:900;text-transform:uppercase}.result-context{display:flex;justify-content:center;gap:18px}.result-context>div{padding-right:18px;border-right:1px solid var(--wiq-line-soft)}.result-context>div:last-child{border:0;padding:0}.result-context span,.result-scoreline span{display:block;color:#748297;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.result-context strong{display:block;margin-top:4px;font-size:13px}.result-scoreline{text-align:right}.result-scoreline strong{display:block;margin:3px 0;font-size:30px;font-variant-numeric:tabular-nums}.result-scoreline small{color:#8190a4;font-size:11px}
body[data-page=result] .report-path{border-radius:12px;background:#0b1422}body[data-page=result] .analysis-quality{box-shadow:none}.performance-card{overflow:hidden}.performance-meter i{background:linear-gradient(90deg,var(--wiq-cyan),var(--wiq-blue))}
.live-feed-card[data-event-mode=observed_attempts]{border-color:#39506b}.live-feed-card[data-event-mode=validated_actions]{border-color:#34705e}.live-event-item.is-observed button{border-left-color:#6f8fbd}.live-event-item.is-observed small{color:#91a0b5}.live-event-item.is-verified button{border-left-color:var(--wiq-success)}.live-event-empty{position:relative;overflow:hidden}.live-event-empty:before{content:"";position:absolute;top:0;bottom:0;left:-45%;width:42%;background:linear-gradient(90deg,transparent,rgba(101,139,190,.07),transparent);animation:wiq-empty-scan 2.8s ease-in-out infinite}.live-stat-grid>div.is-unavailable{opacity:.55}.live-stat-grid>div.is-supported{background:#0b172a}.capability-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.capability-strip span{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #30445f;border-radius:7px;color:#93a3b8;font-size:11px;font-weight:750}.capability-strip span:before{content:"";width:5px;height:5px;border-radius:50%;background:#5b708d}.capability-strip span.is-live{color:#bce4d4;border-color:#315f50}.capability-strip span.is-live:before{background:var(--wiq-success)}
.live-event-item.is-combination button{border-left-color:#a78bfa;background:#11182a}.analysis-markers button.family-combination{width:8px;height:16px;border-radius:2px;background:#a78bfa}.analysis-complete-transition{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:17px 19px;border:1px solid #356c61;border-radius:12px;background:#0e2924}.analysis-complete-transition[hidden]{display:none}.analysis-complete-transition strong{color:#a9ead3}.analysis-complete-transition span{color:#8faea4;font-size:11px}
/* Numbers-first fight report */
.numbers-first-report{margin:28px 0 36px;padding:34px 0 0;border-top:1px solid var(--wiq-line)}.numbers-first-report>header{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:25px}.numbers-first-report h1{margin:8px 0 0;font-size:clamp(43px,6vw,76px);line-height:.92;letter-spacing:-.045em}.numbers-score{text-align:right}.numbers-score>span,.numbers-score>small{display:block;color:#79889e;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.8px}.numbers-score strong{display:block;font-size:42px;font-variant-numeric:tabular-nums}.headline-numbers{display:grid;grid-template-columns:1.2fr repeat(5,1fr);border-top:1px solid #40516a;border-bottom:1px solid var(--wiq-line)}.headline-numbers article{min-height:135px;padding:23px 18px;border-right:1px solid var(--wiq-line-soft)}.headline-numbers article:last-child{border:0}.headline-numbers span,.weapon-problem-row span,.keep-fix-row span{display:block;color:#7f8ea3;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.8px}.headline-numbers strong{display:inline-block;margin-top:13px;font-size:43px;line-height:1;font-variant-numeric:tabular-nums}.headline-numbers small{margin-left:3px;color:#8d9aae}.weapon-problem-row,.keep-fix-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--wiq-line)}.weapon-problem-row article,.keep-fix-row article{min-height:115px;padding:24px 0}.weapon-problem-row article+article,.keep-fix-row article+article{padding-left:30px;border-left:1px solid var(--wiq-line-soft)}.weapon-problem-row strong,.keep-fix-row strong{display:block;margin:9px 0 4px;font-size:22px}.weapon-problem-row small,.keep-fix-row small{color:#8f9db0;line-height:1.5}.fighter-comparison,.outcome-evidence,.simple-rounds{padding:48px 0 10px}.numbers-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:19px}.numbers-section-heading h2{margin:7px 0 0;font-size:29px}.numbers-section-heading>span{color:#75849a;font-size:11px}.comparison-table{border-top:1px solid #40516a}.comparison-table>div{display:grid;grid-template-columns:minmax(150px,1fr) 120px 120px;min-height:57px;align-items:center;border-bottom:1px solid var(--wiq-line-soft)}.comparison-table>div:first-child:before{content:"Measure"}.comparison-table>div:first-child strong:first-of-type:before{content:"Fighter A"}.comparison-table>div:first-child strong:last-of-type:before{content:"Fighter B"}.comparison-table>div:first-child:before,.comparison-table>div:first-child strong:before{display:block;margin-top:-28px;color:#65758b;font-size:8px;text-transform:uppercase;letter-spacing:.7px}.comparison-table span{color:#9aa8b9;font-size:12px}.comparison-table strong{font-size:21px;font-variant-numeric:tabular-nums}.comparison-table .is-better{color:#85dfbd}.evidence-number-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #40516a}.evidence-number-list a{display:grid;grid-template-columns:1fr auto;gap:7px;padding:21px 18px 21px 0;border-right:1px solid var(--wiq-line-soft);border-bottom:1px solid var(--wiq-line-soft)}.evidence-number-list a:nth-child(3n+2),.evidence-number-list a:nth-child(3n+3){padding-left:18px}.evidence-number-list span{color:#9aa8b9;font-size:11px}.evidence-number-list strong{font-size:24px}.evidence-number-list b{grid-column:1/-1;color:#7fa1ef;font-size:11px;text-transform:uppercase;letter-spacing:.6px}.simple-rounds>article{border-top:1px solid var(--wiq-line);padding:17px 0}.simple-rounds article header,.simple-rounds article>div{display:flex;justify-content:space-between;gap:20px}.simple-rounds article header span,.simple-rounds article>div span{color:#8c9aab;font-size:11px}.simple-rounds article>div{margin-top:10px}.simple-rounds b{color:#e7edf5}.numbers-unavailable{display:grid;grid-template-columns:170px 170px 1fr;gap:20px;align-items:center;padding:26px;border:1px solid #5b4b2f;border-radius:12px;background:#201b13}.numbers-unavailable span{display:block;color:#98896d;font-size:11px;text-transform:uppercase}.numbers-unavailable strong{font-size:30px}.numbers-unavailable p{margin:0;color:#b7aa91;font-size:11px;line-height:1.6}.report-deep-dive{margin:34px 0;border:1px solid var(--wiq-line);border-radius:14px;background:#0a111d}.report-deep-dive>summary{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;cursor:pointer;list-style:none}.report-deep-dive>summary::-webkit-details-marker{display:none}.report-deep-dive>summary span{display:flex;flex-direction:column;gap:3px}.report-deep-dive>summary small{color:#7d8b9f;font-weight:500}.report-deep-dive>summary b{color:#8ea9f5}.report-deep-dive[open]>summary b{transform:rotate(45deg)}.report-deep-dive-body{padding:0 22px 22px}
.error-page{border-radius:14px;background:#0d1522;box-shadow:none}.error-page:before{content:"";position:absolute;left:0;top:34px;width:2px;height:72px;background:var(--wiq-danger)}
[aria-busy=true]{cursor:wait}.btn[aria-busy=true]:before{content:"";width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:wiq-button-wait .7s linear infinite}

@keyframes wiq-preview-scan{0%,18%{transform:translateX(0);opacity:0}35%{opacity:1}72%{transform:translateX(570%);opacity:1}88%,100%{transform:translateX(570%);opacity:0}}
@keyframes wiq-empty-scan{0%,15%{transform:translateX(0);opacity:0}35%{opacity:1}80%{transform:translateX(350%);opacity:1}100%{transform:translateX(350%);opacity:0}}
@keyframes wiq-button-wait{to{transform:rotate(360deg)}}

@media(max-width:1120px){
  .navlinks>a{padding-left:8px;padding-right:8px}.profile-email{display:none}
  .fight-record{grid-template-columns:170px minmax(230px,1fr) 135px}.fight-record-actions{grid-column:2/-1;flex-direction:row;align-items:center}.fight-record-actions .btn{width:auto}.result-overview{grid-template-columns:1fr 1fr}.result-scoreline{grid-column:1/-1;text-align:left}
}
@media(max-width:900px){
  body[data-page=home] .hero{padding-top:46px}.product-preview,.product-outcomes{grid-template-columns:1fr}.outcome-intro{position:static}.workflow-track{grid-template-columns:1fr 1fr}.workflow-track article:nth-child(2){border-right:0}.workflow-track article:nth-child(-n+2){border-bottom:1px solid var(--wiq-line-soft)}
  .archive-tools{align-items:stretch;flex-wrap:wrap}.archive-search{max-width:none;flex-basis:100%}.archive-filters{flex:1}.fight-record{grid-template-columns:160px minmax(0,1fr)}.fight-result{grid-column:2}.fight-record-actions{grid-column:2}.result-overview{grid-template-columns:1fr}.result-context{justify-content:flex-start}.result-scoreline{grid-column:auto}
  .headline-numbers{grid-template-columns:repeat(3,1fr)}.headline-numbers article:nth-child(3){border-right:0}.headline-numbers article:nth-child(-n+3){border-bottom:1px solid var(--wiq-line-soft)}.evidence-number-list{grid-template-columns:1fr 1fr}.numbers-unavailable{grid-template-columns:1fr 1fr}.numbers-unavailable p{grid-column:1/-1}
}
@media(max-width:620px){
  .shell{width:calc(100% - 24px)}.nav{height:64px}.brand{font-size:16px}.brand-logo{width:32px;height:32px}.mobile-menu{top:64px}.profile-menu{display:none}
  body[data-page=home] .hero h1{font-size:clamp(46px,15vw,68px);line-height:.9}body[data-page=home] .hero h1 em{margin-left:0}.product-preview{padding:46px 0 58px}.preview-copy h2{font-size:42px}.workflow-track{grid-template-columns:1fr}.workflow-track article,.workflow-track article:not(:first-child){min-height:0;padding:22px 0;border-right:0;border-bottom:1px solid var(--wiq-line-soft)}.workflow-track article:last-child{border-bottom:0}.outcome-list a{grid-template-columns:1fr auto;gap:8px}.outcome-list a span{grid-column:1/-1}.outcome-list a strong{font-size:15px}.final-cta{padding:42px 0}
  .archive-hero{align-items:flex-start;flex-direction:column;padding-top:44px}.archive-hero h1{font-size:49px}.archive-hero .btn{width:100%}.archive-filters{width:100%;overflow:auto}.archive-filters button{white-space:nowrap}.archive-sort{width:100%;justify-content:space-between}.archive-sort select{flex:1}.fight-record{grid-template-columns:1fr;gap:14px;padding:18px 0}.fight-thumb{aspect-ratio:16/8}.fight-result,.fight-record-actions{grid-column:auto}.fight-record-actions{align-items:center;flex-direction:row;flex-wrap:wrap}.fight-record-actions .btn{flex:1}.empty-state{grid-template-columns:1fr;padding:24px}.empty-state-mark{width:56px;height:56px}
  .result-context{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-context>div{padding:0;border:0}.result-fighters{flex-wrap:wrap}
  .numbers-first-report>header{align-items:flex-start;flex-direction:column}.numbers-score{text-align:left}.headline-numbers{grid-template-columns:1fr 1fr}.headline-numbers article,.headline-numbers article:nth-child(3){min-height:105px;border-right:1px solid var(--wiq-line-soft);border-bottom:1px solid var(--wiq-line-soft)}.headline-numbers article:nth-child(even){border-right:0}.headline-numbers strong{font-size:36px}.weapon-problem-row,.keep-fix-row{grid-template-columns:1fr}.weapon-problem-row article+article,.keep-fix-row article+article{padding-left:0;border-left:0;border-top:1px solid var(--wiq-line-soft)}.comparison-table>div{grid-template-columns:minmax(105px,1fr) 76px 76px}.evidence-number-list{grid-template-columns:1fr}.evidence-number-list a,.evidence-number-list a:nth-child(3n+2),.evidence-number-list a:nth-child(3n+3){padding-left:0;border-right:0}.simple-rounds article>div{align-items:flex-start;flex-direction:column;gap:6px}.report-deep-dive-body{padding:0 12px 12px}.analysis-complete-transition{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.preview-scan,.live-event-empty:before{display:none}.fight-thumb img,.fight-thumb span{transition:none}}
@media(forced-colors:active){.nav,.card,.hero-card,.fight-record,.preview-screen,.empty-state{border:1px solid CanvasText}.preview-fighter{border:2px solid Highlight}.btn{border:1px solid ButtonText}}

/* 2026-08 professional consistency pass
   Keep WarriorIQ's sports identity while reducing decorative UI noise. */
:root{
  --wiq-type-xs:11px;
  --wiq-type-sm:12px;
  --wiq-type-body:15px;
  --wiq-control-height:44px;
  --wiq-ease:cubic-bezier(.2,.75,.25,1);
  --wiq-fast:160ms;
  --wiq-normal:240ms;
}

body{font-size:var(--wiq-type-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a,button,input,select,summary{transition-duration:var(--wiq-fast);transition-timing-function:var(--wiq-ease)}
button,input,select{font:inherit}
button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.52}
:focus-visible{outline:2px solid #82a5ff;outline-offset:3px}
.btn{min-height:var(--wiq-control-height);padding:10px 16px;border-radius:var(--wiq-radius-sm);font-size:var(--wiq-type-sm);font-weight:780;letter-spacing:.01em}
.btn:active{transform:translateY(1px);box-shadow:none}
.field>label,.upload-field>label{font-size:var(--wiq-type-xs);letter-spacing:.075em}
.field input,.field select{min-height:var(--wiq-control-height);border-radius:var(--wiq-radius-sm);border-color:#2c3d58;background:#091120}
.field input:hover,.field select:hover{border-color:#405573}
.field input:focus,.field select:focus{border-color:#718ddb;box-shadow:0 0 0 3px rgba(92,130,239,.12)}
.notice{border-radius:var(--wiq-radius-sm);box-shadow:none}
.card{border-radius:var(--wiq-radius-md);box-shadow:none}

/* Navigation stays quiet until the user needs it. */
.nav{height:68px}
.navlinks>a,.nav-more>summary{padding-inline:13px;font-weight:720}
.navlinks>a[aria-current=page]:after{left:13px;right:13px}
.nav-signup{min-height:40px;padding:8px 13px}
.mobile-menu{border-radius:var(--wiq-radius-md);background:#0a1220;box-shadow:0 22px 55px rgba(0,0,0,.4)}
.mobile-menu a,.mobile-menu button{min-height:44px}

/* Home: clearer hierarchy and a shorter path to the upload action. */
body[data-page=home] .hero{padding-top:54px;gap:clamp(36px,4.5vw,64px)}
body[data-page=home] .hero h1{max-width:680px;font-size:clamp(50px,6.3vw,80px);line-height:.9;letter-spacing:-.052em}
body[data-page=home] .hero p{max-width:570px;font-size:16px;line-height:1.65}
body[data-page=home] .hero-card{border-radius:var(--wiq-radius-lg)}
.file-button{border-radius:var(--wiq-radius-md);transition:border-color var(--wiq-fast) var(--wiq-ease),background var(--wiq-fast) var(--wiq-ease),transform var(--wiq-fast) var(--wiq-ease)}
.file-button:hover{transform:none}
.advanced-option{margin:14px 0;border:1px solid #2b3c58;border-radius:var(--wiq-radius-sm);background:#0a1323}
.advanced-option>summary{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:16px;padding:10px 13px;color:#dce5f2;cursor:pointer;list-style:none}
.advanced-option>summary::-webkit-details-marker{display:none}
.advanced-option>summary span{display:flex;min-width:0;flex-direction:column;gap:2px}
.advanced-option>summary strong{font-size:12px}
.advanced-option>summary small{color:#8291a7;font-size:11px;font-weight:550;line-height:1.4}
.advanced-option>summary b{color:#829ce8;font-size:17px;font-weight:500;transition:transform var(--wiq-fast) var(--wiq-ease)}
.advanced-option[open]>summary b{transform:rotate(45deg)}
.advanced-option>.check{margin:0;padding:13px;border-top:1px solid #263750;color:#aebbd0;font-size:11px;line-height:1.5}
.advanced-option>.advanced-option-head{display:flex;min-height:52px;align-items:center;padding:10px 13px;color:#dce5f2}
.advanced-option>.advanced-option-head span{display:flex;min-width:0;flex-direction:column;gap:2px}
.advanced-option>.advanced-option-head strong{font-size:12px}
.advanced-option>.advanced-option-head small{color:#8291a7;font-size:11px;font-weight:550;line-height:1.4}
.advanced-option>.advanced-option-body{padding:13px 13px 0;border-top:1px solid #263750}
.upload-consent{border-radius:var(--wiq-radius-sm);background:#091222}
.upload-consent legend{padding-inline:7px;color:#bdc8d8;font-size:11px;font-weight:780}
.minor-permission{padding-top:11px;border-top:1px solid #263750}.minor-permission>span{display:block;color:#aebbd0;font-size:11px;font-weight:780}.minor-permission .check{margin:9px 0;font-size:11px}

/* Pricing: comparison-led rather than promo-led. */
.pricing-hero{max-width:760px;padding:68px 0 42px}
.pricing-hero h1{max-width:700px;margin:13px 0 18px;font-size:clamp(46px,6vw,70px);line-height:.96;letter-spacing:-.045em}
.pricing-hero h1 em{background:none;color:#9db3f2;-webkit-text-fill-color:currentColor}
.pricing-hero>p{font-size:16px;line-height:1.65}
.pricing-promise{gap:18px;margin-top:22px}
.pricing-promise span{padding:0;border:0;border-radius:0;background:none;color:#93a1b4;font-size:11px}
.pricing-grid{gap:14px}
.pricing-card,.pricing-card[data-plan=coach],.pricing-card.gym-featured{min-height:0;padding:24px;border-color:#293a54;background:#0d1625;box-shadow:none}
.pricing-card:hover{border-color:#415673}
.pricing-card.featured{border-color:#526ca9;box-shadow:none}
.pricing-card.gym-featured{border-color:#526ca9;background:#10192a;box-shadow:none}
.plan-banner{margin:-24px -24px 21px;padding:9px 14px;background:#1d2f58;color:#cddaff;font-size:11px;letter-spacing:1.3px}
.gym-featured .plan-banner{background:#203853}
.plan-price{margin-top:16px;font-size:38px;letter-spacing:-1.5px}
.billing-details{margin:15px 0 2px;border-top:1px solid var(--wiq-line-soft);border-bottom:1px solid var(--wiq-line-soft)}
.billing-details>summary{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:14px;color:#b8c4d5;cursor:pointer;list-style:none}
.billing-details>summary::-webkit-details-marker{display:none}
.billing-details>summary::marker{content:""}
.billing-details>summary span{display:flex;flex-direction:column;gap:2px;font-size:11px;font-weight:780}
.billing-details>summary small{color:#728197;font-size:11px;font-weight:550}
.billing-details>summary b{color:#7893dc;font-size:16px;font-weight:500;transition:transform var(--wiq-fast) var(--wiq-ease)}
.billing-details[open]>summary b{transform:rotate(45deg)}
.billing-details .billing-facts{margin:0;padding:4px 0 13px;border:0;color:#99a7ba;font-size:11px}
.plan-entitlement{margin:15px 0;padding:12px;border-radius:var(--wiq-radius-sm);background:#0a1322}
.plan-features{gap:8px;margin-bottom:21px}
.plan-features li{font-size:12px;line-height:1.45}
.gym-note{border-radius:var(--wiq-radius-sm);background:#111b30}
.report-levels .card{padding:24px}

/* Account access should read as a form, not a wall of feature cards. */
.auth-layout{min-height:660px;gap:clamp(36px,6vw,72px)}
.auth-copy h1{max-width:720px;font-size:clamp(42px,5.6vw,68px)}
.auth-copy>p{max-width:660px;font-size:16px}
.auth-copy .trust-checks{grid-template-columns:1fr 1fr;gap:0;margin-top:24px;border-top:1px solid var(--wiq-line-soft)}
.auth-copy .trust-checks span{position:relative;padding:12px 16px 12px 21px;border:0;border-bottom:1px solid var(--wiq-line-soft);border-radius:0;background:none;color:#96a5b9;font-size:11px}
.auth-copy .trust-checks span:before{content:"";position:absolute;left:0;top:17px;width:6px;height:6px;border-radius:50%;background:var(--wiq-success)}
.auth-card{border-radius:var(--wiq-radius-lg)}
.auth-form{display:flex;flex-direction:column}.auth-required-choices{display:grid;gap:8px;margin:4px 0 18px;padding:12px 0 16px;border-bottom:1px solid var(--wiq-line-soft)}.auth-required-choices .legal-check{margin:0}.auth-required-choices .optional-choice{opacity:.88}.social-auth>p{margin:0 0 11px;color:#8f9db1;font-size:11px;font-weight:800;letter-spacing:.075em;text-transform:uppercase}.social-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.social-auth-button{display:flex;min-height:46px;align-items:center;justify-content:flex-start;gap:10px;padding:10px 12px;border:1px solid #34445d;border-radius:10px;background:#101a2b;color:#edf2f9;font-size:12px;font-weight:750;cursor:pointer;transition:border-color 160ms ease,background-color 160ms ease,transform 160ms ease}.social-auth-button:hover{border-color:#62728b;background:#142036;transform:translateY(-1px)}.social-auth-button:active{transform:none}.social-auth-icon{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center}.social-auth-icon svg{width:19px;height:19px}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#718096;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--wiq-line-soft)}.auth-password-note{margin:-6px 0 14px;color:#7e8ba0;font-size:11px}.auth-submit{width:100%;margin-top:2px}

/* Dense product screens use consistent compact chrome. */
.section-title{gap:20px}
.section-title h1,.section-title h2{letter-spacing:-.03em}
.metric,.quality-strip,.analysis-quality,.live-video-card,.live-feed-card,.live-stats,.analysis-process-card{border-radius:var(--wiq-radius-md);box-shadow:none}
.table-wrap{border:1px solid var(--wiq-line-soft);border-radius:var(--wiq-radius-sm)}
table th{color:#7e8da2;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
table td{font-size:12px}
.upload-progress{display:grid;gap:7px;padding:12px 13px;border:1px solid #2b416b;border-radius:12px;background:#0a1428;color:#dbe6f7}
.upload-progress[hidden]{display:none}.upload-progress>span{height:6px;overflow:hidden;border-radius:999px;background:#1a2a49}.upload-progress>span i{display:block;width:0;height:100%;border-radius:inherit;background:#6380ff;transition:width .2s ease}.upload-progress b{font-size:12px}.upload-progress small{color:#8e9bb2;font-size:11px}.upload-progress[data-tone=error]{border-color:#70404b}.upload-progress[data-tone=error]>span i{background:#ef7181}
.learn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.learn-grid a{display:grid;gap:8px;min-height:150px;padding:22px;border:1px solid var(--line);border-radius:var(--wiq-radius-md);background:#0a1324;color:inherit;text-decoration:none;transition:border-color .18s ease,transform .18s ease}.learn-grid a:hover{transform:translateY(-2px);border-color:#536eac}.learn-grid span{color:#7f91b3;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.learn-grid strong{max-width:30ch;font-size:18px;line-height:1.3}.learn-grid b{align-self:end;color:#86a8ff;font-size:12px}
.search-guide{padding:70px 0 30px}.search-guide-hero{max-width:820px;padding:36px 0 58px}.search-guide-hero h1{max-width:16ch;margin:10px 0 18px;font-size:clamp(42px,7vw,76px);line-height:.98;letter-spacing:-.045em}.search-guide-hero>p{max-width:68ch;color:#a8b4c8;font-size:18px;line-height:1.75}.search-guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start}.search-guide-sections{display:grid;border-top:1px solid var(--line)}.search-guide-sections section{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:34px 0;border-bottom:1px solid var(--line)}.guide-number{color:#6f86b3;font-size:12px;font-weight:850}.search-guide h2{margin:0 0 12px;font-size:28px;letter-spacing:-.025em}.search-guide-sections p,.search-guide-faq p{color:#aab6c8;line-height:1.75}.search-guide-sections ul{display:grid;gap:8px;margin:18px 0 0;padding-left:20px;color:#d2dbea}.search-guide-aside{position:sticky;top:88px;display:grid;gap:14px}.search-guide-aside .card-inset{padding:20px}.search-guide-aside p{margin-bottom:0;color:#9eabc0;line-height:1.6}.search-guide-aside nav{display:grid;gap:0;padding:18px;border:1px solid var(--line);border-radius:var(--wiq-radius-sm);background:#091224}.search-guide-aside nav>strong{margin-bottom:8px}.search-guide-aside nav a{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #1c2b47;color:#b9c8df;text-decoration:none;font-size:13px}.search-guide-faq{max-width:850px;padding:70px 0}.search-guide-faq details{border-bottom:1px solid var(--line);padding:18px 0}.search-guide-faq summary{cursor:pointer;font-weight:750}.search-guide-faq p{max-width:68ch}



@media(max-width:900px){
  .nav{height:64px}
  body[data-page=home] .hero{padding-top:40px}
  .pricing-hero{padding-top:52px}
}
@media(max-width:620px){
  body[data-page=home] .hero{gap:36px;padding-top:34px}
  body[data-page=home] .hero h1{font-size:clamp(43px,13vw,54px);line-height:.94}
  body[data-page=home] .hero p{font-size:15px}
  /* `minmax(0,1fr)`, and the buttons' min-width cleared with it.
     `1fr` is shorthand for `minmax(auto,1fr)`, and an `auto` minimum
     cannot go below the item's own min-width - which fixes.css sets to
     145px in this same breakpoint, left over from when this was a flex
     row that wrapped. So the pair demanded 145+145+12 = 302px inside a
     288px column at a 320px viewport and the home page scrolled
     sideways: WCAG 2.2 AA 1.4.10 Reflow, which is also what 400% zoom
     on a laptop looks like. Clearing both keeps the two-column design
     the breakpoint was written for, at any width. */
  .hero-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hero-actions .btn{width:100%;min-width:0}
  .pricing-hero h1{font-size:44px}
  .pricing-promise{display:grid;gap:8px}
  .pricing-card,.pricing-card[data-plan=coach],.pricing-card.gym-featured{padding:20px}
  .plan-banner{margin:-20px -20px 18px}
  .auth-layout{padding-top:38px}
  .auth-copy .trust-checks{grid-template-columns:1fr}
  .auth-copy .trust-checks span{padding-block:10px}
  body:not([data-page=home]) main{padding-bottom:46px}
  
  .learn-grid{grid-template-columns:1fr}.search-guide{padding-top:38px}.search-guide-hero{padding-bottom:40px}.search-guide-hero>p{font-size:16px}.search-guide-layout{grid-template-columns:1fr}.search-guide-sections section{grid-template-columns:34px 1fr;gap:10px}.search-guide-aside{position:static}.search-guide-faq{padding:54px 0}
}
@media(max-width:440px){.social-auth-grid{grid-template-columns:1fr}}
.tactical-performance{padding:48px 0 10px}.tactical-performance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #40516a;border-bottom:1px solid var(--wiq-line)}.tactical-performance-grid article{padding:20px 18px 20px 0;border-right:1px solid var(--wiq-line-soft)}.tactical-performance-grid article+article{padding-left:18px}.tactical-performance-grid article:last-child{border-right:0}.tactical-performance-grid span,.attack-mix span{display:block;color:#7f8ea3;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.75px}.tactical-performance-grid strong{display:block;margin:8px 0 4px;font-size:31px;font-variant-numeric:tabular-nums}.tactical-performance-grid small{color:#8796aa;font-size:11px;line-height:1.45}.attack-mix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:22px 0}.attack-mix>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}.attack-mix strong{font-size:16px;font-variant-numeric:tabular-nums}.attack-mix i{grid-column:1/-1;display:block;height:5px;overflow:hidden;border-radius:99px;background:#18243a}.attack-mix b{display:block;width:var(--mix-value);height:100%;border-radius:inherit;background:#7296ef}.round-performance-note{display:flex;align-items:center;gap:16px;padding:15px 0;border-top:1px solid var(--wiq-line-soft);color:#8796aa;font-size:11px}.round-performance-note strong{color:#e9eef8;font-size:13px}.round-performance-note span+span{padding-left:16px;border-left:1px solid var(--wiq-line-soft)}
@media(max-width:900px){.tactical-performance-grid{grid-template-columns:1fr 1fr}.tactical-performance-grid article:nth-child(2){border-right:0}.tactical-performance-grid article:nth-child(-n+2){border-bottom:1px solid var(--wiq-line-soft)}}
@media(max-width:620px){.tactical-performance-grid,.attack-mix{grid-template-columns:1fr}.tactical-performance-grid article,.tactical-performance-grid article+article{padding:16px 0;border-right:0;border-bottom:1px solid var(--wiq-line-soft)}.round-performance-note{align-items:flex-start;flex-direction:column;gap:7px}.round-performance-note span+span{padding-left:0;border-left:0}}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ---------------------------------------------------------------------------
   Control refinement layer.
   Selects previously fell back to the platform's native dropdown, which paints
   light-on-dark and differs on every browser, so a form mixed styled inputs
   with an unstyled control. These rules keep every control on one surface and
   one radius using the existing tokens. Loaded last on purpose: earlier files
   set the same selectors and this layer only adjusts the visual finish.
   --------------------------------------------------------------------------- */
.field select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.5l5-4.75' fill='none' stroke='%2378869c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;background-size:11px 8px;
  cursor:pointer;
}
.field select:hover,.field select:focus{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.5l5-4.75' fill='none' stroke='%23c3d0e6' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
/* The native option list is drawn by the OS; force a readable pair so the open
   menu does not render dark-on-dark in browsers that inherit the field colour. */
.field select option{background:var(--wiq-panel-strong);color:var(--wiq-text)}

.field input,.field select,.field textarea{
  transition:border-color var(--wiq-fast) var(--wiq-ease),box-shadow var(--wiq-fast) var(--wiq-ease),background-color var(--wiq-fast) var(--wiq-ease);
}
.field input:disabled,.field select:disabled,.field textarea:disabled{opacity:.5;cursor:not-allowed}
.field input::placeholder,.field textarea::placeholder{color:var(--wiq-text-tertiary)}

/* Firefox draws number spinners permanently; reveal them on interaction only so
   the round/duration fields sit at the same visual weight as the other inputs. */
.field input[type=number]{-moz-appearance:textfield}
.field input[type=number]:hover,.field input[type=number]:focus{-moz-appearance:number-input}

/* system.css */
/* ===========================================================================
   WarriorIQ design system - the type, motion and focus layer.

   Colour, spacing and radius were already tokenised in product.css and are
   good; type was not. An audit of the stylesheets found eighteen different
   hand-picked font sizes and, more seriously, 85 rules setting body and label
   text at 9px or 10px. Text that small is the single loudest signal that an
   interface was assembled rather than designed, and it fails the 12px
   readability floor for anything a person is expected to actually read.

   This file introduces one modular scale (1.2 ratio, 16px base), a numeric
   treatment for the figures this product exists to show, and the motion and
   focus rules the rest of the system inherits. It is loaded before the
   surface layers so they can still override deliberately.
   =========================================================================== */

:root {
  /* --- Type scale ---------------------------------------------------------
     One ratio, named steps, no in-between guesses. `micro` is the floor: it
     exists for uppercase eyebrow labels with tracking, never for sentences. */
  --wiq-text-micro: 11px;   /* uppercase labels only, always with tracking */
  --wiq-text-xs:    12px;   /* dense metadata, table headers */
  --wiq-text-sm:    13px;   /* secondary prose, captions */
  --wiq-text-base:  15px;   /* body */
  --wiq-text-md:    17px;   /* lead paragraphs, card titles */
  --wiq-text-lg:    21px;   /* section headings */
  --wiq-text-xl:    26px;   /* page section titles */
  --wiq-text-2xl:   34px;   /* screen titles */
  --wiq-text-3xl:   46px;   /* hero */

  /* Line heights travel with the step: tight for display, open for reading. */
  --wiq-leading-tight: 1.05;
  --wiq-leading-snug:  1.3;
  --wiq-leading-body:  1.6;

  --wiq-tracking-label: .105em;   /* the eyebrow look, at a legible size */
  --wiq-tracking-tight: -.02em;

  /* --- Motion -------------------------------------------------------------
     Three durations, one easing. Anything outside this band either feels
     broken or feels like a screensaver. */
  --wiq-motion-instant: 120ms;
  --wiq-motion-quick:   180ms;
  --wiq-motion-settle:  260ms;
  --wiq-motion-ease: cubic-bezier(.2, .75, .25, 1);

  /* --- Focus --------------------------------------------------------------
     One visible ring for the whole product. Never removed, only restyled. */
  --wiq-focus-ring: 0 0 0 2px var(--wiq-canvas), 0 0 0 4px #82a5ff;
}

/* --- Numerals --------------------------------------------------------------
   This product is read as numbers: scores, percentages, round times, counts.
   Proportional figures make a column of them ragged and make 11 look narrower
   than 88. Tabular lining figures everywhere they appear, and a slightly
   tighter tracking so long readouts stay compact. */
.wiq-num,
.score, .big-progress, .metric .value, .weapon-bar > b,
td, th, time, .time, [data-numeric] {
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

/* --- The micro-label ------------------------------------------------------
   The eyebrow pattern used across the product. Raised off the 9-10px floor to
   11px and given the tracking that makes small uppercase readable, so it still
   reads as a label without shrinking into noise. */
.eyebrow,
.panel-kicker,
.workflow-steps strong,
.metric .label,
table th {
  font-size: var(--wiq-text-micro);
  letter-spacing: var(--wiq-tracking-label);
  text-transform: uppercase;
  font-weight: 750;
}

/* Anything genuinely below the floor is pulled up to it. These selectors are
   narrow on purpose: they lift the small print without touching deliberate
   display sizes. */
.small, small, .file-status, .sport-card-rules, .fight-meta span,
.capability-strip span, .preview-proof small, .outcome-list span {
  font-size: max(var(--wiq-text-xs), 1em);
}

/* --- Focus, once ----------------------------------------------------------
   A single visible ring on every interactive element. The audit's first rule
   is that focus is never removed, and a product that gates uploads behind
   consent checkboxes has to be operable from the keyboard. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: none;
  box-shadow: var(--wiq-focus-ring);
  border-radius: var(--wiq-radius-sm);
}

/* --- Reading measure ------------------------------------------------------
   Prose stops at a readable measure regardless of how wide the panel gets. */
.setup-decided,
.chooser-head p,
.sport-panel-frame,
.weapon-mix-caption { max-width: 62ch; }

/* --- Motion respect -------------------------------------------------------
   One global honouring of the preference, so no individual component has to
   remember. Transitions collapse rather than disappear, which keeps state
   changes legible instead of instant-snapping. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* --- Active sport, in the shell -------------------------------------------
   Five sports share one product, so the shell has to answer "which sport am I
   in?" on every screen without turning into a banner. A single chip in the
   navigation carries the sport's own crest and accent, and is itself the
   control that changes it. */
.sport-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 34px;
  margin-right: 6px;
  padding: 0 11px 0 7px;
  border: 1px solid rgb(var(--sport-accent) / .38);
  border-radius: 999px;
  background: rgb(var(--sport-accent) / .12);
  color: var(--wiq-text);
  font-size: var(--wiq-text-xs);
  font-weight: 700;
  white-space: nowrap;
  transition: background-color var(--wiq-motion-quick) var(--wiq-motion-ease),
              border-color var(--wiq-motion-quick) var(--wiq-motion-ease);
}

.sport-switch:hover {
  background: rgb(var(--sport-accent) / .2);
  border-color: rgb(var(--sport-accent) / .6);
}

.sport-switch-mark {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  background: rgb(var(--sport-accent) / .3);
  color: rgb(var(--sport-accent-soft));
  font-size: var(--wiq-text-micro);
  font-weight: 800;
  letter-spacing: .03em;
}

.sport-switch-caret { color: var(--wiq-text-tertiary); font-size: 13px; line-height: 1; }

/* The chevron promised a menu and the element was a link. It is a menu now,
   built the same way .nav-more is, so switching sport happens in place
   instead of navigating away from whatever was being read. */
.sport-menu { position: relative; }
.sport-menu > summary { cursor: pointer; list-style: none; }
.sport-menu > summary::-webkit-details-marker { display: none; }
.sport-menu[open] > summary .sport-switch-caret { transform: rotate(180deg); }
.sport-menu-panel { left: 0; right: auto; width: 232px; }
.sport-menu-panel a[aria-current="true"] { background: rgb(var(--sport-accent) / .16); }

/* On a phone the crest alone carries it; the name would crowd the logo. */
@media (max-width: 860px) {
  .sport-switch { padding: 0 7px; gap: 0; }
  .sport-switch-name, .sport-switch-caret { display: none; }
}

/* ===========================================================================
   Dashboard hierarchy.

   The screen used to open with five identical metric tiles, which asks the
   reader to work out what matters. One number leads now - the trend WarriorIQ
   actually tracks for this athlete - and the rest support it at a smaller
   weight. Recent fights became a scannable list; the eight-column table is
   still there, one disclosure away, for anyone who wants the whole grid.
   =========================================================================== */

.athlete-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(16px, 4vw, 40px);
  flex-wrap: wrap;
  margin: clamp(22px, 4vh, 40px) 0 clamp(18px, 3vh, 28px);
}

.athlete-id { display: flex; align-items: center; gap: 16px; min-width: 0; }
.athlete-id h1 { margin: 4px 0 0; font-size: var(--wiq-text-2xl); letter-spacing: var(--wiq-tracking-tight); }

.athlete-avatar {
  display: grid;
  place-items: center;
  flex: none;
  width: 56px;
  height: 56px;
  border: 1px solid rgb(var(--sport-accent) / .4);
  border-radius: 16px;
  background: linear-gradient(150deg, rgb(var(--sport-accent) / .26), rgb(var(--sport-accent) / .08));
  color: rgb(var(--sport-accent-soft));
  font-size: var(--wiq-text-lg);
  font-weight: 800;
}

.athlete-sub { margin: 5px 0 0; color: var(--wiq-text-secondary); font-size: var(--wiq-text-sm); }
.athlete-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* --- One number, then the supporting cast -------------------------------- */
.stat-band {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 2fr);
  gap: clamp(16px, 3vw, 32px);
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--wiq-edge);
  border-radius: 18px;
  background: linear-gradient(150deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
  box-shadow: var(--wiq-lift);
}

.stat-lead { display: grid; gap: 6px; }

.stat-lead strong {
  display: block;
  color: var(--wiq-text);
  font-size: clamp(46px, 6vw, 68px);
  font-weight: 800;
  line-height: var(--wiq-leading-tight);
  letter-spacing: -.045em;
}

/* The unit rides at a smaller weight so the figure itself carries the row. */
.stat-lead strong em {
  font-style: normal;
  font-size: .42em;
  font-weight: 650;
  color: var(--wiq-text-tertiary);
  margin-left: .06em;
}

.stat-delta { font-size: var(--wiq-text-xs); font-weight: 650; }
.stat-delta.up { color: var(--wiq-success); }
.stat-delta.down { color: var(--wiq-warning); }
.stat-delta.flat { color: var(--wiq-text-tertiary); }

.stat-support {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 1px;
  background: var(--wiq-line-soft);
  border: 1px solid var(--wiq-line-soft);
  border-radius: 13px;
  overflow: hidden;
}

.stat {
  display: grid;
  gap: 3px;
  padding: 15px 16px;
  background: var(--wiq-canvas-raised);
}

.stat .label {
  color: var(--wiq-text-tertiary);
  font-size: var(--wiq-text-micro);
  font-weight: 750;
  letter-spacing: var(--wiq-tracking-label);
  text-transform: uppercase;
}

.stat b { color: var(--wiq-text); font-size: var(--wiq-text-lg); font-weight: 750; }
.stat i { font-style: normal; font-size: var(--wiq-text-micro); font-weight: 650; }
.stat i.up { color: var(--wiq-success); }
.stat i.down { color: var(--wiq-warning); }
.stat i.quiet { color: var(--wiq-text-tertiary); font-weight: 500; }

.action-band { margin-top: 12px; }

/* --- Recent fights -------------------------------------------------------- */
.fight-list { margin: 18px 0 0; padding: 0; list-style: none; }

.fight-list a {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto 20px;
  gap: 18px;
  align-items: center;
  padding: 14px 10px 14px 4px;
  border-top: 1px solid var(--wiq-line-soft);
  border-radius: var(--wiq-radius-sm);
  transition: background-color var(--wiq-motion-quick) var(--wiq-motion-ease);
}

.fight-list a:hover { background: rgba(255, 255, 255, .035); }
.fight-list a:hover .fight-go { transform: translateX(3px); color: var(--wiq-text); }

.fight-date { color: var(--wiq-text-secondary); font-size: var(--wiq-text-sm); }
.fight-ruleset { color: var(--wiq-text); font-size: var(--wiq-text-sm); font-weight: 650; }

.fight-figures { display: flex; align-items: baseline; gap: 6px 14px; flex-wrap: wrap; }
.fight-figures b { color: var(--wiq-text); font-size: var(--wiq-text-base); font-weight: 750; }
.fight-figures small { color: var(--wiq-text-tertiary); font-size: var(--wiq-text-micro); margin-right: 6px; }

.fight-go {
  color: var(--wiq-text-tertiary);
  text-align: right;
  transition: transform var(--wiq-motion-quick) var(--wiq-motion-ease),
              color var(--wiq-motion-quick) var(--wiq-motion-ease);
}

.full-history { margin-top: 20px; }

@media (max-width: 860px) {
  .stat-band { grid-template-columns: 1fr; }
  .stat-lead strong { font-size: 48px; }
}

@media (max-width: 620px) {
  .athlete-head { align-items: flex-start; }
  .athlete-actions { width: 100%; }
  .athlete-actions .btn { flex: 1; }
}

/* The shared disclosure styles its summary's <span> as one small grey run, so
   a title and a subtitle inside it collide. This one stacks them. */
.full-history summary span { display: grid; gap: 2px; }
.full-history summary strong { color: var(--wiq-text); font-size: var(--wiq-text-sm); font-weight: 700; }
.full-history summary small { color: var(--wiq-text-tertiary); font-size: var(--wiq-text-micro); font-weight: 500; }

@media (max-width: 780px) {
  .fight-list a {
    grid-template-columns: 1fr auto;
    grid-template-areas: "date go" "rules rules" "figs figs";
    gap: 6px 12px;
  }
  .fight-date { grid-area: date; }
  .fight-go { grid-area: go; }
  .fight-ruleset { grid-area: rules; }
  .fight-figures { grid-area: figs; }
}

/* ===========================================================================
   Round momentum.

   The scorer weighs every verified action for the ruleset and stores the
   result per round. Drawing each round out from the centre turns a column of
   10-9s into the shape of the fight: who controlled it, by how much, and where
   it turned. The two fighters keep the colours the rest of the report uses.
   =========================================================================== */
.momentum-tally {
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  color: var(--wiq-text-secondary);
  font-size: var(--wiq-text-micro);
}
.momentum-tally b { color: var(--wiq-text); font-size: var(--wiq-text-lg); font-weight: 800; }
.momentum-tally i { width: 1px; height: 14px; background: var(--wiq-line); align-self: center; }

.momentum-list { margin: 22px 0 0; padding: 0; list-style: none; }

.momentum-list li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 62px 128px;
  gap: 14px;
  align-items: center;
  padding: 11px 0;
  border-top: 1px solid var(--wiq-line-soft);
}

.momentum-round {
  color: var(--wiq-text-tertiary);
  font-size: var(--wiq-text-micro);
  font-weight: 800;
  letter-spacing: .06em;
}

/* One track, two fills meeting at the share boundary. A single flex row keeps
   the meeting point exact without arithmetic in the template. */
.momentum-bar {
  display: flex;
  height: 16px;
  border-radius: 5px;
  overflow: hidden;
  background: rgba(255, 255, 255, .05);
}

.momentum-bar i { display: block; width: var(--share, 50%); height: 100%; }
.momentum-b { border-left: 1px solid rgba(8, 12, 20, .85); }
.momentum-a { background: linear-gradient(90deg, rgb(var(--wiq-aurora-b) / .45), rgb(var(--wiq-aurora-b) / .9)); }
.momentum-b { background: linear-gradient(90deg, rgb(var(--wiq-aurora-c) / .9), rgb(var(--wiq-aurora-c) / .45)); }

.momentum-score { color: var(--wiq-text); font-size: var(--wiq-text-base); font-weight: 750; text-align: center; }
.momentum-score em { font-style: normal; color: var(--wiq-text-tertiary); margin: 0 2px; }

.momentum-flags { display: flex; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }

.momentum-flags b {
  padding: 3px 8px;
  border: 1px solid var(--wiq-edge);
  border-radius: 999px;
  color: var(--wiq-text-secondary);
  font-size: var(--wiq-text-micro);
  font-weight: 700;
  white-space: nowrap;
}

.momentum-flags b.kd { border-color: rgba(239, 120, 145, .5); color: var(--wiq-danger); }
.momentum-flags b.even { color: var(--wiq-text-tertiary); }

.momentum-note { margin: 18px 0 0; max-width: 72ch; }

@media (max-width: 720px) {
  .momentum-list li {
    grid-template-columns: 34px minmax(0, 1fr) 58px;
    grid-template-areas: "round bar score" "flags flags flags";
    gap: 8px 12px;
  }
  .momentum-round { grid-area: round; }
  .momentum-bar { grid-area: bar; }
  .momentum-score { grid-area: score; }
  .momentum-flags { grid-area: flags; justify-content: flex-start; }
}

/* The athlete profile shares the dashboard's identity band so the same person
   is presented the same way in both places. */
.profile-head-band { margin-top: clamp(18px, 3vh, 34px); }
.athlete-photo { object-fit: cover; padding: 0; }

.athlete-facts {
  display: flex;
  gap: 7px 14px;
  flex-wrap: wrap;
  margin: 6px 0 0;
  color: var(--wiq-text-secondary);
  font-size: var(--wiq-text-sm);
}

/* Hairline separators between facts, drawn only between them. */
.athlete-facts span + span { position: relative; padding-left: 15px; }
.athlete-facts span + span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 11px;
  transform: translateY(-50%);
  background: var(--wiq-line);
}
