/* ATHLETE 4.0 — lighter, calmer, premium fitness UI */
:root{--bg:#ffffff;--panel:#efffff;--panel2:#f2fdff;--text:#102c31;--soft:#607b80;--acid:#15cdc9;--purple:#c43cf4;--line:#b5e9e8;--shadow:0 9px 30px rgba(22,125,130,.055);color-scheme:light}
html,body{background:#fff!important;color:#102c31}
body{font-feature-settings:'tnum' 1}
.shell{padding:env(safe-area-inset-top) 19px calc(116px + env(safe-area-inset-bottom));}
.topbar{padding:17px 2px 24px;}
.brand{font-weight:900;letter-spacing:1.85px;font-size:17px;color:#12363b}
.brand-symbol{width:29px;height:29px;background:linear-gradient(155deg,#45ece2,#08b9c9)!important;filter:drop-shadow(0 4px 7px rgba(20,204,204,.15))}
.brand span:last-child{color:#15cdc9!important}
.avatar{width:41px;height:41px;background:#e2fbfb!important;color:#008f9e!important;border:1px solid #8de2e2!important;box-shadow:none;border-radius:15px;font-size:11px;font-weight:900;letter-spacing:1px}
.eyebrow{color:#64888d;letter-spacing:1.6px;font-size:10px;font-weight:800}
.headline{font-size:38px;line-height:1.08;letter-spacing:-1.65px;font-weight:860}
.heading{font-size:22px;font-weight:820;letter-spacing:-.6px}
.section-title{margin:29px 0 13px}
.section-title .eyebrow{white-space:nowrap;letter-spacing:.8px}
.text-link{color:#009eaa!important;font-weight:800;font-size:12px}
.hero{padding:24px 23px 22px;margin:0 0 25px;border-radius:29px!important;background:radial-gradient(circle at 95% 13%,#d4b9fd 0,transparent 31%),radial-gradient(circle at 99% 99%,#bbf3f4 0,transparent 35%),linear-gradient(115deg,#efffff 0%,#d7f9f8 100%)!important;border:1px solid #83e1de!important;box-shadow:0 18px 35px rgba(8,139,147,.09)!important}
.hero:after{content:'◌';font-size:226px;right:-17px;bottom:-126px;color:rgba(6,179,178,.10)!important;font-weight:400;transform:none}
.hero h1{font-size:40px;line-height:1.03;letter-spacing:-1.9px;max-width:245px;margin:17px 0 13px;color:#113438}
.hero p{font-size:13px;line-height:1.56;color:#436f73!important;max-width:260px}
.pill{border:1px solid #8fdfdf!important;border-radius:20px;background:rgba(255,255,255,.6)!important;color:#008a92!important;padding:8px 11px;letter-spacing:1px}
.hero-progress{margin-top:25px;align-items:center}.progress-text{color:#497579!important;font-weight:760;letter-spacing:.6px}
.progress-track{height:8px;background:rgba(0,142,156,.12);border-radius:20px}
.progress-track>span{background:linear-gradient(90deg,#12d1c6,#11bed5)!important}
.round-meter{width:73px;height:73px;background:conic-gradient(#13cacb var(--amount),rgba(24,171,171,.16) 0)!important;box-shadow:0 6px 18px rgba(24,190,190,.1);padding:5px}
.round-meter>span{width:62px;height:62px;background:#e4faf9!important;border:4px solid rgba(255,255,255,.98)!important;color:#006e7a!important;font-size:18px}
.session-card{background:linear-gradient(130deg,#eaffff,#dafaf9)!important;border:1.5px solid #8ae4e4!important;border-radius:22px!important;padding:17px!important;box-shadow:0 5px 20px rgba(17,184,181,.055)!important;transition:transform .16s ease,box-shadow .16s ease}
.session-card:active{transform:scale(.985);box-shadow:0 1px 6px rgba(17,184,181,.09)!important}
.stack .session-card:nth-child(2n){background:linear-gradient(125deg,#eef9ff,#dff2ff)!important;border-color:#b5e2f7!important}
.stack .session-card:nth-child(3n){background:linear-gradient(125deg,#f8eeff,#f0e3ff)!important;border-color:#e4ccfa!important}
.session-card .session-glyph{width:51px;height:55px;background:linear-gradient(145deg,#17d2cd,#0db5cd)!important;border-radius:17px;box-shadow:0 8px 14px rgba(15,177,178,.13)!important;color:#fff!important;font-size:25px}
.session-card h3{font-size:16px;line-height:1.18;color:#12383b!important;font-weight:820}
.session-card p{font-size:12px;color:#548083!important;line-height:1.4}
.chevron{color:#09a7b5!important;font-weight:700}
.metric-grid{gap:10px}
.metric{background:linear-gradient(135deg,#ddfbfa,#e9fffe)!important;border:1px solid #90e5e3!important;border-radius:21px!important;padding:15px 13px 14px;min-height:111px;box-shadow:none!important}
.metric:nth-child(2){background:linear-gradient(135deg,#f3e8ff,#faefff)!important;border-color:#e5c4f9!important}
.metric:nth-child(3){background:linear-gradient(135deg,#e6f5ff,#f0faff)!important;border-color:#bedff4!important}
.metric b{font-size:28px!important;letter-spacing:-.8px;color:#097983!important}
.metric:nth-child(2) b{color:#8240ba!important}
.metric:nth-child(3) b{color:#2572b3!important}
.metric span{font-size:10px;line-height:1.4;color:#52777b!important;margin-top:8px}
.bottom-nav{background:rgba(255,255,255,.96)!important;border:1px solid #cef0ee!important;border-bottom:0!important;box-shadow:0 -8px 35px rgba(14,96,103,.075)!important;border-radius:22px 22px 0 0;max-width:600px;padding:9px 8px calc(9px + env(safe-area-inset-bottom))}
.nav-btn{position:relative;min-width:0;flex:1;min-height:55px;padding:8px 3px 6px;border-radius:15px;background:transparent!important;color:#6d9095!important;font-size:9px;font-weight:750}
.nav-btn svg{stroke-width:1.9}
.nav-btn.active{color:#008b98!important;background:linear-gradient(180deg,#d6faf9,#eaffff)!important;border:1px solid #9fe8e6!important}
.nav-btn.active svg{stroke:#009cac!important}
.nav-btn.active::after{background:#c43cf4;bottom:3px;left:calc(50% - 2px);width:4px;height:4px}
.calendar-top{gap:9px}.calendar-top .heading{font-size:21px}
.calendar{background:#f5fefe!important;border:1px solid #a7e6e4!important;border-radius:24px;padding:10px 7px;gap:5px;box-shadow:none!important}
.weekday{color:#6c9599;font-weight:850;font-size:10px;padding:10px 0 12px}
.day-cell{background:linear-gradient(180deg,#fff,#f3ffff)!important;border:1px solid #d4f1ee!important;min-height:58px;border-radius:15px!important;color:#1e5055;font-weight:750;gap:7px}
.day-cell.today{outline:2px solid #43d3d3!important;outline-offset:0}
.day-cell.selected{background:linear-gradient(165deg,#36e3d7,#0dbdc7)!important;color:#063538!important;border-color:#00b8c3!important;box-shadow:0 4px 14px rgba(0,188,198,.14)!important}
.day-cell.other{opacity:.28}
.dot,.dot.done{background:#12c9c8!important}.dot.food{background:#ba4df1!important}.dot.rest{background:#bbcbd0!important}
.calendar-key{gap:11px;flex-wrap:wrap;color:#6c9194}
.today-btn,.icon-btn{background:#e8fbfb!important;border:1px solid #9ae3e2!important;color:#008b96!important;border-radius:12px!important;box-shadow:none!important}
.page-head{margin:6px 0 21px}.section-subtitle{color:#637f83;line-height:1.5}
.day-hero{position:relative;overflow:hidden;padding:22px;border-radius:25px!important;background:radial-gradient(circle at 100% 0%,rgba(195,64,244,.12),transparent 34%),linear-gradient(130deg,#e0fcfb,#effefe)!important;border:1.5px solid #a1e8e6!important;box-shadow:0 9px 30px rgba(16,180,180,.07)!important}
.day-hero h2{color:#12383b;letter-spacing:-1.1px;font-size:26px;line-height:1.15}
.day-hero .eyebrow{color:#039ba2!important}
.chip{border-radius:12px;background:rgba(255,255,255,.66)!important;border:1px solid #a2e7e6!important;color:#087f89!important;padding:8px 10px;font-weight:700}
.session-dial{position:relative;display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:13px 14px;border-radius:18px;background:rgba(255,255,255,.6);border:1px solid #abe9e9}
.session-dial .dial-copy b{font-size:19px;letter-spacing:-.5px;color:#086b77}
.session-dial .dial-copy small{display:block;font-size:11px;color:#597d82;margin-top:4px}
.session-dial .dial{width:60px;height:60px;display:grid;place-items:center;flex:none;padding:5px;border-radius:50%;background:conic-gradient(#0dc9c9 var(--fill),rgba(13,165,165,.12) 0)}
.session-dial .dial span{width:100%;height:100%;border-radius:50%;background:#f8ffff;display:grid;place-items:center;font-size:13px;color:#077985;font-weight:850}
.exercise{border:1.5px solid #a0e4e5!important;background:linear-gradient(145deg,#e8ffff,#def9f9)!important;border-radius:23px!important;margin-bottom:13px;box-shadow:0 5px 15px rgba(18,159,159,.055)!important;transition:transform .18s ease}
.exercise:nth-of-type(2n){background:linear-gradient(135deg,#eaf7ff,#dcefff)!important;border-color:#b6dff6!important}
.exercise:nth-of-type(3n){background:linear-gradient(135deg,#f5eaff,#f0e1fc)!important;border-color:#dcbafa!important}
.exercise:nth-of-type(4n){background:linear-gradient(135deg,#eafff5,#dff8e9)!important;border-color:#b4eacb!important}
.ex-row{border:0;min-height:115px;padding:18px 17px 15px;width:100%;background:transparent!important;border-radius:0;color:#153b40;position:relative}
.ex-row:active{transform:scale(.985)}.ex-row h3{font-size:16px;line-height:1.17;letter-spacing:-.3px;margin:20px 0 5px;color:#103b41!important}.ex-row p{font-size:12px;line-height:1.4;color:#5c8185}
.ex-status{top:17px;left:17px;color:#049ba5!important;font-size:9px;letter-spacing:1.25px}
.ex-right{gap:14px;min-width:57px}
.duration{background:rgba(255,255,255,.65)!important;border:1px solid rgba(31,196,195,.25)!important;color:#04848e!important;border-radius:12px;padding:7px 8px;white-space:nowrap;font-size:11px}
.ex-ring{width:39px;height:39px;border:3px solid #7edbd9!important;color:#06a7b4!important;background:rgba(255,255,255,.55)!important;box-shadow:inset 0 0 0 3px rgba(24,220,215,.12)!important;transition:transform .22s ease}
.ex-row.done{background:linear-gradient(135deg,rgba(201,211,214,.50),rgba(202,211,218,.66))!important;}
.exercise.done{filter:saturate(.73)}
.ex-row.done h3{color:#4f6b71!important}
.ex-ring.done{background:linear-gradient(135deg,#16c7c9,#00acbd)!important;color:#fff!important;border-color:#13c8c8!important;box-shadow:none!important;transform:scale(1.05)}
.done-stamp{background:linear-gradient(100deg,rgba(221,226,229,.22),rgba(221,226,229,.43))!important;color:rgba(75,90,100,.58)!important;font-size:25px;font-weight:950;letter-spacing:2.5px;text-shadow:none!important;pointer-events:none}
.exercise-toolbar{padding:0 17px 15px;gap:8px}
.detail-chip{background:rgba(255,255,255,.75)!important;border:1px solid #9ce1e1!important;color:#058795!important;border-radius:12px;font-size:12px;padding:10px 14px;font-weight:800}
.detail-chip.active{background:#d8f9fa!important;color:#007c88!important;border-color:#6ed9d8!important}
.mini-btn.hud{background:rgba(255,255,255,.65)!important;color:#9b2ad5!important;border:1px solid #debbef!important;white-space:nowrap;font-weight:850;border-radius:12px;box-shadow:none}
.ex-details{border-top:1px solid rgba(37,171,171,.23);padding:2px 17px 17px}
.video-cover{border-radius:16px;background:#ccf8f7}
.video-btn:after{background:linear-gradient(135deg,#17cbcb,#0bb6cf);box-shadow:0 6px 25px rgba(0,130,140,.3);border-radius:13px}
.ex-cue{background:rgba(255,255,255,.64)!important;color:#4b6e75!important;border:1px solid #a6e9e7!important}
.video-label{color:#45777c!important}
.set-row{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:6px 0}
.set-row input{background:rgba(255,255,255,.85)!important;border:1px solid #a7dfdf!important;color:#194549;border-radius:12px}
.set-toggle{background:#e0fbfa!important;border:1px solid #85dede!important;color:#007f8c!important;font-weight:850;border-radius:12px;min-height:39px}
.set-toggle.checked{background:#16c6c4!important;color:#fff!important;border-color:#08b8c0!important}
.primary{background:linear-gradient(130deg,#1cddd4,#06bace)!important;border:1px solid #14c7c8!important;color:#07343b!important;border-radius:17px;font-weight:850;box-shadow:0 10px 25px rgba(6,181,185,.14)!important}
.secondary{background:#eafefd!important;border:1px solid #9ce1e1!important;color:#038a96!important;border-radius:16px}
.day-complete{background:linear-gradient(120deg,#e1fefa,#efe8ff)!important;border:1px solid #99e5e3!important;color:#11646c!important;border-radius:18px}
.panel{background:linear-gradient(145deg,#ecfffe,#e6fbfc)!important;border:1px solid #b1e8e8!important;border-radius:23px;box-shadow:none!important}
.notice{background:#f2fdfd!important;border-color:#abdede!important;color:#587b7d!important;border-radius:17px}
.meal{background:linear-gradient(140deg,#e5fdfd,#d9faf9)!important;border:1px solid #ace7e6!important;border-radius:17px;padding:13px 12px;margin:6px 0;box-shadow:none!important}
.meal:nth-child(2n){background:linear-gradient(135deg,#edf3ff,#e5eeff)!important;border-color:#c6d8f7!important}
.meal:nth-child(3n){background:linear-gradient(135deg,#f6eaff,#edddff)!important;border-color:#dbc7f7!important}
.meal:nth-child(4n){background:linear-gradient(135deg,#eafff4,#e1fbeb)!important;border-color:#bcefd4!important}
.meal-icon{border-radius:13px;background:#c4f2f0!important;color:#095b64!important;box-shadow:none}
.meal h3{color:#244c50!important}.meal p,.meal-details{color:#58787a!important}
.prep{border-color:#b8e9e8!important;box-shadow:none!important}
.check{background:rgba(255,255,255,.75)!important;border-color:#87d9d8!important;color:#008d96!important}
.check.checked{background:#18c6c5!important;color:#fff!important;border-color:#12bdbf!important}
.macro-track{background:#c4e7e5}.macro-track span:nth-child(1){background:#0ac9c7}.macro-track span:nth-child(2){background:#c43cf4}.macro-track span:nth-child(3){background:#8cc8ff}
.timer-face{width:244px;aspect-ratio:1;margin:25px auto;display:grid;place-items:center;font-size:51px;letter-spacing:-2.2px;border:12px solid transparent!important;border-radius:50%;color:#027c88!important;background:linear-gradient(#edfffe,#edfffe) padding-box,conic-gradient(#06c7c7 0%,#19ded6 70%,#d9b1ff 90%,#bfeeee 100%) border-box!important;box-shadow:0 15px 40px rgba(0,166,171,.10),inset 0 0 0 8px #ffffff!important}
.timer-presets{gap:7px}.timer-preset{border-radius:14px;background:#e8fcfc!important;color:#147a84!important;border:1px solid #a8e9e8!important;min-height:39px}
.timer-preset.active{background:#d7afff!important;color:#5e108b!important;border-color:#c99bef!important}
.star{border-color:#b4e3e5!important;color:#127e88!important;background:#ecfcfc!important}.star.active{background:#b94bf2!important;border-color:#a940e2!important;color:#fff!important}
.sheet{background:#fff!important;border-color:#b7e7e7!important}.overlay{background:rgba(12,62,71,.28)}
.sheet-close{color:#078994!important;border-color:#a9e3e1!important;background:#efffff!important}
.form-field input,.form-field textarea,.form-field select{border:1px solid #b6e8e8!important;background:#faffff!important;color:#133e42!important}
.footnote{color:#88a3a4;font-size:10px}
@media(max-width:420px){.shell{padding-left:16px;padding-right:16px}.hero h1{font-size:37px}.headline{font-size:35px}.calendar{gap:4px;padding:7px 5px}.day-cell{min-height:51px;font-size:12px}.month-nav{gap:5px}.calendar-top .heading{font-size:19px}.metric{padding:13px 10px}.metric b{font-size:25px!important}.metric span{font-size:9px}.nav-btn{font-size:9px}.ex-row h3{font-size:15px}.done-stamp{font-size:21px}}
@media(prefers-reduced-motion:reduce){.ex-row,.session-card,.ex-ring,.progress-track>span{transition:none!important}}
