:root{--bg: #0f0f13;--bg-soft: #13131a;--surface: rgba(26, 26, 34, .9);--surface-strong: rgba(30, 30, 42, .96);--line: rgba(240, 239, 245, .1);--text: #f0eff5;--text-soft: #9b97b2;--accent: #d4f53c;--accent-deep: #b3d62e;--accent-alt: #6c5ce7;--shadow: 0 24px 60px rgba(0, 0, 0, .5);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--container: 1180px;font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(108,92,231,.12),transparent 35%),radial-gradient(circle at right 20%,rgba(212,245,60,.06),transparent 30%),linear-gradient(180deg,#13131a 0%,var(--bg) 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:transparent}a{color:inherit;text-decoration:none}img{max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}.page-shell{min-height:100vh;padding:24px}.page-frame{max-width:var(--container);margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;padding:18px 22px;border:1px solid var(--line);border-radius:var(--radius-xl);background:#14141ce0;backdrop-filter:blur(18px);box-shadow:var(--shadow);position:relative;z-index:50}.brand-mark{display:inline-flex;align-items:center;gap:12px}.brand-badge{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:700;color:#0f0f13;background:linear-gradient(135deg,var(--accent-deep),var(--accent))}.brand-text{display:grid;gap:2px}.brand-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-soft)}.brand-title{font-size:1.1rem;font-weight:700}.nav-links{display:flex;flex-wrap:nowrap;align-items:center;gap:6px}.nav-link{padding:8px 13px;border-radius:999px;border:1px solid var(--line);color:var(--text-soft);font-size:.9rem;white-space:nowrap;transition:.16s ease}.nav-link:hover,.nav-link.active,.nav-group[open]>.nav-link,.nav-link[aria-current=page]{color:var(--accent);border-color:#d4f53c59;background:#d4f53c12}.nav-drawer{display:flex;align-items:center;gap:12px}.nav-group{position:relative}.nav-group>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none}.nav-group>summary::-webkit-details-marker{display:none}.nav-caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .16s ease}.nav-group[open] .nav-caret{transform:translateY(1px) rotate(-135deg)}.nav-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:60;display:grid;min-width:190px;padding:6px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-strong);box-shadow:var(--shadow)}.nav-menu-item{padding:9px 12px;border-radius:10px;color:var(--text-soft);font-size:.92rem;white-space:nowrap}.nav-menu-item:hover,.nav-menu-item:focus-visible{color:var(--text);background:#f0eff50f}.nav-menu-item[aria-current=page]{color:var(--accent)}.user-avatar-wrap{position:relative;margin-left:4px;flex-shrink:0}.user-avatar{width:38px;height:38px;border-radius:50%;border:2px solid rgba(212,245,60,.5);background:linear-gradient(135deg,var(--accent-deep),var(--accent));color:#0f0f13;font-size:.9rem;font-weight:700;display:grid;place-items:center;cursor:pointer;transition:.16s ease;padding:0}.user-avatar:hover{border-color:var(--accent);box-shadow:0 0 0 3px #d4f53c26}.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:200px;background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px;z-index:100}.user-dropdown-email{font-size:.78rem;color:var(--text-soft);padding:8px 10px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-divider{height:1px;background:var(--line);margin:4px 0}.user-dropdown-item{display:block;width:100%;padding:9px 10px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text);font-size:.9rem;text-align:left;cursor:pointer;transition:.12s ease}.user-dropdown-item:hover{background:#f0eff512}.user-dropdown-signout{color:#ff6b6b}.user-dropdown-signout:hover{background:#ff6b6b14}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-md);background:transparent;cursor:pointer;margin-left:auto}.nav-toggle-bar{display:block;width:100%;height:2px;background:var(--text);border-radius:2px;transition:.16s ease}.hero{margin-bottom:26px}.hero-panel{position:relative;overflow:hidden;border-radius:calc(var(--radius-xl) + 4px);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);padding:38px}.hero-panel:after{content:"";position:absolute;inset:auto -18% -36% auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(212,245,60,.08),transparent 70%);pointer-events:none}.eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:#d4f53c1a;color:var(--accent);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.hero-title{margin:18px 0 12px;max-width:14ch;font-size:clamp(2.5rem,6vw,4.8rem);line-height:.95;letter-spacing:-.04em}.hero-copy{max-width:58ch;color:var(--text-soft);font-size:1.02rem;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:13px 18px;border:1px solid transparent;transition:.16s ease}.button{color:#0f0f13;background:var(--accent);box-shadow:0 16px 28px #d4f53c2e}.button-secondary{color:var(--text);background:#f0eff50f;border-color:var(--line)}.button:hover,.button-secondary:hover{transform:translateY(-1px)}.section-card{margin-bottom:22px;padding:24px;border-radius:var(--radius-xl);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.section-header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-title{margin:0;font-size:clamp(1.4rem,2vw,1.9rem);letter-spacing:-.03em}.section-copy{margin:8px 0 0;color:var(--text-soft);max-width:70ch;line-height:1.65}.grid-3,.grid-2{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card,.tile-card,.program-card,.exercise-card,.day-card,.soft-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-strong)}.stat-card,.tile-card,.program-card,.exercise-card,.day-card{padding:18px}.soft-panel{padding:16px}.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft)}.card-title{margin:10px 0 8px;font-size:1.12rem}.muted{color:var(--text-soft)}.pill-row,.tag-row{display:flex;flex-wrap:wrap;gap:8px}.pill,.tag{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#6c5ce71f;color:var(--accent-alt);font-size:.84rem}.tag{background:#d4f53c1a;color:var(--accent-deep)}.field-grid{display:grid;gap:12px;grid-template-columns:repeat(12,minmax(0,1fr))}.field,.field-span-6,.field-span-4,.field-span-3,.field-span-8,.field-span-12{display:grid;gap:8px}.field-span-12{grid-column:span 12}.field-span-9{grid-column:span 9}.field-span-8{grid-column:span 8}.field-span-6{grid-column:span 6}.field-span-4{grid-column:span 4}.field-span-3{grid-column:span 3}label{font-weight:600;font-size:.92rem}input,select,textarea{width:100%;padding:12px 13px;border-radius:14px;border:1px solid rgba(240,239,245,.14);background:#14141cd9;color:var(--text)}textarea{min-height:120px;resize:vertical}.inline-actions{display:flex;flex-wrap:wrap;gap:10px}.ghost-button,.danger-button{border-radius:999px;padding:10px 14px;border:1px solid var(--line);background:#f0eff50f;color:var(--text)}.danger-button{color:#f87171;border-color:#f8717133;background:#f8717112}.status-message,.warning-message,.success-message{margin-top:14px;padding:12px 14px;border-radius:14px;font-size:.94rem}.status-message{background:#6c5ce71a;color:var(--accent-alt)}.warning-message{background:#f8717114;color:#f87171}.success-message{background:#d4f53c14;color:var(--accent-deep)}.split-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);gap:18px}.day-stack{display:grid;gap:16px}.item-row{display:grid;gap:10px;grid-template-columns:minmax(0,2.4fr) minmax(64px,.6fr) minmax(0,.9fr) minmax(0,.8fr) minmax(76px,.8fr) auto;align-items:end;padding:12px;border-radius:16px;background:#1a1a22e6;border:1px solid rgba(240,239,245,.08)}.item-row label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-meta{margin-top:8px;color:var(--text-soft);font-size:.9rem}.two-column-list{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.mono{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.site-footer{margin-top:48px;padding:28px 22px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:16px}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.footer-link{padding:6px 12px;border-radius:999px;font-size:.85rem;color:var(--text-soft);transition:color .16s ease}.footer-link:hover{color:var(--text)}.footer-note{text-align:center;color:var(--text-soft);font-size:.82rem;margin:0}.confirm-label{font-size:.88rem;color:var(--text-soft);align-self:center}.button-saved{background:var(--accent-alt)!important;border-color:var(--accent-alt)!important;color:#fff!important}.tech-filter-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#f0eff50d;color:var(--text-soft);font-size:.84rem;cursor:pointer;transition:.14s ease}.tech-filter-chip.active,.tech-filter-chip:hover{color:var(--accent);border-color:#d4f53c59;background:#d4f53c12}.tech-chip{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:#f0eff50a;color:var(--text-soft);font-size:.84rem;cursor:pointer;transition:.14s ease}.tech-chip:hover{border-color:#d4f53c33;color:var(--text)}.tech-chip.selected{background:#d4f53c1f;border-color:#d4f53c73;color:var(--accent)}.tech-history-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#6c5ce71a;border:1px solid rgba(108,92,231,.2);color:var(--text);font-size:.82rem}.tech-history-vol{font-size:.75rem;color:var(--text-soft)}@media(max-width:960px){.hero,.split-layout,.grid-3,.grid-2,.two-column-list{grid-template-columns:1fr}.item-row{grid-template-columns:1fr 1fr}.field-span-8,.field-span-6,.field-span-4,.field-span-3{grid-column:span 12}}@media(max-width:720px){.page-shell{padding:14px}.site-header{flex-wrap:wrap;gap:0;padding:14px 16px}.nav-toggle{display:flex}.nav-drawer{display:none;flex-direction:column;align-items:stretch;width:100%;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);gap:8px}.nav-drawer.open{display:flex}.nav-links{flex-direction:column;align-items:stretch;width:100%}.nav-link{justify-content:center;text-align:center}.nav-group>summary{display:flex}.nav-menu{position:static;margin-top:6px;box-shadow:none;background:#f0eff508}.nav-menu-item{text-align:center}.user-avatar-wrap{margin-left:0}.user-dropdown{right:auto;left:0}.hero-panel,.section-card{padding:18px}.hero-title{max-width:100%}.item-row{grid-template-columns:1fr}}.set-list{display:grid;gap:8px;margin-top:12px;overflow-x:auto}.set-row{display:grid;grid-template-columns:28px minmax(72px,1fr) minmax(64px,.8fr) minmax(64px,.8fr) minmax(96px,1.1fr) 40px;gap:8px;align-items:center;min-width:520px}.set-row input,.set-row select{padding:9px 10px}.set-row-head{color:var(--text-soft);font-size:.8rem;font-weight:600}.set-number{color:var(--text-soft);font-weight:600;text-align:center}.icon-button{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:#f0eff50f;color:var(--text-soft);font-size:1.1rem;line-height:1}.icon-button:hover{color:#f87171;border-color:#f871714d}.text-link{color:var(--accent);text-decoration:underline}.set-chips{display:flex;flex-wrap:wrap;gap:6px}.set-chip{padding:4px 10px;border-radius:999px;background:#f0eff50f;border:1px solid var(--line);font-size:.85rem;white-space:nowrap}.set-chip-flag{margin-left:6px;color:var(--accent);font-size:.75rem}.log-exercise-row{display:grid;grid-template-columns:minmax(0,220px) 1fr;gap:12px;align-items:start}@media(max-width:720px){.log-exercise-row{grid-template-columns:1fr;gap:6px}.set-row{grid-template-columns:22px minmax(72px,1fr) minmax(56px,.8fr) minmax(56px,.8fr) minmax(88px,1.1fr) 36px;gap:6px}}.picker{position:relative}.picker-list{position:absolute;z-index:50;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;max-width:min(420px,calc(100vw - 48px));margin:0;padding:4px;list-style:none;max-height:300px;overflow-y:auto;border-radius:14px;border:1px solid var(--line);background:var(--surface-strong);box-shadow:var(--shadow)}.picker-option{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;cursor:pointer}.picker-option[aria-selected=true]{background:#d4f53c1a}.picker-option-meta{color:var(--text-soft);font-size:.8rem;text-align:right}.picker-create{color:var(--accent);font-weight:600}.dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#0009}.dialog-panel{width:min(560px,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface-strong);box-shadow:var(--shadow)}.chip-group{display:flex;flex-wrap:wrap;gap:6px}.custom-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:#6c5ce726;color:#a79cf5;font-size:.72rem;font-weight:600;vertical-align:middle}:root{--zone-1: #7d8bb0;--zone-2: #3987e5;--zone-3: #199e70;--zone-4: #d95926;--zone-5: #9085e9}.zone-1{background:var(--zone-1)}.zone-2{background:var(--zone-2)}.zone-3{background:var(--zone-3)}.zone-4{background:var(--zone-4)}.zone-5{background:var(--zone-5)}.zone-dot{display:inline-block;width:9px;height:9px;border-radius:999px;margin-right:4px;vertical-align:baseline}.zone-inputs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}.zone-bar{display:flex;gap:2px;height:10px;border-radius:999px;overflow:hidden;margin-top:4px}.zone-seg{display:block;min-width:3px}.zone-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;color:var(--text-soft);font-size:.85rem}.checkbox-row{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.checkbox-row input{width:18px;height:18px;padding:0;accent-color:var(--accent)}.table-scroll{position:relative;max-width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.92rem;font-variant-numeric:tabular-nums}.data-table caption{text-align:left;color:var(--text-soft);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding-bottom:8px}.data-table th,.data-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table th{color:var(--text-soft);font-weight:600}@media(max-width:720px){.zone-inputs{grid-template-columns:repeat(3,minmax(0,1fr))}}:root{--tight-1: #59cd90;--tight-2: #a3d65c;--tight-3: #e8c547;--tight-4: #f2a541;--tight-5: #ee6352}.field-label{font-weight:600;font-size:.92rem}.move-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(64px,.5fr) minmax(72px,.6fr) auto 40px;gap:10px;align-items:end}.tightness-picker{display:flex;gap:4px}.tightness-option{width:38px;height:42px;border-radius:10px;border:1px solid var(--line);background:#f0eff50d;color:var(--text-soft);font-weight:600}.tightness-option.selected{color:#111;border-color:transparent}.tightness-option.selected.tightness-1,.rating-pip.tightness-1{background:var(--tight-1)}.tightness-option.selected.tightness-2,.rating-pip.tightness-2{background:var(--tight-2)}.tightness-option.selected.tightness-3,.rating-pip.tightness-3{background:var(--tight-3)}.tightness-option.selected.tightness-4,.rating-pip.tightness-4{background:var(--tight-4)}.tightness-option.selected.tightness-5,.rating-pip.tightness-5{background:var(--tight-5)}.rating-strip{display:inline-flex;gap:3px}.rating-pip{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;color:#111;font-size:.75rem;font-weight:700}.trend-badge{padding:3px 9px;border-radius:999px;font-size:.8rem;font-weight:600}.trend-good{background:#59cd9026;color:var(--tight-1)}.trend-bad{background:#ee635226;color:var(--tight-5)}.trend-neutral{background:#f0eff50f;color:var(--text-soft)}@media(max-width:720px){.move-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px}.move-row .move-name,.move-row .move-tightness{grid-column:1 / -1}.move-row .move-name{grid-row:1}.move-row .move-remove{grid-column:3;grid-row:2}}.metric-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metric-value{margin:6px 0 0;font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.metric-unit{font-size:.85rem;font-weight:500;color:var(--text-soft)}.delta{font-weight:600;font-size:.85rem;font-variant-numeric:tabular-nums}.delta-good{color:var(--tight-1)}.delta-bad{color:var(--tight-5)}.delta-neutral{color:var(--text-soft)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:960px){.grid-3.metric-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.metric-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-cards .stat-card{padding:14px}.metric-value{font-size:1.3rem}}:root{--series-1: #3987e5;--chart-grid: rgba(240, 239, 245, .08);--chart-axis: rgba(240, 239, 245, .2)}.range-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.chart-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.chart-card{min-width:0;padding:16px;border-radius:var(--radius-md);border:1px solid var(--line);background:#14141c99}.chart{position:relative;width:100%;margin-top:10px}.chart svg{display:block;overflow:visible;touch-action:pan-y}.chart svg:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}line.chart-grid{stroke:var(--chart-grid);stroke-width:1}line.chart-baseline{stroke:var(--chart-axis);stroke-width:1}.chart-tick{fill:var(--text-soft);font-size:11px;font-variant-numeric:tabular-nums}line.chart-crosshair{stroke:var(--chart-axis);stroke-width:1}.chart-dot{stroke:#1c1c25;stroke-width:2}.chart-column-group.active path{filter:brightness(1.2)}.chart-tooltip{position:absolute;z-index:5;transform:translate(-50%);display:grid;gap:2px;min-width:140px;max-width:240px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface-strong);box-shadow:var(--shadow);color:var(--text-soft);font-size:.8rem;pointer-events:none}.chart-tooltip strong{color:var(--text);font-size:.95rem}.chart-tooltip-row{display:flex;align-items:center;gap:6px}.chart-line-key{display:inline-block;width:12px;height:2px;border-radius:1px}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;color:var(--text-soft);font-size:.85rem}.chart-swatch{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:3px;vertical-align:-1px}.heatmap th[scope=row]{text-align:left;font-weight:500;color:var(--text)}.heat-cell{text-align:center!important;border:2px solid var(--surface-strong);border-radius:6px;min-width:42px}.lift-config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:14px}.config-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:999px;border:1px solid var(--line);background:#3987e51f;font-size:.84rem}.config-chip button{border:none;background:none;color:var(--text-soft);font-size:1rem;line-height:1;padding:0 2px}@media(max-width:720px){.chart-cards{grid-template-columns:1fr}}
