:root{--page-padding:28px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#203b33;background:#f6f7f2;font-synthesis:none;font-weight:400;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:#e9ede5;color:#203b33;padding:12px 16px;min-height:44px;border-radius:10px;font-weight:600}button:disabled{opacity:.35;cursor:default}button:hover:not(:disabled){filter:brightness(.96)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a9be65;outline-offset:3px}input,select{width:100%;min-width:0;min-height:48px;border:1px solid #d6dfd4;border-radius:9px;padding:11px;background:#fff;color:#203b33;font-size:16px;scroll-margin:120px}input:focus,select:focus{outline:2px solid #8fa966}label{display:block;font-size:12px;color:#617067;font-weight:600;margin:12px 0}label input,label select{margin-top:6px}h1,h2,h3,p{margin:0}h1{font-size:clamp(32px,6vw,43px);letter-spacing:-1.6px;line-height:1.1;font-weight:600;margin:10px 0}h2{font-size:21px;letter-spacing:-.5px;font-weight:600}h3{font-size:16px;font-weight:600;line-height:1.4}p{line-height:1.6}.app{max-width:760px;margin:auto;padding:0 var(--page-padding)}.brand{text-decoration:none;color:inherit;font-size:27px;font-weight:700;letter-spacing:-1.5px;display:flex;align-items:center;min-height:44px}.brand-icon{background:#203b33;color:#d3eb8d;border-radius:9px;font-size:24px;letter-spacing:0;padding:1px 7px;margin-right:4px}.brand-dot{color:#8b9e51}.version{font-size:11px;color:#748174;white-space:nowrap}main{padding:18px 0 calc(100px + env(safe-area-inset-bottom,0px))}.save{font-size:11px;color:#788273;display:flex;align-items:center;gap:6px;margin:17px 0 34px}.dot,.bad{height:6px;width:6px;flex-shrink:0;background:#74894f;border-radius:100%}.bad{background:#b54a36}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#718169}.title-row,.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.intro{color:#7a8274;margin:8px 0 20px}.start-card{padding:28px;border-radius:18px;background:#203c32;color:#f4f7e9;position:relative;overflow:hidden;margin-bottom:24px}.start-card .eyebrow{color:#bdcf9a}.start-card h2{font-size:29px;max-width:300px;margin:16px 0 12px}.start-card p{color:#c1ccba;font-size:13px}.start-card label{color:#ccd5c3;max-width:240px;margin:20px 0}.start-card input{background:#2c493e;color:#fff;border-color:#5a7160;color-scheme:dark}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;background:#d5e99d;color:#22392d;min-height:55px;padding:16px 20px;margin:12px 0}.primary span{font-size:24px}.start-card .primary{margin-bottom:0}.section-head{margin-bottom:8px}.text{background:transparent;padding:8px;color:#677b4c;font-size:12px;white-space:nowrap}.muted{color:#818878;font-size:13px}.routine-summary{display:flex;align-items:center;gap:18px;border-bottom:1px solid #e0e5da;padding:22px 0}.routine-summary>div{flex:1;min-width:0}.routine-summary p{color:#818878;font-size:12px;margin-top:5px}.routine-summary>span:last-child{color:#899879}.number{color:#83916c;font-size:12px;letter-spacing:1px}.cardio-summary{display:flex;align-items:center;gap:18px;padding:24px 18px;background:#edf0e4;border-radius:12px;margin-top:22px;font-size:26px}.cardio-summary strong{font-size:14px}.cardio-summary p{font-size:12px;color:#7d876e}nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(760px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:6px max(4px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(4px,env(safe-area-inset-left,0px));background:#f6f7f2;border-top:1px solid #dae1d3;z-index:5}nav button{min-width:44px;min-height:56px;padding:6px 2px;border-radius:9px;background:none;font-size:11px;font-weight:500;color:#7d8773;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}nav svg{flex-shrink:0}nav .selected{color:#203b33;background:#e9eedf;font-weight:600}.panel,.exercise{background:#fff;border:1px solid #e1e6db;border-radius:15px;padding:20px;margin:16px 0}.session-banner{background:#e9eedc;padding:24px;border-radius:15px;display:flex;justify-content:space-between;margin-bottom:24px}.session-banner h2{margin:10px 0}.session-banner span:not(.eyebrow){font-size:12px;color:#6b795b}.session-icon{font-size:40px!important}.block{margin:32px 0}.block-heading{display:flex;gap:14px;align-items:center}.block-heading h2{font-size:20px}.unit{font-size:12px;color:#748269}.last{font-size:12px;color:#69735f;background:#f4f6ef;border-radius:8px;padding:12px;margin:14px 0}.hint{font-size:11px;color:#8a9180;margin-bottom:8px}.set{display:flex;align-items:center;gap:8px;padding:4px 0}.set label{flex:1;min-width:0;font-size:10px}.set input{text-align:center;padding:10px 4px;font-size:18px}.set-number{font-size:12px;width:15px;flex-shrink:0;color:#83916c}.check{width:46px;flex-shrink:0;margin-top:19px;background:#edf0e7;padding:10px;color:#89957c;font-size:20px}.checked .check{background:#203c32;color:#d4e99e}.checked input{background:#f0f5e8}.remove{padding:0;width:22px;min-width:22px;background:none;color:#9aa18e;margin-top:19px;font-weight:400;font-size:20px}.add{margin-top:6px}.skipped{opacity:.65}.cardio-inputs,.two-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.secondary{width:100%;background:#edf0e6;margin:8px 0}.done{width:100%;background:#203c32;color:#e5efca}.footnote{text-align:center;color:#8c9583;font-size:11px;margin:18px 0}.actions{display:flex;align-items:center;gap:8px}.actions .secondary{width:auto;flex:1}.danger{color:#a15a47;background:transparent;font-size:12px}.history h2{margin:10px 0}.history>p{font-size:13px;color:#7b8670}.history details{margin:12px 0;font-size:13px}summary{cursor:pointer;min-height:44px;padding:14px 0;color:#627748}.history-exercise{padding:14px 0;border-top:1px solid #e5eadf}.history-exercise small{display:block;color:#89927c;margin-top:4px}.history-exercise p{font-size:12px;margin-top:8px}.empty{padding:60px 20px;background:#eaf0de;border-radius:16px;text-align:center;margin:30px 0}.empty>span{font-size:56px;color:#849460}.empty h2{margin:20px 0 12px}.empty p{color:#7b866c;font-size:14px}.error{background:#fff0e8;color:#9b4d38;padding:14px;border-radius:10px;font-size:13px;margin:12px 0}.notice{font-size:13px;color:#6e7c60;background:#e9eedf;padding:16px;border-radius:10px}.edit-exercise{border-top:1px solid #dfe5d7;margin-top:20px;padding-top:8px}.toggle{display:flex;align-items:center;gap:10px}.toggle input{width:22px;min-height:22px;accent-color:#526d3c}.edit-exercise .actions button{font-size:11px;padding:10px}.edit-exercise .text{white-space:normal}a,button,input{touch-action:manipulation}@media(min-width:760px){:root{--page-padding:50px}.start-card{padding:28px}}@media(max-width:380px){:root{--page-padding:16px}.exercise{padding:14px}.set{gap:5px}.check{width:40px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.app-header{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:12px;flex-wrap:nowrap;background:#f6f7f2;border-bottom:1px solid #dce3d8;margin-inline:calc(-1 * var(--page-padding));padding:calc(8px + env(safe-area-inset-top,0px)) max(var(--page-padding),env(safe-area-inset-right,0px)) 8px max(var(--page-padding),env(safe-area-inset-left,0px))}html{scroll-padding-top:calc(76px + env(safe-area-inset-top,0px))}.session-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.session-toolbar .session-clock{margin-left:auto}.loading{font-size:12px;color:#788273}.build-info p{overflow-wrap:anywhere;margin-top:12px}.pwa-status:empty{display:none}.filters{display:flex;gap:8px;margin:28px 0 12px}.filters button{flex:1;font-size:12px;padding:12px 8px}.filters [aria-pressed=true]{background:#203c32;color:#e5efca}.progress-date{font-size:17px;line-height:1.5;margin:12px 0}.comparison{margin:14px 0;font-size:14px}.series-detail ul{padding-left:20px;font-size:14px;line-height:1.9;margin:12px 0}.series-detail p{font-size:12px;margin:10px 0;color:#68765e}.progress-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px;margin-top:20px}.progress-table th,.progress-table td{border-bottom:1px solid #dfe5d7;text-align:left;vertical-align:top;padding:14px 6px;overflow-wrap:anywhere;line-height:1.8}.progress-table th{width:45%;font-weight:500}.progress-table thead th{font-weight:700}.chart svg{width:100%;height:auto;margin-top:16px;overflow:visible}.chart svg text{font-size:11px;fill:#6a795e}.axis{stroke:#d3ddc9}.trend{stroke:#78954d;stroke-width:2}.data-point{fill:#294933;pointer-events:none}.touch-point{fill:transparent;cursor:pointer}.chart svg g:focus{outline:none}.chart svg g:focus .data-point{stroke:#bdce89;stroke-width:5}.point-detail{background:#f1f5e9;padding:14px;border-radius:10px}.point-detail h3{font-size:13px}.goal form input{scroll-margin:160px}.set-group{border-bottom:1px solid #f0f3eb}.goal .hint{min-height:18px}.chart h2{font-size:19px}.pwa-status{font-size:11px;color:#75806b;margin:14px 0}.pwa-status .notice{font-size:12px}.pwa-status button{margin:8px 0}.tools-link{display:block;margin:0 0 24px auto}.import-preview{overflow-wrap:anywhere}.import-preview h3{margin:14px 0}.import-preview p{font-size:13px;margin:12px 0}input[type=file]{font-size:13px;overflow:hidden}button{scroll-margin:150px}.pwa-status .notice p{margin:8px 0}.session-fields{border:0;margin:0;padding:0;min-width:0}.header-back{font-size:13px;padding:10px 12px}.block-heading .edit-menu{margin-left:auto}.edit-menu{position:relative;flex-shrink:0}.edit-menu>summary{list-style:none;padding:9px 12px;font-size:17px;letter-spacing:1px;min-height:44px}.edit-menu>summary::-webkit-details-marker{display:none}.edit-menu[open]>div{position:absolute;right:0;top:44px;width:min(260px,75vw);padding:10px;background:#fff;border:1px solid #d6dfcd;box-shadow:0 10px 30px #203c3220;border-radius:12px;z-index:4;max-height:65vh;overflow:auto}.edit-menu button{display:block;text-align:left;width:100%;font-size:12px;background:#f3f6ec;margin:4px 0}.edit-menu label{font-size:12px}.exercise-notes{margin-top:10px}.exercise-notes summary{font-size:12px}.finish-button{background:#203c32;color:#e4efc2}.session-fields textarea,textarea{font:inherit;font-size:16px;width:100%;min-height:95px;resize:vertical;border:1px solid #d6dfd4;border-radius:9px;padding:12px;margin-top:8px;scroll-margin:170px;background:#fff;color:#203b33}dialog{border:1px solid #dbe3d2;border-radius:16px;padding:22px;width:min(500px,calc(100% - 24px));max-height:82vh;overflow:auto;background:#f6f7f2;color:#203b33}dialog::backdrop{background:#142c2699}dialog p{font-size:13px;line-height:1.6;margin:12px 0}dialog button{scroll-margin:100px}.block-heading h2{overflow-wrap:anywhere}.set-group{padding-bottom:5px}@keyframes content-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes brand-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes set-confirm{0%{opacity:.7;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.brand{animation:brand-enter .2s ease-out}.view-content{opacity:1}.edit-menu[open]>div,.cardio-activity[open]>.cardio-fields,.exercise-notes[open],dialog[open]{animation:content-enter .2s ease-out}.check.confirmed-pulse{animation:set-confirm .16s ease-out}.intensity-tag{display:inline-block;font-size:11px;color:#526d3c;background:#edf2df;padding:5px 9px;border-radius:12px;margin:8px 0}.cardio-brief{display:block;font-size:11px;font-weight:400;color:#7c866f;margin-top:3px}.cardio-activity>summary{padding:3px 0 8px}.cardio-fields .two-col{align-items:start}.cardio-fields textarea{scroll-margin:170px}.countdown-dialog{text-align:center;width:min(340px,calc(100% - 32px));padding:28px}.countdown-number{font-size:86px;line-height:1.3;font-weight:600;font-variant-numeric:tabular-nums;color:#203c32}.countdown-dialog::backdrop{background:#142c2680}.history-cardio{padding:12px 0;border-top:1px solid #e3e8db}.history-cardio p{font-size:12px;margin-top:4px}@media(prefers-reduced-motion:reduce){.brand,.view-content,.edit-menu[open]>div,.cardio-activity[open]>.cardio-fields,.exercise-notes[open],dialog[open],.check.confirmed-pulse{animation:none!important;transition:none!important}}.cardio-activity>summary strong,.cardio-activity h3{overflow-wrap:anywhere}.session-clock{display:inline-flex;align-items:baseline;gap:5px;color:inherit;font-size:13px;font-weight:500;white-space:nowrap;letter-spacing:0}.session-clock time{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";min-width:5ch;text-align:right}.session-clock small{font-size:10px;color:inherit;opacity:.7;min-width:5ch}.clock-unavailable{font-size:11px;color:#7b8672}.resume-actions{display:flex;align-items:center;gap:18px;margin-top:14px}.resume-actions .primary{flex:1;width:auto;margin:0}.history-date{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;justify-content:space-between}.duration-detail{font-size:13px;color:#6e7b64;margin:12px 0}.start-card .session-clock{color:#e5edcf}.routine-back{margin-left:auto;white-space:nowrap;font-size:13px;padding:8px 10px;background:transparent;color:#526d3c}
