:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:dark;font-synthesis:none;background:#171820;color:#e6e9f3;--bg:#171820;--panel:#222330;--panel-alt:#282a39;--line:#343647;--muted:#99a2b8;--text:#e6e9f3;--accent:#69b8f9;--cycling:#56b1f2;--strength:#c397ef;--running:#6ad399}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button{color:inherit}a{color:var(--accent)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--text);font-family:inherit}p{line-height:1.65}button{border-radius:5px}svg{flex-shrink:0}h1{font-size:29px;line-height:1.2;letter-spacing:-.8px;font-weight:650;margin:6px 0 0}h2{font-size:17px}h3{font-size:14px}h4,.small{font-size:12px}.muted,.chart-note{color:var(--muted)}.eyebrow{font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:600}.loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:18px;background:var(--bg);color:var(--accent)}.app-shell{background:var(--bg);min-height:100vh}.light-theme{--bg:#edf0f6;--panel:#fff;--panel-alt:#e8ecf5;--line:#d0d7e5;--muted:#5b657b;--text:#242c3d;--accent:#1677bd;color-scheme:light;color:var(--text)}.sidebar{width:195px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:#222130;border-right:1px solid #343345;padding:24px 12px 0;z-index:30;color:#dce1ef}.brand{display:flex;align-items:center;gap:7px;text-decoration:none;color:#f1f5ff;font-size:28px;letter-spacing:-1px;font-weight:750;padding:0 10px;margin-bottom:30px}.brand-mark{background:#344961;border:1px solid #537a9f;border-radius:7px;width:31px;height:31px;display:grid;place-items:center;color:#9cd4ff}.brand-period{margin-left:-7px;color:#75bcf6}.athlete-profile{display:flex;gap:10px;align-items:center;background:none;border:0;text-align:left;padding:0 7px 24px;width:100%}.avatar,.top-avatar{width:32px;height:32px;border:1px solid #596279;border-radius:50%;display:grid;place-items:center;background:#34384e;color:#dbe9ff;font-size:13px;font-weight:600}.athlete-profile>span:last-child{min-width:0;display:grid;gap:4px}.athlete-profile strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-profile small{font-size:10px;color:#959fb5}.workspace-label{font-size:9px;color:#858ba4;letter-spacing:1.6px;margin:0 12px 12px}.sidebar nav{display:grid;gap:4px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;padding:12px;color:#a9b1c8;font-size:12px;font-weight:500;background:none;border:0;text-align:left;position:relative}.nav-item:hover{background:#2e3044;color:#f2f5ff}.nav-item.active{color:#7dc4ff;background:#303951}.nav-item.active:before{content:"";position:absolute;left:-12px;top:5px;bottom:5px;width:3px;background:#70bbfa;border-radius:0 3px 3px 0}.customize{display:flex;gap:8px;align-items:center;background:none;border:0;color:#8d96b0;font-size:10px;padding:18px 12px}.sidebar-bottom{margin-top:auto;padding-top:32px}.sidebar-bottom .nav-item{font-size:11px;padding:11px 12px}.sidebar-status{display:flex;align-items:center;gap:7px;border-top:1px solid #363547;padding:18px 8px;color:#8f98b0;font-size:8px;letter-spacing:1px;margin-top:10px}.sidebar-status i,.mode-pill i{height:5px;width:5px;border-radius:50%;background:#7d9dca}.sidebar-status span{margin-left:auto}.workspace{margin-left:195px;min-width:0}.topbar{height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:var(--panel);border-bottom:1px solid var(--line);position:relative}.topbar>div,.topbar-right{display:flex;align-items:center;gap:17px}.breadcrumb{display:flex;align-items:center;gap:13px;font-size:11px;color:var(--muted)}.breadcrumb strong{font-weight:500;color:var(--text)}.mode-pill{display:flex;align-items:center;gap:7px;padding:5px 9px;font-size:10px;color:var(--muted);background:var(--panel-alt);border:1px solid var(--line);border-radius:4px}.mode-pill.personal i{background:#6ad399}.topbar-import{display:flex;gap:6px;align-items:center;background:none;border:0;font-size:11px;color:var(--muted)}.top-avatar{width:26px;height:26px;font-size:10px}.icon-button.mobile-menu{display:none}.workspace main{max-width:1800px;margin:0 auto;padding:25px 26px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.heading-actions{display:flex;gap:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;padding:10px 13px;font-size:11px;font-weight:600;border-radius:5px;min-height:35px;white-space:nowrap}.button.primary{color:#111e30;background:#79bffd;border-color:#79bffd;box-shadow:none}.button.primary:hover{background:#9bcefc}.button.secondary{color:var(--text);background:var(--panel-alt);border-color:var(--line)}.button.secondary:hover{border-color:#62748e}.button.danger{background:#412c38;color:#ffa9b7;border-color:#70404e}.icon-button{width:29px;height:29px;border:1px solid var(--line);background:var(--panel-alt);color:var(--muted);display:grid;place-items:center}.example-banner{display:flex;align-items:center;gap:9px;padding:10px 12px;background:#202938;border:1px solid #303e52;border-radius:5px;color:#9eb2cd;margin-bottom:18px}.example-banner p{font-size:11px;margin:0;flex:1;line-height:1.5}.example-banner button{display:flex;align-items:center;gap:7px;border:0;background:none;font-size:10px;color:#80c3fb;white-space:nowrap}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.summary-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 10px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:16px;box-shadow:none}.summary-card>span{font-size:9px;font-weight:600;letter-spacing:1px;color:var(--muted)}.summary-card>strong{font-size:25px;line-height:1;grid-column:2;grid-row:1/3;letter-spacing:-.8px}.summary-card strong small{font-size:10px;font-weight:400;letter-spacing:0;color:var(--muted)}.summary-card p{margin:0;color:var(--muted);font-size:10px}.calendar-panel{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel);box-shadow:none}.calendar-toolbar{display:flex;justify-content:space-between;gap:10px;padding:13px 12px;border-bottom:1px solid var(--line);background:var(--panel)}.date-controls,.calendar-actions{display:flex;align-items:center;gap:8px}.date-controls h2{font-size:13px;margin:0;min-width:112px;text-align:center}.today-button{color:var(--muted);border:1px solid var(--line);background:none;padding:7px 9px;font-size:10px;margin-left:5px}.calendar-zone{font-size:10px;color:var(--muted);margin-right:10px}.segmented{display:flex;padding:3px;background:var(--bg);border:1px solid var(--line);border-radius:5px;gap:3px}.segmented button{padding:6px 11px;border:0;background:none;color:var(--muted);font-size:10px;white-space:nowrap}.segmented button.selected{background:#31415b;color:#92cfff;box-shadow:none}.calendar-column-labels,.week-row{display:grid;grid-template-columns:110px repeat(7,minmax(0,1fr))}.calendar-column-labels{background:var(--panel-alt);border-bottom:1px solid var(--line);padding:10px 0;color:var(--muted);font-size:9px}.calendar-column-labels span{text-align:center;text-transform:uppercase;font-weight:500}.calendar-column-labels span:first-child{font-size:8px;letter-spacing:.7px}.calendar-grid,.calendar-grid.week,.calendar-grid.month{display:block;gap:0;background:var(--bg);border:0;padding:0}.week-row{min-height:171px;border-bottom:1px solid var(--line)}.week-row:last-child{border:0}.week-totals{padding:13px 10px;background:var(--panel);font-size:9px;color:var(--muted)}.week-totals>div:first-child{display:flex;justify-content:space-between;gap:4px;align-items:center;margin-bottom:16px}.week-totals strong{font-size:10px;color:var(--text)}.week-totals>div:first-child span{font-size:8px}.week-totals p{display:flex;justify-content:space-between;margin-bottom:5px}.week-totals b{color:var(--text);font-weight:500}.week-totals small{font-size:8px;display:block;color:#b8a67f;margin-top:8px}.week-sport-totals{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.week-sport-totals span{display:flex;align-items:center;gap:3px}.cycling{color:var(--cycling)}.strength{color:var(--strength)}.running{color:var(--running)}.calendar-cell{min-width:0;background:var(--bg);border:0;border-left:1px solid #292c3a;border-radius:0;padding:0 5px 12px;position:relative;min-height:0}.calendar-cell.chosen{background:#202733;box-shadow:inset 0 2px #6bb7f4}.calendar-cell.today-cell{box-shadow:inset 2px 0 #739ad3}.day-button{background:none;border:0;display:flex;align-items:center;justify-content:center;gap:4px;color:var(--muted);width:100%;min-height:35px;padding:0;font-size:9px;border-radius:0}.day-button>span:first-child{display:none}.day-button strong{font-size:10px;font-weight:500;color:var(--muted);background:none;width:auto;height:auto}.day-button>span.day-month{font-size:9px;display:inline}.chosen .day-button strong,.chosen .day-button .day-month{color:#79c2fc}.day-dots{display:none}.cell-recovery{display:flex;gap:4px;align-items:center;justify-content:center;color:#aeb0ca;font-size:8px;height:17px;margin-top:-5px;margin-bottom:5px}.cell-entries{display:grid;gap:6px}.entry-card{display:block;width:100%;text-align:left;background:#253140;color:#a8d8fc;border:1px solid #3a5166;border-radius:4px;overflow:hidden;padding:0 11px 10px;box-shadow:none;margin:0 0 8px;min-width:0}.entry-card.strength{background:#302938;border-color:#544260;color:#d4b7ef}.entry-card.running{background:#23352f;border-color:#365748;color:#94ddb6}.entry-card.swimming{background:#23373a;border-color:#37595f;color:#99d6e0}.entry-card.other{background:#303440;border-color:#454c62;color:#b3bfdc}.entry-card:hover{filter:brightness(1.16);transform:none}.entry-top{display:flex;gap:5px;align-items:center;color:inherit;font-size:9px;font-weight:500;padding:7px 0;letter-spacing:.1px;text-transform:none}.entry-top svg:last-child:not(:first-child){margin-left:auto}.entry-card strong{display:block;font-size:12px;line-height:1.45;margin:0 0 5px;color:#e5eaf5;font-weight:500}.entry-card .entry-meta{display:flex;align-items:center;gap:5px;font-size:9px;color:#bbc3d4;opacity:1;flex-wrap:wrap}.entry-card.completed.compact{padding:0 6px 7px;margin:0}.compact .entry-top{margin:0 -6px 7px;padding:4px 6px;background:#236d9f;color:#d5edff;font-size:8px}.compact.strength .entry-top{background:#71568f;color:#f0e5ff}.compact.running .entry-top{background:#327453;color:#d8f5e5}.compact.other .entry-top{background:#515b75;color:#e5ebff}.entry-card.compact strong{font-size:10px;line-height:1.35;margin:3px 0 6px}.compact .entry-top svg{width:12px;height:12px}.compact .entry-meta{font-size:8px;gap:3px}.entry-card.planned{border-style:dashed;background:#222732;opacity:.9}.entry-card.planned.strength{background:#2c2732}.entry-card.planned.running{background:#242e29}.entry-card.planned.compact{padding:0 6px 7px;margin:0}.planned.compact .entry-top{background:none;color:inherit;padding-bottom:0}.mini-power{display:block;width:100%;height:24px;margin:5px 0;color:#66c7ee}.more-entries{color:var(--muted);border:0;background:none;font-size:9px;text-align:left}.calendar-footer{display:flex;justify-content:space-between;gap:12px;padding:12px;background:var(--panel);font-size:9px;color:var(--muted);border-top:1px solid var(--line)}.chart-legend{display:flex;gap:15px;flex-wrap:wrap;align-items:center;font-size:10px}.month .week-row{min-height:140px}.day-panel{margin-top:22px;border:1px solid var(--line);border-radius:6px;background:var(--panel);padding:19px}.day-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.day-title h2{font-size:18px;margin:5px 0 0}.day-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.section-line{display:flex;align-items:center;gap:9px;margin-bottom:14px;color:var(--muted)}.section-line h3{font-size:12px;margin:0;color:var(--text)}.count-pill{font-size:9px;background:var(--panel-alt);color:var(--muted);padding:2px 6px;border-radius:4px}.empty-agenda{font-size:12px}.recovery-list,.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;padding:0;border:0}.recovery-metric{display:flex;gap:10px;background:none;border:0;padding:0;min-width:0}.metric-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:5px;background:#323344;color:#bda2e0}.metric-icon.hrv{color:#81caff;background:#2c3b4c}.metric-icon.restingHr{color:#f29ea9;background:#41313c}.metric-content>span{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.metric-content strong{display:block;color:var(--text);font-size:17px;font-weight:550}.metric-content small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.metric-content strong.missing{font-size:12px;font-weight:400;color:var(--muted)}.day-recovery .chart-note{font-size:9px;margin-top:17px}.page-footer{display:flex;align-items:center;justify-content:space-between;color:var(--muted);padding:25px 0;font-size:9px;border:0;margin:0}.page-footer>button{display:flex;align-items:center;gap:7px;font-size:9px;background:none;border:0;color:var(--muted)}.mobile-nav{display:none}.analysis-range{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border:1px solid var(--line);background:var(--panel);padding:14px 17px;border-radius:5px;margin-bottom:20px}.range-caption{font-size:12px;font-weight:500}.range-caption>span{display:block;font-size:9px;color:var(--muted);margin-top:5px}.range-presets{display:flex;gap:5px;flex-wrap:wrap}.range-presets button{font-size:10px;padding:7px 10px;color:var(--muted);background:var(--panel-alt);border:1px solid transparent}.range-presets button.active{color:#8acaff;background:#303e56;border-color:#435a7c}.range-end{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin:0}.range-end input{padding:6px 8px;width:138px;font-size:11px;margin:0}.analysis-subheader{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0 17px;color:var(--muted);font-size:10px}.analysis-subheader>span{display:flex;align-items:center;gap:8px;letter-spacing:.8px}.analysis-subheader label{display:flex;align-items:center;gap:12px;margin:0;font-size:10px}.analysis-subheader select{width:auto;max-width:320px;font-size:11px;margin:0}.dashboard-chart-panel{background:#191b24;border:1px solid var(--line);border-radius:5px;overflow:hidden;margin-bottom:13px;color:#e4e8f4}.chart-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:#252634;border-bottom:1px solid #333748}.chart-panel-title h3{margin:0;font-size:12px;color:#d9deec;font-weight:500}.chart-panel-title>span,.chart-panel-title>div{font-size:10px;color:#9da6ba}.chart-panel-title>div{display:flex;align-items:center;gap:18px}.chart-panel-title strong{color:#e4e8f4;font-size:12px;font-weight:500;min-width:70px;text-align:right}.trend-chart{height:186px;padding:0 10px 0 0}.chart-note{font-size:10px;line-height:1.7;margin:14px 0}.dashboard-chart-panel>.chart-note,.dashboard-chart-panel>.chart-legend{padding:0 16px;color:#a5acc0}.strength-chart{height:330px;padding:3px 10px 0}.ride-picker{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:20px}.ride-picker label{margin:0;min-width:0;width:420px;max-width:65%;font-size:10px;color:var(--muted)}.ride-picker select{font-size:12px;width:100%;padding:11px}.ride-summary,.effort-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);background:var(--panel);border-radius:5px;margin-bottom:22px}.ride-summary>div,.effort-grid>div{padding:16px 20px;border-right:1px solid var(--line)}.ride-summary>div:last-child,.effort-grid>div:last-child{border:0}.ride-summary span,.effort-grid span{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}.ride-summary strong,.effort-grid strong{font-size:24px;font-weight:550;letter-spacing:-.7px}.ride-analysis{background:var(--panel);padding:20px;border:1px solid var(--line);border-radius:5px}.chart-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.chart-toolbar h3{font-size:17px;margin:5px 0 0}.chart-caption{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:10px}.ride-chart{height:285px;background:#191b24;border-radius:4px;padding:5px 2px 0}.zoom-controls{display:flex;align-items:center;gap:25px;margin-top:14px}.zoom-controls label{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);flex:1;margin:0;min-width:0}.zoom-controls label span{min-width:38px;font-variant-numeric:tabular-nums}.zoom-controls input{min-width:40px;width:100%;padding:0;height:15px;margin:0;accent-color:#9ca1e7;box-shadow:none}.zoom-controls .button{font-size:10px;padding:7px 10px}.power-curve-header{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin:24px 0 14px}.power-curve-header h3{font-size:15px;margin:0}.power-curve-header span{color:var(--muted);font-size:10px}.effort-grid{margin-bottom:15px;background:var(--bg)}.effort-grid>div{padding:14px 17px}.effort-grid strong{font-size:23px}.effort-grid small{font-size:10px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:5px}.curve-chart{height:185px;background:#191b24;border-radius:4px}.analysis-history{margin-top:20px;display:grid;gap:6px}.analysis-history>button{display:flex;align-items:center;gap:20px;width:100%;text-align:left;padding:14px;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:11px}.analysis-history strong{flex:1;font-size:12px;color:var(--text);font-weight:500}.analysis-history svg{color:var(--accent)}.no-chart,.chart-empty,.empty-state{display:grid;place-content:center;justify-items:center;text-align:center;min-height:170px;padding:25px;color:var(--muted);background:var(--panel);border:1px dashed var(--line);border-radius:4px}.no-chart h3,.empty-state h3{margin:13px 0 0;color:var(--text)}.no-chart p,.empty-state p{font-size:12px;margin:8px 0}.chart-empty{font-size:12px}.dashboard-chart-panel .no-chart{border:0;background:#191b24}.recharts-tooltip-wrapper{z-index:5}.dialog{width:min(530px,calc(100vw - 36px));max-height:90dvh;margin:auto;background:var(--panel);color:var(--text);border:1px solid #454a60;border-radius:10px;padding:0;box-shadow:0 24px 100px #050810a6}.dialog.wide{width:min(930px,calc(100vw - 36px))}.dialog::backdrop{background:#080b16bf;backdrop-filter:blur(4px)}.dialog-inner{padding:27px}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.dialog-header h2{margin:0;font-size:19px;color:var(--text)}label{display:block;font-size:12px;font-weight:500;color:var(--text);margin:15px 0}input,select,textarea{display:block;width:100%;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--text);padding:11px 12px;margin-top:7px;font-size:13px;box-shadow:none;min-width:0}input::placeholder,textarea::placeholder{color:#7e879f}input[type=checkbox]{display:inline-block;width:16px;height:16px;accent-color:#70b8f2;padding:0;margin:0}input[type=range]{accent-color:#87bdf6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row label{min-width:0}.optional{font-size:10px;color:var(--muted);font-weight:400;margin-left:4px}.form-intro{font-size:12px;margin-bottom:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.full-width{width:100%;margin-top:12px}.error,.success,.storage-warning{padding:12px;border-radius:5px;font-size:12px;line-height:1.6}.error{color:#ffafb9;background:#3d2932;border:1px solid #6b3c49}.success{color:#9fd6b6;background:#24392f;border:1px solid #3b5d4c}.storage-warning{color:#f3ce88;background:#493b25;border:1px solid #77613b;margin:10px 20px}.detail-hero{display:flex;align-items:center;gap:14px;margin-bottom:22px;background:none;padding:0}.sport-square{width:48px;height:48px;display:grid;place-items:center;background:var(--panel-alt);border:1px solid var(--line);border-radius:8px}.detail-hero h3{margin:5px 0 0;font-size:24px}.detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}.detail-stats span,.detail-stats small{display:block;font-size:10px;color:var(--muted)}.detail-stats strong{display:block;font-size:17px;font-weight:500;margin:7px 0}.detail-notes{font-size:12px;color:var(--muted)}.sets h3{margin:20px 0 12px}.exercise{border:1px solid var(--line);border-radius:5px;margin:10px 0;overflow:hidden}.exercise h4{background:var(--panel-alt);padding:13px;margin:0}.exercise table{width:100%;border-collapse:collapse;font-size:12px}.exercise th,.exercise td{text-align:left;padding:9px 13px;border-bottom:1px solid var(--line)}.exercise th{font-size:10px;color:var(--muted);font-weight:500}.source-details{margin-top:25px;border-top:1px solid var(--line);padding-top:15px}.source-details summary{display:flex;align-items:center;gap:10px;font-size:12px;cursor:pointer}.source-details p{font-size:12px;overflow-wrap:anywhere}.source-details>div{padding-top:12px}.provider-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.provider-chips span{display:flex;align-items:center;gap:6px;background:var(--panel-alt);border:1px solid var(--line);border-radius:5px;padding:8px 10px;font-size:11px;color:var(--muted)}.dropzone{display:grid;justify-items:center;gap:10px;width:100%;background:var(--bg);border:1px dashed #53617b;border-radius:7px;padding:30px;color:var(--text)}.upload-icon{display:grid;place-items:center;background:#2f4058;color:#90c9ff;border-radius:8px;width:44px;height:44px}.dropzone strong{font-size:17px;font-weight:500}.dropzone>span:not(.upload-icon),.dropzone small{font-size:11px;color:var(--muted)}.selected-files{display:grid;gap:8px;margin:14px 0;overflow-wrap:anywhere}.selected-files>span{font-size:12px;display:flex;justify-content:space-between;gap:15px}.selected-files small{color:var(--muted);white-space:nowrap}.timezone-confirm{background:var(--bg);border:1px solid var(--line);padding:0 16px 8px;margin:16px 0;border-radius:5px}.checkbox-label{display:flex;align-items:center;gap:9px;font-size:11px}.import-help{display:flex;align-items:start;gap:10px;color:var(--muted);margin:22px 0;font-size:11px}.import-help p{margin:0}.import-help svg{color:var(--accent)}.import-history-heading{display:flex;align-items:center;justify-content:space-between;margin-top:27px;font-size:14px}.import-log{border-bottom:1px solid var(--line);padding:13px 0}.import-log summary{display:flex;align-items:center;justify-content:space-between;font-size:11px;cursor:pointer;gap:10px;overflow-wrap:anywhere}.import-log svg{color:#84cfa2}.import-log p{margin:10px 0}.import-progress{color:var(--accent);font-size:12px}.toggle-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;margin:0}.toggle-row>span{display:flex;align-items:center;gap:9px}.tab-options{margin-bottom:22px}.settings-section{border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.text-danger{border:0;background:none;color:#f49cae;font-size:12px;padding:0}.toast{display:flex;align-items:center;gap:10px;position:fixed;bottom:24px;left:calc(50% + 90px);transform:translate(-50%);border:1px solid #526581;background:#2a374a;color:#e4edfa;padding:13px 16px;border-radius:7px;box-shadow:0 10px 30px #080b1680;font-size:12px;z-index:100;max-width:90vw}.toast button{background:none;border:0;color:#94ceff;font-size:12px;display:flex;align-items:center}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.connection-intro{background:linear-gradient(115deg,#26354a,#26283a);border:1px solid #3c4b65;border-radius:7px;padding:26px;margin-bottom:23px;position:relative}.connection-intro h2{font-size:23px;margin:8px 0}.connection-intro p{font-size:12px;color:#a9b6cc;max-width:650px;margin-bottom:17px}.connection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.provider-card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:20px;min-width:0}.provider-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.provider-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:8px;color:#8ecbff;background:#2b4257}.provider-icon.hevy{color:#c5a8f1;background:#3a314d}.provider-icon.google-health{color:#89d8b0;background:#29493b}.connection-status{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:5px}.provider-card h3{font-size:17px;margin-bottom:9px}.provider-card>p{font-size:11px;color:var(--muted);min-height:54px}.provider-imported{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;padding:12px 0;border-top:1px solid var(--line)}.provider-actions{display:grid;gap:10px;margin-top:9px}.setup-button{border:0;background:none;color:var(--accent);font-size:10px;display:flex;align-items:center;justify-content:center;gap:6px;padding:5px}.provider-requirements{padding:15px;background:var(--bg);border-radius:4px;margin-top:15px;font-size:11px;color:var(--muted)}.provider-requirements p{margin-bottom:10px}.provider-requirements a{font-size:10px;display:inline-flex;gap:5px;align-items:center}.sync-roadmap{padding:23px;background:var(--panel);border:1px solid var(--line);border-radius:6px;margin:22px 0}.sync-roadmap h3{font-size:15px}.sync-roadmap ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-left:20px;color:var(--muted);font-size:11px;line-height:1.7}.sync-roadmap strong{display:block;color:var(--text);font-size:11px}.sync-roadmap .button{margin-top:10px}.connection-bottom{color:var(--muted);font-size:11px;line-height:1.7}.connection-bottom a{font-size:11px}.login-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:#191c27;color:#e4e9f5}.login-story{padding:45px 55px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(ellipse at 30% 60%,#253750,#1c2338 60%,#202136);position:relative;overflow:hidden;border-right:1px solid #353b51}.login-story .brand{padding:0;width:max-content;margin:0}.login-story>div{margin:50px 0;max-width:520px}.login-story .eyebrow{color:#8fabc8;font-size:9px}.login-story h1{font-size:clamp(32px,3.5vw,53px);line-height:1.2;letter-spacing:-1.6px;font-weight:600;margin:20px 0;color:#e9effb}.login-story h1 em{font-style:normal;color:#8cc6f4}.login-story p{font-size:14px;color:#a2b2cd;line-height:1.9}.login-graph{margin-top:30px;padding:10px 0;background:repeating-linear-gradient(0deg,transparent,transparent 39px,#526b8b25 39px,#526b8b25 40px)}.login-graph svg{width:100%;display:block}.login-story-footer{font-size:10px;color:#899ab6;letter-spacing:.3px}.login-form{padding:35px 45px;display:flex;flex-direction:column}.back-link{display:flex;align-items:center;gap:9px;border:0;background:none;color:#a5aec3;font-size:11px;align-self:flex-start;padding:0}.login-form-inner{width:100%;max-width:370px;margin:auto;padding:55px 0}.login-form-inner h2{font-size:29px;letter-spacing:-.7px;line-height:1.25;font-weight:600;margin:12px 0;color:#e8edf8}.login-form-inner>p{font-size:12px;color:#9da8c0}.google-button{display:flex;justify-content:center;align-items:center;gap:12px;border:1px solid #4b536c;border-radius:6px;background:#262c3c;color:#e9edf6;font-size:12px;padding:13px;width:100%;margin:26px 0 22px}.google-letter{font-size:18px;color:#98bfee;font-weight:700}.login-divider{display:flex;align-items:center;gap:15px;color:#7f8ca7;font-size:10px;margin-bottom:22px}.login-divider span{height:1px;background:#343b4f;flex:1}.login-form label{color:#c5cfe1;font-size:11px}.login-form input{background:#202635;border-color:#3c475e;color:#edf2ff;padding:13px;font-size:13px}.login-form .button{padding:13px;font-size:12px}.auth-setup{display:flex;gap:10px;padding:14px;border:1px solid #45516a;background:#252f40;color:#b4c7e0;border-radius:5px;margin:22px 0}.auth-setup strong{font-size:11px}.auth-setup p{font-size:11px;margin:7px 0 0;line-height:1.6;color:#99abc7}.auth-setup svg{color:#91bce6}.auth-success{display:flex;align-items:center;gap:9px;color:#9bcbae;font-size:12px;margin:20px 0;overflow-wrap:anywhere}.continue-local{width:100%;background:none;border:0;display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;color:#a7c8ef;padding:10px}.login-form-inner>p.auth-footnote{font-size:10px;line-height:1.8;color:#8794ad;margin-top:25px}.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.auth-links button{border:0;background:none;color:#a2c9f2;font-size:11px;padding:0}.auth-links button:only-child{margin:auto}@media(min-width:1600px){.calendar-column-labels,.week-row{grid-template-columns:120px repeat(7,minmax(0,1fr))}.week-row{min-height:185px}.entry-card.compact strong{font-size:11px}.compact .entry-meta,.compact .entry-top{font-size:9px}.workspace main{padding:30px 35px 0}}@media(max-width:1150px)and (min-width:761px){.sidebar{width:175px}.workspace{margin-left:175px}.workspace main{padding:22px 16px 0}.topbar{padding:0 18px}.calendar-column-labels,.week-row{grid-template-columns:87px repeat(7,minmax(0,1fr))}.calendar-column-labels{font-size:8px}.week-totals{padding:12px 7px}.week-totals>div:first-child{display:grid}.week-totals small{font-size:7px}.calendar-zone{display:none}.summary-card{padding:13px 10px;display:block}.summary-card>strong{display:block;font-size:23px;margin:9px 0}.summary-card>span{font-size:8px}.compact .entry-meta{font-size:7px}.entry-card.compact strong{font-size:9px}.calendar-cell{padding:0 3px 10px}.calendar-footer{font-size:8px}.calendar-footer>span:last-child{display:none}.connection-grid{gap:10px}.provider-card{padding:15px}.provider-card-top{align-items:start;flex-direction:column}.login-story{padding:40px 32px}.login-form{padding:35px 30px}}@media(max-width:760px){.sidebar{display:none;width:220px;box-shadow:20px 0 80px #070b16a0;padding-top:24px;padding-bottom:75px}.sidebar.open{display:flex}.workspace{margin-left:0}.topbar{height:53px;padding:0 14px}.topbar>div,.topbar-right{gap:10px}.icon-button.mobile-menu{display:grid}.breadcrumb{font-size:10px;gap:6px}.breadcrumb>strong,.breadcrumb>svg{display:none}.topbar-import{display:none}.top-avatar{width:25px;height:25px}.mode-pill{font-size:9px;padding:5px 7px}.workspace main{padding:20px 14px 80px}.page-heading{align-items:center;margin-bottom:18px;gap:10px}.page-heading .eyebrow{font-size:7px;letter-spacing:1.1px}h1{font-size:24px;margin-top:5px}.heading-actions{gap:5px}.heading-actions .button{font-size:10px;padding:8px;min-height:33px}.heading-actions .secondary{width:33px;font-size:0;gap:0}.heading-actions .secondary svg{width:16px}.heading-actions .primary svg{width:14px}.example-banner{padding:9px;gap:7px;align-items:start;margin-bottom:15px}.example-banner>svg{width:14px;margin-top:2px}.example-banner p{font-size:9px;line-height:1.5}.example-banner button{font-size:9px;gap:4px;padding:1px 0}.example-banner button svg{width:11px}.summary-grid{gap:7px;margin-bottom:17px}.summary-card{display:block;padding:12px 8px}.summary-card>span{display:block;font-size:7px;letter-spacing:.5px;line-height:1.7;min-height:24px}.summary-card>strong{display:block;font-size:21px;margin:8px 0 7px}.summary-card strong small{font-size:8px}.summary-card p{font-size:8px;line-height:1.6}.calendar-toolbar{padding:10px 8px;flex-direction:column;gap:11px}.date-controls{justify-content:space-between;gap:4px}.date-controls h2{font-size:13px}.date-controls .icon-button{width:26px;height:26px}.today-button{font-size:9px;padding:6px 9px}.calendar-actions{justify-content:space-between}.calendar-zone{display:block;font-size:9px;margin:0}.segmented{gap:0}.segmented button{font-size:9px;padding:5px 10px}.calendar-column-labels{display:none}.calendar-grid .week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:0}.week-totals{display:none}.calendar-cell{padding:0;border-left:1px solid var(--line);background:var(--bg);min-height:0}.calendar-cell:first-of-type{border-left:0}.calendar-cell.chosen{background:#2c3c53;box-shadow:inset 0 2px #80c6ff}.day-button{display:flex;flex-direction:column;gap:7px;min-height:88px;padding:10px 1px;position:relative}.day-button>span:first-child{display:block;font-size:9px}.day-button strong{font-size:16px;font-weight:500;color:var(--text)}.day-button>span.day-month{display:none}.chosen .day-button strong{color:#a2d8ff}.day-dots{display:flex;gap:3px;min-height:4px}.day-dots i{height:4px;width:4px;border-radius:50%;background:currentColor}.cell-recovery,.cell-entries{display:none}.calendar-footer{padding:11px 8px;display:block}.calendar-footer>span:last-child{display:none}.calendar-footer .chart-legend{gap:9px;font-size:8px}.month .day-button{min-height:62px;padding:7px 0;gap:4px}.month .day-button strong{font-size:13px}.month .day-button>span:first-child{font-size:7px}.month .day-dots i{height:3px;width:3px}.month .week-row{min-height:0}.day-panel{padding:16px 13px;margin-top:17px}.day-title{align-items:center;gap:8px}.day-title h2{font-size:17px;line-height:1.4}.day-title .eyebrow{font-size:8px}.day-title .button{font-size:9px;padding:8px;gap:4px}.day-content{display:block}.day-recovery{border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.recovery-list{gap:22px 12px}.metric-content>span{font-size:9px}.metric-content strong{font-size:16px}.metric-content small{font-size:8px}.metric-icon{width:27px;height:27px}.day-recovery .chart-note{font-size:9px}.page-footer{padding:22px 0;font-size:8px}.page-footer>button{font-size:8px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;border-top:1px solid #3c4156;background:#232737f5;backdrop-filter:blur(12px);padding:8px 5px max(8px,env(safe-area-inset-bottom));height:65px;justify-content:space-around}.mobile-nav button{background:none;border:0;color:#8e9cb8;font-size:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:45px}.mobile-nav button.active{color:#84c9ff}.dialog,.dialog.wide{max-width:100vw;width:100%;max-height:100dvh;height:100dvh;margin:0;border-radius:0;border:0}.dialog-inner{padding:21px 17px 35px}.dialog-header h2{font-size:19px}.dialog input,.dialog select,.dialog textarea{font-size:16px}.dialog .chart-toolbar .segmented button{font-size:9px}.dialog .ride-analysis{padding:12px}.dialog-header{margin-bottom:22px}.detail-hero h3{font-size:23px}.detail-stats{gap:8px}.detail-stats strong{font-size:14px}.detail-stats span,.detail-stats small{font-size:9px}.provider-chips{gap:5px}.provider-chips span{font-size:9px;padding:7px 6px;gap:4px}.provider-chips svg{width:13px}.dropzone{padding:25px 12px}.dropzone strong{font-size:16px}.dropzone>span:not(.upload-icon),.dropzone small{font-size:10px}.exercise th,.exercise td{padding:9px;font-size:11px}.toast{left:50%;bottom:80px;width:max-content;font-size:11px}.analysis-range{padding:12px;gap:15px;display:grid;grid-template-columns:1fr auto}.range-caption{font-size:11px}.range-caption>span{font-size:9px}.range-presets{grid-column:1/-1;grid-row:2;display:flex;gap:4px}.range-presets button{flex:1;font-size:8px;padding:7px 4px}.range-end{font-size:9px;display:block}.range-end input{font-size:12px;width:125px;margin-top:5px;padding:5px}.analysis-subheader{align-items:start;gap:15px;flex-direction:column;margin-bottom:15px;font-size:10px}.analysis-subheader label{width:100%;display:block;font-size:9px}.analysis-subheader select{width:100%;max-width:none;font-size:13px;margin-top:6px}.chart-panel-title{padding:11px 10px;gap:8px;flex-wrap:wrap}.chart-panel-title h3{font-size:11px}.chart-panel-title>div{gap:12px;font-size:8px;width:100%}.chart-panel-title strong{font-size:10px;margin-left:auto}.chart-panel-title>span{font-size:9px}.trend-chart{height:170px;padding:0}.strength-chart{height:270px;padding:0}.chart-note{font-size:9px}.ride-picker{align-items:end;gap:7px}.ride-picker label{max-width:67%;font-size:9px}.ride-picker select{font-size:12px;padding:8px}.ride-picker .button{font-size:9px;padding:9px 7px;white-space:normal;max-width:100px}.ride-summary,.effort-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:15px}.ride-summary>div,.effort-grid>div{padding:12px 8px}.ride-summary span,.effort-grid span{font-size:8px}.ride-summary strong,.effort-grid strong{font-size:17px;letter-spacing:-.5px}.ride-analysis{padding:12px}.chart-toolbar{display:block;margin-bottom:18px}.chart-toolbar h3{font-size:16px;margin-bottom:13px}.chart-toolbar .segmented{width:max-content}.chart-caption{font-size:8px;gap:12px}.ride-chart{height:230px}.curve-chart{height:170px}.zoom-controls{gap:12px;flex-wrap:wrap}.zoom-controls label{flex-basis:100%;font-size:9px}.zoom-controls .button{padding:7px;min-height:29px;font-size:9px}.power-curve-header{gap:12px;margin-top:21px;padding-top:20px}.power-curve-header h3{font-size:13px}.power-curve-header span{font-size:8px;max-width:90px;text-align:right}.effort-grid small{display:block;font-size:8px;margin:3px 0 0;letter-spacing:0}.analysis-history>button{display:grid;grid-template-columns:auto 1fr auto;gap:7px 12px;font-size:9px;padding:12px}.analysis-history strong{font-size:10px}.analysis-history>button>span:nth-of-type(2){grid-column:2;grid-row:2}.analysis-history svg{grid-column:3;grid-row:1/3}.connection-intro{padding:20px 17px}.connection-intro h2{font-size:22px}.connection-intro p{font-size:11px}.connection-grid{grid-template-columns:1fr;gap:12px}.provider-card{padding:19px}.provider-card>p{min-height:0}.provider-actions{display:flex;align-items:center;justify-content:space-between}.sync-roadmap{padding:20px}.sync-roadmap ol{grid-template-columns:1fr;gap:14px}.login-page{display:block}.login-story{padding:24px 25px;border:0;border-bottom:1px solid #353b51;min-height:260px}.login-story .brand{font-size:25px}.login-story>div{margin:32px 0 10px}.login-story h1{font-size:30px;letter-spacing:-1px;margin:12px 0}.login-story .eyebrow{font-size:8px}.login-story p{font-size:11px;margin:0}.login-graph,.login-story-footer{display:none}.login-form{padding:22px 25px}.login-form-inner{padding:30px 0 15px;max-width:420px}.login-form-inner h2{font-size:25px}.login-form-inner>p{font-size:11px}.login-form input{font-size:16px}.auth-setup{font-size:10px}.auth-footnote{margin-bottom:20px}}.metric-source{color:var(--muted);font-size:9px;margin:13px 0 7px;overflow-wrap:anywhere}.metric-source label{display:flex;align-items:center;gap:12px;margin:0;color:var(--muted);font-size:10px}.metric-source select{width:auto;max-width:75%;font-size:10px;margin:0;padding:6px}.connection-bottom{display:flex;align-items:start;gap:10px}.connection-bottom p{margin:0}.sync-roadmap>div{display:flex;align-items:center;gap:10px;margin-bottom:18px}.sync-roadmap h3{margin:0}.chart-panel-title strong small{display:block;font-size:8px;color:#9da6ba;font-weight:400;margin-top:4px}.light-theme .example-banner{background:#e3ecf8;color:#4a6282;border-color:#c8d6eb}.light-theme .entry-card strong{color:#e5eaf5}.light-theme .calendar-cell.chosen{background:#dceafa}.light-theme .chosen .day-button strong,.light-theme .chosen .day-button .day-month{color:#17689e}.login-form .auth-provider-note{font-size:11px;color:#aebbd1;margin:10px 0 18px;line-height:1.6}.google-button:has(+.auth-provider-note){margin-bottom:8px}.ivl-calendar{--fs:1}.ivl-calendar.fs-s{--fs:.88}.ivl-calendar.fs-l{--fs:1.16}:root{--c-cycling:#1f7cf2;--c-running:#25c04a;--c-strength:#f0353f;--c-hiking:#e8552a;--c-walking:#d99a1e;--c-swimming:#14b8d4;--c-other:#7a8399}.sport-cycling{--sport:var(--c-cycling)}.sport-running{--sport:var(--c-running)}.sport-strength{--sport:var(--c-strength)}.sport-hiking{--sport:var(--c-hiking)}.sport-walking{--sport:var(--c-walking)}.sport-swimming{--sport:var(--c-swimming)}.sport-other{--sport:var(--c-other)}.legend-cycling{color:var(--c-cycling)}.legend-running{color:var(--c-running)}.legend-strength{color:var(--c-strength)}.legend-hiking{color:var(--c-hiking)}.ivl-panel{padding-bottom:12px}.ivl-panel .calendar-grid{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#17181f}.cal-settings-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:7px 12px;margin-right:8px}.ivl-calendar{display:block;font-size:calc(13px * var(--fs))}.ivl-head,.ivl-week{display:grid;grid-template-columns:178px repeat(7,minmax(0,1fr))}.ivl-calendar.no-sum .ivl-head,.ivl-calendar.no-sum .ivl-week{grid-template-columns:repeat(7,minmax(0,1fr))}.ivl-head{background:#1d1f29;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.ivl-head span{padding:10px 4px;text-align:center;font-size:calc(11.5px * var(--fs));font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#aab3c7}.ivl-week{border-bottom:1px solid var(--line);min-height:130px}.ivl-week:last-child{border-bottom:0}.ivl-week-sum{padding:12px 12px 10px;background:#1d1f29;color:var(--muted);display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--line)}.ws-head{display:flex;justify-content:space-between;align-items:baseline}.ws-head strong{color:var(--text);font-size:calc(14.5px * var(--fs));font-weight:700}.ws-head span{font-size:calc(11.5px * var(--fs))}.ws-big{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ws-big div{background:#262938;border-radius:6px;padding:6px 8px;display:flex;flex-direction:column}.ws-big span{font-size:calc(10px * var(--fs));text-transform:uppercase;letter-spacing:.7px}.ws-big b{color:var(--text);font-size:calc(16px * var(--fs));font-weight:700;line-height:1.2}.ws-loadbar{height:5px;background:#2b2f40;border-radius:3px;overflow:hidden}.ws-loadbar i{display:block;height:100%;background:linear-gradient(90deg,#1f7cf2,#b45cff);border-radius:3px}.ws-small{display:flex;justify-content:space-between;font-size:calc(12px * var(--fs));color:#c4cbdb}.ws-sports{width:100%;border-collapse:collapse;font-size:calc(12px * var(--fs))}.ws-sports td{padding:3px 0;color:#d6dbe6;white-space:nowrap}.ws-sports td:nth-child(2),.ws-sports td:nth-child(3){padding-left:6px}.ws-sports td:last-child{text-align:right;color:var(--muted)}.ws-icon{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;background:var(--sport);color:#fff}.ivl-empty-week{opacity:.6;margin:0;font-size:calc(12px * var(--fs))}.ivl-day{border-left:1px solid #262938;padding:0 5px 10px;min-width:0;display:flex;flex-direction:column;gap:5px}.ivl-week-sum+.ivl-day{border-left:0}.ivl-day.future{background:#1a1b23}.ivl-day.chosen{background:#1f2a3c}.ivl-day.today .ivl-date{color:#4fb0ff;font-weight:800}.ivl-date{background:none;border:0;color:#aab3c7;font-size:calc(12.5px * var(--fs));font-weight:600;padding:7px 0 1px;text-align:center;width:100%;border-radius:0}.ivl-date:hover{color:var(--text)}.ivl-dow{display:none}.recovery-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 8px;font-size:calc(11.5px * var(--fs));font-weight:600;color:#b8bdd0;line-height:1.35}.recovery-strip span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.recovery-strip .sleep{color:#d2b8ff}.recovery-strip .rhr{color:#ff6b8a}.recovery-strip .hrv{color:#ff8fb0}.recovery-strip .steps{color:#3fdc8f}.ivl-tiles{display:grid;gap:6px}.tile{display:block;width:100%;padding:0;border:0;border-radius:6px;overflow:hidden;text-align:center;background:color-mix(in srgb,var(--sport) 13%,#1b1c25);color:var(--text);min-width:0;box-shadow:0 1px 3px #0005;outline:1px solid color-mix(in srgb,var(--sport) 30%,transparent);outline-offset:-1px}.tile:hover{filter:brightness(1.15);transform:translateY(-1px)}.tile{transition:transform .12s,filter .12s}.tile-head{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;background:var(--sport);color:#fff;padding:6px 8px;font-size:calc(14.5px * var(--fs));line-height:1.2;letter-spacing:.1px}.tile-head b,.tile-head .tile-distance{font-weight:700}.tile-body{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 8px 9px;font-size:calc(12.5px * var(--fs))}.tile-metrics{display:flex;gap:6px;font-weight:700;flex-wrap:wrap;justify-content:center}.tile-metrics .hr{color:#ff4fa3}.tile-metrics .pw{color:#c792ff}.tile-load{color:#f2f4f8;font-weight:700}.tile-sets{color:#c4cad8;font-size:calc(11.5px * var(--fs))}.tile-title{color:#e2e6ef;font-size:calc(12px * var(--fs));font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.tile-graph{display:block;width:100%;margin:4px 0 2px}.tile.compact .tile-head{padding:6px}.tile.planned{background:transparent;border:1.5px dashed var(--sport)}.tile.planned .tile-head{background:transparent;color:var(--sport);text-shadow:none}.tile.planned small{color:var(--muted);font-size:calc(11px * var(--fs))}.ivl-more{margin:12px auto 0;display:flex}.month .ivl-week{min-height:96px}.calendar-settings{display:grid;gap:18px}.cs-group h4{margin:0 0 8px;font-size:13px;letter-spacing:.4px}.cs-group .toggle-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}.cs-choice{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}.power-curve-panel{margin-bottom:18px}.power-curve-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.season-curve-chart{height:300px}.fitness-chart{height:260px}.curve-legend{display:flex;flex-direction:column;gap:3px;font-size:11px;margin-top:6px}.best-efforts{width:100%;border-collapse:collapse;font-size:12px}.best-efforts th,.best-efforts td{padding:4px 6px;text-align:right;border-bottom:1px solid #2b2d3c}.best-efforts th:first-child,.best-efforts td:first-child{text-align:left;color:var(--muted)}.best-efforts thead th{font-weight:600;font-size:10px;color:var(--muted)}.best-efforts .ftp-row td{font-weight:700;color:var(--text);border-bottom:0}.link-button{background:none;border:0;padding:0;color:var(--text);font-weight:600;text-decoration:underline dotted #5b6b85;text-underline-offset:3px}.small-seg button{padding:4px 10px;font-size:11px}.fitness-now{display:flex;gap:14px;font-size:12px}.fitness-now .fit b{color:#4aa8ff}.fitness-now .fat b{color:#d16cff}.fitness-now .form b{color:#f0c75e}.recovery-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.recovery-summary>div{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.recovery-summary span{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.recovery-summary strong{font-size:22px;font-weight:600}.recovery-summary small{color:var(--muted);font-size:11px}.detail-stats-wide{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important}.athlete-settings .form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.light-theme .ivl-panel .calendar-grid{background:#fff}.light-theme .ivl-head,.light-theme .ivl-week-sum{background:#f1f4f9}.light-theme .ivl-day{border-color:#dfe4ee}.light-theme .ivl-day.future{background:#f7f9fc}.light-theme .ivl-day.chosen{background:#e3eefb}.light-theme .tile{background:#f0f2f7;color:#242c3d}.light-theme .tile-title,.light-theme .tile-load{color:#3a4458}.light-theme .recovery-strip{color:#5b657b}@media(max-width:1150px){.ivl-head,.ivl-week{grid-template-columns:132px repeat(7,minmax(0,1fr))}.ws-big,.power-curve-layout{grid-template-columns:1fr}.tile-head{font-size:11px}}@media(max-width:760px){.ivl-head{display:none}.ivl-week{display:block;min-height:0}.ivl-week-sum{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;border-right:0;border-bottom:1px solid var(--line)}.ws-head,.ws-loadbar,.ws-small,.ws-sports{grid-column:1/-1}.ivl-day{display:grid;grid-template-columns:62px 1fr;border-left:0;border-top:1px solid #2b2d3c;padding:6px 8px;gap:4px 8px}.ivl-date{text-align:left;padding:2px 0;grid-row:span 2;align-self:start}.ivl-dow{display:block;font-weight:600;color:var(--text)}.recovery-strip{justify-content:flex-start}.ivl-tiles{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.recovery-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.season-curve-chart{height:240px}.athlete-settings .form-row{grid-template-columns:1fr}}.pg{display:flex;flex-direction:column;gap:16px;margin-top:4px}.pg-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px;min-width:0}.pg-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;flex-wrap:wrap}.pg-card-title h3{margin:0 0 3px;font-size:17px;font-weight:650}.pg-card-title select,.pg-range input{background:var(--panel-alt);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:5px 8px;font-size:12px;max-width:260px}.pg-grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.pg-grid-2.wide-left{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.pg-grid-2>.recovery-source-panel{min-width:0}.pg-note{color:var(--muted);font-size:13px;line-height:1.55;margin:10px 0 0}.pg-empty{padding:30px;text-align:center;color:var(--muted)}.pg-link{background:none;border:0;color:var(--accent);font-size:12px;padding:8px 0 0}.pg-chart{height:250px}.pg-chart.tall{height:270px}.pg-chart.short{height:90px;margin-top:4px}.pg-range{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.pg-range-presets,.pg-toggle{display:flex;gap:2px;background:var(--panel-alt);border-radius:7px;padding:2px}.pg-range-presets button,.pg-toggle button{background:none;border:0;color:var(--muted);font-size:12px;padding:5px 10px;border-radius:5px}.pg-range-presets button.on,.pg-toggle button.on{background:#34405a;color:#fff}.pg-range input{margin-left:auto}.pg-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.pg-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.pg-stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.pg-card .pg-stat{background:var(--panel-alt);border:0}.pg-stat span{font-size:11.5px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}.pg-stat strong{font-size:26px;font-weight:650;letter-spacing:-.3px}.pg-stat small{color:var(--muted);font-size:13px}.readiness-card{display:flex;flex-direction:column;gap:14px}.rd-head{display:flex;align-items:center;gap:16px}.rd-head h2{margin:2px 0 4px;font-size:22px}.rd-head p{margin:0;max-width:440px}.score-ring{flex-shrink:0;color:var(--text)}.rd-factors{list-style:none;margin:0;padding:0;display:grid;gap:8px}.rd-factors li{display:grid;grid-template-columns:110px 80px minmax(60px,1fr);grid-template-areas:"l v b" "d d d";gap:2px 10px;align-items:center}.rd-label{grid-area:l;color:#c4cad8;font-size:14px}.rd-factors strong{grid-area:v;font-size:15px}.rd-bar{grid-area:b;height:6px;background:#2b2f40;border-radius:3px;overflow:hidden}.rd-bar i{display:block;height:100%;border-radius:3px}.rd-factors small{grid-area:d;color:var(--muted);font-size:13px}.rd-factors .stale{color:#f0b44c;font-style:normal}.checkin{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:6px}.checkin h4{display:flex;align-items:center;gap:6px;margin:0 0 4px;font-size:12.5px}.checkin h4 .muted{font-weight:400;font-size:11px}.checkin-row{display:grid;grid-template-columns:100px auto 1fr;align-items:center;gap:10px;font-size:14px}.checkin-row small{color:var(--muted);font-size:10.5px}.checkin-scale{display:flex;gap:4px}.checkin-scale button{width:36px;height:32px;border:1px solid var(--line);background:var(--panel-alt);color:var(--muted);border-radius:6px;font-size:12px}.checkin-scale button.on{background:#3a6fd8;border-color:#3a6fd8;color:#fff}.best-option{border-radius:9px;padding:14px 16px;background:#1d3a2b;border:1px solid #2f6b48;margin-bottom:12px}.best-option.status-caution{background:#3a3220;border-color:#6b5a2f}.best-option.status-avoid{background:#3a2226;border-color:#6b2f37}.best-option h2{display:flex;align-items:center;gap:8px;margin:4px 0 2px;font-size:24px}.best-option p{margin:0 0 6px;color:#d6dce8;font-size:14.5px}.best-option ul{margin:0;padding-left:18px;color:#d6dce8;font-size:14px;line-height:1.6}.status-go{--st:#3fd08a}.status-caution{--st:#f0b44c}.status-avoid{--st:#f0646d}.best-option h2 svg{color:var(--st)}.plan-check{display:flex;gap:10px;align-items:flex-start;border:1px dashed var(--st);border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:12.5px}.plan-check svg{color:var(--st);margin-top:2px}.plan-check div{display:flex;flex-direction:column;gap:2px}.plan-check span{color:var(--muted)}.option-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.option-list li{display:grid;grid-template-columns:82px 1fr auto;gap:10px;align-items:center;padding:8px 4px;border-top:1px solid #2a2d3b}.option-list li:first-child{border-top:0}.option-list .chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--st);background:color-mix(in srgb,var(--st) 14%,transparent);border-radius:20px;padding:3px 8px;justify-self:start}.option-list div{display:flex;flex-direction:column;min-width:0}.option-list strong{font-size:15px;font-weight:650}.option-list small{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-list .last{color:var(--muted);font-size:11px;white-space:nowrap}.body-status ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.bs-top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:5px}.bs-top strong{font-weight:600;font-size:12px}.bs-bar{position:relative;height:8px;background:#2b2f40;border-radius:4px}.bs-bar i{display:block;height:100%;border-radius:4px;max-width:100%}.bs-bar b{position:absolute;top:-3px;width:3px;height:14px;background:#fff;border-radius:2px;transform:translate(-1px)}.body-status small{display:block;margin-top:4px;font-size:12.5px}.body-status.compact ul{gap:14px}.week-progress{margin:12px 0}.week-progress div{height:8px;background:#2b2f40;border-radius:4px;overflow:hidden;margin-bottom:4px}.week-progress i{display:block;height:100%;background:linear-gradient(90deg,#3a6fd8,#4aa8ff);border-radius:4px}.sport-chips{display:flex;flex-wrap:wrap;gap:6px}.sport-chips span{display:inline-flex;align-items:center;gap:5px;border:1px solid;border-radius:20px;padding:3px 9px;font-size:11.5px}.fit-legend{display:flex;gap:16px;font-size:14px;color:var(--muted)}.fit-legend b{font-size:14px;margin-left:3px}.fit-legend .fit b{color:#4aa8ff}.fit-legend .fat b{color:#d16cff}.fit-legend .form b{color:#f0c75e}.pg-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted);margin-top:8px}.pg-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}.share-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.sl-top{display:flex;justify-content:space-between;font-size:14.5px}.sl-top span{display:flex;align-items:center;gap:6px}.sl-bar{height:6px;background:#2b2f40;border-radius:3px;margin:5px 0 3px;overflow:hidden}.sl-bar i{display:block;height:100%}.share-list small{font-size:12.5px}.pg-sessions{list-style:none;margin:0;padding:0}.pg-sessions li+li{border-top:1px solid #2a2d3b}.pg-sessions button{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr) auto 16px;gap:12px;align-items:center;background:none;border:0;padding:9px 4px;text-align:left;border-radius:6px}.pg-sessions button:hover{background:#ffffff06}.ps-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#fff}.ps-main{display:flex;flex-direction:column;min-width:0}.ps-main strong{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-main small{color:var(--muted);font-size:12.5px}.ps-metrics{display:flex;gap:14px;font-size:13.5px;font-weight:600;color:#c6cddc;flex-wrap:wrap;justify-content:flex-end}.ps-metrics .hr{color:#e65fa0}.ps-metrics .pw{color:#b98bff}.ps-metrics .ld{color:var(--muted)}.muscle-chip{background:#3a2226;color:#ffb3b9;border-radius:12px;padding:1px 8px;font-size:11px}.muscle-bars{list-style:none;margin:0;padding:0;display:grid;gap:7px}.muscle-bars li{display:grid;grid-template-columns:96px 1fr 28px;gap:10px;align-items:center;font-size:13.5px}.muscle-bars strong{text-align:right;font-size:12.5px}.mb-track{position:relative;height:12px;background:#2b2f40;border-radius:3px}.mb-track .target{position:absolute;top:0;bottom:0;background:#3fd08a14;border-left:1px dashed #3fd08a55;border-right:1px dashed #3fd08a55}.mb-track b{position:relative;display:block;height:100%;border-radius:3px;max-width:100%}.mb-track .avg{position:absolute;top:-3px;bottom:-3px;width:2px;background:#cfd6e6;z-index:1}.pg-table-wrap{overflow-x:auto}.pg-table{width:100%;border-collapse:collapse;font-size:14px}.pg-table th{text-align:left;font-weight:600;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line)}.pg-table td{padding:7px 8px;border-bottom:1px solid #2a2d3b;white-space:nowrap}.pg-table tbody tr{cursor:pointer}.pg-table tbody tr:hover{background:#ffffff06}.pg-table tr.on{background:#c8434b18}.pg-table .up{color:#3fd08a}.pg-table .down{color:#f0646d}.today-strip{display:grid;grid-template-columns:auto minmax(130px,auto) minmax(0,1fr) auto auto;align-items:center;gap:18px;width:100%;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 16px;margin-bottom:14px;color:var(--text)}.today-strip:hover{border-color:#41506d}.today-strip>span{display:flex;flex-direction:column;gap:1px;min-width:0}.today-strip strong{font-size:17px}.today-strip small{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-more{flex-direction:row!important;align-items:center;gap:5px!important;color:var(--accent);font-size:12.5px}.nav-group{display:block;margin:14px 0 6px}.pg .recovery-source-panel .dashboard-chart-panel,.pg .recovery-summary{margin:0}.light-theme .pg-range-presets button.on,.light-theme .pg-toggle button.on{background:#1677bd}.light-theme .best-option{background:#e5f6ec;border-color:#9fd8b7}.light-theme .best-option.status-caution{background:#fbf2df}.light-theme .best-option.status-avoid{background:#fbe5e7}.light-theme .best-option p,.light-theme .best-option ul,.light-theme .ps-metrics{color:#3a4458}.light-theme .rd-bar,.light-theme .bs-bar,.light-theme .mb-track,.light-theme .sl-bar,.light-theme .week-progress div{background:#e2e7f0}@media(max-width:1150px){.pg-grid-2,.pg-grid-2.wide-left{grid-template-columns:1fr}.today-strip{grid-template-columns:auto 1fr auto}.today-strip .ts-best{grid-column:1/-1;order:5}.today-strip .ts-more{display:none}}@media(max-width:760px){.pg-card{padding:14px}.pg-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.pg-stat strong{font-size:19px}.pg-range input{margin-left:0}.pg-range-presets{overflow-x:auto;max-width:100%}.rd-factors li{grid-template-columns:90px 70px 1fr}.checkin-row{grid-template-columns:70px auto}.checkin-row small{display:none}.option-list li{grid-template-columns:76px 1fr}.option-list .last{display:none}.pg-sessions button{grid-template-columns:30px minmax(0,1fr) 14px}.ps-metrics{grid-column:2/3;justify-content:flex-start;gap:8px}.pg-chart{height:210px}.fit-legend{gap:8px}}.period-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}.pp-nav{display:flex;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:3px}.pp-nav>button{background:none;border:0;color:var(--text);width:32px;height:32px;border-radius:50%;display:grid;place-items:center}.pp-nav>button:hover:not(:disabled){background:#2c3245}.pp-nav .pp-today{width:auto;padding:0 12px;border-radius:999px;font-size:13px;color:var(--accent)}.pp-dates{position:relative;display:flex;align-items:center;gap:7px;padding:0 10px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.pp-dates input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.pp-presets{display:flex;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}.pp-presets button{background:none;border:0;color:#aab3c7;font-size:13px;font-weight:650;min-width:42px;height:32px;padding:0 10px;border-radius:999px}.pp-presets button.on{background:#1f7cf2;color:#fff}.pp-presets button:hover:not(.on){background:#2c3245;color:#fff}.pg>.period-picker{align-self:flex-end}.pg-section-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}.pg-section{font-size:19px;font-weight:700;margin:10px 0 -4px;letter-spacing:-.2px}.pg-section-row .pg-section{margin:0}.today-summary{display:flex;gap:16px;align-items:center;background:linear-gradient(90deg,#1d2a24,var(--panel));border:1px solid #2f5b43;border-radius:12px;padding:16px 20px}.today-summary.tone-moderate{background:linear-gradient(90deg,#2d2818,var(--panel));border-color:#6b5a2f}.today-summary.tone-low{background:linear-gradient(90deg,#2f1b1f,var(--panel));border-color:#6b2f37}.ts-lead{font-size:17px;line-height:1.5;margin:0 0 4px;color:#eef1f8}.ts-lead strong{color:#fff}.ts-sub{font-size:14px;color:#b8c0d2;margin:0}.muscle-map-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(200px,1fr);gap:20px;align-items:center}.muscle-map{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative}.muscle-map figure{margin:0;text-align:center}.muscle-map svg{width:100%;max-height:380px}.muscle-map figcaption{color:var(--muted);font-size:12.5px;letter-spacing:.8px;text-transform:uppercase}.muscle-shape{transition:filter .15s}.muscle-shape:hover{filter:brightness(1.35)}.mm-scale{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);justify-content:center}.mm-scale i{width:160px;height:8px;border-radius:4px;background:linear-gradient(90deg,#2d3142,#97800c,#d96512,#ef3939)}.mm-side h4{font-size:14px;margin:0 0 8px}.mm-side ol{margin:0 0 16px;padding-left:20px;display:grid;gap:5px;font-size:14px}.mm-side li span{display:inline-block;min-width:96px}.mm-side li b{color:#ffb3b9;font-weight:600}.mm-neglected{font-size:14px;color:#f0b44c;margin:0 0 4px}.route-map{position:relative;overflow:hidden;background:#1d2230;border-radius:8px;touch-action:none}.route-map img{position:absolute;width:256px;height:256px;user-select:none;pointer-events:none;max-width:none}.route-map .route-line{position:absolute;inset:0;pointer-events:none}.route-map.interactive{cursor:grab}.route-map.interactive:active{cursor:grabbing}.map-controls{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:4px;z-index:2}.map-controls button{width:32px;height:32px;border-radius:6px;border:0;background:#fffffff0;color:#222;display:grid;place-items:center;box-shadow:0 1px 4px #0005}.map-attrib{position:absolute;right:4px;bottom:2px;font-size:10px;color:#333;background:#ffffffc0;padding:0 4px;border-radius:3px}.session-map{height:380px;margin-bottom:14px}.detail-map{height:320px;margin:14px 0}.ps-thumb{width:72px;height:54px;border-radius:7px;flex-shrink:0}.ps-thumb .map-attrib{display:none}.ps-thumb-empty{display:grid;place-items:center;color:#fff;opacity:.85}.pg-sessions.with-thumbs button{grid-template-columns:72px minmax(0,1fr) auto 16px}.zone-graph{display:block;width:100%}.zone-graph-large{background:#12131a;border-radius:6px;margin:6px 0 10px}.detail-zones{margin:14px 0}.detail-zones h4{margin:0 0 6px;font-size:15px}.zone-summary .zs-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;margin-bottom:10px}.zone-summary ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 16px;font-size:13.5px}.zone-summary li{display:grid;grid-template-columns:12px 28px 1fr auto auto;gap:6px;align-items:center}.zone-summary li b{width:12px;height:12px;border-radius:3px}.zone-summary li span{color:var(--muted)}.zone-summary li em{color:var(--muted);font-style:normal;font-size:12px;min-width:30px;text-align:right}@media(max-width:1150px){.muscle-map-layout{grid-template-columns:1fr}}@media(max-width:760px){.period-picker{margin-left:0;width:100%}.pg>.period-picker{align-self:stretch}.pp-nav{flex:1;justify-content:space-between}.pp-presets{width:100%;justify-content:space-between}.ts-lead{font-size:15px}.session-map{height:280px}.today-summary{align-items:flex-start;padding:14px}}.app-shell .nav-item{font-size:15px;padding:11px 12px;gap:12px}.app-shell .nav-item svg{width:20px;height:20px}.app-shell .workspace-label{font-size:11.5px;letter-spacing:1.4px}.app-shell .customize{font-size:13.5px}.app-shell .sidebar-bottom .nav-item{font-size:14.5px}.app-shell .brand{margin-bottom:22px}.app-shell .topbar{height:64px;padding:0 20px}.app-shell .topbar>div:first-child:empty{display:none}.app-shell .topbar{justify-content:flex-end}.app-shell .topbar-right{gap:16px}.app-shell .mode-pill{font-size:13px;padding:6px 11px}.app-shell .topbar-import{display:flex;font-size:14.5px;color:#c4cad8;gap:7px}.app-shell .top-avatar{width:40px;height:40px;font-size:16px}.app-shell .workspace main{max-width:none;padding:16px 18px 40px}.app-shell .page-heading{margin-bottom:12px}.app-shell .page-heading h1{font-size:26px}.app-shell .example-banner{margin-bottom:12px}.app-shell .example-banner p,.app-shell .example-banner button{font-size:13px}.ivl-panel{padding:10px 10px 12px}.topbar-readiness{display:flex;align-items:center;gap:10px;background:var(--panel-alt);border:1px solid var(--line);border-radius:999px;padding:3px 16px 3px 3px;color:var(--text);text-align:left}.topbar-readiness:hover{border-color:#41506d}.topbar-readiness span{display:flex;flex-direction:column;line-height:1.25}.topbar-readiness strong{font-size:14.5px}.topbar-readiness small{font-size:12.5px;color:var(--muted)}@media(max-width:760px){.app-shell .topbar{justify-content:space-between}.app-shell .mode-pill,.app-shell .topbar-import,.topbar-readiness small{display:none}.topbar-readiness{padding-right:10px}}.app-shell:not(.light-theme){--bg:#0d0e13;--panel:#12131a;--panel-alt:#161821;--line:#1f2230;--muted:#8a91a6;--text:#e9ecf3;background:var(--bg)}.app-shell .sidebar{width:214px;background:#12131a;border-right:1px solid #1f2230;padding:18px 10px 0;transition:width .18s ease;overflow-x:hidden;overflow-y:auto}.app-shell .workspace{margin-left:214px;transition:margin-left .18s ease}.sidebar-top{height:40px;display:flex;align-items:center;margin-bottom:34px}.app-shell .sidebar-top .brand{margin:0;padding:0 0 0 12px;font-size:26px;gap:8px;white-space:nowrap}.app-shell .brand-mark{flex-shrink:0;width:32px;height:32px}.app-shell .sidebar .nav-label{transition:opacity .12s ease;white-space:nowrap}.app-shell .workspace-label{display:block;height:14px;line-height:14px;margin:0 0 8px;padding-left:18px;font-size:11.5px;white-space:nowrap;position:relative}.app-shell .nav-group{margin:14px 0 6px}.app-shell .nav-item{display:flex;align-items:center;gap:12px;width:100%;height:44px;padding:0 0 0 18px;border-radius:10px;white-space:nowrap;overflow:hidden;font-size:15px}.app-shell .nav-item svg{width:20px;height:20px;flex-shrink:0}.app-shell .nav-item:hover{background:#1b1e2b}.app-shell .nav-item.active{background:#2a3350;color:#fff}.app-shell .nav-item.active:before{display:none}.app-shell .sidebar .customize{margin-top:2px;color:#8a91a6;font-size:14px}.app-shell .sidebar-bottom{padding-top:24px}.app-shell .sidebar-bottom .nav-item{font-size:14.5px;padding:0 0 0 18px}.app-shell .sidebar-toggle{color:#8a91a6}.app-shell .sidebar-status{padding:16px 0 16px 26px;gap:8px;white-space:nowrap}.app-shell .sidebar-status span{margin-left:0}.app-shell .sidebar-status .version{margin-left:auto;padding-right:8px}.app-shell.sidebar-collapsed .sidebar{width:76px}.app-shell.sidebar-collapsed .workspace{margin-left:76px}.sidebar.collapsed .nav-label{opacity:0;pointer-events:none}.sidebar.collapsed .workspace-label{color:transparent}.sidebar.collapsed .workspace-label:after{content:"";position:absolute;left:18px;right:18px;top:50%;height:1px;background:#262a38}.app-shell:not(.light-theme) .topbar{background:var(--bg);border-bottom-color:var(--line)}.app-shell:not(.light-theme) .topbar-readiness{background:var(--panel-alt);border-color:#2a2e3c}.app-shell .top-avatar{background:#2a3350;border:0;color:#fff;font-weight:700}.calendar-main{padding-top:6px!important}.app-shell .ivl-panel{border:0;border-radius:0;background:transparent;overflow:visible}.app-shell .ivl-panel .calendar-toolbar{background:transparent;border-bottom:1px solid var(--line);padding:10px 0 16px;align-items:center;flex-wrap:wrap}.app-shell .date-controls{gap:6px}.app-shell .date-controls h2{font-size:26px;font-weight:700;letter-spacing:-.5px;text-align:left;min-width:0;margin-right:10px}.app-shell .date-controls .icon-button,.app-shell .cal-settings-btn{width:36px;height:36px;border-radius:10px;border:1px solid #2a2e3c;background:var(--panel-alt);color:var(--text)}.app-shell .today-button{height:36px;padding:0 14px;border-radius:10px;border:1px solid #2a2e3c;background:var(--panel-alt);color:var(--text);font-size:14px;margin-left:0}.app-shell .ivl-panel .segmented{margin-left:10px;padding:3px;border-radius:11px;background:var(--panel-alt);border-color:#2a2e3c}.app-shell .ivl-panel .segmented button{height:30px;padding:0 14px;border-radius:8px;font-size:13.5px}.app-shell .ivl-panel .segmented button.selected{background:#2f7cf6;color:#fff;font-weight:600}.app-shell .calendar-actions{gap:10px}.app-shell .calendar-zone{font-size:12.5px;margin-right:4px}.app-shell .cal-settings-btn{display:grid;place-items:center;padding:0;margin:0}.app-shell .cal-import,.app-shell .cal-add{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:10px;font-size:14px}.app-shell .ivl-panel .calendar-grid{border:0;border-radius:0;background:transparent;overflow:visible}.app-shell .ivl-head,.app-shell .ivl-week{grid-template-columns:208px repeat(7,minmax(0,1fr))}.app-shell .ivl-calendar.no-sum .ivl-head,.app-shell .ivl-calendar.no-sum .ivl-week{grid-template-columns:repeat(7,minmax(0,1fr))}.app-shell .ivl-head{background:var(--bg);border-bottom-color:var(--line)}.app-shell .ivl-head span{text-align:left;padding:12px 10px;font-size:calc(12px * var(--fs));letter-spacing:1px;color:#6f7790}.app-shell .ivl-week{border-bottom-color:var(--line);min-height:150px}.app-shell .ivl-week-sum{background:transparent;border-right:0;padding:14px 16px 14px 0;gap:10px}.app-shell .ws-head strong{font-size:calc(17px * var(--fs))}.app-shell .ws-head span{color:#7d849a;font-size:calc(12.5px * var(--fs))}.app-shell .ws-big{display:flex;gap:18px}.app-shell .ws-big div{background:none;padding:0}.app-shell .ws-big span{font-size:calc(11px * var(--fs));letter-spacing:.8px;color:#7d849a}.app-shell .ws-big b{font-size:calc(20px * var(--fs))}.app-shell .ws-loadbar{height:6px;background:var(--line)}.app-shell .ws-loadbar i{background:linear-gradient(90deg,#2f7cf6,#a855f7)}.app-shell .ws-small{color:#9aa1b4}.ws-sports{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:calc(13px * var(--fs))}.ws-sports li{display:flex;align-items:center;gap:8px}.ws-sports i{width:8px;height:8px;border-radius:2px;background:var(--sport);flex-shrink:0}.ws-sports span{flex:1;color:#c9cedb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-sports b{color:#7d849a;font-weight:600}.app-shell .ivl-empty-week{color:#5d6479;opacity:1;font-size:calc(13px * var(--fs))}.app-shell .ivl-day{border-left:1px solid #1a1c26;padding:10px 6px 12px;gap:7px}.app-shell .ivl-day.future{background:#0f1016}.app-shell .ivl-day.today{background:#172036}.app-shell .ivl-day.chosen{box-shadow:inset 0 0 0 1px #2f7cf6;background:#141b2c}.ivl-dayhead{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:0 4px;min-width:0}.app-shell .ivl-date{width:auto;text-align:left;padding:0;font-size:calc(14px * var(--fs));font-weight:700;color:#c9cedb;flex-shrink:0}.app-shell .ivl-day.future .ivl-date{color:#5d6479}.app-shell .ivl-day.today .ivl-date{color:#5aa7ff}.ivl-mon{font-weight:600;color:#7d849a}.app-shell .recovery-strip{justify-content:flex-end;gap:2px 7px;font-size:calc(11.5px * var(--fs));min-width:0}.app-shell .recovery-strip .sleep{color:#b99cff}.app-shell .recovery-strip .rhr{color:#ff6b8a}.app-shell .recovery-strip .hrv{color:#ff9cbc}.app-shell .recovery-strip .steps{color:#3fdc8f}.app-shell .ivl-tiles{gap:7px}.app-shell .tile{text-align:left;border-radius:8px;background:#171922;outline:0;box-shadow:inset 0 0 0 1px #262a36}.app-shell .tile:hover{filter:brightness(1.12)}.app-shell .tile-head{justify-content:space-between;flex-wrap:nowrap;gap:6px;padding:7px 10px;font-size:calc(14px * var(--fs))}.tile-time{display:inline-flex;align-items:center;gap:6px;min-width:0}.app-shell .tile-head .tile-distance{font-weight:600;opacity:.95;white-space:nowrap}.app-shell .tile-body{align-items:stretch;gap:4px;padding:8px 10px 9px}.tile-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0}.app-shell .tile-title{font-size:calc(12.5px * var(--fs));color:#c9cedb;-webkit-line-clamp:1;flex:1;min-width:0}.app-shell .tile-load{font-size:calc(13px * var(--fs));font-weight:700;color:#fff}.app-shell .tile-metrics{justify-content:flex-start;gap:8px;font-size:calc(12px * var(--fs));font-weight:600}.app-shell .tile-metrics .hr{color:#ff5b9b}.app-shell .tile-metrics .pw{color:#c08bff}.app-shell .tile-sets{color:#9aa1b4;font-size:calc(12px * var(--fs))}.app-shell .tile.planned{background:transparent;box-shadow:none}.app-shell .tile.planned .tile-head{justify-content:flex-start}.light-theme .tile{background:#fff;box-shadow:inset 0 0 0 1px #dfe4ee}.light-theme .tile-title,.light-theme .tile-load,.light-theme .ws-sports span{color:#2a3346}.app-shell.light-theme .ivl-day.future{background:#f7f9fc}.light-theme .ivl-day.today{background:#e8f0ff}.light-theme .ivl-day.chosen{background:#eef4fd}.light-theme .ivl-date,.light-theme .ws-head strong,.light-theme .ws-big b{color:#242c3d}.light-theme .ivl-day{border-color:#e3e7ef}@media(max-width:1150px)and (min-width:761px){.app-shell .sidebar{width:214px}.app-shell .ivl-head,.app-shell .ivl-week{grid-template-columns:150px repeat(7,minmax(0,1fr))}.app-shell .tile-head{font-size:calc(12px * var(--fs));padding:6px 7px}.app-shell .ivl-dayhead{flex-direction:column;align-items:flex-start}.app-shell .recovery-strip{justify-content:flex-start}}@media(max-width:760px){.app-shell .workspace,.app-shell.sidebar-collapsed .workspace{margin-left:0}.app-shell .sidebar,.app-shell.sidebar-collapsed .sidebar{width:230px}.sidebar.collapsed .nav-label{opacity:1;pointer-events:auto}.sidebar.collapsed .workspace-label{color:#858ba4}.sidebar.collapsed .workspace-label:after{display:none}.app-shell .sidebar .sidebar-toggle{display:none}.app-shell .ivl-week{display:block}.app-shell .ivl-week-sum{padding:12px 4px}.app-shell .ivl-day{display:flex;border-left:0;padding:8px 4px}.ivl-dayhead{justify-content:flex-start;gap:12px}.app-shell .ivl-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.app-shell .ivl-panel .calendar-toolbar{flex-direction:column;align-items:stretch;gap:10px}.app-shell .date-controls{flex-wrap:wrap;justify-content:flex-start}.app-shell .date-controls h2{font-size:22px;flex-basis:100%;margin:0 0 4px}.app-shell .ivl-panel .segmented{margin-left:auto}.app-shell .ivl-panel .segmented button{padding:0 10px}.app-shell .calendar-actions{width:100%;justify-content:flex-end;flex-wrap:wrap;gap:8px}.app-shell .calendar-zone{margin-right:auto}.app-shell .ivl-dow{display:inline;color:var(--muted);font-weight:600}}.cal-topbar-items{display:flex;align-items:center;gap:12px;margin-left:6px}@media(min-width:761px){.app-shell .topbar.on-calendar{display:none}}@media(max-width:760px){.cal-topbar-items{display:none}}@media(min-width:761px){.app-shell .ivl-panel .calendar-toolbar{flex-wrap:nowrap}.app-shell .date-controls{flex-shrink:0}.app-shell .calendar-actions{flex:1;min-width:0;justify-content:flex-end}.app-shell .calendar-zone{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:1300px)and (min-width:761px){.app-shell .calendar-zone,.app-shell .topbar-readiness small{display:none}}.cal-topbar-items{flex-shrink:0}.cal-topbar-items .topbar-readiness span{white-space:nowrap}.ws-ring-row{display:flex;align-items:center;gap:16px}.ws-ring{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.ws-ring>div{width:58px;height:58px;border-radius:50%;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center}.ws-ring b{font-size:calc(18px * var(--fs));font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1}.ws-ring span,.ws-time span{font-size:calc(10px * var(--fs));letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}.ws-time{display:flex;flex-direction:column;gap:2px}.ws-time b{font-size:calc(20px * var(--fs));font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}@media(max-width:1150px)and (min-width:761px){.ws-ring-row{flex-direction:column;align-items:flex-start;gap:8px}}@media(max-width:760px){.app-shell .ivl-week-sum{display:flex}}@media(min-width:761px){.ws-ring-row{flex:1;margin:4px 0 10px;padding-left:4px}}:root{--c-cycling:#3b8bf6;--c-running:#2fb874;--c-strength:#ec4d5c;--c-hiking:#ee7240;--c-walking:#e0a43a;--c-swimming:#22b8d0;--c-other:#7f889d;--m-sleep:#b4a2ff;--m-rhr:#ff7d93;--m-hrv:#5cc8f0;--m-steps:#62d39a}.app-shell .tile-head{background:linear-gradient(135deg,color-mix(in srgb,var(--sport) 88%,#fff) 0%,var(--sport) 55%,color-mix(in srgb,var(--sport) 85%,#000) 100%);text-shadow:0 1px 1px #0003}.app-shell .tile.planned .tile-head{background:transparent;text-shadow:none}.app-shell .ws-loadbar i{background:linear-gradient(90deg,var(--c-cycling),#9b6cf6)}.app-shell .ivl-day{padding-top:14px}.app-shell .ivl-dayhead{flex-direction:column;align-items:flex-start;gap:6px;padding:0 4px}.app-shell .ivl-date{font-size:calc(17px * var(--fs));line-height:1.2;font-weight:700}.app-shell .ivl-mon{font-size:calc(13px * var(--fs))}.app-shell .recovery-strip{justify-content:flex-start;gap:3px 10px;font-size:calc(12.5px * var(--fs));font-weight:600;line-height:1.4}.app-shell .recovery-strip span{gap:4px}.app-shell .recovery-strip svg{flex-shrink:0;opacity:.9}.app-shell .recovery-strip .sleep{color:var(--m-sleep)}.app-shell .recovery-strip .rhr{color:var(--m-rhr)}.app-shell .recovery-strip .hrv{color:var(--m-hrv)}.app-shell .recovery-strip .steps{color:var(--m-steps)}.light-theme .recovery-strip .sleep{color:#6c4fe0}.light-theme .recovery-strip .rhr{color:#d63a59}.light-theme .recovery-strip .hrv{color:#1683b8}.light-theme .recovery-strip .steps{color:#1e8f57}.app-shell .ws-head span{font-size:calc(13px * var(--fs));color:#98a0b5}.app-shell .ws-ring span,.app-shell .ws-time span{font-size:calc(11px * var(--fs));color:#98a0b5}.app-shell .tile-sets{font-size:calc(12.5px * var(--fs));color:#aab1c3}.app-shell .tile-title{font-size:calc(13px * var(--fs));color:#dde1ea}.app-shell .tile-metrics{font-size:calc(12.5px * var(--fs))}.app-shell .tile-metrics .hr{color:var(--m-rhr)}.app-shell .tile-metrics .pw{color:#b99aff}.app-shell .ivl-head span{color:#8a93a9}.light-theme .tile-sets,.light-theme .ws-head span,.light-theme .ws-ring span,.light-theme .ws-time span{color:#5b657b}@media(max-width:760px){.app-shell .ivl-dayhead{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 12px}.app-shell .ivl-day{padding-top:10px}}.app-shell:not(.light-theme) .ivl-panel .calendar-grid,.app-shell:not(.light-theme) .ivl-calendar{background:#14151c}.app-shell .ivl-panel .calendar-grid{border-radius:12px;padding:0 6px 6px}.app-shell .ivl-head{background:transparent;border-bottom:0}.app-shell:not(.light-theme) .ivl-head{background:#14151c}.app-shell .ivl-head span{text-align:center}.app-shell .ivl-calendar .ivl-head span:first-child{text-align:left;padding-left:14px}.app-shell .ivl-week{border-bottom:0;min-height:140px}.app-shell .ivl-week+.ivl-week{margin-top:4px}.app-shell .ivl-day,.app-shell .ivl-week-sum+.ivl-day{border-left:0;padding:10px 6px 12px;border-radius:10px}.app-shell .ivl-week-sum{padding-left:14px}.app-shell .ivl-day.future{background:transparent}.app-shell .ivl-day.today{background:#1a2338}.app-shell .ivl-day.chosen{background:#1b2131;box-shadow:inset 0 0 0 1px #3b6fd8}.app-shell .ivl-dayhead{align-items:center;text-align:center;gap:5px;padding:0}.app-shell .ivl-date{text-align:center;font-size:calc(14px * var(--fs));font-weight:600;color:#c9cedb;width:100%}.app-shell .ivl-date .ivl-dow{display:inline;font-weight:600}.app-shell .ivl-day.today .ivl-date{color:#6db3ff;font-weight:700}.app-shell .ivl-day.future .ivl-date{color:#6a7188}.app-shell .recovery-strip{justify-content:center}.app-shell .ivl-tiles{margin-top:4px}.app-shell .tile{box-shadow:0 2px 8px #0006,inset 0 0 0 1px #2a2e3c;background:#1c1e28}.light-theme .ivl-panel .calendar-grid{background:#f3f5f9}.light-theme .ivl-day.today{background:#e6eefc}.light-theme .ivl-day.chosen{background:#eef3fb}.light-theme .tile{box-shadow:0 1px 4px #1c2a4a1a,inset 0 0 0 1px #dfe4ee}@media(max-width:760px){.app-shell .ivl-week-sum{border-bottom:0}.app-shell .ivl-day{border-top:0}.app-shell .ivl-dayhead{flex-direction:row;justify-content:flex-start;text-align:left}.app-shell .ivl-date{width:auto;text-align:left}.app-shell .recovery-strip{justify-content:flex-start}}:root{--c-cycling:#1d8cff;--c-running:#12c94f;--c-strength:#ff2e4d;--c-hiking:#ff6a13;--c-walking:#ffb21a;--c-swimming:#00c4e6;--c-other:#8b95ab}.app-shell .tile-head{background:var(--sport);text-shadow:none}.app-shell .tile.planned .tile-head{background:transparent}.tile-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.app-shell .tile-body.with-route{flex-direction:row;align-items:center;gap:8px}.tile-route{flex-shrink:0;color:var(--sport);opacity:.95;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--sport) 45%,transparent))}.light-theme .tile-route{filter:none}.app-shell .tile-head{flex-wrap:wrap;row-gap:0}.app-shell .tile-body.with-route .tile-row{flex-direction:column;align-items:flex-start;gap:2px}.app-shell .tile-body.with-route .tile-title{-webkit-line-clamp:2;white-space:normal}.app-shell .tile-body.with-route .tile-load:before{content:"Load ";font-weight:500;color:#9aa1b4}.tile-route{width:40px;height:34px}:root{--m-rhr:#ff3150}.app-shell .tile-metrics .hr,.app-shell .recovery-strip .rhr{color:var(--m-rhr)}.light-theme .recovery-strip .rhr,.light-theme .tile-metrics .hr{color:#e0112f}.app-shell .ivl-calendar .ivl-head{display:none}.app-shell .ivl-panel .calendar-toolbar{border-bottom:0;padding-bottom:12px}.app-shell .ivl-panel .calendar-grid{padding-top:8px}.app-shell .ivl-day.chosen{background:transparent;box-shadow:none}.app-shell .ivl-day.chosen.today{background:#1a2338}.light-theme .ivl-day.chosen{background:transparent}.light-theme .ivl-day.chosen.today{background:#e6eefc}.app-shell .sidebar .nav-item,.app-shell .sidebar .customize,.app-shell .sidebar .workspace-label,.app-shell .sidebar-status,.app-shell .sidebar .brand,.app-shell .sidebar .nav-item:hover{color:#fff}.app-shell .sidebar .workspace-label{opacity:1}.app-shell .calendar-toolbar,.app-shell .calendar-toolbar h2,.app-shell .calendar-zone,.app-shell .calendar-toolbar .icon-button,.app-shell .topbar-readiness small,.app-shell .topbar-readiness{color:#fff}.app-shell .date-controls h2{margin-right:14px}.app-shell .sidebar.collapsed .workspace-label{color:transparent}.app-shell .nav-group{margin:26px 0 8px}.app-shell .sidebar>.workspace-label{margin-bottom:8px}.app-shell .sidebar .customize{margin-top:4px}@media(max-width:760px){.app-shell .sidebar.collapsed .workspace-label{color:#fff}}.app-shell .sidebar-status i{flex-shrink:0}.app-shell .sidebar nav{grid-template-columns:minmax(0,1fr)}.app-shell .sidebar nav>div,.app-shell .sidebar-bottom{min-width:0}.app-shell .sidebar.collapsed .workspace-label{font-size:0;user-select:none}.app-shell .sidebar.collapsed .workspace-label:after{left:14px;right:14px}.tile-top{display:flex;flex-direction:column;gap:4px;min-width:0}.app-shell .tile-top.with-route{flex-direction:row;align-items:center;gap:8px}.app-shell .tile-top.with-route .tile-row{flex-direction:column;align-items:flex-start;gap:2px}.app-shell .tile-top.with-route .tile-title{-webkit-line-clamp:2;white-space:normal}.app-shell .tile-top.with-route .tile-load:before{content:"Load ";font-weight:500;color:#9aa1b4}.app-shell .recovery-strip .hrv{color:var(--m-rhr);margin-left:-5px}.light-theme .recovery-strip .hrv{color:#e0112f}.app-shell .tile-top.with-route .tile-title{word-break:normal;overflow-wrap:normal}:root{--m-sleep:#a66bff;--m-steps:#2bdb5f}.light-theme .recovery-strip .sleep{color:#7a32e6}.light-theme .recovery-strip .steps{color:#109a3c}:root{--c-cycling:#0a72e6;--c-running:#13b53a;--c-strength:#f31a3c}.app-shell:not(.light-theme) .tile{background:color-mix(in srgb,var(--sport) 16%,#15171e);box-shadow:0 2px 8px #0006,inset 0 0 0 1px color-mix(in srgb,var(--sport) 28%,#23262f)}.app-shell:not(.light-theme) .tile.planned{background:color-mix(in srgb,var(--sport) 7%,transparent)}.light-theme .tile{background:color-mix(in srgb,var(--sport) 9%,#fff)}.app-shell:not(.light-theme) .tile{background:color-mix(in srgb,var(--sport) 13%,#101218)}.app-shell:not(.light-theme) .tile.planned{background:color-mix(in srgb,var(--sport) 6%,transparent)}@media(max-width:1150px)and (min-width:761px){.app-shell .tile-route{display:none}.app-shell .tile-top.with-route{flex-direction:column;align-items:stretch}}.cal-divider{width:1px;height:24px;background:#2a2e3c;margin:0 6px 0 10px}.app-shell .cal-add{height:36px;padding:0 14px;border-radius:10px;background:#0a72e6;border:0;color:#fff;font-weight:600}.app-shell .cal-add:hover{background:#1a80f0}.app-shell .calendar-zone{display:none}.cal-topbar-items{gap:14px}.sidebar-handle{position:fixed;top:27px;left:202px;z-index:35;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;padding:0;border:1px solid #2a2e3c;background:#1a1c26;color:#fff;box-shadow:0 2px 6px #0007;transition:left .18s ease,background .12s}.sidebar-handle:hover{background:#2a3350}.app-shell.sidebar-collapsed .sidebar-handle{left:64px}@media(max-width:760px){.sidebar-handle{display:none}}.app-shell .topbar-readiness{gap:10px;padding:4px 16px 4px 4px;border-radius:999px;border:1px solid color-mix(in srgb,var(--tone) 35%,#2a2e3c);background:color-mix(in srgb,var(--tone) 10%,#14161d);--ring-track:color-mix(in srgb,var(--tone) 18%,#22252f)}.app-shell .topbar-readiness:hover{border-color:color-mix(in srgb,var(--tone) 60%,#2a2e3c)}.app-shell .topbar-readiness .score-ring{color:#fff}.app-shell .topbar-readiness .score-ring text{font-size:14px;font-weight:700}.app-shell .topbar-readiness strong{font-size:14px;font-weight:700;color:#fff}.app-shell .topbar-readiness small,.app-shell .cal-topbar-items .topbar-readiness small{display:block;font-size:12px;color:#aeb5c6;white-space:nowrap}.app-shell .topbar-readiness small b{font-weight:600}@media(max-width:1300px)and (min-width:761px){.app-shell .topbar-readiness small{display:none}}.app-shell.light-theme{--bg:#eef1f6;--panel:#fff;--line:#dfe4ee;--text:#1d2433;--muted:#5d6779}.app-shell.light-theme .workspace,.app-shell.light-theme main{background:#eef1f6}.app-shell.light-theme .calendar-toolbar,.app-shell.light-theme .calendar-toolbar h2,.app-shell.light-theme .date-controls h2{color:#151b28}.app-shell.light-theme .date-controls .icon-button,.app-shell.light-theme .cal-settings-btn{background:#fff;border-color:#d5dbe6;color:#1d2433}.app-shell.light-theme .cal-divider{background:#d5dbe6}.app-shell.light-theme .ivl-panel .calendar-grid,.app-shell.light-theme .ivl-calendar{background:#fff;box-shadow:0 1px 3px #1c2a4a14}.app-shell.light-theme .ivl-date{color:#2a3346}.app-shell.light-theme .ivl-day.future .ivl-date{color:#9aa3b5}.app-shell.light-theme .ivl-day.today{background:#e9f1ff}.app-shell.light-theme .ivl-day.today .ivl-date{color:#0a62c9}.app-shell.light-theme .ws-head strong,.app-shell.light-theme .ws-time b,.app-shell.light-theme .ws-ring b{color:#151b28}.app-shell.light-theme .ws-ring>div{background:#fff}.app-shell.light-theme .tile{background:color-mix(in srgb,var(--sport) 8%,#fff);box-shadow:0 1px 3px #1c2a4a1f,inset 0 0 0 1px color-mix(in srgb,var(--sport) 25%,#e3e7ef)}.app-shell.light-theme .tile-title{color:#1d2433}.app-shell.light-theme .tile-load{color:#151b28}.app-shell.light-theme .tile-top.with-route .tile-load:before{color:#5d6779}.app-shell.light-theme .tile-sets{color:#5d6779}.app-shell.light-theme .tile-metrics .pw{color:#7b3fe4}.app-shell.light-theme .tile.planned{background:color-mix(in srgb,var(--sport) 5%,#fff)}.app-shell.light-theme .tile.planned .tile-title{color:#1d2433}.app-shell.light-theme .ivl-empty-week{color:#8a93a6}.app-shell.light-theme .topbar-readiness{background:color-mix(in srgb,var(--tone) 10%,#fff);border-color:color-mix(in srgb,var(--tone) 35%,#dfe4ee);--ring-track:color-mix(in srgb,var(--tone) 18%,#eef1f6)}.app-shell.light-theme .topbar-readiness strong,.app-shell.light-theme .topbar-readiness .score-ring{color:#151b28}.app-shell.light-theme .topbar-readiness small{color:#5d6779}.app-shell.light-theme .top-avatar{background:#1d2433;color:#fff}.app-shell.light-theme .example-banner{background:#e3ecf8;border-color:#c8d6eb;color:#3e5677}.app-shell .readiness-card{gap:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--tone) 9%,var(--panel)) 0%,var(--panel) 45%)}.rd-layout{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:22px;align-items:center}.app-shell .rd-head{flex-direction:column;align-items:flex-start;gap:12px}.app-shell .rd-head h2{font-size:28px;font-weight:800;margin:4px 0 6px}.app-shell .rd-head .score-ring text{font-size:40px;font-weight:800}.app-shell .rd-factors{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.app-shell .rd-factors li{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--fc) 7%,#171922);border:1px solid color-mix(in srgb,var(--fc) 25%,#262a36)}.rd-tile-top{display:flex;justify-content:space-between;align-items:center}.app-shell .rd-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#c9cedb}.app-shell .rd-label svg{color:var(--fc)}.rd-status{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;color:var(--fc);background:color-mix(in srgb,var(--fc) 15%,transparent)}.rd-tile-mid{display:flex;justify-content:space-between;align-items:flex-end}.app-shell .rd-factors strong{font-size:24px;font-weight:800;line-height:1}.app-shell .rd-factors small{font-size:12.5px;color:#aab1c3;line-height:1.4}.rd-weight{font-size:11px;color:#7d849a}.app-shell .checkin{border-top:1px solid var(--line);padding-top:14px}.app-shell .checkin h4{font-size:14px}.checkin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.app-shell .checkin-row{display:flex;flex-direction:column;gap:6px}.ck-top{display:flex;justify-content:space-between;font-size:14px}.ck-top b{font-size:12.5px;color:#7d849a}.app-shell .checkin-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.app-shell .checkin-scale button{width:auto;height:14px;border-radius:7px;border:0;background:color-mix(in srgb,var(--c) 22%,#20232d);transition:transform .1s,background .1s}.app-shell .checkin-scale button:hover{background:color-mix(in srgb,var(--c) 55%,#20232d)}.app-shell .checkin-scale button.on{background:var(--c);transform:scaleY(1.35);box-shadow:0 0 10px color-mix(in srgb,var(--c) 60%,transparent)}.ck-ends{display:flex;justify-content:space-between}.ck-ends small{font-size:11px;color:#7d849a}.bs-layout{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center}.body-status.compact .bs-layout{grid-template-columns:1fr}.bm-figures{display:flex;gap:10px}.bm-figures figure{margin:0;text-align:center}.bm-figures figcaption{font-size:11px;color:#7d849a;letter-spacing:.6px;text-transform:uppercase;margin-top:4px}.bm-head{fill:#3a3f52}.app-shell .body-status ul{gap:14px}.app-shell .bs-top{align-items:center}.app-shell .bs-top span{display:inline-flex;align-items:center;gap:8px;font-weight:600}.bs-dot{width:10px;height:10px;border-radius:3px;background:var(--lc)}.app-shell .bs-top strong{color:var(--lc);font-size:12.5px}.app-shell .bs-top strong b{color:#fff;margin-left:6px;font-size:14px}.app-shell .bs-bar{height:8px;background:#20232d}.bs-legend{display:flex;gap:16px;margin-top:14px;font-size:12px;color:#8f97ab}.bs-legend span{display:inline-flex;align-items:center;gap:6px}.bs-legend i{width:10px;height:10px;border-radius:3px}@media(max-width:1100px){.rd-layout{grid-template-columns:1fr}.app-shell .rd-head{flex-direction:row;align-items:center}}@media(max-width:760px){.checkin-grid,.bs-layout{grid-template-columns:1fr}.bm-figures{justify-content:center}.app-shell .rd-head .score-ring{width:96px;height:96px}}.app-shell.light-theme{--gauge-track:#e3e7ef}.app-shell.light-theme .rd-factors li{background:color-mix(in srgb,var(--fc) 6%,#fff);border-color:color-mix(in srgb,var(--fc) 30%,#e3e7ef)}.app-shell.light-theme .rd-label,.app-shell.light-theme .rd-factors small{color:#3d4658}.app-shell.light-theme .checkin-scale button{background:color-mix(in srgb,var(--c) 22%,#eef1f6)}.app-shell.light-theme .bm-head{fill:#c9cfdb}.app-shell.light-theme .bs-top strong b{color:#151b28}.app-shell.light-theme .bs-bar{background:#e8ebf2}.app-shell .readiness-card{container-type:inline-size}.app-shell .checkin-row{align-items:stretch}@container (max-width:820px){.rd-layout{grid-template-columns:1fr;gap:16px}.app-shell .rd-head{flex-direction:row;align-items:center;gap:18px}.app-shell .rd-factors{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width:480px){.app-shell .rd-factors,.checkin-grid{grid-template-columns:1fr}}.rd-tile-mid{gap:8px}.app-shell .rd-factors strong{white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:22px}.rd-gauge{flex-shrink:0;width:46px;height:27px}.app-shell .readiness-card.simple{display:flex;flex-direction:column;gap:18px}.rd-hero{display:flex;align-items:center;gap:22px}.rd-hero h2{margin:4px 0 6px;font-size:32px;font-weight:800;letter-spacing:-.5px}.rd-hero .score-ring text{font-size:40px;font-weight:800}.rd-confidence{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#aab1c3;padding:3px 9px;border-radius:999px;background:#ffffff0d;cursor:help}.pf-delete-account{margin-top:16px;padding-top:14px;border-top:1px solid #ffffff14;display:grid;gap:10px}.rd-chip-note{font-style:normal;font-weight:500;color:#8a91a6}.rd-chips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.rd-chips li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#ffffff08;border:1px solid #ffffff10;cursor:help;color:var(--fc)}.rd-chip-text{display:flex;flex-direction:column;flex:1;min-width:0}.rd-chip-text small{font-size:11.5px;color:#9aa1b4}.rd-chip-text strong{font-size:17px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rd-chip-dot{width:9px;height:9px;border-radius:50%;background:var(--fc);box-shadow:0 0 8px var(--fc);flex-shrink:0}.readiness-card.simple .checkin{margin-top:auto}.readiness-card.simple .checkin h4{font-size:13px;margin-bottom:8px}.train-today.v2 .best-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px;border-radius:14px;background:linear-gradient(120deg,color-mix(in srgb,var(--oc) 22%,#14161d),#14161d 75%);border:1px solid color-mix(in srgb,var(--oc) 40%,#262a36)}.bo-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--oc);color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--oc) 40%,transparent)}.bo-text h2{margin:2px 0;font-size:24px;font-weight:800}.bo-text p{margin:0;color:#c9cedb;font-size:13.5px}.bo-text small{display:block;margin-top:6px;color:#9aa1b4;font-size:12.5px}.match-ring{color:#fff;flex-shrink:0}.option-list.v2{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}.option-list.v2 li{display:grid;grid-template-columns:auto 1fr 150px 64px;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;background:#ffffff06;border:1px solid #ffffff0d}.option-list.v2 li:hover{background:#ffffff0c}.ol-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;background:color-mix(in srgb,var(--oc) 75%,#14161d)}.ol-text{display:flex;flex-direction:column;min-width:0}.ol-text strong{font-size:14.5px}.ol-text small{font-size:12px;color:#9aa1b4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ol-score{display:flex;align-items:center;gap:8px}.ol-score b{font-size:15px;width:26px;text-align:right}.ol-bar{flex:1;height:7px;border-radius:4px;background:#ffffff10;overflow:hidden}.ol-bar i{display:block;height:100%;border-radius:4px;background:var(--sc)}.option-list.v2 .last{font-size:11.5px;color:#7d849a;text-align:right}.body-status.v2 .mf-layout{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}.mf-figures{display:flex;gap:6px}.mf-figure{margin:0;text-align:center}.mf-figure svg{width:130px;height:auto;display:block}.mf-figure figcaption{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#7d849a}.mf-base{fill:#1c1f2a;stroke:#2c3142;stroke-width:1.2}.mf-muscle{stroke:#0f1117;stroke-width:1.2;transition:opacity .12s,filter .12s;cursor:pointer}.mf-muscle.dim{opacity:.35}.mf-muscle.hot{filter:brightness(1.25) drop-shadow(0 0 6px currentColor)}.mf-side{display:flex;flex-direction:column;gap:14px;min-width:0}.mf-focus{padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--rc) 10%,#14161d);border:1px solid color-mix(in srgb,var(--rc) 35%,#262a36)}.mf-focus strong{display:flex;justify-content:space-between;font-size:18px;margin:2px 0 4px}.mf-focus strong b{color:var(--rc)}.mf-focus small{font-size:12px}.mf-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.mf-list li{display:grid;grid-template-columns:84px 1fr 38px;align-items:center;gap:8px;font-size:13px;padding:3px 4px;border-radius:6px;cursor:default}.mf-list li.on{background:#ffffff0d}.mf-bar{height:6px;border-radius:3px;background:#ffffff10;overflow:hidden}.mf-bar i{display:block;height:100%;background:var(--rc);border-radius:3px}.mf-list b{text-align:right;color:var(--rc);font-size:12.5px}.this-week.v2 .tw-layout{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}.tw-ring{position:relative;width:132px;height:132px}.tw-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.tw-ring b{font-size:30px;font-weight:800}.tw-ring small{font-size:11px;color:#9aa1b4;text-align:center;max-width:80px;line-height:1.2}.tw-main{display:flex;flex-direction:column;gap:16px;min-width:0}.tw-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;height:118px}.tw-day{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.tw-stack{flex:1;width:100%;max-width:38px;display:flex;flex-direction:column-reverse;gap:2px;justify-content:flex-start;background:#ffffff06;border-radius:8px;padding:3px;overflow:hidden}.tw-stack i{display:block;border-radius:5px;width:100%}.tw-stack i.empty{height:3px;background:#ffffff14}.tw-day span{font-size:12px;font-weight:600;color:#c9cedb}.tw-day small{font-size:11px;color:#7d849a;height:13px}.tw-day.today span{color:#6db3ff}.tw-day.today .tw-stack{outline:1.5px solid #3b82f6;outline-offset:1px}.tw-day.future{opacity:.45}.tw-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tw-stats>div{display:flex;flex-direction:column;padding:10px 12px;border-radius:12px;background:#ffffff06;border:1px solid #ffffff0d}.tw-stats span{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#7d849a}.tw-stats strong{font-size:22px;font-weight:800}.tw-stats small{font-size:11.5px}.tw-stats small.up{color:#2bd36b}.tw-stats small.down{color:#f2b33d}@media(max-width:1250px){.body-status.v2 .mf-layout,.this-week.v2 .tw-layout{grid-template-columns:1fr}.mf-figures{justify-content:center}.tw-ring{margin:0 auto}}@media(max-width:760px){.option-list.v2 li{grid-template-columns:auto 1fr 70px}.option-list.v2 .last{display:none}.mf-list{grid-template-columns:1fr}.rd-hero h2{font-size:24px}.tw-stats strong{font-size:18px}}.app-shell.light-theme .rd-chips li,.app-shell.light-theme .option-list.v2 li,.app-shell.light-theme .tw-stats>div{background:#f6f8fb;border-color:#e3e7ef}.app-shell.light-theme .rd-chip-text strong,.app-shell.light-theme .match-ring{color:#151b28}.app-shell.light-theme .train-today.v2 .best-option{background:linear-gradient(120deg,color-mix(in srgb,var(--oc) 14%,#fff),#fff 75%)}.app-shell.light-theme .bo-text p{color:#3d4658}.app-shell.light-theme .mf-base{fill:#e6e9f0;stroke:#cfd5e0}.app-shell.light-theme .mf-muscle{stroke:#fff}.app-shell.light-theme .mf-focus{background:color-mix(in srgb,var(--rc) 8%,#fff)}.app-shell.light-theme .tw-day span{color:#3d4658}.app-shell.light-theme .tw-stack{background:#f1f3f7}.app-shell .option-list.v2 .ol-score{display:flex;flex-direction:row;align-items:center}.app-shell .option-list.v2 .ol-bar{display:block;flex:1 1 auto;min-width:60px;height:7px}.today-bento{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:stretch}.today-bento>.pg-card{margin:0;min-width:0;height:100%;box-sizing:border-box}@media(max-width:1500px){.today-bento{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.today-bento>.train-today{grid-column:1/-1}}@media(max-width:900px){.today-bento{grid-template-columns:1fr}}.readiness-card.simple .rd-hero h2{font-size:28px}.readiness-card.simple .rd-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.readiness-card.simple .rd-chips li{flex-direction:column;align-items:stretch;gap:6px;padding:10px 12px}.rd-chip-row{display:flex;align-items:center;gap:10px;color:var(--fc)}.rd-spark{display:block;width:100%;height:30px}.rd-spark.empty{height:30px;display:flex;align-items:center;font-size:11px;color:#6f7790}.rd-spark-mean{stroke:#ffffff26;stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.readiness-card.simple .rd-chips li:last-child:nth-child(odd){grid-column:1/-1}.today-bento .body-status.v2 .mf-layout{grid-template-columns:1fr;gap:14px}.today-bento .mf-figures{justify-content:center;gap:14px}.today-bento .mf-figure svg{width:min(150px,38vw)}.today-bento .mf-list{grid-template-columns:1fr 1fr;gap:4px 14px}.today-bento .mf-list li{grid-template-columns:76px 1fr 34px;font-size:12.5px}.today-bento .option-list.v2 li{grid-template-columns:auto 1fr 120px 58px}.today-bento .train-today.v2 .best-option{grid-template-columns:auto 1fr auto}.app-shell .ol-icon,.app-shell .bo-icon{background:var(--oc)}.app-shell .topbar-readiness{padding:3px;gap:0;border-radius:50%}.app-shell .topbar-readiness .score-ring text{font-size:15px}.app-shell .mf-base{fill:#2a2e3b;stroke:none}.app-shell .mf-muscle{stroke:#14161d;stroke-width:1.4}.app-shell.light-theme .mf-base{fill:#d5dae4}.readiness-card.simple .rd-chips{flex:1;grid-auto-rows:1fr}.rd-spark-wrap{position:relative;display:block;flex:1;min-height:42px;margin-top:2px}.rd-spark-wrap .rd-spark{position:absolute;inset:0;width:100%;height:100%}.rd-spark-dot{position:absolute;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px color-mix(in srgb,currentColor 0%,#14161d)}.rd-spark-mean{stroke:#ffffff2e;stroke-width:1;stroke-dasharray:2 4}.readiness-card.simple .rd-chips li{min-height:96px}.anatomy{display:flex;justify-content:center;gap:12px}.anatomy svg polygon{stroke:#14161d;stroke-width:.6;cursor:pointer;transition:filter .12s}.anatomy svg polygon:hover{filter:brightness(1.25)}.today-bento .anatomy figure{max-width:150px}.muscle-map .anatomy figure{max-width:160px}.mm-top{margin:8px 0 0;text-align:center}.app-shell.light-theme .anatomy svg polygon{stroke:#fff}.anatomy{position:relative;display:flex;justify-content:center;gap:10px;padding:12px 6px 4px;border-radius:14px;background:radial-gradient(ellipse at 50% 40%,#232736 0%,transparent 70%);--anat-body:#4a4f60}.anatomy figure{margin:0;flex:1;max-width:170px;text-align:center}.anatomy-svg{width:100%;height:auto;display:block;overflow:visible}.anat-part polygon{stroke:#14161d;stroke-width:.55;stroke-linejoin:round;transition:opacity .15s,filter .15s}.anat-part.body polygon{pointer-events:none}.anat-part.muscle{cursor:pointer}.anat-shine{pointer-events:none;mix-blend-mode:soft-light}.anatomy-svg.has-active .anat-part.muscle:not(.active) polygon{opacity:.28}.anat-part.active polygon:first-child{filter:brightness(1.18) drop-shadow(0 0 2.5px rgba(255,255,255,.55))}.anat-part.muscle:hover polygon:first-child{filter:brightness(1.18)}.anatomy figcaption{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#7d849a;margin-top:6px}.anat-tip{position:absolute;transform:translate(-50%,calc(-100% - 14px));pointer-events:none;background:#0f1117f2;border:1px solid #2f3446;border-radius:10px;padding:6px 10px;white-space:nowrap;display:flex;flex-direction:column;gap:1px;box-shadow:0 6px 18px #0008;z-index:5}.anat-tip b{font-size:13px;color:#fff}.anat-tip span{font-size:12px;color:#aab1c3}.mf-list li{cursor:pointer}.app-shell.light-theme .anatomy{--anat-body:#cdd3de;background:radial-gradient(ellipse at 50% 40%,#eef1f7 0%,transparent 70%)}.app-shell.light-theme .anat-part polygon{stroke:#fff}.app-shell.light-theme .anat-tip{background:#fff;border-color:#dfe4ee}.app-shell.light-theme .anat-tip b{color:#151b28}.anat-under polygon{fill:var(--anat-body);stroke:var(--anat-body);stroke-width:3.2;stroke-linejoin:round;pointer-events:none}.anat-part polygon{stroke:var(--anat-line,#7b8193);stroke-width:.45}.anat-part.body polygon{stroke:none}.app-shell .anatomy{--anat-body:#3d4252;--anat-line:#8a90a2}.app-shell.light-theme .anatomy{--anat-body:#c3cad6;--anat-line:#f4f6fa}.hl-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.hl-tile{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--hc) 14%,var(--panel)),var(--panel) 70%);border:1px solid color-mix(in srgb,var(--hc) 28%,var(--line));min-width:0}.hl-icon{width:38px;height:38px;flex-shrink:0;border-radius:11px;display:grid;place-items:center;background:var(--hc);color:#fff}.hl-tile>div{display:flex;flex-direction:column;min-width:0}.hl-tile small{font-size:11.5px;color:#9aa1b4;text-transform:uppercase;letter-spacing:.6px}.hl-tile strong{font-size:22px;font-weight:800;line-height:1.15}@media(max-width:1100px){.hl-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.fit-sub{display:inline-flex;align-items:center;gap:5px;cursor:help}.fit-chips{display:flex;gap:8px;flex-wrap:wrap}.fit-chip{display:inline-flex;align-items:baseline;gap:6px;padding:6px 11px;border-radius:999px;background:color-mix(in srgb,var(--fcc) 12%,transparent);border:1px solid color-mix(in srgb,var(--fcc) 35%,transparent)}.fit-chip small{font-size:11.5px;color:#aab1c3}.fit-chip b{font-size:16px;color:var(--fcc)}.fit-chip em{font-style:normal;font-size:11.5px;font-weight:600}.fit-chip em.up{color:#2bd36b}.fit-chip em.down{color:#f2b33d}.fit-tip{background:#0f1117f2;border:1px solid #2f3446;border-radius:10px;padding:9px 12px;font-size:12.5px;box-shadow:0 8px 22px #0009;min-width:200px}.fit-tip b{display:block;margin-bottom:4px}.fit-tip-row{display:flex;flex-direction:column;gap:1px;margin-bottom:6px}.fit-tip ul{list-style:none;margin:0;padding:6px 0 0;border-top:1px solid #2a2e3c;display:grid;gap:3px}.fit-tip li{display:flex;align-items:center;gap:6px;color:#dde1ea}.fit-tip li i{width:8px;height:8px;border-radius:2px}.fit-tip small{color:#8a91a6}.form-strip{position:relative}.form-strip-label{position:absolute;right:12px;top:2px;font-size:11px;color:#f0c75e;letter-spacing:.6px;text-transform:uppercase}.share-layout{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center}.share-donut{position:relative;width:170px;height:170px}.share-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.share-center b{font-size:24px;font-weight:800}.share-center small{font-size:11px;color:#8a91a6}.share-list.v2{list-style:none;margin:0;padding:0;display:grid;gap:10px}.share-list.v2 li{display:flex;gap:10px;align-items:center}.sl-icon{width:30px;height:30px;flex-shrink:0;border-radius:9px;display:grid;place-items:center;background:var(--sc);color:#fff}.share-list.v2 li>div{flex:1;min-width:0}.share-list.v2 .sl-top{display:flex;justify-content:space-between;font-weight:600;font-size:14px}.share-list.v2 .sl-top strong{color:var(--sc)}.share-list.v2 small{font-size:12px}@media(max-width:760px){.share-layout{grid-template-columns:1fr}.share-donut{margin:0 auto}.hl-tiles{grid-template-columns:1fr}}.app-shell.light-theme .fit-tip{background:#fff;border-color:#dfe4ee}.app-shell.light-theme .fit-tip li{color:#2a3346}.app-shell.light-theme .hl-tile small,.app-shell.light-theme .fit-chip small{color:#5d6779}.hl-tile .hl-icon{color:#fff;overflow:visible}.hl-tile>div>span{font-size:12px;color:#8a91a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-chart{display:grid;grid-template-columns:1fr 110px;gap:10px;margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.form-plot{height:200px;min-width:0}.form-zones{list-style:none;margin:0;padding:6px 0;display:flex;flex-direction:column;justify-content:space-around;gap:4px}.form-zones li{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--zc);opacity:.75}.form-zones li:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--zc)}.form-zones li.now{opacity:1;font-weight:700}.form-zones li.now:after{content:"now";font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--zc) 22%,transparent)}@media(max-width:760px){.form-chart{grid-template-columns:1fr}.form-zones{flex-direction:row;flex-wrap:wrap}}.pg-card:has(.form-chart) .pg-chart.tall{margin-right:120px}.form-chart{grid-template-columns:1fr 130px}.pg-card:has(.form-chart) .pg-chart.tall{margin-right:140px}.form-zones li{white-space:nowrap}@media(max-width:760px){.pg-card:has(.form-chart) .pg-chart.tall{margin-right:0}}.training-page{gap:20px}.training-page .pg-section{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#8a91a6;margin:14px 0 -6px}.training-page .pg-section-row{align-items:center;margin-top:14px}.training-page .pg-section-row .pg-section{margin:0}.training-page .pg-card{background:#13151c;border:1px solid #1e2130;border-radius:16px;padding:20px 22px;box-shadow:none}.training-page .pg-card-title{margin-bottom:16px}.training-page .pg-card-title h3{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:700}.pg-info{display:inline-grid;place-items:center;color:#6f7790;cursor:help;border-radius:50%}.pg-info:hover,.pg-info:focus{color:#c9cedb;outline:none}.training-page .readiness-card.simple{background:#13151c}.training-page .rd-chips li{background:#181a23;border-color:#22263300}.training-page .train-today.v2 .best-option{background:linear-gradient(120deg,color-mix(in srgb,var(--oc) 14%,#13151c),#13151c 70%)}.training-page .option-list.v2 li{background:transparent;border-color:transparent;border-bottom:1px solid #1e2130;border-radius:0;padding:10px 4px}.training-page .option-list.v2 li:last-child{border-bottom:0}.training-page .option-list.v2 li:hover{background:#ffffff06;border-radius:10px}.training-page .anatomy{background:none}.training-page .mf-focus{background:#181a23;border-color:#22263a}.training-page .pg-legend{margin-top:10px}.training-page .share-list.v2{gap:12px}.app-shell.light-theme .training-page .pg-card,.app-shell.light-theme .training-page .readiness-card.simple{background:#fff;border-color:#e3e7ef}.app-shell.light-theme .training-page .rd-chips li,.app-shell.light-theme .training-page .mf-focus{background:#f6f8fb}.app-shell.light-theme .training-page .option-list.v2 li{border-bottom-color:#e3e7ef}.app-shell.light-theme .training-page .pg-section{color:#5d6779}.app-shell .topbar-readiness,.app-shell.light-theme .topbar-readiness{background:none;border:0;padding:0;box-shadow:none;border-radius:50%}.app-shell .topbar-readiness:hover{transform:scale(1.05);background:none}.app-shell .topbar-readiness{transition:transform .12s}.top-avatar{cursor:pointer;transition:box-shadow .12s}.top-avatar:hover{box-shadow:0 0 0 2px #3b82f6}.profile-page{gap:18px}.pf-hero{display:flex;align-items:center;gap:20px;padding:24px;border-radius:18px;background:linear-gradient(120deg,#1a2240,#13151c 60%);border:1px solid #23293f}.pf-avatar{width:84px;height:84px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:36px;font-weight:800;color:#fff;background:linear-gradient(135deg,#2f7cf6,#7b5cff);box-shadow:0 8px 24px #2f7cf633}.pf-who{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.pf-name{background:transparent;border:1px solid transparent;border-radius:8px;color:#fff;font-size:28px;font-weight:800;padding:2px 6px;margin:0 0 0 -7px;width:min(420px,100%)}.pf-name:hover{border-color:#2a2e3c}.pf-name:focus{border-color:#3b82f6;outline:none;background:#0d0e13}.pf-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.pf-badges span{font-size:12px;padding:3px 10px;border-radius:999px;background:#ffffff0d;color:#c9cedb}.pf-hero-actions .button{display:inline-flex;align-items:center;gap:7px}.pf-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pf-stats>div{padding:14px 16px;border-radius:14px;background:#13151c;border:1px solid #1e2130;display:flex;flex-direction:column;gap:4px}.pf-stats small{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#8a91a6}.pf-stats strong{font-size:24px;font-weight:800}.pf-sports span{display:flex;gap:6px;flex-wrap:wrap}.pf-sports i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff}.pf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pf-wide{grid-column:1/-1}.profile-page .pg-card{background:#13151c;border:1px solid #1e2130;border-radius:16px;padding:20px 22px}.pf-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.pf-head h3{margin:0;font-size:16px}.pf-head p{margin:3px 0 0}.pf-icon{width:34px;height:34px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;background:#1d2335;color:#7fb2ff}.pf-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pf-field{display:flex;flex-direction:column;gap:5px;margin:0;font-size:12.5px;color:#aab1c3}.pf-field.inline{flex-direction:row;align-items:center;gap:10px;margin-top:10px}.pf-input{display:flex;align-items:center;gap:6px;background:#0d0e13;border:1px solid #262a36;border-radius:10px;padding:0 10px}.pf-input input{border:0;background:transparent;margin:0;padding:9px 0;width:100%;min-width:60px;font-size:15px;font-weight:600}.pf-input em{font-style:normal;color:#7d849a;font-size:12px;white-space:nowrap}.pf-goal{display:flex;gap:18px;align-items:center}.pf-goal-ring{width:96px;height:96px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#2bd36b var(--p),#20232d 0)}.pf-goal-ring b{width:76px;height:76px;border-radius:50%;background:#13151c;display:grid;place-items:center;font-size:20px}.pf-goal>div:last-child{display:flex;flex-direction:column;gap:2px}.pf-goal strong{font-size:20px}.pf-rows{display:flex;flex-direction:column;gap:12px}.pf-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.pf-row .pg-toggle button{display:inline-flex;align-items:center;gap:5px}.pf-tz{display:flex;gap:8px}.pf-tz input{margin:0;width:170px;padding:8px 10px}.pf-chips{display:flex;flex-wrap:wrap;gap:8px}.pf-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid #2a2e3c;background:transparent;color:#8a91a6;font-weight:600}.pf-chip.on{background:color-mix(in srgb,var(--c) 18%,transparent);border-color:color-mix(in srgb,var(--c) 55%,transparent);color:#fff}.pf-chip.on svg{color:var(--c)}.pf-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pf-actions .button{display:inline-flex;align-items:center;gap:7px}.pf-imports{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:2px}.pf-imports li{display:flex;justify-content:space-between;gap:12px;padding:8px 2px;border-top:1px solid #1e2130;font-size:13px}.pf-imports li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-danger{border-color:#3a1d26!important}.pf-danger .pf-icon{background:#2a1419;color:#ff5468}.button.danger-outline{background:transparent;border:1px solid #6b2a36;color:#ff7a8a}.button.danger-outline:hover{background:#2a1419}@media(max-width:900px){.pf-grid,.pf-fields{grid-template-columns:1fr}.pf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-hero{flex-wrap:wrap}.pf-name{font-size:22px}}.app-shell.light-theme .pf-hero{background:linear-gradient(120deg,#e6eeff,#fff 60%);border-color:#dfe4ee}.app-shell.light-theme .pf-name{color:#151b28}.app-shell.light-theme .pf-name:focus{background:#fff}.app-shell.light-theme .profile-page .pg-card,.app-shell.light-theme .pf-stats>div{background:#fff;border-color:#e3e7ef}.app-shell.light-theme .pf-input{background:#f6f8fb;border-color:#dfe4ee}.app-shell.light-theme .pf-goal-ring{background:conic-gradient(#2bd36b var(--p),#e8ebf2 0)}.app-shell.light-theme .pf-goal-ring b{background:#fff}.app-shell.light-theme .pf-chip.on{color:#151b28}.app-shell.light-theme .pf-badges span{background:#eef1f6;color:#3d4658}.app-shell:not(.light-theme) .topbar-readiness,.app-shell:not(.light-theme) .topbar-readiness:hover{background:none;border:0;box-shadow:none}.recovery-page{gap:16px}.rv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.rv-head h2{margin:4px 0 0;font-size:26px;font-weight:800;letter-spacing:-.3px}.rv-vitals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.rv-vital{background:#13151c;border:1px solid #1e2130;border-radius:16px;padding:16px 16px 10px;display:flex;flex-direction:column;gap:4px;min-width:0}.rv-vital-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.rv-label{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#aab1c3;font-weight:600}.rv-label svg{color:var(--vc)}.rv-label.big{color:inherit}.rv-verdict{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:#ffffff0c;color:#aab1c3;white-space:nowrap}.rv-vital.tone-good .rv-verdict{background:#2bd36b1f;color:#2bd36b}.rv-vital.tone-bad .rv-verdict{background:#f2b33d1f;color:#f2b33d}.rv-value{font-size:30px;font-weight:800;letter-spacing:-.5px;line-height:1.1;margin-top:4px}.rv-value small{font-size:13px;font-weight:500;color:#8a91a6;margin-left:5px}.rv-normal{font-size:12.5px;color:#8a91a6}.rv-normal em{font-style:normal;color:#f2b33d}.rv-spark{width:100%;height:46px;margin-top:6px;display:block}.rv-spark.empty{display:flex;align-items:center;font-size:11.5px;color:#6f7790}.recovery-page .pg-card{background:#13151c;border:1px solid #1e2130;border-radius:16px;padding:20px 22px}.recovery-page .pg-card-title h3{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:700}.rv-ready-plot{height:230px}.rv-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:#8a91a6}.rv-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.rv-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rv-chart-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rv-chart-actions b{color:#fff}.rv-chart-actions .pg-toggle button{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-chart-plot{height:190px}.rv-empty{padding:30px 0;text-align:center}@media(max-width:1200px){.rv-vitals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.rv-charts{grid-template-columns:1fr}}@media(max-width:560px){.rv-vitals{grid-template-columns:1fr}.rv-head h2{font-size:22px}}.app-shell.light-theme .rv-vital,.app-shell.light-theme .recovery-page .pg-card{background:#fff;border-color:#e3e7ef}.app-shell.light-theme .rv-label{color:#3d4658}.app-shell.light-theme .rv-verdict{background:#eef1f6;color:#3d4658}.app-shell.light-theme .rv-chart-actions b{color:#151b28}.rv-lanes{display:flex;flex-direction:column}.rv-lane{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;align-items:stretch;padding:10px 0;border-top:1px solid #1e2130}.rv-lane:first-child{border-top:0;padding-top:0}.rv-lane-label{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0}.rv-lane-label strong{font-size:22px;font-weight:800;color:#fff;line-height:1.15}.rv-lane-label strong small{font-size:12px;font-weight:500;color:#8a91a6;margin-left:4px}.rv-lane-label strong.off{color:#f2b33d}.rv-lane-label strong.better{color:#3ddc84}.rv-lane-label .rv-label svg{color:var(--vc)}.rv-src{margin-top:6px;align-self:flex-start}.rv-src button{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;padding:3px 8px}.rv-lane-plot{height:110px;min-width:0}.rv-lane-plot.with-axis{height:136px}.rv-lane .rv-empty{padding:30px 0;margin:0}@media(max-width:760px){.rv-lane{grid-template-columns:1fr;gap:4px}.rv-lane-label{flex-direction:row;align-items:baseline;gap:10px;flex-wrap:wrap}.rv-lane-label strong{font-size:18px}}.app-shell.light-theme .rv-lane{border-top-color:#e3e7ef}.app-shell.light-theme .rv-lane-label strong{color:#151b28}.rv-axis{border-top:0;padding:0}.rv-axis-plot{height:28px;min-width:0}@media(max-width:760px){.rv-axis>span{display:none}}.rv-lane-plot{height:140px}.rv-avg{font-size:11.5px;color:#6f7790;margin-top:2px}.rv-lane-label strong{font-size:24px}.rv-axis-plot{height:34px}.rv-axis-plot{height:44px}.pf-restore{cursor:pointer;margin:0;font-size:11px;line-height:normal}.pf-restore:focus-within{outline:2px solid var(--accent);outline-offset:2px}.pf-restore-confirm{display:grid;gap:12px;margin-top:14px;padding:14px;border:1px solid #77613b;background:#493b25;color:#f3ce88;border-radius:8px;font-size:13px;line-height:1.5}.pf-section .success,.pf-section .error{margin:14px 0 0}.sidebar>*{flex-shrink:0}.pf-sync{display:grid;gap:8px;margin:0 0 14px;padding:12px 14px;border:1px solid #2a3350;border-radius:10px;background:#141a2b;font-size:13px}.pf-sync.error,.pf-sync.not-set-up{border-color:#6b3c49;background:#2d1f27}.pf-sync.synced b{color:#7fd6a0}.pf-sync .pf-actions{margin-top:4px}:root{--forma-color: #a99af4;--forma-mark-color: #f04444}.light-theme{--forma-color: #6e57cd;--forma-mark-color: #cc303c}.app-shell .sidebar,.login-page{--forma-color: #a99af4;--forma-mark-color: #f04444}.forma-mark.brand-mark{display:block;flex:0 0 auto;width:32px;height:32px;color:var(--forma-mark-color);background:none;border:0;border-radius:0}.forma-wordmark{font-family:ui-rounded,SF Pro Rounded,Arial Rounded MT Bold,system-ui,sans-serif;font-size:29px;font-weight:800;line-height:1;letter-spacing:-1.3px}.brand:focus-visible{outline:2px solid var(--forma-color);outline-offset:5px;border-radius:3px}.login-story .brand{gap:11px}.login-story .forma-wordmark{font-size:34px}.login-story .forma-mark{width:36px;height:36px}.login-story h1 em{color:var(--forma-color)}.loading .forma-mark{width:38px;height:38px}@media(min-width:761px){.sidebar.collapsed .brand .nav-label{width:0;overflow:hidden}.app-shell .sidebar.collapsed .brand{gap:0}}
