@font-face {
  font-family: Manrope;
  src: url('./assets/fonts/manrope-latin-ext-wght.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow Condensed';
  src: url('./assets/fonts/barlow-condensed-700-latin-ext.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: Manrope;
  src: url('./assets/fonts/manrope-latin-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  src: url('./assets/fonts/barlow-condensed-latin-700.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root {
  --bg: #0b0c0e;
  --panel: #151619;
  --panel2: #1d1f22;
  --border: #2a2c2f;
  --text: #f5f5f2;
  --muted: #95979b;
  --lime: #d1fa63;
  --blue: #afa4f9;
  --orange: #e9b7a1;
  --radius: 20px;
  font-family: Manrope, -apple-system, BlinkMacSystemFont, sans-serif;
}
body { font-size: 14px; background: #0b0c0e; }
button, input, select { font-family: inherit; }
h1, h2, h3 { font-family: Manrope, sans-serif; }
h1 { font-weight: 700; font-size: 36px; letter-spacing: -1.6px; }
h2 { font-weight: 650; }
.eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 1.6px; }
.tiny { font-size: 11px; }
.card { border-color: #292b2e; background: linear-gradient(145deg, #18191c, #141518); border-radius: 20px; }
.primary { background: var(--lime); color: #19200e; font-weight: 800; min-height: 48px; border-radius: 10px; font-size: 13px; }
.primary:hover { box-shadow: 0 5px 24px #c8fa6330; }
.primary:active, .secondary:active { transform: scale(.98); }
.secondary { border-color: #393b3f; background: #ffffff03; color: #f1f2ec; font-size: 12px; min-height: 46px; }
.text-link { font-size: 11px; font-weight: 650; }
.section-title { margin-bottom: 20px; }
.section-title h2 { font-size: 17px; font-weight: 700; letter-spacing: -.5px; }
.section-title > .text-link { font-size: 11px; }
.icon-button { color: #bfc0c3; }
.sidebar { width: 228px; padding: 37px 22px 25px; background: #0f1012; border-color: #24262a; }
.brand { gap: 10px; font-family: Manrope, sans-serif; font-size: 27px; font-style: normal; letter-spacing: -1.7px; font-weight: 800; }
.brand > span:last-child { position: relative; }
.brand-mark { width: 29px; height: 29px; background: none; color: var(--lime); border-radius: 0; }
.brand-mark > svg { width: 27px; height: 27px; }
.brand-period { font-size: 8px; position: absolute; top: 3px; right: -10px; margin: 0; color: #d4d5d2; }
.sidebar-caption { font-size: 6.5px; letter-spacing: 2px; color: #5d6167; margin: 12px 0 38px; }
.nav-caption { font-size: 8px; letter-spacing: 1.7px; color: #5c6067; margin: 0 0 12px 13px; font-weight: 700; }
.explore-caption { margin-top: 29px; }
.sidebar nav { gap: 5px; }
.sidebar nav a { font-size: 12px; min-height: 45px; padding: 12px 13px; border-radius: 9px; color: #979ba1; gap: 13px; }
.sidebar nav a svg { width: 19px; height: 19px; }
.sidebar nav a.active { padding: 12px 13px; color: #e8f8c5; border: 0; background: #d1fa6312; box-shadow: inset 2px 0 var(--lime); }
.sidebar nav a.active:after { width: 4px; height: 4px; }
.sidebar-program { display: flex; flex-direction: column; margin-top: 40px; padding: 16px; border: 1px solid #353b2c; border-radius: 12px; background: linear-gradient(135deg, #d1fa630a, transparent); gap: 10px; }
.sidebar-program .eyebrow { font-size: 6.5px; color: #939f80; letter-spacing: 1px; }
.sidebar-program strong { font-size: 13px; letter-spacing: -.3px; }
.sidebar-program > span:last-child { display: flex; align-items: center; gap: 5px; font-size: 9px; color: #939d85; }
.sidebar-program > span:last-child svg:last-child { margin-left: auto; color: var(--lime); }
.sidebar-bottom { padding-top: 35px; }
.sidebar-bottom > a { border-top: 1px solid #292b2f; padding: 18px 0; font-size: 11px; }
.demo-label { padding-top: 12px; font-size: 6.5px; letter-spacing: 1px; color: #69715d; }
.workspace { margin-left: 228px; }
.topbar { height: 77px; padding: 0 38px; border-color: #222428; }
.breadcrumb { color: #555a60; font-size: 9px; letter-spacing: 1.5px; }
.breadcrumb strong { color: #93969b; font-size: 11px; }
.topbar-actions { gap: 17px; }
.local-pill { font-size: 8px; font-weight: 600; letter-spacing: 1px; color: #9c9f95; }
.local-pill i { width: 4px; height: 4px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 10px #d1fa6340; }
.avatar { color: #dfe4d4; border-color: #41483a; background: radial-gradient(at 30% 20%, #586048, #252a22); font-size: 12px; width: 35px; height: 35px; }
main { padding: 34px 38px 25px; max-width: 1500px; }
.page-title { margin-bottom: 29px; }
.page-title .eyebrow { font-size: 9px; color: #7e838b; margin-bottom: 12px; }
.page-title .muted { color: #91949a; font-size: 12px; }
.page-footer { border-color: #25272b; color: #555a60; font-size: 8px; margin-top: 36px; padding-top: 21px; }
.home-heading { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin: 1px 0 29px; }
.home-heading .eyebrow { font-size: 9px; letter-spacing: 1.7px; color: #8e9398; margin-bottom: 9px; }
.home-heading h1 { font-size: 35px; font-weight: 700; line-height: 1.2; }
.home-heading p:not(.eyebrow) { font-size: 12px; color: #868a91; margin-top: 9px; }
.personalize-link { font-size: 10px; display: inline-flex; align-items: center; gap: 8px; padding: 11px 13px; color: #b6c59e; border: 1px solid #353d2b; background: #c6f26504; border-radius: 7px; flex-shrink: 0; }
.personalize-link svg { width: 14px; height: 14px; }
.home-layout { display: grid; grid-template-columns: minmax(0, 1fr) 307px; gap: 25px; }
.home-primary, .home-secondary { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.performance-hero { border: 1px solid #3a3d35; border-radius: 20px; min-height: 388px; position: relative; overflow: hidden; isolation: isolate; padding: 26px; display: flex; flex-direction: column; background: #17191a; }
.hero-photo { position: absolute; inset: 0; z-index: -3; background: url('./assets/athlete-v2.png') 68% 40% / cover; }
.hero-photo:after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0b0c0e55, transparent 80%), linear-gradient(0deg, #0b0c0ec9, transparent 65%); }
.hero-grain { position: absolute; inset: 0; z-index: -2; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.18' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); opacity: .15; pointer-events: none; mix-blend-mode: screen; }
.performance-hero-top { display: flex; justify-content: space-between; align-items: center; }
.workout-tag { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #d1fa6336; color: #dcf9ab; background: #23282050; border-radius: 5px; font-size: 7px; letter-spacing: 1px; padding: 7px 9px; backdrop-filter: blur(10px); font-weight: 700; }
.workout-tag > i { width: 4px; height: 4px; border-radius: 50%; background: var(--lime); }
.hero-edition { font-size: 9px; color: #e9eadc88; letter-spacing: 2px; }
.performance-hero-copy { margin-top: 35px; }
.hero-kicker { font-size: 8px; letter-spacing: 2px; color: #b3b9b1; font-weight: 650; }
.performance-hero h2 { font-family: 'Barlow Condensed', Impact, sans-serif; font-size: clamp(50px, 5.6vw, 80px); font-weight: 700; line-height: .94; letter-spacing: -1.3px; margin: 13px 0 17px; }
.performance-hero h2 em { color: var(--lime); font-style: normal; }
.performance-hero-copy > p { font-size: 13px; font-weight: 650; color: #e2e4df; }
.performance-meta { display: flex; align-items: center; gap: 17px; color: #a7acaa; font-size: 9px; margin-top: 10px; }
.performance-meta > span { display: inline-flex; align-items: center; gap: 5px; }
.performance-meta > span:last-child { border-left: 1px solid #8a8e8150; padding-left: 14px; }
.performance-hero-bottom { display: flex; gap: 12px; align-items: center; margin-top: 24px; }
.hero-start { padding: 12px 18px; min-height: 45px; gap: 20px; font-size: 11px; }
.hero-start svg { width: 14px; fill: currentColor; stroke-width: 0; }
.hero-details { width: 44px; height: 44px; border: 1px solid #ffffff40; border-radius: 50%; display: grid; place-items: center; color: #e0e4d9; margin-left: auto; backdrop-filter: blur(10px); background: #10130c40; }
.performance-strip { display: grid; grid-template-columns: 1fr 1fr 1fr; border-bottom: 1px solid #2c2e32; padding: 2px 0 24px; gap: 17px; }
.performance-strip > div, .performance-strip > a { display: flex; flex-direction: column; gap: 10px; padding: 0 0 0 18px; border-left: 1px solid #2b2d31; min-width: 0; }
.performance-strip > :first-child { padding-left: 2px; border-left: 0; }
.strip-label { display: flex; align-items: center; gap: 6px; font-size: 7px; letter-spacing: .8px; font-weight: 650; color: #999da4; white-space: nowrap; }
.strip-label svg { color: #a7b58f; height: 14px; width: 14px; }
.performance-strip strong { font-family: Manrope, sans-serif; font-size: 32px; font-weight: 650; letter-spacing: -1.5px; display: flex; align-items: baseline; gap: 5px; line-height: 1.1; }
.performance-strip strong small { font-family: Manrope, sans-serif; font-size: 9px; font-weight: 400; color: #7d8189; letter-spacing: 0; }
.strip-progress { height: 3px; width: 100%; max-width: 112px; display: block; border-radius: 3px; background: #31372b; margin-top: 5px; }
.strip-progress i { display: block; background: var(--lime); height: 100%; border-radius: 3px; }
.strip-change { color: #bbdb8b; font-size: 9px; white-space: nowrap; }
.strip-change > span { color: #6b7277; font-size: 7px; margin-left: 4px; }
.strip-caption { font-size: 8px; color: #777e85; }
.training-week { padding: 0 1px; }
.training-week .section-title { margin-bottom: 17px; }
.training-week .section-title h2 { font-size: 17px; }
.training-week .week-strip { gap: 8px; }
.training-week .week-day { padding: 11px 0 9px; border: 1px solid #282b30; background: #17191c; border-radius: 11px; gap: 8px; }
.training-week .week-day.today { border-color: var(--lime); background: var(--lime); color: #1a210f; }
.training-week .week-day > span:first-child { text-transform: uppercase; font-size: 8px; font-weight: 600; color: #8f949d; }
.training-week .week-day strong { font-size: 19px; font-weight: 650; color: #e4e6e3; }
.training-week .week-day.today strong, .training-week .week-day.today > span:first-child { color: #1d2810; }
.training-week .week-day.today .day-dot:empty:after { background: #3c5126; }
.training-week .day-dot.done { width: 12px; height: 12px; }
.week-summary { display: flex; align-items: center; gap: 7px; margin-top: 15px; font-size: 9px; color: #969e8b; }
.week-summary > :last-child { margin-left: auto; font-size: 6px; color: #626974; letter-spacing: .5px; }
.home-coach { position: relative; display: flex; align-items: center; gap: 26px; padding: 27px; border-radius: 17px; background: radial-gradient(ellipse at 3% 50%, #c7ed6a10, transparent 70%), #15181a; border: 1px solid #3a4430; overflow: hidden; }
.coach-orb { width: 74px; height: 74px; position: relative; display: grid; place-items: center; color: var(--lime); flex-shrink: 0; }
.coach-orb i { position: absolute; inset: 0; border: 1px solid #d1fa6360; border-radius: 50%; transform: rotate(35deg) scaleX(.45); }
.coach-orb i:nth-child(2) { transform: rotate(-35deg) scaleX(.45); }
.coach-orb i:nth-child(3) { transform: rotate(90deg) scaleX(.45); }
.home-coach .eyebrow { font-size: 7px; letter-spacing: 1px; color: #b6c89b; }
.home-coach .eyebrow b { font-size: 5px; color: #81906e; font-weight: 500; border: 1px solid #9caf752b; border-radius: 3px; padding: 3px 5px; margin-left: 5px; letter-spacing: .5px; }
.home-coach h2 { font-size: 21px; font-weight: 650; margin: 9px 0; letter-spacing: -.8px; }
.home-coach p { font-size: 10px; color: #899185; max-width: 320px; }
.home-coach .text-link { min-height: 25px; font-size: 10px; margin-top: 10px; }
.coach-watermark { position: absolute; right: -7px; top: -55px; font-family: 'Barlow Condensed', Impact, sans-serif; font-size: 270px; line-height: 1; color: #c9f37203; pointer-events: none; }
.discover-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.discover-tile { padding: 20px; display: flex; flex-direction: column; min-height: 217px; position: relative; overflow: hidden; border: 1px solid #33373a; border-radius: 14px; isolation: isolate; }
.strength-tile { background: #171b1c; }
.strength-tile:before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #0e10117d, #0e101130), url('./assets/gym.jpg') 60% 50% / cover; filter: grayscale(1) brightness(.55); }
.tile-tag { font-size: 6px; letter-spacing: 1.3px; color: #babfb3; font-weight: 700; }
.discover-tile strong { font-family: 'Barlow Condensed', Impact, sans-serif; font-size: 43px; letter-spacing: -.5px; line-height: .95; margin-top: 30px; }
.discover-tile > span:last-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 8px; margin-top: auto; padding-top: 22px; color: #c0c4b9; }
.discover-tile > span:last-child i { font-style: normal; }
.transformation-tile { background: radial-gradient(at 100% 0, #d1fa6314, transparent 60%), #20251b; border-color: #424b33; color: #d7e9b9; }
.transformation-tile:after { content: ''; position: absolute; width: 160px; height: 200px; right: -48px; top: 30px; z-index: -1; border: 1px solid #d1fa6315; border-radius: 22px; transform: rotate(23deg); box-shadow: -20px 10px 0 -1px #20251b, -20px 10px 0 0 #d1fa6310, -40px 20px 0 -1px #20251b, -40px 20px 0 0 #d1fa630b; }
.fuel-card { padding: 23px; }
.fuel-card .section-title { margin-bottom: 7px; }
.fuel-card .section-title h2 { font-size: 16px; }
.fuel-intro { display: flex; align-items: center; justify-content: space-between; color: #797d84; gap: 8px; }
.fuel-intro > span:first-child { font-size: 8px; }
.fuel-percent { font-size: 8px; color: #c9d9b1; border: 1px solid #424b35; border-radius: 4px; padding: 2px 5px; }
.fuel-ring { margin: 27px 0 24px; display: flex; justify-content: center; position: relative; flex-direction: column; align-items: center; }
.fuel-ring .ring { --size: 159px !important; padding: 7px; background: conic-gradient(var(--lime) 0 var(--progress), #2d3031 var(--progress) 100%); box-shadow: 0 0 35px #d1fa6307; }
.fuel-ring .ring > div { background: #16171a; }
.fuel-ring .ring strong { font-size: 35px; font-weight: 650; letter-spacing: -1.7px; }
.fuel-ring .ring span { font-size: 9px; color: #747b80; }
.fuel-ring-caption { display: flex; flex-direction: column; align-items: center; gap: 5px; margin-top: 19px; }
.fuel-ring-caption > span { font-size: 6px; color: #72797f; letter-spacing: 1px; }
.fuel-ring-caption > strong { color: #c2c8bb; font-size: 12px; font-weight: 500; }
.fuel-ring-caption small { color: #767e73; font-size: 9px; }
.fuel-macros { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; padding-bottom: 23px; }
.fuel-macros > div { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.fuel-macros .dot { width: 5px; height: 5px; margin-bottom: 2px; }
.fuel-macros strong { font-size: 20px; font-weight: 600; letter-spacing: -.8px; }
.fuel-macros strong > small { font-size: 9px; font-weight: 400; margin-left: 3px; color: #93978e; letter-spacing: 0; }
.fuel-macros > div > span:last-of-type { font-size: 8px; color: #90958c; }
.fuel-macros i { display: block; height: 3px; width: 100%; background: linear-gradient(90deg, var(--macro-color) var(--fill), #303337 var(--fill)); border-radius: 3px; margin-top: 6px; }
.fuel-card > .secondary { font-size: 10px; min-height: 41px; }
.fuel-remaining { font-size: 7px; color: #6d746a; text-align: center; margin-top: 12px; }
.hydration-card { padding: 23px; }
.hydration-card .section-title h2 { font-size: 16px; }
.water-icon { color: #a4bfd6; }
.hydration-body { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 19px 0; }
.hydration-body > div:first-child { display: flex; flex-direction: column; }
.hydration-body .eyebrow { font-size: 7px; color: #8096a1; letter-spacing: 1.4px; }
.hydration-body strong { font-size: 32px; letter-spacing: -1.5px; font-weight: 650; line-height: 1.4; margin: 5px 0 3px; }
.hydration-body strong small { font-size: 11px; color: #7a8289; letter-spacing: 0; font-weight: 400; margin-left: 5px; }
.hydration-body .muted { font-size: 8px; color: #747e86; }
.water-vessel { position: relative; width: 60px; height: 77px; border: 1px solid #91b8d43b; background: #a5bfd90a; border-radius: 7px 7px 18px 18px; overflow: hidden; display: grid; place-items: center; }
.water-vessel > div { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(#9dbfd766, #9dbfd71a); border-top: 1px solid #c5e5f5a0; transition: height .5s; }
.water-vessel > div:before { content: ''; position: absolute; width: 100px; height: 20px; background: #b7d6e52b; border-radius: 50%; left: -20px; top: -11px; transform: rotate(-8deg); }
.water-vessel > span { position: relative; font-size: 16px; color: #d0e2ee; font-weight: 600; }
.water-vessel small { font-size: 8px; margin-left: 2px; font-weight: 400; }
.hydration-controls { display: flex; gap: 9px; }
.hydration-controls > .secondary { flex: 1; font-size: 10px; min-height: 40px; }
.hydration-controls > .icon-button { min-height: 40px; min-width: 40px; border: 1px solid #30373c; border-radius: 8px; }
.checkin-card { padding: 23px; }
.checkin-card .eyebrow { font-size: 7px; letter-spacing: 1.4px; color: #7d8387; }
.checkin-card h2 { font-size: 16px; margin: 10px 0 20px; line-height: 1.5; letter-spacing: -.5px; }
.mood-options { display: flex; gap: 8px; }
.mood-options button { flex: 1; border: 1px solid #33363a; border-radius: 9px; display: flex; flex-direction: column; gap: 9px; align-items: center; padding: 12px 5px; background: #1a1c20; color: #91999b; min-height: 70px; }
.mood-options button > span { font-size: 8px; font-weight: 500; }
.mood-options button.selected { background: #d1fa6310; border-color: #a0bc5e; color: #d1fa63; }
.checkin-card > p { font-size: 8px; margin-top: 15px; color: #6c7478; }
.home-progress-card { border: 1px solid #363e2f; border-radius: 17px; min-height: 188px; padding: 24px; position: relative; overflow: hidden; background: #181e15; }
.home-progress-card .eyebrow { font-size: 7px; color: #859b6f; letter-spacing: 1.5px; }
.home-progress-card h2 { font-size: 24px; letter-spacing: -.8px; line-height: 1.2; margin: 17px 0; }
.home-progress-card div > span:last-child { color: #c8e79d; font-size: 9px; display: flex; align-items: center; gap: 10px; }
.home-progress-card > svg { position: absolute; bottom: -8px; right: -30px; width: 200px; height: 80px; color: #d1fa6350; pointer-events: none; }
.home-secondary > .demo-note { font-size: 8px; color: #687168; }
.plan-banner { position: relative; padding: 30px; background: linear-gradient(90deg, #131517f0, #13151720), url('./assets/athlete-v2.png') 65% 45% / cover; border: 1px solid #3d4434; border-radius: 18px; overflow: hidden; min-height: 210px; }
.plan-banner .eyebrow { color: #c0d997; font-size: 8px; }
.plan-banner h2 { font-size: 31px; letter-spacing: -1.2px; margin: 20px 0 10px; }
.plan-banner p { font-size: 10px; color: #9ca695; }
.plan-banner p b { margin: 0 6px; font-weight: 400; }
.plan-completion { display: inline-flex; align-items: center; gap: 7px; font-size: 8px; color: #d4e5bc; margin-top: 22px; padding: 5px 8px; border: 1px solid #c7e69c2f; border-radius: 4px; background: #12190d80; }
.plan-banner-symbol { font-family: 'Barlow Condensed', Impact, sans-serif; font-size: 240px; line-height: 1; font-weight: 800; opacity: .025; position: absolute; right: 20px; top: -35px; pointer-events: none; }
.training-days > button { background: #181a1d; border-color: #313439; color: #848b90; border-radius: 10px; }
.training-days > button > strong { font-size: 25px; }
.training-days > button.selected { background: var(--lime); border-color: var(--lime); color: #1c260e; }
.exercise-row { background: #16181b; border-color: #2d3034; border-radius: 13px; padding: 15px; gap: 16px; }
.exercise-thumb { height: 60px; width: 60px; background: linear-gradient(#14181c15, #14181c70), url('./assets/athlete-v2.png') 86% 34% / 230%; border: 1px solid #ffffff10; border-radius: 9px; position: relative; }
.exercise-thumb svg { position: absolute; bottom: 3px; left: 3px; width: 15px; height: 15px; color: #d9ebc4; background: #10150d90; padding: 2px; border-radius: 3px; }
.thumb-1 { background-image: linear-gradient(#14181c15, #14181c70), url('./assets/gym.jpg'); background-position: 45% 50%; background-size: cover; }
.thumb-2 { background-position: 95% 11%; }
.thumb-3 { background-position: 75% 60%; }
.exercise-copy small { font-size: 8px; color: #777f87; }
.exercise-copy strong { font-size: 13px; font-weight: 650; margin: 3px 0; color: #f1f2ef; }
.exercise-copy > span { font-size: 10px; color: #a1aa98; }
.exercise-open { margin-left: auto; color: #a6b891; min-height: 36px; min-width: 30px; display: grid; place-items: center; }
.training-focus { border: 1px solid #393e32; border-radius: 18px; background: radial-gradient(at 100% 100%, #d1fa6310, transparent 60%), #171b16; padding: 28px; }
.training-focus .eyebrow { font-size: 7px; color: #8d9c7a; letter-spacing: 1.4px; }
.training-focus h2 { font-family: 'Barlow Condensed', Impact, sans-serif; font-size: 58px; font-weight: 700; line-height: .96; margin: 35px 0 23px; letter-spacing: -.8px; }
.training-focus h2 em { color: var(--lime); font-style: normal; }
.training-focus p { color: #8a9680; font-size: 11px; line-height: 1.9; }
.focus-rule { display: block; margin-top: 55px; padding-top: 16px; border-top: 1px solid #404d323b; font-size: 7px; color: #788967; letter-spacing: 1px; }
.exercise-visual { background: linear-gradient(90deg, #111418b8, #11141833), url('./assets/athlete-v2.png') 70% 39% / cover; min-height: 235px; border-color: #42483a; }
.exercise-visual-grid { display: none; }
.dumbbell-art { opacity: .18; transform: none; filter: none; }
.movement-label { color: #e0e5d5; z-index: 1; font-weight: 600; letter-spacing: 1px; font-size: 9px; padding: 6px 10px; background: #0a0e09a3; border-radius: 6px; backdrop-filter: blur(8px); }
.exercise-visual > .eyebrow { color: #e8f0df; font-size: 9px; }
.set-table { background: #15181c; }
.set-table-head { color: #8a929a; font-size: 9px; }
.set-row { border-color: #2b3035; }
.set-row input { background: #1c2025; border-color: #3b434a; color: #edf1e8; font-family: Manrope, sans-serif; font-size: 20px; }
.set-row input:disabled { background: #d1fa630a; border-color: #d1fa6330; }
.set-check { border-color: #424e36; background: #252e1e; }
.rest-timer { background: radial-gradient(ellipse at 50% 40%, #d1fa6308, transparent 75%), #15171b; }
.timer-circle { background: #11151b; border-color: #d1fa634a; outline-color: #d1fa6310; box-shadow: inset 0 0 30px #d1fa6303, 0 0 30px #d1fa6304; }
.timer-circle > span { font-family: 'Barlow Condensed', Impact, sans-serif; font-size: 66px; letter-spacing: 1px; }
.timer-circle small { font-size: 10px; }
.nutrition-overview { background: radial-gradient(ellipse at 10% 30%, #d1fa6309, transparent 70%), #15171a; }
.nutrition-overview > .eyebrow { color: #b5c997; }
.nutrition-main-ring .ring > div { background: #171b17; }
.nutrition-main-ring .ring strong { font-size: 44px; font-weight: 650; }
.nutrition-main-ring > div:last-child h2 { font-size: 47px; font-weight: 600; }
.macro > div:first-child { font-size: 11px; color: #8e9893; }
.macro strong { color: #ecf0e5; }
.track { background: #2b3032; }
.meal-row { padding: 19px; border-radius: 14px; background: #16181c; gap: 15px; }
.meal-row h3 { font-size: 13px; font-weight: 650; margin: 4px 0; }
.meal-symbol { background: #d1fa630a; color: #b9d68b; border: 1px solid #d1fa6315; width: 49px; height: 49px; border-radius: 12px; }
.meal-row:nth-child(2) .meal-symbol { background: #afa4f90c; color: #c1b5ef; border-color: #afa4f919; }
.meal-row:nth-child(3) .meal-symbol { background: #e9b7a10c; color: #dcbda2; border-color: #e9b7a119; }
.meal-calories strong { font-size: 22px; font-weight: 600; }
.water-card { background: radial-gradient(ellipse at 100% 0, #a5bfd90a, transparent 60%), #15171b; }
.water-card .water-number { font-size: 38px; }
.water-card .water-number span { color: #889ba9; }
.coach-window { border-color: #343a34; background: #13171a; border-radius: 22px; box-shadow: 0 10px 60px #0002; }
.coach-header { background: radial-gradient(ellipse at 20% 0, #d1fa6308, transparent 80%); border-color: #2d3431; padding: 24px 28px; }
.coach-header .coach-symbol { background: #d1fa630c; border-color: #d1fa6330; border-radius: 50%; width: 48px; height: 48px; box-shadow: 0 0 25px #d1fa6308; }
.coach-header h2 { font-size: 18px; font-weight: 700; }
.coach-header .tiny { font-size: 9px; }
.simulation-badge { font-size: 7px; color: #c3d398; border-color: #9dad6b38; background: #d1fa6305; }
.chat-messages { background: radial-gradient(ellipse at 0 0, #d1fa6302, transparent 60%), #101417; }
.chat-message { font-size: 13px; line-height: 1.8; }
.chat-message > div { background: #1a2022; border-color: #333c34; padding: 19px 21px; }
.user-message > div { background: #cbed8a; color: #17210f; }
.chat-label { font-size: 8px; color: #b3c999; }
.chat-avatar { background: #d1fa630d; border: 1px solid #d1fa6320; }
.quick-prompts button { background: #1a211b; border-color: #38472f; color: #b7caa6; min-height: 42px; font-size: 10px; }
.chat-composer { border-color: #46563d; background: #0c1114; border-radius: 13px; }
.chat-composer input { background: none !important; border: 0 !important; }
.chat-disclaimer { font-size: 9px; color: #798775; }
.progress-stats .mini-stat { padding: 26px; background: #16191c; min-height: 158px; gap: 15px; }
.progress-stats .mini-stat > .muted { font-size: 11px; }
.progress-stats .mini-stat > strong { font-size: 38px; font-weight: 650; }
.progress-stats .mini-stat strong small { font-size: 12px; }
.progress-stats .mini-stat > .tiny { font-size: 9px; }
.chart-card { padding: 27px; background: #14181b; }
.chart-card .segmented { background: #101417; border-color: #354138; }
.segmented button { min-height: 34px; font-size: 10px; }
.segmented button.selected { color: var(--lime); background: #d1fa6310; }
.history-row { background: #15191d; border-color: #2c3338; }
.history-row .exercise-art { background: #cbed8a09; border-color: #cbed8a20; color: #b2c891; }
.photo-promo { border-color: #414c35; background: linear-gradient(0deg, #121910ef, #121910ad), url('./assets/athlete-v2.png') 75% 40% / cover; min-height: 325px; }
.photo-promo .large-symbol { color: #d1fa63; }
.measurement-history { background: #15191c; }
.measurement-line { border-color: #2c3335; }
.privacy-banner { border-color: #394a34; background: #cbed8a06; }
.privacy-banner strong { color: #d8e6c4; }
.privacy-banner span { color: #92a58c; }
.photo-empty { background: radial-gradient(ellipse at 50% 0, #d1fa630c, transparent 65%), #13181b; position: relative; overflow: hidden; }
.photo-empty:after { content: 'YOUR STORY'; position: absolute; left: 0; right: 0; bottom: 0; font-family: 'Barlow Condensed', Impact, sans-serif; font-weight: 700; letter-spacing: -3px; font-size: 120px; white-space: nowrap; line-height: 1; color: #d1fa6304; pointer-events: none; }
.photo-outline { width: 110px; height: 125px; border-color: #c9e99b60; box-shadow: 8px -5px #c9e99b03, 9px -6px 0 0 #c9e99b19; border-radius: 16px; }
.photo-empty h2 { font-size: 37px; font-weight: 650; letter-spacing: -1.6px; }
.photo-entry { background: #171c20; }
.library-intro { border: 1px solid #d1fa63; border-radius: 18px; position: relative; overflow: hidden; min-height: 260px; margin-bottom: 28px; padding: 28px 32px; background: #d1fa63; color: #19230e; isolation: isolate; }
.library-intro:before { content: 'X'; position: absolute; right: 13px; top: -90px; z-index: -1; font-family: 'Barlow Condensed', Impact, sans-serif; font-size: 470px; line-height: 1; color: transparent; -webkit-text-stroke: 1px #19230e25; transform: rotate(14deg); }
.library-intro > .eyebrow { color: #536934; font-size: 8px; }
.library-intro > strong { display: block; font-family: 'Barlow Condensed', Impact, sans-serif; font-weight: 700; font-size: 76px; line-height: .94; letter-spacing: -.5px; margin-top: 26px; }
.library-intro > strong em { font-style: normal; color: #19230e; }
.library-intro > p { font-size: 11px; color: #566e36; margin-top: 17px; }
.collection-number { position: absolute; bottom: 27px; right: 25px; font-size: 8px; color: #5b733d; letter-spacing: 2px; }
.filter-chips > button { font-size: 11px; border-color: #393e3c; color: #939c97; padding: 10px 24px; min-height: 43px; }
.filter-chips > button.selected { background: #e3edcf; border-color: #e3edcf; color: #1b2116; }
.library-card { background: #161a1d; border-color: #323935; color: #f3f5ee; padding: 0; }
.program-art { min-height: 290px; background: linear-gradient(90deg, #10171730, transparent), url('./assets/athlete-v2.png') 80% 30% / cover; border-color: #2e3530; padding: 24px; }
.program-art > .eyebrow { position: relative; left: auto; top: auto; display: inline-block; font-size: 7px; color: #e4eccf; padding: 5px 7px; border: 1px solid #d1fa6326; border-radius: 4px; backdrop-filter: blur(8px); background: #151b1070; }
.program-art-title { display: block; font-family: 'Barlow Condensed', Impact, sans-serif; font-size: 58px; font-weight: 700; line-height: .92; letter-spacing: -.3px; color: #eff5e5; position: relative; margin-top: 30px; }
.program-art-number { font-family: 'Barlow Condensed', Impact, sans-serif; font-size: 220px; color: #eff5e5; right: 10px; top: 20px; opacity: .08; letter-spacing: -4px; }
.program-level { font-size: 8px; left: 25px; bottom: 20px; color: #d3dbc8; }
.active-program-tag { position: absolute; bottom: 20px; right: 19px; display: flex; align-items: center; gap: 5px; font-size: 6px; color: #d1fa63; font-weight: 600; letter-spacing: .8px; }
.library-body { padding: 25px; }
.library-body h2 { font-size: 25px; font-weight: 650; }
.library-body > p { font-size: 11px; }
.library-start .program-art { background: linear-gradient(90deg, #111b1f80, #111b1f35), url('./assets/gym.jpg') center / cover; }
.library-flow .program-art { background: radial-gradient(ellipse at 80% 40%, #ada2db35, transparent 45%), repeating-radial-gradient(ellipse at 100% 100%, transparent 0 24px, #c5afe114 25px 26px), #221e2c; }
.library-flow .program-art-title { color: #dcd3f3; }
.library-home .program-art { background: linear-gradient(90deg, #231a11c9, #231a1180), url('./assets/gym.jpg') 65% 65% / cover; }
.library-home .program-art-title { color: #f0d2ad; }
.profile-summary { background: radial-gradient(at 0 50%, #d1fa6308, transparent 60%), #161a1d; border-color: #343e30; }
.avatar.large { background: linear-gradient(145deg, #5b684a, #293323); border-color: #74845e; color: #dfecc8; }
.profile-summary h2 { font-size: 29px; font-weight: 650; }
.profile-summary .badge { border-color: #c4e0a92b; color: #b6cb9b; font-size: 7px; }
.form-card { background: #15191d; }
label { color: #acb5b7; font-size: 12px; }
input:not([type=checkbox]):not([type=radio]):not([type=range]), select { border-color: #3b4346; background: #10151a; color: #edf0e8; min-height: 48px; }
input::placeholder { color: #707c83; }
.form-card h3 { font-size: 17px; }
.setting-row { border-color: #30383b; }
.setting-row strong { font-size: 12px; }
.setting-row span { font-size: 10px; color: #7f8c91; }
.settings-card { background: #151a1e; }
.switch { background: #2c383d; border-color: #4c5d5a; }
.switch:checked { background: var(--lime); border-color: var(--lime); }
.connection-card { background: #151d16; border-color: #344d33; }
.connection-card p { font-size: 12px; color: #a0b393; }
.onboarding { gap: 40px; align-items: stretch; min-height: 700px; }
.onboarding-intro { border: 1px solid #414a38; border-radius: 20px; overflow: hidden; padding: 35px 30px; display: flex; flex-direction: column; background: linear-gradient(0deg, #0b1111f0, #0b111110 90%), url('./assets/athlete-v2.png') 75% 20% / cover; }
.onboarding-intro:before { display: none; }
.onboarding-intro > .brand { font-size: 20px; }
.onboarding-intro h2 { font-family: 'Barlow Condensed', Impact, sans-serif; font-size: 65px; font-weight: 700; line-height: .95; text-transform: uppercase; letter-spacing: -.7px; margin-top: auto; margin-bottom: 25px; }
.onboarding-intro > p { font-size: 12px; color: #b4c2a8; }
.onboarding-intro > .eyebrow { margin-top: 35px; font-size: 8px; color: #b2ca8e; }
.onboarding-form { background: #151a1d; border-color: #343e37; align-self: center; }
.onboard-step { color: var(--lime); font-size: 21px; }
.onboard-progress i { background: #354332; }
.onboard-progress i.filled { background: var(--lime); }
.choice { border-color: #38463e; background: #131a1a; min-height: 60px; }
.choice:has(input:checked) { background: #d1fa630b; border-color: #b0ce78; }
.onboard-insight { background: #d1fa6306; border-color: #394c35; color: #a3b692; }
dialog { background: #151b1f; border-color: #485144; box-shadow: 0 30px 130px #000b; }
dialog::backdrop { background: #060a0dc9; backdrop-filter: blur(12px); }
.modal-heading h2 { font-size: 24px; font-weight: 650; }
.modal-form { gap: 21px; }
.more-menu > a { border-color: #303d3c; min-height: 65px; }
dialog:has(.more-menu) { width: min(500px, calc(100vw - 24px)); }
.more-menu { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 24px 0 18px; }
.more-menu > a { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 18px; min-height: 128px; border: 1px solid #38443a; border-radius: 13px; padding: 21px; font-size: 12px; background: linear-gradient(135deg, #cbed8a08, #151b1f); }
.more-menu > a > svg:first-child { width: 25px; height: 25px; }
.more-menu > a > svg:last-child { position: absolute; top: 21px; right: 17px; color: #839278; width: 14px; }
.more-menu > a:first-child { grid-column: 1 / -1; min-height: 97px; flex-direction: row; align-items: center; justify-content: flex-start; gap: 20px; border-color: #657a46; background: radial-gradient(ellipse at 0 0, #d1fa6313, transparent 80%), #1b241a; font-size: 17px; font-weight: 650; }
.more-menu > a:first-child > svg:first-child { width: 42px; height: 42px; padding: 9px; border: 1px solid #d1fa6330; border-radius: 50%; }
.more-menu > a:first-child > svg:last-child { top: 39px; right: 21px; }
.modal-notice { background: #d1fa6309; color: #cfdfb7; border-color: #647d47; }
#toast { background: #dfedc6; color: #1a2712; font-family: Manrope, sans-serif; }
.rest-dock { background: #1e2b1df5; border-color: #5b7442; }
@keyframes reveal { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
.home-heading, .page-title { animation: reveal .4s ease both; }
.home-layout, .two-column, .program-grid { animation: reveal .5s .06s ease both; }
@media(min-width:1500px) {
  main { padding-top: 45px; }
  .home-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 30px; }
  .performance-hero { min-height: 460px; padding: 30px; }
  .performance-hero h2 { font-size: 98px; }
  .performance-hero-copy { margin-top: 47px; }
  .home-heading h1 { font-size: 41px; }
  .fuel-card, .hydration-card, .checkin-card { padding: 27px; }
  .fuel-ring { margin-top: 34px; margin-bottom: 29px; }
  .fuel-ring .ring { --size: 176px !important; }
  .fuel-macros strong { font-size: 24px; }
  .home-coach { min-height: 210px; }
}
@media(max-width:1190px) {
  .sidebar { width: 192px; padding: 31px 16px; }
  .sidebar-caption { font-size: 5.5px; letter-spacing: 1.6px; }
  .sidebar nav a { font-size: 11px; gap: 10px; }
  .brand { font-size: 25px; gap: 8px; }
  .workspace { margin-left: 192px; }
  main { padding: 30px 27px 24px; }
  .topbar { padding: 0 27px; }
  .home-layout { grid-template-columns: minmax(0,1fr) 267px; gap: 20px; }
  .home-primary, .home-secondary { gap: 22px; }
  .home-heading h1 { font-size: 31px; }
  .home-heading p:not(.eyebrow) { font-size: 10px; }
  .personalize-link { font-size: 8px; padding: 10px; gap: 5px; }
  .personalize-link > svg { width: 12px; }
  .performance-hero { padding: 23px; min-height: 365px; }
  .performance-hero h2 { font-size: 65px; }
  .performance-hero-copy { margin-top: 35px; }
  .performance-strip { gap: 12px; }
  .performance-strip > a { padding-left: 12px; }
  .strip-label { font-size: 6px; letter-spacing: .4px; gap: 5px; }
  .strip-label svg { width: 12px; height: 12px; }
  .performance-strip strong { font-size: 29px; }
  .strip-change { font-size: 8px; }
  .strip-change > span { display: none; }
  .fuel-card, .hydration-card, .checkin-card { padding: 20px; }
  .fuel-card .section-title h2, .hydration-card .section-title h2 { font-size: 15px; }
  .fuel-intro > span:first-child { font-size: 7px; }
  .fuel-ring .ring { --size: 145px !important; }
  .fuel-ring .ring strong { font-size: 31px; }
  .fuel-macros { gap: 12px; }
  .fuel-macros strong { font-size: 20px; }
  .home-coach { gap: 17px; padding: 22px; }
  .coach-orb { width: 56px; height: 56px; }
  .home-coach h2 { font-size: 19px; }
  .home-coach .eyebrow { font-size: 6px; }
  .home-coach .eyebrow b { font-size: 4px; margin-left: 3px; }
  .home-coach p { font-size: 9px; }
  .discover-tile { padding: 18px; min-height: 205px; }
  .discover-tile strong { font-size: 38px; }
  .week-summary > :last-child { display: none; }
  .two-column, .session-layout { grid-template-columns: minmax(0,1fr) 267px; }
  .training-focus { padding: 24px; }
  .training-focus h2 { font-size: 52px; }
}
@media(max-width:1000px) and (min-width:761px) {
  .sidebar { width: 76px; padding: 30px 12px; }
  .sidebar > .brand > span:last-child, .nav-caption, .sidebar-program, .sidebar-caption, .demo-label { display: none; }
  .sidebar > .brand { justify-content: center; }
  .sidebar nav { margin-top: 20px; }
  .sidebar nav a { justify-content: center; padding: 13px; }
  .sidebar nav a.active { padding: 13px; }
  .sidebar nav a span { display: none; }
  .workspace { margin-left: 76px; }
  .home-heading h1 { font-size: 29px; }
  .personalize-link > svg:last-child { display: none; }
  .home-coach .eyebrow b { display: none; }
  .home-layout { grid-template-columns: minmax(0,1fr) 255px; gap: 18px; }
}
@media(max-width:760px) {
  :root { --radius: 18px; }
  body { font-size: 14px; }
  .sidebar { display: none; }
  .workspace { margin-left: 0; }
  .topbar { height: 80px; padding: env(safe-area-inset-top,0px) 22px 0; border: 0; }
  .mobile-brand { display: flex; gap: 6px; font-size: 24px; font-weight: 800; letter-spacing: -1.4px; }
  .brand-mark { width: 23px; height: 23px; }
  .brand-mark > svg { width: 23px; height: 23px; }
  .mobile-brand .brand-period { font-size: 6px; right: -8px; top: 2px; }
  .topbar-actions { gap: 8px; }
  .topbar .icon-button { min-width: 40px; min-height: 44px; }
  .topbar .icon-button svg { width: 20px; height: 20px; }
  .notification-dot { right: 8px; top: 10px; width: 4px; height: 4px; }
  .local-pill { display: none; }
  .avatar { width: 34px; height: 34px; font-size: 12px; border-color: #59644b; }
  main { max-width: 600px; padding: 14px 21px calc(105px + env(safe-area-inset-bottom,0px)); }
  h1 { font-size: 29px; font-weight: 700; letter-spacing: -1.3px; }
  .home-heading { display: block; margin: 0 0 22px; }
  .home-heading .eyebrow { font-size: 8px; letter-spacing: 1.5px; color: #92959b; margin-bottom: 11px; }
  .home-heading h1 { font-size: 29px; letter-spacing: -1.35px; line-height: 1.2; }
  .home-heading p:not(.eyebrow) { font-size: 10px; color: #7d838a; margin-top: 9px; }
  .personalize-link { display: none; }
  .home-layout { display: flex; flex-direction: column; gap: 25px; }
  .home-primary, .home-secondary { gap: 24px; }
  .performance-hero { min-height: 352px; border-radius: 18px; padding: 21px 21px 20px; }
  .hero-photo { background-size: auto 112%; background-position: 62% 29%; }
  .hero-photo:after { background: linear-gradient(90deg, #080b0fa6, #080b0f0a 88%), linear-gradient(0deg, #080b0fd9, transparent 70%); }
  .workout-tag { font-size: 6px; padding: 6px 8px; letter-spacing: .9px; gap: 5px; }
  .workout-tag > i { height: 3px; width: 3px; }
  .hero-edition { font-size: 8px; letter-spacing: 1px; }
  .performance-hero-copy { margin-top: 37px; }
  .hero-kicker { font-size: 7px; letter-spacing: 1.4px; }
  .performance-hero h2 { font-size: 61px; letter-spacing: -.7px; line-height: .94; margin: 12px 0 17px; }
  .performance-hero-copy > p { font-size: 11px; font-weight: 600; color: #e3e6df; }
  .performance-meta { font-size: 8px; gap: 13px; margin-top: 10px; }
  .performance-meta svg { height: 13px; width: 13px; }
  .performance-meta > span:last-child { padding-left: 10px; }
  .performance-hero-bottom { margin-top: 23px; }
  .hero-start { min-height: 45px; padding: 11px 14px; font-size: 10px; border-radius: 8px; gap: 17px; }
  .hero-details { width: 37px; height: 37px; }
  .hero-details svg { width: 18px; height: 18px; }
  .performance-strip { padding: 0 0 23px; margin-top: -1px; gap: 12px; }
  .performance-strip > div, .performance-strip > a { padding-left: 13px; gap: 10px; }
  .performance-strip > :first-child { padding-left: 1px; }
  .strip-label { font-size: 6px; letter-spacing: .4px; gap: 5px; }
  .strip-label svg { width: 12px; height: 12px; }
  .performance-strip strong { font-size: 29px; font-weight: 650; letter-spacing: -1.3px; gap: 4px; }
  .performance-strip strong small { font-size: 7px; letter-spacing: 0; }
  .strip-caption, .strip-change { font-size: 7px; }
  .strip-change > span { display: none; }
  .strip-progress { margin-top: 5px; }
  .section-title h2, .training-week .section-title h2 { font-size: 16px; font-weight: 650; }
  .section-title > .text-link { font-size: 9px; gap: 6px; }
  .section-title > .text-link svg { width: 14px; }
  .training-week .week-strip { gap: 6px; }
  .training-week .week-day { padding: 11px 0 8px; border-radius: 10px; gap: 8px; }
  .training-week .week-day > span:first-child { font-size: 7px; }
  .training-week .week-day strong { font-size: 18px; }
  .week-summary { font-size: 8px; margin-top: 14px; }
  .week-summary > :last-child { display: none; }
  .home-coach { gap: 15px; padding: 22px 18px; border-radius: 16px; }
  .coach-orb { width: 53px; height: 53px; }
  .coach-orb > svg { width: 22px; }
  .home-coach h2 { font-size: 18px; font-weight: 650; margin: 9px 0 8px; letter-spacing: -.65px; }
  .home-coach .eyebrow { font-size: 6px; letter-spacing: .8px; }
  .home-coach .eyebrow b { font-size: 4px; letter-spacing: .3px; padding: 3px 4px; margin-left: 3px; }
  .home-coach p { font-size: 9px; line-height: 1.7; }
  .home-coach .text-link { font-size: 9px; min-height: 31px; margin-top: 8px; gap: 7px; }
  .home-coach .text-link svg { width: 15px; }
  .discover-grid { gap: 13px; }
  .discover-tile { border-radius: 14px; padding: 17px; min-height: 205px; }
  .tile-tag { font-size: 5px; letter-spacing: 1px; }
  .discover-tile strong { font-size: 36px; margin-top: 29px; line-height: .94; }
  .discover-tile > span:last-child { font-size: 7px; padding-top: 20px; gap: 4px; }
  .discover-tile > span:last-child svg { width: 15px; }
  .home-secondary { display: grid; grid-template-columns: 1fr; }
  .fuel-card { padding: 24px; }
  .fuel-card .section-title h2 { font-size: 18px; }
  .fuel-intro > span:first-child { font-size: 10px; }
  .fuel-percent { font-size: 9px; }
  .fuel-ring { flex-direction: row; justify-content: center; align-items: center; gap: 30px; margin: 28px 0; }
  .fuel-ring .ring { --size: 152px !important; }
  .fuel-ring .ring strong { font-size: 33px; }
  .fuel-ring .ring span { font-size: 9px; }
  .fuel-ring-caption { align-items: flex-start; margin-top: 0; gap: 8px; }
  .fuel-ring-caption > span { font-size: 6px; }
  .fuel-ring-caption strong { font-size: 18px; letter-spacing: -.4px; }
  .fuel-ring-caption small { font-size: 10px; }
  .fuel-macros { gap: 23px; padding-bottom: 25px; }
  .fuel-macros strong { font-size: 26px; }
  .fuel-macros strong small { font-size: 10px; }
  .fuel-macros > div > span:last-of-type { font-size: 10px; }
  .fuel-macros i { height: 4px; margin-top: 7px; }
  .fuel-card > .secondary { min-height: 45px; font-size: 12px; }
  .fuel-remaining { font-size: 8px; margin-top: 13px; }
  .hydration-card { padding: 24px; }
  .hydration-card .section-title h2 { font-size: 18px; }
  .hydration-body { margin: 21px 0; }
  .hydration-body .eyebrow { font-size: 8px; }
  .hydration-body strong { font-size: 43px; }
  .hydration-body strong small { font-size: 13px; }
  .hydration-body .muted { font-size: 10px; }
  .water-vessel { width: 73px; height: 96px; border-radius: 7px 7px 19px 19px; }
  .water-vessel > span { font-size: 21px; }
  .water-vessel small { font-size: 10px; }
  .hydration-controls > .secondary { min-height: 45px; font-size: 12px; }
  .hydration-controls > .icon-button { min-height: 45px; min-width: 45px; }
  .checkin-card { padding: 25px; }
  .checkin-card .eyebrow { font-size: 8px; }
  .checkin-card h2 { font-size: 20px; max-width: 260px; margin: 12px 0 22px; }
  .mood-options button { min-height: 81px; gap: 12px; padding: 16px 5px; }
  .mood-options button > span { font-size: 10px; }
  .checkin-card > p { font-size: 9px; margin-top: 17px; }
  .home-progress-card { min-height: 215px; padding: 28px; }
  .home-progress-card h2 { font-size: 29px; }
  .home-progress-card .eyebrow { font-size: 8px; }
  .home-progress-card div > span:last-child { font-size: 10px; }
  .home-progress-card > svg { width: 250px; height: 100px; }
  .home-secondary > .demo-note { font-size: 9px; }
  .bottom-nav { background: #14171bf5; border: 1px solid #3e453b; border-radius: 18px; left: 14px; right: 14px; bottom: calc(12px + env(safe-area-inset-bottom,0px)); padding: 6px 5px 7px; box-shadow: 0 8px 30px #0008; gap: 1px; backdrop-filter: blur(25px); }
  .bottom-nav > a, .bottom-nav > button { min-height: 51px; gap: 6px; padding: 6px 1px 4px; font-size: 7px; color: #6f7880; border-radius: 10px; font-family: Manrope, sans-serif; }
  .bottom-nav > a.active, .bottom-nav > button.active { color: #d1fa63; background: #d1fa6309; }
  .bottom-nav .active:before { display: none; }
  .bottom-nav svg { width: 20px; height: 20px; stroke-width: 1.8; }
  .page-footer { margin-top: 32px; font-size: 6px; line-height: 1.6; padding-top: 20px; gap: 20px; }
  .page-footer > span:last-child { max-width: 115px; text-align: right; letter-spacing: 0; }
  .page-title { margin-bottom: 26px; }
  .page-title .eyebrow { font-size: 8px; margin-bottom: 11px; color: #90969b; }
  .page-title h1 { font-size: 30px; font-weight: 700; letter-spacing: -1.3px; line-height: 1.16; }
  .page-title .muted { font-size: 11px; margin-top: 10px; }
  .page-title > .primary, .page-title > .secondary { font-size: 11px; min-height: 44px; padding: 11px 15px; margin-top: 19px; }
  .two-column, .session-layout { display: grid; grid-template-columns: 1fr; gap: 23px; }
  .two-column > div, .two-column > aside { gap: 23px; }
  .plan-banner { min-height: 205px; padding: 25px; border-radius: 17px; background-position: 75% 40%; }
  .plan-banner h2 { font-size: 29px; font-weight: 650; letter-spacing: -1px; margin: 23px 0 11px; }
  .plan-banner p { font-size: 8px; }
  .plan-banner p b { margin: 0 5px; }
  .plan-completion { font-size: 8px; margin-top: 24px; }
  .training-days { gap: 6px; }
  .training-days > button { min-height: 91px; min-width: 43px; border-radius: 9px; }
  .training-days > button > strong { font-size: 23px; font-weight: 600; }
  .training-days > button > span { font-size: 7px; }
  .exercise-row { padding: 12px; gap: 13px; border-radius: 13px; }
  .exercise-thumb { width: 56px; height: 64px; border-radius: 8px; }
  .exercise-thumb svg { width: 15px; height: 15px; }
  .exercise-copy { gap: 4px; }
  .exercise-copy strong { font-size: 11px; font-weight: 650; margin: 2px 0; }
  .exercise-copy small { font-size: 7px; color: #7f878e; }
  .exercise-copy > span { font-size: 8px; }
  .exercise-copy b { margin: 0 3px; }
  .exercise-open { min-width: 20px; }
  .exercise-open svg { width: 16px; }
  .sticky-action > .primary { min-height: 51px; font-size: 13px; border-radius: 11px; }
  .training-focus { padding: 26px; }
  .training-focus h2 { font-size: 64px; margin-top: 30px; }
  .training-focus p { font-size: 12px; }
  .focus-rule { margin-top: 32px; font-size: 8px; }
  .coach-mini { padding: 19px; font-size: 11px; border-color: #3c4f34; background: #cbed8a04; }
  .exercise-visual { min-height: 210px; background-position: 75% 38%; }
  .exercise-visual > .eyebrow { font-size: 8px; }
  .movement-label { font-size: 8px; margin-top: 10px; }
  .session-exercise-title h2 { font-size: 24px; font-weight: 650; letter-spacing: -.8px; }
  .session-exercise-title p { font-size: 10px; color: #8e9897; }
  .session-progress > button { border-color: #3c4937; background: #1b241d; color: #7f9478; height: 37px; }
  .session-progress > button.selected { border-color: #d1fa63; background: #d1fa6311; color: var(--lime); }
  .set-table { padding: 21px 14px; border-radius: 17px; }
  .set-table-head { font-size: 7px; letter-spacing: .7px; }
  .set-row { padding: 12px 0; gap: 10px; }
  .set-row input { font-size: 21px !important; font-weight: 600; min-height: 50px !important; border-radius: 9px; }
  .set-check { width: 43px; height: 47px; }
  .set-table > .tiny { font-size: 9px; }
  .session-controls > button { min-height: 47px; font-size: 10px; }
  .rest-timer { padding: 27px; }
  .rest-timer h2 { font-size: 22px; }
  .timer-circle > span { font-size: 67px; }
  .timer-circle small { font-size: 9px; }
  .timer-buttons > button { min-height: 44px; font-size: 11px; }
  .rest-dock { bottom: calc(89px + env(safe-area-inset-bottom,0px)); left: 17px; right: 17px; padding: 8px 16px; background: #202d1cf8; border-radius: 13px; }
  .rest-dock strong { font-size: 22px; }
  .session-active main { padding-bottom: calc(170px + env(safe-area-inset-bottom,0px)); }
  .nutrition-overview { padding: 25px 21px; }
  .nutrition-main-ring { gap: 25px; margin: 30px 0 32px; }
  .nutrition-main-ring .ring { --size: 161px !important; padding: 8px; }
  .nutrition-main-ring .ring strong { font-size: 35px; }
  .nutrition-main-ring .ring span { font-size: 9px; }
  .nutrition-main-ring > div:last-child h2 { font-size: 35px; letter-spacing: -1.5px; }
  .nutrition-main-ring > div:last-child > p { font-size: 11px; }
  .nutrition-main-ring .text-link { font-size: 9px; line-height: 1.7; }
  .nutrition-overview .macro > div:first-child { font-size: 10px; }
  .nutrition-overview .macro-bars { gap: 22px; }
  .meal-row { padding: 16px 12px; gap: 10px; }
  .meal-symbol { height: 43px; width: 41px; border-radius: 10px; }
  .meal-symbol svg { width: 23px; }
  .meal-row h3 { font-size: 11px; font-weight: 650; }
  .meal-row .tiny { font-size: 7px; }
  .meal-calories strong { font-size: 20px; }
  .meal-row > .icon-button { min-width: 35px; }
  .add-dashed { min-height: 62px; font-size: 12px; border-color: #41543a; }
  .coach-window { border-radius: 19px; margin: 0 -2px; }
  .coach-header { padding: 20px 15px; gap: 11px; }
  .coach-header .coach-symbol { width: 39px; height: 39px; }
  .coach-header .coach-symbol svg { width: 23px; }
  .coach-header h2 { font-size: 16px; }
  .coach-header .tiny { font-size: 6px; }
  .simulation-badge { font-size: 5px; letter-spacing: .6px; padding: 5px 6px; }
  .chat-messages { padding: 24px 14px; min-height: 320px; height: 43dvh; max-height: 550px; gap: 24px; }
  .chat-message { max-width: 96%; font-size: 11px; gap: 9px; }
  .chat-message > div { padding: 16px; line-height: 1.8; }
  .chat-label { font-size: 7px; letter-spacing: 1.3px; margin-bottom: 8px; }
  .chat-avatar { width: 24px; height: 24px; }
  .quick-prompts { padding: 13px 13px 6px; gap: 7px; }
  .quick-prompts button { font-size: 8px; min-height: 39px; padding: 9px 11px; }
  .chat-composer { margin: 12px 13px 0; padding: 6px 7px 6px 13px; }
  .chat-composer input { font-size: 16px !important; min-height: 42px !important; padding: 7px 0 !important; }
  .chat-composer input::placeholder { font-size: 10px; color: #697872; }
  .chat-composer > .primary { width: 40px; min-height: 40px; }
  .chat-disclaimer { font-size: 7px; margin: 14px 15px 18px; line-height: 1.8; }
  .progress-stats { gap: 9px; }
  .progress-stats .mini-stat { padding: 18px 12px; min-height: 134px; gap: 17px; border-radius: 14px; }
  .progress-stats .mini-stat > .muted { font-size: 8px; }
  .progress-stats .mini-stat > strong { font-size: 27px; letter-spacing: -1px; }
  .progress-stats .mini-stat strong small { font-size: 8px; }
  .progress-stats .mini-stat > .tiny { font-size: 6px; }
  .chart-card { padding: 23px 15px; }
  .chart-card .section-title h2 { font-size: 16px; }
  .segmented button { font-size: 9px; min-height: 32px; padding: 7px 10px; }
  .weight-chart { margin: 30px 0 23px; }
  .chart-card > .tiny { font-size: 8px; }
  .photo-promo { padding: 28px; min-height: 320px; }
  .photo-promo h2 { font-size: 30px; letter-spacing: -1.1px; }
  .photo-promo p { font-size: 12px; }
  .photo-promo > .eyebrow { font-size: 8px; }
  .photo-promo .large-symbol { margin-top: 40px; }
  .photo-promo .text-link { font-size: 11px; }
  .measurement-history { padding: 25px; }
  .measurement-line { font-size: 12px; padding: 15px 0; }
  .privacy-banner { padding: 18px; gap: 12px; border-radius: 13px; }
  .privacy-banner strong { font-size: 10px; }
  .privacy-banner span { font-size: 9px; line-height: 1.8; }
  .photos-toolbar { margin: 24px 0; }
  .photos-toolbar > .secondary { font-size: 8px; min-height: 42px; }
  .photo-empty { min-height: 500px; padding: 44px 20px; gap: 22px; }
  .photo-empty h2 { font-size: 33px; letter-spacing: -1.3px; }
  .photo-empty p { font-size: 11px; }
  .photo-empty:after { font-size: 90px; }
  .photo-outline { width: 90px; height: 110px; }
  .photo-grid { gap: 13px; }
  .photo-entry, .library-card { padding: 0; }
  .photo-entry > div { padding: 12px; }
  .photo-entry small { font-size: 8px; }
  .photo-entry strong { font-size: 10px; }
  .photo-add { background: #d1fa6303; border-color: #5a7146; }
  .library-intro { min-height: 238px; padding: 24px; border-radius: 18px; margin-bottom: 25px; }
  .library-intro > .eyebrow { font-size: 6px; letter-spacing: 1.2px; }
  .library-intro > strong { font-size: 65px; margin-top: 26px; line-height: .95; }
  .library-intro > p { font-size: 9px; margin-top: 17px; }
  .collection-number { right: 20px; bottom: 20px; font-size: 6px; letter-spacing: 1px; }
  .filter-chips { margin-left: -21px; margin-right: -21px; padding-left: 21px; padding-right: 21px; gap: 8px; }
  .filter-chips > button { font-size: 10px; padding: 11px 20px; min-height: 43px; }
  .program-grid { grid-template-columns: 1fr; gap: 24px; }
  .program-art { min-height: 300px; height: auto; padding: 24px; background-size: auto 118%; background-position: 69% 35%; }
  .program-art > .eyebrow { font-size: 7px; }
  .program-art-title { font-size: 64px; margin-top: 34px; }
  .program-art-number { font-size: 230px; right: 12px; top: 40px; }
  .program-level { bottom: 21px; font-size: 9px; }
  .library-body { padding: 25px; }
  .library-body h2 { font-size: 27px; font-weight: 650; letter-spacing: -.9px; }
  .library-body > p { font-size: 11px; margin-top: 9px; }
  .library-body > .primary, .library-body > .secondary { font-size: 12px; min-height: 46px; }
  .program-meta { font-size: 10px; margin: 24px 0; gap: 23px; }
  .active-program-tag { font-size: 6px; bottom: 21px; right: 21px; }
  .profile-summary { padding: 24px 22px; gap: 16px; }
  .profile-summary h2 { font-size: 26px; }
  .profile-summary p { font-size: 10px; }
  .avatar.large { width: 57px; height: 57px; font-size: 23px; }
  .form-card { padding: 26px 23px; }
  .form-card h2 { font-size: 21px; }
  .form-card label { font-size: 10px; }
  .form-grid { gap: 22px 15px; }
  .form-card .form-grid { margin: 25px 0; }
  .form-card h3 { font-size: 16px; margin-top: 35px; }
  .form-card .tiny { font-size: 9px; margin-top: 8px; }
  .form-card > .primary { min-height: 48px; font-size: 12px; }
  .settings-card { padding: 26px; }
  .setting-row { padding: 20px 0; }
  .setting-row strong { font-size: 12px; }
  .setting-row span { font-size: 9px; line-height: 1.8; }
  .connection-card { padding: 27px; }
  .connection-card p { font-size: 12px; }
  .onboarding { display: flex; flex-direction: column; gap: 23px; padding: 0; min-height: 0; }
  .onboarding-intro { padding: 24px; min-height: 245px; border-radius: 18px; background-size: auto 180%; background-position: 72% 25%; }
  .onboarding-intro > .brand { display: none; }
  .onboarding-intro h2 { font-size: 53px; line-height: .95; margin: 70px 0 13px; letter-spacing: -.8px; max-width: 90%; }
  .onboarding-intro h2 br { display: block; }
  .onboarding-intro h2 > span { display: block; }
  .onboarding-intro > p { font-size: 9px; }
  .onboarding-intro > .eyebrow { display: none; }
  .onboarding-form { align-self: stretch; padding: 26px; width: 100%; }
  .onboarding-form h1 { font-size: 27px; font-weight: 700; letter-spacing: -1px; margin-top: 16px; }
  .onboarding-form > .eyebrow { font-size: 7px; }
  .onboarding-form > .muted { font-size: 11px; line-height: 1.8; }
  .onboard-step { font-size: 21px; }
  .onboard-step .text-link { font-size: 8px; }
  .onboard-progress { margin: 10px 0 28px; }
  .choice { min-height: 62px; font-size: 12px; }
  .onboard-actions > .primary { min-height: 49px; font-size: 11px; }
  .onboard-insight p { font-size: 10px; }
  dialog { width: calc(100vw - 24px); padding: 25px 22px; border-radius: 20px; max-height: calc(100dvh - 30px); }
  .modal-heading h2 { font-size: 23px; letter-spacing: -.8px; }
  .modal-form label { font-size: 10px; }
  .modal-form > .primary { min-height: 48px; font-size: 12px; }
  .modal-form { gap: 22px; }
  .more-menu > a { font-size: 13px; min-height: 68px; }
  .modal-notice { font-size: 11px; }
  #toast { bottom: calc(100px + env(safe-area-inset-bottom,0px)); font-size: 11px; max-width: calc(100vw - 36px); }
  input:not([type=checkbox]):not([type=radio]):not([type=range]), select { min-height: 49px; font-size: 16px; }
}
@media(max-width:370px) {
  main { padding-left: 17px; padding-right: 17px; }
  .topbar { padding-left: 18px; padding-right: 18px; }
  .home-heading h1 { font-size: 26px; letter-spacing: -1.2px; }
  .home-heading p:not(.eyebrow) { font-size: 9px; }
  .performance-hero { padding: 19px; min-height: 340px; }
  .performance-hero h2 { font-size: 54px; }
  .performance-hero-copy { margin-top: 36px; }
  .performance-meta { font-size: 7px; gap: 10px; }
  .performance-meta > span:last-child { padding-left: 8px; }
  .hero-start { font-size: 9px; padding: 11px 12px; gap: 12px; }
  .hero-details { width: 35px; height: 35px; }
  .performance-strip { gap: 9px; }
  .performance-strip > a { padding-left: 9px; }
  .performance-strip strong { font-size: 26px; gap: 3px; }
  .performance-strip strong small { font-size: 6px; }
  .strip-label { font-size: 5px; letter-spacing: .3px; }
  .strip-label svg { width: 11px; }
  .strip-change, .strip-caption { font-size: 6px; }
  .section-title h2, .training-week .section-title h2 { font-size: 14px; }
  .section-title > .text-link { font-size: 8px; }
  .training-week .week-strip { gap: 4px; }
  .training-week .week-day > span:first-child { font-size: 6px; }
  .training-week .week-day strong { font-size: 16px; }
  .home-coach { gap: 12px; padding: 20px 15px; }
  .home-coach .eyebrow { font-size: 5px; }
  .home-coach .eyebrow b { display: none; }
  .home-coach h2 { font-size: 16px; }
  .home-coach p { font-size: 8px; }
  .coach-orb { width: 44px; height: 44px; }
  .discover-tile { padding: 15px; min-height: 193px; }
  .discover-tile strong { font-size: 31px; }
  .tile-tag { font-size: 4px; }
  .discover-tile > span:last-child { font-size: 6px; }
  .fuel-ring { gap: 22px; }
  .fuel-ring .ring { --size: 133px !important; }
  .fuel-ring .ring strong { font-size: 29px; }
  .fuel-ring-caption > strong { font-size: 16px; }
  .fuel-ring-caption > span { font-size: 5px; }
  .fuel-macros strong { font-size: 23px; }
  .fuel-card, .hydration-card { padding: 21px; }
  .checkin-card { padding: 23px; }
  .checkin-card h2 { font-size: 18px; }
  .page-title h1 { font-size: 27px; }
  .exercise-row { gap: 10px; padding: 12px 10px; }
  .exercise-thumb { width: 45px; height: 60px; }
  .exercise-copy strong { font-size: 10px; }
  .exercise-copy small { font-size: 6px; }
  .exercise-copy > span { font-size: 7px; }
  .nutrition-main-ring { gap: 19px; }
  .nutrition-main-ring .ring { --size: 139px !important; }
  .nutrition-main-ring .ring strong { font-size: 29px; }
  .nutrition-main-ring > div:last-child h2 { font-size: 29px; }
  .nutrition-main-ring .text-link { font-size: 8px; }
  .meal-row { gap: 8px; padding: 14px 10px; }
  .meal-symbol { width: 33px; }
  .meal-row h3 { font-size: 10px; }
  .meal-row .tiny { font-size: 6px; }
  .meal-calories strong { font-size: 18px; }
  .meal-row > .icon-button { min-width: 29px; }
  .library-intro { padding: 22px; }
  .library-intro > strong { font-size: 58px; }
  .program-art-title { font-size: 57px; }
  .progress-stats .mini-stat { padding: 17px 10px; }
  .progress-stats .mini-stat > strong { font-size: 24px; }
  .progress-stats .mini-stat > .muted { font-size: 7px; }
  .progress-stats .mini-stat > .tiny { font-size: 5.5px; }
  .onboarding-form { padding: 23px; }
  .onboarding-form h1 { font-size: 25px; }
  .form-card { padding: 25px 20px; }
  .filter-chips { margin-left: -17px; margin-right: -17px; padding-left: 17px; padding-right: 17px; }
}
@media(prefers-reduced-motion:reduce) { *, *:before, *:after { animation: none !important; transition: none !important; } }
