:root{color-scheme:dark;--bg:#0d1210;--panel:#171f1b;--panel2:#1d2822;--line:#314238;--text:#f3f7f4;--muted:#a7b5ac;--green:#70e49e;--green2:#2bbf68;--red:#ff8a8a;--amber:#ffd478}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#17251e 0,#0d1210 44rem);color:var(--text);font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px max(14px,env(safe-area-inset-left));background:rgba(13,18,16,.93);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.topbar a{color:var(--text);text-decoration:none}.brand{font-weight:850;letter-spacing:.01em}.back-link{font-size:.92rem;color:var(--muted)!important}.page{width:min(960px,100%);margin:auto;padding:0 14px 70px}.hero{padding:8px 4px 14px}.hero h1{font-size:clamp(2rem,9vw,3.6rem);line-height:1;margin:.12em 0}.hero p{max-width:680px;color:var(--muted);margin:.45rem 0}.compact-hero h1{font-size:clamp(1.9rem,7vw,3rem)}.eyebrow{margin:0;color:var(--green);font-size:.74rem!important;font-weight:900;letter-spacing:.14em}.card{margin:14px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(29,40,34,.96),rgba(20,29,24,.96));box-shadow:0 14px 38px rgba(0,0,0,.18)}.card h2{margin:.1rem 0 .5rem;font-size:1.25rem}.accent-card,.today-card{border-color:#3e7653}.active-card{border-color:var(--amber)}.message{padding:12px 14px;border-radius:12px;margin:8px 0}.message.success{background:#163d27;border:1px solid #2d7949}.message.error{background:#421d1d;border:1px solid #8e4141}.muted,.card small{color:var(--muted)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two-columns>.card{margin:0 0 14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid.compact{gap:9px}.wide{grid-column:1/-1}.stack-form{display:grid;gap:11px}label{display:grid;gap:5px;color:#dbe5de;font-size:.88rem;font-weight:700}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #405348;border-radius:11px;background:#0f1713;color:var(--text)}textarea{min-height:84px;resize:vertical}button,.button-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 15px;border:1px solid #496052;border-radius:11px;background:#25342c;color:#fff;font-weight:850;text-decoration:none;cursor:pointer}.primary{border-color:#74e5a0;background:linear-gradient(135deg,var(--green),var(--green2));color:#082012}.button-link{margin-top:10px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.status,.target{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#26342c;color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap}.status.active{background:#16482b;color:#9af5b9}.status.draft{background:#41381b;color:#ffe096}.item-list{display:grid;gap:7px;margin:12px 0}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #34453a;border-radius:12px;background:#111914;color:var(--text);text-decoration:none}.list-item span:first-child{display:grid}.list-item small{display:block;font-size:.8rem}.list-item.static{cursor:default}.panel{margin-top:12px}.panel>summary{padding:10px 0;color:#dfe8e2;font-weight:850;cursor:pointer}.panel>form{padding-top:8px}.measurement-list,.set-list,.progress-table{display:grid;gap:1px;margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.measurement-list>div,.set-list>div,.progress-table>div{display:grid;grid-template-columns:1fr auto 1fr;gap:9px;padding:9px 11px;background:#111914}.measurement-list>div span:last-child,.set-list>div span:last-child{text-align:right;color:var(--muted)}.program-days{display:grid;grid-template-columns:1fr 1fr;gap:14px}.program-days>.card{margin:0}.exercise-list{display:grid;gap:8px;padding-left:1.4rem}.exercise-list li{padding:5px 0}.exercise-list li div{display:grid}.exercise-list small{display:block}.action-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.action-row p{margin:0}.workout-exercise{scroll-margin-top:70px}.instruction{padding:10px 12px;border-left:3px solid var(--green);background:#111914}.previous{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;padding:10px 12px;border-radius:11px;background:#111914}.previous span{color:var(--muted)}.coach-hint{color:#dfffe9;background:#153b25;border:1px solid #2b7145;padding:10px 12px;border-radius:11px}.set-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:13px}.set-form button{grid-column:1/-1}.timer-button{width:100%;margin-top:8px;background:transparent}.timer-button.running{border-color:var(--amber);color:var(--amber)}.finish-card{border-color:#3e7653}.chart-wrap{height:290px}.chart-wrap.small-chart{height:210px;margin-top:14px}.chart-wrap canvas{display:block;width:100%;height:100%}.progress-table>div{grid-template-columns:1.15fr 1fr 1fr 1fr}.progress-table .table-head{background:#25342c;color:var(--muted);font-size:.76rem;font-weight:800}.profile-panel>summary{font-weight:850;cursor:pointer}@media(max-width:720px){.two-columns,.program-days{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.action-row{align-items:stretch;flex-direction:column}.action-row button{width:100%}}@media(max-width:420px){.page{padding-inline:10px}.card{padding:14px;border-radius:15px}.topbar{grid-template-columns:1fr auto}.brand{justify-self:end}.set-form{grid-template-columns:1fr 1fr}.set-form label:nth-of-type(3){grid-column:1/-1}.progress-table>div{grid-template-columns:1.1fr 1fr 1fr}.progress-table>div span:last-child{display:none}}

.button-row{display:flex;flex-wrap:wrap;gap:8px}.button-row .button-link{margin-top:0}.danger{border-color:#a84c4c;background:#4b2020;color:#ffdede}.check-label{display:flex;min-height:44px;align-items:center;gap:10px;padding:8px 0}.check-label input{width:22px;min-height:22px}.accent-panel{border-left:3px solid var(--green);padding-left:12px}.travel-card{border-color:#476452}.measurement-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}.measurement-panel>summary::-webkit-details-marker{display:none}.measurement-panel>summary span:first-child{display:grid}.details-content{padding-top:12px}.edit-panel{padding:0 4px 8px}.edit-panel>form+form,.finish-card>form+form,.report-card>form{margin-top:12px}.workout-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.workout-live{display:grid;justify-items:end;gap:8px;white-space:nowrap}.rest-overlay{position:sticky;top:58px;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:12px 16px;border:2px solid var(--amber);border-radius:15px;background:#322b13;box-shadow:0 12px 30px rgba(0,0,0,.38)}.rest-overlay[hidden]{display:none}.rest-overlay>div:first-child{display:grid}.rest-overlay strong{font-size:1.7rem;color:var(--amber)}.rest-overlay.complete{border-color:var(--green);background:#163d27}.rest-overlay.complete strong{color:var(--green)}.report-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0}.report-grid>div{display:grid;gap:4px;padding:10px;border-radius:11px;background:#111914}.report-grid small{font-size:.76rem}

@media(max-width:720px){.workout-title-row{align-items:stretch;flex-direction:column}.workout-live{justify-items:stretch}.report-grid{grid-template-columns:1fr 1fr}.rest-overlay{top:53px}.measurement-panel{min-height:0}}

.equipment-panel[hidden]{display:none}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:8px}.equipment-grid label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #34453a;border-radius:10px;background:#111914}.equipment-grid input{width:20px;min-height:20px}.replacement-list{display:grid;gap:7px;padding-top:9px}.replacement-list form,.replacement-list button{width:100%}.replacement-list button{justify-content:space-between;text-align:left}.replacement-list button span:first-child{display:grid}.danger-zone{border-color:#6b3b3b}.substitution-note{color:var(--amber)!important}.warning-note{padding:10px 12px;border:1px solid #896f2c;border-radius:11px;background:#3a3015;color:#ffe5a0}

@media(max-width:520px){.equipment-grid{grid-template-columns:1fr}}

.program-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.program-stats>div{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#111914}.program-stats small{color:var(--muted)}.scheduled-note{display:inline-flex;padding:7px 10px;border-radius:999px;background:#263d56;color:#b9ddff!important}.proposal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.proposal-grid>.card{margin:0}.proposal-choice{margin-top:16px}.compact-list{margin-bottom:0}.planning-card{border-color:#5b6f3c}.warmup-card{border-color:#4e7188}.warmup-clock{font-size:1.8rem;color:#7dc8ff}.warmup-clock.complete{color:var(--green)}.warmup-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.warmup-summary span{padding:6px 9px;border-radius:999px;background:#182721;color:#dbe7df}.subtle-button{width:100%;margin-top:9px;background:transparent;color:var(--muted)}.warmup-table{display:grid;gap:1px;margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.warmup-table>div{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.3fr;gap:9px;padding:9px 11px;background:#111914}.warmup-table .table-head{background:#25342c;color:var(--muted);font-size:.76rem;font-weight:800}

@media(max-width:860px){.proposal-grid{grid-template-columns:1fr}.program-stats{grid-template-columns:1fr 1fr}}@media(max-width:520px){.warmup-table>div{grid-template-columns:1.2fr 1fr 1fr}.warmup-table>div span:last-child{display:none}}

.top-clock{justify-self:end;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:800}.workout-live .button-row{justify-content:flex-end}.workout-live form{display:flex}.exercise-guide-link{display:inline-flex;margin:.15rem 0 .25rem;color:#93d5ff;font-size:.88rem;font-weight:800;text-decoration:none}.set-list>.set-entry{background:#111914}.set-entry>summary{display:grid;grid-template-columns:1fr auto 1fr;gap:9px;padding:9px 11px;cursor:pointer;list-style:none}.set-entry>summary::-webkit-details-marker{display:none}.set-entry>summary span:last-child{text-align:right;color:var(--muted)}.set-edit-form{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;padding:10px 11px;border-top:1px solid var(--line)}.set-edit-form button{grid-column:1/-1}.set-entry>form:last-child{padding:0 11px 11px}.wisdom-card{border-color:#6173aa;background:radial-gradient(circle at 92% 0,rgba(116,132,211,.2),transparent 18rem),linear-gradient(145deg,rgba(29,40,44,.96),rgba(20,29,27,.96))}.wisdom-stone{color:#9badff;font-size:2rem;text-shadow:0 0 18px rgba(155,173,255,.75)}.wisdom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.wisdom-grid>div{display:grid;gap:3px;padding:11px;border:1px solid #445072;border-radius:12px;background:#121923}.wisdom-grid strong{font-size:1.18rem}.wisdom-grid small,.wisdom-grid span{color:var(--muted)}.wisdom-grid span{font-size:.76rem}.wisdom-facts{display:grid;gap:8px;margin-top:12px}.wisdom-facts p{margin:0;padding:10px 12px;border-left:3px solid #9badff;border-radius:5px;background:#121923}.membership-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:18px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#111914}.membership-footer>strong{text-align:center}.membership-footer>small{text-align:right;color:var(--muted)}.membership-footer.warning{border-color:#8b742f}.membership-footer.expired{border-color:#914c4c}.guide-card{position:relative;overflow:hidden}.movement-visual{display:flex;align-items:center;gap:7px;float:right;width:86px;height:86px;margin:-2px 0 8px 16px;padding:16px;border:1px solid #496052;border-radius:50%;background:#111914}.movement-visual span{display:block;width:13px;border-radius:999px;background:var(--green)}.movement-visual span:nth-child(1){height:30px;transform:rotate(-25deg)}.movement-visual span:nth-child(2){height:54px}.movement-visual span:nth-child(3){height:30px;transform:rotate(25deg)}.guide-list{display:grid;gap:10px;padding-left:1.3rem}.guide-list li{padding-left:.25rem}.warning-list li::marker{color:var(--amber)}.video-card{border-color:#476a86}.safety-note{padding:12px 14px;border-left:3px solid var(--amber);color:var(--muted)}

@media(max-width:760px){.wisdom-grid{grid-template-columns:1fr 1fr}.membership-footer{grid-template-columns:1fr}.membership-footer>strong,.membership-footer>small{text-align:left}.set-edit-form{grid-template-columns:1fr 1fr}.set-edit-form label:last-of-type{grid-column:1/-1}}
@media(max-width:420px){.topbar{grid-template-columns:1fr auto 1fr}.top-clock{font-size:.86rem}.brand{justify-self:center}.set-entry>summary{grid-template-columns:1fr auto}.set-entry>summary span:last-child{grid-column:1/-1;text-align:left}.wisdom-grid{grid-template-columns:1fr}}
.finish-card .finish-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.finish-card .finish-metrics label{min-width:0}
/* Compact workout controls remain visible while the session is open. */
#kehitys{scroll-margin-top:76px}
.top-clock-left{justify-self:start;white-space:nowrap}
.workout-time{display:flex;align-items:baseline;justify-self:center;gap:.3rem;white-space:nowrap;line-height:1.2}
.workout-time-label{font-size:.72rem;font-weight:700;color:var(--muted)}
.header-clocks{display:grid;justify-self:end;justify-items:end;line-height:1.2}
.header-workout-clock{font-size:.8rem;color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap}
.topbar:has(.workout-time)>.back-link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-workout-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.header-workout-controls form{display:flex}
.header-workout-toggle{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border-color:#537360;border-radius:50%;background:#1b2b22;color:var(--green);font-size:1rem;line-height:1}
.header-workout-toggle.is-paused{border-color:var(--green);background:#1b5030;color:#effff4}
.header-workout-toggle:focus-visible{outline:3px solid #b4f4ca;outline-offset:2px}
.saliviisaus-bar{grid-column:1/-1;min-width:0;margin-top:8px;padding-top:7px;border-top:1px solid rgba(155,173,255,.24)}
.saliviisaus-bar [data-saliviisaus-link]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;min-height:28px;color:#dce3ff;font-size:.84rem;font-weight:700}
.saliviisaus-symbol{margin-top:.1em;color:#9badff;text-shadow:0 0 12px rgba(155,173,255,.65)}
.saliviisaus-bar [data-saliviisaus-text]{display:-webkit-box;min-height:2.6em;overflow:hidden;line-height:1.3;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;transition:opacity .35s ease}
.saliviisaus-bar.is-fading [data-saliviisaus-text]{opacity:0}
.saliviisaus-bar[data-kind="coach"] .saliviisaus-symbol{color:var(--green);text-shadow:0 0 12px rgba(112,228,158,.55)}
.saliviisaus-bar [data-saliviisaus-disabled]{cursor:default}
.saliviisaus-bar a:focus-visible{border-radius:5px;outline:2px solid #b8c4ff;outline-offset:3px}
.workout-exercise>summary{cursor:pointer;list-style:none}
.workout-exercise>summary::-webkit-details-marker{display:none}
.workout-exercise:not([open]){padding-block:12px}
.workout-exercise:not([open]) h2{margin-bottom:0}
.replacement-panel,.extra-set-panel{margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.replacement-panel>summary,.extra-set-panel>summary{cursor:pointer;font-weight:750}
.replacement-panel>form,.extra-set-panel>form{margin-top:10px}
.compact-replacement-panel{margin-top:10px;padding:0 12px}
.compact-replacement-panel>summary{display:flex;align-items:center;min-height:44px;padding:0;font-size:.9rem;line-height:1.2}
.compact-replacement-panel[open]{padding-bottom:12px}
.compact-replacement-panel>form{margin-top:0}
.coach-hint{margin:12px 0;padding:0 10px}
.coach-hint>summary{display:flex;align-items:center;gap:5px;min-height:44px;cursor:pointer;list-style:none;font-size:.9rem}
.coach-hint>summary::-webkit-details-marker{display:none}
.coach-hint>summary strong{flex:none}
.coach-hint>summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.coach-hint>summary::after{content:"▾";flex:none;margin-left:auto;color:var(--green)}
.coach-hint[open]>summary span{display:none}
.coach-hint[open]>summary::after{transform:rotate(180deg)}
.coach-hint>p{margin:0;padding:0 0 10px;line-height:1.4}
.replacement-guidance{display:grid;gap:9px;padding:11px 12px;border:1px solid #3f7955;border-radius:12px;background:#153b25}
.replacement-guidance[hidden]{display:none}
.replacement-guidance>strong{color:var(--green);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.replacement-guidance>p{margin:0;color:#dff3e5}
.replacement-guidance>.button-link{margin-top:0}
.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.equipment-grid label{display:flex;align-items:center;gap:8px;font-weight:500}
.equipment-grid input{width:20px;min-height:20px}
@media(max-width:420px){.equipment-grid{grid-template-columns:1fr}}
.exercise-summary-main{min-width:0}
.exercise-summary-main h2{overflow-wrap:anywhere}
.exercise-summary-target{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:254px}.exercise-target-item{display:grid;align-content:center;gap:1px;min-height:50px;padding:3px 10px;border:1px solid #537360;border-radius:12px;background:#101b15}.exercise-target-item small{color:#dce9df;font-size:.72rem;font-weight:750;line-height:1.1}.exercise-target-item strong{color:#fff;font-size:1.25rem;line-height:1.05;font-variant-numeric:tabular-nums}.workout-exercise .set-form{grid-template-columns:repeat(3,minmax(0,1fr))}.workout-exercise .set-form label{min-width:0;font-size:1rem}.workout-exercise .set-form input,.workout-exercise .set-form select{min-height:50px;font-size:1.1rem;font-weight:750}.workout-exercise .set-list strong{color:#fff;font-size:1rem}.workout-exercise .set-list>div span:first-child,.workout-exercise .set-entry>summary span:first-child{font-weight:800}
@media(max-width:600px){.workout-exercise>.exercise-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding-right:20px}.workout-exercise>.exercise-summary .exercise-summary-target{grid-row:2;width:auto;min-width:0;margin:0 -6px 0 14px}.workout-exercise>.exercise-summary .exercise-guide-link{font-size:.9rem;line-height:1.35}.workout-exercise .set-form{grid-template-columns:repeat(2,minmax(0,1fr))}.workout-exercise .set-form label:nth-of-type(3){grid-column:1/-1}}

.workout-exercise .set-list{gap:8px;border:0;border-radius:0;overflow:visible}
.workout-exercise .set-entry,.workout-exercise .set-entry-static{border:1px solid #3b5144;border-radius:13px;overflow:hidden;background:#111914}
.workout-exercise .set-entry>summary,.workout-exercise .set-entry-static{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 11px}
.workout-exercise .set-entry-static{grid-template-columns:auto minmax(0,1fr)}
.set-entry-state,.set-entry-result{display:flex;align-items:center;min-width:0;gap:5px;white-space:nowrap}
.set-entry-state small{color:var(--green);font-size:.9rem;font-weight:900}
.set-entry-result{justify-content:flex-end}
.set-entry-result strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.set-entry-result small{color:var(--muted);font-size:.78rem}
.workout-exercise .set-entry>summary .set-entry-action{grid-column:3;grid-row:1;color:#dce9df;font-weight:750;text-align:right}
.workout-exercise .set-entry[open] .set-entry-action{transform:rotate(180deg)}
.set-step-current{margin-top:14px;padding:13px;border:1px solid var(--green);border-radius:14px;background:#13251b}
.set-step-label{margin:0 0 9px;font-size:1rem;line-height:1.2}
.set-waiting-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.set-step-title{display:flex;align-items:center;gap:9px}
.set-step-title>span{color:var(--green);font-size:1.15rem;font-weight:900}
.set-step-status{color:var(--green);font-size:.86rem;font-weight:850}
.set-step-current .set-form{margin-top:0}
.set-waiting-list{display:grid;gap:7px;margin-top:9px}
.set-waiting-row{padding:10px 13px;border:1px solid #34453a;border-radius:12px;background:#111914;color:var(--muted)}
.set-waiting-row .set-step-title>span,.set-waiting-row .set-step-status{color:var(--muted)}

@media(max-width:600px){
  .workout-exercise .set-entry-result{grid-column:2;grid-row:1}
  .workout-exercise .set-entry-result small,.set-reps-word{display:none}
}
.membership-footer{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;padding:9px 12px;font-size:.82rem}
.membership-footer>strong,.membership-footer>small{text-align:left}
.wisdom-prompt{margin:12px 0 0;padding:10px 12px;border-left:3px solid #9badff;background:#121923}
.wisdom-volume{margin-top:12px;border:1px solid #445072;border-radius:12px;background:#121923}.wisdom-volume>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;cursor:pointer;font-weight:800}.wisdom-volume>summary strong{color:#c7d2ff;font-size:.88rem;text-align:right}.wisdom-volume-content{padding:0 12px 12px}.wisdom-volume-content p{margin:8px 0;font-size:.86rem}.wisdom-volume-list{display:grid;gap:6px;margin:12px 0}.wisdom-volume-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border-radius:9px;background:#1b2630}.wisdom-volume-list span{display:grid}.wisdom-volume-list small{color:var(--muted);font-size:.74rem}.wisdom-volume-list strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.9rem}
.wisdom-volume-info{margin-top:12px;border-top:1px solid #445072}.wisdom-volume-info>summary{padding:12px 2px;color:#b6c6ff;font-weight:800;cursor:pointer}.wisdom-volume-info>div{padding:0 2px 4px}.wisdom-volume-info p{margin:0 0 11px;line-height:1.5}.wisdom-volume-info p:last-child{margin-bottom:0}
.progress-wisdom{margin:0 0 14px;border:1px solid #445072;border-radius:12px;background:#121923}
.progress-wisdom>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;cursor:pointer;list-style:none;font-weight:850}
.progress-wisdom>summary::-webkit-details-marker{display:none}
.progress-wisdom>summary::after{content:"▾";color:#9badff}
.progress-wisdom[open]>summary::after{transform:rotate(180deg)}
.progress-wisdom>summary strong{margin-left:auto;color:#c7d2ff;font-size:.84rem;text-align:right}
.progress-wisdom-content{padding:0 12px 12px}
.workout-stage>summary{cursor:pointer;list-style:none}
.workout-stage>summary::-webkit-details-marker{display:none}
.warmup-card>summary>span:first-child{display:grid;gap:2px}
.warmup-stairs-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.warmup-stairs-fields>label{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
.warmup-extra{border:1px solid var(--line);border-radius:11px;background:#111914}
.warmup-extra>summary{display:flex;align-items:center;min-height:44px;padding:8px 12px;cursor:pointer;color:#dfe8e2;font-weight:800}
.warmup-extra[open]>summary{border-bottom:1px solid var(--line)}
.warmup-extra>.form-grid{padding:12px 12px 0}
.warmup-extra>label{padding:10px 12px 12px}
.warmup-point-name{display:block;color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}
.warmup-card>summary strong{font-size:1.12rem}
.warmup-card[open]>summary{margin-bottom:12px}
.warmup-edit-panel{margin-top:12px}
.warmup-edit-panel>summary{cursor:pointer;font-weight:750}
.warmup-edit-panel>form{margin-top:10px}
.stack-form>label[hidden],.compact-options[hidden]{display:none}
.coach-card{border-color:#506e5d;background:linear-gradient(145deg,#1d3025,#17221c)}
.coach-card p{margin:.45rem 0}
.coach-card .button-link{margin-top:7px}
.recovery-check{display:grid;gap:8px;margin:13px 0;padding:13px;border:1px solid #4b7159;border-radius:12px;background:#14241a}
.recovery-check p{margin:0;color:var(--muted);font-size:.88rem}
.recovery-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.recovery-choices button{min-height:50px;padding:8px 10px;background:#203128}
.recovery-choices button.is-selected{border-color:var(--green);background:#1b5030;color:#dfffea}
.active-program-status{margin:.15rem 0 0}.recovery-saved{display:grid;gap:3px;margin:13px 0;padding:11px 13px;border:1px solid #3f674d;border-radius:12px;background:#132219}
.recovery-saved>span{color:var(--muted);font-size:.78rem;font-weight:750}
.recovery-saved>strong{color:#dfffea}
.recovery-saved>details{margin-top:4px;border-top:1px solid #304d3a}
.recovery-saved>details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0 3px;color:#a8efc0;font-size:.86rem;cursor:pointer;list-style:none}.recovery-saved>details>summary::-webkit-details-marker{display:none}.recovery-saved>details>summary span{color:var(--muted);font-weight:650}.recovery-saved>details>summary strong{white-space:nowrap}
.recovery-edit-question{margin:10px 0 0;color:var(--text);font-weight:800}
.recovery-saved .recovery-choices{margin-top:8px}
.coach-ranking-title{margin:18px 0 8px;font-size:.95rem}.coach-ranking{display:grid;gap:7px;margin:0 0 16px;padding:0;list-style:none;counter-reset:none}
.coach-ranking-item{display:grid;grid-template-columns:30px 1fr;align-items:start;gap:10px;padding:9px 11px;border:1px solid #34453a;border-radius:11px;background:#111914}
.coach-ranking-item.is-top{border-color:#4eae75;background:#153b25}
.coach-ranking-item>span:last-child{display:grid;gap:2px}
.coach-ranking-item small{display:block;color:var(--muted);font-size:.8rem}
.coach-rank{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#263a2e;color:var(--green);font-weight:900}
.coach-override{margin-top:12px;padding:11px 12px;border:1px solid #5e5337;border-radius:12px;background:#241f14}
.coach-override>summary{cursor:pointer;color:#ffe2a0;font-weight:850}
.coach-override>p{margin:.65rem 0}
.compact-options{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#111914}
.compact-options p{margin:0}
.compact-preview-row{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#111914}.preview-plan-heading{display:grid;gap:2px}.preview-plan-heading>strong{font-size:1rem}.preview-plan-heading>span{color:var(--muted);font-size:.86rem}.preview-coach-choice{display:grid;gap:3px;padding:10px 11px;border:1px solid #3f7955;border-radius:11px;background:#153b25}.preview-coach-choice>strong{color:var(--green);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.preview-coach-choice>span{font-weight:750}.preview-coach-choice>small{color:#c6d6cb}.preview-exercise-guide{width:max-content;margin:.1rem 0}.preview-warning{margin:0;padding:10px 12px;border:1px solid #896f2c;border-radius:11px;background:#3a3015;color:#ffe5a0}
.workout-stage>summary{position:relative;padding-right:20px}
.workout-stage>summary::after{content:"▾";position:absolute;right:0;top:0;color:var(--green);font-size:1rem}
.workout-stage[open]>summary::after{transform:rotate(180deg)}
.header-rest{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid #4b8790;border-radius:12px;background:#173238}
.header-rest[hidden],.header-rest-actions [hidden]{display:none}
.header-rest-status{display:flex;align-items:center;gap:12px;color:#d7f7fa;font-weight:800}
.header-rest-status strong{font-size:1.45rem;font-variant-numeric:tabular-nums;color:#f0feff}
.header-rest-actions{display:flex;justify-content:flex-end;gap:8px}
.header-rest-actions button{min-height:44px;padding:7px 11px}
.header-rest.complete{border-color:#3e9b65;background:#173c28}
.header-rest.complete .header-rest-status{color:#a8efc0}
.header-rest.complete .header-rest-status strong{color:#edfff1}
.completed-today-card{border-color:#4eae75;background:radial-gradient(circle at 100% 0,rgba(94,218,137,.18),transparent 17rem),linear-gradient(145deg,#203a2b,#17271e)}
.completed-today-card .eyebrow{color:#a8f3bf}
.completed-today-card .button-link{border-color:#549f70;background:#1c5031}
.next-workout-panel{border-color:#456c80}
.next-workout-panel[open] ~ *{display:none}
.favorite-button{margin-top:10px;border-color:#8b713b;background:#302817;color:#ffe39b}
.next-workout-panel>summary,.progress-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;font-weight:850}
.next-workout-panel>summary::-webkit-details-marker,.progress-panel>summary::-webkit-details-marker{display:none}
.next-workout-panel>summary::after,.progress-panel>summary::after{content:"▾";color:#91d3f4}
.next-workout-panel[open]>summary::after,.progress-panel[open]>summary::after{transform:rotate(180deg)}
.next-workout-panel[open]>summary,.progress-panel[open]>summary{margin-bottom:14px}
@media(max-width:620px){.recovery-choices{grid-template-columns:1fr}.recovery-choices button{width:100%}}
.progress-panel{border-color:#527993;background:linear-gradient(145deg,#1d3137,#162421)}
.progress-panel>summary strong{color:#d2edff;font-size:1.15rem}
.progress-panel>summary span{margin-left:auto;color:#adc9d8;font-size:.82rem;font-weight:700;text-align:right}
.collapsible-section>summary{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:10px;list-style:none;cursor:pointer}
.collapsible-section>summary::-webkit-details-marker{display:none}
.collapsible-section>summary strong{flex-shrink:0;font-size:1.25rem;white-space:nowrap}
.collapsible-section>summary span{min-width:0;margin-left:auto;overflow:hidden;color:var(--muted);font-size:.8rem;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.collapsible-section>summary::after{content:"▾";color:var(--green)}
.collapsible-section[open]>summary::after{transform:rotate(180deg)}
.collapsible-section[open]>summary{margin-bottom:14px}
@media(max-width:520px){.header-rest{align-items:stretch;flex-direction:column}.header-rest-status{justify-content:center}.header-rest-actions{justify-content:stretch}.header-rest-actions button{flex:1}.progress-panel>summary span{font-size:.76rem}}
@media(max-width:520px){.saliviisaus-bar [data-saliviisaus-link]{font-size:.78rem}.progress-wisdom>summary{align-items:flex-start;flex-wrap:wrap}.progress-wisdom>summary strong{order:3;width:100%;margin-left:0;text-align:left}}
.cooldown-card{border-color:#4c8790;background:linear-gradient(145deg,#203539,#192b2b)}
.cooldown-card .eyebrow{color:#9fe3e9}
.cooldown-card p{margin:.45rem 0 1rem}
.cooldown-card small{display:block;margin-top:2px}
.cooldown-report{padding:10px 12px;border-left:3px solid #79cdd5;border-radius:5px;background:#172c30}

.inbody-extracted-text { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 20rem; overflow-y: auto; }

.measurement-subsection{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:#111914}
.measurement-subsection>summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;min-height:54px;padding:10px 12px;list-style:none;cursor:pointer}
.measurement-subsection>summary::-webkit-details-marker{display:none}
.measurement-subsection>summary strong{font-size:1.05rem}
.measurement-subsection>summary span{color:var(--muted);font-size:.82rem}
.measurement-subsection>summary::after{content:"▾";margin-left:auto;color:var(--green)}
.measurement-subsection[open]>summary::after{transform:rotate(180deg)}
.measurement-subsection-content{padding:0 12px 14px}
.measurement-subsection-content>h3:first-child{margin-top:4px}
@media(max-width:520px){.measurement-subsection>summary span{flex-basis:100%;order:3}}

.latest-body-weight{display:grid;gap:3px;margin:4px 0 16px;padding:13px;border:1px solid #37694a;border-radius:11px;background:#1b3023}
.latest-body-weight>strong{font-size:1.6rem;line-height:1.15}.latest-body-weight>small{color:var(--muted)}
.measurement-row>span:first-child{display:grid;gap:1px}.measurement-row>span:first-child small{font-size:.76rem;color:var(--muted)}
.measurement-list>.measurement-row,.measurement-history>.measurement-row{padding:6px 9px;line-height:1.25}
.measurement-history>.measurement-row{display:grid;grid-template-columns:1fr auto 1fr;gap:9px;background:#111914}
.measurement-history>.measurement-row span:last-child{text-align:right;color:var(--muted)}
.measurement-history>summary{padding:10px;text-align:center;color:var(--green);font-weight:750;cursor:pointer;background:#111914;list-style:none}
.measurement-history>summary::-webkit-details-marker{display:none}
.measurement-history>summary .show-less,.measurement-history[open]>summary .show-more{display:none}
.measurement-history[open]>summary .show-less{display:inline}
.inbody-pending{padding:11px 12px;border:1px solid #8b713b;border-radius:10px;background:#302817}
.inbody-latest{margin:4px 0 14px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#17221c}
.inbody-latest h3{margin:3px 0}.inbody-latest p{margin:7px 0 0}
.inbody-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:12px}
.inbody-values>div{display:grid;gap:3px;padding:9px;border-radius:8px;background:#111914}
.inbody-values strong{font-size:1.1rem}
.inbody-comparison{margin:12px 0;border:1px solid var(--line);border-radius:10px}
.inbody-comparison>summary{padding:11px 12px;cursor:pointer;font-weight:750}
.inbody-comparison>div{padding:0 12px 12px}
.inbody-comparison-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.inbody-comparison-row strong{text-align:right}
.inbody-report-list{display:grid;gap:8px;margin:12px 0}
.inbody-report-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#111914}
.inbody-report-row span{flex:1 1 180px}.inbody-report-row a{white-space:nowrap}
.inbody-report-row form{margin:0 0 0 auto}
.inbody-delete-button{display:grid;place-items:center;width:44px;min-height:44px;margin:0;padding:0;border:1px solid #7a4242;border-radius:9px;background:#291a1a;color:#ffb1b1;cursor:pointer}
.inbody-delete-button:hover,.inbody-delete-button:focus-visible{background:#402020;border-color:#d36b6b}


.hold-timer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;grid-column:1/-1;padding:10px 0}.hold-timer strong{min-width:65px;font-variant-numeric:tabular-nums;font-size:1.3rem}.hold-timer button{flex:1 1 145px}.hold-timer button:disabled{opacity:.55;cursor:default}.progress-table.timed-progress-table>div{grid-template-columns:1fr 1fr}.progress-table.timed-progress-table>div span:last-child{text-align:right}
.progress-table.timed-progress-table>div span:last-child{display:inline}

/* Five primary destinations stay reachable on mobile without crowding a workout. */
.has-gym-bottom-nav .page{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
.gym-bottom-nav{position:fixed;z-index:20;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--line);background:rgba(13,18,16,.97);backdrop-filter:blur(14px)}
.gym-bottom-nav a{display:grid;justify-items:center;align-content:center;gap:3px;min-width:0;min-height:54px;border-radius:10px;color:var(--muted);text-align:center;text-decoration:none;font-size:clamp(.62rem,2.8vw,.78rem);font-weight:750;white-space:nowrap}
.gym-bottom-nav svg{width:21px;height:21px}
.gym-bottom-nav a.is-current{background:#193b28;color:var(--green)}
.gym-bottom-nav a:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
@media(min-width:760px){.gym-bottom-nav{left:50%;right:auto;width:min(750px,100%);transform:translateX(-50%);border:1px solid var(--line);border-bottom:0;border-radius:15px 15px 0 0}}
.section-title{margin:0 0 10px;font-size:clamp(1.4rem,5vw,1.8rem);line-height:1.2}

.profile-page-title{margin:15px 4px 8px;font-size:clamp(1.5rem,5vw,2rem)}
.profile-section{scroll-margin-top:100px}
.profile-section>summary{display:flex;align-items:center;gap:8px;min-height:48px;cursor:pointer;list-style:none}
.profile-section>summary::-webkit-details-marker{display:none}
.profile-section>summary strong{font-size:1.1rem}
.profile-section>summary span{margin-left:auto;color:var(--muted);font-size:.82rem;text-align:right}
.profile-section>summary::after{content:"▾";color:var(--green)}
.profile-section[open]>summary::after{transform:rotate(180deg)}
.profile-section[open]>summary{margin-bottom:16px}
.profile-section-content{margin-top:8px}
@media(max-width:520px){.profile-section>summary{flex-wrap:wrap}.profile-section>summary span{flex-basis:100%;order:3;margin-left:0;text-align:left}}

.profile-extra-list{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#111914}
.profile-extra-list>summary{min-height:38px;cursor:pointer;font-weight:800}
.profile-extra-list[open]>summary{margin-bottom:10px}
.profile-extra-list>.equipment-grid{margin-bottom:10px}
.profile-extra-list>p{margin:8px 0 0}
.home-equipment-detail,.home-warmup-detail{margin-top:4px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#111914}
.home-equipment-detail[hidden]{display:none}
.home-equipment-detail>summary,.home-warmup-detail>summary{display:flex;align-items:center;gap:8px;min-height:38px;cursor:pointer;list-style:none;font-weight:800}
.home-equipment-detail>summary::-webkit-details-marker,.home-warmup-detail>summary::-webkit-details-marker{display:none}
.home-equipment-detail>summary span,.home-warmup-detail>summary span{margin-left:auto;color:var(--muted);font-size:.78rem;font-weight:500;text-align:right}
.home-equipment-detail>summary::after,.home-warmup-detail>summary::after{content:"▾";color:var(--green)}
.home-equipment-detail[open]>summary::after,.home-warmup-detail[open]>summary::after{transform:rotate(180deg)}
.equipment-detail-content{display:grid;gap:10px;padding-top:12px}
.equipment-detail-content p{margin:0}
.equipment-entries{display:grid;gap:8px}
.equipment-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}
.equipment-entry button{min-height:44px}
.home-warmup-detail>.equipment-grid{padding-top:12px}
@media(max-width:520px){.home-equipment-detail>summary,.home-warmup-detail>summary{flex-wrap:wrap}.home-equipment-detail>summary span,.home-warmup-detail>summary span{flex-basis:100%;order:3;margin-left:0;text-align:left}}

[data-home-program-equipment][hidden], [data-home-goal-note][hidden]{display:none}

.recent-workouts-shortcut{display:inline-flex;align-items:center;min-height:44px;color:var(--green);font-size:.9rem;font-weight:800;text-decoration:none}
.recent-workouts-shortcut:hover{text-decoration:underline}
.recent-workouts-shortcut:focus-visible{outline:2px solid var(--green);outline-offset:3px}
#treenivalinta{scroll-margin-top:96px}

/* Porraskoneen tuloksille riittävät päivä, kesto ja taso/askelmäärä. */
.warmup-table.stairs-progress-table>div{grid-template-columns:1fr .7fr 1.3fr}.stairs-progress-table small{display:block;color:var(--muted)}

/* Shared rhythm for the five main pages, based on the daily view. */
.section-hero{padding:18px 4px 8px}
.section-hero h1{margin:.12em 0;font-size:clamp(1.9rem,7vw,3rem)}
.section-hero p:last-child{margin-bottom:0}
.page-leading-card,.progress-panel.page-leading-card,#profiili-perustiedot{border-color:#3e7653;background:linear-gradient(145deg,rgba(29,40,34,.96),rgba(20,29,24,.96))}
.page-leading-card>h2{margin:.1rem 0 .5rem;font-size:1.25rem}
.page-leading-card>p.muted:first-child{margin-top:0}
@media(max-width:420px){.section-hero{padding:14px 4px 6px}}

.blood-pressure-latest{display:grid;gap:3px;margin:4px 0 16px;padding:13px;border:1px solid #37694a;border-radius:11px;background:#1b3023}
.blood-pressure-latest>strong{font-size:1.6rem;line-height:1.15;font-variant-numeric:tabular-nums}
.blood-pressure-latest>strong small{font-size:.85rem;font-weight:700}
.blood-pressure-latest>span:last-of-type{color:var(--muted);font-size:.88rem}
.blood-pressure-latest>p{margin:5px 0;overflow-wrap:anywhere}
.blood-pressure-latest>form{margin-top:6px}
.blood-pressure-list{display:grid;gap:7px}
.blood-pressure-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#111914}
.blood-pressure-row>span,.blood-pressure-row>strong{display:grid;gap:2px;min-width:0}
.blood-pressure-row>span small,.blood-pressure-row>strong small{color:var(--muted);font-size:.78rem;font-weight:500;overflow-wrap:anywhere}
.blood-pressure-row>strong{font-variant-numeric:tabular-nums}
.blood-pressure-row form{margin:0}
.blood-pressure-row button{min-height:40px}
.blood-pressure-history>.blood-pressure-row{margin:7px 0}
@media(max-width:520px){.blood-pressure-row{grid-template-columns:minmax(0,1fr) auto}.blood-pressure-row>strong{grid-column:1;grid-row:2}.blood-pressure-row form{grid-column:2;grid-row:1/3}}

.fitness-tests{margin:14px 0;border:1px solid #3e7653;border-radius:13px;background:#14241a;scroll-margin-top:100px}
.fitness-tests>summary,.fitness-test-type>summary{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 12px;cursor:pointer;list-style:none}
.fitness-tests>summary::-webkit-details-marker,.fitness-test-type>summary::-webkit-details-marker{display:none}
.fitness-tests>summary strong,.fitness-test-type>summary strong{font-size:1.05rem}
.fitness-tests>summary span,.fitness-test-type>summary span{margin-left:auto;color:var(--muted);font-size:.8rem;text-align:right}
.fitness-tests>summary::after,.fitness-test-type>summary::after{content:"▾";color:var(--green)}
.fitness-tests[open]>summary::after,.fitness-test-type[open]>summary::after{transform:rotate(180deg)}
.fitness-tests-content{padding:0 12px 12px}
.fitness-tests-content>p{margin:0 0 12px}
.fitness-test-type{margin-top:9px;border:1px solid var(--line);border-radius:11px;background:#111914;scroll-margin-top:100px}
.fitness-test-type-content{padding:0 12px 12px}
.fitness-test-type-content>p:first-child{margin:0 0 12px}
.fitness-test-time{margin:0;padding:9px 11px;border:1px solid var(--line);border-radius:11px}
.fitness-test-time legend{padding:0 4px;color:#dbe5de;font-size:.88rem;font-weight:700}
.fitness-test-form{margin-bottom:15px}
.fitness-test-entry{margin-top:9px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#17211a}
.fitness-test-entry-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fitness-test-entry-head form{margin:0}
.fitness-test-entry-head button{min-height:40px}
.fitness-test-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}
.fitness-test-results>div{display:grid;gap:2px;padding:9px;border-radius:9px;background:#101813}
.fitness-test-results span,.fitness-test-results small{color:var(--muted);font-size:.78rem}
.fitness-test-results strong{font-size:1.08rem;font-variant-numeric:tabular-nums}
.fitness-test-results .fitness-test-trend{color:var(--text);font-weight:750}
.fitness-test-entry>p{margin:8px 0 0;font-size:.85rem;overflow-wrap:anywhere}
.fitness-test-history h4{margin:17px 0 8px}
.fitness-test-more>.fitness-test-entry{margin:8px 0}
@media(max-width:520px){.fitness-tests>summary,.fitness-test-type>summary{flex-wrap:wrap}.fitness-tests>summary span,.fitness-test-type>summary span{order:3;flex-basis:100%;margin-left:0;text-align:left}.fitness-test-results{grid-template-columns:1fr}}

.workout-calendar-card{overflow:hidden}
.workout-calendar-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;align-items:center;gap:8px;margin:0 0 8px}
.workout-calendar-toolbar h1{margin:0;min-width:0;text-align:center;font-size:1.15rem;line-height:1.15}
.workout-calendar-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;color:var(--green);text-decoration:none;font-size:1.8rem;line-height:1}
.workout-calendar-arrow:hover,.workout-calendar-arrow:focus-visible{border-color:var(--green);background:#203326}
.workout-calendar-jump{position:relative;z-index:2}
.workout-calendar-jump>summary{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;color:var(--green);cursor:pointer;list-style:none}
.workout-calendar-jump>summary::-webkit-details-marker{display:none}
.workout-calendar-jump>summary:hover,.workout-calendar-jump>summary:focus-visible,.workout-calendar-jump[open]>summary{border-color:var(--green);background:#203326}
.workout-calendar-jump>form{position:absolute;right:0;top:calc(100% + 8px);display:grid;gap:8px;width:min(270px,calc(100vw - 42px));padding:12px;border:1px solid #3e7653;border-radius:12px;background:#19251d;box-shadow:0 12px 24px rgba(0,0,0,.4)}
.workout-calendar-jump label{font-size:.82rem;color:var(--muted)}
.workout-calendar-jump input,.workout-calendar-jump button{min-height:44px}
.workout-calendar-summary{margin:0;flex:1 1 180px}
.workout-calendar-summary a{color:var(--green);font-weight:700}
.workout-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.workout-calendar-weekday{text-align:center;font-size:.8rem;font-weight:700;color:var(--muted);padding:7px 0}
.workout-calendar-day,.workout-calendar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:58px;border:1px solid var(--line);border-radius:10px;font-variant-numeric:tabular-nums}
.workout-calendar-empty{border-color:transparent}
.workout-calendar-day{color:var(--muted)}
a.workout-calendar-day{color:var(--text);text-decoration:none;background:#1c2b21;font-weight:700}
a.workout-calendar-day:hover,a.workout-calendar-day:focus-visible{border-color:var(--green);background:#263e2e}
a.workout-calendar-day.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#254430}
.workout-calendar-day.today>span:first-child{text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:4px}
.workout-calendar-dots{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:8px}
.workout-calendar-dots i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green)}
.workout-calendar-dots i.aerobic{background:#74add8}
.workout-calendar-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:10px 0 14px}
.workout-calendar-legend{display:flex;align-items:center;gap:5px;margin:0;flex:1 1 100%;font-size:.8rem}
.workout-calendar-legend .workout-calendar-dots:not(:first-child){margin-left:12px}
.workout-calendar-details{border-top:1px solid var(--line);padding-top:14px;scroll-margin-top:85px}
.workout-calendar-details h3{margin:0 0 12px;font-size:1.08rem}
@media(max-width:600px){.workout-calendar{gap:3px}.workout-calendar-weekday{padding-block:4px}.workout-calendar-day,.workout-calendar-empty{min-height:49px;border-radius:7px}}

.workout-calendar-day.today{border-color:var(--green);color:var(--text);font-weight:800}
.workout-calendar-day.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#254430;color:var(--text)}

.workout-calendar-dots{flex-wrap:wrap;max-width:100%;gap:3px}
.workout-calendar-dots i.walk_test{background:#b6a1ee}
.workout-calendar-dots i.cooper_test{background:#85c5e5}
.workout-calendar-dots i.strength_test{background:#e7b469}
.workout-calendar-dots i.pressure{background:#ed929d}
.workout-calendar-dots i.illness{background:#b4b9bf}
.workout-calendar-legend{flex-wrap:wrap;column-gap:12px;row-gap:5px}
.workout-calendar-legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}

.calendar-summary-dialog{width:min(500px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:20px;border:1px solid #4d8060;border-radius:18px;background:#17231b;color:var(--text);box-shadow:0 24px 70px #0009;animation:calendar-summary-in .18s ease-out}
.calendar-summary-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}
.calendar-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.calendar-summary-head h2{margin:4px 0 0;font-size:1.35rem;line-height:1.2}
.calendar-summary-head form{margin:0}
.calendar-summary-close{display:grid;place-items:center;width:44px;height:44px;min-width:44px;margin:-7px -7px 0 0;padding:0;border:1px solid var(--line);border-radius:10px;background:#26362b;color:var(--text);font-size:1.6rem;line-height:1;cursor:pointer}
.calendar-summary-close:hover,.calendar-summary-close:focus-visible{border-color:var(--green);color:var(--green)}
.calendar-summary-dialog>.muted{margin:8px 0 15px}
.calendar-summary-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.calendar-summary-facts>div{display:grid;gap:2px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#101914}
.calendar-summary-facts small{font-size:.78rem;color:var(--muted)}
.calendar-summary-facts strong{font-size:1.05rem;font-variant-numeric:tabular-nums}
.calendar-summary-dialog h3{margin:18px 0 7px;font-size:1rem}
.calendar-summary-exercises{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.calendar-summary-exercises li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.calendar-summary-exercises small{color:var(--muted);white-space:nowrap}
.calendar-summary-notes{margin:15px 0 0;color:var(--muted);overflow-wrap:anywhere}
.calendar-summary-full{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:18px;text-decoration:none}
@keyframes calendar-summary-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.calendar-summary-dialog{animation:none}}

.report-extra{margin-top:18px;padding:15px 0 0;border-top:1px solid var(--line);scroll-margin-top:90px}
.report-extra h3{margin:0 0 5px;font-size:1rem}
.report-extra>p{margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere}
.report-extra-editor{margin-top:5px}
.report-extra-editor>summary{display:inline-flex;align-items:center;min-height:42px;color:var(--green);font-size:.88rem;font-weight:700;cursor:pointer;list-style:none}
.report-extra-editor>summary::-webkit-details-marker{display:none}
.report-extra-editor>summary:hover{text-decoration:underline}
.report-extra-editor>summary:focus-visible,.report-return:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
.report-extra-editor>form{max-width:580px;margin-top:7px}
.report-extra-editor textarea{resize:vertical}
.report-extra-editor button{justify-self:start;width:auto;min-height:42px;padding:8px 14px}
.report-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.report-actions form{margin:0}
.report-return{display:inline-flex;align-items:center;min-height:44px;color:var(--green);font-size:.9rem;font-weight:700;text-decoration:none}
.report-return:hover{text-decoration:underline}
.report-delete-button{width:auto;min-height:40px;padding:7px 12px;border:1px solid #775353;border-radius:9px;background:transparent;color:#e9aaaa;font-size:.86rem;font-weight:650}
.report-delete-button:hover,.report-delete-button:focus-visible{border-color:#db8b8b;background:#3b2222;color:#ffe4e4}

.calendar-summary-notes h3{margin:0 0 4px;color:var(--text)}
.calendar-summary-notes p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}

.calendar-summary-coach{margin-top:16px;padding:12px 14px;border:1px solid #3d7050;border-radius:11px;background:#13271b}
.calendar-summary-coach h3{margin:0 0 6px;color:var(--green)}
.calendar-summary-coach p{margin:0 0 6px;line-height:1.42}
.calendar-summary-coach p:last-child{margin-bottom:0;color:#d2e7d9}

.workout-calendar-meta .recent-workouts-shortcut{margin-left:auto;min-height:36px}

.workout-exercise .dumbbell-weight-help{grid-column:1/-1;display:block;margin:0;color:var(--muted);font-size:.82rem;font-weight:600}

/* The layout viewport shrinks with the keyboard, so the sticky bar remains visible. */
.topbar.rest-input-mode{background:#0d1210;backdrop-filter:none}
.topbar.rest-input-mode .header-rest{min-height:38px;margin-top:5px;padding:5px 10px}
.topbar.rest-input-mode .header-rest-status{justify-content:center;width:100%;gap:8px;font-size:.86rem}
.topbar.rest-input-mode .header-rest-status strong{font-size:1rem}
.topbar.rest-input-mode .header-rest-actions{display:none}

.header-rest-status{min-width:0}
.header-rest-copy{display:grid;min-width:0;line-height:1.25}
.header-rest-next{max-width:100%;overflow-wrap:anywhere;color:#f0feff;font-size:.84rem}
.header-rest-next[hidden]{display:none}
@media(max-width:520px){.header-rest-status{width:100%;justify-content:space-between}.header-rest-copy{flex:1}.header-rest-next{font-size:.8rem}}
.topbar.rest-input-mode .header-rest-copy{min-width:0;max-width:calc(100% - 60px)}
.topbar.rest-input-mode .header-rest-next{font-size:.72rem}

.header-rest.ending{border-color:#ffd478;background:#373019}
.header-rest.ending .header-rest-status,.header-rest.ending .header-rest-next{color:#fff0b8}
.header-rest.ending .header-rest-status strong{color:#fff7d7;animation:rest-ending-pulse 1s ease-in-out infinite}
@keyframes rest-ending-pulse{50%{opacity:.45}}
@media(prefers-reduced-motion:reduce){.header-rest.ending .header-rest-status strong{animation:none}}

.message.success.is-dismissing{height:0!important;opacity:0;overflow:hidden;margin-block:0;padding-block:0;border-width:0;transition:height .2s ease,opacity .2s ease,margin .2s ease,padding .2s ease,border-width .2s ease}
#alkulammittely,#lopeta-treeni{scroll-margin-top:90px}
.pullup-entry{grid-column:1/-1;display:grid;gap:8px}
.pullup-choices,.pullup-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pullup-entry [hidden]{display:none}
.pullup-entry label{min-width:0}
.pullup-legacy-note{grid-column:1/-1}
@media(max-width:380px){.pullup-choices{grid-template-columns:1fr}}

.pullup-progress-group { border: 1px solid var(--border, #476053); border-radius: 12px; padding: .8rem; margin: .8rem 0; }
.pullup-progress-group summary { display: flex; justify-content: space-between; gap: .8rem; cursor: pointer; }
.pullup-progress-group summary span { color: var(--muted, #a9b5ad); white-space: nowrap; }
.pullup-progress-group .chart-wrap { margin-top: 1rem; }
.pullup-progress-group .progress-table { margin-top: .8rem; }

.pullup-guide-picker .form-grid [hidden] { display: none; }
