:root{color-scheme:dark;--bg:#07090f;--panel:#10141f;--panel-2:#171d2b;--panel-3:#20283a;--text:#f5f7fb;--muted:#96a0b7;--brand:#5cf2bd;--brand-ink:#06150f;--brand-2:#1f3bff;--violet:#a78bfa;--danger:#ff647c;--warning:#ffd166;--ok:#5cf2bd;--border:rgba(220,230,255,0.11);--glow:rgba(92,242,189,0.18)}@media (prefers-color-scheme:dark){:root{color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:radial-gradient(circle at 18% -8%,rgba(92,242,189,.2),transparent 28rem),radial-gradient(circle at 98% 8%,rgba(167,139,250,.18),transparent 24rem),linear-gradient(180deg,#090b12 0,var(--bg) 48%,#05060a 100%);color:var(--text);font-family:ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{min-height:44px;border:0;border-radius:18px;padding:.8rem 1rem;background:linear-gradient(180deg,var(--panel-3),var(--panel-2));color:var(--text);font-weight:750;border:1px solid var(--border)}button:disabled{opacity:.55}.app-shell{max-width:860px;min-height:100dvh;margin:0 auto;padding:.75rem 1rem 6rem}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:.5rem 0 1rem}.brand{font-size:1.4rem;font-weight:900;letter-spacing:-.04em}.grid{display:grid;grid-gap:1rem;gap:1rem}.card,.exercise-card{background:linear-gradient(180deg,rgba(255,255,255,.045),transparent),color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid var(--border);border-radius:30px;padding:1rem;box-shadow:0 22px 70px rgba(0,0,0,.36)}.exercise-card{display:grid;grid-gap:.95rem;gap:.95rem;position:relative;overflow:hidden}.exercise-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand),var(--violet));opacity:.9}.hero{padding:1.2rem}.hero h1{margin:0 0 .4rem;font-size:clamp(2rem,11vw,4.4rem);line-height:.92;letter-spacing:-.08em}.muted{color:var(--muted)}.primary{background:linear-gradient(135deg,var(--brand),#8fffe0);color:var(--brand-ink);width:100%;font-size:1.05rem;box-shadow:0 12px 34px var(--glow)}.secondary{background:var(--panel-2)}.danger{background:color-mix(in srgb,var(--danger) 18%,var(--panel));color:var(--danger)}.disclosure-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:100%}.disclosure-chevron{display:inline-grid;place-items:center;width:1.1rem;height:1.1rem;font-size:1.25rem;line-height:1;transform:rotate(0deg);transition:transform .16s ease;color:var(--brand)}.disclosure-chevron.open{transform:rotate(90deg)}.row{display:flex;gap:.6rem;align-items:center;justify-content:space-between}.wrap{flex-wrap:wrap}.frequency-badge,.pill{border:1px solid var(--border);border-radius:999px;padding:.35rem .65rem;color:var(--muted);font-size:.85rem}.frequency-badge{min-width:44px;display:grid;place-items:center;font-weight:950}.frequency-badge,.stats-button{min-height:44px;color:var(--brand);background:rgba(92,242,189,.08)}.stats-button{min-width:74px;border-radius:999px;padding:.45rem .75rem;font-size:.78rem;box-shadow:inset 0 0 0 1px rgba(92,242,189,.12)}.exercise-title{font-size:1.35rem;font-weight:950;letter-spacing:-.04em}.last-line{color:var(--muted);background:rgba(255,255,255,.035);border:1px solid var(--border);border-radius:18px;padding:.65rem .75rem}.summary-grid{display:grid;grid-template-columns:1fr;grid-gap:.55rem;gap:.55rem}.progression-tile,.summary-tile{display:grid;grid-gap:.2rem;gap:.2rem;padding:.75rem;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid var(--border)}.progression-tile span,.summary-tile span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.progression-tile strong,.summary-tile strong{font-size:1.02rem}.quick-log-row{display:grid;grid-template-columns:1fr 48px;align-items:stretch;grid-gap:.5rem;gap:.5rem}.quick-log-row .disclosure-button{min-width:0}.quick-save-button{width:48px;min-width:48px;min-height:48px;padding:0;border-radius:16px;display:grid;place-items:center;color:var(--brand-ink);background:linear-gradient(135deg,var(--brand),#8fffe0);border-color:rgba(92,242,189,.5);box-shadow:0 12px 28px rgba(92,242,189,.18);font-size:1.25rem;font-weight:950}.quick-save-button:disabled{filter:grayscale(.25)}.inline-status{grid-column:1/-1;margin:-.1rem 0 0;padding:.55rem .7rem;border-radius:16px;background:rgba(92,242,189,.075);border:1px solid rgba(92,242,189,.18);font-weight:800;line-height:1.25}.progression-tile{min-width:0}.progression-tile small{color:var(--muted);font-size:.78rem;line-height:1.25}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08)}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--violet));box-shadow:0 0 18px rgba(92,242,189,.35)}.collapsible-panel{padding-top:.25rem}.icon-button{width:44px;min-width:44px;padding:0;border-radius:999px;font-size:1.5rem;line-height:1}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:end center;padding:1rem;background:rgba(1,3,8,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.stats-modal{width:min(100%,720px);max-height:min(82dvh,720px);overflow:auto;display:grid;grid-gap:1rem;gap:1rem;padding:1rem;border-radius:30px;border:1px solid var(--border);background:radial-gradient(circle at 20% 0,rgba(92,242,189,.13),transparent 18rem),#0b0f18;box-shadow:0 30px 90px rgba(0,0,0,.55)}.stats-modal h2{margin:0}.compact-backdrop{place-items:center}.confirm-modal{width:min(100%,430px);display:grid;grid-gap:1rem;gap:1rem;padding:1rem;border-radius:30px;border:1px solid rgba(255,100,124,.2);background:radial-gradient(circle at 12% 0,rgba(255,100,124,.15),transparent 16rem),linear-gradient(180deg,rgba(255,255,255,.045),transparent),#0b0f18;box-shadow:0 30px 90px rgba(0,0,0,.6)}.confirm-modal h2{margin:0 0 .3rem;letter-spacing:-.04em}.confirm-modal p{margin:0;line-height:1.45}.confirm-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;color:var(--danger);background:rgba(255,100,124,.12);border:1px solid rgba(255,100,124,.22);font-size:1.35rem;font-weight:950}.delete-preview{display:grid;grid-gap:.2rem;gap:.2rem;padding:.75rem;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid var(--border)}.delete-preview span{color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.delete-preview strong{font-size:1.05rem}.confirm-actions{display:grid;grid-template-columns:1fr;grid-gap:.5rem;gap:.5rem}.confirm-actions button{width:100%}.confirm-delete-button{color:#fff;background:linear-gradient(135deg,rgba(255,100,124,.92),rgba(255,100,124,.58)),var(--panel);border-color:rgba(255,100,124,.36)}.progress-chart{width:100%;height:250px;padding:.5rem;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));border:1px solid var(--border)}.chart-axis{stroke:rgba(220,230,255,.28);stroke-width:.5;vector-effect:non-scaling-stroke}.chart-label{fill:var(--muted);font-size:3.2px;font-weight:800}.chart-axis-title{fill:color-mix(in srgb,var(--muted) 82%,white);font-size:3px;font-weight:900;letter-spacing:.03em}.chart-label-mid{text-anchor:middle}.chart-label-end{text-anchor:end}.chart-line{fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.set-one{stroke:var(--brand)}.set-two{stroke:var(--violet)}.set-three{stroke:var(--warning)}.chart-dot{stroke:#0b0f18;stroke-width:.5;vector-effect:non-scaling-stroke;cursor:pointer}.chart-dot.selected{stroke:var(--text);stroke-width:1.15;filter:drop-shadow(0 0 5px rgba(255,255,255,.42))}.set-one-fill{fill:var(--brand)}.set-two-fill{fill:var(--violet)}.set-three-fill{fill:var(--warning)}.legend{display:flex;gap:.75rem;flex-wrap:wrap;color:var(--muted);font-size:.85rem}.legend span{display:inline-flex;align-items:center;gap:.35rem}.legend-dot{width:.65rem;height:.65rem;border-radius:999px;display:inline-block}.legend-dot.one{background:var(--brand)}.legend-dot.two{background:var(--violet)}.legend-dot.three{background:var(--warning)}.point-tooltip{display:inline-grid;gap:.15rem;justify-self:start;padding:.55rem .7rem;border:1px solid rgba(92,242,189,.25);border-radius:16px;background:rgba(92,242,189,.08);color:var(--text)}.point-tooltip span{color:var(--muted);font-size:.86rem}.action-button{width:auto;min-width:170px;flex:1 1}.exercise-actions{display:grid;grid-template-columns:1fr;grid-gap:.5rem;gap:.5rem;align-items:stretch}.exercise-actions button{width:100%;min-height:46px;height:100%;padding-inline:.7rem;line-height:1.1}.exercise-actions .action-button{min-width:0}.bottom-nav{position:fixed;z-index:10;left:max(1rem,calc((100vw - 860px) / 2 + 1rem));right:max(1rem,calc((100vw - 860px) / 2 + 1rem));bottom:1rem;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.35rem;gap:.35rem;padding:.4rem;border-radius:24px;background:color-mix(in srgb,#0d111b 86%,transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav a{min-height:44px;display:grid;place-items:center;border-radius:18px;color:var(--muted);font-size:.78rem;font-weight:800}.bottom-nav a.active{background:rgba(92,242,189,.12);color:var(--brand)}.field{display:grid;grid-gap:.35rem;gap:.35rem}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid var(--border);border-radius:16px;padding:.75rem .85rem;background:#0b0f18;color:var(--text)}.checkbox-row{display:grid;grid-template-columns:24px 1fr;align-items:start;grid-gap:.7rem;gap:.7rem;padding:.75rem;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.035)}.checkbox-row input{width:20px;height:20px;accent-color:var(--brand);margin-top:.15rem}.checkbox-row span{display:grid;grid-gap:.2rem;gap:.2rem;font-weight:850}.checkbox-row small{color:var(--muted);font-weight:600;line-height:1.35}.weights{display:grid;grid-gap:.48rem;gap:.48rem}.weight-row{display:grid;grid-template-columns:56px 40px minmax(68px,88px) 40px;align-items:center;grid-gap:.38rem;gap:.38rem}.weight-row button{min-width:40px;min-height:40px;padding:.35rem;border-radius:14px}.weight-row input{min-height:40px;padding:.4rem .35rem;text-align:center;font-size:1.02rem;font-weight:900}.compact-weights .weight-row{grid-template-columns:56px 40px minmax(68px,88px) 40px}.status-ok{color:var(--ok)}.status-warn{color:var(--warning)}.status-danger{color:var(--danger)}.mini-table{display:grid;grid-gap:.55rem;gap:.55rem}.mini-row{display:grid;grid-gap:.2rem;gap:.2rem;padding:.75rem;border-radius:18px;background:var(--panel-2)}.recovery-row{border:1px dashed rgba(255,209,102,.45);background:rgba(255,209,102,.075)}.increase-row{border:1px solid rgba(92,242,189,.34);background:linear-gradient(90deg,rgba(92,242,189,.13),transparent 58%),var(--panel-2)}.increase-badge{color:var(--brand);background:rgba(92,242,189,.12)}.increase-badge,.recovery-badge{display:inline-flex;margin-left:.35rem;padding:.12rem .4rem;border-radius:999px;font-size:.7rem;vertical-align:middle}.recovery-badge{color:var(--warning);background:rgba(255,209,102,.12)}.chart{width:100%;height:180px;overflow:visible}@media (min-width:720px){.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.summary-grid{grid-template-columns:1.25fr .95fr;align-items:stretch}.modal-backdrop{place-items:center}}@media (min-width:520px){.exercise-actions{grid-template-columns:1fr 1fr}.confirm-actions{grid-template-columns:.85fr 1.15fr}.quick-log-row{grid-template-columns:minmax(0,1fr) 48px auto}.inline-status{grid-column:auto;align-self:center;margin:0;white-space:nowrap}}