:root{--bg:#f4f4f1;--surface:#fff;--surface-2:#ecebe6;--border:#dddcd5;--text:#17181b;--muted:#6b6d72;--accent:#e2561c;--accent-ink:#fff;--accent-soft:#fde5d9;--good:#1f8a4c;--good-soft:#dcf2e4;--rest:#3b6fd8;--rest-soft:#dee7fa;--bad:#c43d3d;--bad-soft:#f8e0e0;--radius:14px;--tab-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111215;--surface:#1b1d21;--surface-2:#25282d;--border:#2e3137;--text:#f1f1ee;--muted:#9a9ca2;--accent:#ff7a3d;--accent-ink:#1a0d06;--accent-soft:#3a2117;--good:#4cc27c;--good-soft:#17301f;--rest:#6f9bff;--rest-soft:#1b2540;--bad:#ff6b6b;--bad-soft:#3a1b1b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#111215;--surface:#1b1d21;--surface-2:#25282d;--border:#2e3137;--text:#f1f1ee;--muted:#9a9ca2;--accent:#ff7a3d;--accent-ink:#1a0d06;--accent-soft:#3a2117;--good:#4cc27c;--good-soft:#17301f;--rest:#6f9bff;--rest-soft:#1b2540;--bad:#ff6b6b;--bad-soft:#3a1b1b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font:16px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}.app{max-width:560px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 12px) 16px calc(var(--tab-h) + env(safe-area-inset-bottom) + 24px);margin:0 auto}.app.with-timer{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 96px)}h1{letter-spacing:-.02em;margin:8px 0 16px;font-size:28px}h2{margin:24px 0 10px;font-size:18px}h3{margin:0;font-size:16px}.muted{color:var(--muted)}.small{font-size:13px}.row{align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack>*+*{margin-top:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.card+.card{margin-top:10px}.btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:10px;min-height:44px;padding:10px 14px;font-weight:600}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.ghost{background:0 0}.btn.danger{color:var(--bad)}.btn.small{min-height:34px;padding:6px 10px;font-size:14px}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:default}input[type=text],input[type=number],input[type=date],select,textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;width:100%;min-height:42px;padding:9px 10px}textarea{resize:vertical;min-height:70px}label.field{display:block}label.field>span{color:var(--muted);margin-bottom:4px;font-size:13px;display:block}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.tabs{height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);z-index:10;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs>div{width:100%;max-width:560px;display:flex}.tab{cursor:pointer;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.tab svg{width:22px;height:22px}.tab.active{color:var(--accent)}.stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.stat .num{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.stat .lbl{color:var(--muted);font-size:12px}.stat.hero .num{color:var(--accent)}.pill{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.pill.accent{background:var(--accent-soft);color:var(--accent)}.pill.good{background:var(--good-soft);color:var(--good)}.pill.rest{background:var(--rest-soft);color:var(--rest)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--border);padding:10px 0}.list li:last-child{border-bottom:0}.clickable{cursor:pointer}.group{border-left:3px solid var(--accent);margin-top:14px;padding-left:10px}.group.solo{border-left-color:#0000;padding-left:0}.group-label{color:var(--accent);letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:700}.ex-card+.ex-card{margin-top:8px}.ex-target{font-variant-numeric:tabular-nums}.set-row{grid-template-columns:28px 1fr 1fr 48px;align-items:center;gap:8px;margin-top:8px;display:grid}.set-row.circuit{grid-template-columns:28px 1fr 48px}.set-row .idx{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.set-row input{text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.set-row.done input{background:var(--good-soft);border-color:#0000}.unit-input{position:relative}.unit-input em{color:var(--muted);pointer-events:none;font-size:11px;font-style:normal;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.check{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:10px;place-items:center;width:48px;height:42px;display:grid}.check.on{background:var(--good);border-color:var(--good);color:#fff}.check svg{width:20px;height:20px}.suggest{background:var(--accent-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px;display:flex}.suggest strong{color:var(--accent)}.circuit-items{color:var(--muted);margin:6px 0 0;padding-left:18px;font-size:14px}.timer{left:0;right:0;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom));z-index:9;justify-content:center;padding:0 12px 8px;display:flex;position:fixed}.timer>div{background:var(--text);width:100%;max-width:536px;color:var(--bg);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex;box-shadow:0 6px 20px #00000040}.timer .time{font-variant-numeric:tabular-nums;min-width:64px;font-size:24px;font-weight:700}.timer .bar{background:color-mix(in srgb, var(--bg) 25%, transparent);border-radius:3px;flex:1;height:6px;overflow:hidden}.timer .bar>i{background:var(--accent);height:100%;display:block}.timer button{border:1px solid color-mix(in srgb, var(--bg) 35%, transparent);color:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:6px 8px;font-weight:600}.timer.over>div{background:var(--accent);color:var(--accent-ink)}.month-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.month{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.month .dow{color:var(--muted);text-align:center;padding:4px 0;font-size:11px}.cell{aspect-ratio:1;background:var(--surface);cursor:pointer;font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-size:14px;display:flex}.cell .dot{background:0 0;border-radius:50%;width:6px;height:6px}.cell.done{background:var(--good-soft);color:var(--good);font-weight:700}.cell.rest{background:var(--rest-soft);color:var(--rest)}.cell.missed{background:var(--bad-soft);color:var(--bad)}.cell.planned .dot,.cell.pending .dot{background:var(--accent)}.cell.today{border-color:var(--text)}.cell.selected{outline:2px solid var(--accent);outline-offset:1px}.cell.blank{visibility:hidden}.legend{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:10px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.seg{background:var(--surface-2);border-radius:10px;gap:3px;padding:3px;display:flex}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;padding:7px;font-size:14px;font-weight:600}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.chart{height:220px;margin:0 -6px}.empty{text-align:center;color:var(--muted);padding:28px 12px}.retired{opacity:.55}.retired h3{text-decoration:line-through}.sheet-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:560px;max-height:88dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;overflow:auto}.switch{appearance:none;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:999px;flex-shrink:0;width:46px;height:28px;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.switch:checked{background:var(--good);border-color:var(--good)}.switch:checked:after{transform:translate(18px)}.cardio-grid{grid-template-columns:1fr 1.6fr;gap:10px;margin-top:10px;display:grid}.cardio-grid input{text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.intervals{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;margin-top:10px;padding:12px}.intervals .iv-label{letter-spacing:.06em;font-size:14px;font-weight:800}.intervals .iv-time{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:4px 0 8px;font-size:48px;font-weight:800;line-height:1.1}.intervals .iv-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.intervals .iv-bar>i{background:var(--accent);height:100%;display:block}.intervals.phase-work{background:var(--accent-soft);border-color:var(--accent)}.intervals.phase-work .iv-label,.intervals.phase-work .iv-time{color:var(--accent)}.intervals.phase-rest{background:var(--rest-soft);border-color:var(--rest)}.intervals.phase-rest .iv-label,.intervals.phase-rest .iv-time{color:var(--rest)}.intervals.phase-done{background:var(--good-soft);border-color:var(--good)}.intervals.phase-done .iv-label{color:var(--good)}input[type=date]{appearance:none;text-align:left;min-width:0;max-width:100%;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}.chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:999px;min-height:38px;padding:8px 14px;font-size:14px;font-weight:600}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
