@import "https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600&family=Barlow+Condensed:wght@600;700;800&display=swap";:root{--bg:#0f1216;--surface:#1a1f26;--surface-2:#232a33;--border:#2e3742;--accent:#2f9bff;--accent-dim:#1c5f9e;--accent-soft:#2f9bff24;--text:#f3f5f7;--text-dim:#9aa6b2;--text-faint:#5f6b78;--advance:#3ddc84;--hold:#9aa6b2;--reduce:#f4a93d;--radius:16px;--radius-sm:10px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-family:Barlow,sans-serif;font-size:16px;line-height:1.45}h1,h2,h3,.display{letter-spacing:.01em;font-family:Barlow Condensed,sans-serif;font-weight:700}.app-shell{max-width:430px;min-height:100%;margin:0 auto;padding:20px 16px 32px}button{cursor:pointer;border:none;min-height:48px;font-family:Barlow,sans-serif}input{font-family:Barlow,sans-serif}.scaffold{flex-direction:column;gap:18px;padding-top:48px;display:flex}.scaffold-title{color:var(--text);font-size:34px;line-height:1.05}.scaffold-subtitle{color:var(--text-dim);margin-top:-8px;font-size:15px}.status-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.status-row{align-items:center;gap:12px;display:flex}.dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.dot.ok{background:var(--advance)}.dot.fail{background:var(--reduce)}.dot.pending{background:var(--text-faint)}.status-label{text-transform:uppercase;letter-spacing:.03em;font-family:Barlow Condensed,sans-serif;font-size:19px;font-weight:700}.status-detail{color:var(--text-dim);margin-top:10px;font-size:14px}.retry-btn{background:var(--accent);color:#06121f;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-sm);width:100%;margin-top:16px;font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:800}.retry-btn:active{background:var(--accent-dim)}.home-header{margin-bottom:22px;padding-top:12px}.home-title{color:var(--text);text-transform:uppercase;letter-spacing:.01em;font-size:42px;line-height:1}.home-tagline{color:var(--accent);letter-spacing:.02em;margin-top:6px;font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:600}.home-status{color:var(--text-dim);padding-top:24px}.home-error{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:16px;padding:20px}.home-error-msg{color:var(--reduce);margin-bottom:14px}.practice-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:16px;display:flex}.practice-label{font-family:Barlow Condensed,sans-serif;font-size:17px;font-weight:700;display:block}.practice-hint{color:var(--text-dim);margin-top:2px;font-size:13px;display:block}.toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex-shrink:0;width:56px;height:32px;min-height:32px;padding:0;transition:background .18s;position:relative}.toggle-knob{background:var(--text-dim);border-radius:50%;width:24px;height:24px;transition:transform .18s,background .18s;position:absolute;top:3px;left:3px}.toggle-on{background:var(--accent-soft);border-color:var(--accent)}.toggle-on .toggle-knob{background:var(--accent);transform:translate(24px)}.day-list{flex-direction:column;gap:14px;display:flex}.day-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:0 6px 18px #00000047}.day-card-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.day-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:4px 10px;font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:800}.day-count{color:var(--text-dim);font-size:13px}.day-name{color:var(--text);font-size:26px;line-height:1.1}.day-focus{color:var(--text-dim);margin-top:4px;margin-bottom:16px;font-size:14px}.btn-primary{background:var(--accent);color:#06121f;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-sm);width:100%;font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:800}.btn-primary:active{background:var(--accent-dim)}.btn-secondary{background:var(--surface-2);width:100%;color:var(--text);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm);font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:700}.btn-secondary:active{background:var(--border)}.placeholder{flex-direction:column;gap:10px;padding-top:60px;display:flex}.placeholder-title{text-transform:uppercase;font-size:40px}.placeholder-sub{color:var(--accent);font-family:Barlow Condensed,sans-serif;font-size:20px;font-weight:600}.placeholder-note{color:var(--text-dim);margin:8px 0 18px;font-size:14px}.week-notice{background:var(--accent-soft);border:1px solid var(--accent);color:var(--text);border-radius:var(--radius-sm);margin-bottom:14px;padding:11px 14px;font-size:14px}.week-list{flex-direction:column;gap:14px;display:flex}.week-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:0 6px 18px #00000047}.week-card-today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 8px 22px #00000057}.week-card-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.week-day-col{align-items:center;gap:8px;display:flex}.week-weekday{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:800}.week-pushed-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);border:1px solid var(--border);border-radius:999px;padding:2px 7px;font-size:11px}.week-status{text-transform:uppercase;letter-spacing:.07em;border-radius:999px;padding:4px 10px;font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:800}.week-status-today{color:var(--accent);background:var(--accent-soft)}.week-status-upcoming{color:var(--text-dim);background:var(--surface-2)}.week-status-done{color:var(--advance);background:#3ddc8421}.week-status-skipped{color:var(--text-faint);background:var(--surface-2)}.week-status-missed{color:var(--text-dim);background:var(--surface-2)}.week-name{color:var(--text);font-size:25px;line-height:1.1}.week-focus{color:var(--text-dim);margin-top:4px;font-size:14px}.week-count{color:var(--text-faint);margin:6px 0 14px;font-size:13px;display:block}.week-done-banner{text-align:center;color:var(--advance);border-radius:var(--radius-sm);background:#3ddc841a;padding:10px;font-family:Barlow Condensed,sans-serif;font-size:15px;font-weight:700}.week-actions{gap:10px;margin-top:10px;display:flex}.week-action{color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-sm);background:0 0;flex:1;min-height:44px;font-family:Barlow,sans-serif;font-size:13px;font-weight:500}.week-action:active{background:var(--surface-2)}.week-foot{color:var(--text-faint);margin-top:20px;font-size:13px;line-height:1.5}.sheet-backdrop{z-index:50;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-top:1px solid var(--border);width:100%;max-width:430px;padding:24px 18px calc(24px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;flex-direction:column;gap:12px;display:flex}.sheet-title{color:var(--text);font-size:24px;line-height:1.15}.sheet-body{color:var(--text-dim);margin-bottom:4px;font-size:14px}.sheet-cancel{margin-top:2px}.wk-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.wk-cancel{background:var(--surface-2);width:44px;height:44px;min-height:44px;color:var(--text-dim);border:1px solid var(--border);border-radius:50%;flex-shrink:0;font-size:18px}.wk-header-mid{flex-direction:column;display:flex}.wk-header-title{color:var(--text);font-family:Barlow Condensed,sans-serif;font-size:21px;font-weight:700}.wk-header-progress{color:var(--text-dim);font-size:13px}.wk-warning{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text);margin-bottom:16px;padding:12px 14px;font-size:14px}.wk-quick-banner{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);margin-bottom:16px;padding:12px 14px;font-size:14px}.week-start-row{flex-direction:column;gap:8px;display:flex}.week-start-quick{font-size:14px}.ex-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:0 6px 18px #00000047}.ex-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ex-name{color:var(--text);font-size:27px;line-height:1.08}.ex-form-link{border:1px solid var(--border);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;background:0 0;border-radius:999px;flex-shrink:0;min-height:36px;padding:6px 12px;font-size:12px;font-weight:600}.ex-prescription{color:var(--text-dim);margin-top:6px;font-size:14px}.ex-suggested{color:var(--accent)}.ex-note{background:var(--surface-2);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-dim);margin-top:12px;padding:11px 13px;font-size:14px;line-height:1.5}.set-list{flex-direction:column;gap:9px;margin-top:16px;display:flex}.set-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.set-row-head{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.set-row-head .set-col-num,.set-row-head .set-col-w,.set-row-head .set-col-r,.set-row-head .set-col-done{text-align:center}.set-col-num{text-align:center;width:32px;font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:700}.set-col-w{flex:1;min-width:116px}.set-col-r{flex:1;min-width:96px}.set-col-done{justify-content:center;width:48px;display:flex}.stepper{align-items:center;gap:4px;display:flex}.step-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:34px;height:44px;min-height:44px;color:var(--text);flex-shrink:0;font-size:20px;font-weight:700}.step-btn:active{background:var(--border)}.set-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;height:44px;color:var(--text);text-align:center;flex:1;font-family:Barlow Condensed,sans-serif;font-size:20px;font-weight:700}.set-input:focus{border-color:var(--accent);outline:none}.set-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.set-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.set-input[type=number]{-moz-appearance:textfield}.set-check{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);width:48px;height:44px;min-height:44px;color:var(--text-faint);font-size:20px;font-weight:800;transition:background .14s,color .14s,transform .1s}.set-check-on{background:var(--accent);border-color:var(--accent);color:#06121f}.set-check-on:active{transform:scale(.94)}.set-row-done .set-input{border-color:var(--accent-dim)}.override-tag{color:var(--text-dim);flex-basis:100%;padding-left:40px;font-size:12.5px}.override-up,.override-down{color:var(--text-dim)}.rest-timer{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-sm);align-items:center;gap:12px;margin-top:14px;padding:10px 14px;display:flex}.rest-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:700}.rest-count{color:var(--accent);flex:1;font-family:Barlow Condensed,sans-serif;font-size:24px;font-weight:800}.rest-skip{border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);background:0 0;min-height:40px;padding:6px 14px;font-size:13px}.rating-block{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.rating-prompt{color:var(--text);margin-bottom:10px;font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:700;display:block}.rating-row{gap:9px;display:flex}.rating-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);text-transform:capitalize;letter-spacing:.02em;flex:1;font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:700}.rating-btn-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.wk-nav{gap:10px;margin-top:18px;display:flex}.wk-nav .btn-secondary,.wk-nav .btn-primary{flex:1}.wk-nav .btn-secondary:disabled{opacity:.4}.review-list{flex-direction:column;gap:9px;display:flex}.review-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;display:flex}.review-row-missing{border-color:var(--accent)}.review-ex-name{color:var(--text);font-size:16px}.review-ex-state{text-transform:capitalize;color:var(--text-dim);font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:700}.review-row-missing .review-ex-state{color:var(--accent)}.review-hint{color:var(--text-dim);margin:14px 0;font-size:13px;line-height:1.5}.review-finish{margin-top:16px}.review-finish:disabled{opacity:.4}.cmp-header{margin-bottom:20px;padding-top:18px}.cmp-title{text-transform:uppercase;color:var(--text);font-size:40px;line-height:1}.cmp-sub{color:var(--text-dim);margin-top:6px;font-size:15px}.feel-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 18px}.feel-prompt{color:var(--text);margin-bottom:16px;font-size:21px;line-height:1.2}.feel-options{flex-direction:column;gap:10px;display:flex}.feel-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-height:60px;padding:14px 16px;transition:border-color .14s,background .14s;display:flex}.feel-btn:active{border-color:var(--accent);background:var(--accent-soft)}.feel-btn-label{color:var(--text);font-family:Barlow Condensed,sans-serif;font-size:19px;font-weight:800}.feel-btn-blurb{color:var(--text-dim);font-size:13px}.feel-skip{width:100%;color:var(--text-faint);text-underline-offset:3px;background:0 0;border:none;min-height:44px;margin-top:14px;font-size:14px;text-decoration:underline}.feel-summary{border:1px solid var(--reduce);border-radius:var(--radius-sm);color:var(--text);background:#f4a93d1f;margin-bottom:16px;padding:13px 15px;font-size:14px;line-height:1.5}.feel-summary-soft{background:var(--surface-2);border-color:var(--border);color:var(--text-dim)}.prog-list{flex-direction:column;gap:12px;display:flex}.prog-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);border-left-width:4px;padding:15px 16px}.prog-advance{border-left-color:var(--advance)}.prog-hold{border-left-color:var(--hold)}.prog-reduce{border-left-color:var(--reduce)}.prog-row-top{justify-content:space-between;align-items:center;display:flex}.prog-ex-name{color:var(--text);font-size:16px;font-weight:500}.prog-decision-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.prog-advance .prog-decision-dot{background:var(--advance)}.prog-hold .prog-decision-dot{background:var(--hold)}.prog-reduce .prog-decision-dot{background:var(--reduce)}.prog-headline{color:var(--text);margin-top:6px;font-family:Barlow Condensed,sans-serif;font-size:19px;font-weight:700}.prog-advance .prog-headline{color:var(--advance)}.prog-reduce .prog-headline{color:var(--reduce)}.prog-reason{color:var(--text-dim);margin-top:3px;font-size:13.5px;line-height:1.5}.prog-modulated{color:var(--reduce);margin-top:7px;font-size:12.5px;font-style:italic}.cmp-done{margin-top:20px}.pwa-toast{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;background:var(--surface-2);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;width:calc(100% - 32px);max-width:398px;padding:12px 14px;animation:.24s ease-out pwa-toast-in;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 28px #00000073}@keyframes pwa-toast-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.pwa-toast-dot{background:var(--advance);border-radius:50%;flex-shrink:0;width:9px;height:9px}.pwa-toast-text{color:var(--text);flex:1;font-size:13.5px;line-height:1.35}.pwa-toast-close{min-height:0;color:var(--text-dim);background:0 0;flex-shrink:0;padding:6px;font-size:15px;line-height:1}
