:root{--bg:#161a12;--surface:#20261a;--surface-2:#2a3322;--border:#3a4430;--ink:#e9e7d8;--muted:#a3ab8e;--accent:#c2cd5a;--accent-ink:#1c200d;--ok:#8fbf6f;--warn:#e0a458;--danger:#d96c5f;--chart-series:#8e9a2f;--radius:12px;--nav-h:60px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#eeede1;--surface:#f8f7ec;--surface-2:#e4e3d2;--border:#cfceba;--ink:#262b1a;--muted:#6d7458;--accent:#5d6c16;--accent-ink:#f5f6e8;--ok:#4e7d35;--warn:#a86d1f;--danger:#ad4237;--chart-series:#5d6c16;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}#app{max-width:640px;padding:16px 16px calc(var(--nav-h) + 24px + env(safe-area-inset-bottom,0px));min-height:100vh;margin:0 auto}h1,h2,h3{text-transform:uppercase;letter-spacing:.08em;line-height:1.2}h1{margin:8px 0 4px;font-size:1.35rem}h2{margin:24px 0 10px;font-size:1.05rem}h3{color:var(--muted);margin:16px 0 6px;font-size:.9rem}p{margin:6px 0}a{color:var(--accent);text-decoration:none}.kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700}.sub{color:var(--muted);font-size:.9rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:10px 0;padding:14px 16px}.card.flat{background:0 0}a.card{color:inherit;display:block}a.card:active{background:var(--surface-2)}.row{align-items:center;gap:12px;display:flex}.row .grow{flex:1}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}button{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);border-radius:var(--radius);cursor:pointer;padding:10px 16px;font-weight:600}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.06em}button.big{width:100%;padding:16px;font-size:1.05rem}button.ghost{background:0 0}button.danger{color:var(--danger);border-color:var(--danger)}button:disabled{opacity:.45;cursor:default}button:active:not(:disabled){transform:translateY(1px)}.badge{background:var(--surface-2);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.badge.accent{color:var(--accent);border-color:var(--accent)}.badge.ok{color:var(--ok);border-color:var(--ok)}.error{color:var(--danger);font-size:.9rem}.ok-msg{color:var(--ok)}tr.rowlink{cursor:pointer}tr.rowlink:active td{background:var(--surface-2)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.stat .value{font-size:1.6rem;font-weight:800}.stat .label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}label{color:var(--muted);margin:12px 0 4px;font-size:.85rem;display:block}input[type=number],input[type=text],input[type=tel],input[type=password],select{font:inherit;background:var(--surface);border:1px solid var(--border);width:100%;color:var(--ink);border-radius:var(--radius);padding:10px 12px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}#nav{height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--border);z-index:10;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}#nav a{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.6rem;font-weight:700;display:flex;overflow:hidden}#nav a svg{width:22px;height:22px}#nav a.active{color:var(--accent)}.figure{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);padding:8px}.figure svg{width:100%;height:auto;display:block}.figure .acc{stroke:var(--accent)}.figure .ghost{opacity:.26}.figure .halo{fill:var(--accent);opacity:.1}.figure .shadow{fill:currentColor;opacity:.12}.figure .acc-fill{fill:var(--accent)}.figure .ground{stroke:var(--muted);opacity:.6}.figure .equip{stroke:var(--muted)}.ex-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.ex-card{color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px;display:block}.ex-card .name{margin-top:6px;font-weight:700}.ex-card .zone{color:var(--muted);font-size:.75rem}ul.tips{margin:6px 0;padding-left:20px}ul.tips li{margin:4px 0}.workout-stage{text-align:center;padding:8px 0}.workout-stage .target{font-size:3rem;font-weight:800;line-height:1.1}.workout-stage .target small{color:var(--muted);font-size:1.2rem}.workout-stage.rest .target{color:var(--warn)}.timer-display{font-variant-numeric:tabular-nums;font-size:3.4rem;font-weight:800}.progress-dots{justify-content:center;gap:6px;margin:10px 0;display:flex}.progress-dots span{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;width:10px;height:10px}.progress-dots span.done{background:var(--accent);border-color:var(--accent)}.progress-dots span.current{border-color:var(--accent)}.stepper{justify-content:center;align-items:center;gap:14px;margin:10px 0;display:flex}.stepper button{border-radius:50%;width:52px;height:52px;padding:0;font-size:1.4rem}.stepper .count{font-variant-numeric:tabular-nums;min-width:70px;font-size:2rem;font-weight:800}.week-row{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.session-chip{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex:1;min-width:70px;padding:8px 6px;font-size:.8rem;font-weight:700}.session-chip.done{border-color:var(--ok);color:var(--ok)}.session-chip.current{border-color:var(--accent);color:var(--accent)}table.plan{border-collapse:collapse;width:100%;font-size:.9rem}table.plan th,table.plan td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}table.plan th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}table.plan td.num{font-variant-numeric:tabular-nums}.chart-card svg{width:100%;height:auto;display:block}.stat .delta{font-size:.8rem;font-weight:700}.stat .delta.good{color:var(--ok)}.stat .delta.bad{color:var(--danger)}.stat .spark{margin-top:6px}.stat .spark svg{width:100%;height:32px;display:block}#tip{z-index:20;pointer-events:none;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:.8rem;display:none;position:fixed;box-shadow:0 4px 14px #0000004d}details.data-table summary{cursor:pointer;color:var(--muted);font-size:.85rem}.empty{text-align:center;color:var(--muted);padding:32px 16px}
