:root{--bg:#0b0e12;--surface:#151a21;--surface-2:#1d2430;--line:#2a3340;--text:#e9edf2;--muted:#98a3b3;--accent:#ff8a3d;--accent-ink:#1a0d03;--good:#3ecf8e;--good-ink:#03140c;--warn:#ffc857;--bad:#ff6b6b;--jog:#ff8a3d;--walk:#5ab0ff;--radius:14px;--tap:48px;--tap-big:64px;--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}h1,h2,h3{margin:0;line-height:1.2}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.boot{color:var(--muted);padding:40px 16px}.muted{color:var(--muted)}.small{font-size:.875rem}.grow{flex:1;min-width:0}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:12px;display:flex}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.center{text-align:center}.top{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b0e12f0;align-items:center;gap:8px;padding:10px 16px;display:flex;position:sticky;top:0}.top-title{flex:1;font-size:1.15rem}.top-status{color:var(--muted);font-size:.8rem}.top-status.warn{color:var(--warn)}.icon-btn{min-width:var(--tap);min-height:var(--tap);color:var(--text);background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}main{padding:16px 16px calc(96px + var(--safe-b));max-width:640px;margin:0 auto}.tabs{z-index:5;padding-bottom:var(--safe-b);background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{min-height:60px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.75rem;text-decoration:none;display:flex}.tab.active{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card-title{font-size:1rem}.card.done{border-color:color-mix(in srgb, var(--good) 50%, var(--line))}.list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.list>li{border-bottom:1px solid var(--line);padding:10px 0}.list>li:last-child{border-bottom:0}.kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75rem}.pill{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.8rem;display:inline-block}.pill.accent{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent)}.pill.good{background:color-mix(in srgb, var(--good) 22%, transparent);color:var(--good)}.pill.warn{background:color-mix(in srgb, var(--warn) 22%, transparent);color:var(--warn)}.btn{min-height:var(--tap);background:var(--surface-2);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn.small{min-height:40px;padding:0 12px;font-size:.9rem}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.good{background:var(--good);color:var(--good-ink);border-color:var(--good)}.btn.ghost{background:0 0}.btn.danger{color:var(--bad)}.btn-big{min-height:var(--tap-big);width:100%;font-size:1.1rem}.btn:disabled{opacity:.5}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.btn-row>.btn{flex:1 1 0;min-width:0;padding:0 10px}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);font-size:.9rem}input[type=text],input[type=email],input[type=number],input[type=date],input[type=time],select,textarea{min-height:var(--tap);background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;padding:10px 12px}textarea{resize:vertical;min-height:96px}.switch{min-height:var(--tap);justify-content:space-between;align-items:center;gap:12px;display:flex}.switch input{width:28px;height:28px;accent-color:var(--accent)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:var(--tap);background:var(--surface-2);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:0 16px}.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.slider{grid-template-columns:1fr auto;align-items:center;gap:4px 12px;display:grid}.slider input[type=range]{width:100%;height:44px;accent-color:var(--accent);grid-column:1/-1}.slider output{font-variant-numeric:tabular-nums;text-align:right;min-width:3ch;font-weight:700}.banner{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.banner.warn{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, var(--surface))}.banner.info{border-color:var(--walk);background:color-mix(in srgb, var(--walk) 10%, var(--surface))}#toast{left:50%;bottom:calc(80px + var(--safe-b));background:var(--text);max-width:calc(100% - 32px);color:var(--bg);opacity:0;pointer-events:none;z-index:20;border-radius:12px;padding:12px 16px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,20px)}#toast.show{opacity:1;transform:translate(-50%)}.signin{padding-top:10vh}.brand{text-align:center;justify-items:center;gap:8px;display:grid}.brand-mark{border-radius:24px;width:88px;height:88px}dialog{box-sizing:border-box;background:var(--surface);width:min(560px,100vw - 24px);max-width:none;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:16px}dialog::backdrop{background:#0009}.card.list{gap:0;padding:4px 16px}.list>li.today{background:color-mix(in srgb, var(--accent) 7%, transparent);margin:0 -16px;padding:10px 16px}.list.diff>li{padding:8px 0}.block-title{font-size:1.2rem}.block-card.focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 40%, transparent)}.done-row{min-height:var(--tap-big);color:var(--good);background:color-mix(in srgb, var(--good) 14%, transparent);border-radius:12px;align-items:center;gap:10px;padding:0 16px;font-size:1.1rem;display:flex}details>summary{min-height:var(--tap);cursor:pointer;color:var(--accent);align-items:center;display:flex}.row>input{flex:1;min-width:0}.demo{background:var(--surface-2);border-radius:12px;width:100%;max-height:200px}.demo line{stroke-linecap:round;stroke-width:4px}.demo .near{stroke:var(--text)}.demo .far{stroke:#6b7686}.demo .floor{stroke:var(--line);stroke-width:2px}.demo .head{fill:var(--accent)}.cues{color:var(--muted);margin:0;padding-left:20px}.cues li{margin:2px 0}.target{font-size:1.1rem;font-weight:600}.counter{grid-template-columns:var(--tap-big) 1fr var(--tap-big);align-items:center;gap:12px;display:grid}.counter-btn{min-width:var(--tap-big);min-height:var(--tap-big);border-radius:50%;padding:0}.counter-value{text-align:center;font-variant-numeric:tabular-nums;font-size:3rem;font-weight:800}.big-timer{text-align:center;font-variant-numeric:tabular-nums;font-size:4rem;font-weight:800;line-height:1}.big-timer.huge{font-size:6rem}.progress{background:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:var(--accent);width:0;height:100%;transition:width .3s}.stop-rule{border-left:3px solid var(--warn);padding-left:10px}.phase-card{border-radius:var(--radius);text-align:center;gap:8px;padding:20px 16px;display:grid}.phase-card.jog{background:color-mix(in srgb, var(--jog) 22%, var(--surface));border:2px solid var(--jog)}.phase-card.walk{background:color-mix(in srgb, var(--walk) 18%, var(--surface));border:2px solid var(--walk)}.phase-word{letter-spacing:.08em;font-size:2.6rem;font-weight:900}.phase-word.jog{color:var(--jog)}.phase-word.walk{color:var(--walk)}.phase-next{color:var(--muted);font-size:1.1rem}.guide-meta{text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.guide-meta strong{font-variant-numeric:tabular-nums;font-size:1.3rem}details.exercise{border-bottom:1px solid var(--line);padding:4px 0}.slider.unset output{color:var(--muted)}.slider.unset input[type=range]{opacity:.55}.trend{width:100%;height:44px}.trend-path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.trend-dot{fill:var(--accent)}.trend-line-4{stroke:var(--warn);stroke-opacity:.35;stroke-dasharray:3 3}.trend-row{padding:4px 0}.checkin-prompt{border-color:var(--walk)}.reminder-row{border-bottom:1px solid var(--line);gap:4px;padding:6px 0;display:grid}.reminder-row input[type=time],.reminder-row input[type=number]{max-width:160px}.help-steps{gap:14px;padding-left:36px;display:grid}.help-steps ol.sub{color:var(--muted);gap:4px;margin:0;padding-left:20px;display:grid}.tiles{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.tile-value{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:800;line-height:1.1}.chart{width:100%;height:auto}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .axis{fill:var(--muted);font-size:9px}.chart .bar-planned{fill:none;stroke:var(--muted);stroke-width:1.5px}.chart .bar-actual{fill:var(--accent)}.legend{color:var(--muted);align-items:center;gap:8px;display:flex}.legend .key{border-radius:3px;width:12px;height:12px;display:inline-block}.legend .key.planned{border:1.5px solid var(--muted)}.legend .key.actual{background:var(--accent);margin-left:8px}.road{border-left:2px solid var(--line);gap:14px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.road li{gap:2px;display:grid;position:relative}.road li:before{content:"";background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:5px;left:-21px}.road li.past{opacity:.6}.road li.past:before{background:var(--good)}.paces{border-collapse:collapse;text-align:center;font-variant-numeric:tabular-nums;width:100%}.paces th{color:var(--muted);padding-bottom:4px;font-size:.75rem;font-weight:600}.countdowns{flex-wrap:wrap;gap:8px;display:flex}.countdown{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));border-radius:12px;flex:1;min-width:140px;padding:10px 12px}.countdown strong{font-size:1.4rem}.event-form .row>*{flex:1;min-width:0}
