:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f3f7f8;background:#0b0f12;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at 50% 0,#48cfe012,#0000 42%),#0b0f12;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #72dce8}.page,.loading{place-items:center;min-height:100vh;padding:24px;display:grid}.loading{color:#98a6ad}.card,.content-card{background:#11171b;border:1px solid #5ddbeb29;border-radius:22px;width:min(1240px,100%);padding:32px}.eyebrow{color:#72dce8;letter-spacing:.16em;margin:0 0 10px;font-size:12px;font-weight:700}h1{letter-spacing:-.035em;margin:0;font-size:clamp(30px,5vw,46px)}.muted{color:#98a6ad;line-height:1.6}.login label{color:#c6d2d6;gap:8px;margin:18px 0;display:grid}.login input{color:#f3f7f8;background:#0d1316;border:1px solid #2c4148;border-radius:10px;width:100%;padding:12px 14px}.primary,.danger,.secondary{color:#071014;background:#72dce8;border:0;border-radius:10px;padding:11px 15px;font-weight:700}.danger{color:#fff;background:#9b4651;margin-top:24px}.secondary{color:#cdeff2;background:#1b3036}.error{color:#ffabb3}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid #ffffff14;flex:0 0 248px;width:248px;padding:28px 16px}.brand{color:#72dce8;letter-spacing:.16em;font-size:12px;font-weight:800}.sidebar nav{gap:4px;margin-top:32px;display:grid}.nav-item{color:#9aaab0;text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;width:100%;padding:11px 12px;display:flex}.nav-item:hover,.nav-item.active{color:#f3f7f8;background:#172329}.deferred{color:#6b7d83;font-size:10px}.content{flex:1;padding:48px clamp(20px,5vw,72px)}.content-card{max-width:1240px;min-height:260px}.content-card h1{margin-bottom:14px}.mobile-header,.bottom-nav{display:none}.system h2{margin:30px 0 4px}.device{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;display:flex}.device small{color:#819198;margin-top:4px;display:block}.today-card{background:#0d1316;border:1px solid #ffffff14;border-radius:14px;margin-top:24px;padding:20px}.today-card h2{margin:0;font-size:18px}.today-card>p{color:#98a6ad;margin:8px 0 16px}.today-card dl{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px;margin:0;display:grid}.today-card dt{color:#84959b;font-size:13px}.today-card dd{margin:4px 0 0;font-weight:600}.read-list{gap:12px;margin-top:24px;display:grid}.read-row{color:#f3f7f8;text-align:left;background:#0d1316;border:1px solid #ffffff14;border-radius:14px;gap:5px;width:100%;padding:16px;display:grid}.read-row span{color:#98a6ad;font-size:14px}.recovery-summary-heading,.recovery-row-heading,.recovery-detail-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.recovery-summary-heading>p{margin:8px 0 12px}.recovery-detail-heading{align-items:start}.recovery-status{white-space:nowrap;border:1px solid;border-radius:999px;flex:none;align-items:center;min-height:26px;padding:4px 9px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.recovery-status-good{color:#79d6a1;background:#79d6a11a}.recovery-status-usual{color:#72dce8;background:#72dce81a}.recovery-status-poor{color:#ffabb3;background:#ffabb31a}.recovery-status-insufficient{color:#b2bec3;background:#b2bec314}.recovery-row-good{border-left-color:#79d6a1}.recovery-row-usual{border-left-color:#72dce8}.recovery-row-poor{border-left-color:#ffabb3}.recovery-row-insufficient{border-left-color:#b2bec3}.recovery-why,.recovery-anomaly,.recovery-context{margin-top:20px}.recovery-why h2,.recovery-anomaly h2,.recovery-context h2{margin:0 0 6px;font-size:16px}.recovery-why p,.recovery-anomaly p,.recovery-context p{color:#c6d2d6;margin:0;line-height:1.5}.recovery-why.compact,.recovery-anomaly.compact{margin-top:12px}.recovery-why.compact p{color:#98a6ad;font-size:14px}.recovery-anomaly{border-left:3px solid #d7aa67;padding-left:12px}.recovery-anomaly p,.recovery-anomaly-marker{color:#e7c17d!important}.recovery-anomaly-marker{font-weight:700;font-size:13px!important}.recovery-direction{font-weight:700}.recovery-direction-favorable{color:#79d6a1!important}.recovery-direction-neutral{color:#72dce8!important}.recovery-direction-adverse{color:#ffabb3!important}.recovery-direction-unavailable{color:#b2bec3!important}.recovery-components{margin-top:16px}.import-form{gap:16px;margin-top:24px;display:grid}.import-form label{color:#c6d2d6;gap:8px;display:grid}.import-form input[type=file]{color:#cdeff2;background:#0d1316;border:1px solid #2c4148;border-radius:10px;width:100%;padding:12px}.health-heading{margin:32px 0 0;font-size:20px}.tabs{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.tabs .secondary.active{color:#071014;background:#72dce8}.tabs .secondary:disabled{opacity:.5;cursor:default}.calendar-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.calendar-heading .tabs{margin-top:0}.health-history-heading,.card-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.health-history-heading h2,.card-heading h3{margin:0}.health-history-heading .tabs{margin-top:0}.metric-card{overflow:hidden}.metric-unit,.card-heading>span{color:#84959b;font-size:13px}.history-grid,.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.history-grid>.today-card,.overview-grid>.today-card{margin-top:20px}.health-chart{color:#72dce8;margin:18px 0 10px}.chart-meta{color:#cdeff2;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.chart-meta strong{color:#f3f7f8}.health-chart svg{background:linear-gradient(#0000 49%,#ffffff0f 50%,#0000 51%);border-bottom:1px solid #ffffff14;width:100%;height:110px;display:block;overflow:visible}.chart-labels{color:#84959b;justify-content:space-between;gap:8px;margin-top:8px;font-size:12px;display:flex}.chart-labels span:nth-child(2){text-align:center}.metric-summary{margin-top:14px!important}.history-table{color:#98a6ad;gap:6px;margin-top:14px;font-size:13px;display:grid}.history-table strong{color:#cdeff2}.stage-strip{background:#1b3036;border-radius:5px;gap:2px;min-height:16px;margin-top:18px;display:flex;overflow:hidden}.stage-strip span{min-width:3px}.stage-legend{color:#84959b;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:12px;display:flex}.stage-legend span:before{content:"";background:#72dce8;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.stage-legend span:nth-child(2):before{background:#7065d8}.stage-legend span:nth-child(3):before{background:#d889c8}.stage-legend span:nth-child(4):before{background:#65747b}.history-controls{justify-content:space-between;align-items:end;gap:16px;margin-top:20px;display:flex}.category-nav{flex-wrap:wrap;gap:8px;display:flex}.sort-control{color:#98a6ad;gap:6px;min-width:170px;font-size:13px;display:grid}.sort-control select{color:#cdeff2;background:#1b3036;border:1px solid #2c555e;border-radius:10px;padding:10px 12px}.calendar-event{color:#cdeff2;text-align:left;text-underline-offset:3px;background:0 0;border:0;width:100%;margin:8px 0 0;padding:0;text-decoration:underline;display:block}.calendar-event:hover{color:#72dce8}.target-highlight{border:1px solid #0000;border-radius:16px;scroll-margin-block:24px;transition:border-color .4s,box-shadow .4s}.target-highlight.is-active{border-color:#72dce8;box-shadow:0 0 0 3px #72dce829,0 0 24px #72dce82e}@media (prefers-reduced-motion:reduce){.target-highlight{transition:none}}@media (min-width:701px){.more-fallback{display:none}}@media (max-width:700px){.sidebar{display:none}.content{padding:22px 16px 96px}.mobile-header{margin-bottom:28px;display:block}.content-card{border-radius:16px;padding:24px 20px}.bottom-nav{z-index:2;padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:#0d1316f5;border-top:1px solid #ffffff1a;grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav .nav-item{color:#9aaab0;text-align:center;min-width:0;padding:9px 2px;font-size:10px;line-height:1.15;display:block}.bottom-nav .nav-item.active{color:#72dce8;background:0 0}.device{align-items:flex-start}.device .secondary{flex:none}.health-history-heading,.card-heading,.history-controls{display:grid}.health-history-heading .tabs{margin-top:8px}.history-grid,.overview-grid{grid-template-columns:1fr}.sort-control{width:100%}.category-nav{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.category-nav .secondary{white-space:nowrap}}.training-layout{grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr);align-items:start;gap:24px;margin-top:24px;display:grid}.sleep-layout,.recovery-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);align-items:start;gap:24px;margin-top:24px;display:grid}.training-layout .read-list{margin-top:0}.read-row.compact{padding:12px 14px}.month-card,.sleep-trends,.recovery-guide-panel{position:sticky;top:24px}.month-card{background:#0d1316;border:1px solid #ffffff14;border-radius:14px;padding:18px}.month-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.month-header .secondary{padding:7px 10px}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:18px;display:grid}.calendar-grid small{color:#84959b;font-size:11px}.calendar-grid button,.calendar-grid span{color:#cdeff2;background:#172329;border:0;border-radius:7px;min-height:44px;padding:7px 2px}.calendar-grid button.marked{color:#071014;background:#72dce8;font-weight:800}.calendar-grid sup{margin-left:2px}.training-day-count{color:#72dce8;font-size:13px;font-weight:700}.range-tabs{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.health-history>.category-nav{margin-top:20px}.metric-card svg{background:repeating-linear-gradient(#0000 0 49px,#ffffff0f 50px);width:100%;height:150px;margin-top:18px;display:block;overflow:visible}.metric-card svg line{stroke:#fff3}.metric-card svg polyline{fill:none;stroke:#72dce8;stroke-width:3px}.metric-card svg .chart-bar{fill:#72dce8;opacity:.8}.metric-card svg .chart-range-bar{stroke:#d889c8;stroke-width:3px}.axis,.sleep-axis{color:#84959b;justify-content:space-between;gap:12px;font-size:12px;display:flex}.link-button{color:#72dce8;background:0 0;border:0;padding:4px 0;text-decoration:underline}.sleep-axis{margin-top:9px}.stage-legend{color:#84959b;margin-top:9px;font-size:12px}.stage-core{background:#72dce8}.stage-deep{background:#7065d8}.stage-rem{background:#d889c8}.stage-awake{background:#65747b}.metric-days{color:#98a6ad;gap:4px;margin-top:8px;font-size:12px;display:grid}.metric-days summary{color:#cdeff2;cursor:pointer}.metric-days span{margin-right:8px;display:inline-block}@media (max-width:900px){.training-layout,.sleep-layout,.recovery-layout{grid-template-columns:1fr}.month-card,.sleep-trends,.recovery-guide-panel{position:static}}.category-nav .secondary.active,.range-tabs .secondary.active{border:1px solid #c4f7fb;box-shadow:0 0 0 2px #72dce838}.chart-with-axis{grid-template-columns:max-content minmax(0,1fr);align-items:stretch;gap:8px;margin-top:18px;display:grid}.chart-with-axis svg{width:100%;height:150px;overflow:visible}.chart-with-axis svg line:not(.chart-segment){stroke:#ffffff29;stroke-width:1px}.chart-with-axis svg .chart-segment{stroke:#72dce8;stroke-width:3px}.chart-with-axis svg circle{fill:#72dce8;outline:none}.chart-with-axis svg circle:focus,.chart-with-axis svg circle:hover{stroke:#fff;stroke-width:2px}.y-axis{color:#84959b;text-align:right;white-space:nowrap;flex-direction:column;justify-content:space-between;font-size:11px;display:flex}.chart-range{color:#98a6ad;gap:6px;margin-top:12px;font-size:12px;display:grid}.chart-range label{grid-template-columns:28px 1fr;align-items:center;gap:8px;display:grid}.chart-range input{accent-color:#72dce8;width:100%}.training-day{border:1px solid #0000;border-radius:14px;padding:8px;scroll-margin-top:24px;transition:border-color .3s,box-shadow .3s}.training-day.selected{border-color:#72dce8;box-shadow:0 0 0 3px #72dce829}.scroll-top{z-index:3;color:#071014;background:#72dce8;border:0;border-radius:999px;padding:10px 14px;position:fixed;bottom:28px;right:24px;box-shadow:0 6px 20px #0000004d}.sleep-trends{gap:14px;display:grid}.sleep-trend{border-top:1px solid #ffffff14;padding-top:10px}.sleep-trend h3,.sleep-trend p{margin:0 0 6px}.sleep-bars{border-bottom:1px solid #ffffff1f;align-items:end;gap:3px;height:54px;padding:4px 0 0;display:flex;position:relative}.sleep-bars span{background:#72dce8;border-radius:3px 3px 0 0;flex:1;min-width:3px}.sleep-bars .sleep-average-line{z-index:1;pointer-events:none;background:#d889c8;min-width:0;height:1px;position:absolute;left:0;right:0}.sleep-trend small{color:#84959b}@media (max-width:700px){.scroll-top{bottom:78px;right:16px}.chart-range{grid-template-columns:1fr}}.chart-with-axis{grid-template-columns:minmax(52px,max-content) minmax(0,1fr);gap:6px;margin-top:12px}.metric-card svg,.chart-with-axis svg{height:190px;margin-top:0}.chart-month-labels{color:#84959b;text-align:center;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;margin:8px 0 0 58px;font-size:12px;display:grid}.sleep-bars{gap:5px;height:176px;padding-top:6px}.sleep-bars .sleep-gap{background:0 0;min-width:3px}.sleep-trends .chart-month-labels{margin-left:0}.sleep-trend{min-width:0}@media (max-width:700px){.metric-card svg,.chart-with-axis svg{height:164px}.sleep-bars{height:150px}.chart-month-labels{margin-left:50px;font-size:11px}}.chart-plot,.sleep-chart-plot{min-width:0}.chart-with-axis>.y-axis{align-self:start;height:190px}.chart-with-axis.has-average-gutter{grid-template-columns:minmax(52px,max-content) minmax(0,1fr) minmax(58px,max-content)}.chart-average-line{stroke-width:1.25px;stroke-dasharray:2 1;stroke:#d889c8!important}.chart-average-gutter{color:#d889c8;white-space:nowrap;align-self:start;min-width:58px;height:190px;font-size:10px;line-height:1;position:relative}.chart-average-gutter span{position:absolute;left:6px;transform:translateY(-50%)}.chart-month-labels.compact{letter-spacing:0;gap:0;width:54%;margin:2px auto 0;font-size:10px;line-height:1}.chart-month-labels.compact.exact-centers{width:100%;height:10px;display:block;position:relative}.chart-month-labels.compact.exact-centers span{position:absolute;top:0;transform:translate(-50%)}.sleep-chart-row{grid-template-columns:minmax(0,1fr);align-items:start;min-width:0;display:grid}.sleep-chart-row.has-average-gutter{grid-template-columns:minmax(0,1fr) minmax(58px,max-content)}.sleep-bars{background:repeating-linear-gradient(#0000 0 74px,#ffffff0f 75px);border-bottom:0;width:100%;height:230px;padding:0;display:block}.sleep-bars .chart-bar{fill:#72dce8;opacity:.85}.sleep-bars line{stroke:#ffffff29;stroke-width:1px}.sleep-chart-row .chart-average-gutter{height:230px}.sleep-trends .chart-month-labels.compact{margin:2px auto 0}@media (max-width:700px){.chart-with-axis>.y-axis,.chart-average-gutter{height:164px}.chart-with-axis.has-average-gutter{grid-template-columns:minmax(50px,max-content) minmax(0,1fr) minmax(54px,max-content)}.chart-average-gutter{min-width:54px;font-size:9px}.sleep-bars,.sleep-chart-row .chart-average-gutter{height:190px}.chart-month-labels.compact{margin:2px auto 0;font-size:9px}}.recovery-status{border-width:1px;gap:6px;box-shadow:inset 0 0 0 1px #ffffff0d}.recovery-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 10px}.recovery-status-good{color:#3ae78d;background:#3ae78d2e;border-color:#3ae78db8}.recovery-status-usual{color:#75dbe8;background:#75dbe81f;border-color:#75dbe86b}.recovery-status-poor{color:#ff6578;background:#ff65782e;border-color:#ff6578bd}.recovery-status-insufficient{color:#aebbc1;background:#aebbc11a;border-color:#aebbc157}.recovery-row{border-left-width:5px}.recovery-row-good{background:linear-gradient(90deg,#3ae78d1c,#0000 42%);border-left-color:#3ae78d}.recovery-row-usual{background:linear-gradient(90deg,#75dbe812,#0000 42%);border-left-color:#75dbe8}.recovery-row-poor{background:linear-gradient(90deg,#ff65781c,#0000 42%);border-left-color:#ff6578}.recovery-row-insufficient{background:linear-gradient(90deg,#aebbc10f,#0000 42%);border-left-color:#aebbc1}.recovery-influence{font-weight:800}.recovery-influence-favorable{color:#3ae78d!important}.recovery-influence-adverse{color:#ff6578!important}.recovery-influence-neutral{color:#75dbe8!important}.recovery-influence-unavailable{color:#aebbc1!important}.recovery-weight-guide{background:#10191d;border:1px solid #ffffff1a;border-radius:14px;margin-top:26px;padding:18px}.recovery-weight-guide h2{margin:0 0 12px;font-size:17px}.recovery-weight-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;display:grid}.recovery-weight-item{color:#c6d2d6;justify-content:space-between;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.recovery-weight-item>span{min-width:0}.recovery-weight-item strong{color:#dff6f8;white-space:nowrap}.recovery-guide-panel .recovery-weight-guide{margin-top:0}.recovery-guide-panel .recovery-tooltip-popover{left:auto;right:0;transform:translateY(4px)}.recovery-guide-panel .recovery-tooltip-popover[data-open=true]{transform:translateY(0)}.recovery-tooltip{vertical-align:text-bottom;display:inline-flex;position:relative}.recovery-info{color:#bfeff4;cursor:help;background:0 0;border:1px solid #bfeff4a6;border-radius:50%;place-items:center;width:17px;height:17px;padding:0;font-size:11px;font-weight:800;line-height:1;display:inline-grid}.recovery-info:focus-visible{outline-offset:2px;outline:2px solid #75dbe8}.recovery-tooltip-popover{z-index:5;color:#e8f5f6;opacity:0;pointer-events:none;background:#16252a;border:1px solid #75dbe86b;border-radius:10px;width:min(280px,100vw - 44px);padding:10px 12px;font-size:12px;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 10px 28px #00000061}.recovery-tooltip-popover[data-open=true]{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}@media (max-width:700px){.recovery-weight-list{grid-template-columns:1fr}.recovery-tooltip-popover{left:auto;right:0;transform:translateY(4px)}.recovery-tooltip-popover[data-open=true]{transform:translateY(0)}}
