@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";.profile-button,.help-button{border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.profile-button{width:100%;background:#141613}.profile-button:hover{background:#1b1e19}.help-button{width:100%;background:#1d201b}.help-button span{flex:1;display:grid;gap:4px}.help-button small{font-size:9px;color:#8e9388}.connect-off{background:#d59a70!important;box-shadow:none!important}.refresh-button{margin-left:-8px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.connection-alert{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;margin:-8px 0 15px;border:1px solid #704f3c;background:#2c241e;border-radius:8px}.connection-alert>div{display:grid;gap:4px}.connection-alert strong{font-size:11px;color:#efbe95}.connection-alert span{font-size:10px;color:#c5a58c;line-height:1.4}.connection-alert .outline-button{white-space:nowrap}.data-badge{font:8px var(--mono);letter-spacing:.7px;color:#9da697;border:1px solid #383d34;padding:5px 7px;border-radius:4px}.empty-state{min-height:145px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;text-align:center;padding:20px;color:#777d72}.empty-state svg{color:#717a65}.empty-state p{max-width:330px;font-size:10px;line-height:1.6}.activity-controls{display:flex;align-items:center;gap:10px}.filter-label{font-size:9px;color:#858a80}.activity-controls select{color:#c4c8bd;font-size:9px;min-width:88px}.activity-controls .text-link{padding:0;white-space:nowrap}.activity-sport.sport-run,.activity-sport.sport-ride,.activity-sport.sport-swim,.activity-sport.sport-hike,.activity-sport.sport-strength,.activity-sport.sport-other{background:transparent}.sport-other{color:#b0b4a9}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#000a;display:grid;place-items:center;padding:16px}.settings-modal{width:min(520px,100%);max-height:min(90vh,760px);overflow:auto;background:#181a17;border:1px solid #3b4036;border-radius:12px;padding:21px;box-shadow:0 20px 80px #0009}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-header h2{font:600 19px var(--display);margin-top:5px}.settings-modal form{display:grid;gap:16px}.field-label{display:grid;gap:7px;font-size:11px;color:#d7dbd1}.field-help{font-size:9px;line-height:1.5;color:#8c9286}.field-label input{width:100%;border:1px solid #3b4036;border-radius:7px;background:#11130f;padding:11px 12px;color:#f0f0e9;font:12px DM Sans}.modal-note{display:flex;gap:9px;align-items:flex-start;padding:11px;border:1px solid #343a2e;border-radius:7px;background:#20231d;color:#aab09f;font-size:9px;line-height:1.55}.modal-note svg{flex-shrink:0;color:var(--lime)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:3px}.modal-actions .hero-primary{border:0}.form-error{font-size:10px;color:#efbe95;line-height:1.5}.help-modal>p{font-size:11px;line-height:1.7;color:#b1b6ab;margin:0 0 13px}.help-modal>.hero-primary{margin-top:6px;border:0}.help-modal .modal-header{margin-bottom:14px}.activity-panel .empty-state{min-height:100px}@media(max-width:780px){.connection-alert{align-items:flex-start;flex-direction:column}.connection-alert .outline-button{font-size:10px}.activity-controls{gap:6px}.activity-controls .filter-label{display:none}.activity-controls .text-link{font-size:8px}.settings-modal{padding:17px}.activity-controls select{min-width:75px}.data-badge{font-size:7px}.refresh-button{margin-left:-5px}}:root{font-family:DM Sans,sans-serif;color:#f0f0e9;background:#101210;font-synthesis:none;text-rendering:optimizeLegibility;--bg:#101210;--surface:#181a17;--surface2:#1d201b;--border:#2b2e28;--muted:#858a80;--lime:#b4e56c;--teal:#72c8bf;--orange:#e3a778;--mono:"DM Mono",monospace;--display:"Space Grotesk",sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.app-shell{min-height:100vh}.sidebar{width:242px;position:fixed;inset:0 auto 0 0;background:#141613;border-right:1px solid #242722;padding:22px 15px 16px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 24px;font:700 23px var(--display);letter-spacing:-1.3px}.brand-mark{width:31px;height:31px;display:grid;place-items:center;background:var(--lime);border-radius:9px;color:#182013}.brand-dot{color:var(--lime)}.icon-button{border:0;background:transparent;color:#9da197;display:grid;place-items:center;border-radius:8px;width:36px;height:36px}.icon-button:hover{background:#242720;color:#fff}.mobile-close,.menu-button{display:none}.profile{display:flex;align-items:center;gap:10px;padding:12px 9px;margin:0 0 25px;border:1px solid #292c27;border-radius:10px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#405345;color:#dcf5c2;font:600 11px var(--mono);border:1px solid #668061}.profile div:nth-child(2){flex:1;display:grid;gap:3px}.profile strong{font-size:12px;font-weight:600}.profile span{font-size:10px;color:var(--muted)}.muted-icon{color:#757a70}.nav-label{font:500 9px var(--mono);letter-spacing:1.6px;color:#72776c;padding:0 11px 9px}.nav-list{display:grid;gap:4px}.nav-item{width:100%;height:41px;border:0;border-radius:8px;background:transparent;padding:0 11px;display:flex;align-items:center;gap:11px;text-align:left;color:#a6aa9f;font-size:12px}.nav-item:hover{background:#20231e;color:#eef0e9}.nav-item.active{background:#282d22;color:var(--lime)}.nav-new{margin-left:auto;font:500 9px var(--mono);color:var(--lime);background:#333c29;padding:3px 6px;border-radius:4px}.tools-label{margin-top:30px}.connect-dot,.live-dot{height:7px;width:7px;border-radius:50%;background:#a9df67;box-shadow:0 0 9px #a9df6790}.connect-dot{margin-left:auto}.sidebar-bottom{margin-top:auto}.help-card{display:flex;align-items:center;gap:9px;padding:11px 9px;background:#1d201b;border:1px solid #292d26;border-radius:9px}.help-icon{color:var(--lime)}.help-card div:nth-child(2){flex:1;display:grid;gap:3px}.help-card strong{font-size:10px}.help-card span{font-size:9px;color:#8e9388}.help-card>svg{color:#858a80}.version{display:block;color:#656a61;font:9px var(--mono);letter-spacing:1px;padding:17px 7px 0}.main-area{margin-left:242px;min-height:100vh}.topbar{height:62px;border-bottom:1px solid #252823;display:flex;align-items:center;padding:0 38px;gap:12px}.breadcrumb{display:flex;align-items:center;gap:9px;color:#777c72;font-size:11px}.breadcrumb span{color:#d5d8ce}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:17px}.today-pill{font:10px var(--mono);letter-spacing:.2px;color:#969b91;display:flex;align-items:center;gap:8px}.today-divider{color:#555a50}.avatar-small{width:29px;height:29px}.page-content{max-width:1180px;padding:32px 38px 20px;margin:0 auto}.welcome-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.eyebrow{font:500 9px var(--mono);letter-spacing:1.45px;color:#a5aa9d;display:flex;align-items:center;gap:8px}.eyebrow-line{height:1px;width:17px;background:var(--lime)}h1,h2,h3,p{margin:0}.welcome-row h1{font:600 clamp(25px,3vw,34px)/1.2 var(--display);letter-spacing:-1.4px;margin:9px 0 5px}.welcome-row p{font-size:12px;color:#92968c}.outline-button{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid #3b4235;color:#d9e7ce;border-radius:7px;padding:10px 13px;font-size:11px}.outline-button svg{color:var(--lime)}.outline-button:hover{background:#20251c;border-color:#63764d}.hero-card{height:248px;position:relative;overflow:hidden;border-radius:12px;border:1px solid #30372b;background:radial-gradient(ellipse at 76% 45%,#34402a 0,#23291f 31%,#1b1e19 72%);display:flex;margin-bottom:15px}.hero-copy{position:relative;z-index:2;padding:25px 31px;width:55%}.hero-kicker{display:flex;align-items:center;gap:8px;font:10px var(--mono);letter-spacing:1.2px;color:#c6d6b3}.hero-kicker-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px #b4e56c}.hero-copy h2{font:600 34px/.99 var(--display);letter-spacing:-1.2px;margin:18px 0 9px}.hero-copy h2 em{font-style:normal;color:var(--lime)}.hero-copy p{max-width:350px;color:#a6aa9e;font-size:11px;line-height:1.6}.hero-links{display:flex;align-items:center;gap:16px;margin-top:17px}.hero-primary{display:flex;align-items:center;gap:7px;padding:9px 12px;border:0;border-radius:6px;background:var(--lime);color:#182013;font-weight:700;font-size:10px}.hero-primary:hover{background:#c9f190}.hero-links>span{display:flex;gap:6px;align-items:center;color:#8e9486;font-size:9px}.hero-status-dot{height:5px;width:5px;border-radius:50%;background:var(--lime)}.hero-visual{position:absolute;top:0;right:0;bottom:0;left:49%;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #65734d25;border-radius:50%;aspect-ratio:1}.orbit-one{width:176px}.orbit-two{width:240px}.orbit-three{width:302px}.hero-center{z-index:1;display:flex;align-items:center;flex-direction:column}.hero-center-icon{color:var(--lime);height:32px}.hero-center>span{font:9px var(--mono);letter-spacing:1.6px;color:#a3ad94}.hero-center strong{font:600 38px var(--display);color:#f3f5eb;margin:1px 0}.hero-center strong span{font-size:15px;color:var(--lime)}.hero-center small{font:8px var(--mono);letter-spacing:1px;color:#919987}.float-chip{position:absolute;z-index:2;background:#242a21ef;border:1px solid #434c3b;border-radius:7px;padding:7px 9px;display:grid;grid-template-columns:20px auto;align-items:center;column-gap:5px;box-shadow:0 6px 20px #0004}.float-chip>span:nth-child(2){font:8px var(--mono);color:#aab09f;letter-spacing:.7px}.float-chip strong{grid-column:2;font:500 11px var(--mono);color:#edf1e8}.chip-icon{grid-row:span 2;color:var(--lime)}.chip-ride .chip-icon{color:var(--teal)}.chip-swim .chip-icon{color:#81aef0}.chip-run{top:29px;left:15%}.chip-ride{right:7%;top:61px}.chip-swim{bottom:29px;left:22%}.hero-spark{position:absolute;right:13%;bottom:22%;font-size:25px;color:#d1e8a7}.hero-grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.13;background-image:radial-gradient(#d5e0bb .6px,transparent .6px);background-size:6px 6px;-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000);mask-image:linear-gradient(90deg,transparent 30%,#000)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}.stat-card{background:var(--surface);border:1px solid #2b2e28;border-radius:9px;padding:14px 15px 12px;min-height:126px}.stat-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.stat-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:7px}.stat-run{color:var(--lime);background:#303b25}.stat-ride{color:var(--teal);background:#243734}.stat-swim{color:#88b9f4;background:#27323d}.stat-recovery{color:#e6a08b;background:#382b28}.trend{font:9px var(--mono);letter-spacing:.3px}.trend.up{color:#a9d57d}.trend.steady{color:#a9d57d;background:#293326;padding:4px 6px;border-radius:4px;font-size:8px}.stat-label{font:9px var(--mono);letter-spacing:1px;color:#969a90}.stat-number{font:600 25px var(--display);margin-top:4px;letter-spacing:-.7px}.stat-number small{font:11px var(--mono);color:#9ba094;letter-spacing:0}.stat-foot{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:9px;color:#83887e}.progress-track{height:4px;flex:1;background:#2c3029;border-radius:8px;overflow:hidden}.progress-track i{height:100%;display:block;background:var(--lime);border-radius:8px}.ride-progress i{background:var(--teal)}.swim-progress i{background:#84aff0}.recovery-label{display:flex;align-items:center;gap:5px;color:#a9d57d;font:9px var(--mono)}.recovery-label .live-dot{height:6px;width:6px}.recovery-bits{display:flex;gap:11px;color:#969a90;font-size:9px;margin-top:9px}.recovery-bits span{display:flex;align-items:center;gap:4px}.recovery-bits svg{color:#ca9a89}.content-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:13px;margin-bottom:13px}.panel{background:var(--surface);border:1px solid #2b2e28;border-radius:9px;padding:17px 17px 13px}.volume-panel,.plan-panel{min-height:303px}.panel-head{display:flex;align-items:center;justify-content:space-between}.small-eyebrow{font-size:8px;color:#82877e;letter-spacing:1.2px;margin-bottom:5px}.panel-head h3{font:600 16px var(--display);letter-spacing:-.3px}.select-button{display:flex;align-items:center;gap:8px;border:1px solid #353931;background:#1e211c;padding:7px 9px;border-radius:5px;color:#c4c8bd;font-size:9px}.chart-legend{display:flex;gap:14px;margin-top:19px}.chart-legend span{display:flex;align-items:center;gap:5px;font-size:9px;color:#b9bdb2}.chart-legend i{width:7px;height:7px;border-radius:50%}.legend-run{background:var(--lime)}.legend-ride{background:var(--teal)}.legend-swim{background:#84aff0}.chart-legend small{color:#777d72;font:8px var(--mono)}.chart-area{height:164px;margin-top:8px}.chart-note{border-top:1px solid #2c3029;padding-top:10px;color:#a2a79c;font-size:9px}.note-mark{color:var(--lime);font-size:15px;margin-right:6px}.note-separator{color:#5d6258;margin:0 5px}.calendar-button{border:1px solid #353931}.plan-list{margin-top:11px}.plan-row{display:flex;align-items:center;gap:9px;min-height:39px;border-top:1px solid #292d27}.plan-date{width:29px;display:grid;text-align:center;gap:1px}.plan-date span{font:8px var(--mono);color:#858b80}.plan-date strong{font:12px var(--mono);color:#e6e9df}.plan-sport,.activity-sport{display:flex;align-items:center;justify-content:center}.plan-sport{width:26px;height:26px;border-radius:6px;flex-shrink:0}.sport-run{color:var(--lime);background:#303b25}.sport-ride{color:var(--teal);background:#243734}.sport-swim{color:#88b9f4;background:#27323d}.sport-strength{color:#e2af79;background:#3b3024}.sport-hike{color:#c4a4e7;background:#342b3b}.plan-info{min-width:0;flex:1;display:grid;gap:3px}.plan-info strong{font-size:10px;font-weight:600}.plan-info span{font-size:8px;color:#858a80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-duration{font:9px var(--mono);color:#999e93;white-space:nowrap}.text-link{display:flex;align-items:center;gap:4px;border:0;background:none;color:#b4e56c;font-size:9px;padding:8px 0 0}.text-link:hover{color:#d3f69f}.activity-panel{padding-bottom:4px}.activity-table{margin-top:14px}.activity-header,.activity-row{display:grid;grid-template-columns:1fr 2.2fr 1fr 1fr 1fr;align-items:center;gap:10px}.activity-header{padding:0 9px 9px;color:#73796e;font:8px var(--mono);letter-spacing:.8px}.activity-row{min-height:51px;border-top:1px solid #292d27;padding:0 9px}.activity-sport{justify-content:flex-start;gap:6px;font-size:9px}.activity-sport b{font-weight:500;color:#d1d4ca}.activity-name{display:grid;gap:4px}.activity-name strong{font-size:10px;font-weight:500}.activity-name small{font-size:8px;color:#81867b}.activity-value{font:10px var(--mono);color:#d4d7ce}.heart-value{display:flex;align-items:center;gap:5px;color:#a8ada2}.heart-value svg{color:#d59083}.footer-note{display:flex;justify-content:space-between;padding:15px 2px;color:#656b61;font:8px var(--mono);letter-spacing:.6px}.coach-fab{position:fixed;right:25px;bottom:22px;z-index:6;display:flex;align-items:center;gap:8px;border:1px solid #657b4c;border-radius:24px;padding:11px 15px;background:#b4e56c;color:#20291a;font-weight:700;font-size:11px;box-shadow:0 8px 28px #0007}.coach-fab:hover{background:#c7f18a}.fab-sparkle{margin-left:3px}.chat-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0008;z-index:10;display:flex;justify-content:flex-end}.chat-drawer{width:min(410px,100%);height:100%;background:#171915;border-left:1px solid #34382f;display:flex;flex-direction:column;box-shadow:-20px 0 70px #0007}.chat-header{padding:18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #2c3029}.coach-avatar{width:38px;height:38px;border-radius:10px;background:#303b25;color:var(--lime);display:grid;place-items:center}.chat-header>div:nth-child(2){flex:1;display:grid;gap:5px}.chat-header strong{font:600 14px var(--display)}.chat-header span{font-size:9px;color:#9ba094;display:flex;align-items:center;gap:6px}.chat-header span i{width:6px;height:6px;border-radius:50%;background:var(--lime)}.chat-context{margin:15px 16px 0;padding:10px 11px;background:#20231d;border:1px solid #30352b;border-radius:7px;display:flex;justify-content:space-between;gap:8px}.chat-context span:first-child{font:9px var(--mono);color:var(--lime)}.chat-context span:last-child{font-size:9px;color:#a8ada1}.chat-messages{flex:1;overflow:auto;padding:17px 16px;display:flex;flex-direction:column;gap:12px}.message{align-self:flex-start;max-width:90%;padding:11px 12px;background:#22251f;border:1px solid #31352e;border-radius:8px 8px 8px 2px}.message-user{align-self:flex-end;background:#2b3524;border-color:#465438;border-radius:8px 8px 2px}.message>span{font:8px var(--mono);color:#a8cf7b;letter-spacing:.8px}.message p{font-size:11px;line-height:1.6;color:#e3e5dc;margin-top:6px;white-space:pre-wrap}.typing{color:#9ba094!important}.chat-error{padding:10px;border:1px solid #704f3c;background:#34271e;color:#efbe95;border-radius:7px;font-size:10px}.suggestions{display:flex;gap:6px;padding:0 14px 10px}.suggestions button{border:1px solid #383d34;border-radius:15px;background:#1f221d;padding:7px 9px;color:#bcc1b5;font-size:9px}.suggestions button:hover{border-color:#748c58;color:#d9efbf}.chat-compose{margin:0 14px;padding:5px 5px 5px 12px;border:1px solid #3b4036;border-radius:8px;display:flex;align-items:center;background:#1e211c}.chat-compose input{flex:1;min-width:0;border:0;background:transparent;color:#f0f0e9;font:11px DM Sans;outline:none!important}.chat-compose input::placeholder{color:#777d72}.chat-compose button{height:32px;width:34px;border:0;border-radius:6px;background:var(--lime);color:#1b2315;display:grid;place-items:center}.chat-compose button:disabled{opacity:.45;cursor:default}.chat-disclaimer{text-align:center;padding:10px 10px 15px;color:#777d72;font-size:8px}.mobile-scrim{display:none}@media(max-width:1100px){.sidebar{width:215px}.main-area{margin-left:215px}.page-content{padding:28px 25px 18px}.topbar{padding:0 25px}.hero-copy{padding-left:24px}.hero-copy h2{font-size:31px}.stats-grid{gap:8px}.stat-card{padding:12px}.content-grid{grid-template-columns:1fr 1fr}.activity-header,.activity-row{grid-template-columns:.9fr 2fr .9fr .9fr 1fr;gap:6px}}@media(max-width:780px){.sidebar{transform:translate(-100%);transition:transform .22s ease;width:260px;box-shadow:10px 0 35px #0008}.sidebar-open{transform:translate(0)}.mobile-close{display:grid;margin-left:auto}.mobile-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;border:0;z-index:4}.main-area{margin-left:0}.menu-button{display:grid}.topbar{height:56px;padding:0 15px}.today-pill{font-size:9px}.page-content{padding:23px 16px 18px}.welcome-row{align-items:flex-start;gap:12px}.welcome-row h1{font-size:25px}.welcome-row p{font-size:10px}.outline-button{font-size:0;padding:9px}.outline-button svg{width:17px;height:17px}.hero-card{height:224px}.hero-copy{width:63%;padding:21px 17px}.hero-copy h2{font-size:27px}.hero-copy p{font-size:10px;max-width:260px}.hero-visual{left:46%;transform:scale(.85);transform-origin:center right;width:60%}.hero-links{gap:8px}.hero-links>span{font-size:8px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:119px}.content-grid{grid-template-columns:1fr}.volume-panel,.plan-panel{min-height:auto}.chart-area{height:190px}.activity-header{display:none}.activity-row{grid-template-columns:.9fr 2fr 1fr 1fr;gap:7px}.activity-row .heart-value,.activity-sport b{display:none}.activity-name strong,.activity-value{font-size:9px}.footer-note{font-size:7px;gap:8px}.footer-note span:last-child{text-align:right}.coach-fab{right:14px;bottom:14px;padding:10px 13px}}@media(max-width:420px){.today-pill{gap:5px;font-size:8px}.topbar-right{gap:9px}.hero-card{height:216px}.hero-copy h2{font-size:24px}.hero-copy p{max-width:210px}.hero-visual{left:48%;opacity:.83;transform:scale(.72);transform-origin:center right}.hero-links>span{display:none}.stat-number{font-size:23px}.plan-duration{font-size:8px}.plan-info span{font-size:7px}.activity-row{grid-template-columns:.7fr 1.7fr .8fr .9fr;padding:0 4px}.activity-value{font-size:8px}.activity-name small{font-size:7px}}
