:root {
  --font-geist-sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-geist-mono: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ink: #101b2a;
  --muted: #687781;
  --paper: #f4f7f3;
  --white: #ffffff;
  --line: #dce4de;
  --lime: #8bea43;
  --blue: #2f8cff;
  --coral: #ff6b35;
}

* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: clip; background: var(--paper); }
body { max-width: 100%; margin: 0; overflow-x: clip; background: var(--paper); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif; }
button, input, select { font: inherit; }
button { color: inherit; }
button, a, input { touch-action: manipulation; }
.app-shell { min-height: 100vh; display: flex; }

.sidebar { position: fixed; inset: 0 auto 0 0; width: 232px; padding: 27px 18px 22px; background: var(--ink); color: #eef4ef; display: flex; flex-direction: column; z-index: 20; }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 9px 34px; font-weight: 760; font-size: 18px; letter-spacing: -.4px; }
.brand-mark { width: 32px; height: 32px; display: grid; place-items: center; background: var(--lime); color: var(--ink); border-radius: 9px; font: 800 11px var(--font-geist-mono), monospace; letter-spacing: -1px; box-shadow: inset 0 -3px 0 rgba(16,27,42,.14); }
.sidebar nav { display: grid; gap: 4px; }
.nav-item { width: 100%; border: 0; border-radius: 9px; padding: 11px 12px; color: #9fac9f; background: transparent; display: flex; align-items: center; gap: 12px; cursor: pointer; text-align: left; font-weight: 570; font-size: 13px; }
.brand, .nav-item { text-decoration: none; color: inherit; }
.nav-item > span { color: #bfcbc1; font-size: 18px; width: 18px; text-align: center; }
.nav-item em { margin-left: auto; font-style: normal; font-size: 8px; letter-spacing: .9px; color: var(--ink); background: var(--lime); padding: 3px 5px; border-radius: 3px; }
.nav-item:hover, .nav-item.active { color: white; background: #2a3832; }
.nav-item.active > span { color: var(--lime); }
.sidebar-bottom { margin-top: auto; display: grid; gap: 14px; }
.trial-meter { border: 1px solid #3b4a43; border-radius: 12px; padding: 13px; }
.trial-meter > div:first-child { display: flex; justify-content: space-between; font-size: 11px; }
.trial-meter span { color: #cbd4cd; }
.trial-meter strong { color: var(--lime); }
.trial-meter small { display: block; color: #7e8d85; margin-top: 8px; font-size: 10px; }
.meter { height: 4px; background: #3a4942; border-radius: 4px; margin-top: 9px; overflow: hidden; }
.meter i { display: block; height: 100%; width: 57%; background: var(--lime); }
.membership { border: 0; background: var(--lime); color: var(--ink); padding: 10px; border-radius: 8px; font-weight: 750; font-size: 12px; cursor: pointer; }
.admin-shortcut { display: block; border: 1px solid #46564e; border-radius: 8px; padding: 9px 10px; color: #d8e1dc; text-decoration: none; text-align: center; font-size: 9px; font-weight: 750; }
.athlete-mini { padding-top: 13px; border-top: 1px solid #33423b; display: flex; align-items: center; gap: 9px; }
.athlete-mini > span, .avatar { width: 31px; height: 31px; border-radius: 50%; display: grid; place-items: center; background: #ffd6a8; color: #67441e; font-weight: 800; font-size: 10px; }
.athlete-mini div { display: grid; flex: 1; }
.athlete-mini strong { font-size: 10px; }
.athlete-mini small { max-width: 118px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; color: #829088; margin-top: 2px; }
.athlete-mini b { color: #7f8e86; }
.public-login { flex: 0 0 auto; border: 1px solid #46564e; border-radius: 6px; padding: 6px 7px; color: var(--lime); text-decoration: none; font-size: 7px; font-weight: 800; white-space: nowrap; }
.public-login:hover { border-color: var(--lime); }

.workspace { margin-left: 232px; min-width: 0; width: calc(100% - 232px); }
.topbar { height: 62px; border-bottom: 1px solid var(--line); display: flex; justify-content: flex-end; align-items: center; padding: 0 32px; background: rgba(244,246,242,.96); position: sticky; top: 0; z-index: 12; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.language-switch { display: flex; background: #e6ebe5; padding: 3px; border-radius: 7px; }
.language-switch button { border: 0; background: transparent; font-size: 10px; padding: 5px 7px; border-radius: 5px; cursor: pointer; font-weight: 700; color: #718079; }
.language-switch a { border: 0; background: transparent; font-size: 10px; padding: 5px 7px; border-radius: 5px; cursor: pointer; font-weight: 700; color: #718079; text-decoration:none; }
.language-switch .selected { background: white; color: var(--ink); box-shadow: 0 1px 3px rgba(20,30,25,.12); }
.icon-button { width: 31px; height: 31px; border-radius: 50%; border: 1px solid var(--line); background: white; color: var(--coral); font-size: 8px; cursor: pointer; }
.top-login { border-color: var(--ink); background: var(--ink); color: white; padding: 8px 11px; font-size: 8px; }
.mobile-brand { display: none; }
.content { max-width: 1240px; margin: 0 auto; padding: 34px 34px 60px; }
.eyebrow, .light-label { margin: 0 0 8px; text-transform: uppercase; letter-spacing: 1.25px; font: 700 9px var(--font-geist-mono), monospace; color: #718079; }
.welcome-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.welcome-row h1 { margin: 0; font-size: clamp(26px, 3vw, 36px); letter-spacing: -1.4px; line-height: 1; }
.welcome-row > div > p:last-child { color: var(--muted); font-size: 13px; margin: 10px 0 0; }
.date-control { display: grid; gap: 6px; }
.date-control span { font: 700 8px var(--font-geist-mono); letter-spacing: 1px; color: var(--muted); }
.date-control input { background: white; border: 1px solid var(--line); padding: 8px 11px; border-radius: 8px; font-size: 11px; color: var(--ink); }

.race-hero { display: grid; grid-template-columns: 1.9fr 1fr; min-height: 240px; border-radius: 18px; overflow: hidden; margin-bottom: 18px; box-shadow: 0 10px 30px rgba(30,45,38,.08); }
.race-main { color: white; background: #1b2923; padding: 26px 30px; position: relative; overflow: hidden; }
.race-main::after { content: "RACE\A READY"; white-space: pre; position: absolute; right: -4px; bottom: -20px; color: rgba(255,255,255,.035); font-size: 72px; font-weight: 900; line-height: .75; letter-spacing: -6px; text-align: right; }
.light-label { color: var(--lime); }
.race-title-row { display: flex; justify-content: space-between; gap: 15px; position: relative; z-index: 1; }
.race-title-row h2 { margin: 1px 0 6px; font-size: clamp(21px, 2.4vw, 30px); letter-spacing: -1.1px; }
.race-title-row p { margin: 0; color: #9db0a5; font-size: 11px; }
.race-date { color: #bbcac0; font-size: 11px; border: 1px solid #3b4c44; padding: 7px 9px; border-radius: 7px; align-self: start; white-space: nowrap; }
.countdown { position: absolute; left: 30px; bottom: 25px; display: flex; align-items: center; gap: 10px; z-index: 2; }
.countdown > strong { font-size: 62px; line-height: .8; letter-spacing: -4px; color: var(--lime); }
.countdown > span { text-transform: uppercase; font: 700 10px var(--font-geist-mono); letter-spacing: 1px; }
.countdown small { display: block; text-transform: none; letter-spacing: 0; font-family: var(--font-geist-sans); font-weight: 400; color: #95a59c; margin-top: 5px; }
.phase-card { background: var(--lime); padding: 27px 26px; display: flex; flex-direction: column; justify-content: space-between; }
.phase-top { display: flex; justify-content: space-between; gap: 15px; }
.phase-top p { font: 700 8px var(--font-geist-mono); letter-spacing: 1px; margin: 0 0 10px; }
.phase-top h3 { font-size: 25px; letter-spacing: -.8px; margin: 0 0 5px; }
.phase-top span { font-size: 10px; }
.readiness-ring { width: 69px; height: 69px; border-radius: 50%; border: 7px solid rgba(24,35,31,.15); border-top-color: var(--ink); display: grid; place-content: center; text-align: center; transform: rotate(15deg); }
.readiness-ring strong, .readiness-ring small { transform: rotate(-15deg); }
.readiness-ring strong { font-size: 19px; line-height: 1; }
.readiness-ring small { font-size: 8px; }
.readiness-copy { border-top: 1px solid rgba(24,35,31,.19); padding-top: 15px; display: grid; grid-template-columns: 1fr auto; align-items: center; }
.readiness-copy span { font: 700 8px var(--font-geist-mono); letter-spacing: 1px; }
.readiness-copy b { font-size: 13px; }
.readiness-copy small { margin-top: 5px; }

.timeline-card { background: white; border: 1px solid var(--line); border-radius: 14px; padding: 19px 21px 15px; margin-bottom: 18px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.section-heading h2 { margin: 0; font-size: 16px; letter-spacing: -.4px; }
.section-heading > span { font-size: 10px; color: var(--muted); }
.phase-track { height: 44px; display: flex; gap: 3px; border-radius: 8px; overflow: hidden; }
.phase-segment { min-width: 52px; padding: 8px 9px; position: relative; display: flex; align-items: flex-start; justify-content: space-between; font-size: 9px; }
.phase-segment small { font-size: 8px; opacity: .68; }
.phase-segment i { position: absolute; left: 7px; bottom: 0; width: 2px; height: 9px; background: var(--ink); }
.phase-dates { display: flex; justify-content: space-between; margin-top: 6px; color: var(--muted); font-size: 8px; }

.dashboard-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.panel { background: white; border: 1px solid var(--line); border-radius: 14px; padding: 22px; min-width: 0; }
.panel-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.panel-head h2 { margin: 0; font-size: 18px; letter-spacing: -.5px; }
.text-link { border: 0; background: transparent; color: var(--ink); font-size: 10px; cursor: pointer; font-weight: 700; }
.session-row { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 11px; padding: 17px 0; border-bottom: 1px solid #edf0ec; }
.session-icon { width: 34px; height: 34px; border-radius: 8px; display: grid; place-items: center; font-weight: 800; font-size: 11px; }
.lime { background: var(--lime); }.blue { background: #d7ecff; }
.session-row div { display: grid; gap: 4px; }
.session-row strong { font-size: 11px; }
.session-row small { color: var(--muted); font-size: 9px; }
.session-row > b { font-size: 11px; }
.next-session { color: var(--muted); font-size: 9px; padding: 12px 0 6px; }
.quick-log { background: #f5f7f3; border-radius: 10px; margin-top: 10px; padding: 12px; display: grid; grid-template-columns: 1fr .8fr 1fr .8fr; gap: 8px; align-items: end; }
.quick-log label, .quick-log > div { display: grid; gap: 5px; }
.quick-log label, .quick-log span { color: var(--muted); font-size: 8px; }
.quick-log input { width: 100%; border: 1px solid var(--line); background: white; border-radius: 6px; padding: 7px; font-size: 10px; }
.quick-log strong { font-size: 11px; }
.quick-log small { font-size: 8px; color: #40824e; }
.pro-badge { background: var(--ink); color: var(--lime); padding: 5px 7px; border-radius: 5px; font: 700 7px var(--font-geist-mono); letter-spacing: .8px; }
.muted { color: var(--muted); font-size: 10px; margin: 7px 0 16px; }
.weight-control { display: grid; gap: 7px; font-size: 9px; color: var(--muted); }
.weight-control > div { display: flex; gap: 10px; align-items: center; }
.weight-control input { accent-color: var(--ink); width: 100%; }
.weight-control b { color: var(--ink); white-space: nowrap; font-size: 10px; }
.macro-row { display: grid; gap: 10px; margin: 18px 0; }
.macro > div:first-child { display: flex; justify-content: space-between; margin-bottom: 5px; }
.macro span { color: var(--muted); font-size: 9px; }
.macro strong { font-size: 10px; }
.macro-track { height: 5px; border-radius: 5px; background: #e9ede8; overflow: hidden; }
.macro-track i { display: block; height: 100%; border-radius: inherit; }
.fuel-note { display: flex; gap: 10px; border: 1px solid #deead0; background: #f6faed; padding: 10px; border-radius: 9px; }
.fuel-note > span { font-size: 16px; }
.fuel-note p { display: grid; margin: 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.fuel-note strong { color: var(--ink); font-size: 9px; }
.primary-button { width: 100%; border: 0; margin-top: 12px; border-radius: 8px; background: var(--ink); color: white; padding: 10px; cursor: pointer; font-weight: 700; font-size: 10px; }
.medical-note { display: block; color: #8b9791; font-size: 7px; line-height: 1.4; margin-top: 9px; }

.analytics-section { margin-top: 28px; }
.section-title { display: flex; justify-content: space-between; align-items: center; }
.section-title > span { color: var(--muted); font-size: 9px; }
.analytics-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.metric-card { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 15px; }
.metric-card > div:first-child { display: flex; justify-content: space-between; color: var(--muted); font-size: 9px; }
.metric-card > div:first-child b { color: #428350; }
.metric-card > strong { display: block; font-size: 22px; letter-spacing: -.7px; margin: 8px 0 3px; }
.bar-chart { display: flex; align-items: flex-end; gap: 4px; height: 54px; padding-top: 6px; border-bottom: 1px solid var(--line); }
.bar-chart i { flex: 1; min-width: 5px; border-radius: 3px 3px 0 0; }
.chart-axis { display: flex; justify-content: space-between; color: #a1aaa5; font-size: 7px; padding-top: 4px; }
.provider { border: 1px solid #46544e; background: #27342f; color: white; border-radius: 9px; padding: 9px; display: grid; grid-template-columns: 27px 1fr; text-align: left; gap: 0 7px; cursor: pointer; }
.provider > span { grid-row: span 2; width: 27px; height: 27px; border-radius: 7px; display: grid; place-items: center; background: white; color: var(--ink); font-weight: 900; }
.provider strong { font-size: 9px; }.provider small { color: #87978e; font-size: 7px; }.provider.connected small { color: var(--lime); }

.modal-backdrop { position: fixed; inset: 0; background: rgba(10,18,14,.7); backdrop-filter: blur(8px); z-index: 50; display: grid; place-items: center; padding: 20px; }
.pricing-modal { width: min(760px, 100%); background: var(--paper); border-radius: 19px; padding: 30px; position: relative; box-shadow: 0 30px 90px rgba(0,0,0,.35); }
.pricing-modal > h2 { margin: 0; font-size: 31px; letter-spacing: -1.2px; }
.pricing-lead { margin: 8px 0 22px; color: var(--muted); font-size: 12px; }
.modal-close { position: absolute; right: 19px; top: 17px; border: 1px solid var(--line); background: white; width: 30px; height: 30px; border-radius: 50%; cursor: pointer; }
.pricing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.price-card { background: white; border: 1px solid var(--line); border-radius: 13px; padding: 21px; position: relative; overflow: hidden; }
.price-card.featured { background: var(--ink); color: white; border-color: var(--ink); }
.price-card > em { display: inline-block; color: var(--ink); background: var(--lime); font: 700 7px var(--font-geist-mono); padding: 5px 7px; border-radius: 4px; letter-spacing: .7px; margin-bottom: 12px; }
.price-name { display: flex; justify-content: space-between; align-items: center; }
.price-name h3 { margin: 0; font-size: 18px; }.price-name span { color: #428350; font: 700 7px var(--font-geist-mono); }
.featured .price-name span { color: var(--lime); }
.price { margin: 17px 0; }.price sup { font-size: 13px; }.price strong { font-size: 37px; letter-spacing: -2px; }.price small { color: #87958e; font-size: 9px; }
.price-card ul { margin: 0 0 21px; padding: 0; list-style: none; display: grid; gap: 9px; color: #66736d; font-size: 10px; }
.featured ul { color: #bdc7c1; }.price-card li::first-letter { color: #4b9056; }
.payment-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }.payment-actions button { min-height: 39px; border-radius: 8px; padding: 9px 7px; font-weight: 750; font-size: 9px; cursor: pointer; }.payment-actions button:disabled { cursor: not-allowed; opacity: .5; }.stripe-pay { border: 1px solid currentColor; background: transparent; color: inherit; }.paypal-pay { border: 1px solid #ffc439; background: #ffc439; color: #17375e; }.payment-error { margin: -8px 0 16px; padding: 10px 12px; border: 1px solid #ffc0a8; border-radius: 9px; background: #fff3ec; color: #8d3718; font-size: 10px; }.secure-payment-note { display: block; margin-top: 15px; color: var(--muted); font-size: 8px; text-align: center; }
.featured > button { border-color: var(--lime); background: var(--lime); color: var(--ink); }
.toast { position: fixed; right: 25px; bottom: 25px; z-index: 60; color: var(--ink); background: var(--lime); border: 1px solid #add545; box-shadow: 0 12px 30px rgba(0,0,0,.18); border-radius: 9px; padding: 12px 16px; font-size: 11px; font-weight: 700; }
.mobile-nav { display: none; }

/* Public landing */
.landing{--lp-dark:#132019;--lp-deep:#0c1712;--lp-lime:#8bea43;--lp-paper:#f3f6f1;--lp-muted:#68766e;background:var(--lp-paper);color:var(--lp-dark);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px}
.landing a{text-decoration:none}.lp-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.lp-header{position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(21,34,27,.08);background:rgba(243,246,241,.9);backdrop-filter:blur(16px)}.lp-nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.lp-brand{display:flex;align-items:center;gap:11px;color:var(--lp-dark);font-size:18px;letter-spacing:-.4px}.lp-brand .brand-mark{width:34px;height:34px}.lp-nav>nav{display:flex;align-items:center;gap:28px}.lp-nav>nav a,.lp-link{color:#506057;font-size:14px;font-weight:650;transition:color .2s}.lp-nav>nav a:hover,.lp-link:hover{color:var(--lp-dark)}.lp-nav-actions{display:flex;align-items:center;gap:18px}.lp-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:52px;padding:0 21px;border:1px solid var(--lp-dark);border-radius:9px;background:var(--lp-dark);color:#fff;font-size:14px;font-weight:750;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.lp-button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(15,27,20,.16)}.lp-button span{color:var(--lp-lime);font-size:18px}.lp-button.small{min-height:42px;padding:0 16px;font-size:13px;gap:13px}.lp-menu{display:none;border:0;background:transparent;padding:8px}.lp-menu span{display:block;width:23px;height:2px;margin:5px;background:var(--lp-dark)}
.lp-hero{position:relative;overflow:hidden;padding:92px 0 115px;background:radial-gradient(circle at 74% 22%,rgba(139,234,67,.17),transparent 25%),var(--lp-paper)}.lp-hero::after{content:"";position:absolute;width:500px;height:500px;right:-250px;bottom:-300px;border:1px solid rgba(19,32,25,.1);border-radius:50%}.lp-hero-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:68px;align-items:center}.lp-kicker{margin:0 0 19px;color:#607067;font:750 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1.45px}.lp-kicker i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;background:var(--lp-lime)}.lp-hero h1{margin:0;font-size:clamp(57px,6.2vw,88px);line-height:.91;letter-spacing:-5px}.lp-hero h1 em{color:#4f6358;font-style:normal}.lp-lead{max-width:560px;margin:29px 0;color:#5e6e65;font-size:18px;line-height:1.65}.lp-cta-row{display:flex;align-items:center;gap:26px}.lp-text-button{display:inline-flex;gap:12px;align-items:center;color:var(--lp-dark);font-size:14px;font-weight:750}.lp-text-button span{color:#4e6056;font-size:17px}.lp-trial-note{display:block;margin-top:19px;color:#79867f;font-size:12px}.lp-trial-note b{color:#45564c}.hero-product{position:relative;min-width:0;padding:26px 0 42px}.demo-window{display:grid;grid-template-columns:52px 1fr;min-height:455px;border:1px solid #d9e2dc;border-radius:18px;background:#fff;box-shadow:0 35px 80px rgba(31,48,39,.14);overflow:hidden;transform:rotate(1deg)}.demo-sidebar{padding:17px 9px;background:var(--lp-dark);display:flex;align-items:center;flex-direction:column;gap:21px}.demo-sidebar .brand-mark{width:29px;height:29px;font-size:9px}.demo-sidebar i{width:20px;height:20px;border-radius:6px;background:#2c3a32}.demo-sidebar i.active{background:var(--lp-lime)}.demo-body{min-width:0;padding:24px 25px}.demo-top{display:flex;justify-content:space-between;color:#839087;font:700 8px ui-monospace,monospace;letter-spacing:1px}.demo-title{display:flex;align-items:flex-end;justify-content:space-between;margin:28px 0 21px}.demo-title div{display:grid;gap:5px}.demo-title small{color:#718077;font:700 8px ui-monospace,monospace;letter-spacing:1px}.demo-title strong{font-size:22px;letter-spacing:-.8px}.demo-title>span{font-size:9px;color:#7e8b84}.hero-metrics{display:grid;grid-template-columns:1fr 1fr 1.12fr;gap:9px}.hero-metrics article{min-width:0;padding:14px;border:1px solid #e0e6e1;border-radius:10px;display:grid;gap:8px}.hero-metrics small{font:700 7px ui-monospace,monospace;color:#718078;letter-spacing:.8px}.hero-metrics strong{font-size:25px}.hero-metrics article>i{height:4px;border-radius:4px;background:#e8ede9;overflow:hidden}.hero-metrics article>i b{display:block;height:100%;background:#60726a}.hero-metrics .lime-card{border-color:var(--lp-lime);background:var(--lp-lime)}.hero-metrics .lime-card small{color:#31452f}.hero-metrics .lime-card span{font-size:8px}.hero-chart{margin-top:11px;padding:16px;border:1px solid #e0e6e1;border-radius:10px}.hero-chart>div{display:flex;justify-content:space-between}.hero-chart small{font:700 7px ui-monospace,monospace;color:#718078;letter-spacing:.8px}.hero-chart b{color:#3c7947;font-size:8px}.hero-chart svg{width:100%;height:125px;overflow:visible}.hero-chart path{fill:none;stroke:#3e594b;stroke-width:3}.hero-chart .area{fill:rgba(139,234,67,.14);stroke:none}.floating-proof{position:absolute;display:flex;align-items:center;gap:10px;padding:13px 16px;border:1px solid #d9e2dc;border-radius:11px;background:#fff;box-shadow:0 16px 38px rgba(20,35,27,.14)}.floating-proof>span{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--lp-lime);font-weight:800}.floating-proof div{display:grid;gap:3px}.floating-proof small{font:700 7px ui-monospace,monospace;letter-spacing:.6px;color:#77857d}.floating-proof strong{font-size:10px}.proof-one{right:-18px;top:2px}.proof-two{left:-23px;bottom:3px}.proof-two>span{background:#d8edff}
.lp-section{padding:125px 0}.lp-problem{background:#fff}.lp-section-head{max-width:760px;margin-bottom:60px}.lp-section-head.centered{text-align:center;margin-inline:auto}.lp-section-head h2,.lp-split-heading h2,.adaptive-section h2,.module-copy h2,.competition-copy h2{margin:0;font-size:clamp(42px,5vw,67px);line-height:1;letter-spacing:-3px}.lp-section-head>p:last-child{max-width:600px;margin:23px auto 0;color:var(--lp-muted);font-size:16px;line-height:1.65}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dce4de;border-bottom:1px solid #dce4de}.problem-grid article{padding:31px 26px 36px;border-right:1px solid #dce4de}.problem-grid article:last-child{border:0}.problem-grid span{color:#78906f;font:750 10px ui-monospace,monospace}.problem-grid h3{margin:34px 0 12px;font-size:19px;letter-spacing:-.5px}.problem-grid p{margin:0;color:var(--lp-muted);font-size:14px;line-height:1.65}.problem-resolution{margin-top:28px;padding:22px 26px;border-radius:11px;background:var(--lp-dark);color:#fff;display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:25px}.problem-resolution span{color:var(--lp-lime);font:700 9px ui-monospace,monospace;letter-spacing:1px}.problem-resolution strong{font-size:18px}.problem-resolution i{color:var(--lp-lime);font-size:24px;font-style:normal}
.progress-showcase{background:#e9eee9}.lp-split-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:80px;margin-bottom:52px}.lp-split-heading>p{max-width:430px;margin:0 0 5px;color:var(--lp-muted);line-height:1.7}.progress-ui{border-radius:18px;background:#fff;border:1px solid #d9e2dc;box-shadow:0 26px 65px rgba(21,38,28,.09);overflow:hidden}.progress-tabs{height:62px;padding:0 24px;display:flex;align-items:center;gap:30px;border-bottom:1px solid #e3e9e4;color:#7b8981;font-size:12px}.progress-tabs b{height:100%;display:flex;align-items:center;color:var(--lp-dark);border-bottom:2px solid var(--lp-dark)}.progress-tabs em{margin-left:auto;padding:5px 7px;background:#eef4ea;color:#55764a;border-radius:4px;font:700 8px ui-monospace,monospace}.progress-columns{display:grid;grid-template-columns:1.15fr 1fr .62fr;min-height:420px}.progress-columns>article,.progress-columns>aside{padding:27px;border-right:1px solid #e3e9e4}.progress-columns header{display:flex;justify-content:space-between}.progress-columns header small,.progress-columns aside article>small{color:#718078;font:700 8px ui-monospace,monospace;letter-spacing:1px}.progress-columns header h3{margin:5px 0 24px;font-size:18px}.progress-columns header>span{color:#718078;font-size:9px}.lift-row{padding:18px 0;border-top:1px solid #edf1ed;display:flex;justify-content:space-between;align-items:center}.lift-row>div{display:flex;align-items:center;gap:12px}.lift-icon{width:36px;height:36px;border-radius:9px;background:#e8f9da;display:grid;place-items:center;font-style:normal;font-weight:800}.blue-icon{background:#dfefff}.lift-row span{display:grid;gap:5px}.lift-row small{font:700 7px ui-monospace,monospace;color:#718078}.lift-row b{font-size:12px}.lift-row b em{color:#96a099;font-style:normal;margin:0 6px}.lift-row>strong{color:#3f7f49;font-size:18px}.mini-bars{height:105px;padding-top:18px;display:flex;align-items:flex-end;gap:6px;border-bottom:1px solid #dfe6e1}.mini-bars i{flex:1;border-radius:3px 3px 0 0;background:#b9dda1}.mini-bars i:nth-last-child(-n+3){background:var(--lp-lime)}.running-panel header>span{padding:5px 7px;border-radius:4px;background:#e8f7df;color:#457348;font:700 7px ui-monospace,monospace}.run-time{display:grid;margin:29px 0 20px}.run-time small{color:#718078;font:700 8px ui-monospace,monospace}.run-time strong{font-size:48px;letter-spacing:-2px}.run-time span{color:#819087;font-size:10px}.pace-line{display:grid;grid-template-columns:1fr auto;align-items:end;padding-top:15px;border-top:1px solid #e5ebe6}.pace-line>span{font:700 7px ui-monospace,monospace;color:#718078}.pace-line strong{font-size:20px}.pace-line strong small{font-size:9px}.pace-line em{grid-column:1/-1;color:#3f7f49;font-size:9px;font-style:normal}.running-panel svg{width:100%;margin-top:15px}.running-panel svg path{fill:none;stroke:#2f8cff;stroke-width:3}.progress-columns aside{display:grid;gap:10px;border:0;background:#f8faf7}.progress-columns aside article{padding:17px;border:1px solid #e1e8e2;border-radius:10px;background:#fff;display:grid;gap:5px}.progress-columns aside article>strong{font-size:22px}.progress-columns aside article>span{color:#77857e;font-size:9px}.adherence-ring{display:flex!important;align-items:center;gap:12px}.adherence-ring>div{width:62px;height:62px;border-radius:50%;background:conic-gradient(var(--lp-lime) 92%,#e4eae5 0);display:grid;place-items:center}.adherence-ring>div::before{content:"";grid-area:1/1;width:47px;height:47px;background:#fff;border-radius:50%}.adherence-ring>div span{grid-area:1/1;z-index:1;font-size:17px;font-weight:800}.adherence-ring>div small{font-size:8px}.adherence-ring p{display:grid;gap:5px;margin:0;color:#77857e;font-size:8px}.adherence-ring p b{color:var(--lp-dark);font:700 7px ui-monospace,monospace}.status-dot::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;background:var(--lp-lime)}.lp-section-action{text-align:center;margin-top:32px}.lp-text-button.dark{padding-bottom:4px;border-bottom:1px solid var(--lp-dark)}

/* Functional product sections */
.section-view { display: grid; gap: 18px; }
.view-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 5px; }
.view-heading h1 { margin: 0; font-size: clamp(28px, 3.5vw, 42px); line-height: 1; letter-spacing: -1.8px; }
.view-heading > div:first-child > p:last-child { max-width: 640px; margin: 11px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.segmented-control, .filter-tabs, .day-type-tabs { display: flex; gap: 3px; border-radius: 9px; padding: 3px; background: #e6ebe5; }
.segmented-control button, .filter-tabs button, .day-type-tabs button { border: 0; border-radius: 7px; padding: 8px 11px; background: transparent; color: #738078; font-size: 9px; font-weight: 700; cursor: pointer; }
.segmented-control button.selected, .filter-tabs button.active, .day-type-tabs button.active { background: white; color: var(--ink); box-shadow: 0 1px 4px rgba(24,35,31,.1); }
.filter-tabs { width: max-content; }

.planner-setup { padding: 18px 20px; }
.planner-setup-head { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.planner-setup-head h2 { margin: 0; font-size: 15px; letter-spacing: -.35px; }
.plan-mode, .load-method > div { display: flex; gap: 3px; padding: 3px; border-radius: 8px; background: #e8ece7; }
.plan-mode button, .load-method button { min-width: 70px; border: 0; border-radius: 6px; padding: 7px 10px; background: transparent; color: var(--muted); cursor: pointer; font-size: 8px; font-weight: 800; }
.plan-mode button.active, .load-method button.active { background: var(--ink); color: var(--lime); box-shadow: 0 1px 4px rgba(16,27,42,.18); }
.planner-controls { display: grid; grid-template-columns: 1fr 190px; gap: 16px; margin-top: 17px; }
.availability-control, .duration-control { display: grid; gap: 7px; }
.availability-control > span, .duration-control > span, .test-track > span, .load-method > span { color: var(--muted); font: 700 7px var(--font-geist-mono); letter-spacing: .7px; text-transform: uppercase; }
.availability-control > div { display: grid; grid-template-columns: repeat(7, minmax(45px, 1fr)); gap: 5px; }
.availability-control button { min-height: 42px; display: flex; justify-content: center; align-items: center; gap: 5px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); color: var(--muted); cursor: pointer; font-size: 8px; font-weight: 800; }
.availability-control button small { width: 14px; height: 14px; display: grid; place-items: center; border-radius: 50%; background: white; font-size: 7px; }
.availability-control button.selected { border-color: var(--ink); background: var(--ink); color: white; }
.availability-control button.selected small { background: var(--lime); color: var(--ink); }
.duration-control { grid-template-columns: 1fr auto; align-items: end; }
.duration-control > span { grid-column: 1 / -1; }
.duration-control select { min-height: 42px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); color: var(--ink); padding: 0 9px; font-size: 9px; font-weight: 700; }
.duration-control small { color: #4e7c39; font-size: 8px; }
.test-track { display: grid; gap: 7px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #edf0ec; }
.test-track > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.test-track button { min-height: 46px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 8px; text-align: left; cursor: pointer; }
.test-track button b { font: 800 8px var(--font-geist-mono); color: var(--coral); }
.test-track button small { color: var(--muted); font-size: 8px; }
.test-track button.active { border-color: var(--coral); background: #fff3ec; }
.test-track button.done { border-color: #bcd68a; background: #f5fae9; }
.test-track button.done b { color: #4e7c39; }

.plan-phase-banner { display: flex; justify-content: space-between; align-items: center; min-height: 64px; padding: 12px 14px 12px 18px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.plan-phase-banner > div:first-child { display: grid; grid-template-columns: 8px auto; column-gap: 10px; align-items: center; }
.plan-phase-banner > div:first-child > span { width: 8px; height: 36px; border-radius: 4px; grid-row: span 2; }
.plan-phase-banner p { margin: 0; font-size: 13px; font-weight: 750; }
.plan-phase-banner small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.week-nav { display: flex; align-items: center; gap: 13px; }
.week-nav button { width: 31px; height: 31px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); cursor: pointer; }
.week-nav button:disabled { opacity: .35; cursor: default; }
.week-nav strong { min-width: 62px; text-align: center; font-size: 10px; }
.plan-layout { display: grid; grid-template-columns: 1fr 300px; gap: 16px; align-items: start; }
.weekly-calendar { display: grid; gap: 8px; }
.workout-card { min-height: 79px; border: 1px solid var(--line); border-radius: 11px; background: white; padding: 12px 13px; display: grid; grid-template-columns: 45px 1fr auto; gap: 12px; align-items: center; transition: border-color .2s, background .2s; }
.workout-card.is-done { background: #f5fae9; border-color: #cfe49d; }
.workout-day { height: 100%; border-right: 1px solid var(--line); display: grid; align-content: center; justify-items: start; gap: 7px; }
.workout-day > span { font: 700 9px var(--font-geist-mono); }
.dot { width: 8px; height: 8px; border-radius: 50%; }.dot.lime { background: var(--lime); }.dot.blue { background: var(--blue); }.dot.coral { background: var(--coral); }.dot.purple { background: #a69cff; }.dot.soft { background: #cdd4cf; }
.workout-copy { display: grid; gap: 4px; }
.workout-copy small { color: var(--muted); font: 700 7px var(--font-geist-mono); letter-spacing: .8px; }
.workout-copy strong { font-size: 12px; }
.workout-copy p { margin: 0; color: var(--muted); font-size: 9px; }
.workout-card > button { min-width: 108px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); padding: 8px; font-size: 8px; font-weight: 700; cursor: pointer; }
.workout-card.is-done > button { color: #477b2f; border-color: #cfe49d; background: white; }
.adjustment-panel { position: sticky; top: 78px; border-radius: 13px; background: var(--ink); color: white; padding: 20px; }
.adjustment-panel .eyebrow { color: var(--lime); }
.adjustment-panel h2 { margin: 0 0 20px; font-size: 21px; letter-spacing: -.7px; }
.adjustment-panel > label { display: grid; gap: 6px; margin-top: 14px; color: #aebbb3; font-size: 8px; }
.adjustment-panel > label > div { display: flex; align-items: center; overflow: hidden; border: 1px solid #45534d; border-radius: 7px; background: #26332e; }
.adjustment-panel input { width: 100%; min-width: 0; border: 0; padding: 9px; background: transparent; color: white; outline: 0; }
.adjustment-panel label b { padding-right: 9px; color: #8e9c94; font-size: 8px; }
.load-method { display: grid; gap: 7px; margin-bottom: 16px; }
.load-method > div { background: #26332e; }
.load-method button { flex: 1; color: #93a198; }
.load-method button.active { background: var(--lime); color: var(--ink); }
.recommendation { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; margin-top: 7px; padding: 9px; background: var(--lime); color: var(--ink); border-radius: 7px; }
.recommendation span { font: 700 7px var(--font-geist-mono); }.recommendation strong { font-size: 12px; }.recommendation small { color: #48702b; font-weight: 700; font-size: 8px; }
.test-result-card { display: grid; gap: 6px; margin-top: 18px; padding: 13px; border: 1px solid #45534d; border-radius: 9px; background: #26332e; }
.test-result-card > span { color: var(--lime); font: 700 7px var(--font-geist-mono); letter-spacing: .5px; text-transform: uppercase; }
.test-result-card > strong { font-size: 10px; }
.test-result-card > div { display: grid; grid-template-columns: 1fr auto; gap: 5px; }
.test-result-card input { border: 1px solid #45534d; border-radius: 6px; background: #1f2b26; padding: 8px; font-size: 8px; }
.test-result-card button { border: 0; border-radius: 6px; background: var(--lime); color: var(--ink); padding: 8px; cursor: pointer; font-size: 7px; font-weight: 800; }
.test-result-card button:disabled { opacity: .45; cursor: default; }
.logic-note { margin-top: 18px; padding-top: 16px; border-top: 1px solid #3d4a44; }
.logic-note strong { color: var(--lime); font-size: 9px; }.logic-note p { color: #9caaa2; font-size: 8px; line-height: 1.55; margin: 6px 0 0; }

.analytics-grid.expanded { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.progress-details { display: grid; grid-template-columns: 270px 1fr; gap: 14px; }
.load-balance { min-height: 280px; display: flex; flex-direction: column; justify-content: space-between; }
.load-balance h2 { margin: 0; font-size: 20px; }
.balance-gauge { width: 132px; height: 132px; margin: 6px auto; border-radius: 50%; border: 15px solid #e9ede8; border-top-color: var(--lime); border-right-color: var(--lime); display: grid; place-content: center; text-align: center; transform: rotate(30deg); }
.balance-gauge strong, .balance-gauge small { transform: rotate(-30deg); }.balance-gauge strong { font-size: 27px; letter-spacing: -1px; }.balance-gauge small { color: var(--muted); font-size: 7px; }
.balance-legend { display: flex; justify-content: space-between; color: var(--muted); font-size: 8px; }
.balance-legend span { display: flex; align-items: center; gap: 4px; }.balance-legend i { width: 7px; height: 7px; border-radius: 50%; }.balance-legend .low { background: var(--blue); }.balance-legend .good { background: var(--lime); }.balance-legend .high { background: var(--coral); }
.recent-table { min-width: 0; }
.table-wrap { overflow-x: auto; }
.recent-table table { width: 100%; border-collapse: collapse; margin-top: 14px; }
.recent-table th { padding: 8px; color: var(--muted); text-align: left; font: 700 7px var(--font-geist-mono); letter-spacing: .6px; border-bottom: 1px solid var(--line); }
.recent-table td { padding: 14px 8px; font-size: 9px; border-bottom: 1px solid #edf0ec; white-space: nowrap; }
.status-pill { color: #467932; background: #f0f8e3; border: 1px solid #d7e9b4; padding: 5px 7px; border-radius: 5px; font-size: 7px; }

.weight-box { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 6px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.weight-box span { grid-column: 1 / -1; color: var(--muted); font: 700 7px var(--font-geist-mono); }.weight-box input { width: 60px; border: 0; outline: 0; font-weight: 750; }.weight-box b { font-size: 9px; color: var(--muted); }
.day-type-tabs { width: max-content; }
.macro-hero { min-height: 154px; border-radius: 14px; padding: 22px; background: var(--ink); color: white; display: grid; grid-template-columns: 210px 1fr; gap: 18px; align-items: stretch; }
.macro-hero > div:first-child { border-right: 1px solid #3c4943; display: grid; align-content: center; }
.macro-hero > div:first-child p { margin: 0 0 5px; color: #9aa9a1; font: 700 8px var(--font-geist-mono); letter-spacing: .8px; }.macro-hero > div:first-child strong { color: var(--lime); font-size: 47px; letter-spacing: -3px; line-height: 1; }.macro-hero > div:first-child span { color: #9aa9a1; font-size: 9px; }
.macro-big { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.macro-big article { padding: 14px; color: var(--ink); border-radius: 9px; display: grid; align-content: center; gap: 4px; }.macro-big span { font: 700 7px var(--font-geist-mono); letter-spacing: .8px; }.macro-big strong { font-size: 23px; letter-spacing: -1px; }.macro-big small { opacity: .6; font-size: 8px; }
.nutrition-layout { display: grid; grid-template-columns: 1fr 270px; gap: 14px; align-items: start; }
.meal-plan { padding-bottom: 9px; }
.meal-row { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 10px; min-height: 65px; border-top: 1px solid #edf0ec; }
.meal-row:first-of-type { margin-top: 12px; }.meal-row.checked { opacity: .62; }.meal-row time { color: var(--muted); font: 700 8px var(--font-geist-mono); }.meal-row > div { display: grid; gap: 4px; }.meal-row strong { font-size: 10px; }.meal-row small { color: var(--muted); font-size: 8px; }.meal-row button { border: 1px solid var(--line); border-radius: 6px; background: var(--paper); padding: 7px; cursor: pointer; font-size: 7px; font-weight: 700; }.meal-row.checked button { color: #487a34; background: #f2f9e7; }
.nutrition-aside { display: grid; gap: 12px; }
.hydration-card, .why-card { border: 1px solid var(--line); border-radius: 12px; background: white; padding: 17px; }.hydration-card h2 { margin: 0; font-size: 15px; }.water-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; margin-top: 14px; }.water-grid button { border: 0; border-radius: 5px; padding: 7px 0; background: #edf0ec; color: #c5cdc8; cursor: pointer; }.water-grid button.filled { background: #d9eeff; color: #368ccc; }
.why-card { display: flex; gap: 10px; background: #f6faed; border-color: #deead0; }.why-card > span { font-size: 17px; }.why-card p { display: grid; gap: 5px; margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }.why-card strong { color: var(--ink); font-size: 9px; }
.locked-view { min-height: 580px; border-radius: 18px; background: var(--ink); color: white; display: grid; place-content: center; justify-items: center; text-align: center; padding: 30px; }.locked-view > span { color: var(--lime); font-size: 35px; }.locked-view .eyebrow { color: var(--lime); margin-top: 16px; }.locked-view h1 { max-width: 500px; margin: 3px 0 10px; font-size: 34px; letter-spacing: -1.2px; }.locked-view > p:not(.eyebrow) { max-width: 460px; margin: 0 0 18px; color: #9caaa2; font-size: 11px; }.locked-view .primary-button { width: auto; background: var(--lime); color: var(--ink); padding-inline: 22px; }


/* Live HYROX LATAM calendar */
.events-heading { align-items: center; }
.feed-controls { display: flex; align-items: center; gap: 9px; }
.feed-controls > button { border: 0; border-radius: 8px; padding: 9px 12px; background: var(--ink); color: white; font-size: 8px; font-weight: 750; cursor: pointer; }
.feed-controls > button:disabled { opacity: .55; cursor: default; }
.live-status { display: flex; align-items: center; gap: 6px; color: #4c823a; font-size: 8px; font-weight: 700; }
.live-status i, .source-box i { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px rgba(199,243,91,.16); }
.live-status.snapshot { color: #81733e; }.live-status.snapshot i { background: #e8c65f; box-shadow: 0 0 0 4px rgba(232,198,95,.16); }
.feed-warning { border: 1px solid #ead99e; border-radius: 8px; padding: 9px 12px; background: #fff9e8; color: #7e6b2d; font-size: 8px; }
.next-race-banner { min-height: 150px; display: grid; grid-template-columns: 90px 1fr 100px auto; gap: 20px; align-items: center; overflow: hidden; position: relative; border-radius: 15px; padding: 22px 24px; background: var(--ink); color: white; }
.next-race-banner::after { content: "LATAM"; position: absolute; right: -14px; bottom: -28px; color: rgba(255,255,255,.035); font-size: 94px; line-height: 1; font-weight: 900; letter-spacing: -6px; pointer-events: none; }
.next-race-date { width: 78px; height: 96px; display: grid; place-content: center; justify-items: center; border-radius: 10px; background: var(--lime); color: var(--ink); position: relative; z-index: 1; }
.next-race-date span { font: 800 9px var(--font-geist-mono); letter-spacing: 1px; }.next-race-date strong { font-size: 38px; line-height: 1; letter-spacing: -2px; }.next-race-date small { margin-top: 2px; font-size: 8px; }
.next-race-copy { position: relative; z-index: 1; }.next-race-copy p { margin: 0 0 7px; color: var(--lime); font: 700 8px var(--font-geist-mono); letter-spacing: .9px; }.next-race-copy h2 { margin: 0 0 7px; font-size: 25px; letter-spacing: -.9px; }.next-race-copy span { color: #9caaa2; font-size: 9px; }
.next-countdown { display: grid; justify-items: center; position: relative; z-index: 1; }.next-countdown strong { color: var(--lime); font-size: 42px; letter-spacing: -2px; line-height: 1; }.next-countdown span { color: #99a79f; font-size: 8px; text-transform: uppercase; }
.next-race-banner > button { position: relative; z-index: 1; border: 0; border-radius: 8px; padding: 11px 13px; background: white; color: var(--ink); font-size: 8px; font-weight: 750; cursor: pointer; }
.events-loading { min-height: 150px; border: 1px solid var(--line); border-radius: 15px; background: white; display: grid; place-content: center; justify-items: center; gap: 10px; color: var(--muted); font-size: 9px; }.events-loading i { width: 22px; height: 22px; border: 3px solid var(--line); border-top-color: var(--ink); border-radius: 50%; animation: event-spin .8s linear infinite; }
@keyframes event-spin { to { transform: rotate(360deg); } }
.events-toolbar { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding-top: 4px; }
.events-toolbar > div:first-child { display: grid; gap: 1px; }.events-toolbar .eyebrow { margin: 0; }.events-toolbar strong { font-size: 13px; }
.event-filter-stack { display: grid; justify-items: end; gap: 7px; }
.country-filters { display: flex; gap: 4px; flex-wrap: wrap; }.country-filters button { border: 1px solid var(--line); border-radius: 7px; padding: 7px 8px; background: white; color: var(--muted); cursor: pointer; font-size: 8px; font-weight: 700; }.country-filters button.active { border-color: var(--ink); background: var(--ink); color: white; }.country-filters button span { display: inline-grid; place-items: center; min-width: 16px; height: 16px; margin-left: 4px; border-radius: 8px; background: #eef1ed; color: var(--ink); font-size: 7px; }
.brand-filters { display: flex; align-items: center; justify-content: flex-end; gap: 4px; flex-wrap: wrap; }
.brand-filters > span { margin-right: 3px; color: var(--muted); font: 700 7px var(--font-geist-mono); letter-spacing: .7px; text-transform: uppercase; }
.brand-filters button { border: 0; border-radius: 6px; padding: 6px 8px; background: #e8ece7; color: #68756d; cursor: pointer; font-size: 7px; font-weight: 750; }
.brand-filters button.active { background: var(--lime); color: var(--ink); }
.events-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 15px; align-items: start; }
.race-calendar-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.latam-race-card { min-height: 245px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: white; }
.race-card-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.race-identifiers { display: flex; align-items: center; gap: 5px; min-width: 0; }
.country-code { min-width: 31px; height: 23px; display: grid; place-items: center; border-radius: 5px; color: white; font: 800 8px var(--font-geist-mono); }.country-code.mx { background: #176c48; }.country-code.br { background: #e6c84e; color: #173f36; }.country-code.ar { background: #6fb9e6; }.country-code.co { background: #f0ce36; color: #243d65; }.country-code.cl { background: #d94c4c; }.country-code.pe { background: #ca2d37; }.country-code.py { background: #406bb0; }.country-code.uy { background: #74b9e6; }.country-code.latam { background: #746ca8; }
.brand-chip { max-width: 112px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-radius: 5px; padding: 5px 7px; background: #edf0ec; color: #536058; font: 800 7px var(--font-geist-mono); letter-spacing: .35px; text-transform: uppercase; }
.brand-chip.brand-hyrox { background: #f4ee38; color: #111; }.brand-chip.brand-deka { background: #151515; color: #ff6840; }.brand-chip.brand-hybrid-race { background: #ff6b35; color: white; }.brand-chip.brand-hyrun { background: #5f39bd; color: white; }.brand-chip.brand-fitland { background: #d9f2ff; color: #175d7e; }
.ticket-status { color: #7a807c; font-size: 7px; font-weight: 700; }.ticket-status.open { color: #4d823b; }
.race-card-date { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; margin: 20px 0 13px; }
.race-card-date > strong { font-size: 36px; line-height: 1; letter-spacing: -2px; }.race-card-date > div { display: grid; gap: 3px; }.race-card-date span { text-transform: uppercase; font: 800 8px var(--font-geist-mono); letter-spacing: .7px; }.race-card-date small { color: var(--muted); font-size: 7px; }.race-card-date em { color: #c7ceca; font: 700 9px var(--font-geist-mono); font-style: normal; }
.latam-race-card h2 { margin: 0 0 6px; font-size: 18px; letter-spacing: -.6px; }.latam-race-card > p { margin: 0; color: var(--muted); font-size: 8px; }
.race-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: auto; padding-top: 17px; }.race-card-actions button, .race-card-actions a { border-radius: 7px; padding: 8px 6px; text-align: center; text-decoration: none; cursor: pointer; font-size: 7px; font-weight: 700; }.race-card-actions button { border: 0; background: var(--lime); }.race-card-actions a { border: 1px solid var(--line); background: var(--paper); color: var(--ink); }
.empty-events { grid-column: 1 / -1; min-height: 200px; display: grid; place-items: center; border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); font-size: 9px; }
.events-news-panel { position: sticky; top: 78px; overflow: hidden; border-radius: 13px; background: var(--ink); color: white; }
.news-panel-head { display: flex; justify-content: space-between; align-items: center; padding: 18px; border-bottom: 1px solid #39463f; }.news-panel-head .eyebrow { margin: 0; color: var(--lime); }.news-panel-head > span { color: var(--lime); font: 700 7px var(--font-geist-mono); letter-spacing: .8px; }
.news-list { display: grid; }.news-list > a { display: grid; grid-template-columns: 26px 1fr; gap: 9px; padding: 14px 17px; color: white; text-decoration: none; border-bottom: 1px solid #33413a; }.news-list > a:hover { background: #223029; }.news-list > a > span { color: #63736a; font: 700 8px var(--font-geist-mono); }.news-list > a > div { display: grid; gap: 4px; }.news-list em { color: var(--lime); font: 700 7px var(--font-geist-mono); font-style: normal; text-transform: uppercase; }.news-list strong { font-size: 9px; line-height: 1.35; }.news-list small { color: #819188; font-size: 7px; }
.source-box { display: grid; gap: 6px; padding: 16px 18px; background: #202d27; }.source-box > div { display: flex; align-items: center; gap: 7px; color: #b8c4bc; font-size: 8px; }.source-box p { margin: 0; color: #7f9086; font-size: 7px; }.source-box a { width: max-content; margin-top: 4px; color: var(--lime); text-decoration: none; font-size: 8px; font-weight: 700; }

/* Profile onboarding and Race IQ */
.onboarding-backdrop { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 20px; overflow: auto; background: rgba(12, 23, 17, .92); backdrop-filter: blur(12px); }
.profile-card { width: min(760px, 100%); }
.onboarding-card { padding: 30px; border-radius: 18px; background: var(--paper); box-shadow: 0 28px 90px rgba(0,0,0,.38); }
.profile-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 22px; }
.profile-heading h1 { margin: 3px 0 7px; font-size: clamp(26px, 4vw, 40px); letter-spacing: -1.4px; }
.profile-heading p:not(.eyebrow) { max-width: 560px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.profile-lock { flex: 0 0 auto; padding: 7px 9px; border-radius: 999px; background: #edf8df; color: #4c7736; font-size: 8px; font-weight: 750; }
.profile-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.profile-form label, .strategy-form > label, .strategy-scores label { display: grid; gap: 7px; }
.profile-form label > span, .strategy-form label > span, .strategy-scores label > span { color: var(--muted); font: 700 8px var(--font-geist-mono); letter-spacing: .65px; text-transform: uppercase; }
.profile-form input, .profile-form select, .strategy-form select, .strategy-form textarea { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; background: white; color: var(--ink); font: inherit; font-size: 11px; }
.profile-form input[readonly] { background: #edf0ec; color: #69766f; }
.profile-whatsapp { grid-column: 1 / -1; }.profile-whatsapp small { color: var(--muted); font-size: 8px; }
.profile-form .primary-button { grid-column: 1 / -1; width: max-content; min-width: 180px; }
.form-status { margin: 0; font-size: 9px; font-weight: 700; }.form-status.success { color: #518139; }.form-status.error { color: #b24b3a; }
.privacy-note { display: block; margin-top: 18px; color: #7e8983; font-size: 8px; line-height: 1.5; }
.strategy-layout { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: 15px; align-items: start; }
.strategy-form { display: grid; gap: 17px; position: sticky; top: 78px; }
.strategy-scores { display: grid; gap: 15px; }.strategy-scores label > div { display: grid; grid-template-columns: 1fr 34px; align-items: center; gap: 10px; }.strategy-scores input { accent-color: var(--ink); }.strategy-scores strong { font-size: 10px; }
.strategy-form textarea { min-height: 105px; resize: vertical; line-height: 1.5; }
.strategy-result { display: grid; gap: 12px; }
.strategy-profile { min-height: 190px; padding: 24px; border-radius: 14px; background: var(--ink); color: white; position: relative; overflow: hidden; }
.strategy-profile::after { content: "RACE IQ"; position: absolute; right: -8px; bottom: -18px; color: rgba(255,255,255,.035); font-size: 62px; font-weight: 900; letter-spacing: -4px; }
.strategy-profile > span { color: var(--lime); font: 700 8px var(--font-geist-mono); letter-spacing: 1px; }.strategy-profile h2 { margin: 9px 0; font-size: 27px; letter-spacing: -1px; }.strategy-profile p { max-width: 560px; margin: 0; color: #a8b4ad; font-size: 10px; line-height: 1.55; }
.strategy-profile > div { display: grid; position: absolute; right: 22px; top: 22px; text-align: right; }.strategy-profile > div small { color: #8c9a92; font-size: 7px; }.strategy-profile > div strong { color: var(--lime); font-size: 21px; }
.execution-plan { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: white; }.execution-plan > .eyebrow { padding: 18px 18px 10px; }.execution-plan article { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 13px 18px; border-top: 1px solid #edf0ed; }.execution-plan article > span { color: #a1aba5; font: 700 8px var(--font-geist-mono); }.execution-plan article div { display: grid; gap: 4px; }.execution-plan article strong { font-size: 10px; }.execution-plan article p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.45; }

@media (max-width: 1000px) {
  .sidebar { width: 76px; padding-inline: 12px; }.brand { padding-inline: 9px; }.brand > span:last-child, .nav-item:not(.active)::after, .nav-item { font-size: 0; }.nav-item { justify-content: center; }.nav-item > span { font-size: 18px; }.nav-item em, .sidebar-bottom { display: none; }
  .workspace { margin-left: 76px; width: calc(100% - 76px); }.dashboard-grid { grid-template-columns: 1fr; }
  .plan-layout, .nutrition-layout, .events-layout, .strategy-layout { grid-template-columns: 1fr; }.adjustment-panel, .events-news-panel, .strategy-form { position: static; }.progress-details { grid-template-columns: 1fr; }.load-balance { min-height: 230px; }
}

@media (min-width: 721px) and (max-width: 1000px) {
  .content { padding: 28px 24px 52px; }
  .race-hero { grid-template-columns: minmax(0, 1.45fr) minmax(220px, .85fr); }
  .race-main { padding-inline: 24px; }
  .countdown { left: 24px; }
  .analytics-grid.expanded { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .analytics-grid.expanded > .metric-card:last-child { grid-column: 1 / -1; }
  .pricing-modal { width: min(700px, calc(100% - 36px)); }
}

@media (max-width: 720px) {
  .sidebar { display: none; }.workspace { margin-left: 0; width: 100%; }.topbar { height: 56px; padding: 0 16px; justify-content: space-between; }.mobile-brand { display: flex; align-items: center; gap: 7px; border: 0; background: transparent; font-weight: 800; font-size: 13px; }.mobile-brand .brand-mark { width: 27px; height: 27px; font-size: 9px; }
  .content { padding: 24px 15px calc(90px + env(safe-area-inset-bottom)); }.welcome-row { align-items: flex-start; flex-direction: column; }.date-control { width: 100%; }.date-control input { width: 100%; min-height: 42px; }.race-hero { grid-template-columns: 1fr; }.race-main { min-height: 220px; }.phase-card { min-height: 170px; }.analytics-grid, .analytics-grid.expanded { grid-template-columns: 1fr; }.quick-log { grid-template-columns: 1fr 1fr; }.pricing-grid { grid-template-columns: 1fr; }.modal-backdrop { align-items: end; padding: 10px 10px max(10px, env(safe-area-inset-bottom)); }.pricing-modal { width: 100%; max-height: 92dvh; overflow: auto; padding: 24px 18px; border-radius: 18px 18px 12px 12px; }.phase-segment b { display: none; }.panel { padding: 18px 16px; }
  .view-heading { align-items: flex-start; flex-direction: column; }.view-heading .segmented-control, .view-heading .date-control, .view-heading .weight-box { width: 100%; justify-items: stretch; }.view-heading h1 { font-size: 31px; }.planner-setup-head { align-items: flex-start; flex-direction: column; }.plan-mode { width: 100%; }.plan-mode button { flex: 1; min-height: 39px; }.planner-controls { grid-template-columns: 1fr; }.availability-control > div { grid-template-columns: repeat(4, 1fr); }.availability-control button { min-height: 40px; }.test-track > div { grid-template-columns: 1fr 1fr; }.plan-phase-banner { align-items: flex-start; gap: 14px; flex-direction: column; }.week-nav { width: 100%; justify-content: space-between; }.workout-card { grid-template-columns: 37px 1fr; }.workout-card > button { grid-column: 2; width: 100%; }.macro-hero { grid-template-columns: 1fr; }.macro-hero > div:first-child { border-right: 0; border-bottom: 1px solid #3c4943; padding-bottom: 14px; }.macro-big { grid-template-columns: 1fr 1fr 1fr; }.macro-big article { padding: 10px; }.macro-big strong { font-size: 18px; }.meal-row { grid-template-columns: 40px 1fr; padding: 10px 0; }.meal-row button { grid-column: 2; width: 100%; }.day-type-tabs { width: 100%; }.day-type-tabs button { flex: 1; }
  .events-heading { align-items: flex-start; }.feed-controls { width: 100%; justify-content: space-between; }.next-race-banner { grid-template-columns: 75px 1fr; padding: 18px; }.next-race-date { width: 68px; height: 86px; }.next-countdown { grid-column: 1; }.next-race-banner > button { grid-column: 2; min-height: 42px; }.events-toolbar { align-items: flex-start; flex-direction: column; }.event-filter-stack { width: 100%; justify-items: stretch; }.country-filters, .brand-filters { width: 100%; justify-content: flex-start; }.country-filters button { flex: 1; min-height: 38px; }.brand-filters button { min-height: 34px; }.race-calendar-grid { grid-template-columns: 1fr; }.mobile-nav { display: flex; overflow-x: auto; scrollbar-width: none; position: fixed; left: 8px; right: 8px; bottom: max(8px, env(safe-area-inset-bottom)); z-index: 30; padding: 5px; border: 1px solid #3a4942; border-radius: 13px; background: rgba(24,35,31,.97); box-shadow: 0 10px 30px rgba(0,0,0,.25); }.mobile-nav::-webkit-scrollbar { display: none; }.mobile-nav button { flex: 0 0 66px; min-width: 66px; min-height: 47px; border: 0; border-radius: 8px; background: transparent; color: #89988f; padding: 7px 2px 5px; display: grid; gap: 3px; justify-items: center; align-content: center; overflow: hidden; font-size: 7px; line-height: 1; white-space: nowrap; text-overflow: ellipsis; cursor: pointer; }.mobile-nav button span { font-size: 14px; }.mobile-nav button.active { color: var(--lime); background: #2a3832; }
  .profile-heading { flex-direction: column; gap: 12px; }.profile-form { grid-template-columns: 1fr; }.profile-whatsapp, .profile-form .primary-button { grid-column: 1; }.profile-form .primary-button { width: 100%; }.onboarding-backdrop { align-items: end; padding: 8px 8px max(8px, env(safe-area-inset-bottom)); }.onboarding-card { max-height: 94dvh; overflow: auto; padding: 22px 17px; border-radius: 18px 18px 12px 12px; }.strategy-profile > div { position: static; margin-top: 18px; text-align: left; }.strategy-profile { min-height: 230px; }.strategy-form { order: 2; }
}

@media (max-width: 420px) {
  .payment-actions { grid-template-columns: 1fr; }
  .race-title-row { align-items: flex-start; flex-direction: column; }
  .race-date { order: -1; }
  .quick-log { grid-template-columns: 1fr; }
  .quick-log > div { min-height: 48px; padding: 7px; border-radius: 7px; background: white; }
  .macro-big { grid-template-columns: 1fr; }
  .macro-big article { grid-template-columns: 1fr auto auto; align-items: center; }
  .next-race-copy h2 { font-size: 20px; }
  .next-countdown strong { font-size: 34px; }
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }

/* PHP MVC adaptations: same Krono Fit visual system, server-rendered navigation and real empty states. */
.mobile-nav a { color: inherit; text-decoration: none; }
.mobile-brand { color:var(--ink);text-decoration:none; }
.user-avatar { width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#ffd6a8;color:#67441e;text-decoration:none;font-weight:800;font-size:9px; }
.logout-form button { width:100%;border:1px solid #3b4a43;background:transparent;color:#aab7af;border-radius:8px;padding:8px;cursor:pointer;font-size:9px; }
.app-flash,.auth-flash { padding:11px 14px;border-radius:9px;margin-bottom:18px;font-size:11px;font-weight:650; }
.app-flash.success,.auth-flash.success { background:#e8f8dc;border:1px solid #b8e994;color:#2d5d16; }
.app-flash.danger,.auth-flash.danger { background:#fff0ea;border:1px solid #ffc6b2;color:#8c3517; }
.empty-date { min-width:170px;background:white;border:1px solid var(--line);padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--ink);grid-template-columns:1fr auto;align-items:center; }
.empty-date strong { font-size:18px; }
.empty-hero .race-main { display:flex;flex-direction:column;justify-content:center; }
.inline-button { width:max-content;margin-top:24px;position:relative;z-index:2;text-decoration:none; }
.primary-button { display:block;text-align:center;text-decoration:none; }
.secondary-button { border:1px solid var(--line);background:white;color:var(--ink);border-radius:8px;padding:10px 14px;text-decoration:none;font-size:10px;font-weight:750; }
.empty-orbit { width:88px;height:88px;border:1px solid rgba(16,27,42,.2);border-radius:50%;display:grid;place-items:center;margin:auto;position:relative; }
.empty-orbit::before,.empty-orbit::after { content:"";position:absolute;border:1px dashed rgba(16,27,42,.2);border-radius:50%;inset:10px; }.empty-orbit::after{inset:24px}.empty-orbit span{font-size:23px}.empty-orbit.small{width:70px;height:70px;margin:22px auto 12px}
.empty-copy { color:var(--muted);font-size:10px;line-height:1.55;text-align:center;margin:12px auto;max-width:360px; }
.skeleton-track { height:36px;border-radius:8px;background:#e7ece7;overflow:hidden }.skeleton-track i{display:block;width:22%;height:100%;background:linear-gradient(90deg,#dfe6df,#edf1ed,#dfe6df);animation:pulse 2s infinite}
.designed-empty { min-height:128px;display:flex;align-items:center;gap:13px;padding:20px;border:1px dashed var(--line);border-radius:11px;background:#fafcf9 }.designed-empty div{display:grid;gap:6px}.designed-empty strong{font-size:12px}.designed-empty small{color:var(--muted);font-size:9px}
.empty-macros .macro-track i{width:0!important}.empty-caption{text-align:center;color:var(--muted);font-size:10px;margin:18px 0}.empty-chart>div:first-child{display:flex;justify-content:space-between}.empty-chart>div:first-child span{font-size:9px;color:var(--muted)}.empty-chart>div:first-child strong{font-size:20px}
.chart-placeholder { height:70px;display:flex;align-items:flex-end;gap:5px;margin-top:17px;border-bottom:1px solid var(--line) }.chart-placeholder i{flex:1;background:#e2e8e3;border-radius:3px 3px 0 0}.chart-placeholder i:nth-child(1){height:25%}.chart-placeholder i:nth-child(2){height:38%}.chart-placeholder i:nth-child(3){height:32%}.chart-placeholder i:nth-child(4){height:51%}.chart-placeholder i:nth-child(5){height:45%}.chart-placeholder i:nth-child(6){height:63%}.chart-placeholder i:nth-child(7){height:55%}.chart-placeholder i:nth-child(8){height:68%;opacity:.6}.chart-placeholder.tall{height:100px}
.availability-preview{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:18px}.availability-preview span{display:grid;place-items:center;min-height:42px;border:1px solid var(--line);border-radius:7px;color:#9aa59f;font-size:9px;font-weight:750}.availability-preview span.selected{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.empty-plan-banner>div>span{background:#cdd6cf}.empty-calendar{display:grid;gap:8px}.skeleton-workout{opacity:.78}.table-empty{text-align:center!important;padding:45px 20px!important;color:var(--muted)!important}.empty-macro-hero>div:first-child>strong{font-size:48px}.skeleton-meal{opacity:.72}.strategy-profile .primary-button{margin-top:20px}.race-card h3{margin:0 0 7px;font-size:15px}.race-card>p{margin:0;color:var(--muted);font-size:9px}.race-card-top{display:flex;justify-content:space-between}.race-card-top>span{font:700 8px var(--font-geist-mono);color:var(--muted)}.race-card-top em{font-style:normal;font-size:7px;background:#edf0ec;padding:4px 6px;border-radius:4px}.race-card-top em.tickets{background:#e7fbd8;color:#39731b}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(139,234,67,.16)}.feed-controls{display:flex;align-items:center;gap:8px;font:700 8px monospace}.country-filters button.active{background:var(--ink);color:white}.race-card[hidden]{display:none}.race-card-actions button:disabled{opacity:.65;cursor:not-allowed}
.profile-section-title{grid-column:1/-1}.profile-form label{display:grid;gap:7px}.profile-form label>span{font:700 8px var(--font-geist-mono);letter-spacing:.7px;color:var(--muted);text-transform:uppercase}.profile-form input,.profile-form select{width:100%;border:1px solid var(--line);border-radius:8px;background:white;padding:11px;color:var(--ink);font-size:11px}.profile-form .primary-button{grid-column:1/-1;width:max-content;min-width:180px}.profile-availability{margin-top:16px}.day-check{position:relative;display:grid!important;place-items:center!important;min-height:48px;border:1px solid var(--line);border-radius:7px;background:white;cursor:pointer}.day-check input{position:absolute;opacity:0}.day-check b{font-size:9px}.day-check small{font-size:8px}.day-check.selected{background:var(--ink);color:var(--lime);border-color:var(--ink)}.availability-save{width:max-content;margin-top:18px}
.auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(360px,.92fr) 1.08fr;background:var(--paper)}.auth-visual{padding:clamp(35px,6vw,80px);background:var(--ink);color:white;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-visual::after{content:"KF";position:absolute;right:-35px;bottom:-80px;font-size:300px;font-weight:900;color:rgba(139,234,67,.055);letter-spacing:-35px}.auth-visual .brand{width:max-content;padding:0;color:white;position:relative;z-index:1}.auth-visual>div{position:relative;z-index:1}.auth-visual h1{font-size:clamp(42px,6vw,76px);line-height:.92;letter-spacing:-4px;margin:14px 0 25px}.auth-visual h1 em{font-style:normal;color:var(--lime)}.auth-visual>div>p:last-child{max-width:480px;color:#9baba2;line-height:1.6}.auth-panel{display:grid;place-items:center;padding:30px}.auth-card{width:min(420px,100%);display:grid;gap:15px}.auth-card h2{margin:0;font-size:32px;letter-spacing:-1px}.auth-card>p{margin:0;color:var(--muted);font-size:12px}.auth-card label{display:grid;gap:7px}.auth-card label span{font:700 8px var(--font-geist-mono);letter-spacing:.9px;color:var(--muted);text-transform:uppercase}.auth-card input{border:1px solid var(--line);border-radius:9px;background:white;padding:13px;font-size:12px}.auth-card .primary-button{border:0;margin-top:4px;min-height:44px;cursor:pointer}.auth-links{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px}.auth-links a{color:var(--ink);font-weight:750;text-decoration:none}
@keyframes pulse{0%,100%{transform:translateX(-15%);opacity:.65}50%{transform:translateX(290%);opacity:1}}
@media(max-width:720px){.language-switch a{min-height:31px;display:grid;place-items:center}.user-avatar{display:none}.mobile-nav a{flex:0 0 66px;min-width:66px;min-height:47px;border:0;border-radius:8px;background:transparent;color:#89988f;padding:7px 2px 5px;display:grid;gap:3px;justify-items:center;align-content:center;overflow:hidden;font-size:7px;line-height:1;white-space:nowrap;text-overflow:ellipsis}.mobile-nav a span{font-size:14px}.mobile-nav a.active{color:var(--lime);background:#2a3832}.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:250px;padding:28px 22px}.auth-visual h1{font-size:40px;letter-spacing:-2px}.auth-panel{padding:28px 16px 50px;align-items:start}.empty-date{width:100%}.availability-preview{grid-template-columns:repeat(4,1fr)}.profile-form .primary-button,.availability-save{width:100%}}
@media(max-width:420px){.auth-visual{min-height:220px}.auth-visual h1{font-size:34px}.auth-card h2{font-size:27px}.race-title-row h2{font-size:20px}}
.google-button{min-height:44px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:11px;text-decoration:none;font-size:11px;font-weight:750}.google-button span{width:23px;height:23px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:#4285f4;font-weight:900}.auth-divider{display:flex;align-items:center;gap:10px;color:#87938d;font-size:8px;text-transform:uppercase;letter-spacing:.7px}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--line);flex:1}
.session-dialog{width:min(470px,calc(100% - 24px));border:0;border-radius:16px;padding:0;box-shadow:0 22px 70px rgba(12,23,18,.28)}.session-dialog::backdrop{background:rgba(15,25,21,.62);backdrop-filter:blur(3px)}.session-dialog form{display:grid;gap:14px;padding:25px}.session-dialog h2{margin:0 0 4px}.session-dialog label{display:grid;gap:6px;color:var(--muted);font:700 8px var(--font-geist-mono);letter-spacing:.7px;text-transform:uppercase}.session-dialog input,.session-dialog select,.session-dialog textarea,.compact-form input,.compact-form select,.compact-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:white;padding:11px;color:var(--ink);font:500 11px var(--font-geist)}.session-dialog textarea{min-height:76px;resize:vertical}.session-dialog form>div:last-child{display:flex;justify-content:flex-end;gap:9px}.session-dialog button{border:1px solid var(--line);border-radius:8px;padding:10px 14px;cursor:pointer}.session-dialog .primary-button{border-color:var(--ink)}.race-card-actions form{display:inline}.race-card-actions form button{cursor:pointer}.workout-card.is-done{opacity:.72}.compact-form{display:grid;gap:12px}.compact-form label{display:grid;gap:6px;font-size:9px;color:var(--muted)}
.auth-shell{grid-template-columns:minmax(430px,.94fr) minmax(520px,1.06fr);min-height:100dvh}.auth-visual{display:grid;grid-template-rows:auto 1fr;padding:clamp(36px,4.5vw,72px)}.auth-visual>.brand{align-self:start}.auth-visual>div{align-self:center;justify-self:center;width:min(590px,100%);padding:50px 0 90px}.auth-visual>div>.eyebrow{font-size:11px;letter-spacing:1.8px}.auth-visual h1{font-size:clamp(54px,5.7vw,84px);line-height:.91;letter-spacing:-4.8px;font-weight:850;margin:18px 0 28px}.auth-visual>div>p:last-child{max-width:520px;font-size:16px;line-height:1.7;color:#bac5be}.auth-panel{padding:48px clamp(30px,5vw,76px)}.auth-card{width:min(500px,100%);gap:19px}.auth-card>.eyebrow{font-size:10px;letter-spacing:1.5px}.auth-card h2{font-size:clamp(37px,3vw,48px);line-height:1.05;letter-spacing:-2px}.auth-card>p{font-size:15px;line-height:1.55}.auth-card label{gap:9px}.auth-card label span{font-size:11px;letter-spacing:1px}.auth-card input{min-height:52px;padding:14px 16px;border-radius:11px;font-size:15px;outline:none;transition:border-color .18s,box-shadow .18s}.auth-card input:hover{border-color:#aab5ae}.auth-card input:focus{border-color:#263a31;box-shadow:0 0 0 4px rgba(38,58,49,.1)}.auth-card .primary-button,.google-button{min-height:53px;border-radius:11px;font-size:14px;transition:transform .18s,box-shadow .18s}.auth-card .primary-button:hover,.google-button:hover{box-shadow:0 10px 24px rgba(16,27,22,.14);transform:translateY(-1px)}.google-button{gap:13px}.google-button span{width:28px;height:28px;font-size:14px}.auth-divider{font-size:10px;letter-spacing:1px}.auth-links{font-size:13px;line-height:1.4}.auth-flash,.app-flash{font-size:13px;line-height:1.5;padding:13px 15px;border-radius:11px}.auth-flash.info,.app-flash.info{background:#eef6fb;border:1px solid #c8e0ef;color:#28566f}.auth-flash.warning,.app-flash.warning{background:#fff8e7;border:1px solid #ecd69b;color:#715719}.auth-card input:focus-visible,.auth-card button:focus-visible,.google-button:focus-visible,.auth-links a:focus-visible{outline:3px solid rgba(101,170,58,.35);outline-offset:3px}.billing-dialog{width:min(800px,calc(100% - 24px));max-width:none;border:0;padding:0;background:transparent}.billing-dialog::backdrop{background:rgba(15,25,21,.66);backdrop-filter:blur(4px)}.billing-dialog .pricing-modal{width:100%}.billing-dialog .pricing-grid article{display:grid;gap:12px;padding:22px;border:1px solid var(--line);border-radius:13px;background:white}.billing-dialog .pricing-grid article.featured{background:var(--ink);color:white}.billing-dialog .pricing-grid strong{font-size:31px}.billing-dialog .pricing-grid small{font-size:11px}.billing-dialog .pricing-grid p,.billing-note{font-size:11px;line-height:1.55;color:var(--muted)}.portal-form{margin-top:18px}.portal-form button{width:100%}.billing-note{text-align:center;margin:15px 0 0}
@media(max-width:1024px){.auth-shell{grid-template-columns:minmax(350px,.8fr) minmax(470px,1.2fr)}.auth-visual{padding:36px}.auth-visual h1{font-size:56px}.auth-panel{padding:40px 32px}.auth-card{width:min(480px,100%)}}
@media(max-width:780px){.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:230px;padding:24px;grid-template-rows:auto 1fr}.auth-visual>div{padding:28px 0 12px;justify-self:start}.auth-visual h1{font-size:42px;line-height:.95;letter-spacing:-2.5px;margin:10px 0 0}.auth-visual>div>p:last-child{display:none}.auth-panel{padding:38px 22px 56px;align-items:start}.auth-card{margin:auto}.auth-card h2{font-size:36px}}
@media(max-width:420px){.auth-visual{min-height:190px;padding:20px}.auth-visual h1{font-size:35px}.auth-panel{padding:30px 16px 45px}.auth-card{gap:17px}.auth-card h2{font-size:32px}.auth-links{align-items:flex-start;flex-direction:column}.billing-dialog{width:calc(100% - 12px)}.billing-dialog .pricing-modal{padding:22px 15px}}
.adaptive-section{background:var(--lp-dark);color:#fff}.adaptive-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:100px;align-items:center}.adaptive-section .lp-kicker,.competition-section .lp-kicker{color:var(--lp-lime)}.lp-lead-small{max-width:440px;color:#9eaca4;font-size:16px;line-height:1.7}.input-stream{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.input-stream span{padding:13px 14px;border:1px solid #35463c;border-radius:8px;color:#c1ccc5;font-size:12px;display:flex;justify-content:space-between}.input-stream i{color:var(--lp-lime);font-style:normal}.plan-engine{position:relative;min-height:490px;border:1px solid #34443a;border-radius:20px;background:radial-gradient(circle at 50% 45%,rgba(139,234,67,.15),transparent 34%),#17251e;display:grid;place-items:center;overflow:hidden}.plan-engine::before,.plan-engine::after{content:"";position:absolute;width:410px;height:410px;border:1px solid #304139;border-radius:50%}.plan-engine::after{width:270px;height:270px}.engine-orbit{position:relative;z-index:2;width:160px;height:160px;border-radius:50%;border:1px solid #607568;background:#203027;display:grid;place-items:center;text-align:center}.engine-orbit span{font-size:13px;letter-spacing:1px}.engine-orbit b{font-size:29px;letter-spacing:-1px}.engine-orbit i{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--lp-lime);box-shadow:0 0 0 7px rgba(139,234,67,.1)}.engine-orbit i:nth-child(2){top:3px;left:22px}.engine-orbit i:nth-child(3){right:-27px;top:74px;background:#2f8cff}.engine-orbit i:nth-child(4){bottom:-12px;left:41px;background:#ff8055}.engine-output{position:absolute;z-index:4;right:22px;bottom:22px;width:270px;padding:18px;border-radius:11px;background:#fff;color:var(--lp-dark);box-shadow:0 15px 40px rgba(0,0,0,.25)}.engine-output>small{font:700 7px ui-monospace,monospace;color:#718078}.engine-output>strong{display:block;margin:6px 0 15px;font-size:14px}.engine-output>div{display:grid;gap:7px}.engine-output span{font-size:9px;color:#65756c}.engine-output i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px}.green{background:var(--lp-lime)}.blue-dot{background:#2f8cff}.coral-dot{background:#ff8055}
.goals-section{background:#fff}.goal-cards{display:grid;grid-template-columns:1fr 1fr;gap:17px}.goal-cards>article{position:relative;min-height:530px;padding:42px;border:1px solid #dce4de;border-radius:17px;overflow:hidden}.goal-cards>article>span{font:700 9px ui-monospace,monospace;color:#708078;letter-spacing:1px}.goal-cards h3{margin:25px 0 13px;font-size:42px;letter-spacing:-2px}.goal-cards p{max-width:450px;color:var(--lp-muted);font-size:15px;line-height:1.7}.goal-cards ul{padding:0;margin:27px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;font-size:12px;font-weight:650}.goal-cards li::before{content:"✓";color:#4b8c52;margin-right:8px}.goal-cards .dark-card{background:var(--lp-dark);color:#fff;border-color:var(--lp-dark)}.dark-card>span{color:var(--lp-lime)!important}.dark-card p{color:#a9b5ae}.dark-card li::before{color:var(--lp-lime)}.goal-visual{position:absolute;left:42px;right:42px;bottom:36px;height:150px;border-radius:12px;overflow:hidden}.personal-visual{padding:26px;background:#edf5e8}.personal-visual b{font-size:50px;letter-spacing:-3px}.personal-visual span{display:block;font:700 8px ui-monospace,monospace;color:#607266}.personal-visual i{position:absolute;left:0;right:0;bottom:0;height:55px;background:linear-gradient(110deg,transparent 10%,rgba(139,234,67,.8) 11% 18%,transparent 19% 25%,rgba(139,234,67,.7) 26% 34%,transparent 35%)}.date-visual{display:grid;grid-template-columns:1fr auto;align-items:center;padding:25px;background:#26372e}.date-visual small{grid-column:1/-1;color:var(--lp-lime);font:700 8px ui-monospace,monospace}.date-visual b{font-size:40px}.date-visual i{font-style:normal;color:#aab8b0}
.modules-section{background:#f0f4ef}.module-story{display:grid;grid-template-columns:.72fr 1.28fr;gap:95px;align-items:center;margin-bottom:150px}.nutrition-story{grid-template-columns:1.25fr .75fr;margin-bottom:0}.module-copy p:not(.lp-kicker){color:var(--lp-muted);line-height:1.7}.module-copy ul{list-style:none;padding:0;margin:25px 0;display:grid;gap:12px;color:#45564c;font-size:13px}.module-copy li::before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;border-radius:50%;background:var(--lp-lime)}.week-preview{border:1px solid #dbe3dc;border-radius:16px;background:#fff;box-shadow:0 25px 60px rgba(24,40,31,.1);overflow:hidden}.week-preview header{height:75px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e9e4}.week-preview header div{display:grid;gap:4px}.week-preview header small{font:700 8px ui-monospace,monospace;color:#708078}.week-preview header strong{font-size:17px}.week-preview header span{color:#74827a;font-size:11px}.week-preview article{display:grid;grid-template-columns:42px 8px 1fr auto;align-items:center;gap:15px;margin:0 20px;padding:18px 4px;border-bottom:1px solid #edf1ed}.week-preview article:last-child{border:0}.week-preview article>b{font:700 9px ui-monospace,monospace}.week-preview article>i{width:8px;height:38px;border-radius:5px}.week-preview article>span{display:grid;gap:5px}.week-preview article small{font:700 7px ui-monospace,monospace;color:#74827a}.week-preview article strong{font-size:12px}.week-preview article em{font-style:normal;color:#74827a;font-size:10px}.nutrition-preview{display:grid;grid-template-columns:1.2fr .8fr;border:1px solid #dbe3dc;border-radius:16px;background:#fff;box-shadow:0 25px 60px rgba(24,40,31,.1);overflow:hidden}.nutrition-main{padding:34px}.nutrition-main>small,.nutrition-side small{font:700 8px ui-monospace,monospace;color:#708078;letter-spacing:.8px}.nutrition-main>strong{display:block;margin:8px 0 30px;font-size:43px;letter-spacing:-2px}.nutrition-main>strong span{font-size:12px;color:#708078;letter-spacing:0}.macro-circles{display:flex;gap:12px}.macro-circles>span{width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--c) var(--p),#e9eee9 0);display:grid;place-content:center;text-align:center;position:relative}.macro-circles>span::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}.macro-circles b,.macro-circles small{position:relative;z-index:1}.macro-circles b{font-size:14px}.macro-circles small{font:700 6px ui-monospace,monospace;color:#708078}.nutrition-side{padding:29px 24px;background:#f7f9f6;display:grid;align-content:center;gap:13px}.nutrition-side article{padding:16px;border:1px solid #e0e7e1;border-radius:10px;background:#fff}.nutrition-side article:first-child{display:flex;align-items:center;gap:10px}.nutrition-side article div{display:grid;gap:4px}.nutrition-side article b{font-size:15px}.nutrition-side article:nth-child(2){display:grid;gap:8px}.nutrition-side article:nth-child(2)>b{font-size:25px}.nutrition-side article i{height:5px;border-radius:5px;background:#e7ece8;overflow:hidden}.nutrition-side article em{display:block;width:88%;height:100%;background:var(--lp-lime)}.nutrition-side p{margin:0;color:#75837b;font-size:10px;line-height:1.5}.health-note{display:block;margin-top:22px;color:#849089;font-size:10px;line-height:1.5}
.competition-section{background:var(--lp-deep);color:#fff}.competition-section>.lp-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;align-items:center}.competition-copy>p:not(.lp-kicker){color:#9daba3;line-height:1.7}.competition-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:28px}.competition-tags span{padding:8px 10px;border:1px solid #394a40;border-radius:6px;color:#b6c2bb;font:700 8px ui-monospace,monospace}.periodization{padding:25px;border:1px solid #35463c;border-radius:17px;background:#16241c}.date-target{display:grid;grid-template-columns:1fr auto;gap:5px;padding:18px;border-radius:10px;background:var(--lp-lime);color:var(--lp-dark)}.date-target small{grid-column:1/-1;font:700 8px ui-monospace,monospace}.date-target strong{font-size:22px}.date-target span{font:700 9px ui-monospace,monospace;align-self:end}.phase-flow{display:grid;grid-template-columns:repeat(5,1fr);margin:28px 0}.phase-flow article{position:relative;display:grid;justify-items:center;text-align:center;gap:9px}.phase-flow article::after{content:"";position:absolute;top:14px;left:65%;width:70%;height:1px;background:#485a50}.phase-flow article:last-child::after{display:none}.phase-flow i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#293a31;color:var(--lp-lime);font:700 8px ui-monospace,monospace;position:relative;z-index:1}.phase-flow div{display:grid;gap:4px}.phase-flow strong{font-size:8px}.phase-flow span{color:#86968d;font-size:7px}.strategy-note{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #35473d;border-radius:10px}.strategy-note>span{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:#26392e;color:var(--lp-lime)}.strategy-note div{display:grid;gap:5px}.strategy-note small{font:700 7px ui-monospace,monospace;color:var(--lp-lime)}.strategy-note strong{font-size:11px}

/* Product UI refresh: readable scale and shared light/dark theme */
.app-shell{font-size:15px;line-height:1.5;transition:background-color .2s,color .2s}
.app-shell .content{max-width:1320px;padding:42px 42px 72px}
.app-shell .eyebrow,.app-shell .light-label{font-size:11px;line-height:1.45;letter-spacing:1.35px}
.app-shell .welcome-row h1{font-size:clamp(32px,3.4vw,46px)}
.app-shell .welcome-row>div>p:last-child,.app-shell .view-heading>div:first-child>p:last-child{font-size:15px;line-height:1.65}
.app-shell .nav-item{min-height:46px;font-size:14px}
.app-shell .trial-meter>div:first-child,.app-shell .trial-meter small{font-size:12px;line-height:1.45}
.app-shell .athlete-mini strong{font-size:12px}.app-shell .athlete-mini small{font-size:11px}
.app-shell .panel,.app-shell .timeline-card,.app-shell .metric-card{box-shadow:0 12px 34px rgba(22,38,29,.055)}
.app-shell .panel-head h2,.app-shell .section-heading h2{font-size:21px}
.app-shell .empty-copy,.app-shell .empty-caption,.app-shell .muted,.app-shell .race-title-row p{font-size:13px;line-height:1.6}
.app-shell .text-link,.app-shell .primary-button,.app-shell .secondary-button,.app-shell button,.app-shell select,.app-shell input,.app-shell textarea{font-size:13px}
.app-shell .primary-button,.app-shell .secondary-button{min-height:44px;padding:11px 15px}
.app-shell .session-row strong,.app-shell .designed-empty strong,.app-shell .meal-row strong,.app-shell .race-card h3{font-size:14px}
.app-shell .session-row small,.app-shell .designed-empty small,.app-shell .meal-row small,.app-shell .race-card>p{font-size:12px;line-height:1.5}
.app-shell table th{font-size:11px}.app-shell table td{font-size:13px}
.app-shell .profile-form label>span,.app-shell .compact-form label,.app-shell .availability-control>span,.app-shell .duration-control>span,.app-shell .test-track>span,.app-shell .load-method>span{font-size:11px}
.app-shell .profile-form input,.app-shell .profile-form select,.app-shell .compact-form input,.app-shell .compact-form select,.app-shell .compact-form textarea,.app-shell .session-dialog input,.app-shell .session-dialog select,.app-shell .session-dialog textarea{min-height:46px;font-size:14px}
.app-shell .metric-card>div:first-child{font-size:12px}.app-shell .metric-card strong{font-size:26px}
.app-theme-toggle{height:36px;display:flex;align-items:center;gap:8px;padding:4px 9px 4px 5px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);cursor:pointer}
.theme-toggle-track{width:29px;height:20px;padding:2px;border-radius:999px;background:#dfe6e1;display:flex;align-items:center;transition:background .2s}
.theme-toggle-track i{width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.22);transition:transform .2s}
.theme-toggle-copy{font-size:11px;font-weight:750;white-space:nowrap}
html[data-theme="dark"]{--ink:#edf6ef;--muted:#9caea4;--paper:#09110d;--white:#111d17;--line:#293b31;--lime:#98ef58;--blue:#68adff;--coral:#ff8b61}
html[data-theme="dark"] body{background:#09110d;color:var(--ink)}
html[data-theme="dark"] .workspace{background:radial-gradient(circle at 75% 0,rgba(139,234,67,.055),transparent 31%),#09110d}
html[data-theme="dark"] .topbar{background:rgba(9,17,13,.9);border-color:var(--line);backdrop-filter:blur(18px)}
html[data-theme="dark"] .sidebar{background:#050a07;border-right:1px solid #1f3027}
html[data-theme="dark"] .nav-item:hover,html[data-theme="dark"] .nav-item.active{background:#17261e}
html[data-theme="dark"] .app-shell :is(.panel,.timeline-card,.metric-card,.pricing-modal,.billing-dialog .pricing-grid article,.profile-form input,.profile-form select,.compact-form input,.compact-form select,.compact-form textarea,.session-dialog form,.session-dialog input,.session-dialog select,.session-dialog textarea,.race-card,.test-track button,.weight-box){background:#111d17;color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .app-shell :is(.language-switch,.segmented-control,.filter-tabs,.day-type-tabs,.plan-mode,.load-method>div,.quick-log){background:#17241d}
html[data-theme="dark"] .app-shell :is(.language-switch .selected,.segmented-control button.selected,.filter-tabs button.active,.day-type-tabs button.active){background:#26372e;color:#f2f8f4}
html[data-theme="dark"] .app-shell :is(.text-link,.auth-links a,.modal-close,.weight-control b){color:var(--ink)}
html[data-theme="dark"] .app-shell :is(.modal-close,.icon-button,.app-theme-toggle){background:#111d17;border-color:var(--line)}
html[data-theme="dark"] .theme-toggle-track{background:var(--lime)}html[data-theme="dark"] .theme-toggle-track i{transform:translateX(9px);background:#132019}
html[data-theme="dark"] .app-shell :is(.session-row,.meal-row,.recent-table td,.test-track){border-color:#25362d}
html[data-theme="dark"] .app-shell :is(.availability-preview span,.day-check){background:#111d17;border-color:var(--line);color:#b4c3ba}
html[data-theme="dark"] .app-shell :is(.day-check.selected,.availability-control button.selected){background:var(--lime);color:#132019;border-color:var(--lime)}
html[data-theme="dark"] .app-shell .billing-dialog .pricing-grid article.featured,html[data-theme="dark"] .app-shell .macro-hero{background:#17261e;color:#fff}
html[data-theme="dark"] .app-shell .race-main{background:#111d17;border:1px solid var(--line)}
html[data-theme="dark"] .app-shell .phase-card{color:#132019}
html[data-theme="dark"] .auth-panel,html[data-theme="dark"] .auth-shell{background:#09110d;color:var(--ink)}
html[data-theme="dark"] .auth-card input,html[data-theme="dark"] .google-button{background:#111d17;color:var(--ink);border-color:var(--line)}
@media(max-width:900px){.app-shell .content{padding:30px 22px 92px}.theme-toggle-copy{display:none}.app-theme-toggle{width:36px;padding:4px}.app-shell .welcome-row h1{font-size:32px}}
@media(max-width:720px){.app-shell .content{padding:25px 16px 96px}.app-shell .mobile-nav a{font-size:10px;min-width:70px}.app-shell .mobile-nav a span{font-size:17px}.app-shell .panel{padding:19px}.app-shell .welcome-row>div>p:last-child{font-size:14px}}

/* Product UI v2 — generous, calm and high-contrast */
.app-shell{font-size:16px;letter-spacing:-.01em}
.app-shell .section-view{gap:28px}
.app-shell .view-heading,.app-shell .profile-heading{margin-bottom:10px;padding:8px 0}
.app-shell .view-heading h1,.app-shell .profile-heading h1{font-size:clamp(36px,4vw,52px);line-height:1.04;letter-spacing:-2.2px}
.app-shell .view-heading>div:first-child>p:last-child,.app-shell .profile-heading p:not(.eyebrow){max-width:720px;font-size:16px;line-height:1.65}
.app-shell :is(.panel,.timeline-card,.metric-card,.plan-phase-banner,.workout-card,.race-card,.execution-plan,.hydration-card,.why-card){border-radius:18px}
.app-shell :is(.panel,.timeline-card){padding:26px 28px}
.app-shell :is(.panel-head h2,.section-heading h2,.planner-setup-head h2,.events-toolbar h2,.execution-plan h2){font-size:22px;line-height:1.2}
.app-shell :is(.empty-copy,.empty-caption,.muted,.why-card p,.execution-plan article p,.adjustment-panel .empty-copy){font-size:14px;line-height:1.65}
.app-shell :is(.date-control span,.phase-top p,.readiness-copy span,.workout-copy small,.race-card-top>span,.feed-controls,.next-race-date span,.profile-lock,.pro-badge){font-size:11px}
.app-shell :is(.date-control strong,.date-control input){font-size:14px}
.app-shell .workout-card{min-height:102px;padding:18px 20px;gap:18px}
.app-shell .workout-copy strong{font-size:16px}.app-shell .workout-copy p{font-size:13px}
.app-shell .workout-card>button{min-width:150px;min-height:44px;padding:10px 14px;font-size:13px}
.app-shell .execution-plan article{grid-template-columns:34px 1fr;gap:14px;padding:20px 22px}
.app-shell .execution-plan article strong{font-size:16px}.app-shell .execution-plan article>span{font-size:13px}
.app-shell .race-card{padding:24px;gap:15px}.app-shell .race-card h3{font-size:20px;line-height:1.25}
.app-shell .race-card-top>span,.app-shell .race-card-top em{font-size:11px}
.app-shell .race-card-actions{gap:10px}.app-shell .race-card-actions button,.app-shell .race-card-actions a{min-height:44px;padding:11px 12px;font-size:13px;display:grid;place-items:center}
.app-shell .country-filters button{min-height:40px;padding:9px 13px;font-size:12px}
.app-shell .next-race-banner{min-height:180px;padding:28px 30px;border-radius:20px}
.app-shell .next-race-banner h2{font-size:28px}.app-shell .next-race-banner>div>span{font-size:13px}
.app-shell .compact-form{gap:18px}.app-shell .compact-form label{gap:9px;font-size:13px;font-weight:700}
.app-shell .profile-form{gap:22px;padding:30px}.app-shell .profile-form label{gap:10px}
.app-shell .profile-form label>span{font-size:12px}.app-shell .profile-form input,.app-shell .profile-form select{min-height:52px;padding:14px 16px;font-size:15px;border-radius:12px}
.app-shell .day-check{min-height:62px;border-radius:12px}.app-shell .day-check b{font-size:13px}.app-shell .day-check small{font-size:12px}
.app-shell :is(.primary-button,.secondary-button){display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:48px;margin-top:12px;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:750;line-height:1.2;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}
.app-shell :is(.primary-button,.secondary-button):hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(17,31,23,.13)}
.app-shell .nutrition-panel>.primary-button{width:100%}
.app-shell button:focus-visible,.app-shell a:focus-visible,.app-shell input:focus-visible,.app-shell select:focus-visible,.app-shell textarea:focus-visible{outline:3px solid rgba(139,234,67,.42);outline-offset:3px}
.app-shell .topbar{height:72px}.app-shell .top-actions{gap:12px}.app-shell .icon-button,.app-shell .user-avatar{width:38px;height:38px}
.app-shell .language-switch a{min-width:37px;padding:7px 9px;font-size:12px}
.app-shell .app-theme-toggle{height:40px;padding-right:12px}.app-shell .theme-toggle-copy{font-size:12px}
html[data-theme="dark"] .app-shell .primary-button{background:var(--lime);color:#102016;border:1px solid var(--lime)}
html[data-theme="dark"] .app-shell .primary-button :is(span,strong,small){color:#102016}
html[data-theme="dark"] .app-shell .secondary-button{background:#17261e;color:#f2f8f4;border-color:#3b5045}
html[data-theme="dark"] .app-shell :is(.workout-card,.plan-phase-banner,.execution-plan,.hydration-card,.why-card,.designed-empty,.country-filters button,.race-card-actions a,.workout-card>button){background:#111d17;color:#edf6ef;border-color:#2b4035}
html[data-theme="dark"] .app-shell :is(.country-filters button.active,.race-card-actions button,.membership){background:var(--lime);color:#102016;border-color:var(--lime)}
html[data-theme="dark"] .app-shell .workout-card.is-done{background:#17281d;border-color:#426232}
html[data-theme="dark"] .app-shell .workout-card.is-done>button{background:#203523;color:#bced9b;border-color:#426232}
html[data-theme="dark"] .app-shell :is(.why-card strong,.execution-plan article strong,.designed-empty strong,.race-card-actions a){color:#edf6ef}
html[data-theme="dark"] .app-shell .execution-plan article{border-color:#26392f}
html[data-theme="dark"] .app-shell :is(.profile-form input:disabled,.compact-form input:disabled){background:#0c1510;color:#84958b}
html[data-theme="dark"] .app-shell .adjustment-panel{background:#111d17;border:1px solid #2b4035;color:#edf6ef}
html[data-theme="dark"] .app-shell .next-race-banner{background:linear-gradient(135deg,#13231a,#0c1711);border:1px solid #2b4035}
html[data-theme="dark"] .app-shell .logout-form button{color:#c4d1c9;border-color:#34483d}
@media(max-width:720px){.app-shell .view-heading h1,.app-shell .profile-heading h1{font-size:34px;letter-spacing:-1.4px}.app-shell :is(.panel,.timeline-card){padding:22px 19px}.app-shell .workout-card{padding:16px}.app-shell .workout-card>button{min-width:0}.app-shell .topbar{height:64px}.app-shell .language-switch a{min-width:32px;padding-inline:6px}.app-shell .view-heading>div:first-child>p:last-child,.app-shell .profile-heading p:not(.eyebrow){font-size:15px}}

/* Dark-mode contrast audit: every interactive label remains readable */
.app-shell button,.app-shell a[class*="button"],.app-shell .race-card-actions a{-webkit-text-fill-color:currentColor}
.app-shell button :is(span,strong,small,b,i),.app-shell a[class*="button"] :is(span,strong,small,b,i){color:inherit;-webkit-text-fill-color:currentColor}
.app-shell button:disabled{opacity:.72}
.app-shell select,.app-shell option{color:var(--ink);background:var(--white)}
html[data-theme="dark"] .app-shell select,html[data-theme="dark"] .app-shell option{color:#f1f7f3;background:#111d17;-webkit-text-fill-color:#f1f7f3}
html[data-theme="dark"] .app-shell button:not(.primary-button):not(.membership):not([class*="active"]),html[data-theme="dark"] .app-shell .secondary-button{color:#edf6ef;-webkit-text-fill-color:#edf6ef}
html[data-theme="dark"] .app-shell :is(.primary-button,.membership,.race-card-actions button,.test-result-card button,.brand-filters button.active,.load-method button.active,.country-filters button.active){background:var(--lime);color:#102016;-webkit-text-fill-color:#102016;border-color:var(--lime)}
html[data-theme="dark"] .app-shell :is(.primary-button,.membership,.race-card-actions button,.test-result-card button,.brand-filters button.active,.load-method button.active,.country-filters button.active) *{color:#102016;-webkit-text-fill-color:#102016}
html[data-theme="dark"] .app-shell :is(.language-switch a.selected,.segmented-control button.selected,.filter-tabs button.active,.day-type-tabs button.active,.plan-mode button.active){background:#263a30;color:#fff;-webkit-text-fill-color:#fff}
html[data-theme="dark"] .app-shell :is(.meal-row button,.water-grid button,.week-nav button,.feed-controls>button,.session-dialog button,.logout-form button){background:#17261e;color:#edf6ef;-webkit-text-fill-color:#edf6ef;border-color:#344b3f}
html[data-theme="dark"] .app-shell :is(.meal-row.checked button,.water-grid button.filled){background:#1b3543;color:#a9dcff;-webkit-text-fill-color:#a9dcff;border-color:#31566b}
html[data-theme="dark"] .app-shell .race-card-top em{background:#24352c;color:#dbe7df}
html[data-theme="dark"] .app-shell .race-card-top em.tickets{background:#203a22;color:#bdf09d}
html[data-theme="dark"] .app-shell button:hover:not(:disabled){filter:brightness(1.09)}
html[data-theme="dark"] .app-shell button:disabled{color:#9aaba1!important;-webkit-text-fill-color:#9aaba1!important;background:#17211c!important;border-color:#2b3a32!important}

/* Unified Apple-like system typography and unambiguous button contrast */
html body,html body *{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif!important}
html body{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.app-shell button,.app-shell a[class*="button"]{font-weight:700;letter-spacing:-.01em}
html[data-theme="dark"] .app-shell :is(.nav-item.active,.mobile-nav a.active){background:#98ef58;color:#07120c!important;-webkit-text-fill-color:#07120c!important}
html[data-theme="dark"] .app-shell :is(.nav-item.active,.mobile-nav a.active) *{color:#07120c!important;-webkit-text-fill-color:#07120c!important}
html[data-theme="dark"] .app-shell .pro-badge{background:#98ef58;color:#07120c;-webkit-text-fill-color:#07120c}
html[data-theme="dark"] .app-shell :is(.primary-button,.membership,.race-card-actions button,.test-result-card button,.brand-filters button.active,.load-method button.active,.country-filters button.active,.day-check.selected,.availability-control button.selected){color:#07120c!important;-webkit-text-fill-color:#07120c!important}
html[data-theme="dark"] .app-shell :is(.primary-button,.membership,.race-card-actions button,.test-result-card button,.brand-filters button.active,.load-method button.active,.country-filters button.active,.day-check.selected,.availability-control button.selected) *{color:#07120c!important;-webkit-text-fill-color:#07120c!important}

/* Account and membership access on every viewport */
.account-menu{position:relative}
.account-trigger{border:0;cursor:pointer;padding:0}
.account-popover{position:absolute;right:0;top:calc(100% + 12px);width:min(340px,calc(100vw - 24px));padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 24px 70px rgba(11,24,16,.2);z-index:80}
.account-popover[hidden]{display:none}
.account-summary{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:8px 8px 15px;border-bottom:1px solid var(--line)}
.account-summary>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#ffd6a8;color:#67441e;font-size:13px;font-weight:800}
.account-summary div{min-width:0;display:grid;gap:2px}.account-summary strong{font-size:15px}.account-summary small{overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:12px}
.account-plan{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:14px;border-radius:13px;background:#edf5e8;color:#132019}
.account-plan div{display:grid;gap:3px}.account-plan small{font-size:10px;font-weight:750;letter-spacing:.7px}.account-plan strong{font-size:15px}.account-plan b{padding:6px 9px;border-radius:999px;background:#132019;color:#fff;font-size:11px}
.account-popover>a,.account-billing,.account-logout{width:100%;min-height:46px;margin:0;border:0;border-radius:11px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;background:transparent;color:var(--ink);text-decoration:none;font-size:14px;font-weight:700;cursor:pointer}
.account-popover>a:hover,.account-billing:hover{background:var(--paper)}
.account-billing{background:var(--ink);color:#fff;margin-bottom:5px}.account-billing span,.account-popover>a span{color:inherit}
.account-popover form{margin-top:5px;padding-top:7px;border-top:1px solid var(--line)}.account-logout{color:#a03d2c;justify-content:flex-start}
html[data-theme="dark"] .account-popover{background:#111d17;color:#edf6ef;border-color:#30453a}
html[data-theme="dark"] .account-plan{background:#98ef58;color:#07120c}
html[data-theme="dark"] .account-plan b{background:#07120c;color:#fff}
html[data-theme="dark"] .account-popover>a,html[data-theme="dark"] .account-logout{color:#edf6ef;-webkit-text-fill-color:#edf6ef}
html[data-theme="dark"] .account-billing{background:#98ef58;color:#07120c!important;-webkit-text-fill-color:#07120c!important}
html[data-theme="dark"] .account-popover>a:hover{background:#1b2a22}
@media(max-width:720px){.app-shell .user-avatar{display:grid}.topbar{padding:0 12px}.top-actions{gap:7px}.account-popover{position:fixed;top:72px;right:10px;left:10px;width:auto}.mobile-brand{font-size:12px}.language-switch a{font-size:11px}.app-theme-toggle{flex:0 0 38px}.account-trigger{flex:0 0 38px}}
@media(max-width:390px){.mobile-brand{font-size:0}.mobile-brand .brand-mark{margin:0}.language-switch a{min-width:29px!important;padding-inline:4px!important}.top-actions{gap:5px}}

/* Authentication screens: independent, reliable dark palette */
html[data-theme="dark"] .auth-shell{background:#09110d;color:#edf6ef}
html[data-theme="dark"] .auth-visual{background:radial-gradient(circle at 72% 24%,rgba(152,239,88,.12),transparent 30%),linear-gradient(145deg,#101e16,#050a07);color:#f5faf6}
html[data-theme="dark"] .auth-visual::after{color:rgba(152,239,88,.065)}
html[data-theme="dark"] .auth-visual .brand,html[data-theme="dark"] .auth-visual h1{color:#f5faf6}
html[data-theme="dark"] .auth-visual h1 em{color:#98ef58}
html[data-theme="dark"] .auth-visual .eyebrow{color:#98ef58}
html[data-theme="dark"] .auth-visual>div>p:last-child{color:#b2c2b8}
html[data-theme="dark"] .auth-panel{background:#09110d;color:#edf6ef}
html[data-theme="dark"] .auth-card h2{color:#f5faf6}
html[data-theme="dark"] .auth-card>p,html[data-theme="dark"] .auth-card label span,html[data-theme="dark"] .auth-divider{color:#a7b8ae}
html[data-theme="dark"] .auth-card input{background:#111d17;color:#f3f8f5;border-color:#30443a;caret-color:#98ef58}
html[data-theme="dark"] .auth-card input::placeholder{color:#76887e}
html[data-theme="dark"] .auth-card input:hover{border-color:#4c6356}
html[data-theme="dark"] .auth-card input:focus{border-color:#98ef58;box-shadow:0 0 0 4px rgba(152,239,88,.13)}
html[data-theme="dark"] .auth-card .primary-button{background:#98ef58;color:#07120c!important;-webkit-text-fill-color:#07120c!important}
html[data-theme="dark"] .auth-card .primary-button *{color:#07120c!important;-webkit-text-fill-color:#07120c!important}
html[data-theme="dark"] .google-button{background:#111d17;color:#edf6ef;border-color:#30443a}
html[data-theme="dark"] .google-button:hover{border-color:#526a5c;background:#16251d}
html[data-theme="dark"] .google-button span{background:#f8faf9;border-color:#d7dfda;color:#4285f4}
html[data-theme="dark"] .auth-links,html[data-theme="dark"] .auth-links a{color:#dce8e0}
html[data-theme="dark"] .auth-divider::before,html[data-theme="dark"] .auth-divider::after{background:#304038}
html[data-theme="dark"] .auth-flash.info{background:#102733;border-color:#285064;color:#b9e5fb}
html[data-theme="dark"] .auth-flash.warning{background:#2b2412;border-color:#66552a;color:#f1d990}
html[data-theme="dark"] .auth-flash.danger{background:#2b1714;border-color:#6a352c;color:#ffc4b8}
html[data-theme="dark"] .auth-flash.success{background:#14291a;border-color:#315f38;color:#bce9bd}
.auth-panel{overflow-y:auto;align-items:safe center;justify-items:center}
.auth-card{margin-block:auto}
@media(max-height:820px) and (min-width:781px){.auth-panel{align-items:start;padding-top:32px;padding-bottom:32px}.auth-card{margin-block:0}.auth-visual>div{padding-block:30px}}

/* Persisted athlete metrics and week navigation */
.dashboard-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}
.dashboard-macros span{display:grid;gap:3px;padding:12px 8px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:11px;text-align:center}
.dashboard-macros b{color:var(--ink);font-size:16px}
.mini-progress-chart{height:150px;margin-top:20px;padding:18px 16px 0;display:flex;align-items:flex-end;gap:10px;border:1px solid var(--line);border-radius:16px;background:var(--white)}
.mini-progress-chart>div{height:100%;min-width:34px;flex:1;display:grid;grid-template-rows:1fr auto auto;justify-items:center;gap:4px;position:relative}
.mini-progress-chart i{width:min(34px,80%);align-self:end;min-height:4px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#98ef58,#64bd2f)}
.mini-progress-chart span,.mini-progress-chart b{font-size:10px;color:var(--muted)}
.mini-progress-chart b{position:absolute;top:-2px;color:var(--ink)}
.week-nav{display:flex;align-items:center;gap:10px}.week-nav a{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;color:var(--ink);text-decoration:none;background:var(--white)}
.nutrition-ai,.meal-plan,.plan-phase-banner,#plan-settings{scroll-margin-top:110px}
.ai-prompts button:disabled,.ai-composer button:disabled{opacity:.58;cursor:wait}
.week-nav a.disabled{opacity:.38;pointer-events:none}.week-nav strong{font-size:13px}
.workout-card.is-missed{border-color:#e2b8ad;background:#fff8f5}.workout-card.is-missed .workout-copy small{color:#a34732}
.adjustment-panel>.secondary-button{width:100%;margin-top:10px}
.progress-chart-panel{margin-top:20px}.progress-bars{height:280px;padding:25px 10px 0;display:flex;align-items:flex-end;gap:12px;overflow-x:auto}
.progress-bar{height:100%;min-width:54px;flex:1;display:grid;grid-template-rows:1fr auto auto;gap:7px;text-align:center}.progress-bar>div{height:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--line)}
.progress-bar i{display:block;width:min(42px,80%);min-height:3px;border-radius:10px 10px 2px 2px;background:linear-gradient(180deg,#98ef58,#58aa29)}
.progress-bar b{font-size:12px}.progress-bar span{font-size:10px;color:var(--muted)}
html[data-theme="dark"] .dashboard-macros span,html[data-theme="dark"] .mini-progress-chart,html[data-theme="dark"] .week-nav a{background:#111d17;border-color:#30443a;color:#edf6ef}
html[data-theme="dark"] .dashboard-macros b,html[data-theme="dark"] .mini-progress-chart b{color:#edf6ef}
html[data-theme="dark"] .workout-card.is-missed{background:#271b17;border-color:#6b4437}.workout-card.is-missed .workout-copy small{color:#ffb9a6}
.nutrition-batch-save{grid-column:1/-1;position:sticky;bottom:92px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--white) 92%,transparent);box-shadow:0 14px 40px rgba(7,18,12,.16);backdrop-filter:blur(16px);opacity:.76}.nutrition-batch-save.has-changes{opacity:1;border-color:#79d93b}.nutrition-batch-save p{margin:0;color:var(--muted);font-size:14px}.nutrition-batch-save .primary-button{min-width:190px}.meal-row button{min-width:116px;white-space:normal;line-height:1.2}.workout-prescription{margin-top:10px}.workout-prescription summary{cursor:pointer;color:#397d20;font-size:12px;font-weight:800}.workout-prescription>div{display:grid;gap:8px;margin-top:10px;padding:12px;border-radius:12px;background:#f1f7ee}.workout-prescription article{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}.workout-prescription article:last-of-type{border:0}.workout-prescription b,.workout-prescription span{font-size:12px}.workout-prescription span{color:var(--muted)}
.test-guide{padding:15px;border:1px solid #bde6a2;border-radius:13px;background:#f1faeb}.test-guide strong{display:block;font-size:14px}.test-guide p{margin:7px 0;font-size:13px;line-height:1.5}.test-guide small{color:var(--muted);font-size:11px;line-height:1.6}
html[data-theme="dark"] .nutrition-batch-save{background:rgba(17,29,23,.94);color:#edf6ef}html[data-theme="dark"] .workout-prescription>div{background:#0c1711}html[data-theme="dark"] .workout-prescription summary{color:#9bed63}
html[data-theme="dark"] .test-guide{background:#132419;border-color:#355a3c;color:#edf6ef}
@media(max-width:720px){.nutrition-batch-save{display:grid;bottom:98px;padding:14px}.nutrition-batch-save .primary-button{width:100%;min-width:0}.meal-row button{min-width:104px;font-size:13px;padding:10px 8px}.workout-prescription article{grid-template-columns:1fr}.workout-prescription span{line-height:1.45}}
.performance-command-center{display:grid;gap:18px;margin-top:24px}.performance-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.performance-kpis article,.performance-panel,.engine-links a{border:1px solid var(--line);border-radius:17px;background:var(--white)}.performance-kpis article{min-height:118px;padding:20px;display:grid;align-content:space-between}.performance-kpis small{color:var(--muted);font-weight:700}.performance-kpis strong{font-size:25px;letter-spacing:-.7px}.performance-kpis span{color:#4b8e2e;font-size:11px}.performance-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px}.performance-panel{min-height:210px;padding:20px}.performance-panel header{display:flex;justify-content:space-between;gap:15px}.performance-panel header a{color:#3f8c25;text-decoration:none;font-weight:750}.spark-bars{height:135px;margin-top:20px;display:flex;align-items:end;gap:10px;border-bottom:1px solid var(--line)}.spark-bars i{flex:1;min-height:4px;border-radius:7px 7px 0 0;background:linear-gradient(#8df050,#2f8cff)}.spark-bars p{margin:auto;color:var(--muted)}.performance-number{height:150px;display:flex;justify-content:center;align-items:center}.performance-number b{font-size:72px}.performance-number span{color:var(--muted);font-size:18px}.engine-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.engine-links a{min-height:90px;padding:17px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.engine-links>a>b{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#e7f8dd;color:#3b8c1f}.engine-links span{display:grid;gap:4px}.engine-links small{color:var(--muted);line-height:1.35}.reverse-engine,.dynamic-nutrition{margin-top:24px;padding:28px}.reverse-engine>div:first-child>p:last-child,.dynamic-nutrition>div:first-child>p:last-child{color:var(--muted);max-width:760px}.reverse-phase-grid,.nutrition-matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}.reverse-phase-grid article,.nutrition-matrix article{position:relative;padding:18px;border:1px solid var(--line);border-radius:15px;display:grid;gap:9px}.reverse-phase-grid article.active,.nutrition-matrix article.active{border-color:#70cf3a;background:#effbe8;box-shadow:0 0 0 2px rgba(112,207,58,.12)}.reverse-phase-grid small,.nutrition-matrix small{color:var(--muted);font-size:9px}.reverse-phase-grid strong,.nutrition-matrix strong{font-size:17px}.reverse-phase-grid span{font-size:12px}.reverse-phase-grid div{height:6px;border-radius:4px;background:#e1e9e3;overflow:hidden}.reverse-phase-grid i{height:100%;display:block;background:#79df42}.reverse-phase-grid em{color:var(--muted);font-size:9px;font-style:normal}.nutrition-matrix article>b{position:absolute;right:10px;top:10px;padding:4px 6px;border-radius:5px;background:#75df3f;color:#07120c;font-size:8px}.nutrition-matrix span{display:flex;justify-content:space-between;gap:7px;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.nutrition-matrix em{color:var(--ink);font-style:normal;font-weight:750}
html[data-theme="dark"] :is(.performance-kpis article,.performance-panel,.engine-links a,.reverse-phase-grid article,.nutrition-matrix article){background:#111d17;border-color:#2b4035}html[data-theme="dark"] :is(.reverse-phase-grid article.active,.nutrition-matrix article.active){background:#172a1d;border-color:#69c63a}html[data-theme="dark"] .engine-links>a>b{background:#203b24;color:#a3f36a}html[data-theme="dark"] .reverse-phase-grid div{background:#25372d}
@media(max-width:900px){.performance-kpis,.reverse-phase-grid,.nutrition-matrix{grid-template-columns:1fr 1fr}.engine-links{grid-template-columns:1fr}.performance-panels{grid-template-columns:1fr}}@media(max-width:560px){.performance-kpis,.reverse-phase-grid,.nutrition-matrix{grid-template-columns:1fr}.performance-number b{font-size:56px}.reverse-engine,.dynamic-nutrition{padding:20px 16px}.nutrition-batch-save{bottom:104px}}
.command-dashboard{display:grid;gap:24px}.dashboard-greeting{display:flex;align-items:end;justify-content:space-between;gap:20px}.dashboard-greeting h1{margin:4px 0 0;font-size:clamp(28px,3vw,42px);letter-spacing:-1.5px}.dashboard-greeting>a{padding:11px 15px;border:1px solid var(--line);border-radius:11px;color:var(--ink);text-decoration:none;font-weight:750}.objective-command{display:grid;grid-template-columns:1fr 1fr;gap:28px;min-height:176px;padding:27px 25px;border:1px solid #23354c;border-radius:18px;background:radial-gradient(circle at 100% 0,rgba(10,191,165,.15),transparent 35%),linear-gradient(135deg,#101a2f,#0e1829);color:#f6fbff}.objective-copy{align-self:center}.objective-copy p{margin:0 0 12px;color:#95a4b9;font-size:12px}.objective-copy p b{padding:5px 9px;border:1px solid #00c99a;border-radius:999px;color:#20e4ad;font-size:10px;letter-spacing:.7px}.objective-copy h2{margin:0 0 8px;font-size:clamp(25px,2.6vw,38px);letter-spacing:-1.4px;line-height:1.08}.objective-copy span{color:#a9b5c7;font-size:12px}.objective-copy span strong{color:#28e4ad}.objective-timeline{align-self:center;padding:17px;border:1px solid #23364f;border-radius:14px;background:rgba(3,11,27,.58)}.objective-timeline header{display:flex;justify-content:space-between;gap:15px;margin-bottom:13px;font-size:11px}.objective-timeline header b{color:#1fe4ad}.objective-timeline>div{display:flex;gap:7px}.objective-timeline article{min-width:75px;min-height:51px;padding:9px 6px;border:1px solid #334258;border-radius:9px;display:grid;place-content:center;text-align:center;color:#8f9cb1}.objective-timeline article.active{border-color:#00d6a0;background:#063b35;color:#32e9b5}.objective-timeline article strong{font-size:9px}.objective-timeline article small{margin-top:3px;font-size:8px}.command-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.command-kpis article{min-height:112px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--white);display:grid;align-content:space-between}.command-kpis article>div{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.command-kpis small{font-size:12px;font-weight:700}.command-kpis i{color:#1daee8;font-style:normal;font-weight:800}.command-kpis strong{font-size:24px;letter-spacing:-.5px}.command-kpis a,.command-kpis button{width:max-content;padding:0;border:0;background:none;color:#3f9c22;font-size:11px;font-weight:750;text-decoration:none;cursor:pointer}.command-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.command-chart{min-height:330px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--white)}.command-chart>header{display:flex;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid var(--line);font-size:13px}.command-chart header a{color:#308cdf;text-decoration:none;font-size:11px}.line-chart{position:relative;height:240px;margin-top:18px}.line-chart svg{position:relative;z-index:2;width:100%;height:190px;overflow:visible}.grid-lines{position:absolute;inset:0 0 45px;display:grid;align-content:space-between}.grid-lines i{display:block;border-top:1px dashed #ccd7d0}.chart-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.chart-empty{height:240px;display:grid;place-items:center;margin:0;color:var(--muted);text-align:center}.dual-bars{height:235px;padding-top:22px;display:flex;align-items:end;justify-content:space-around;gap:12px;border-bottom:1px solid var(--line)}.dual-bars>div{height:100%;flex:1;display:grid;grid-template-rows:1fr 24px;align-items:end;text-align:center}.dual-bars section{height:100%;display:flex;align-items:end;justify-content:center;gap:4px}.dual-bars section i,.dual-bars section b{width:min(22px,38%);border-radius:5px 5px 0 0}.dual-bars section i{background:#3288ef}.dual-bars section b{background:#8795a8;opacity:.75}.dual-bars small{padding-top:7px;color:var(--muted);font-size:9px}.command-chart footer{display:flex;justify-content:center;gap:20px;padding-top:10px;color:var(--muted);font-size:9px}.command-chart footer span{display:flex;align-items:center;gap:5px}.command-chart footer i{width:8px;height:8px;border-radius:2px;background:#3288ef}.command-chart footer span+span i{background:#8795a8}.engine-command-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.engine-command-links a{min-height:86px;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--white);display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;color:var(--ink);text-decoration:none;transition:transform .2s,border-color .2s}.engine-command-links a:hover{transform:translateY(-2px);border-color:#4fc92e}.engine-command-links a>b{width:40px;height:40px;border:1px solid #16b892;border-radius:10px;background:#e8faf5;color:#078b6e;display:grid;place-items:center}.engine-command-links span{display:grid;gap:4px}.engine-command-links strong{font-size:13px}.engine-command-links small{color:var(--muted);font-size:10px;line-height:1.35}.engine-command-links>a>i{font-style:normal}.engine-command-links a:last-child{grid-column:1}.engine-command-links a:last-child>b{border-color:#ff9c2e;background:#fff4e5;color:#d37000}
html[data-theme="dark"] .command-dashboard{--white:#10192c;--line:#26364e;--ink:#f4f8ff;--muted:#93a1b6}html[data-theme="dark"] .dashboard-greeting>a{background:#10192c}html[data-theme="dark"] .command-kpis article,html[data-theme="dark"] .command-chart,html[data-theme="dark"] .engine-command-links a{background:#10192c;border-color:#26364e}html[data-theme="dark"] .grid-lines i{border-color:#2b3c57}html[data-theme="dark"] .engine-command-links a>b{background:#073b36;color:#28dfac}html[data-theme="dark"] .engine-command-links a:last-child>b{background:#3d2d14;color:#ffb64d}
@media(max-width:1050px){.objective-command{grid-template-columns:1fr}.command-kpis{grid-template-columns:1fr 1fr}.engine-command-links{grid-template-columns:1fr 1fr}.engine-command-links a:last-child{grid-column:auto}}@media(max-width:760px){.command-dashboard{gap:16px}.dashboard-greeting{align-items:flex-start}.dashboard-greeting h1{font-size:28px}.dashboard-greeting>a{font-size:11px}.objective-command{padding:20px 16px}.objective-copy h2{font-size:27px}.objective-timeline{overflow:hidden}.objective-timeline>div{overflow-x:auto;padding-bottom:4px}.objective-timeline article{flex:0 0 105px!important}.command-kpis{grid-template-columns:1fr 1fr;gap:9px}.command-kpis article{min-height:118px;padding:14px}.command-kpis small{font-size:10px}.command-kpis strong{font-size:20px}.command-charts{grid-template-columns:1fr}.command-chart{min-height:300px;padding:16px}.engine-command-links{grid-template-columns:1fr}.dual-bars{height:210px}}@media(max-width:430px){.command-kpis{grid-template-columns:1fr}.objective-copy h2{font-size:24px}.command-chart>header{align-items:flex-start;flex-direction:column}.line-chart{height:215px}.line-chart svg{height:165px}}
.dual-bars>div{cursor:pointer;border-radius:8px;transition:background .18s,transform .18s}.dual-bars>div:hover,.dual-bars>div:focus-visible{background:rgba(55,136,239,.08);transform:translateY(-3px);outline:2px solid rgba(55,136,239,.45);outline-offset:3px}.dual-bars>div:hover section i,.dual-bars>div:focus-visible section i{filter:brightness(1.18);box-shadow:0 0 18px rgba(50,136,239,.38)}.dual-bars>div:hover section b{filter:brightness(1.12)}.line-chart circle{transition:r .15s,filter .15s;outline:none}.line-chart circle:hover,.line-chart circle:focus{r:7px;filter:drop-shadow(0 0 7px #45e5ae)}.chart-tooltip{position:fixed;z-index:1000;min-width:190px;max-width:260px;padding:13px 15px;border:1px solid #334867;border-radius:11px;background:#10192c;color:#f5f8ff;box-shadow:0 16px 45px rgba(0,0,0,.35);pointer-events:none}.chart-tooltip strong,.chart-tooltip span{display:block}.chart-tooltip strong{margin-bottom:7px;font-size:12px}.chart-tooltip span{color:#a8b4c7;font-size:11px;line-height:1.55}.chart-tooltip span:last-child{margin-top:6px;color:#5ea7ff}.profile-lock{white-space:nowrap}
@media(max-width:720px){.dashboard-macros{grid-template-columns:1fr}.mini-progress-chart{overflow-x:auto}.mini-progress-chart>div{min-width:44px}.plan-phase-banner{gap:14px;align-items:flex-start}.week-nav{width:100%;justify-content:space-between}.progress-bars{height:230px}.progress-bar{min-width:46px}}

/* Krono Nutrition AI */
.nutrition-ai{margin-top:24px;padding:28px}.ai-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.ai-header h2{margin:3px 0 7px;font-size:24px}.ai-header p{margin:0;color:var(--muted);line-height:1.55}.ai-status{display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#edf8e7;color:#3e7729;font-size:10px;font-weight:800;white-space:nowrap}.ai-status i{width:7px;height:7px;border-radius:50%;background:#70cb3d;box-shadow:0 0 0 4px rgba(112,203,61,.16)}
.ai-messages{max-height:520px;margin:24px 0;padding:18px;display:grid;gap:14px;overflow-y:auto;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.ai-messages article{max-width:86%;display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}.ai-messages article.user{margin-left:auto;grid-template-columns:1fr 30px}.ai-messages article.user b{grid-column:2;grid-row:1}.ai-messages article.user p{grid-column:1;grid-row:1;background:#dff5cf}.ai-messages b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-size:9px}.ai-messages p{margin:0;padding:12px 14px;border-radius:13px;background:var(--white);font-size:14px;line-height:1.6;white-space:normal}
.ai-prompts{display:flex;gap:8px;flex-wrap:wrap}.ai-prompts button{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);cursor:pointer;font-size:11px}.ai-composer{margin-top:13px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.ai-composer textarea{min-height:66px;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:var(--white);color:var(--ink);resize:vertical;font-size:14px}.ai-composer .primary-button{margin:0;min-height:50px}.medical-note{display:block;margin-top:12px;color:var(--muted);font-size:11px}
html[data-theme="dark"] .ai-status{background:#1e3522;color:#b7eb9b}html[data-theme="dark"] .ai-messages{background:#0d1712;border-color:#30443a}html[data-theme="dark"] .ai-messages p,html[data-theme="dark"] .ai-prompts button,html[data-theme="dark"] .ai-composer textarea{background:#111d17;color:#edf6ef;border-color:#30443a}html[data-theme="dark"] .ai-messages article.user p{background:#25401f;color:#efffe5}
@media(max-width:720px){.nutrition-ai{padding:20px 16px}.ai-header{flex-direction:column}.ai-messages{padding:12px}.ai-messages article{max-width:96%}.ai-composer{grid-template-columns:1fr}.ai-composer .primary-button{width:100%}.ai-prompts{display:grid;grid-template-columns:1fr}.ai-prompts button{min-height:40px}}
.segmented-control a,.filter-tabs a{border:0;border-radius:7px;padding:9px 12px;color:var(--muted);text-decoration:none;font-size:11px;font-weight:750}.segmented-control a.selected,.filter-tabs a.active{background:var(--white);color:var(--ink);box-shadow:0 1px 4px rgba(24,35,31,.1)}.saved-tests{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.saved-tests>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.saved-tests small{color:var(--muted)}html[data-theme="dark"] .segmented-control a.selected,html[data-theme="dark"] .filter-tabs a.active{background:#263a30;color:#fff}

/* Plan, Race IQ and LATAM calendar experience */
.plan-experience,.strategy-experience{display:grid;gap:24px}.plan-command{padding:28px;background:linear-gradient(135deg,var(--white),#f0f8eb)}.plan-command-head{display:flex;justify-content:space-between;gap:32px;align-items:end}.plan-command-head h2{margin:5px 0 0;font-size:26px;letter-spacing:-.8px}.plan-command-head>p{max-width:520px;margin:0;color:var(--muted);font-size:14px;line-height:1.6}.plan-settings-grid{margin:24px 0 18px;display:grid;grid-template-columns:2fr repeat(4,1fr);gap:14px;align-items:end}.plan-settings-grid>label,.plan-days{display:grid;gap:8px;margin:0;padding:0;border:0}.plan-settings-grid span,.plan-days legend{color:var(--muted);font-size:11px;font-weight:750}.plan-settings-grid input,.plan-settings-grid select{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font-size:14px}.plan-days>div{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.plan-days .day-check{height:48px;border:1px solid var(--line);border-radius:12px;display:grid;place-content:center;text-align:center;background:var(--white);cursor:pointer}.plan-days .day-check input{display:none}.plan-days .day-check b{font-size:13px}.plan-days .day-check small{font-size:8px}.plan-days .day-check.selected{background:var(--lime);border-color:var(--lime);color:#07120c}.plan-command>.primary-button{width:auto;min-height:46px}.plan-insights{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.plan-insights article{min-height:128px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--white);display:grid;align-content:space-between}.plan-insights small{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.8px}.plan-insights strong{font-size:25px;letter-spacing:-.8px}.plan-insights span{color:var(--muted);font-size:11px}.plan-phase-banner>div:first-child>span{background:var(--lime)!important}.plan-side{display:grid;gap:16px}.adaptive-rule{margin:20px 0;padding:15px;border-radius:13px;background:#eaf7e2;display:grid;gap:5px}.adaptive-rule span{font-size:9px;font-weight:800;color:#4d7042}.adaptive-rule strong{font-size:15px}.checkpoint-card{padding:20px}.checkpoint-card h3{font-size:20px;margin:6px 0 18px}.checkpoint-card .compact-form>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.checkpoint-card>small{display:block;margin-top:12px;color:var(--muted);font-size:10px}
.strategy-experience .strategy-layout{grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:22px}.strategy-experience .strategy-form{padding:26px}.strategy-form h2{margin:5px 0;font-size:25px}.form-intro{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.strategy-scores label>span{display:flex;justify-content:space-between;align-items:end}.strategy-scores label>span b{color:var(--ink);font-size:13px;text-transform:none}.strategy-scores label>span small{font-size:9px;text-transform:none}.strategy-scores label>div{grid-template-columns:1fr 48px}.strategy-scores input{width:100%;height:24px;accent-color:#76d33e}.strategy-scores output{padding:6px;border-radius:8px;background:var(--ink);color:#fff;text-align:center;font-size:11px;font-weight:800}.strategy-profile{min-height:230px;padding:30px}.strategy-profile>span{font-size:10px}.strategy-profile h2{font-size:34px;margin-top:14px}.strategy-profile p{max-width:68%;font-size:14px;line-height:1.65}.strategy-profile>div strong{font-size:27px}.execution-head{padding:23px 22px 15px;display:flex;align-items:start;justify-content:space-between}.execution-head h2{margin:5px 0;font-size:22px}.execution-head>span{padding:7px 10px;border-radius:999px;background:#edf8e7;color:#477c31;font-size:9px;font-weight:800}.strategy-experience .execution-plan article{grid-template-columns:38px 1fr;padding:17px 22px}.strategy-experience .execution-plan article>span{font-size:10px}.strategy-experience .execution-plan article strong{font-size:14px}.strategy-experience .execution-plan article p{font-size:12px;line-height:1.55}
.events-heading>div>p,.events-toolbar small,.race-card>p,.race-card-date small,.next-race-banner span{font-size:12px!important;line-height:1.5}.events-heading h1{font-size:42px}.next-race-banner{min-height:190px;border-radius:22px;padding:28px;background:radial-gradient(circle at 82% 20%,rgba(152,239,88,.18),transparent 30%),#101b16}.next-race-banner>div:nth-child(2) h2{font-size:30px;margin:5px 0 10px}.race-calendar-grid{gap:16px}.race-card{min-height:290px;padding:21px;border-radius:18px;background:var(--white);border:1px solid var(--line);box-shadow:0 10px 35px rgba(12,28,18,.05)}.race-card-top span,.race-card-top em{font-size:10px}.race-card-date{margin:24px 0 17px}.race-card-date>strong{font-size:46px}.race-card-date span{font-size:11px}.race-card h3{font-size:21px;line-height:1.2}.race-card-actions button,.race-card-actions a{min-height:42px;display:grid;place-items:center;font-size:11px}.events-news-panel{border-radius:18px}.news-head{padding:23px}.news-list a{padding:17px}.news-list strong{font-size:12px;line-height:1.45}.country-filters button,.brand-filters button{font-size:11px;min-height:38px;color:var(--ink)}
html[data-theme="dark"] .plan-command{background:linear-gradient(135deg,#111d17,#17291e)}html[data-theme="dark"] .plan-settings-grid input,html[data-theme="dark"] .plan-settings-grid select,html[data-theme="dark"] .plan-days .day-check,html[data-theme="dark"] .plan-insights article{background:#111d17;color:#edf6ef;border-color:#30443a}html[data-theme="dark"] .plan-days .day-check.selected{background:#98ef58;color:#07120c}html[data-theme="dark"] .adaptive-rule{background:#20391f;color:#efffe7}html[data-theme="dark"] .adaptive-rule span{color:#b9eaa0}html[data-theme="dark"] .strategy-scores label>span b{color:#edf6ef}html[data-theme="dark"] .strategy-scores output{background:#98ef58;color:#07120c}html[data-theme="dark"] .execution-head>span{background:#20391f;color:#b9eaa0}html[data-theme="dark"] .race-card{background:#111d17;border-color:#30443a;color:#edf6ef}html[data-theme="dark"] .race-card h3,html[data-theme="dark"] .race-card-date strong,html[data-theme="dark"] .race-card-date span{color:#edf6ef}html[data-theme="dark"] .race-card p,html[data-theme="dark"] .race-card-date small{color:#b5c5bb}html[data-theme="dark"] .race-card-actions a{background:#18271f;color:#edf6ef;border-color:#3a5145}html[data-theme="dark"] .country-filters button,html[data-theme="dark"] .brand-filters button{color:#dce9e1;border-color:#3a5145;background:#15231c}html[data-theme="dark"] .country-filters button.active,html[data-theme="dark"] .brand-filters button.active{background:#98ef58;color:#07120c!important}
@media(max-width:1050px){.plan-settings-grid{grid-template-columns:1fr 1fr}.plan-days{grid-column:1/-1}.plan-insights{grid-template-columns:1fr 1fr}.strategy-experience .strategy-layout{grid-template-columns:1fr}.strategy-experience .strategy-form{position:static}}
@media(max-width:720px){.plan-experience,.strategy-experience{gap:16px}.plan-command{padding:20px 16px}.plan-command-head{display:grid;gap:10px}.plan-settings-grid{grid-template-columns:1fr}.plan-days{grid-column:auto}.plan-days>div{gap:4px}.plan-days .day-check{height:52px}.plan-insights{grid-template-columns:1fr 1fr}.plan-insights article{min-height:115px;padding:16px}.plan-insights strong{font-size:20px}.strategy-experience .strategy-form{padding:20px 16px}.strategy-profile{padding:24px 20px;min-height:270px}.strategy-profile h2{font-size:28px}.strategy-profile p{max-width:100%;font-size:13px}.strategy-profile>div{position:static;margin-top:20px;text-align:left}.execution-head{display:grid;gap:10px}.events-heading h1{font-size:34px}.next-race-banner{padding:20px}.race-card{min-height:270px}.checkpoint-card .compact-form>div{grid-template-columns:1fr}}

/* Mobile containment: every plan card stays inside the viewport and remains readable. */
@media(max-width:720px){
  .app-shell,.workspace,.content,.section-view,.plan-experience,.plan-layout,.weekly-calendar,.plan-side{min-width:0;max-width:100%}
  .topbar{gap:8px;overflow:hidden}.mobile-brand{min-width:0;flex:1}.mobile-brand .brand-mark{flex:0 0 27px}.top-actions{min-width:0;flex:0 1 auto}
  .plan-insights{grid-template-columns:1fr;gap:10px}
  .plan-insights article{min-height:0;padding:17px 18px;gap:8px;align-content:start}
  .plan-insights strong{font-size:24px;line-height:1.1}.plan-insights span{font-size:13px;line-height:1.45}
  .plan-phase-banner{width:100%;padding:20px 18px}.week-nav{min-width:0;gap:12px}.week-nav strong{text-align:center}
  .workout-card{width:100%;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:18px 15px}
  .workout-copy{min-width:0}.workout-copy small,.workout-copy strong,.workout-copy p{overflow-wrap:anywhere}
  .workout-copy strong{font-size:18px;line-height:1.25}.workout-copy p{line-height:1.5}
  .workout-card>button{grid-column:1/-1;width:100%;min-height:48px;margin-top:2px}
  .mobile-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:hidden}
  .mobile-nav a{min-width:0;min-height:52px;padding:7px 1px 5px;border:0;border-radius:9px;background:transparent;color:#9aa89f;text-decoration:none;display:grid;gap:3px;place-items:center;align-content:center;font-size:clamp(7px,2.15vw,10px);line-height:1.05;white-space:normal;text-align:center;overflow:hidden}
  .mobile-nav a span{font-size:16px;line-height:1}.mobile-nav a.active{background:#98ef58;color:#07120c}
}
@media(max-width:370px){
  .mobile-brand{font-size:0}.language-switch a{min-width:28px!important;padding-inline:4px!important}.app-theme-toggle,.account-trigger{flex-basis:34px!important;width:34px!important}
  .mobile-nav{left:4px;right:4px}.mobile-nav a{font-size:7px}.mobile-nav a span{font-size:15px}
}

/* Verified race updates: fixed palette independent from inverted theme variables */
.events-news-panel{background:#14231c;color:#f3f8f5;border:1px solid #2c4036;box-shadow:0 24px 60px rgba(7,18,12,.18)}
.events-news-panel .news-head{padding:26px 23px 24px;background:linear-gradient(145deg,#192c22,#101c16);border-bottom:1px solid #30463a}
.events-news-panel .news-head .eyebrow{margin:0 0 20px;color:#9fb0a7;font-size:10px;letter-spacing:1.35px}
.events-news-panel .news-head h2{margin:0;color:#f7fbf8;font-size:22px;line-height:1.15;letter-spacing:-.55px}
.events-news-panel .news-list>a{min-height:96px;padding:18px 17px;background:#14231c;color:#f3f8f5;border-bottom:1px solid #30463a;transition:background .2s ease,transform .2s ease}
.events-news-panel .news-list>a:last-child{border-bottom:0}
.events-news-panel .news-list>a:hover,.events-news-panel .news-list>a:focus-visible{background:#1d3327;outline:0}
.events-news-panel .news-list>a>span{padding-top:2px;color:#82978b;font-size:9px}
.events-news-panel .news-list>a>div{gap:5px}
.events-news-panel .news-list em{color:#98ef58;font-size:8px;letter-spacing:.45px}
.events-news-panel .news-list strong{color:#f3f8f5;-webkit-text-fill-color:#f3f8f5;font-size:13px;line-height:1.4;letter-spacing:-.1px}
.events-news-panel .news-list small{color:#91a49a;-webkit-text-fill-color:#91a49a;font-size:9px;line-height:1.35}
html[data-theme="dark"] .app-shell .events-news-panel{background:#101d17!important;color:#f3f8f5!important;border-color:#2e4639}
html[data-theme="dark"] .app-shell .events-news-panel .news-head{background:radial-gradient(circle at 90% 0,rgba(152,239,88,.10),transparent 40%),linear-gradient(145deg,#192d22,#0e1914)!important;border-color:#30483b}
html[data-theme="dark"] .app-shell .events-news-panel .news-list>a{background:#101d17!important;color:#f3f8f5!important;border-color:#2b4035}
html[data-theme="dark"] .app-shell .events-news-panel .news-list>a:hover,html[data-theme="dark"] .app-shell .events-news-panel .news-list>a:focus-visible{background:#1b3025!important}
html[data-theme="dark"] .app-shell .events-news-panel :is(h2,strong){color:#f3f8f5!important;-webkit-text-fill-color:#f3f8f5!important}
html[data-theme="dark"] .app-shell .events-news-panel em{color:#98ef58!important;-webkit-text-fill-color:#98ef58!important}
html[data-theme="dark"] .app-shell .events-news-panel small{color:#91a49a!important;-webkit-text-fill-color:#91a49a!important}
@media(max-width:720px){.events-news-panel .news-head{padding:24px 20px}.events-news-panel .news-list>a{grid-template-columns:26px 1fr;min-height:102px;padding:19px 17px}.events-news-panel .news-list strong{font-size:13px}.events-news-panel .news-list small{font-size:9px}}

/* Clear target-race action and explicit AI conversation identities */
.welcome-row .date-control{min-width:190px;padding:13px 16px;border:1px solid #74ce42;border-radius:13px;background:linear-gradient(135deg,#98ef58,#7bdf43);color:#07120c;text-decoration:none;box-shadow:0 12px 30px rgba(87,184,43,.25);transition:transform .2s ease,box-shadow .2s ease}
.welcome-row .date-control:hover,.welcome-row .date-control:focus-visible{transform:translateY(-2px);box-shadow:0 17px 38px rgba(87,184,43,.34);outline:3px solid rgba(152,239,88,.22);outline-offset:3px}
.welcome-row .date-control span,.welcome-row .date-control strong{color:#07120c!important;-webkit-text-fill-color:#07120c!important}.welcome-row .date-control span{font-size:10px}.welcome-row .date-control strong{font-size:15px}.welcome-row .date-control::after{content:"→";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:900}.welcome-row .date-control{position:relative;padding-right:38px}
.ai-messages article{grid-template-columns:58px minmax(0,1fr);gap:13px}.ai-messages article.user{grid-template-columns:minmax(0,1fr) 58px}.ai-messages article.user .ai-person{grid-column:2;grid-row:1}.ai-person{display:grid;justify-items:center;gap:5px}.ai-person b{width:38px;height:38px;font-size:10px;background:#98ef58!important;color:#07120c!important;-webkit-text-fill-color:#07120c!important;border:2px solid #c9ffac;box-shadow:0 0 0 4px rgba(152,239,88,.1)}.ai-person span{color:var(--muted);font-size:8px;font-weight:800;line-height:1.1;text-align:center}.ai-messages article.user .ai-person b{background:#dce9e2!important;border-color:#fff;color:#1b2a22!important;-webkit-text-fill-color:#1b2a22!important}.ai-messages article.user p{grid-column:1;grid-row:1}
html[data-theme="dark"] .welcome-row .date-control{background:linear-gradient(135deg,#a5f76a,#7edc45);border-color:#a5f76a}html[data-theme="dark"] .ai-person span{color:#aebfb5}html[data-theme="dark"] .ai-messages article.user .ai-person b{background:#e5eee8!important;color:#122019!important}
html[data-theme="dark"] .app-shell .strategy-profile{background:radial-gradient(circle at 88% 12%,rgba(152,239,88,.14),transparent 28%),#14231c!important;color:#f3f8f5!important;border:1px solid #30483b}
html[data-theme="dark"] .app-shell .strategy-profile h2{color:#f7fbf8!important;-webkit-text-fill-color:#f7fbf8!important}html[data-theme="dark"] .app-shell .strategy-profile p{color:#b1c2b8!important;-webkit-text-fill-color:#b1c2b8!important}html[data-theme="dark"] .app-shell .strategy-profile>span,html[data-theme="dark"] .app-shell .strategy-profile>div strong{color:#98ef58!important;-webkit-text-fill-color:#98ef58!important}html[data-theme="dark"] .app-shell .strategy-profile>div small{color:#93a89c!important;-webkit-text-fill-color:#93a89c!important}
html[data-theme="dark"] .app-shell .strategy-form :is(select,textarea){background:#0d1913!important;color:#edf6ef!important;-webkit-text-fill-color:#edf6ef!important;border-color:#324b3d!important}html[data-theme="dark"] .app-shell .strategy-form textarea::placeholder{color:#82968a!important;-webkit-text-fill-color:#82968a!important}html[data-theme="dark"] .app-shell .strategy-form select option{background:#111d17;color:#edf6ef}
.nutrition-empty{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.nutrition-empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.nutrition-empty-actions :is(a,button){min-height:46px;display:grid;place-items:center;text-align:center;text-decoration:none}.nutrition-empty-actions form{margin:0}
.nutrition-access-state{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px;border-color:color-mix(in srgb,var(--lime) 38%,var(--line));background:linear-gradient(120deg,color-mix(in srgb,var(--lime) 8%,var(--surface)),var(--surface))}.nutrition-access-state>div{display:grid;gap:7px}.nutrition-access-state .eyebrow{margin:0}.nutrition-access-state strong{font-size:21px;line-height:1.2}.nutrition-access-state small{max-width:760px;color:var(--muted);font-size:14px;line-height:1.55}.nutrition-access-state>button{min-width:245px}.nutrition-access-state.is-waiting{grid-template-columns:auto minmax(0,1fr)}
.nutrition-cycle{display:grid;gap:20px;padding:24px}.nutrition-cycle-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.nutrition-cycle-head h2{max-width:680px;margin:7px 0 0;font-size:20px}.nutrition-cycle-head>span{padding:9px 12px;border-radius:999px;background:color-mix(in srgb,var(--lime) 18%,transparent);color:var(--text);font-size:12px;font-weight:800}.nutrition-cycle-weeks{display:grid;gap:14px}.nutrition-cycle-week{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.nutrition-cycle-week h3{margin:0 0 12px;font-size:15px}.nutrition-cycle-week>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.nutrition-cycle-day{min-width:0;padding:12px;border-radius:12px;background:var(--soft);display:grid;gap:6px}.nutrition-cycle-day span{color:var(--muted);font-size:11px}.nutrition-cycle-day strong{font-size:13px;line-height:1.25}.nutrition-cycle-day small{color:var(--muted);font-size:10px;line-height:1.35}.nutrition-cycle-day.is-locked{background:color-mix(in srgb,var(--soft) 75%,transparent);border:1px dashed var(--line)}.workout-card.is-trial-locked{border-style:dashed;opacity:.82}.workout-card.is-trial-locked .workout-copy p{max-width:620px;line-height:1.45}.workout-card.is-trial-locked>button{cursor:not-allowed;background:var(--soft);color:var(--muted);border-color:var(--line);font-size:11px;line-height:1.25}
@media(max-width:720px){.nutrition-empty{grid-template-columns:42px minmax(0,1fr)!important;gap:14px!important}.nutrition-empty-actions{grid-column:1/-1;width:100%;display:grid;grid-template-columns:1fr}.nutrition-empty-actions :is(a,button,form){width:100%}.nutrition-empty>div>strong{font-size:18px;line-height:1.3}.nutrition-empty>div>small{font-size:13px;line-height:1.5}.nutrition-access-state,.nutrition-access-state.is-waiting{grid-template-columns:42px minmax(0,1fr);padding:18px 16px}.nutrition-access-state>button{grid-column:1/-1;width:100%;min-width:0}.nutrition-access-state strong{font-size:18px}.nutrition-access-state small{font-size:13px}.nutrition-cycle{padding:18px 14px}.nutrition-cycle-head{display:grid}.nutrition-cycle-head>span{justify-self:start}.nutrition-cycle-week>div{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.nutrition-cycle-day{flex:0 0 154px;scroll-snap-align:start;min-height:104px}.nutrition-cycle-head h2{font-size:17px;line-height:1.35}}

/* Launch-ready mobile nutrition and navigation: no hidden horizontal canvas. */
@media(max-width:720px){
  .nutrition-cycle,.nutrition-cycle-head,.nutrition-cycle-weeks,.nutrition-cycle-week,.nutrition-cycle-week>div,.nutrition-cycle-day{box-sizing:border-box;min-width:0;width:100%;max-width:100%}
  .nutrition-cycle{gap:16px;padding:18px 12px;overflow:hidden}
  .nutrition-cycle-head{gap:12px}.nutrition-cycle-head h2{margin-top:5px;overflow-wrap:anywhere}
  .nutrition-cycle-weeks{gap:12px}.nutrition-cycle-week{padding:15px 12px;overflow:hidden}
  .nutrition-cycle-week h3{margin-bottom:10px;font-size:18px}
  .nutrition-cycle-week>div{display:grid;grid-template-columns:1fr;gap:8px;overflow:visible;padding:0}
  .nutrition-cycle-day{min-height:0;padding:13px 14px;display:grid;grid-template-columns:minmax(76px,.32fr) minmax(0,1fr);column-gap:12px;row-gap:5px;align-items:start;scroll-snap-align:none}
  .nutrition-cycle-day span{grid-row:1/3;padding-top:2px;font-size:11px;font-weight:700}
  .nutrition-cycle-day strong{font-size:14px;overflow-wrap:anywhere}.nutrition-cycle-day small{font-size:11px;overflow-wrap:anywhere}
  .mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr));padding:5px;overflow:hidden}
  .mobile-nav :is(a,button){min-width:0!important;width:100%;min-height:52px;padding:7px 1px 5px;border:0;border-radius:9px;background:transparent;color:#9aa89f;text-decoration:none;display:grid;gap:3px;place-items:center;align-content:center;font-family:inherit;font-size:clamp(7px,2.15vw,10px);font-weight:500;line-height:1.05;white-space:normal;text-align:center;overflow:hidden;cursor:pointer}
  .mobile-nav :is(a,button)>span{font-size:16px;line-height:1}
  .mobile-nav a.active{background:#98ef58;color:#07120c}
  .mobile-nav .mobile-billing-entry{color:#c8ff9d;background:rgba(152,239,88,.08);box-shadow:inset 0 0 0 1px rgba(152,239,88,.25)}
  .mobile-nav .mobile-billing-entry>span{color:#98ef58}
  .billing-dialog .pricing-modal{max-height:calc(100dvh - 14px);padding:23px 15px 20px}
  .billing-dialog .pricing-modal>h2{padding-right:34px;font-size:28px;line-height:1.05}
  .billing-dialog .pricing-grid{gap:12px}.billing-dialog .pricing-grid article{padding:18px 15px}
  .billing-dialog .portal-form .secondary-button{min-height:52px;border-color:#6bcf3e;background:#eefbe8;color:#173411;font-weight:850}
}
@media(max-width:380px){
  .nutrition-cycle-day{grid-template-columns:1fr}.nutrition-cycle-day span{grid-row:auto}
  .mobile-nav :is(a,button){font-size:7px}.mobile-nav :is(a,button)>span{font-size:15px}
}
html[data-theme="dark"] .mobile-nav .mobile-billing-entry{color:#d8ffc0;-webkit-text-fill-color:#d8ffc0;background:rgba(152,239,88,.10)}
html[data-theme="dark"] .billing-dialog .portal-form .secondary-button{background:#1e3825;color:#d8ffc0;-webkit-text-fill-color:#d8ffc0;border-color:#548f3c}
@media(max-width:720px){.welcome-row .date-control{width:100%;min-height:58px}.ai-messages article{grid-template-columns:44px minmax(0,1fr);gap:9px}.ai-messages article.user{grid-template-columns:minmax(0,1fr) 44px}.ai-person b{width:34px;height:34px}.ai-person span{font-size:7px}.ai-messages article{max-width:100%}}
.profile-lock{white-space:nowrap;font-size:0!important}.profile-lock::after{font-size:11px;content:"✓ DATOS PROTEGIDOS"}html[lang="en"] .profile-lock::after{content:"✓ PROTECTED DATA"}html[lang="pt"] .profile-lock::after{content:"✓ DADOS PROTEGIDOS"}
.performance-profile{margin-top:24px;padding:28px}.performance-profile>header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.performance-profile h2{margin:5px 0 8px;font-size:28px}.performance-profile header p:last-child{max-width:700px;margin:0;color:var(--muted);line-height:1.55}.performance-profile>header>span{padding:9px 12px;border-radius:999px;background:#e9f8e2;color:#35791f;font-weight:800}.performance-profile form{display:grid;gap:18px;margin-top:25px}.performance-profile fieldset{margin:0;padding:20px;border:1px solid var(--line);border-radius:16px}.performance-profile legend{display:flex;align-items:center;gap:10px;padding:0 8px}.performance-profile legend>b{width:32px;height:32px;border-radius:9px;background:var(--lime);color:#07120c;display:grid;place-items:center}.performance-profile legend span{display:grid;gap:3px}.performance-profile legend strong{font-size:15px}.performance-profile legend small{color:var(--muted);font-size:11px}.performance-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.performance-fields.two{grid-template-columns:1fr 1fr}.performance-fields label,.performance-date{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:700}.performance-fields label>div{position:relative}.performance-fields input,.performance-date input{width:100%;min-height:50px;padding:0 70px 0 13px;border:1px solid var(--line);border-radius:11px;background:var(--white);color:var(--ink);font-size:16px}.performance-fields em{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:10px;font-style:normal}.performance-date{max-width:300px}.performance-date input{padding-right:13px}.performance-profile form>.primary-button{width:max-content;min-height:50px}.performance-profile input:focus{outline:3px solid rgba(125,225,67,.22);border-color:#78d943}
.dual-bars{touch-action:pan-y;-webkit-user-select:none;user-select:none}.dual-bars>div.is-touch-active{background:rgba(55,136,239,.12);transform:translateY(-5px);outline:2px solid #4b9cff;outline-offset:3px}.dual-bars>div.is-touch-active section i{filter:brightness(1.22);box-shadow:0 0 22px rgba(50,136,239,.52)}.dual-bars>div.is-touch-active section b{filter:brightness(1.18)}
html[data-theme="dark"] .performance-profile fieldset,html[data-theme="dark"] .performance-fields input,html[data-theme="dark"] .performance-date input{background:#111d17;border-color:#2b4035;color:#edf6ef}html[data-theme="dark"] .performance-profile>header>span{background:#203b24;color:#acf37b}
@media(max-width:720px){.performance-profile{padding:21px 16px}.performance-profile>header{display:grid}.performance-profile h2{font-size:24px}.performance-profile>header>span{display:none}.performance-profile fieldset{padding:16px 12px}.performance-profile legend{align-items:flex-start}.performance-profile legend small{max-width:240px;line-height:1.4}.performance-fields,.performance-fields.two{grid-template-columns:1fr}.performance-profile form>.primary-button{width:100%}}
.rm-calculator{padding:20px;border:1px solid #a9d991;border-radius:16px;background:#f3faef;display:grid;gap:16px}.rm-calculator>div:first-child{display:grid;gap:5px}.rm-calculator>div:first-child strong{font-size:17px}.rm-calculator>div:first-child small{color:var(--muted);line-height:1.45}.rm-calculator>div:nth-child(2){display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:end}.rm-calculator label{display:grid;gap:7px;color:var(--muted);font-size:10px;font-weight:700}.rm-calculator label>div{position:relative}.rm-calculator input,.rm-calculator select{width:100%;min-height:47px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font-size:14px}.rm-calculator label>div input{padding-right:38px}.rm-calculator em{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:9px;font-style:normal}.rm-calculator button{min-height:47px;padding:0 15px;border:0;border-radius:10px;background:#0d1b2b;color:#fff;font-weight:750;cursor:pointer}.rm-calculator output{font-size:14px;font-weight:800;color:#397d20}
html[data-theme="dark"] .rm-calculator{background:#14251a;border-color:#355b3d}html[data-theme="dark"] .rm-calculator input,html[data-theme="dark"] .rm-calculator select{background:#0d1812;color:#edf6ef;border-color:#355044}
@media(max-width:720px){.rm-calculator>div:nth-child(2){grid-template-columns:1fr 1fr}.rm-calculator>div:nth-child(2) label:first-child,.rm-calculator button{grid-column:1/-1}}
.line-chart svg{cursor:crosshair}.line-chart circle.is-active-point{r:7px;filter:drop-shadow(0 0 7px currentColor)}.strength-legend{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:4px;color:var(--muted);font-size:9px}.strength-legend span{display:flex;align-items:center;gap:5px}.strength-legend i{width:9px;height:9px;border-radius:3px;background:#35dfae}.strength-legend span:nth-child(2) i{background:#a36dff}.strength-legend small{margin-left:auto;color:#3d91df;font-size:9px}

/* Krono Fit visual identity: AI Studio contributes behavior, never its palette. */
.objective-command{border-color:#294032;background:radial-gradient(circle at 100% 0,rgba(152,239,88,.16),transparent 38%),linear-gradient(135deg,#0b1b2a,#102132)}
.objective-copy p b{border-color:var(--lime);color:var(--lime)}
.objective-copy span strong,.objective-timeline header b{color:var(--lime)}
.objective-timeline article.active{border-color:var(--lime);background:#203a24;color:var(--lime)}
.command-kpis a,.command-kpis button{color:#397d22}
.dual-bars section i,.command-chart footer i{background:var(--lime)}
.engine-command-links a>b{border-color:var(--lime);background:#effbe7;color:#397d22}
.dual-bars>div:hover,.dual-bars>div:focus-visible,.dual-bars>div.is-touch-active{background:rgba(152,239,88,.11);outline-color:rgba(152,239,88,.72)}
.dual-bars>div:hover section i,.dual-bars>div:focus-visible section i,.dual-bars>div.is-touch-active section i{box-shadow:0 0 20px rgba(152,239,88,.48)}
.line-chart polygon[data-dynamic-strength]:first-of-type{fill:rgba(152,239,88,.17)}
.line-chart polyline[data-dynamic-strength]:first-of-type{stroke:var(--lime)}
.line-chart circle[data-series="squat"]{fill:var(--lime)}
.line-chart polygon[data-dynamic-strength]:nth-of-type(2){fill:rgba(255,107,53,.14)}
.line-chart polyline[data-dynamic-strength]:nth-of-type(2){stroke:#ff6b35}
.line-chart circle[data-series="deadlift"]{fill:#ff6b35}
.line-chart circle:hover,.line-chart circle:focus{filter:drop-shadow(0 0 7px var(--lime))}
.strength-legend i{background:var(--lime)}
.strength-legend span:nth-child(2) i{background:#ff6b35}
html[data-theme="dark"] .command-dashboard{--white:#101d17;--line:#294034;--ink:#f0f7f2;--muted:#9aaba0}
html[data-theme="dark"] .dashboard-greeting>a,html[data-theme="dark"] .command-kpis article,html[data-theme="dark"] .command-chart,html[data-theme="dark"] .engine-command-links a{background:#101d17;border-color:#294034}
html[data-theme="dark"] .grid-lines i{border-color:#30473a}
html[data-theme="dark"] .engine-command-links a>b{background:#203a24;color:var(--lime)}
.race-full-date{display:block;margin:-8px 0 14px;color:var(--muted);font-size:12px;font-weight:750;text-transform:capitalize}
@media(max-width:520px){.strength-legend{flex-wrap:wrap;justify-content:flex-start}.strength-legend small{width:100%;margin:0}}
.plan-included,.billing-included{display:block;margin:22px 0 10px;color:var(--muted);font:800 9px ui-monospace,monospace;letter-spacing:1px}.lp-pricing-grid article ul{display:grid;gap:0;margin:0 0 28px;padding:0;border-top:1px solid rgba(123,145,133,.24)}.lp-pricing-grid article li{min-height:55px;padding:12px 0;display:grid;grid-template-columns:25px 1fr;align-items:center;gap:9px;border-bottom:1px solid rgba(123,145,133,.18);line-height:1.4}.lp-pricing-grid article li b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e8f8df;color:#347d1e;font-size:12px}.lp-pricing-grid article.featured li b{background:#25402b;color:#a6f274}.lp-pricing-grid article li span{font-size:13px}.billing-intro{max-width:690px;margin:-8px 0 24px;color:var(--muted);line-height:1.55}.billing-dialog .pricing-grid article{display:flex;flex-direction:column}.billing-dialog .pricing-grid article>p{min-height:48px;color:var(--muted);line-height:1.5}.billing-dialog .pricing-grid ul{display:grid;gap:0;margin:0 0 22px;padding:0;list-style:none}.billing-dialog .pricing-grid li{min-height:47px;padding:9px 0;display:grid;grid-template-columns:24px 1fr;align-items:start;gap:8px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.45}.billing-dialog .pricing-grid li i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e7f7df;color:#347d1e;font-style:normal;font-weight:900}.billing-dialog .pricing-grid form{margin-top:auto}.billing-dialog .pricing-grid form button{width:100%;min-height:48px}
.billing-dialog .pricing-grid article.current-plan{border:2px solid var(--lime);box-shadow:0 0 0 4px color-mix(in srgb,var(--lime) 12%,transparent)}.current-plan-badge{align-self:flex-start;padding:7px 10px;border-radius:999px;background:var(--lime);color:#102016;font-size:10px;letter-spacing:.8px;font-style:normal;font-weight:850}.current-plan-button{width:100%;min-height:48px;margin-top:auto;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--muted);font-weight:800;opacity:1;cursor:default}
.billing-ending{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-8px 0 20px;padding:12px 14px;border:1px solid #d7a93e;border-radius:10px;background:#fff7df;color:#624b13;font-size:13px;font-weight:750}.billing-ending form{margin:0}.billing-ending button{white-space:nowrap;border:0;border-radius:8px;padding:9px 12px;background:#624b13;color:#fff;font-weight:800}html[data-theme="dark"] .billing-ending{background:#2b2411;color:#f5d77e;border-color:#745b1f}@media(max-width:600px){.billing-ending{align-items:stretch;flex-direction:column}.billing-ending button{width:100%}}
.meal-portions{margin:2px 0;color:var(--text);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.billing-payment-failed{border-color:#c76d50;background:#fff0eb;color:#71331f}.billing-payment-failed button{background:#8b3f28}html[data-theme="dark"] .billing-payment-failed{border-color:#9c513a;background:#311a14;color:#ffc3ae}
html[data-theme="dark"] .billing-dialog .pricing-grid li i{background:#213b26;color:#a7ef79}html[data-theme="dark"] .lp-pricing-grid article:not(.featured) li b{background:#e8f8df;color:#347d1e}
@media(max-width:720px){.lp-pricing-grid article li{min-height:52px}.lp-pricing-grid article li span{font-size:14px}.billing-dialog .pricing-grid article>p{min-height:0}.billing-dialog .pricing-grid li{font-size:13px}.billing-intro{font-size:13px}}
/* Production onboarding */
.onboarding-shell{min-height:100svh;padding:22px;max-width:1100px;margin:auto;color:var(--text,#eef7f2)}.onboarding-shell>header{display:flex;align-items:center;justify-content:space-between;max-width:760px;margin:auto}.onboarding-logo{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-weight:800}.onboarding-logo b{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#83ef4c;color:#09130d}.onboarding-progress{height:5px;max-width:760px;margin:18px auto 7vh;background:rgba(127,145,135,.2);border-radius:9px;overflow:hidden}.onboarding-progress i{display:block;height:100%;background:#83ef4c;transition:width .35s}.onboarding-card,.onboarding-result,.plan-building{max-width:760px;margin:auto}.onboarding-card>h1,.onboarding-result>h1,.plan-building h1{font-size:clamp(2.4rem,8vw,5rem);line-height:.98;letter-spacing:-.055em;margin:.25em 0}.onboarding-card>p,.onboarding-result>p,.plan-building>p{font-size:clamp(1rem,2vw,1.25rem);color:var(--muted,#99aaa1);line-height:1.55}.onboarding-question{margin-top:42px}.onboarding-question h2{font-size:clamp(1.5rem,4vw,2.3rem);margin-bottom:22px}.answer-option{display:block;margin:10px 0}.answer-option input{position:absolute;opacity:0;pointer-events:none}.answer-option span,.answer-number{display:block;width:100%;padding:19px 22px;border:1px solid rgba(130,156,142,.32);border-radius:17px;background:rgba(18,35,27,.65);color:inherit;font:inherit;cursor:pointer}.answer-option input:checked+span{border-color:#83ef4c;box-shadow:0 0 0 3px rgba(131,239,76,.14)}.answer-option.compact{display:inline-block;width:calc(33.333% - 8px);margin-right:6px}.onboarding-question .primary-button{width:100%;margin-top:25px;min-height:58px}.safety-copy,.trial-explainer{padding:18px;border:1px solid rgba(131,239,76,.3);border-radius:16px;background:rgba(131,239,76,.08)}.readiness-score{display:flex;align-items:end;margin:35px 0}.readiness-score strong{font-size:6rem;line-height:.8;color:#83ef4c}.preview-grid,.onboarding-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.preview-grid article,.onboarding-plans article{padding:22px;border:1px solid rgba(130,156,142,.28);border-radius:20px;background:rgba(18,35,27,.72)}.preview-grid b{display:block;margin-top:8px}.onboarding-plans{grid-template-columns:repeat(2,1fr);margin:30px 0}.onboarding-plans article.featured{border-color:#83ef4c}.onboarding-plans article>strong{display:block;font-size:2rem;margin:15px 0}.onboarding-plans small{font-size:.8rem}.onboarding-plans ul{padding:0;list-style:none;min-height:145px}.onboarding-plans li{margin:9px 0}.onboarding-plans button{width:100%}.plan-building{text-align:center;padding-top:14vh}.building-orbit{position:relative;display:grid;place-items:center;width:110px;height:110px;margin:0 auto 35px;border:1px solid rgba(131,239,76,.35);border-radius:50%}.building-orbit i{position:absolute;inset:-6px;border:3px solid transparent;border-top-color:#83ef4c;border-radius:50%;animation:kfspin 1s linear infinite}.building-orbit b{font-size:1.4rem}@keyframes kfspin{to{transform:rotate(360deg)}}html[data-theme=light] .onboarding-shell{color:#0c1912}html[data-theme=light] .answer-option span,html[data-theme=light] .answer-number,html[data-theme=light] .preview-grid article,html[data-theme=light] .onboarding-plans article{background:#fff;border-color:#cad7d0}@media(max-width:680px){.onboarding-shell{padding:18px}.preview-grid,.onboarding-plans{grid-template-columns:1fr}.answer-option.compact{width:calc(50% - 8px)}.onboarding-plans ul{min-height:0}.readiness-score strong{font-size:4.7rem}}
.marketing-consent{position:fixed;z-index:9999;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:920px;margin:auto;padding:18px 20px;border:1px solid var(--line,#33463e);border-radius:18px;background:var(--panel,#102019);color:var(--text,#f4faf6);box-shadow:0 18px 60px #0008}.marketing-consent p{margin:0;max-width:620px;line-height:1.45}.marketing-consent form{display:flex;gap:10px}.marketing-consent button{min-height:44px;padding:10px 16px;border-radius:12px;border:1px solid currentColor}@media(max-width:680px){.marketing-consent{align-items:stretch;flex-direction:column}.marketing-consent form{display:grid;grid-template-columns:1fr 1fr}}

/* Personalized handoff after secure checkout */
.plan-welcome-standalone{max-width:1240px;margin:0 auto 26px;padding:30px;display:grid;gap:24px;border-color:color-mix(in srgb,var(--lime) 42%,var(--line));background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--lime) 13%,transparent),transparent 35%),var(--surface)}
.plan-welcome-copy{max-width:790px}.plan-welcome-copy h2{margin:7px 0 10px;font-size:clamp(27px,3vw,43px);line-height:1.02;letter-spacing:-.045em}.plan-welcome-copy>p:last-child{margin:0;color:var(--muted);font-size:15px;line-height:1.55}
.plan-welcome-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.plan-welcome-facts span{min-width:0;min-height:88px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--soft);display:grid;align-content:center;gap:7px}.plan-welcome-facts small{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.9px;text-transform:uppercase}.plan-welcome-facts strong{font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.plan-welcome-action{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:4px}.plan-welcome-action p{max-width:720px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.plan-welcome-action .primary-button{flex:0 0 auto;min-width:230px;text-align:center;text-decoration:none}
.plan-welcome-nutrition{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(280px,1fr);gap:18px;padding:20px;border:1px solid color-mix(in srgb,var(--lime) 45%,var(--line));border-radius:17px;background:color-mix(in srgb,var(--lime) 7%,var(--surface))}.plan-welcome-nutrition h3{margin:5px 0 7px;font-size:21px}.plan-welcome-nutrition>div:first-child>p:last-child{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.plan-welcome-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.plan-welcome-macros span{padding:11px;border-radius:11px;background:var(--soft);display:grid;gap:3px}.plan-welcome-macros strong{font-size:15px}.plan-welcome-macros small{color:var(--muted);font-size:9px}.plan-welcome-days{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.plan-welcome-days span{padding:11px;border-top:1px solid var(--line);display:grid;gap:4px}.plan-welcome-days small{color:var(--muted);font-size:10px}.plan-welcome-days strong{font-size:12px;line-height:1.35}.plan-welcome-nutrition>a{grid-column:1/-1;justify-self:start;text-decoration:none}
.meal-row.is-pre-workout{margin:9px 0;padding:13px 10px;border:1px solid #d8a038;border-radius:12px;background:#fff8e7}.meal-timing{display:block;margin-bottom:2px;color:#80530a;font-size:9px;letter-spacing:.7px}html[data-theme="dark"] .meal-row.is-pre-workout{background:#29240f;border-color:#80651d}html[data-theme="dark"] .meal-timing{color:#ffd166}

/* Nutrition schedule: clear meal hierarchy and comfortable scanning. */
.meal-plan .panel-head{padding-bottom:18px;border-bottom:1px solid var(--line)}
.meal-plan .meal-row{min-height:104px;padding:18px 4px;gap:18px;align-items:center;border-top:0;border-bottom:1px solid var(--line)}
.meal-plan .meal-row:first-of-type{margin-top:0}
.meal-plan .meal-row:last-child{border-bottom:0}
.meal-plan .meal-row>div{gap:7px}
.meal-plan .meal-timing{margin:0 0 1px;color:#568044;font-size:10px;font-weight:850;letter-spacing:1.25px;text-transform:uppercase;line-height:1.3}
.meal-plan .meal-row strong{font-size:15px;line-height:1.35}
.meal-plan .meal-portions{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.meal-plan .meal-row small{font-size:11px;line-height:1.4}
.meal-plan .meal-row time{font-size:10px;text-align:center}
.meal-plan .meal-row.is-pre-workout{margin:12px 0;padding:18px 14px;border:1px solid #d8a038}
.nutrition-ai .ai-messages{scroll-behavior:smooth;overscroll-behavior:contain}
html[data-theme="dark"] .meal-plan .meal-timing{color:#a9df88}
@media(max-width:720px){.meal-plan .panel-head{padding-bottom:14px}.meal-plan .meal-row{grid-template-columns:48px minmax(0,1fr);min-height:0;padding:17px 0;gap:12px}.meal-plan .meal-row form{grid-column:2}.meal-plan .meal-row button{width:100%}.meal-plan .meal-row.is-pre-workout{padding:17px 12px}.meal-plan .meal-row strong{font-size:16px}.meal-plan .meal-portions{font-size:13px}}
@media(max-width:960px){.plan-welcome-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.plan-welcome-standalone{margin:0 12px 20px;padding:21px 16px}.plan-welcome-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-welcome-facts span{min-height:82px;padding:12px}.plan-welcome-action{align-items:stretch;flex-direction:column}.plan-welcome-action .primary-button{width:100%;min-width:0}.plan-welcome-copy h2{font-size:29px}.plan-welcome-nutrition{grid-template-columns:1fr;padding:16px}.plan-welcome-macros{grid-template-columns:repeat(2,1fr)}.plan-welcome-days{display:flex;overflow-x:auto}.plan-welcome-days span{flex:0 0 150px}.plan-welcome-nutrition>a{width:100%;text-align:center}}
