@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#203e35;--muted:#748078;--paper:#f6f7f2;--line:#dce2d8;--lime:#d8ee94}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8baf45;outline-offset:4px}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);gap:24px}.brand{font:800 25px Manrope,sans-serif;text-decoration:none;color:var(--ink);display:flex;gap:10px;align-items:center}.brand-dot{color:#8ca95c}nav{display:flex;gap:6px}nav button{padding:12px 18px;border-radius:30px;color:var(--muted)}nav .active{background:#e7ecdf;color:var(--ink)}.header-note,.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:700}.header-note{color:var(--muted);font-size:9px}main{max-width:1320px;margin:38px auto 70px;padding:0 5%}.eyebrow{color:#718366}.intro{display:flex;justify-content:space-between;align-items:center;margin:25px 0 40px}h1{font:500 clamp(36px,4.2vw,59px)/1.12 Manrope,sans-serif;letter-spacing:-2.5px;margin:12px 0 20px}h1 em{font-style:normal;color:#7a8b63}p{line-height:1.7}h2{font:700 25px Manrope,sans-serif;letter-spacing:-.8px;margin:15px 0 8px}h3{font-size:19px}.intro p,.muted{color:var(--muted)}.weekly-mini{border-left:1px solid var(--line);padding:10px 0 10px 40px;min-width:240px}.weekly-mini>span{font-size:10px;color:var(--muted);letter-spacing:1px}.weekly-mini strong{display:block;font:500 40px Manrope;margin:10px 0}.weekly-mini small{font-size:16px}#week-dots{display:flex;gap:9px;margin:12px 0}#week-dots span{width:22px;height:22px;border-radius:50%;background:#e5e9df;font-size:9px;display:grid;place-items:center}#week-dots .done{background:var(--ink);color:white}.workout-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px}.workout,.panel{border:1px solid var(--line);border-radius:18px;background:#fff;padding:28px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.pill{font-size:9px;background:#eef2e8;padding:7px 10px;border-radius:20px;color:#70815e;letter-spacing:.5px}.duration{display:flex;flex-wrap:wrap;align-items:center;gap:15px;background:#f5f6f0;border-radius:12px;padding:16px;margin:24px 0}.duration>span{font-size:12px;font-weight:600}.duration button{padding:8px 10px;border-radius:8px}.duration button.selected{background:var(--ink);color:white}.duration label{font-size:11px;color:var(--muted)}input,select{border:1px solid var(--line);border-radius:7px;padding:9px;background:white;color:var(--ink)}#minutes{width:57px;padding:6px}.plan-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line)}.warmup{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:19px 0}.warmup span{color:var(--muted)}.exercise{display:flex;gap:18px;padding:17px 0;border-bottom:1px solid #edf0e8;align-items:center}.exercise-art{width:98px;height:85px;flex-shrink:0;background:#eef2e8;border-radius:12px;display:grid;place-items:center}.exercise svg{width:90px;height:75px}.exercise h3{font-size:16px;margin:0 0 6px}.exercise p{font-size:12px;color:var(--muted);margin:0}.exercise small{display:block;margin-top:5px;color:#8a957e;font-size:10px}.exercise .num{margin-left:auto;font-size:12px;color:#96a18d}.start-card{background:var(--ink);color:#f6f9ee;border-radius:18px;padding:30px;text-align:center}.start-card .eyebrow{color:#b5c59f}.clock-art{font-size:100px;color:var(--lime);line-height:1.5}.start-card h2{font-size:29px;line-height:1.3}.start-card p{color:#becbc1;font-size:13px;margin:20px 0 28px}.primary{background:var(--lime);color:var(--ink);border-radius:10px;padding:16px 24px;font-weight:700}.start-card .primary{width:100%;display:flex;justify-content:space-between;margin-bottom:15px}.small{font-size:11px;color:var(--muted);line-height:1.8}.start-card .small{color:#aabfa9}.equipment-note{padding:28px 12px}.equipment-note>span{font-size:10px;letter-spacing:1px;color:var(--muted)}.equipment-note p{color:var(--muted);font-size:13px}.text-btn{font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.gear-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0 35px}.gear-item{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:10px}.gear-item input[type=text]{margin-left:auto;max-width:150px;width:40%}.panel{max-width:1000px}.panel>label{display:block;margin:20px 0}.panel select{margin-left:15px}.week-nav{display:flex;align-items:center;gap:18px;margin:30px 0}.week-nav button{background:#e7ecdf;border-radius:50%;padding:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.stats section{border:1px solid var(--line);border-radius:15px;padding:25px;background:#edf1e4}.stats span{font-size:10px;letter-spacing:1px}.stats strong{display:block;font-size:35px;margin-top:12px}.stats section:last-child strong{font-size:23px}.diary-row{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding:20px 0}.diary-row>div{flex:1}.diary-row small{display:block;color:var(--muted);margin-top:6px}.diary-row button{font-size:12px;text-decoration:underline}dialog{border:1px solid var(--line);border-radius:20px;color:var(--ink);padding:32px;width:min(95vw,550px);max-height:96vh;overflow:auto;background:var(--paper)}dialog::backdrop{background:#122d27df}#player{width:min(95vw,1000px);text-align:center}.player-top{display:flex;justify-content:space-between;margin-bottom:28px}#move-art svg{height:150px;width:190px}#countdown{font:800 clamp(70px,12vw,125px)/1.1 Manrope;font-variant-numeric:tabular-nums}#move-name{font-size:32px}#move-cue{font-size:16px}.player-actions{display:flex;gap:15px;justify-content:center;margin-top:25px}.player-actions button:not(.primary){border:1px solid var(--line);padding:12px;border-radius:9px}.progress{height:6px;background:#dce3d4;border-radius:5px;margin-top:25px}#progress-fill{background:#6e8a4a;height:100%;width:0;border-radius:5px}#session-progress{color:var(--muted);font-size:12px}form label{display:grid;gap:8px;margin:18px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:15px 25px;border-radius:12px;display:none;z-index:5}footer{display:flex;justify-content:space-between;padding:25px 5%;border-top:1px solid var(--line);font-weight:700}footer span{font-weight:400;font-size:11px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:900px){.header-note{display:none}.workout-layout{grid-template-columns:1fr 280px}.weekly-mini{min-width:190px;padding-left:20px}.duration{gap:8px}.workout{padding:20px}}@media(max-width:700px){header{height:auto;padding:20px 5%;flex-wrap:wrap;gap:18px}.brand{font-size:23px}nav{width:100%;justify-content:space-between}nav button{font-size:13px;padding:10px}main{margin-top:27px}.intro{display:block;margin-bottom:28px}h1{letter-spacing:-1.5px}.intro p{font-size:13px}.weekly-mini{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:25px}.weekly-mini strong{font-size:28px;display:inline-block;margin-right:20px}#week-dots{display:inline-flex}.weekly-mini>span:last-child{display:block}.workout-layout{display:flex;flex-direction:column}.workout-layout aside{order:-1}.start-card{text-align:left;padding:24px}.clock-art,.start-card p,.start-card>.small{display:none}.start-card h2{font-size:23px;margin:12px 0 20px}.start-card h2 br{display:none}.start-card .primary{margin:0}.equipment-note{display:none}.section-top{flex-wrap:wrap}.workout h2{font-size:23px}.warmup{flex-direction:column}.exercise-art{width:75px}.exercise svg{width:75px}.gear-grid{grid-template-columns:1fr}.panel{padding:22px}.stats{gap:8px}.stats section{padding:15px 10px}.stats strong{font-size:29px}.stats section:last-child strong{font-size:16px}.diary-row{gap:10px;flex-wrap:wrap}.player-top .brand{font-size:17px}.player-actions{gap:8px}.player-actions button{font-size:13px;padding:12px}.player-top{margin-bottom:20px}footer span{max-width:170px;text-align:right}}

.level-picker{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#f9faf6}.level-picker label{font-weight:700;margin-right:16px}.level-picker select{max-width:100%}.level-picker p{margin:10px 0 3px;color:var(--muted);font-size:13px}.level-picker small{font-size:11px;color:var(--muted)}

#player .player-actions{flex-wrap:wrap}#cancel-session{color:#8a3d30;border-color:#d9b9af!important}

.wod-options{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:18px 0}.weight-switch{display:flex;align-items:center;gap:9px;font-weight:600}.weight-switch input{accent-color:var(--ink);width:19px;height:19px}.wod-buttons{display:flex;flex-wrap:wrap;gap:10px;width:100%}.wod-buttons button{background:#e6edd9;border:1px solid #cbd8b8;border-radius:9px;padding:11px 17px;font-weight:600}.wod-buttons #daily-wod{background:transparent}

.arms-options{padding:18px;margin-top:16px;background:#eef3e5;border:1px solid #d4dfc5;border-radius:12px}.arms-options>label{display:flex;align-items:center;gap:12px;margin-bottom:12px}.arms-options select{max-width:100%}.arms-options p{margin:5px 0}

.cardio-options,.cardio-preview{padding:18px;border:1px solid var(--line);border-radius:12px;margin-top:16px;background:#edf3ed}.cardio-options p,.cardio-preview p{font-size:12px;color:var(--muted);margin:8px 0}.cardio-preview small{font-size:11px;color:var(--muted)}

.sync-header{background:#e7ecdf;border-radius:24px;padding:11px 17px;font-size:12px;white-space:nowrap}.sync-panel{margin-bottom:24px}.sync-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}#sync-status{color:var(--muted)}#sync-auth-error{color:#9b4032;font-size:13px}.sync-actions button:disabled{opacity:.65;cursor:default}@media(max-width:700px){header>.sync-header{position:absolute;right:5%;top:20px}.sync-actions .primary{padding:13px 18px}}
