@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0b;--bg2:#0f0f11;--card:#141416;--card2:#1a1a1d;--line:#25252a;--line2:#2e2e34;--text:#f5f5f5;--text2:#a8a8ad;--text3:#6d6d73;--text4:#4a4a4f;--green:#10b981;--green-dim:#065f46;--amber:#eab308;--amber-dim:#713f12;--red:#ef4444;--red-dim:#7f1d1d;--accent:#d4d4d4;--strava-orange:#ff4d00;--strava-orange-dim:#ff4d0014;--strava-orange-mid:#ff4d002e;--font-sans:"Inter", -apple-system, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--phase-accumulation:#5b8def;--phase-intensification:#f0a14b;--phase-peak:#e25b5b;--phase-taper:#c084fc;--phase-deload:#6d6d73;--phase-base:var(--phase-accumulation);--phase-build:var(--phase-intensification);--phase-test:var(--phase-taper)}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line2);border:2px solid var(--bg);border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--text4)}.loading-screen{min-height:100vh;color:var(--text3);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:12px;display:flex}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:400px;padding:48px 40px;display:flex}.login-card h1{letter-spacing:-.02em;font-size:24px;font-weight:600}.login-card p{color:var(--text3);font-size:14px;line-height:1.5}.error-banner{color:var(--red);border-radius:var(--r-md);background:#ef44441a;border:1px solid #ef44444d;width:100%;padding:10px 16px;font-size:13px}.connect-btn{background:var(--green);color:#0a0a0b;border-radius:var(--r-md);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:none;padding:12px 28px;text-decoration:none;transition:opacity .15s;display:inline-block}.connect-btn:hover{opacity:.85}.connect-btn:disabled{opacity:.5;cursor:not-allowed}.app-shell{background:var(--bg);height:100vh;display:flex;overflow:hidden}.shell-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.shell-content{flex:1;padding:24px;overflow-y:auto}.sidenav{background:var(--bg2);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;align-items:center;gap:4px;width:64px;padding:16px 0;display:flex}.sidenav-logo{justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:16px;display:flex}.sidenav-item{border-radius:var(--r-md);width:48px;height:48px;color:var(--text3);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidenav-item:hover{background:var(--card);color:var(--text2)}.sidenav-item.active{background:var(--card2);color:var(--text)}.sidenav-item svg{width:18px;height:18px}.sidenav-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:7px;font-weight:500}.sidenav-spacer{flex:1}.topbar{border-bottom:1px solid var(--line);background:var(--bg2);flex-shrink:0;align-items:center;gap:16px;height:52px;padding:0 20px;display:flex}.topbar-crumb{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text3);text-transform:uppercase;flex:1;font-size:11px}.topbar-crumb span{color:var(--text)}.perspective-toggle{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);display:flex;overflow:hidden}.perspective-btn{color:var(--text3);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:none;padding:5px 12px;font-size:9px;transition:background .12s,color .12s}.perspective-btn.active{background:var(--card2);color:var(--text)}.topbar-logout{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text3);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;padding:5px 10px;font-size:9px;transition:border-color .12s,color .12s}.topbar-logout:hover{border-color:var(--line2);color:var(--text2)}.today-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=900px){.today-grid{grid-template-columns:1fr}}.v2-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;transition:border-color .12s}.v2-card:hover{border-color:var(--line2)}.setup-needed-card .setup-needed-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.setup-needed-card .setup-needed-action{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text);background:var(--card);border:1px solid var(--line2);border-radius:var(--r-md);cursor:pointer;padding:9px 16px;font-size:11px;transition:border-color .12s,background .12s}.setup-needed-card .setup-needed-action:hover:not(:disabled){border-color:var(--text3);background:var(--bg2)}.setup-needed-card .setup-needed-action:disabled{opacity:.55;cursor:not-allowed}.setup-needed-card .setup-needed-error{color:var(--red,#d97a7a);margin:10px 0 0;font-size:12px}.plan-page-header{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:12px;display:flex}.plan-page-header .setup-needed-error{color:var(--red,#d97a7a);margin:0;font-size:12px}.plan-legacy-week-banner{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.plan-legacy-week-banner p{color:var(--text);margin:0;font-size:13px}.plan-legacy-week-banner .setup-needed-action{align-self:flex-start}.v2-card-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-bottom:12px;font-size:10px;font-weight:500}.readiness-score{font-family:var(--font-sans);color:var(--text);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:96px;font-weight:300;line-height:1}.readiness-score small{color:var(--text3);margin-left:4px;font-size:38px}.readiness-track{background:var(--line);border-radius:100px;height:4px;margin-top:12px;position:relative;overflow:hidden}.readiness-fill{border-radius:100px;position:absolute;inset:0}.readiness-status{align-items:center;gap:6px;margin-top:8px;display:flex}.readiness-dot{border-radius:50%;width:6px;height:6px}.readiness-status-label{font-family:var(--font-mono);letter-spacing:.14em;font-size:10px;font-weight:500}.whoop-tiles{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;display:grid}.whoop-tile{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-md);text-align:center;padding:12px}.whoop-tile-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin-bottom:6px;font-size:9px}.whoop-tile-value{font-family:var(--font-sans);color:var(--text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:300;line-height:1}.whoop-tile-unit{color:var(--text3);margin-left:2px;font-size:11px}.goal-progress-bar{background:var(--line);border-radius:100px;height:6px;margin-top:10px;position:relative;overflow:hidden}.goal-progress-fill{background:linear-gradient(90deg, var(--green), #34d399);border-radius:100px;transition:width .6s;position:absolute;inset:0}.goal-pct{font-family:var(--font-mono);color:var(--green);letter-spacing:-.02em;font-size:32px;font-weight:400}.goal-title{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text2);margin-bottom:8px;font-size:13px}.goal-hero{color:var(--text);letter-spacing:-.01em;margin-bottom:4px;font-size:22px;font-weight:500}.goal-phase{color:var(--text3);margin-bottom:14px;font-size:13px}.goal-section-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin:4px 0 6px;font-size:9px}.goal-week-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.goal-week-text{color:var(--text2);font-variant-numeric:tabular-nums;font-size:13px}.goal-dots{gap:6px;display:inline-flex}.goal-dot{border-radius:100px;width:9px;height:9px;display:inline-block}.goal-dot-on{background:var(--green)}.goal-dot-off{border:1px solid var(--line);background:0 0}.goal-vol-row{align-items:center;gap:10px;margin-top:8px;display:flex}.goal-vol-row .goal-progress-bar{flex:1;margin-top:0}.goal-vol-behind .goal-progress-fill,.goal-vol-overreaching .goal-progress-fill{background:linear-gradient(90deg, var(--amber), #fbbf24)}.goal-vol-ahead .goal-progress-fill{background:linear-gradient(90deg, var(--green), #34d399)}.goal-status-pill{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:3px;padding:2px 6px;font-size:10px}.goal-status-behind,.goal-status-overreaching{color:var(--amber);border:1px solid var(--amber)}.goal-status-ahead{color:var(--green);border:1px solid var(--green)}.brief-text{color:var(--text2);margin-top:10px;font-size:14px;line-height:1.7}.brief-recs{flex-direction:column;gap:6px;margin-top:10px;list-style:none;display:flex}.brief-recs li{color:var(--text2);padding-left:16px;font-size:13px;position:relative}.brief-recs li:before{content:"›";color:var(--green);position:absolute;left:0}.session-type-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.session-type-badge{background:var(--card2);border:1px solid var(--line2);border-radius:var(--r-sm);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text2);padding:3px 10px;font-size:10px;display:inline-block}.session-type-badge.session-type-badge--run{color:var(--green);background:#10b9811f;border-color:#10b98173}.session-type-badge.session-type-badge--strength,.session-type-badge.session-type-badge--lower_heavy,.session-type-badge.session-type-badge--upper_heavy,.session-type-badge.session-type-badge--full_body_strength,.session-type-badge.session-type-badge--hypertrophy,.session-type-badge.session-type-badge--lower_strength,.session-type-badge.session-type-badge--upper_strength,.session-type-badge.session-type-badge--hybrid{color:#f59e0b;background:#f59e0b1f;border-color:#f59e0b73}.lens-badge{border-radius:var(--r-sm);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:help;align-self:flex-start;margin-left:6px;padding:1px 6px;font-size:8px;display:inline-block}.lens-badge--volume-first{color:#60a5fa;background:#3b82f614;border:1px solid #3b82f647}.lens-badge--exercise-first{color:#a78bfa;background:#8b5cf614;border:1px solid #8b5cf647}.lens-badge--mixed{color:var(--text3);background:var(--card2);border:1px solid var(--line2)}.session-meta-row{flex-wrap:wrap;gap:20px;margin-bottom:14px;display:flex}.session-meta-item{flex-direction:column;gap:2px;display:flex}.session-meta-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text3);font-size:9px}.session-meta-value{color:var(--text);font-size:15px;font-weight:500}.exercise-preview-list{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.exercise-preview-row{background:var(--card2);border-radius:var(--r-sm);justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.exercise-preview-name{color:var(--text)}.exercise-preview-meta{color:var(--text3);font-family:var(--font-mono);font-size:11px}.start-workout-btn{background:var(--green);color:#0a0a0b;border-radius:var(--r-md);width:100%;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:none;padding:12px;font-size:11px;font-weight:600;transition:opacity .15s}.start-workout-btn:hover{opacity:.85}.readiness-form-card{background:var(--card2);border:1px solid var(--line2);border-radius:var(--r-md);flex-direction:column;gap:12px;margin-top:12px;padding:16px;display:flex}.pip-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.pip-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);min-width:90px;font-size:9px}.pips{gap:4px;display:flex}.pip{border-radius:var(--r-sm);border:1px solid var(--line);width:32px;height:32px;color:var(--text3);font-family:var(--font-mono);cursor:pointer;background:0 0;font-size:12px;transition:background .12s,color .12s,border-color .12s}.pip.active{background:var(--card2);border-color:var(--green);color:var(--green)}.readiness-trend-card{padding:12px 16px}.readiness-trend-card .v2-card-label{margin-bottom:6px}.trend-bars{align-items:flex-end;gap:6px;height:32px;margin-top:0;display:flex}.trend-bar-col{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.trend-bar{opacity:.85;border-radius:3px;width:100%;min-height:6px}.trend-bar-day{font-family:var(--font-mono);color:var(--text3);letter-spacing:.06em;font-size:8px}.trend-counts{align-items:baseline;gap:14px;margin-top:6px;display:flex}.trend-count{flex-direction:row;align-items:baseline;gap:6px;display:flex}.trend-count-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);font-size:9px}.trend-count-value{font-family:var(--font-mono);font-size:14px;font-weight:500}.events-strip{gap:8px;margin-top:12px;padding-bottom:4px;display:flex;overflow-x:auto}.event-chip{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;flex-shrink:0;gap:4px;min-width:130px;padding:10px 14px;display:flex}.event-chip-name{color:var(--text);white-space:nowrap;font-size:13px;font-weight:500}.event-chip-date{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text3);font-size:9px}.event-chip-countdown{font-family:var(--font-mono);letter-spacing:.08em;font-size:9px}.placeholder-page{height:100%;color:var(--text3);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.placeholder-page h2{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:13px}.placeholder-page p{color:var(--text4);font-size:13px}.workout-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.workout-section{border-bottom:1px solid var(--line);flex-shrink:0;padding:16px 20px}.workout-header-grid{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:16px;display:flex}.workout-field{flex-direction:column;gap:4px;display:flex}.workout-field-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text3);font-size:8px}.workout-field-input{border:none;border-bottom:1px solid var(--line);color:var(--text);width:100%;font-size:14px;font-family:var(--font-sans);background:0 0;outline:none;padding:4px 0;transition:border-color .12s}.workout-field-input:focus{border-bottom-color:var(--green)}.workout-field-input::placeholder{color:var(--text4)}.load-unit-toggle{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);display:flex;overflow:hidden}.load-unit-btn{color:var(--text3);font-family:var(--font-mono);letter-spacing:.1em;cursor:pointer;background:0 0;border:none;padding:6px 14px;font-size:10px;transition:background .12s,color .12s}.load-unit-btn.active{background:var(--card);color:var(--text)}.session-context-badges{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.session-context-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green);border-radius:var(--r-sm);background:#10b9811a;border:1px solid #10b98140;padding:4px 10px;font-size:9px}.entry-modes{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.entry-mode-btn{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text3);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:7px 16px;font-size:10px;transition:background .12s,color .12s,border-color .12s}.entry-mode-btn:hover{border-color:var(--line2);color:var(--text2)}.entry-mode-btn.active{background:var(--green);border-color:var(--green);color:#0a0a0b}.entry-mode-btn:disabled{opacity:.5;cursor:not-allowed}.exercise-table-scroll{flex:1;padding:0 20px 12px;overflow:auto}.exercise-table{min-width:1100px}.exercise-table-header{border-bottom:1px solid var(--line);background:var(--bg);z-index:1;align-items:center;gap:4px;padding:8px 0 6px;display:flex;position:sticky;top:0}.et-col-num{flex-shrink:0;width:28px}.et-col-ord{flex-shrink:0;width:40px}.et-col-lnk{flex-shrink:0;width:60px}.et-col-typ{flex-shrink:0;width:110px}.et-col-ex{flex-shrink:0;width:200px}.et-col-set{flex-shrink:0;width:82px}.et-col-load,.et-col-tempo,.et-col-rest{flex-shrink:0;width:80px}.et-col-notes{flex-shrink:0;width:120px}.et-col-sets{flex-shrink:0;width:64px}.et-col-flag{flex-shrink:0;width:32px}.et-col-header{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text4);font-size:8px}.exercise-row-wrap{border-bottom:1px solid var(--line);transition:background .12s;position:relative}.exercise-row-wrap[data-active]{background:#10b9810a}.exercise-row-wrap[data-active]:before{content:"";background:var(--green);width:2px;position:absolute;top:0;bottom:0;left:0}.exercise-row{align-items:flex-start;gap:4px;min-height:44px;padding:6px 0;display:flex}.exercise-row>.et-col-num,.exercise-row>.et-col-ord,.exercise-row>.et-col-flag{padding-top:4px}.row-num{font-family:var(--font-mono);color:var(--text4);text-align:center;font-size:10px}.row-ord-btns{flex-direction:column;gap:1px;display:flex}.row-ord-btn{color:var(--text4);cursor:pointer;background:0 0;border:none;padding:1px 6px;font-size:11px;line-height:1}.row-ord-btn:hover{color:var(--text2)}.row-ord-btn:disabled{opacity:.2;cursor:default}.row-select{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text2);font-family:var(--font-mono);cursor:pointer;outline:none;width:100%;padding:3px 4px;font-size:10px}.row-select:disabled{opacity:.45;cursor:not-allowed;color:var(--text4)}.row-exercise-line{align-items:center;gap:6px;display:flex}.row-exercise-line>:first-child{flex:1;min-width:0}.row-type-toggle{align-items:center;gap:3px;margin-top:3px;display:flex}.row-type-btn{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--text3);cursor:pointer;background:0 0;border-radius:3px;padding:2px 7px;font-size:9px}.row-type-btn.active{border-color:var(--green);color:var(--text)}.row-swap-btn{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--green);color:var(--green);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;padding:2px 8px;font-size:8px}.row-swap-btn:hover:not(:disabled){background:#10b9811a}.row-swap-btn:disabled{opacity:.35;cursor:not-allowed}.row-target-hint{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text4);text-align:center;padding:1px 0;font-size:9px;display:block}.set-cell-target{margin-top:1px}.row-exec-strip{font-family:var(--font-sans);color:var(--text3);border-left:2px solid var(--line);background:#ffffff04;margin:4px 0 8px;padding:6px 10px 6px 12px;font-size:11px;line-height:1.45}.swap-modal-backdrop{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.swap-modal{width:100%;max-width:460px;max-height:80vh;overflow-y:auto}.swap-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.swap-modal-original{color:var(--text);margin-top:4px;font-size:14px}.swap-modal-close{color:var(--text3);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.swap-modal-close:hover{color:var(--text)}.swap-modal-status{color:var(--text3);text-align:center;padding:12px 0;font-size:12px}.swap-modal-error{color:var(--red,#d05a5a)}.swap-options-list{flex-direction:column;gap:6px;display:flex}.swap-option{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card2);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.swap-option:hover{border-color:var(--green)}.swap-option-name{font-size:13px;font-weight:500}.swap-option-meta{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text3);text-transform:uppercase;flex-wrap:wrap;gap:8px;font-size:9px;display:flex}.swap-option-eq{color:var(--text2)}.swap-option-warn-chip{color:var(--red,#d05a5a)}.swap-option--warn{opacity:.85}.swap-option--selected{border-color:var(--green);background:var(--card)}.row-flag-btn{cursor:pointer;opacity:.35;background:0 0;border:none;padding:2px;font-size:13px;line-height:1;transition:opacity .12s}.row-flag-btn:hover,.row-flag-btn.flagged{opacity:1}.set-cell{flex-direction:column;gap:2px;width:82px;display:flex}.set-cell-reps{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font-family:var(--font-mono);text-align:center;outline:none;width:100%;padding:4px;font-size:12px}.set-cell-reps:focus{border-color:var(--green)}.row-field-box{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font-family:var(--font-mono);text-align:center;outline:none;width:100%;padding:4px;font-size:11px}.row-field-box:focus{border-color:var(--green)}.row-field-box::placeholder{color:var(--text4)}.set-cell-btns{gap:2px;display:flex}.set-cell-mini-btn{border:1px solid var(--line2);color:var(--text);font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:3px;flex:1;padding:2px 0;font-size:8px;transition:color .12s,border-color .12s,background .12s}.set-cell-mini-btn:hover{border-color:var(--text3);background:#ffffff0a}.set-cell-mini-btn.active{color:var(--green);border-color:var(--green)}.set-cell-mini-btn.has-values{color:var(--green);border-color:var(--green);border-style:dashed}.set-ov-panel{background:var(--card2);border:1px solid var(--line2);border-radius:var(--r-sm);flex-direction:column;gap:4px;margin-top:2px;padding:6px;display:flex}.set-ov-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.set-ov-title{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text3);font-size:7px}.set-ov-close{color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 4px;font-size:14px;line-height:1;transition:color .12s,background .12s}.set-ov-close:hover{color:var(--text);background:#ffffff0f}.set-ov-field{align-items:center;gap:4px;display:flex}.set-ov-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text3);flex-shrink:0;width:34px;font-size:7px}.set-ov-input{background:var(--card);border:1px solid var(--line);color:var(--text);font-family:var(--font-mono);border-radius:3px;outline:none;flex:1;min-width:0;padding:2px 4px;font-size:10px}.set-rl-panel{gap:4px;margin-top:2px;display:flex}.set-rl-input{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font-family:var(--font-mono);text-align:center;outline:none;flex:1;min-width:0;padding:3px;font-size:10px}.set-cell-carry{flex-direction:column;gap:2px;display:flex}.set-cell-carry-row{align-items:center;gap:3px;display:flex}.set-cell-carry-input{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font-family:var(--font-mono);text-align:center;outline:none;flex:1;min-width:0;padding:3px;font-size:11px}.set-cell-carry-input:focus{border-color:var(--green)}.set-cell-carry-unit{font-family:var(--font-mono);color:var(--text3);letter-spacing:.04em;flex-shrink:0;font-size:8px}.cardio-fields{flex:1;align-items:flex-start;gap:4px;display:flex}.cardio-panel{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);padding:4px 6px}.cardio-field{flex-direction:column;gap:2px;width:82px;display:flex}.cardio-field-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text4);font-size:7px}.cardio-field-input{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font-family:var(--font-mono);outline:none;width:100%;padding:4px 6px;font-size:11px}.cardio-activity-select{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text2);font-family:var(--font-mono);cursor:pointer;outline:none;width:82px;padding:3px 4px;font-size:10px}.row-cardio-activity{width:100%;color:var(--text);text-transform:capitalize;font-size:12px}.row-cardio-saved-hint{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text4);padding-left:2px;font-size:8px}.et-col-cardio{flex:1}.history-strip-row{padding:3px 0 6px}.history-strip-toggle{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text4);cursor:pointer;background:0 0;border:none;padding:0;font-size:8px}.history-strip-toggle:hover{color:var(--text2)}.history-strip-content{font-family:var(--font-mono);letter-spacing:.06em;color:var(--green);margin-top:3px;padding-left:8px;font-size:9px}.flag-panel{border-radius:var(--r-sm);background:#ef44440f;border:1px solid #ef444433;align-items:center;gap:6px;margin:2px 0 6px;padding:8px 10px;display:flex}.flag-note-input{color:var(--text2);font-size:12px;font-family:var(--font-sans);background:0 0;border:none;border-bottom:1px solid #ef44444d;outline:none;flex:1;padding:2px 0}.flag-note-input::placeholder{color:var(--text4)}.flag-save-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--red);cursor:pointer;background:#ef444426;border:1px solid #ef44444d;border-radius:4px;padding:3px 8px;font-size:9px}.workout-bottom{border-top:1px solid var(--line);background:var(--bg);flex-direction:column;flex-shrink:0;gap:10px;padding:12px 20px;display:flex}.workout-row-actions{gap:8px;display:flex}.workout-add-btn,.workout-remove-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r-sm);border:1px solid var(--line);color:var(--text3);cursor:pointer;background:0 0;padding:5px 12px;font-size:9px;transition:color .12s,border-color .12s}.workout-add-btn:hover{color:var(--green);border-color:var(--green)}.workout-remove-btn:hover:not(:disabled){color:var(--red);border-color:var(--red)}.workout-remove-btn:disabled{opacity:.3;cursor:default}.workout-notes-textarea{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;color:var(--text);resize:vertical;min-height:48px;max-height:100px;font-size:13px;font-family:var(--font-sans);outline:none;padding:10px 12px}.workout-notes-textarea:focus{border-color:var(--line2)}.workout-save-row{justify-content:flex-end;align-items:center;gap:12px;display:flex}.save-success-banner{font-family:var(--font-mono);letter-spacing:.1em;color:var(--green);font-size:10px}.save-error-banner{font-family:var(--font-mono);letter-spacing:.1em;color:var(--red);font-size:10px}.workout-save-btn{background:var(--green);color:#0a0a0b;border-radius:var(--r-md);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:none;padding:10px 28px;font-size:11px;font-weight:600;transition:opacity .15s}.workout-save-btn:hover{opacity:.85}.workout-save-btn:disabled{opacity:.5;cursor:not-allowed}.workout-add-set-btn,.workout-remove-set-btn{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--text4);cursor:pointer;background:0 0;border-radius:3px;width:100%;margin-bottom:2px;padding:2px 6px;font-size:8px;display:block}.workout-add-set-btn:hover{color:var(--green);border-color:var(--green)}.workout-remove-set-btn:hover:not(:disabled){color:var(--red);border-color:var(--red)}.workout-remove-set-btn:disabled{opacity:.3;cursor:default}.workout-mode-prompt{color:var(--text3);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;flex:1;justify-content:center;align-items:center;font-size:11px;display:flex}.rest-timer{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-md);align-items:center;gap:12px;width:fit-content;margin-bottom:10px;padding:8px 14px;display:flex}.rest-timer-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text3);font-size:10px}.rest-timer-display{font-family:var(--font-mono);color:var(--text);letter-spacing:.04em;text-align:center;min-width:52px;font-size:22px;font-weight:500}.rest-timer-btns{gap:6px;display:flex}.rest-timer-btn{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text3);cursor:pointer;background:0 0;padding:5px 10px;font-size:9px;transition:border-color .12s,color .12s}.rest-timer-btn:hover{border-color:var(--line2);color:var(--text)}.rest-timer-btn.active{border-color:var(--green);color:var(--green)}.rest-timer-mode-toggle{border:1px solid var(--line);border-radius:999px;gap:1px;padding:1px;display:inline-flex;overflow:hidden}.rest-timer-mode-pip{font-family:var(--font-mono);width:18px;height:18px;color:var(--text3);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:11px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.rest-timer-mode-pip:hover{color:var(--text)}.rest-timer-mode-pip.active{color:var(--green);background:#10b9812e}.rest-timer-active-row{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text2);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:10px;overflow:hidden}.rest-timer-display--complete{color:var(--green);animation:.9s ease-in-out infinite rest-timer-pulse}@keyframes rest-timer-pulse{0%,to{opacity:1}50%{opacity:.45}}.history-page{flex-direction:column;display:flex}.history-filter-bar{border-bottom:1px solid var(--line);background:var(--bg);z-index:2;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 20px;display:flex;position:sticky;top:-24px}.history-filter-input{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font-family:var(--font-mono);outline:none;width:180px;padding:6px 10px;font-size:11px}.history-filter-input:focus{border-color:var(--green)}.history-filter-input::placeholder{color:var(--text4)}.history-filter-select{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text2);font-family:var(--font-mono);cursor:pointer;outline:none;padding:6px 10px;font-size:11px}.history-body{flex-direction:column;gap:16px;padding:16px 20px;display:flex}.history-drill-down{border-top:1px solid var(--line);padding:12px 20px}.history-drill-title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-bottom:10px;font-size:9px}.drill-down-input{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font-family:var(--font-mono);outline:none;width:240px;padding:7px 12px;font-size:11px}.drill-down-input:focus{border-color:var(--green)}.drill-timeline{flex-direction:column;gap:4px;max-height:140px;margin-top:8px;display:flex;overflow-y:auto}.drill-entry{font-family:var(--font-mono);color:var(--text2);background:var(--card2);border-radius:var(--r-sm);align-items:baseline;gap:12px;padding:4px 8px;font-size:10px;display:flex}.drill-entry-date{color:var(--text4);flex-shrink:0;width:90px}.drill-entry-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.drill-entry-detail{color:var(--text2);flex-shrink:0}.drill-entry-clickable{cursor:pointer;text-align:left;border:1px solid #0000;width:100%;transition:background .12s,border-color .12s}.drill-entry-clickable:hover{background:var(--card3,#1f2126);border-color:var(--green)}.drill-entry-clickable:focus-visible{border-color:var(--green);outline:none}.drill-empty{font-family:var(--font-mono);color:var(--text4);padding:6px 0;font-size:10px}.session-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.session-card-header{cursor:pointer;align-items:center;gap:10px;padding:12px 16px;transition:background .12s;display:flex}.session-card-header:hover{background:var(--card2)}.session-card-date{font-family:var(--font-mono);color:var(--text2);flex-shrink:0;font-size:11px}.session-type-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--card2);border:1px solid var(--line2);color:var(--text3);border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:9px}.session-card-preview{font-family:var(--font-mono);color:var(--text3);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:10px;overflow:hidden}.session-card-chevron{color:var(--text4);flex-shrink:0;font-size:10px}.session-card-body{border-top:1px solid var(--line);padding:0 16px 14px}.session-notes-text{color:var(--text3);font-size:11px;font-style:italic;font-family:var(--font-sans);margin-top:8px}.source-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--card2);border:1px solid var(--line2);color:var(--text2);border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:9px}.source-badge--strava{border-color:var(--strava-orange);color:var(--strava-orange);background:var(--strava-orange-dim)}.strava-card .session-card-body{padding-top:14px}.strava-card-title-row{flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:12px;display:flex}.strava-card-title{font-family:var(--font-sans);color:var(--text);margin:0;font-size:16px;font-weight:500;line-height:1.25}.strava-card-pills{flex-wrap:wrap;gap:6px;display:flex}.strava-pill{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--strava-orange-dim);border:1px solid var(--strava-orange);color:var(--strava-orange);border-radius:4px;padding:2px 7px;font-size:9px}.strava-card-hero{grid-template-columns:repeat(3,1fr);gap:12px;padding:4px 0 14px;display:grid}.strava-card-hero-stat{flex-direction:column;gap:4px;display:flex}.strava-card-hero-value{font-family:var(--font-mono);color:var(--text);letter-spacing:-.01em;font-size:22px;font-weight:500;line-height:1.1}.strava-card-hero-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);font-size:9px}.strava-card-hr-row{font-family:var(--font-mono);align-items:baseline;gap:8px;padding:6px 0 12px;display:flex}.strava-card-hr-icon{color:var(--strava-orange);font-size:14px;line-height:1}.strava-card-hr-values{color:var(--text);font-size:14px}.strava-card-hr-sep{color:var(--text3)}.strava-card-hr-unit{color:var(--text3);margin-left:2px;font-size:11px}.strava-card-hr-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-left:auto;font-size:9px}.strava-card-secondary{border-top:1px solid var(--line);gap:12px 16px;padding:14px 0;display:grid}.strava-card-secondary[data-cols="1"]{grid-template-columns:1fr}.strava-card-secondary[data-cols="2"]{grid-template-columns:repeat(2,1fr)}.strava-card-secondary[data-cols="3"]{grid-template-columns:repeat(3,1fr)}.strava-card-secondary[data-cols="4"]{grid-template-columns:repeat(4,1fr)}.strava-card-secondary-stat{flex-direction:column;gap:2px;display:flex}.strava-card-secondary-value{font-family:var(--font-mono);color:var(--text);font-size:13px}.strava-card-secondary-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text3);font-size:9px}.strava-card-section{border-top:1px solid var(--line)}.strava-card-section-toggle{width:100%;color:var(--text2);font-family:var(--font-mono);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 0;font-size:11px;transition:color .12s;display:flex}.strava-card-section-toggle:hover{color:var(--strava-orange)}.strava-card-section-chevron{color:var(--text4);width:10px;font-size:10px}.strava-card-section--open .strava-card-section-chevron{color:var(--strava-orange)}.strava-card-section-body{padding:4px 0 14px}.strava-splits-table{font-family:var(--font-mono);flex-direction:column;gap:2px;font-size:11px;display:flex}.strava-splits-row{border-bottom:1px solid var(--line);grid-template-columns:24px 60px 1fr 50px 60px;align-items:center;gap:10px;padding:6px 0;display:grid}.strava-splits-row:last-child{border-bottom:none}.strava-splits-head{color:var(--text4);letter-spacing:.1em;text-transform:uppercase;padding:4px 0;font-size:9px}.strava-splits-num{color:var(--text3)}.strava-splits-pace{align-items:center;height:18px;display:flex;position:relative}.strava-splits-bar{background:var(--strava-orange-mid);z-index:0;border-radius:2px;position:absolute;top:0;bottom:0;left:0}.strava-splits-pace-label{z-index:1;color:var(--text);padding-left:6px;position:relative}.strava-route-svg{background:var(--card2);border-radius:var(--r-sm);width:100%;max-width:320px;height:auto;display:block}.strava-route-svg polyline{stroke:var(--strava-orange);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none}.strava-route-start{fill:var(--green);stroke:none}.strava-route-end{fill:var(--strava-orange);stroke:none}.strava-card-more{flex-direction:column;gap:10px;display:flex}.strava-card-description{font-family:var(--font-sans);color:var(--text2);border-left:2px solid var(--strava-orange);background:var(--strava-orange-dim);border-radius:0 4px 4px 0;margin:0;padding:6px 10px;font-size:12px;font-style:italic;line-height:1.5}.strava-card-more-list{flex-direction:column;gap:4px;margin:0;display:flex}.strava-card-more-row{font-family:var(--font-mono);grid-template-columns:130px 1fr;gap:12px;padding:3px 0;font-size:10px;display:grid}.strava-card-more-row dt{color:var(--text3);letter-spacing:.04em;text-transform:uppercase;align-self:center;font-size:9px}.strava-card-more-row dd{color:var(--text);word-break:break-all;margin:0}.strava-card-link{font-family:var(--font-mono);color:var(--strava-orange);padding-top:12px;font-size:11px;text-decoration:none;display:inline-block}.strava-card-link:hover{text-decoration:underline}.history-exercise-detail{border-bottom:1px solid var(--line);padding:10px 0}.history-exercise-detail:last-child{border-bottom:none}.history-exercise-name{font-family:var(--font-sans);color:var(--text);margin-bottom:4px;font-size:13px;font-weight:500}.history-exercise-meta{font-family:var(--font-mono);color:var(--text3);text-transform:uppercase;letter-spacing:.1em;gap:14px;margin-bottom:6px;font-size:10px;display:flex}.history-sets-list{flex-direction:column;gap:2px;display:flex}.history-set-row{align-items:baseline;gap:10px;display:flex}.history-set-label{font-family:var(--font-mono);color:var(--text3);text-transform:uppercase;letter-spacing:.1em;min-width:36px;font-size:10px}.history-set-detail{font-family:var(--font-mono);color:var(--text2);font-size:11px}.history-exercise-notes{color:var(--text3);margin-top:5px;font-size:11px;font-style:italic}.history-cardio-summary{font-family:var(--font-mono);color:var(--text2);font-size:11px}.plan-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.plan-body{flex-direction:column;flex:1;gap:16px;padding:16px 20px;display:flex;overflow-y:auto}.block-overview{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 20px}.block-overview-header{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.block-name{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:13px}.block-number{font-family:var(--font-mono);color:var(--text3);font-size:10px}.block-objectives{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.block-objective{color:var(--text2);font-size:12px;font-family:var(--font-sans);padding-left:12px;position:relative}.block-objective:before{content:"·";color:var(--green);position:absolute;left:0}.week-nav{align-items:center;gap:12px;padding:4px 0;display:flex}.week-nav-arrow{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text3);cursor:pointer;font-size:14px;font-family:var(--font-mono);background:0 0;padding:4px 12px;transition:color .12s,border-color .12s}.week-nav-arrow:hover{color:var(--text);border-color:var(--line2)}.week-range{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text2);text-align:center;flex:1;font-size:10px}.week-grid-wrap{flex-direction:column;gap:8px;display:flex}.week-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.weekly-targets-card{padding:14px 18px}.weekly-targets-card>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.weekly-targets-card>summary::-webkit-details-marker{display:none}.weekly-targets-card>summary:after{content:"▸";font-family:var(--font-mono);color:var(--text3);font-size:11px;transition:transform .12s}.weekly-targets-card[open]>summary:after{transform:rotate(90deg)}.weekly-targets-label{align-items:center;gap:8px;display:inline-flex}.weekly-targets-summary-meta{font-family:var(--font-mono);color:var(--text3);margin-left:auto;margin-right:6px;font-size:11px}.day-cell{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:4px;min-height:80px;padding:10px 8px;display:flex}.day-cell.today{border-color:var(--accent)}.day-cell.completed{background:#10b9810f;border-color:#10b98140}.day-cell.rest{opacity:.45}.day-abbrev{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text3);font-size:9px}.day-date{font-family:var(--font-mono);color:var(--text4);font-size:9px}.day-session-type{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-top:4px;font-size:8px}.day-session-label{color:var(--text2);font-size:10px;font-family:var(--font-sans)}.day-completed-mark{color:var(--green);margin-top:auto;font-size:11px}.day-rest-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text4);margin-top:4px;font-size:9px}.day-cell.missed{background:#ef44440d;border-color:#ef444440}.day-cell.modified{background:#f59e0b0d;border-color:#f59e0b4d}.day-cell.override{border-color:#f59e0b73}.day-status-tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:3px;margin-top:auto;padding:2px 5px;font-size:8px}.day-status-missed{color:#ef4444;border:1px solid #ef444466}.day-status-modified{color:#f59e0b;border:1px solid #f59e0b66}.week-grid-empty{color:var(--text3);font-size:12px;font-family:var(--font-sans);padding:14px 0}.week-context-strip{gap:10px;padding:4px 0 8px;display:flex}.week-context-pill{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);align-items:baseline;gap:6px;padding:4px 10px;display:inline-flex}.week-context-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text3);font-size:8px}.week-context-value{font-family:var(--font-mono);color:var(--text);font-size:11px}.weekly-review-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.weekly-review-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.weekly-review-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin:0;font-size:11px}.weekly-review-actions{align-items:center;gap:10px;display:flex}.weekly-review-status{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);border:1px solid var(--line);border-radius:3px;padding:2px 7px;font-size:9px}.weekly-review-status.status-applied{color:var(--green);border-color:#10b98166}.weekly-review-status.status-rejected{color:#ef4444;border-color:#ef444466}.weekly-review-status.status-pending{color:#f59e0b;border-color:#f59e0b66}.weekly-review-run-btn,.weekly-review-apply-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--text);cursor:pointer;background:0 0;padding:6px 12px;font-size:10px;transition:color .12s,border-color .12s}.weekly-review-run-btn:hover:not(:disabled),.weekly-review-apply-btn:hover:not(:disabled){color:var(--green);border-color:var(--green)}.weekly-review-run-btn:disabled,.weekly-review-apply-btn:disabled{opacity:.5;cursor:not-allowed}.weekly-review-loading,.weekly-review-empty{color:var(--text3);font-size:12px;font-family:var(--font-sans);padding:6px 0}.weekly-review-error{color:#ef4444;font-size:12px;font-family:var(--font-sans);padding:6px 0}.review-rec-actions{flex-shrink:0;gap:6px;display:inline-flex}.review-rec-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);color:var(--text3);cursor:pointer;background:0 0;border-radius:3px;padding:4px 8px;font-size:9px;transition:color .12s,border-color .12s}.review-rec-btn:hover:not(:disabled){color:var(--text);border-color:var(--text2)}.review-rec-btn.accept.active{color:var(--green);border-color:var(--green)}.review-rec-btn.reject.active{color:#ef4444;border-color:#ef4444}.review-rec-btn:disabled{opacity:.5;cursor:not-allowed}.weekly-review-apply{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.weekly-review-keep-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r-sm);color:var(--text3);cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 12px;font-size:10px;transition:color .12s,border-color .12s}.weekly-review-keep-btn:hover:not(:disabled){color:var(--text);border-color:var(--line2)}.weekly-review-keep-btn:disabled{opacity:.5;cursor:not-allowed}.weekly-review-how-toggle{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:10px;transition:color .12s}.weekly-review-how-toggle:hover{color:var(--text)}.weekly-review-how-body{color:var(--text2);font-size:12px;line-height:1.6;font-family:var(--font-sans);margin:0}.review-section{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.review-section-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text2);align-items:center;gap:8px;font-size:10px;display:flex}.review-section-rail{background:var(--text4);border-radius:2px;width:3px;height:12px}.review-section-title.accent .review-section-rail{background:#f59e0b}.review-section-title.dim{color:var(--text3)}.review-week-summary{color:var(--text);font-size:13px;line-height:1.5;font-family:var(--font-sans);margin:0}.review-stats{flex-direction:column;gap:4px;display:flex}.review-stat-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.review-stat-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text3);font-size:10px}.review-stat-right{align-items:baseline;gap:8px;display:inline-flex}.review-stat-value{font-family:var(--font-mono);color:var(--text);font-size:12px}.review-stat-sub{font-family:var(--font-mono);color:var(--text3);font-size:10px}.review-chip{font-family:var(--font-mono);letter-spacing:.1em;border:1px solid var(--line);color:var(--text2);border-radius:3px;align-self:flex-start;padding:2px 7px;font-size:9px;font-weight:700}.review-chip.chip-green{color:var(--green);border-color:#10b98180}.review-chip.chip-amber{color:#f59e0b;border-color:#f59e0b80}.review-chip.chip-red{color:#ef4444;border-color:#ef444480}.review-chip.chip-dim{color:var(--text2);border-color:var(--line2)}.review-tie-in{color:var(--text2);font-size:12px;font-family:var(--font-sans);margin:0}.review-strip{justify-content:space-between;max-width:320px;display:flex}.review-strip-day{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.review-strip-cell{border:1px solid var(--line);background:0 0;border-radius:6px;width:24px;height:24px}.review-strip-cell.on-green{background:var(--green);border-color:var(--green)}.review-strip-cell.on-amber{background:#f59e0b;border-color:#f59e0b}.review-strip-cell.on-red{background:#ef4444;border-color:#ef4444}.review-strip-letter{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text3);font-size:9px}.review-strip-caption{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text4);font-size:9px}.review-verdict-row{align-items:center;gap:8px;display:flex}.review-verdict-line{color:var(--text2);font-size:12px;font-family:var(--font-sans)}.review-change{border-top:1px solid var(--line);flex-direction:column;gap:5px;padding:10px 0;display:flex}.review-change:first-of-type{border-top:none;padding-top:0}.review-change-title{color:var(--text);font-size:13px;font-weight:700;font-family:var(--font-sans)}.review-change-why,.review-change-meaning,.review-change-accepting{color:var(--text2);font-size:12px;line-height:1.5;font-family:var(--font-sans);margin:0}.review-change-accepting{color:var(--text)}.review-change-why strong,.review-change-accepting strong{color:var(--text3);font-family:inherit;font-size:inherit}.review-change .review-rec-actions{margin-top:4px}.review-note{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:4px;padding:8px 0;display:flex}.review-note:first-of-type{border-top:none;padding-top:0}.review-note-title{color:var(--text);font-size:12px;font-weight:700;font-family:var(--font-sans)}.review-note-reason{color:var(--text3);font-size:11px;line-height:1.5;font-family:var(--font-sans);margin:0}.review-prompt-card{text-align:left;background:var(--card);border-radius:var(--r-md);cursor:pointer;border:1px solid #f59e0b8c;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:border-color .12s;display:flex}.review-prompt-card:hover{border-color:#f59e0b}.review-prompt-rail{background:#f59e0b;border-radius:2px;flex-shrink:0;width:4px;height:32px}.review-prompt-text{flex-direction:column;flex:1;gap:2px;display:flex}.review-prompt-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text3);font-size:9px}.review-prompt-title{color:var(--text);font-size:14px;font-weight:700;font-family:var(--font-sans)}.review-prompt-chevron{color:#f59e0b;font-size:18px;font-weight:700}.review-prompt-countdown{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);cursor:pointer;background:0 0;border:none;align-self:center;padding:8px 0;font-size:10px;transition:color .12s}.review-prompt-countdown:hover{color:var(--text)}.week-out-of-sync-banner{background:var(--card);border-radius:var(--r-md);border:1px solid #f59e0b66;border-left:3px solid #f59e0b;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 14px;display:flex}.week-out-of-sync-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.week-out-of-sync-message{color:var(--text);font-size:13px;font-family:var(--font-sans);margin:0;line-height:1.4}.week-out-of-sync-meta{font-size:11px;font-family:var(--font-mono);color:var(--text3);flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.week-out-of-sync-meta li{align-items:center;gap:6px;display:inline-flex}.week-out-of-sync-meta .meta-label{color:var(--text3);letter-spacing:.06em;text-transform:uppercase}.week-out-of-sync-meta .meta-value{color:var(--text2)}.week-out-of-sync-error{color:#ef4444;font-size:12px;font-family:var(--font-sans);margin:0}.week-out-of-sync-actions{align-items:flex-start;display:flex}.week-out-of-sync-rebuild-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 12px;font-size:10px;transition:color .12s,border-color .12s}.week-out-of-sync-rebuild-btn:hover:not(:disabled){color:var(--green);border-color:var(--green)}.week-out-of-sync-rebuild-btn:disabled{opacity:.5;cursor:not-allowed}.weekly-review-rebuild{border-radius:var(--r-sm);border:1px solid var(--line);font-size:12px;font-family:var(--font-sans);padding:8px 10px}.weekly-review-rebuild.rebuild-rebuilt{color:var(--green);background:#10b9810f;border-color:#10b98166}.weekly-review-rebuild.rebuild-failed{color:#ef4444;background:#ef44440f;border-color:#ef444466}.weekly-review-rebuild.rebuild-skipped{color:var(--text2);border-color:var(--line2);background:0 0}.weekly-review-modal-backdrop{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.weekly-review-modal{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:12px;width:min(560px,100vw - 32px);max-height:calc(100vh - 64px);padding:16px 18px;display:flex;box-shadow:0 8px 32px #0006}.weekly-review-modal-header h4{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin:0;font-size:11px}.weekly-review-modal-body{color:var(--text2);font-size:12px;font-family:var(--font-sans);flex-direction:column;gap:12px;display:flex;overflow-y:auto}.weekly-review-modal-body ul{margin:4px 0 0;padding-left:18px}.weekly-review-modal-body strong{color:var(--text);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.weekly-review-stale-warning{color:#f59e0b;border-radius:var(--r-sm);background:#f59e0b0f;border:1px solid #f59e0b66;padding:8px 10px}.weekly-review-hard-violations{color:#ef4444;border-radius:var(--r-sm);background:#ef44440f;border:1px solid #ef444466;padding:8px 10px}.weekly-review-hard-violations strong{color:#ef4444}.weekly-review-soft-warnings{color:var(--text2);border:1px solid var(--line);border-radius:var(--r-sm);background:0 0;padding:8px 10px}.weekly-review-diff{color:var(--text2)}.weekly-review-force-checkbox{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.weekly-review-modal-footer{justify-content:flex-end;gap:8px;display:flex}.weekly-review-modal-cancel,.weekly-review-modal-confirm{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--text);cursor:pointer;background:0 0;padding:6px 12px;font-size:10px;transition:color .12s,border-color .12s}.weekly-review-modal-cancel:hover:not(:disabled){color:var(--text2)}.weekly-review-modal-confirm:hover:not(:disabled){color:var(--green);border-color:var(--green)}.weekly-review-modal-cancel:disabled,.weekly-review-modal-confirm:disabled{opacity:.5;cursor:not-allowed}.settings-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.settings-body{flex-direction:column;flex:1;gap:24px;max-width:640px;padding:20px;display:flex;overflow-y:auto}.settings-section{flex-direction:column;gap:10px;display:flex}.settings-section-title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text3);border-bottom:1px solid var(--line);padding-bottom:6px;font-size:9px}.settings-shell{flex:1;grid-template-columns:220px 1fr;min-height:0;display:grid}.settings-rail{border-right:1px solid var(--line);background:var(--bg2);padding:24px 12px 24px 20px;overflow-y:auto}.settings-rail-title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text4);padding:0 12px 12px;font-size:9px}.settings-rail-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.settings-rail-item{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--text2);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:13px;transition:background .12s,color .12s;display:block}.settings-rail-item:hover{background:var(--card2);color:var(--text)}.settings-rail-item.active{background:var(--card);color:var(--text);box-shadow:inset 2px 0 0 var(--green)}.settings-pane{padding:28px 32px 48px;overflow-y:auto}.settings-pane-header{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;margin-bottom:24px;padding-bottom:18px;display:flex}.settings-pane-header h1{letter-spacing:-.01em;color:var(--text);margin:0;font-size:22px;font-weight:600}.settings-pane-header .text-muted{margin:0;font-size:13px}.settings-pane-body{flex-direction:column;gap:28px;max-width:720px;display:flex}.settings-group{flex-direction:column;gap:8px;display:flex}.settings-group-title{color:var(--text);letter-spacing:-.005em;margin:0;font-size:14px;font-weight:600}.settings-group-help{color:var(--text3);margin:0 0 4px;font-size:12px;line-height:1.5}.injury-chip-row{flex-wrap:wrap;gap:8px;display:flex}.injury-chip{font-family:var(--font-sans);background:var(--card2);border:1px solid var(--line);color:var(--text2);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px;transition:background .12s,color .12s,border-color .12s}.injury-chip:hover{color:var(--text);border-color:var(--line2)}.injury-chip.active{border-color:var(--green);color:var(--green);background:#10b9811f}.injury-chip-none.active{border-color:var(--text3);color:var(--text);background:#a8a8ad1a}@media (width<=720px){.settings-shell{grid-template-columns:1fr}.settings-rail{border-right:none;border-bottom:1px solid var(--line);padding:16px 12px}.settings-rail-list{flex-flow:wrap}.settings-rail-item.active{box-shadow:inset 0 -2px 0 var(--green)}.settings-pane{padding:20px 18px 40px}}.pref-list{flex-direction:column;gap:6px;display:flex}.pref-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);align-items:center;gap:10px;padding:10px 14px;display:flex}.pref-item-name{font-family:var(--font-mono);color:var(--text);flex:1;font-size:11px}.pref-item-note{color:var(--text3);font-size:11px;font-family:var(--font-sans);flex:2}.pref-enable-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);color:var(--text3);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:8px;transition:color .12s,border-color .12s}.pref-enable-btn:hover{color:var(--green);border-color:var(--green)}.pref-empty{color:var(--text4);font-size:12px;font-family:var(--font-sans);padding:8px 0}.settings-unit-toggle{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);width:fit-content;display:flex;overflow:hidden}.settings-unit-btn{color:var(--text3);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;background:0 0;border:none;padding:7px 20px;font-size:11px;transition:background .12s,color .12s}.settings-unit-btn.active{background:var(--card);color:var(--text)}.review-day-toggle{flex-wrap:wrap}.review-day-toggle .settings-unit-btn{padding:7px 12px}.review-day-meaning{color:var(--text3);margin:8px 0 0;font-size:12px}.settings-save-btn{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;background:var(--green);color:#0a0a0b;border-radius:var(--r-sm);cursor:pointer;border:none;width:fit-content;padding:8px 20px;font-size:10px;transition:opacity .12s}.settings-save-btn:hover{opacity:.85}.settings-save-btn:disabled{opacity:.5;cursor:not-allowed}.settings-saved-msg{font-family:var(--font-mono);color:var(--green);letter-spacing:.1em;font-size:10px}.benchmark-subsection{flex-direction:column;gap:6px;display:flex}.benchmark-pace-list{flex-direction:column;gap:4px;margin-top:6px;display:flex}.benchmark-pace-row{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);justify-content:space-between;gap:12px;padding:6px 10px;display:flex}.benchmark-pace-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);font-size:10px}.benchmark-pace-value{font-family:var(--font-mono);color:var(--text);font-size:11px}.benchmark-form{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:8px;margin-top:8px;padding:12px;display:flex}.benchmark-form label{color:var(--text3);flex-direction:column;gap:4px;font-size:11px;display:flex}.benchmark-form select,.benchmark-form input{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font-family:var(--font-sans);padding:6px 8px;font-size:12px}.coach-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.coach-body{flex:1;padding:20px;overflow-y:auto}.coach-roster{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.client-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:8px;padding:16px 18px;transition:border-color .12s;display:flex}.client-card:hover{border-color:var(--line2)}.client-card-index{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text4);font-size:9px}.client-card-name{color:var(--text);letter-spacing:-.01em;font-size:16px;font-weight:500}.client-card-meta{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text3);font-size:9px}.coach-program-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:16px;padding:16px 18px}.client-card-stats{grid-template-columns:1fr 1fr;gap:6px 12px;margin-top:4px;display:grid}.client-card-stat{flex-direction:column;gap:2px;display:flex}.client-card-stat-label{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text4);font-size:8px}.client-card-stat-value{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text2);font-size:11px}.client-card-actions{gap:6px;margin-top:4px;display:flex}.client-select-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text3);cursor:pointer;flex:1;padding:6px 0;font-size:9px;transition:color .12s,border-color .12s}.client-select-btn:hover{color:var(--text);border-color:var(--line2)}.client-plan-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--green);cursor:pointer;background:0 0;flex:1;padding:6px 0;font-size:9px;transition:background .12s,border-color .12s}.client-plan-btn:hover{background:#10b98114;border-color:#10b98166}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--card);border-radius:12px;flex-direction:column;gap:1.2rem;width:100%;max-width:360px;padding:2rem;display:flex}.auth-card h1{text-align:center;margin:0}.auth-card form{flex-direction:column;gap:1rem;display:flex}.auth-card label{color:var(--text3);flex-direction:column;gap:.3rem;font-size:.875rem;display:flex}.auth-card input{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:.5rem .75rem;font-size:1rem}.auth-card button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.6rem;font-size:1rem}.auth-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:var(--error,#e74c3c);margin:0;font-size:.875rem}.auth-footer{text-align:center;margin:0;font-size:.875rem}.goal-form{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.goal-form label{color:var(--text3);flex-direction:column;gap:.3rem;font-size:.875rem;display:flex}.goal-form textarea,.goal-form input[type=text],.goal-form input[type=date],.goal-form select{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--text);border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.goal-form textarea{resize:vertical}.goal-form select{cursor:pointer}.goal-summary{background:var(--card);border-radius:8px;flex-direction:column;gap:.4rem;margin-bottom:1rem;padding:1rem;display:flex}.goal-preview{background:var(--card);border-radius:8px;flex-direction:column;gap:.4rem;margin-top:.5rem;padding:1rem;display:flex}.success-msg{color:var(--green,#2ecc71);font-size:.875rem}.btn-secondary{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:.4rem .8rem;font-size:.875rem}.btn-link{color:var(--text3);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.8125rem;text-decoration:underline}.btn-link:hover{color:var(--text2)}.btn-link:disabled{color:var(--text4);cursor:default;text-decoration:none}.button-outline{border:1px solid var(--line);color:var(--text);border-radius:6px;padding:.5rem 1rem;font-size:.875rem;text-decoration:none;display:inline-block}.loading{min-height:100vh;color:var(--text3);justify-content:center;align-items:center;font-size:1rem;display:flex}.text-muted{color:var(--text3);margin:0;font-size:.875rem}.intent-row{gap:6px;margin-bottom:12px;display:flex}.intent-btn{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text3);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;flex:1;padding:6px 0;font-size:9px;transition:border-color .15s,background .15s,color .15s}.intent-btn--active{border-color:var(--green);background:color-mix(in srgb, var(--green) 12%, transparent);color:var(--green)}.intent-btn:disabled{opacity:.4;cursor:not-allowed}.intent-btn--lighter{color:color-mix(in srgb, #7aa2c4 75%, var(--text3));border-color:color-mix(in srgb, #7aa2c4 25%, var(--line))}.intent-btn--lighter.intent-btn--active{color:#9ec1de;background:#7aa2c424;border-color:#7aa2c4}.intent-btn--planned{color:color-mix(in srgb, var(--green) 60%, var(--text3));border-color:color-mix(in srgb, var(--green) 22%, var(--line))}.intent-btn--planned.intent-btn--active{color:var(--green);border-color:var(--green);background:color-mix(in srgb, var(--green) 14%, transparent)}.intent-btn--harder{color:color-mix(in srgb, var(--amber) 70%, var(--text3));border-color:color-mix(in srgb, var(--amber) 24%, var(--line))}.intent-btn--harder.intent-btn--active{color:var(--amber);border-color:var(--amber);background:color-mix(in srgb, var(--amber) 14%, transparent)}.intent-row--cta{margin-top:4px;margin-bottom:8px}.intent-summary{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text2);margin:0 0 10px;font-size:11px}.start-workout-secondary-row{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.secondary-action-btn{background:var(--card2);width:100%;color:var(--text2);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:10px 12px;font-size:10px;transition:border-color .15s,color .15s,background .15s}.secondary-action-btn:hover:not(:disabled){border-color:var(--line2);color:var(--text)}.secondary-action-btn:disabled{opacity:.4;cursor:not-allowed}@media (width<=480px){.start-workout-secondary-row{grid-template-columns:1fr}}.session-action-error{color:var(--red);margin-top:8px;font-size:12px}.session-guardrail-warning{border-radius:var(--r-sm);color:var(--red);background:#ef44441a;border:1px solid #ef444473;margin-top:12px;padding:10px 12px}.session-guardrail-warning-primary{color:var(--red);margin:0;font-size:13px;line-height:1.45}.session-guardrail-warning-reason{color:var(--red);opacity:.85;margin:6px 0 0;font-size:12px;line-height:1.4}.session-guardrail-warning--soft{color:var(--text2);background:#eab3081a;border-color:#eab30873}.session-guardrail-warning--soft .session-guardrail-warning-primary,.session-guardrail-warning--soft .session-guardrail-warning-reason{color:var(--text2)}.run-anyway-btn{width:100%;margin-top:10px}.swap-warning{font-family:var(--font-mono);color:var(--text3);letter-spacing:.1em;margin-left:6px;font-size:9px}.conditioning-section{margin-top:16px}.conditioning-section .v2-card-label{margin-bottom:8px}.modality-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.modality-row:last-child{border-bottom:none}.modality-name{color:var(--text2);flex:1;font-size:13px}.modality-duration-input{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);width:56px;color:var(--text);text-align:right;padding:4px 8px;font-size:13px}.modality-unit{font-family:var(--font-mono);color:var(--text3);letter-spacing:.1em;font-size:9px}.progress-label-row{justify-content:space-between;margin-bottom:6px;display:flex}.progress-track{background:var(--card2);border-radius:2px;height:4px;margin-bottom:10px;position:relative}.progress-fill{border-radius:2px;height:100%;transition:width .3s}.phase-chips{gap:3px;margin-bottom:6px;display:flex;overflow:hidden}.phase-chip{border-radius:var(--r-sm);font-family:var(--font-mono);letter-spacing:.1em;white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;padding:2px 6px;font-size:9px;overflow:hidden}.phase-chip--past{background:var(--card2);color:var(--text3);opacity:.5}.phase-chip--current{color:var(--bg);font-weight:600}.phase-chip--future{border:1px solid var(--line);color:var(--text3);background:0 0}.progress-status-badge{font-family:var(--font-mono);letter-spacing:.14em;text-align:right;font-size:9px}.conflict-strip{background:color-mix(in srgb, var(--amber) 8%, transparent);border-left:2px solid var(--amber);border-radius:var(--r-sm);flex-direction:column;gap:6px;margin-bottom:12px;padding:10px 14px;display:flex}.conflict-row{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12px;display:flex}.conflict-icon{color:var(--amber);flex-shrink:0}.conflict-date{font-family:var(--font-mono);color:var(--amber);letter-spacing:.1em;white-space:nowrap;font-size:9px}.conflict-desc{color:var(--text2);flex:1;min-width:0}.conflict-rec{color:var(--text3);width:100%;font-size:11px}.conflict-more{font-family:var(--font-mono);color:var(--text3);letter-spacing:.1em;font-size:9px}.analysis-panel{margin-top:16px}.analysis-run-btn{border:1px solid var(--line);border-radius:var(--r-sm);width:100%;color:var(--text2);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;padding:10px;font-size:9px}.analysis-run-btn:disabled{opacity:.4;cursor:not-allowed}.analysis-loading{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text3);font-size:9px}.analysis-usage{font-family:var(--font-mono);color:var(--text3);letter-spacing:.1em;margin-top:6px;font-size:9px;display:block}.suggestion-card{border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:10px;padding:16px;display:flex}.suggestion-badge{font-family:var(--font-mono);letter-spacing:.14em;border-radius:var(--r-sm);align-self:flex-start;padding:2px 8px;font-size:9px}.suggestion-badge--no_change{background:color-mix(in srgb, var(--green) 15%, transparent);color:var(--green)}.suggestion-badge--phase_shift,.suggestion-badge--volume_reduction{background:color-mix(in srgb, var(--amber) 15%, transparent);color:var(--amber)}.suggestion-badge--plan_regeneration{background:color-mix(in srgb, var(--red) 15%, transparent);color:var(--red)}.suggestion-rationale{color:var(--text2);margin:0;font-size:13px;line-height:1.5}.suggestion-preview{color:var(--text3);margin:0;font-size:12px;font-style:italic}.suggestion-actions{gap:8px;display:flex}.btn-approve{background:var(--green);border-radius:var(--r-sm);color:var(--bg);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:none;flex:1;padding:8px;font-size:9px}.btn-approve:disabled{opacity:.5;cursor:not-allowed}.btn-dismiss{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text3);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;flex:1;padding:8px;font-size:9px}.btn-dismiss:disabled{opacity:.5;cursor:not-allowed}.no-change-confirm{font-family:var(--font-mono);color:var(--green);letter-spacing:.1em;margin-top:6px;font-size:9px}.intake-wizard-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.intake-wizard{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;width:100%;max-width:720px;max-height:90vh;display:flex}.intake-wizard-header{border-bottom:1px solid var(--line);padding:20px 24px}.intake-wizard-header h2{color:var(--text);margin:0 0 10px;font-size:1.1rem}.intake-wizard-steps{font-size:11px;font-family:var(--font-mono);flex-wrap:wrap;gap:8px;display:flex}.intake-step-indicator{color:var(--text3);background:var(--bg);border-radius:4px;padding:4px 8px}.intake-step-indicator.active{color:var(--text);border:1px solid var(--line)}.intake-step-indicator.done{color:var(--green)}.intake-wizard-body{flex:1;padding:20px 24px;overflow-y:auto}.intake-wizard-body section{flex-direction:column;gap:14px;display:flex}.intake-wizard-body label{color:var(--text3);flex-direction:column;gap:4px;font-size:13px;display:flex}.intake-wizard-body input[type=text],.intake-wizard-body input[type=number],.intake-wizard-body input[type=date],.intake-wizard-body select{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:8px 10px;font-size:14px}.intake-wizard-body h3{color:var(--text);margin:8px 0 4px;font-size:.95rem}.intake-goal-row,.intake-benchmark-row{align-items:end;gap:8px;margin-bottom:8px;display:grid}.intake-goal-row{grid-template-columns:1fr 1fr .8fr 1.4fr auto}.intake-benchmark-row{grid-template-columns:1.5fr 1fr 1fr auto}.intake-remove{color:var(--text3);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;padding:4px 8px;font-size:12px}.intake-chip-row{flex-wrap:wrap;gap:6px;display:flex}.intake-chip{background:var(--bg);border:1px solid var(--line);color:var(--text3);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px}.intake-chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.intake-review dl{grid-template-columns:140px 1fr;gap:8px 16px;display:grid}.intake-review dt{color:var(--text3);font-size:12px}.intake-review dd{color:var(--text);margin:0;font-size:13px}.intake-wizard-footer{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:16px 24px;display:flex}.intake-wizard-footer button:only-child{margin-left:auto}.plan-page-loading{color:var(--text2);padding:24px}.synthesis-progress{flex-direction:column;align-items:center;gap:12px;padding:32px 24px;display:flex}.synthesis-progress-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite synthesis-spin}@keyframes synthesis-spin{to{transform:rotate(360deg)}}.synthesis-progress-message{color:var(--text);font-size:14px}.synthesis-progress-elapsed{color:var(--text2);font-variant-numeric:tabular-nums;font-size:12px}.validator-summary{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:20px}.validator-summary h3{margin:0 0 12px;font-size:15px}.validator-summary-hard h3{color:var(--error,#e05a4a)}.validator-list{margin:0 0 16px;padding-left:20px}.validator-list li{color:var(--text2);margin-bottom:4px;font-size:13px}.validator-row-rule{color:var(--text)}.block-timeline{gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex;overflow-x:auto}.block-timeline-chip{border:1px solid var(--border);background:var(--card);border-radius:6px;flex:none;min-width:96px;padding:10px 12px;font-size:12px}.block-timeline-chip.active{border-color:var(--accent);background:var(--accent-dim,var(--card))}.block-timeline-chip.deload .block-timeline-name,.block-timeline-chip.taper .block-timeline-name{opacity:.75}.block-timeline-name{color:var(--text);font-weight:500}.block-timeline-weeks{color:var(--text2);margin-top:2px;font-size:11px}.block-timeline-badge{background:var(--border);color:var(--text2);border-radius:3px;margin-top:4px;padding:1px 6px;font-size:10px;display:inline-block}.active-block-card{border:1px solid var(--border);background:var(--card);border-radius:8px;margin-bottom:16px;padding:16px}.active-block-card-header{align-items:baseline;gap:12px;display:flex}.active-block-card-name{font-size:16px;font-family:var(--font-sans);margin:0}.active-block-card-target{color:var(--text2);text-transform:capitalize;font-size:12px}.active-block-card-meta{color:var(--text2);margin-top:4px;font-size:12px}.active-block-card-badges{gap:6px;margin-top:8px;display:flex}.active-block-card-badges .badge{background:var(--border);color:var(--text2);border-radius:3px;padding:2px 8px;font-size:10px}.active-block-card-rationale{color:var(--text);margin:12px 0 0;font-size:13px;line-height:1.45}.active-block-card-testday{color:var(--text2);margin-top:8px;font-size:12px}.active-block-phase-chip{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--green);border-radius:var(--r-sm);background:#10b9811a;border:1px solid #10b98140;margin-left:auto;padding:3px 8px;font-size:9px}.active-block-track-context{flex-direction:column;gap:4px;margin-top:12px;display:flex}.active-block-track-line{color:var(--text2);align-items:baseline;gap:10px;font-size:12px;display:flex}.active-block-track-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text3);min-width:64px;font-size:9px}.active-block-track-value{color:var(--text)}.active-block-week-focus{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.active-block-week-focus-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-bottom:6px;font-size:9px}.active-block-week-focus-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.active-block-week-focus-item{color:var(--text);padding-left:10px;font-size:13px;position:relative}.active-block-week-focus-item:before{content:"·";color:var(--text3);position:absolute;left:0}.this-week-phase-header{flex-wrap:wrap;align-items:baseline;gap:10px;margin:4px 0 8px;display:flex}.this-week-phase-block{color:var(--text);font-size:13px;font-weight:600}.this-week-phase-week{font-family:var(--font-mono);color:var(--text3);font-size:10px}.phase-context-strip{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.phase-context-block{color:var(--text);font-size:12px;font-weight:500}.phase-context-chip{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--green);border-radius:var(--r-sm);background:#10b9811a;border:1px solid #10b98140;padding:2px 8px;font-size:9px}.phase-context-week{font-family:var(--font-mono);color:var(--text3);font-size:10px}.run-details-block{margin-bottom:14px}.run-details-row{flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:8px;display:flex}.run-details-row .session-meta-value{white-space:nowrap;font-size:14px}.run-details-row .run-zone-hr-hint{white-space:nowrap;margin-top:2px;font-size:10px;display:block}.run-pace-target{color:var(--text);margin-bottom:4px;font-size:13px}.run-pace-range{color:var(--text3);font-size:12px}.run-zone-hr-hint{color:var(--text3);font-size:11px;font-weight:400}.run-pace-desc{color:var(--text2);margin-bottom:6px;font-size:12px;line-height:1.4}.run-weekly-context{font-family:var(--font-mono);color:var(--text3);font-size:10px}.run-structure-block{border:1px solid var(--border);background:var(--bg2);border-radius:6px;margin:10px 0 12px;padding:10px 12px}.run-structure-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text3);margin-bottom:8px;font-size:10px}.run-structure-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.run-structure-row{color:var(--text);grid-template-columns:80px 1fr;align-items:baseline;gap:12px;font-size:13px;display:grid}.run-structure-row-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text2);font-size:11px;font-weight:600}.run-structure-row-detail{font-family:var(--font-mono)}.run-structure-row-predicted{color:var(--text3);font-weight:400}.run-structure-row-recovery{color:var(--text3);grid-column:2/3;font-size:11px;font-style:italic}.run-structure-row--work .run-structure-row-detail{color:var(--accent,var(--text))}.run-session-card{flex-direction:column;gap:12px;display:flex}.run-session-card-title{color:var(--text);font-size:20px;font-weight:500}.run-session-card-badge{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text3);text-transform:uppercase;align-items:center;gap:6px;font-size:10px;display:flex}.run-session-card-tag{background:var(--card2);border:1px solid var(--line2);color:var(--green);border-radius:4px;padding:2px 8px}.run-session-card-tag-sep{color:var(--text4)}.run-session-card-runtype{color:var(--text2)}.run-session-card-rows{flex-direction:column;gap:6px;margin-top:4px;display:flex}.run-session-card-row{gap:8px;font-size:13px;line-height:1.5;display:flex}.run-session-card-label{color:var(--text3);min-width:80px}.run-session-card-value{color:var(--text)}.run-log-form{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:16px;padding-top:12px;display:flex}.run-log-form-title{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text3);text-transform:uppercase;font-size:10px}.run-log-form-grid{grid-template-columns:1fr 1fr;gap:8px 10px;display:grid}.run-log-field{flex-direction:column;gap:4px;display:flex}.run-log-field-wide{grid-column:1/-1}.run-log-field-label{color:var(--text3);font-size:11px}.run-log-input{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);padding:6px 8px;font-size:13px}.run-log-pace-preview{color:var(--text3);font-size:12px}.run-log-actions{align-items:center;gap:10px;display:flex}.run-log-submit{background:var(--green);color:var(--bg);border-radius:var(--r-sm);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:none;padding:8px 14px;font-size:12px;font-weight:600}.run-log-submit:disabled{opacity:.5;cursor:not-allowed}.run-log-success{color:var(--green);font-size:12px}.run-log-error{color:var(--red,#f87171);font-size:12px}.exercise-role-badge{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text3);background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);text-transform:uppercase;padding:2px 6px;font-size:8px}.exercise-role-badge.role-main{color:var(--green);border-color:#10b98159}.exercise-role-badge.role-secondary{color:var(--text);border-color:var(--line2)}.exercise-rationale-drawer{margin-bottom:14px}.exercise-rationale-toggle{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text2);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;width:100%;padding:6px 10px;font-size:10px}.exercise-rationale-toggle:hover{border-color:var(--line2);color:var(--text)}.exercise-rationale-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.exercise-rationale-item{background:var(--card2);border-radius:var(--r-sm);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.exercise-rationale-name{color:var(--text);font-size:12px;font-weight:500}.exercise-rationale-text{color:var(--text2);font-size:12px;line-height:1.4}.day-exercise-list{flex-direction:column;gap:2px;margin:4px 0 0;padding:0;list-style:none;display:flex}.day-exercise-item{color:var(--text2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.day-run-detail{font-family:var(--font-mono);color:var(--text2);margin-top:2px;font-size:10px}.plan-empty-state{text-align:center;border:1px dashed var(--border);border-radius:8px;padding:32px 24px}.plan-empty-state h3{margin:0 0 8px}.plan-empty-state p{color:var(--text2);margin:0 0 16px;font-size:13px}.plan-empty-state-error{border-color:var(--error,#e05a4a)}.plan-page-error{border:1px solid var(--error,#e05a4a);border-radius:8px;flex-direction:column;align-items:flex-start;gap:10px;margin:16px;padding:20px 24px;display:flex}.plan-page-error h3{color:var(--text);margin:0;font-size:14px}.plan-page-error p{color:var(--text2);margin:0;font-size:13px}.plan-page-error button{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--text);cursor:pointer;background:0 0;padding:6px 12px;font-size:10px}.plan-page-error button:hover{border-color:var(--green);color:var(--green)}.readiness-energy-slider{appearance:none;background:var(--line);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}.readiness-energy-slider::-webkit-slider-thumb{appearance:none;background:var(--green);cursor:pointer;border:2px solid var(--card);border-radius:50%;width:16px;height:16px}.readiness-energy-slider::-moz-range-thumb{background:var(--green);cursor:pointer;border:2px solid var(--card);border-radius:50%;width:16px;height:16px}.readiness-notes-input{border:1px solid var(--line);border-radius:var(--r-sm);width:100%;color:var(--text);resize:vertical;box-sizing:border-box;background:0 0;padding:8px 10px;font-family:inherit;font-size:13px}.readiness-notes-input:focus{border-color:var(--green);outline:none}.soreness-level-row{border:1px solid var(--line);border-radius:var(--r-sm);gap:0;display:flex;overflow:hidden}.soreness-level-pill{border:none;border-right:1px solid var(--line);color:var(--text3);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;flex:1;padding:8px 6px;font-size:10px;transition:background .12s,color .12s}.soreness-level-pill:last-child{border-right:none}.soreness-level-pill:hover:not(.active){color:var(--text)}.soreness-level-pill.active{color:var(--green);background:#10b9811f}.soreness-level-pill:focus-visible{outline:1px solid var(--green);outline-offset:-1px}.soreness-area-row{flex-wrap:wrap;gap:6px;display:flex}.soreness-area-chip{background:var(--bg);border:1px solid var(--line);color:var(--text3);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:12px;transition:background .12s,color .12s,border-color .12s}.soreness-area-chip:hover:not(:disabled):not(.active){color:var(--text)}.soreness-area-chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.soreness-area-chip:disabled{cursor:default;opacity:.4}.soreness-area-chip:focus-visible{outline:1px solid var(--green);outline-offset:1px}.flexibility-segmented{border:1px solid var(--line);border-radius:var(--r-sm);gap:0;display:flex;overflow:hidden}.flexibility-segment{border:none;border-right:1px solid var(--line);color:var(--text3);font-family:var(--font-mono);letter-spacing:.1em;cursor:pointer;background:0 0;flex:1;padding:8px 6px;font-size:9px;transition:background .12s,color .12s}.flexibility-segment:last-child{border-right:none}.flexibility-segment:hover:not(:disabled):not(.active){color:var(--text)}.flexibility-segment.active{color:var(--green);background:#10b9811f}.flexibility-segment:disabled{cursor:default;opacity:.6}.plan-version-history{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:14px;margin-top:20px;padding:20px;display:flex}.plan-version-history-header{justify-content:space-between;align-items:center;display:flex}.plan-version-history-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text2);font-size:14px;font-weight:600}.plan-version-history-readonly{color:var(--text3);background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 12px;font-size:12px}.plan-version-history-loading,.plan-version-history-empty,.plan-version-detail-loading{color:var(--text3);padding:12px 0;font-size:13px}.plan-version-history-error,.plan-version-detail-error{color:var(--red);border:1px solid var(--red-dim);border-radius:var(--r-sm);background:#ef444414;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;font-size:13px;display:flex}.plan-version-history-error button{border:1px solid var(--line2);color:var(--text);border-radius:var(--r-sm);background:0 0;padding:6px 12px;font-size:12px}.plan-version-history-body{grid-template-columns:minmax(220px,280px) 1fr;gap:16px;display:grid}@media (width<=720px){.plan-version-history-body{grid-template-columns:1fr}}.plan-version-list{flex-direction:column;gap:8px;max-height:480px;padding-right:4px;list-style:none;display:flex;overflow-y:auto}.plan-version-row{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;flex-direction:column;gap:6px;padding:10px 12px;transition:border-color .12s,background .12s;display:flex}.plan-version-row:hover{border-color:var(--line2)}.plan-version-row.active{border-color:var(--green);background:#10b9810f}.plan-version-row:focus-visible{outline:1px solid var(--green);outline-offset:1px}.plan-version-row-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.plan-version-row-time{color:var(--text);font-size:12px;font-family:var(--font-mono)}.plan-version-row-generator{text-transform:uppercase;letter-spacing:.08em;color:var(--text3);font-size:10px}.plan-version-row-reason{color:var(--text2);font-size:12px}.plan-version-row-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.plan-version-row-parent{color:var(--text3);font-size:10px;font-family:var(--font-mono)}.plan-version-validator-badge{letter-spacing:.04em;border-radius:100px;padding:2px 8px;font-size:10px;font-weight:500}.plan-version-validator-pass{color:var(--green);border:1px solid var(--green-dim);background:#10b9811f}.plan-version-validator-warning{color:var(--amber);border:1px solid var(--amber-dim);background:#eab3081a}.plan-version-validator-error{color:var(--red);border:1px solid var(--red-dim);background:#ef44441f}.plan-version-validator-absent,.plan-version-validator-unknown{background:var(--bg2);color:var(--text3);border:1px solid var(--line)}.plan-version-detail-pane{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-md);min-height:100px;padding:16px}.plan-version-detail-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:12px;font-size:12px}.plan-version-detail-subheading{letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:8px;font-size:11px}.plan-version-detail-section{margin-top:14px}.plan-version-detail-meta{flex-direction:column;gap:6px;display:flex}.plan-version-detail-meta-row{grid-template-columns:130px 1fr;gap:8px;font-size:12px;display:grid}.plan-version-detail-meta-row dt{color:var(--text3);text-transform:uppercase;letter-spacing:.04em;align-self:center;font-size:10px}.plan-version-detail-meta-row dd{color:var(--text);word-break:break-all}.plan-version-mono{font-family:var(--font-mono);font-size:11px}.plan-version-validator-detail-empty,.plan-version-validator-detail-pass,.plan-version-summary-empty{color:var(--text3);font-size:12px}.plan-version-validator-detail-block{margin-bottom:8px}.plan-version-validator-detail-label{letter-spacing:.06em;color:var(--text3);text-transform:uppercase;margin-bottom:4px;font-size:10px}.plan-version-validator-detail-list,.plan-version-summary-list{color:var(--text);flex-direction:column;gap:4px;font-size:12px;list-style:none;display:flex}.plan-version-summary{flex-direction:column;gap:10px;display:flex}.plan-version-summary-row{grid-template-columns:130px 1fr;gap:8px;font-size:12px;display:grid}.plan-version-summary-label{color:var(--text3);text-transform:uppercase;letter-spacing:.04em;align-self:start;padding-top:2px;font-size:10px}.plan-version-summary-value{color:var(--text)}.plan-version-summary-mono{font-family:var(--font-mono);font-size:11px}.plan-version-summary-list-item{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.plan-version-summary-list-name{color:var(--text);font-weight:500}.plan-version-summary-list-meta{color:var(--text3);font-family:var(--font-mono);font-size:10px}.program-design-summary{flex-direction:column;gap:14px;display:flex}.program-design-empty{color:var(--text3);font-size:12px;font-style:italic}.program-design-section{flex-direction:column;gap:8px;display:flex}.program-design-subheading{letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin:0;font-size:10px}.program-design-rows{flex-direction:column;gap:6px;display:flex}.program-design-row{grid-template-columns:160px 1fr;gap:8px;font-size:12px;display:grid}.program-design-label{color:var(--text3);text-transform:uppercase;letter-spacing:.04em;align-self:start;padding-top:2px;font-size:10px}.program-design-value{color:var(--text)}.program-design-muted{color:var(--text3);font-style:italic}.program-design-chips{flex-wrap:wrap;gap:4px;display:flex}.program-design-chip{color:var(--text2);background:var(--card2);border:1px solid var(--line);border-radius:3px;padding:2px 6px;font-size:11px;display:inline-block}.program-design-confidence{text-transform:uppercase;font-family:var(--font-mono);letter-spacing:.04em;font-size:10px;font-weight:600}.program-design-confidence-high{color:var(--green)}.program-design-confidence-medium{color:var(--text)}.program-design-confidence-low{color:var(--text3)}.program-design-reasoning{flex-direction:column;gap:4px;display:flex}.program-design-reasoning-list{flex-direction:column;gap:3px;margin:0;padding-left:18px;list-style:outside;display:flex}.program-design-reasoning-list li{color:var(--text2);font-size:12px}.program-design-task{border:1px solid var(--line);border-radius:6px;margin-bottom:8px;padding:8px 10px}.program-design-task-name{text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:600}.program-design-adaptation-list{flex-direction:column;gap:8px;margin:0;padding-left:20px;list-style:decimal;display:flex}.program-design-adaptation{font-size:12px}.program-design-adaptation-name{font-weight:600;display:block}.program-design-adaptation-why{color:var(--text2);margin:2px 0 4px;display:block}.program-design-aligned{color:var(--green);font-size:12px}.program-design-warning-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.program-design-warning{border-left:2px solid var(--amber,var(--text3));background:#ffffff08;border-radius:2px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.program-design-warning-code{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text3);text-transform:uppercase;font-size:10px}.program-design-warning-message{color:var(--text);font-size:12px}.deterministic-badge{font-family:var(--font-mono);letter-spacing:.04em;color:var(--green);background:var(--green-dim);border:1px solid var(--green);cursor:help;vertical-align:middle;border-radius:3px;margin-left:6px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.deterministic-badge-xs{padding:1px 4px;font-size:9px}.deterministic-badge-sm{padding:2px 6px;font-size:10px}.deterministic-rationale,.deterministic-allocation-details{border-left:2px solid var(--green);color:var(--text2);background:#ffffff08;border-radius:2px;margin-top:10px;padding:8px 10px;font-size:12px}.deterministic-rationale summary,.deterministic-allocation-details summary{cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);font-size:10px;font-weight:500}.deterministic-rationale[open] summary,.deterministic-allocation-details[open] summary{color:var(--text2)}.deterministic-rationale ul,.deterministic-allocation-details ul{margin:6px 0 0;padding-left:18px;list-style:outside}.deterministic-rationale li,.deterministic-allocation-details li{color:var(--text);margin:3px 0}.deterministic-allocation-details h5{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin:8px 0 4px;font-size:9px;font-weight:600}.deterministic-warnings-list{color:#d97706}.deterministic-warnings-list li{color:#d97706;padding-left:0;list-style:none}.deterministic-warnings-list ul{padding-left:0;list-style:none}.deterministic-info-chip-list ul{flex-wrap:wrap;gap:6px;display:flex;padding:0!important;list-style:none!important}.deterministic-info-chip-list li{color:var(--green);font-size:11px;font-family:var(--font-mono);background:#10b9811f;border-radius:12px;padding:2px 8px;list-style:none}.has-deterministic-rationale{border-bottom:1px dotted var(--green);cursor:help}.muscle-volume-bar{cursor:help;width:100%}.muscle-volume-bar-track{background:var(--line);border-radius:3px;height:6px;position:relative;overflow:visible}.muscle-volume-bar-window{background:var(--green-dim);opacity:.7;border-radius:3px;height:100%;position:absolute;top:0}.muscle-volume-bar-target{background:var(--green);border-radius:1px;width:2px;height:10px;position:absolute;top:-2px;transform:translate(-1px)}.muscle-volume-bar-observed{background:var(--text);border:2px solid var(--bg);box-sizing:border-box;border-radius:50%;width:10px;height:10px;position:absolute;top:-2px;transform:translate(-5px)}.muscle-volume-bar--over .muscle-volume-bar-observed{background:var(--red)}.muscle-volume-bar--under .muscle-volume-bar-observed{background:var(--text2)}.muscle-volume-bar--in .muscle-volume-bar-observed{background:var(--green)}.muscle-progress-bar{cursor:help;width:100%;margin-top:6px}.muscle-progress-bar-track{background:var(--line);border-radius:5px;height:10px;position:relative;overflow:hidden}.muscle-progress-bar-fill{background:var(--green);border-radius:5px;height:100%;transition:width .36s ease-out}.muscle-progress-bar--overrun .muscle-progress-bar-fill{background:linear-gradient(90deg, var(--green) 0%, var(--green) 80%, var(--amber) 100%)}.muscle-progress-bar-target{background:var(--text2);opacity:.55;border-radius:1px;width:2px;position:absolute;top:-2px;bottom:-2px;transform:translate(-1px)}.toast-stack{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;max-width:min(92vw,420px);display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--card2);border:1px solid var(--line2);border-radius:var(--r-md);color:var(--text);pointer-events:auto;border-left-width:3px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.4;animation:.16s ease-out toast-in;display:flex;box-shadow:0 8px 24px #00000073}.toast--error{border-left-color:var(--red)}.toast--warn{border-left-color:var(--amber)}.toast--success{border-left-color:var(--green)}.toast--info{border-left-color:var(--accent)}.toast-message{word-wrap:break-word;flex:1}.toast-close{color:var(--text3);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.toast-close:hover{color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.error-boundary{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);text-align:center;max-width:540px;margin:80px auto;padding:28px 24px}.error-boundary-title{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text);margin-bottom:12px;font-size:14px}.error-boundary-body{color:var(--text2);margin-bottom:18px;font-size:14px}.error-boundary-detail{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--font-mono);color:var(--red);text-align:left;white-space:pre-wrap;word-break:break-word;margin-bottom:18px;padding:10px 12px;font-size:11px}.error-boundary-reset{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text);background:var(--card2);border:1px solid var(--line2);border-radius:var(--r-md);cursor:pointer;padding:9px 18px;font-size:11px;transition:border-color .12s}.error-boundary-reset:hover{border-color:var(--text3)}.today-critical-error{background:var(--card);border:1px solid var(--line2);border-left:3px solid var(--red);border-radius:var(--r-lg);max-width:520px;margin:60px auto;padding:24px}.today-critical-error-title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text);margin-bottom:10px;font-size:13px}.today-critical-error-body{color:var(--text2);margin-bottom:16px;font-size:14px;line-height:1.5}.btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r-md);color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:8px 14px;font-size:11px;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--text);border-color:var(--text)}.btn-ghost{color:var(--text2);border-color:var(--line2);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--text3);background:var(--card2)}.btn-icon{color:var(--text3);border:1px solid var(--line);font-size:11px;font-family:var(--font-sans);border-radius:var(--r-sm);text-transform:none;letter-spacing:0;background:0 0;padding:2px 8px;line-height:1.6}.btn-icon:hover:not(:disabled){color:var(--text);border-color:var(--text3)}.macrocycle-strip{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--line2) transparent;flex:none;align-items:stretch;gap:6px;margin:4px 0 22px;padding:2px 2px 8px;display:flex;overflow-x:auto}.macrocycle-strip::-webkit-scrollbar{height:4px}.macrocycle-strip::-webkit-scrollbar-track{background:0 0}.macrocycle-strip::-webkit-scrollbar-thumb{background:var(--line2);border-radius:4px}.macro-seg{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--phase-c,var(--line2));border-radius:var(--r-md);cursor:default;text-align:left;min-width:116px;min-height:96px;color:var(--text2);font-family:var(--font-mono);scroll-snap-align:start;appearance:none;font:inherit;outline:none;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;padding:14px 12px 12px;line-height:1.2;transition:background .12s,border-color .12s,color .12s,transform .12s;display:flex;position:relative}.macro-seg:focus-visible{box-shadow:0 0 0 2px var(--phase-c,var(--text3)) inset}.macro-seg.phase-accumulation{--phase-c:var(--phase-accumulation);background-image:linear-gradient(#5b8def1a,#0000 70%)}.macro-seg.phase-intensification{--phase-c:var(--phase-intensification);background-image:linear-gradient(#f0a14b1a,#0000 70%)}.macro-seg.phase-peak{--phase-c:var(--phase-peak);background-image:linear-gradient(#e25b5b1f,#0000 70%)}.macro-seg.phase-taper{--phase-c:var(--phase-taper);background-image:linear-gradient(#c084fc1f,#0000 70%)}.macro-seg.phase-deload{--phase-c:var(--phase-deload);background-image:repeating-linear-gradient(135deg,#0000 0 6px,#6d6d731a 6px 12px)}.macro-seg.active{background:var(--card2);border-color:var(--phase-c,var(--text3));box-shadow:0 0 0 1px var(--phase-c,var(--text3)) inset, 0 6px 18px #00000059;color:var(--text)}.macro-seg-index{letter-spacing:.18em;color:var(--text3);text-transform:uppercase;font-size:9px;font-weight:500}.macro-seg.active .macro-seg-index{color:var(--phase-c,var(--text2))}.macro-seg-name{color:var(--text);font-size:13px;font-family:var(--font-sans);-webkit-line-clamp:2;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;width:100%;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.macro-seg-dates{color:var(--text3);white-space:nowrap;font-size:10px}.macro-seg-phase{letter-spacing:.16em;text-transform:uppercase;color:var(--phase-c,var(--text3));margin-top:auto;font-size:9px;font-weight:600}.why-this-block{display:inline-flex;position:relative}.why-this-block-trigger{line-height:1.1}.why-this-block-popover{z-index:30;background:var(--card2);border:1px solid var(--line2);border-radius:var(--r-md);min-width:280px;max-width:360px;padding:14px 16px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 32px #00000073}.why-this-block-title{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text3);margin-bottom:8px;font-size:10px}.why-this-block-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.why-this-block-list li{color:var(--text);font-size:13px;line-height:1.5}.active-block-card{margin-bottom:22px;padding:20px}.active-block-card-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.active-block-card-name{color:var(--text);margin:0;font-size:20px;font-weight:500}.active-block-card-target{color:var(--text3);text-transform:capitalize;flex-basis:100%;margin-top:-2px;font-size:12px}.active-block-card-meta{color:var(--text3);margin-top:6px}.active-block-phase-chip{color:var(--phase-c,var(--text2));border:1px solid var(--phase-c,var(--line));background:0 0}.active-block-phase-chip.phase-accumulation{--phase-c:var(--phase-accumulation)}.active-block-phase-chip.phase-intensification{--phase-c:var(--phase-intensification)}.active-block-phase-chip.phase-peak{--phase-c:var(--phase-peak)}.active-block-phase-chip.phase-taper{--phase-c:var(--phase-taper)}.active-block-phase-chip.phase-deload{--phase-c:var(--phase-deload)}@media (width<=480px){.macro-seg{min-width:88px;padding:10px 8px 8px}.macro-seg-name{font-size:11px}.why-this-block-popover{min-width:240px;max-width:calc(100vw - 32px);left:auto;right:0}}.why-this-prescription{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 4px;display:inline-flex;position:relative}.run-periodization-row{margin:4px 0 10px;display:flex}.run-periodization-chip{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text2);background:var(--card2);border:1px solid var(--line2);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:10px;line-height:1.3}.run-periodization-chip--top{color:var(--green);background:#10b9811f;border-color:#10b98173;padding:4px 12px;font-size:11px}.why-this-prescription-trigger{padding:3px 8px;font-size:11px;line-height:1.1}.why-this-prescription-popover{z-index:30;background:var(--card2);border:1px solid var(--line2);border-radius:var(--r-md);min-width:280px;max-width:380px;padding:14px 16px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 32px #00000073}.why-this-prescription-title{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text3);margin-bottom:8px;font-size:10px}.why-this-prescription-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.why-this-prescription-list li{color:var(--text);font-size:13px;line-height:1.5}@media (width<=480px){.why-this-prescription-popover{min-width:240px;max-width:calc(100vw - 32px);left:auto;right:0}}.deviation-banner{border-radius:var(--r-md);border:1px solid var(--line);color:var(--text);border-left-width:4px;padding:12px 16px;font-size:13px;line-height:1.5}.deviation-banner--major{border-left-color:var(--red);background:#ef44440f}.deviation-banner--meaningful{border-left-color:var(--amber);background:#eab3080f}.deviation-banner--minor{border-left-color:var(--text3);background:var(--card)}.deviation-banner-prefix{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-right:4px;font-size:11px}.deviation-banner-secondary{color:var(--text2);margin-top:6px;font-size:12px}.deviation-banner-conf{color:var(--text3);font-size:11px}.rebalance-card .rebalance-card-headline{color:var(--text);margin:8px 0 12px;font-size:13px;line-height:1.5}.rebalance-card-rows{flex-direction:column;gap:8px;display:flex}.rebalance-card-row{border:1px solid var(--line);border-radius:var(--r-sm,6px);background:var(--card2,transparent);padding:8px 10px}.rebalance-card-row-main{color:var(--text);flex-wrap:wrap;gap:6px;font-size:13px;display:flex}.rebalance-card-date{font-family:var(--font-mono);color:var(--text2)}.rebalance-card-change{color:var(--text)}.rebalance-card-reason{color:var(--text3);margin-top:4px;font-size:12px}.rebalance-card-actions{gap:10px;margin-top:14px;display:flex}.rebalance-card-accept{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text);background:var(--card);border:1px solid var(--line2);border-radius:var(--r-md);cursor:pointer;padding:9px 18px;font-size:11px;transition:border-color .12s,background .12s}.rebalance-card-accept:hover:not(:disabled){border-color:var(--text3);background:var(--bg2,var(--card))}.rebalance-card-accept:disabled{opacity:.6;cursor:not-allowed}.strava-card-linked-strip{border-radius:var(--r-sm,6px);border-left:3px solid var(--text3);color:var(--text2);background:#6d6d730f;margin:6px 0 12px;padding:6px 10px;font-size:12px}.strava-card-linked-strip--aligned{border-left-color:var(--green);color:var(--text);background:#10b9810f}.strava-card-linked-strip--minor{border-left-color:var(--text3);color:var(--text2);background:#6d6d730f}.strava-card-linked-strip--meaningful{border-left-color:var(--amber);color:var(--text);background:#eab30814}.strava-card-linked-strip--major{border-left-color:var(--red);color:var(--text);background:#ef444414}.strava-card-linked-strip--offplan{border-left-color:var(--text3);background:var(--card2,transparent);color:var(--text3)}.unclassified-run-card{border-left:3px solid var(--amber)}.unclassified-run-summary{color:var(--text);margin:8px 0 12px;font-size:13px;line-height:1.5}.unclassified-run-form{flex-direction:column;gap:14px;display:flex}.unclassified-run-intensity{border:1px solid var(--line);border-radius:var(--r-md,8px);margin:0;padding:10px 12px}.unclassified-run-legend{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text3);padding:0 4px;font-size:10px}.unclassified-run-intensity-opt{border-radius:var(--r-sm,6px);cursor:pointer;grid-template-columns:auto auto 1fr;align-items:baseline;gap:10px;padding:6px 4px;display:grid}.unclassified-run-intensity-opt:hover{background:var(--card2,transparent)}.unclassified-run-intensity-opt.is-selected{background:#10b9810f}.unclassified-run-intensity-opt input[type=radio]{accent-color:var(--green,#10b981);margin:0}.unclassified-run-intensity-label{color:var(--text);font-size:13px;font-weight:600}.unclassified-run-intensity-hint{color:var(--text3);font-size:12px}.unclassified-run-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.unclassified-run-field{color:var(--text2);flex-direction:column;gap:4px;font-size:12px;display:flex}.unclassified-run-field input,.unclassified-run-field textarea{color:var(--text);background:var(--card2,transparent);border:1px solid var(--line);border-radius:var(--r-sm,6px);resize:vertical;padding:7px 9px;font-family:inherit;font-size:13px}.unclassified-run-field input:focus,.unclassified-run-field textarea:focus{border-color:var(--text3);outline:none}.unclassified-run-notes{grid-column:1/-1}.unclassified-run-submit{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text);background:var(--card);border:1px solid var(--line2);border-radius:var(--r-md);cursor:pointer;align-self:flex-start;padding:9px 18px;font-size:11px;transition:border-color .12s,background .12s}.unclassified-run-submit:hover:not(:disabled){border-color:var(--text3);background:var(--bg2,var(--card))}.unclassified-run-submit:disabled{opacity:.6;cursor:not-allowed}.session-completion-badge{border-radius:var(--r-sm,6px);border-left:3px solid var(--text3);background:var(--card2,transparent);align-items:center;gap:8px;max-width:100%;margin:8px 0 12px;padding:5px 10px;font-size:12px;line-height:1.4;display:inline-flex}.session-completion-badge--aligned{border-left-color:var(--green);color:var(--text);background:#10b9810f}.session-completion-badge--deviation{border-left-color:var(--amber);color:var(--text);background:#eab30814}.session-completion-badge--manual{border-left-color:var(--text3);background:var(--card2,transparent);color:var(--text2)}.session-completion-badge--awaiting{border-left-color:var(--amber);color:var(--text);background:#eab3080f}.session-completion-badge-icon{color:inherit;text-align:center;min-width:14px;font-weight:700}.session-completion-badge-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:inherit;font-size:10px}.session-completion-badge-summary{color:var(--text2);font-size:12px}.upgrade-page{justify-content:center;padding:48px 24px;display:flex}.upgrade-page--center{background:var(--bg);align-items:center;min-height:100vh}.upgrade-card{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);flex-direction:column;gap:14px;width:100%;max-width:420px;padding:32px;display:flex}.upgrade-kicker{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--green);font-size:11px}.upgrade-title{font-family:var(--font-mono);color:var(--text);margin:0;font-size:28px}.upgrade-permo{color:var(--text2);margin-left:4px;font-size:14px}.upgrade-sub{color:var(--text2);margin:0;font-size:14px;line-height:1.55}.upgrade-features{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.upgrade-features li{color:var(--text2);padding-left:18px;font-size:14px;position:relative}.upgrade-features li:before{content:"»";color:var(--green);position:absolute;left:0}.upgrade-buy{text-align:center;cursor:pointer;font-family:var(--font-mono);letter-spacing:.15em;background:var(--green);color:var(--bg);border-radius:var(--r-md);border:none;margin-top:6px;padding:14px 16px;font-size:13px;font-weight:700;text-decoration:none;display:block}.upgrade-buy:hover{filter:brightness(1.1)}.upgrade-fineprint{color:var(--text3);margin:0;font-size:12px;line-height:1.5}
