:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--surface:#15181d;--surface-raised:#1e232a;--border:#2a3039;--text:#f4f5f7;--muted:#a2abb6;--accent:#ff5a1f;--on-accent:#0b0d10;--danger:#ff7b72;--radius:16px;--space:16px;--tap:52px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--nav-height:64px;--chart-bar:#9aa4b2;--chart-recovery:#5f6875}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.45}a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.screen{max-width:560px;padding:calc(var(--space) * 1.5) var(--space) calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--space) * 2);padding-top:calc(env(safe-area-inset-top) + var(--space) * 1.5);margin:0 auto}.stack{gap:var(--space);flex-direction:column;display:flex}.title{margin:0 0 var(--space);letter-spacing:-.02em;font-size:34px;font-weight:800;line-height:1.1}.eyebrow{color:var(--muted);margin:0 0 4px;font-size:15px;font-weight:600}.eyebrow:first-letter{text-transform:uppercase}.muted{color:var(--muted)}.card{padding:calc(var(--space) * 1.25);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.card p{margin:0}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.tile{padding:var(--space);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.tile p{margin:0}.big-number{letter-spacing:-.03em;font-size:44px;font-weight:800;line-height:1}.unit{color:var(--muted);margin-top:8px;font-size:15px}.session-header{justify-content:space-between;align-items:baseline;gap:var(--space);display:flex}.session-type{margin:0;font-size:24px;font-weight:800}.session-total{color:var(--accent);white-space:nowrap;font-weight:700}.blocks{flex-direction:column;gap:6px;margin:0;padding-left:1.2em;display:flex}.session-done .session-type,.session-done .blocks{color:var(--muted)}.session-actions{justify-content:space-between;align-items:center;gap:var(--space);display:flex}.done{color:var(--accent);margin:0;font-weight:700}.link-button{min-height:var(--tap);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:15px;text-decoration:underline}.tag{background:var(--surface-raised);color:var(--muted);border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:15px}.days{padding:4px var(--space);margin:0;list-style:none}.day{min-height:var(--tap);border-bottom:1px solid var(--border);grid-template-columns:76px 1fr auto;align-items:center;gap:12px;padding:10px 0;display:grid}.day:last-child{border-bottom:0}.day p{margin:0}.day-date{color:var(--muted);font-size:15px}.day[aria-current=date] .day-date{color:var(--accent);font-weight:700}.day-type{font-weight:700}.day-meta{color:var(--muted);font-size:15px}.day-rest .day-type,.day-skipped .day-type,.day-missed .day-type{color:var(--muted);font-weight:400}.day-missed .day-type{text-decoration:line-through}.badge{white-space:nowrap;background:var(--surface-raised);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:15px}.badge-done,.badge-today{color:var(--accent)}.chart{margin:0}.chart-head{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.chart-title{margin:0;font-weight:700}.legend{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.swatch{border-radius:3px;width:12px;height:12px}.swatch-current{background:var(--accent)}.swatch-recovery{background:var(--chart-recovery)}.swatch-dot{background:var(--text);border-radius:50%;width:8px;height:8px}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1px}.chart-tick,.chart-phase,.chart-label{fill:var(--muted);font-size:15px;font-family:var(--font)}.chart-label{fill:var(--text);font-weight:700}.chart-bar-normal{fill:var(--chart-bar)}.chart-bar-recovery{fill:var(--chart-recovery)}.chart-bar-current{fill:var(--accent)}.chart-marker{fill:var(--text);stroke:var(--surface);stroke-width:2px}.phases{flex-direction:column;gap:12px;margin:0;list-style:none;display:flex}.phase p{margin:0}.phase-name{font-weight:700}.phase-meta{color:var(--muted);font-size:15px}.table-view summary{min-height:var(--tap);cursor:pointer;align-items:center;font-weight:700;display:flex}.table-view table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:15px}.table-view th,.table-view td{text-align:left;border-bottom:1px solid var(--border);padding:6px 4px}.table-view th{color:var(--muted);font-weight:600}.session-type a,.day-type a{text-decoration:none}.text-link{min-height:44px;color:var(--accent);align-self:flex-start;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.zone-list,.exercises{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.zone-list p{margin:0}.exercise{grid-template-columns:var(--tap) 1fr;align-items:start;gap:12px;display:grid}.exercise p{margin:0}.check{width:var(--tap);height:var(--tap);border:2px solid var(--border);background:var(--surface-raised);color:var(--on-accent);font:inherit;cursor:pointer;border-radius:50%;font-size:22px;font-weight:800}.check[aria-pressed=true]{border-color:var(--accent);background:var(--accent)}.exercise-name{padding-top:4px;font-weight:700}.exercise-dose{color:var(--muted);font-size:15px}.exercise-done .exercise-name{color:var(--muted)}.exercise-info summary{min-height:44px;color:var(--accent);cursor:pointer;align-items:center;font-size:15px;font-weight:700;display:inline-flex}.exercise-info p{color:var(--text);font-size:15px}.projects{gap:var(--space);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.project p{margin:0}.project-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.confirm summary{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;font-size:15px;text-decoration:underline;display:inline-flex}.confirm[open]{flex-direction:column;gap:12px;display:flex}.confirm p{margin:0}.facts{grid-template-columns:auto 1fr;gap:8px 16px;margin:0;display:grid}.facts dt{color:var(--muted);font-size:15px}.facts dd{margin:0}.check-label{align-items:center;gap:12px;min-height:44px;display:flex}.check-label input{width:22px;height:22px;accent-color:var(--accent)}.button.button-danger{background:var(--danger);color:var(--on-accent)}.nav{padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);background:#0b0d10eb;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.nav a{min-height:var(--nav-height);color:var(--muted);justify-content:center;align-items:center;font-size:15px;font-weight:600;text-decoration:none;display:flex}.nav a[aria-current=page]{color:var(--accent)}.field{flex-direction:column;gap:8px;display:flex}.field-label{color:var(--muted);font-size:15px;font-weight:600}.input{min-height:var(--tap);padding:0 var(--space);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:12px}.input:focus{border-color:var(--accent);outline:none}.button{width:100%;min-height:var(--tap);padding:0 var(--space);background:var(--accent);color:var(--on-accent);font:inherit;cursor:pointer;border:0;border-radius:999px;font-weight:700}.button:disabled{opacity:.6;cursor:progress}.button-secondary{background:var(--surface-raised);color:var(--text);border:1px solid var(--border)}.error{color:var(--danger);margin:0;font-size:15px}.notice{padding:var(--space);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);margin:0}.divider{text-align:center;color:var(--muted);margin:0;font-size:15px}.login{justify-content:center;gap:calc(var(--space) * 2);max-width:420px;min-height:100dvh;padding:var(--space);padding-bottom:calc(env(safe-area-inset-bottom) + var(--space) * 2);flex-direction:column;margin:0 auto;display:flex}.brand{letter-spacing:-.03em;color:var(--accent);margin:0;font-size:48px;font-weight:800}.tagline{color:var(--muted);margin:8px 0 0;font-size:20px}.option{width:100%;min-height:var(--tap);padding:12px var(--space);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:14px;font-weight:600}.option[aria-pressed=true]{border-color:var(--accent);background:var(--surface-raised);box-shadow:inset 0 0 0 1px var(--accent)}.chips,.scale{flex-wrap:wrap;gap:8px;display:flex}.scale{grid-template-columns:repeat(5,1fr);display:grid}.chip{min-height:var(--tap);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px;font-weight:600}.chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.progress{height:6px;margin-bottom:var(--space);background:var(--surface-raised);border-radius:999px;overflow:hidden}.progress span{background:var(--accent);height:100%;transition:width .2s;display:block}.row{gap:12px;display:flex}.row>*{flex:1}fieldset{border:0;min-width:0;margin:0;padding:0}legend.title{padding:0}.textarea{min-height:96px;padding:12px var(--space);resize:vertical}.summary{grid-template-columns:1fr 2fr;gap:8px 12px;margin:0;display:grid}.summary dt{color:var(--muted)}.summary dd{margin:0;font-weight:600}a.button{justify-content:center;align-items:center;text-decoration:none;display:flex}.list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.list-link{min-height:var(--tap);padding:12px var(--space);background:var(--surface);border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}.list-main{flex-direction:column;display:flex}.list-title{font-weight:700}.list-side{text-align:right;font-size:15px}.missed{color:var(--muted);margin:0;font-weight:700}.session-actions form{display:contents}.section-title{margin:calc(var(--space) * 1.5) 0 var(--space);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:15px;font-weight:700}.weekreview-text p{margin:0;line-height:1.55}details.weekreview summary{cursor:pointer;font-weight:600}details.weekreview[open] summary{margin-bottom:var(--space)}.field-hint{color:var(--muted);font-size:13px}.input-code{letter-spacing:.3em;text-align:center;font-size:24px}.login-links{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface) 25%, var(--border) 50%, var(--surface) 75%);background-size:200% 100%;animation:1.2s ease-in-out infinite skeleton}.skeleton-title{width:50%;height:36px;margin-top:calc(var(--space) * 2)}.skeleton-card{height:120px}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
