:root{--navy:#102447;--blue:#225bd7;--lightblue:#e0f4ff;--sky:#f2f9ff;--yellow:#ffda5c;--coral:#ff6d7c;--green:#d4f7d5;--violet:#eaddff;--ink:#122849;--muted:#63738b;--border:#e6edf7;--white:#fff;--radius:22px;--shadow:0 8px 27px rgba(19,49,97,.07)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:#edf5fc;color:var(--ink);font:16px/1.48 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overscroll-behavior-y:contain}button,select,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #328bff;outline-offset:3px}[hidden]{display:none!important}.app-shell{max-width:540px;margin:0 auto;min-height:100svh;background:#f8fbff;position:relative;box-shadow:0 0 48px rgba(22,48,95,.08);padding-bottom:calc(92px + env(safe-area-inset-bottom))}.app-header{height:76px;display:flex;align-items:center;gap:12px;background:var(--navy);padding:0 20px;color:#fff;position:sticky;top:0;z-index:10}.brand-mark{width:42px;height:42px;border-radius:13px;background:var(--yellow);color:var(--navy);display:grid;place-items:center;flex:none}.brand-mark svg{width:32px;height:32px}.brand-copy{display:flex;flex-direction:column;line-height:1.05;letter-spacing:.03em}.brand-copy strong{font-size:15px;font-weight:950}.brand-copy span{font-size:12px;color:#b8d5ff;margin-top:5px;font-weight:850;letter-spacing:.11em}.header-detail{margin-left:auto;white-space:nowrap;font-size:10px;letter-spacing:.05em;border:1px solid #577199;padding:6px 8px;border-radius:20px;font-weight:900;color:#dce8ff}.view{display:none;padding:16px 16px 32px;animation:appear .22s ease}.view.active{display:block}@keyframes appear{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.14;letter-spacing:-.035em}h1{font-size:clamp(36px,9vw,46px);font-weight:950;margin:4px 0 14px}h1 em{font-style:normal;color:#2262d2}h2{font-size:21px;font-weight:900;margin:0 0 8px}h3{font-size:17px;font-weight:900;margin:0 0 6px}p{margin-bottom:0}.surface{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.overline,.eyebrow{letter-spacing:.10em;font-size:11px;font-weight:950;color:#5476a3;margin-bottom:7px}.muted{color:var(--muted);font-size:14px}.hero{background:linear-gradient(135deg,#d7f2ff 0%,#e2f5ff 60%,#fff0b3 100%);border-radius:25px;padding:25px 23px;min-height:230px;position:relative;overflow:hidden;margin-bottom:13px}.hero>*:not(.hero-decoration){position:relative;z-index:1}.hero .eyebrow{display:inline-block;background:var(--yellow);border-radius:30px;padding:6px 10px;color:var(--navy)}.hero h1{margin:10px 0 12px}.hero p{font-size:14px;color:#3e5677;max-width:275px;font-weight:550}.hero-decoration{font-size:182px;line-height:1;position:absolute;right:-35px;bottom:-66px;color:#82c6e7;opacity:.42;transform:rotate(20deg)}.progress-card{margin-bottom:13px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.progress-number{color:#165ad0;font-size:35px;font-weight:950;line-height:1;letter-spacing:-.06em}.progress-number span{font-size:15px;color:#92a6bd;letter-spacing:0}.progress-track{height:11px;background:#eaf0fa;border-radius:20px;overflow:hidden;margin:15px 0 11px}.progress-track div{background:linear-gradient(90deg,#3270e6,#65caa0);height:100%;border-radius:20px;width:0;transition:width .25s}.next-run{margin-bottom:20px;border-color:#b4dcff;background:linear-gradient(145deg,#fff 70%,#eff9ff)}.pill{font-size:11px;letter-spacing:.035em;background:#e8f3ff;color:#1856a9;padding:6px 9px;border-radius:30px;white-space:nowrap;font-weight:950}.interval-preview{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.interval-preview span{font-size:12px;border-radius:10px;background:#edf6ff;color:#255580;padding:8px 10px;font-weight:850}.interval-preview span:nth-child(2){background:#fff0ad;color:#705206}.rest-message{font-size:13px;color:#486a90;margin:0 0 14px}.rest-message:empty{display:none}.primary-btn,.outline-btn,.secondary-btn{border:0;border-radius:14px;min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-weight:900}.primary-btn{background:var(--navy);color:white;box-shadow:0 5px 0 #07152e}.primary-btn:active{transform:translateY(2px);box-shadow:0 3px 0 #07152e}.primary-btn:disabled{background:#adbed2;box-shadow:0 5px 0 #92a1b6;cursor:not-allowed}.next-run>.primary-btn{width:100%;justify-content:space-between;font-size:16px;padding:15px 18px}.next-run>.primary-btn span{font-size:24px;line-height:1}.section-title-row{display:flex;align-items:baseline;justify-content:space-between;margin:21px 2px 13px}.section-title-row h2{margin:0}.section-title-row span{font-size:12px;font-weight:800;color:#7b8a9e}.week-cards{display:grid;gap:12px}.week-card{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.week-card.active-week{border-color:#99ceff}.week-head{display:flex;align-items:center;gap:11px;padding:15px 15px 11px}.week-bubble{background:#ffecac;color:#65490e;font-size:12px;font-weight:950;border-radius:11px;padding:9px;min-width:64px;text-align:center}.week-card:nth-child(2) .week-bubble{background:#ffe2cb;color:#82421c}.week-card:nth-child(3) .week-bubble{background:#dff9e6;color:#207549}.week-card:nth-child(4) .week-bubble{background:#deebff;color:#2759ad}.week-head-copy{flex:1}.week-head-copy strong{display:block;font-weight:900;font-size:15px}.week-head-copy small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.week-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 12px 13px}.week-session{border:1.5px solid #e4edf7;background:#f7fbff;border-radius:12px;min-height:62px;padding:7px 4px;color:#365476;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}.week-session.complete{background:#e4f9ea;border-color:#87d7a8;color:#145a34}.week-session.active-session{border-color:#3f79d2;background:#eef6ff}.week-session>span:first-child{font-size:19px;line-height:1;font-weight:900}.week-session>span:last-child{font-size:11px;font-weight:850}.tip-card{display:flex;gap:13px;background:#ffeff0;border-radius:20px;padding:17px;margin:16px 0}.tip-icon{font-size:32px;line-height:1}.tip-card p{font-size:13px;color:#684d59}.home-walk{display:flex;gap:12px;align-items:center;justify-content:space-between}.home-walk h3{margin-bottom:4px}.home-walk p{font-size:13px;color:var(--muted)}.secondary-btn{background:#dbf2ea;color:#246244;border:1px solid #a2dbc3;font-size:12px;max-width:137px;line-height:1.1;text-align:center;flex:none}.page-heading{padding:18px 7px 25px}.page-heading>p:last-child{font-size:14px;color:#5a718c;max-width:350px}.session-select{margin-bottom:13px}.session-select label{display:block;font-size:11px;font-weight:900;letter-spacing:.1em;color:#6885ab;margin-bottom:8px}.session-select select{display:block;width:100%;background:#f5f9ff;border:1.5px solid #d7e4f6;border-radius:12px;padding:12px 14px;font-size:16px;font-weight:850;color:var(--navy);margin-bottom:8px}.timer-card{text-align:center;padding:22px 20px;margin-bottom:13px}.stage-label{color:#1d67c5;background:#ebf4ff;display:inline-block;border-radius:16px;padding:7px 12px;letter-spacing:.08em;font-size:11px;font-weight:950}.timer-dial{width:min(260px,80vw);height:min(260px,80vw);margin:10px auto 0;position:relative}.timer-ring{height:100%;width:100%;transform:rotate(-90deg)}.ring-bg,.ring-fill{fill:none;stroke-width:10}.ring-bg{stroke:#e4edf9}.ring-fill{stroke:#48a6e9;stroke-linecap:round;stroke-dasharray:659.734;stroke-dashoffset:0;transition:stroke-dashoffset .3s linear,stroke .2s}.timer-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.stage-emoji{font-size:32px}.timer-display{font-size:clamp(51px,13vw,66px);letter-spacing:-.06em;font-weight:950;line-height:1.2;font-variant-numeric:tabular-nums}.timer-sub{font-size:12px;font-weight:850;color:#65819c}.total-info{display:flex;justify-content:space-between;font-size:12px;color:#61748d;font-weight:700;border-top:1px solid var(--border);padding-top:13px}.timer-controls{display:flex;align-items:center;justify-content:space-around;gap:12px;margin:19px 0 13px}.timer-main{flex:1;font-size:17px}.skip-button{border:1.5px solid #d9e6f4;background:#f1f7ff;color:#3164a0;min-width:51px;height:52px;border-radius:14px;font-size:30px;line-height:1}.next-stage{font-weight:950;font-size:12px;color:#6684a6;letter-spacing:.05em;min-height:18px}.text-button{color:#4c6b96;border:0;background:transparent;font-weight:800;text-decoration:underline;text-underline-offset:3px;margin:12px auto 0;min-height:32px}.timer-finished{background:#ecf8e7;border:1px solid #b0e4bd;padding:16px;border-radius:16px;margin-top:14px}.timer-finished p{font-size:13px;margin:8px auto 14px}.timer-finished button{width:100%;background:#22643a;box-shadow:0 5px 0 #143d25}.session-settings,.manual-complete{margin-bottom:13px}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;gap:15px;border-bottom:1px solid var(--border)}.toggle-row span{display:flex;flex-direction:column}.toggle-row strong{font-size:14px}.toggle-row small{font-size:12px;color:var(--muted)}.toggle-row input{appearance:none;flex:none;width:46px;height:28px;border-radius:30px;background:#c7d3e3;position:relative;transition:background .2s}.toggle-row input:checked{background:#2a7be0}.toggle-row input:after{content:"";position:absolute;width:20px;height:20px;left:4px;top:4px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0002;transition:transform .2s}.toggle-row input:checked:after{transform:translateX(18px)}.microcopy{font-size:12px;color:#697a90;margin-top:13px}.manual-complete p{color:var(--muted);font-size:13px;margin-bottom:13px}.outline-btn{background:#fff;border:1.5px solid #b9cfe9;color:#27578a;font-size:13px}.manual-complete .outline-btn{width:100%}.strength-intro{background:#e8deff;border-radius:18px;display:flex;align-items:center;gap:15px;padding:18px;margin-bottom:15px}.strength-intro>span{font-size:35px}.strength-intro strong,.strength-intro small{display:block}.strength-intro small{color:#665c91;font-size:12px;margin-top:5px}.exercise-stack{display:grid;gap:12px;margin-bottom:15px}.exercise-card{display:flex;gap:15px;align-items:center;padding:15px}.exercise-icon{height:88px;width:88px;border-radius:17px;display:grid;place-items:center;font-size:38px;flex:none}.squat-icon{background:#fff0bc}.calf-icon{background:#cceaf9}.bridge-icon{background:#def6dc}.exercise-copy span{font-size:10px;letter-spacing:.1em;font-weight:950;color:#7790ad}.exercise-copy h2{margin:3px 0 7px}.exercise-copy p{font-size:12px;color:#667a93}.strength-check{margin-bottom:15px}.strength-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}.strength-mark{border:2px dashed #c7d7eb;border-radius:14px;min-height:88px;background:#f5f9ff;font-weight:850;color:#516c90;display:flex;flex-direction:column;align-items:center;gap:5px;justify-content:center}.strength-mark-icon{font-size:23px}.strength-mark.done{border:2px solid #73ca8d;background:#e9f9ee;color:#28704b}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.stat{padding:14px 7px;text-align:center;border-radius:16px}.stat strong{display:block;font-size:31px;color:#1766c9;font-weight:950}.stat span{font-size:10px;font-weight:750;color:#7388a2;line-height:1.2;display:block}.progress-weeks,.activity-log,.data-section{margin-bottom:14px}.progress-week{padding:13px 0;border-top:1px solid var(--border)}.progress-week-head{display:flex;justify-content:space-between;font-size:13px;font-weight:900;margin-bottom:10px}.progress-week-head>span:last-child{color:#6e88a9;font-weight:850}.progress-pips{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.progress-pip{background:#eaf0f8;height:12px;border-radius:8px}.progress-pip.done{background:#50bb83}.activity-item{border-top:1px solid var(--border);padding:13px 0;display:flex;gap:11px;align-items:center}.activity-icon{display:grid;place-items:center;flex:none;background:#e9f3ff;width:38px;height:38px;border-radius:12px}.activity-meta{flex:1;min-width:0}.activity-meta strong{display:block;font-size:13px}.activity-meta small{color:#7e8c9f;font-size:11px}.activity-remove{background:transparent;border:0;color:#9d6272;font-size:11px;text-decoration:underline;padding:9px 2px}.empty-state{text-align:center;color:#7791a9;padding:20px 10px;font-size:13px}.data-section p{margin:9px 0 16px}.data-actions{display:flex;gap:8px}.data-actions>*{flex:1;min-width:0;text-align:center}.danger-text{margin-top:18px;border:0;background:none;color:#af4560;text-decoration:underline;font-weight:800;padding:12px 0;font-size:12px}.safety-note{padding:14px 18px;background:#f1f4fa;border-radius:16px}.safety-note h3{font-size:14px}.safety-note p{font-size:12px;color:#6a7383}.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);max-width:540px;width:100%;min-height:68px;padding:6px 7px calc(6px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #e5edf7;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 -8px 23px rgba(26,54,98,.07);backdrop-filter:blur(12px)}.nav-item{background:transparent;border:0;color:#788ba4;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:0;border-radius:13px;font-weight:850;font-size:11px}.nav-item.selected{background:#eaf4ff;color:#1d58a8}.nav-icon{height:30px;font-size:26px;line-height:1;display:flex;align-items:center;font-weight:950}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(90px + env(safe-area-inset-bottom));background:var(--navy);color:#fff;padding:12px 18px;border-radius:13px;box-shadow:0 9px 25px #193b6944;max-width:min(450px,90vw);z-index:40;text-align:center;font-size:13px;font-weight:750}dialog{border:0;border-radius:20px;padding:22px;width:min(90vw,390px);box-shadow:0 30px 90px #0d214555;color:var(--ink)}dialog::backdrop{background:#071c3a99}dialog p{font-size:14px;color:#61728d;margin:11px 0 25px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.dialog-actions button{flex:1}@media(min-width:541px){.bottom-nav{border-radius:0 0 20px 20px}body{padding-top:15px}.app-shell{border-radius:20px 20px 0 0;overflow:hidden}.app-header{border-radius:20px 20px 0 0}}@media(max-width:355px){.view{padding:12px}.hero{padding:20px}.header-detail{font-size:9px}.brand-copy strong{font-size:13px}.brand-copy span{font-size:10px}.exercise-icon{width:70px;height:76px}.data-actions{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.small-select{border:1px solid #ccdff4;background:#f3f9ff;border-radius:10px;color:#285488;font-size:13px;font-weight:850;padding:8px}
