:root{color:#19352f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f3ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}.page-shell{flex-direction:column;width:min(1080px,100%);min-height:100vh;margin:0 auto;padding:0 48px;display:flex}.topbar{border-bottom:1px solid #deded3;justify-content:space-between;align-items:center;height:76px;display:flex}.brand{color:#19352f;letter-spacing:-.6px;align-items:center;gap:10px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{color:#32654d;background:#d4e4d5;border-radius:50%;place-items:center;width:28px;height:28px;font-family:Georgia,serif;font-size:17px;display:grid}.brand-light{color:#779183;font-weight:400}.topbar-note{color:#737c72;font-size:12px}.status-page,.account-page{width:min(500px,100%);margin:auto;padding:76px 0 100px}.account-card,.account-form{gap:16px;display:grid}.account-card{color:#4d5e54;border-top:1px solid #d9dbd1;padding-top:20px;font-size:14px;line-height:1.6}.account-card p{margin:0}.account-form label{color:#4d5e54;gap:7px;font-size:12px;display:grid}.account-form input{color:#19352f;min-height:42px;font:inherit;background:#fffefa;border:1px solid #cdd3c9;border-radius:5px;padding:0 11px}.account-form button,.account-card button{color:#fff;cursor:pointer;background:#32654d;border:1px solid #32654d;border-radius:5px;min-height:40px;padding:9px 12px;font-size:13px}.account-form button:disabled,.account-card button:disabled{opacity:.6;cursor:wait}.account-form .text-button{color:#32654d;text-align:left;background:0 0;border:0;min-height:auto;padding:0;text-decoration:underline}.account-links{justify-content:space-between;gap:14px;display:flex}.account-card .danger-button{color:#a24335;background:0 0;border-color:#a24335}.form-message{color:#32654d;margin-top:18px;font-size:13px;line-height:1.5}.goal-section{border-top:1px solid #d9dbd1;margin-top:42px;padding-top:27px}.goal-section h2{color:#19352f;letter-spacing:-.5px;margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:500}.goal-card{color:#4d5e54;background:#fffefa;border:1px solid #d9dbd1;border-radius:6px;gap:8px;margin:17px 0;padding:17px;font-size:13px;line-height:1.5;display:grid}.goal-card p,.goal-card h3{margin:0}.goal-card h3{color:#19352f;font-size:17px;font-weight:600}.goal-kind{color:#66836f;letter-spacing:.5px;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.goal-form{border-top:1px solid #e3e4dc;gap:15px;margin-top:20px;padding-top:18px;display:grid}.goal-form label{color:#4d5e54;gap:7px;font-size:12px;display:grid}.goal-form input,.goal-form select{color:#19352f;width:100%;min-height:42px;font:inherit;background:#fffefa;border:1px solid #cdd3c9;border-radius:5px;padding:0 11px}.goal-form button,.goal-section>button,.goal-card button{color:#fff;cursor:pointer;background:#32654d;border:1px solid #32654d;border-radius:5px;min-height:40px;padding:9px 12px;font-size:13px}.goal-form button:disabled{opacity:.6;cursor:wait}.goal-form .text-button{color:#32654d;text-align:left;background:0 0;border:0;min-height:auto;padding:0;text-decoration:underline}.goal-actions{align-items:center;gap:18px;display:flex}.goal-help{color:#6d7970;margin:-5px 0 0;font-size:12px}.ride-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:8px 0;display:grid}.ride-metrics div{border-bottom:1px solid #e3e4dc;justify-content:space-between;gap:10px;padding-bottom:6px;display:flex}.ride-metrics dt{color:#6d7970}.ride-metrics dd{color:#19352f;font-variant-numeric:tabular-nums;margin:0}.goal-card .danger-button{color:#a24335;background:0 0;border-color:#a24335;justify-self:start}.goal-card textarea{color:#19352f;min-height:90px;font:inherit;resize:vertical;background:#fffefa;border:1px solid #cdd3c9;border-radius:5px;padding:10px}.account-page:has(.calendar-section){width:min(920px,100%)}.account-page:has(.calendar-section)>h1{max-width:500px}.account-page:has(.calendar-section)>.intro{max-width:500px}.account-page:has(.calendar-section)>.account-card{max-width:500px}.account-page:has(.calendar-section)>.account-form{max-width:500px}.calendar-section{border-top:1px solid #d9dbd1;margin-top:42px;padding-top:27px}.calendar-heading-row,.calendar-toolbar,.calendar-month-controls,.calendar-detail-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.calendar-heading-row{align-items:end}.calendar-heading-row .eyebrow{margin-bottom:6px}.calendar-heading-row h2{color:#19352f;letter-spacing:-.5px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:500}.calendar-view-switch{background:#fffefa;border:1px solid #cdd3c9;border-radius:6px;padding:3px;display:flex}.calendar-view-switch button,.calendar-month-controls button,.calendar-today{color:#32654d;min-height:36px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:6px 11px}.calendar-view-switch button[aria-pressed=true]{color:#fff;background:#32654d}.calendar-toolbar{margin:20px 0 12px}.calendar-month-controls{justify-content:flex-start}.calendar-month-controls h3{color:#19352f;text-align:center;min-width:160px;margin:0;font-size:16px}.calendar-month-controls button{border:1px solid #d9dbd1;width:36px;padding:0;font-size:24px;line-height:1}.calendar-today{border:1px solid #d9dbd1;font-size:12px}.calendar-day-planned{color:#7a5b20;margin-top:3px;font-size:10px;display:block}.planned-item{background:#fffaf0;border-color:#d8c89a}.planned-workout-mark{color:#806323;border:1px solid #b49750;border-radius:50%;place-items:center;width:25px;height:25px;font-size:16px;display:grid}.planned-detail{background:#fffaf0;border-color:#d8c89a}.suggestion-card{color:#4d5e54;background:#fffefa;border:1px solid #b9cbb8;border-left:4px solid #66836f;border-radius:6px;gap:9px;margin:17px 0;padding:18px;font-size:14px;line-height:1.5;display:grid}.suggestion-card h3,.suggestion-card p{margin:0}.suggestion-card h3{color:#19352f;font-size:21px}.suggestion-card a{color:#32654d}.assessment-card{border-left-color:#b49750}.suggestion-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px;display:flex}.suggestion-actions button:first-child{color:#fff;cursor:pointer;background:#32654d;border:1px solid #32654d;border-radius:5px;min-height:40px;padding:9px 12px}.suggestion-actions .text-button{color:#32654d;cursor:pointer;background:0 0;border:0;padding:5px 0;text-decoration:underline}.suggestion-actions button:disabled{opacity:.6;cursor:wait}.suggestion-abstention{color:#4d5e54;background:#fffaf0;border-left:3px solid #b49750;margin:17px 0;padding:10px 13px;line-height:1.5}.suggestion-state{color:#32654d;font-weight:600}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{background:#f2f3eb;border:1px solid #d9dbd1;border-bottom:0;border-radius:6px 6px 0 0}.calendar-weekdays span{color:#637166;text-align:center;padding:9px 5px;font-size:11px}.calendar-grid{border:1px solid #d9dbd1;border-radius:0 0 6px 6px;overflow:hidden}.calendar-day{color:#19352f;text-align:left;cursor:pointer;background:#fffefa;border:1px solid #e3e4dc;border-top:0;border-left:0;flex-direction:column;align-items:flex-start;gap:8px;min-height:85px;padding:8px;display:flex}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day-outside{color:#9ba39b;background:#f8f8f2}.calendar-day-selected{outline-offset:-2px;background:#edf3eb;outline:2px solid #32654d}.calendar-day-number{font-variant-numeric:tabular-nums;font-size:12px}.calendar-day-activity{color:#28533e;background:#dce9dc;border-radius:10px;padding:3px 6px;font-size:10px}.calendar-list-view{gap:14px;display:grid}.calendar-list-day{background:#fffefa;border:1px solid #d9dbd1;border-radius:6px;padding:12px}.calendar-list-date{color:#19352f;cursor:pointer;background:0 0;border:0;margin-bottom:8px;padding:0;font-size:13px;font-weight:600}.calendar-list-date[aria-pressed=true]{color:#32654d;text-underline-offset:3px;text-decoration:underline}.calendar-selected-date{border-top:1px solid #e3e4dc;margin-top:20px;padding-top:16px}.calendar-selected-date h3{color:#19352f;margin:0 0 10px;font-size:15px}.calendar-selected-date ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.calendar-ride-item{color:#19352f;text-align:left;cursor:pointer;background:#fffefa;border:1px solid #d9dbd1;border-radius:5px;align-items:center;gap:11px;width:100%;padding:10px;display:flex}.calendar-ride-item>span:last-child{gap:3px;display:grid}.calendar-ride-item small{color:#68756b;font-size:11px}.completed-ride-mark{color:#28533e;background:#dce9dc;border-radius:50%;flex:0 0 23px;place-items:center;width:23px;height:23px;font-size:12px;display:grid}.calendar-ride-detail{color:#4d5e54;background:#f5f7f0;border:1px solid #cbd9ca;border-radius:6px;margin-top:16px;padding:16px;font-size:13px}.calendar-ride-detail h3{color:#19352f;margin:0;font-size:17px}.calendar-ride-detail p{margin:8px 0}.calendar-ride-detail .text-button{color:#32654d;cursor:pointer;background:0 0;border:0;text-decoration:underline}.calendar-section button:focus-visible,.calendar-section a:focus-visible{outline-offset:2px;outline:2px solid #3c7557}.training-load-section>p,.load-trends>p{color:#637166;font-size:13px;line-height:1.6}.training-load-section .goal-form h3{color:#19352f;margin:0;font-size:16px}.training-load-section .checkin-checkbox{align-items:center;gap:9px;display:flex}.training-load-section .checkin-checkbox input{accent-color:#32654d;width:17px;min-height:17px}.ftp-history{color:#4d5e54;gap:7px;padding-left:19px;font-size:13px;display:grid}.recovery-summary{background:#f2f3eb;border-left:3px solid #66836f;padding:9px 12px}.load-trends{border-top:1px solid #e3e4dc;margin-top:28px;padding-top:20px}.load-trends h3{color:#19352f;margin:0 0 8px;font-size:18px}.load-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.load-values>div{background:#fffefa;border:1px solid #d9dbd1;border-radius:5px;gap:4px;padding:12px;display:grid}.load-values strong{color:#66836f;letter-spacing:.7px;font-size:11px}.load-values span{color:#19352f;font-variant-numeric:tabular-nums;font-size:22px}.load-values small{color:#6d7970;font-size:10px;line-height:1.4}.load-chart{width:100%;height:130px;margin-top:12px;overflow:visible}.load-chart line{stroke:#d9dbd1;stroke-width:1px}.load-chart polyline{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.load-chart .ctl-line{stroke:#32654d}.load-chart .atl-line{stroke:#bb8154}.chart-legend{align-items:center;gap:12px;display:flex;font-size:11px!important}.ctl-key{color:#32654d;font-weight:700}.atl-key{color:#a76f42;font-weight:700}.load-caveat,.load-warning{background:#f8f2e9;border-left:3px solid #bb8154;padding:9px 12px}.eyebrow{color:#66836f;letter-spacing:1.3px;margin:0 0 15px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}h1{color:#19352f;letter-spacing:-1.7px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,7vw,52px);font-weight:500}.intro{color:#6d7970;margin:12px 0 34px;font-size:14px;line-height:1.65}.status-list{border-top:1px solid #d9dbd1;border-bottom:1px solid #d9dbd1;margin:0}.status-row{border-bottom:1px solid #e3e4dc;justify-content:space-between;align-items:center;gap:16px;min-height:60px;display:flex}.status-row:last-child{border-bottom:0}.status-row dt{color:#4d5e54;font-size:13px}.status-row dd{color:#65746a;align-items:center;gap:9px;margin:0;font-size:12px;display:flex}.status-dot{background:#b6aaa0;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.status-online,.status-connected{background:#498566;box-shadow:0 0 0 3px #49856620}.status-offline,.status-unavailable{background:#b35c48;box-shadow:0 0 0 3px #b35c4820}.status-not-configured{background:#bc8e45;box-shadow:0 0 0 3px #bc8e4520}.retry-button{color:#32654d;cursor:pointer;background:0 0;border:1px solid #b8c8b9;border-radius:5px;margin-top:18px;padding:9px 12px;font-size:12px}.retry-button:hover{background:#e8eee5}.retry-button:focus-visible,.brand:focus-visible,.account-form button:focus-visible,.account-card button:focus-visible,.account-form input:focus-visible{outline-offset:3px;outline:2px solid #3c7557}.footer{color:#758078;border-top:1px solid #deded3;justify-content:space-between;align-items:center;min-height:62px;font-size:11px;display:flex}.footer-mark{letter-spacing:1px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}@media (width<=600px){.page-shell{padding:0 22px}.topbar{height:66px}.topbar-note{font-size:11px}.status-page{padding-top:64px}.footer-mark{font-size:7px}.account-page:has(.calendar-section){width:100%}.calendar-heading-row{flex-direction:column;align-items:start}.calendar-month-view{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:560px}.calendar-day{min-height:65px;padding:6px}.calendar-day-activity{font-size:9px}.calendar-list-day{padding:10px}.load-values{grid-template-columns:1fr}}.calendar-day-zwift{color:#3d4f8a;margin-top:3px;font-size:10px;display:block}.zwift-item,.zwift-detail{background:#f4f6fd;border-color:#b9c3e6}.zwift-mark{color:#3d4f8a;border:1px dashed #5a6cb0;border-radius:4px;place-items:center;width:25px;height:25px;font-size:13px;font-weight:700;display:grid}
