:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f5f4f0;background:#111110;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;font-weight:400;--bg:#111110;--surface:#1c1c1a;--surface2:#242421;--border:#343431;--muted:#a09f98;--quiet:#777770;--yellow:#f5d400;--green:#84d49a;--red:#ed8a7e;--radius:18px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}.app-shell{max-width:580px;min-height:100vh;margin:auto;padding:0 20px 110px}.topbar{height:82px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #292927}.brand-mark{width:40px;height:40px;border-radius:12px;background:var(--yellow);color:#181713;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;font-weight:500;display:grid;place-items:center;letter-spacing:-2px}.topbar h1{font-size:21px;line-height:1;margin:4px 0 0;letter-spacing:-.8px}.topbar h1 span{color:var(--yellow)}.eyebrow{margin:0;color:#a2a198;font-size:9px;font-weight:700;letter-spacing:1.25px}.icon-button{margin-left:auto;width:42px;height:42px;border:1px solid var(--border);border-radius:14px;background:var(--surface);font-size:18px}.main-content{padding-top:28px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.section-heading h2,.page-intro h2{margin:5px 0 0;font-size:32px;line-height:1.1;letter-spacing:-1.2px}.date-chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);font-size:11px;border:1px solid var(--border);padding:8px 10px;border-radius:10px}.day-picker{border:1px solid var(--border);background:var(--surface);padding:14px 15px;border-radius:15px;margin-bottom:14px}.day-picker>label{display:block;font-size:10px;font-weight:700;letter-spacing:.8px;color:var(--muted);text-transform:uppercase;margin-bottom:7px}.day-picker select{width:100%;background:transparent;border:0;color:#fff;font-size:16px;font-weight:700}.day-picker option,.settings-fields option,.effort-row option{background:#20201e;color:#fff}.day-picker p{font-size:11px;color:var(--quiet);margin:6px 0 0}.summary-card{padding:19px 18px 15px;background:linear-gradient(130deg,#25241d,#1c1c1a 68%);border:1px solid #484225;border-radius:var(--radius);margin-bottom:12px}.summary-top{display:flex;align-items:center;justify-content:space-between}.summary-top>div:first-child{display:grid;gap:4px}.summary-top strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:38px;line-height:1;letter-spacing:-1.8px}.summary-top>div:first-child>span:last-child{color:var(--muted);font-size:12px}.ring{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--yellow) var(--progress),#414037 0);position:relative}.ring:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:#22211c}.ring span{position:relative;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.summary-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #39372a;padding-top:12px;margin-top:15px;color:var(--muted);font-size:11px}.live-dot{font-size:8px;letter-spacing:.75px;color:var(--yellow);font-weight:700}.bike-row{display:flex;align-items:center;gap:11px;border:1px solid var(--border);background:var(--surface);border-radius:15px;padding:12px 14px;margin-bottom:30px}.bike-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#2a2922;color:var(--yellow);font-size:22px}.bike-copy{display:grid;gap:3px}.bike-copy strong{font-size:13px}.bike-copy span{font-size:10px;color:var(--muted)}.bike-input{margin-left:auto;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.bike-input input{width:42px;padding:7px 2px;background:transparent;border:0;border-bottom:1px solid var(--border);color:#fff;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px}.exercise-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px}.exercise-heading h3{font-size:18px;margin:4px 0 0;letter-spacing:-.3px}.exercise-heading h3 span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);font-size:13px;margin-left:5px}.primary-button,.secondary-button,.danger-button{min-height:46px;padding:0 15px;border-radius:12px;font-size:13px;font-weight:700;border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-button{background:var(--yellow);color:#171611}.primary-button span{font-size:18px}.secondary-button{background:var(--surface2);border:1px solid var(--border);color:#f4f2eb}.danger-button{background:#5a2925;color:#fff}.start-button{width:100%;margin-bottom:14px}.finish-button{width:100%;margin-top:14px}.text-button{border:0;background:transparent;color:var(--yellow);font-size:11px;font-weight:700;padding:8px 0}.exercise-list{display:grid;gap:10px}.exercise-card{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}.exercise-card.is-complete{border-color:#586542}.card-expand{width:100%;border:0;background:transparent;display:flex;align-items:center;text-align:left;padding:14px 14px 12px;gap:11px}.station-number{flex:none;width:40px;height:40px;border-radius:12px;background:#2b2a24;color:var(--yellow);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px;display:grid;place-items:center}.exercise-title{display:grid;gap:4px;min-width:0}.exercise-title strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exercise-title>span{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-chevron{margin-left:auto;width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;color:var(--yellow);font-size:18px}.exercise-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0 14px;border-top:1px solid #2b2b28;border-bottom:1px solid #2b2b28;padding:11px 0}.exercise-stats>div{display:grid;gap:4px}.exercise-stats>div+div{padding-left:12px;border-left:1px solid #343431}.stat-label{color:var(--quiet);font-size:8px;font-weight:700;letter-spacing:.8px}.exercise-stats strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:500;font-size:18px}.exercise-stats small,.progress-current small{font-size:10px;color:var(--muted)}.previous-row{display:flex;align-items:center;gap:9px;padding:10px 14px;color:var(--muted);font-size:10px}.previous-row>span{font-size:8px;font-weight:700;letter-spacing:.8px;color:var(--quiet);flex:none}.previous-row strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-logger{width:100%;border:0;border-top:1px solid #2b2b28;background:#191917;text-align:left;padding:12px 14px;font-size:11px;color:var(--muted)}.open-logger span{float:right;color:var(--yellow);font-size:15px}.empty-state{text-align:center;padding:36px 22px;border:1px dashed #41413a;border-radius:17px;background:#171715;margin:15px 0}.empty-icon{width:42px;height:42px;border-radius:14px;background:#2b2920;color:var(--yellow);display:grid;place-items:center;font-size:24px;margin:0 auto 14px}.empty-state>strong{font-size:15px}.empty-state p{font-size:12px;line-height:1.65;color:var(--muted);max-width:350px;margin:8px auto 16px}.notice{width:100%;border:1px solid #555038;border-radius:10px;background:#242218;color:#f0e7b7;text-align:left;padding:10px 12px;font-size:11px;margin-top:13px}.notice span{float:right;font-size:16px}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translate(-50%);width:min(100%,580px);padding:9px 13px calc(9px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:#171716f5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid #343431}.nav-item{border:0;background:transparent;color:var(--quiet);display:grid;justify-items:center;gap:4px;padding:5px 2px;font-size:9px;font-weight:600}.nav-icon{font-size:20px;line-height:1}.nav-item.active{color:var(--yellow)}.page-intro{margin-bottom:23px}.page-intro>p:last-child{font-size:12px;color:var(--muted);margin:9px 0 0}.history-list,.progress-list{display:grid;gap:12px}.history-card,.progress-card{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:16px}.history-head,.progress-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.history-head h3,.progress-head h3{font-size:15px;margin:5px 0 0}.status-pill{font-size:8px;font-weight:700;letter-spacing:.6px;padding:6px 8px;border-radius:7px;background:#27382b;color:var(--green)}.status-pill.active{background:#37331c;color:var(--yellow)}.history-bike{font-size:11px;color:var(--muted);margin:13px 0 4px}.history-exercise{padding:11px 0;border-top:1px solid #30302d;margin-top:10px}.history-exercise>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-exercise>div strong{font-size:12px}.history-exercise>div span{font-size:9px;color:var(--muted)}.history-exercise p{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:#d1d0c9;margin:7px 0 0;line-height:1.6}.history-exercise small,.session-note{font-size:10px;color:var(--muted)}.session-note{border-top:1px solid var(--border);padding-top:10px}.progress-current{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px;color:var(--yellow)}.trend-chart{height:145px;display:flex;align-items:flex-end;gap:8px;overflow-x:auto;margin-top:17px;padding:0 2px}.trend-point{height:100%;min-width:42px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}.trend-value,.trend-date,.trend-reps{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;color:var(--muted)}.trend-bar{width:20px;min-height:8px;border-radius:5px 5px 2px 2px;background:linear-gradient(0deg,#8e7b00,var(--yellow));margin-top:auto}.trend-reps{white-space:nowrap;color:#d0cfca}.no-trend{font-size:11px;color:var(--muted);margin-bottom:0}.settings-section{margin-bottom:20px}.settings-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.settings-title h3{margin:0;font-size:16px}.settings-title p{font-size:10px;color:var(--muted);margin:4px 0 0;line-height:1.5}.settings-count{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--yellow);border:1px solid #504b2c;padding:5px 9px;border-radius:8px}.station-editor{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:13px;margin-bottom:9px}.station-editor-head{display:flex;align-items:center;gap:9px}.station-number.small{width:32px;height:32px;font-size:15px;border-radius:9px}.station-editor-head>input{min-width:0;flex:1;background:transparent;border:0;border-bottom:1px solid #42423c;color:#fff;padding:8px 2px;font-weight:600;font-size:13px}.active-switch{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px}.active-switch input,.form-check input,.preference-row>input{accent-color:var(--yellow);width:17px;height:17px}.settings-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px 9px;margin-top:13px}.settings-fields label{display:grid;gap:5px;color:var(--muted);font-size:9px}.settings-fields .field-hint{font-size:8px;color:var(--quiet);line-height:1.3}.settings-fields input,.settings-fields select,.preference-row select,.effort-row select{width:100%;min-height:37px;border-radius:9px;border:1px solid #3a3a36;background:#171715;color:#efeee8;padding:0 9px;font-size:11px}.compact-settings,.data-section{padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.compact-settings .settings-title,.data-section .settings-title{margin-bottom:11px}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #30302d;padding:12px 0}.preference-row>span{display:grid;gap:4px}.preference-row strong{font-size:11px}.preference-row small{font-size:9px;color:var(--muted);line-height:1.4}.preference-row select{width:100px}.preference-row>input{flex:none}.export-buttons{display:grid;gap:8px}.export-buttons button{width:100%;justify-content:flex-start}.file-picker{display:flex;justify-content:center;align-items:center;min-height:43px;margin-top:9px;border:1px dashed #4c4b43;border-radius:10px;color:#d3d1c6;font-size:11px}.file-picker input{position:absolute;width:1px;height:1px;opacity:0}.import-confirm{padding:12px;margin-top:10px;border:1px solid #76504b;border-radius:10px;background:#2e201f}.import-confirm strong{font-size:11px}.import-confirm p,.data-warning{color:#c3a5a0;font-size:10px;line-height:1.55}.import-confirm button{width:100%}.data-warning{color:var(--muted);border-top:1px solid var(--border);padding-top:11px;margin-bottom:0}.set-logger{border-top:1px solid #343431;padding:13px}.set-caption{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:var(--quiet);font-size:8px;font-weight:700;letter-spacing:.8px}.planned-label{display:flex;align-items:center;gap:5px}.planned-label i{width:8px;height:8px;border:1px solid var(--yellow);border-radius:2px}.set-row{display:grid;grid-template-columns:24px minmax(74px,1fr) 15px minmax(74px,1fr) 34px;align-items:center;gap:6px;margin-bottom:8px}.set-index{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;color:var(--muted);font-size:11px}.number-field{position:relative;display:grid;grid-template-columns:1fr 20px;align-items:center;background:#151514;border:1px solid #3a3a36;border-radius:10px;min-height:49px;padding:5px 7px}.number-field label{grid-column:1;grid-row:1;color:var(--quiet);font-size:8px}.number-field input{grid-column:1;grid-row:2;width:100%;min-width:0;border:0;background:transparent;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:17px;padding:2px 0 0;outline:0}.number-field input:focus{outline:0}.number-field>label{grid-column:2;grid-row:1/3;color:var(--muted);font-size:9px}.planned-value{grid-column:1/-1;color:#807f77;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.times{text-align:center;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.set-check{width:32px;height:36px;border:1px solid #4b4b44;border-radius:9px;background:transparent;color:#96958e;font-size:18px}.set-check.checked{border-color:#66804e;background:#283321;color:var(--green)}.set-done .number-field{border-color:#454b3b}.effort-row{display:flex;align-items:center;gap:8px;margin:13px 0}.effort-row>label:first-child{font-size:10px;color:var(--muted)}.effort-row select{width:120px;min-height:34px}.form-check{margin-left:auto;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px}.form-check input{width:15px;height:15px}.notes-label{display:block;color:var(--muted);font-size:9px;margin-bottom:5px}.set-logger textarea{width:100%;resize:vertical;border:1px solid #3a3a36;border-radius:9px;background:#171715;color:#fff;padding:8px;font-size:11px}.suggestion-box{display:flex;align-items:flex-start;gap:8px;margin-top:11px;padding:10px;border-radius:9px;background:#29271d;color:var(--yellow)}.suggestion-box>span{font-size:14px}.suggestion-box p{flex:1;margin:0;color:#e0ddcf;font-size:9px;line-height:1.5}.suggestion-box .text-button{padding:0}.confirm-weight{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;font-size:10px;color:var(--muted)}.confirm-weight button{border:0;border-radius:8px;background:var(--yellow);color:#171611;padding:8px;font-size:9px;font-weight:700}.card-actions{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;margin-top:12px}.card-actions .primary-button,.card-actions .secondary-button{min-height:40px;padding:0 10px;font-size:10px}.quiet-button{border:0;background:transparent;color:var(--muted);font-size:9px;padding:8px 3px}.collapse-link{display:block;margin:0 14px 8px}.session-note-editor{display:grid;gap:7px;margin:16px 0 0;color:var(--muted);font-size:10px}.session-note-editor textarea{width:100%;resize:vertical;border:1px solid #3a3a36;border-radius:9px;background:#171715;color:#fff;padding:9px;font-size:11px}.loading{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:12px;color:var(--muted)}@media (min-width:640px){.app-shell{padding-left:26px;padding-right:26px}.main-content{padding-top:34px}.topbar{height:88px}.settings-fields{gap:12px 14px}}@media (max-width:360px){.app-shell{padding-left:14px;padding-right:14px}.summary-card{padding:15px}.card-expand{padding-left:10px;padding-right:10px;gap:8px}.station-number{width:36px;height:36px}.exercise-title strong{font-size:12px}.exercise-title>span{font-size:9px}.set-row{grid-template-columns:20px minmax(66px,1fr) 12px minmax(66px,1fr) 31px;gap:4px}.set-logger{padding:10px}.settings-fields{gap:10px 7px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.save-status{padding:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.save-status.saved{color:var(--green)}.save-status.error{color:var(--red)}.resume-reminder{margin-top:16px;padding:16px;background:var(--surface);border:1px solid var(--yellow);border-radius:var(--radius)}.resume-reminder strong{font-size:16px}.resume-reminder p{font-size:13px;line-height:1.6;color:var(--muted)}.resume-reminder button{width:100%}
