:root{--bg:#0f0f14;--bg-elev:#181820;--bg-elev-2:#20212c;--border:#2a2b38;--text:#f2f3f7;--text-dim:#9a9cab;--text-faint:#868a95;--accent:#4ade80;--accent-press:#36c46a;--rest:#38bdf8;--warn:#f87171;--warm:#fbbf24;--radius:16px;--radius-sm:10px;--tap:56px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#root{flex-direction:column;max-width:560px;margin:0 auto;display:flex}button{font:inherit;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none}h1,h2,h3{font-weight:700;line-height:1.15}.screen{min-height:100%;padding:calc(var(--safe-top) + 12px) 16px calc(var(--safe-bottom) + 16px);flex-direction:column;flex:1;display:flex}.screen-header{align-items:center;gap:12px;min-height:40px;margin-bottom:18px;display:flex}.screen-header h1{font-size:22px}.spacer{flex:1}.brand{letter-spacing:-.02em;font-weight:800}.brand .brand-accent{color:var(--accent)}.btn{min-height:var(--tap);border-radius:var(--radius);background:var(--bg-elev);color:var(--text);justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:17px;font-weight:600;transition:transform 60ms,background .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;pointer-events:none}.btn-primary{background:var(--accent);color:#07210f;font-weight:700}.btn-primary:active{background:var(--accent-press)}.btn-danger{color:var(--warn)}.btn-ghost{border:1px solid var(--border);background:0 0}.btn-block{width:100%}.btn-lg{min-height:64px;font-size:19px}.icon-btn{background:var(--bg-elev);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:inline-flex}.icon-btn:active{background:var(--bg-elev-2)}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.chip-grid{gap:10px;display:grid}.chip{min-height:var(--tap);border-radius:var(--radius-sm);background:var(--bg-elev);border:1px solid var(--border);color:var(--text-dim);justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:all .12s;display:flex}.chip[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 18%, var(--bg-elev));border-color:var(--accent);color:var(--text)}.tag{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);background:var(--bg-elev-2);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.tag-warmup,.tag-cooldown{color:#2a1c00;background:var(--warm)}.section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:8px;font-size:13px;font-weight:700}.text-dim{color:var(--text-dim)}.text-faint{color:var(--text-faint)}.scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}input{width:100%;min-height:var(--tap);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:0 14px}input:focus{border-color:var(--accent)}textarea{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font:inherit;color:inherit;resize:vertical;outline:none;padding:12px 14px}textarea:focus{border-color:var(--accent)}.runner{justify-content:space-between}.runner-top{align-items:center;gap:12px;display:flex}.runner-count{text-align:center;flex:1;font-size:14px;font-weight:600}.runner-progress{background:var(--bg-elev-2);border-radius:999px;height:6px;margin:14px 0 4px;overflow:hidden}.runner-progress-fill{background:var(--kind-color,var(--accent));height:100%;transition:width .2s linear}.runner-stage{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.runner-phase{letter-spacing:.14em;font-size:13px;font-weight:800}.runner-figure{place-items:center;height:230px;display:grid}.runner-timer{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:76px;font-weight:800;line-height:1}.runner-name{margin-top:2px;font-size:24px}.runner-target{font-size:15px}.runner-cue{max-width:280px;font-size:13px}.runner-controls{align-items:center;gap:12px;margin-top:12px;display:flex}.runner-pause{flex:1}.icon-btn.lg{width:var(--tap);height:var(--tap);font-size:22px}.pro-overlay{z-index:60;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.pro-sheet{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;padding:20px;padding-bottom:calc(20px + var(--safe-bottom));flex-direction:column;gap:14px;width:100%;max-width:560px;max-height:90vh;display:flex;overflow-y:auto}.pro-title{font-size:20px}.pro-body{color:var(--text);font-size:14px;line-height:1.55}.pro-active{color:var(--accent);font-size:16px;font-weight:700}.pro-benefits{flex-direction:column;gap:10px;font-size:14px;line-height:1.5;list-style:none;display:flex}.pro-benefits li{flex-direction:column;gap:2px;display:flex}.pro-benefit-detail{color:var(--text-dim);font-size:13px}.pro-plans{flex-direction:column;gap:10px;display:flex}.pro-plan{min-height:var(--tap);background:var(--accent);color:#07210f;border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:2px;padding:12px 20px;font-weight:700;display:flex}.pro-plan:active{background:var(--accent-press)}.pro-plan:disabled{opacity:.5}.pro-plan-name{opacity:.85;font-size:13px;font-weight:600}.pro-plan-price{font-size:18px}.pro-plan-sub{opacity:.8;font-size:12px;font-weight:500}.pro-restore,.pro-close{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:48px;padding:0 20px;font-size:15px;font-weight:600}.pro-restore{color:var(--text)}.pro-restore:disabled{opacity:.5}.pro-close{color:var(--text-dim)}.pro-disclosure{color:var(--text-faint);font-size:12px;line-height:1.5}.pro-links,.pro-web-note{color:var(--text-dim);font-size:13px;line-height:1.5}.pro-links a,.pro-web-note a,.pro-link{color:var(--accent)}.pro-link{align-self:flex-start;font-size:14px}.pro-error{color:var(--warn);font-size:13px;line-height:1.5}.pro-cta{border-radius:var(--radius-sm);background:var(--accent);color:#07210f;align-items:center;min-height:40px;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.pro-cta:active{background:var(--accent-press)}.pro-plan-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pro-plan-actions a{color:var(--accent);font-size:14px;font-weight:600}.pro-plan-actions button:not(.pro-cta){border:1px solid var(--border);border-radius:var(--radius-sm);min-height:40px;color:var(--text);padding:0 14px;font-size:13px}.pro-plan-actions button:disabled{opacity:.5}.pro-nudge{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);margin-bottom:4px;padding:12px 14px}.pro-nudge-headline{font-size:15px;font-weight:700}.pro-nudge-detail{color:var(--text-dim);margin-top:4px;font-size:13px;line-height:1.45}.pro-nudge-actions{align-items:center;gap:12px;margin-top:10px;display:flex}.pro-nudge-dismiss{color:var(--text-dim);padding:10px 4px;font-size:14px}.pro-badge{letter-spacing:.08em;text-transform:uppercase;color:#07210f;background:var(--accent);border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800;display:inline-block}.pro-rows{gap:10px;display:flex}@media (width<=480px){.pro-rows{flex-direction:column}}.pro-row{box-sizing:border-box;width:100%;min-width:0;min-height:var(--tap);border-radius:var(--radius);background:var(--bg-elev);border:1px solid var(--border);text-align:left;align-items:center;gap:10px;padding:0 14px;font-size:15px;font-weight:600;display:flex}.pro-row:active{background:var(--bg-elev-2)}.pro-row .pro-row-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.pro-row .pro-badge{flex:none}.pro-row .pro-row-sub{white-space:nowrap;text-overflow:ellipsis;color:var(--text-faint);font-size:12px;font-weight:500;display:block;overflow:hidden}.heat-strip{grid-template-columns:repeat(12,1fr);gap:4px;display:grid}.heat-week{grid-template-rows:repeat(7,1fr);gap:4px;display:grid}.heat-day{aspect-ratio:1;background:var(--bg-elev-2);border-radius:3px}.heat-day[data-level="1"]{background:color-mix(in srgb, var(--accent) 45%, var(--bg-elev-2))}.heat-day[data-level="2"]{background:var(--accent)}.heat-day[data-future=true]{opacity:.35}
