:root{--text: #6b6375;--text-h: #08060d;--bg: #fff;--border: #e5e4e7;--code-bg: #f4f3ec;--accent: #aa3bff;--accent-bg: rgba(170, 59, 255, .1);--accent-border: rgba(170, 59, 255, .5);--exercise-title: #1d4ed8;--chart-series-1: #2a78d6;--chart-series-2: #eb6834;--chart-series-3: #1baf7a;--chart-series-4: #eda100;--chart-series-5: #e87ba4;--chart-series-6: #4a3aa7;--social-bg: rgba(244, 243, 236, .5);--shadow: rgba(0, 0, 0, .1) 0 10px 15px -3px, rgba(0, 0, 0, .05) 0 4px 6px -2px;--sans: system-ui, "Segoe UI", Roboto, sans-serif;--heading: system-ui, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 1024px){:root{font-size:16px}}@media (prefers-color-scheme: dark){:root{--text: #9ca3af;--text-h: #f3f4f6;--bg: #16171d;--border: #2e303a;--code-bg: #1f2028;--accent: #c084fc;--accent-bg: rgba(192, 132, 252, .15);--accent-border: rgba(192, 132, 252, .5);--exercise-title: #60a5fa;--chart-series-1: #3987e5;--chart-series-2: #d95926;--chart-series-3: #199e70;--chart-series-4: #c98500;--chart-series-5: #d55181;--chart-series-6: #9085e9;--social-bg: rgba(47, 48, 58, .5);--shadow: rgba(0, 0, 0, .4) 0 10px 15px -3px, rgba(0, 0, 0, .25) 0 4px 6px -2px}#social .button-icon{filter:invert(1) brightness(2)}}#root{width:1126px;max-width:100%;margin:0 auto;text-align:center;border-inline:1px solid var(--border);min-height:100svh;display:flex;flex-direction:column;box-sizing:border-box}body{margin:0}h1,h2{font-family:var(--heading);font-weight:500;color:var(--text-h)}h1{font-size:56px;letter-spacing:-1.68px;margin:32px 0}@media (max-width: 1024px){h1{font-size:36px;margin:20px 0}}h2{font-size:24px;line-height:118%;letter-spacing:-.24px;margin:0 0 8px}@media (max-width: 1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);display:inline-flex;border-radius:4px;color:var(--text-h)}code{font-size:15px;line-height:135%;padding:4px 8px;background:var(--code-bg)}#login{display:flex;flex-direction:column;place-content:center;place-items:center;flex-grow:1;padding:32px 20px}#login form{display:flex;flex-direction:column;gap:16px;width:100%;max-width:320px;text-align:left}#login label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--text-h)}#login input{font:inherit;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text-h)}#login input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}#login button{font:inherit;padding:8px 10px;border-radius:6px;border:2px solid transparent;color:var(--accent);background:var(--accent-bg);cursor:pointer;transition:border-color .3s}#login button:hover{border-color:var(--accent-border)}#login button:disabled{cursor:not-allowed;opacity:.6}.error{color:#e5484d;font-size:14px;margin:0}#dashboard{display:flex;flex-direction:column;gap:16px;flex-grow:1;padding:32px 20px;text-align:left}#dashboard header{position:relative;display:flex;align-items:center;justify-content:space-between}#dashboard .page-title{font-size:25px;font-weight:700;color:var(--text-h)}#dashboard .hamburger{display:flex;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;padding:8px;border:none;background:none}#dashboard .hamburger span{display:block;height:2px;border-radius:1px;background:var(--text-h)}#dashboard .menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9}#dashboard .menu{position:absolute;top:100%;right:0;z-index:10;margin-top:8px;padding:6px;min-width:180px;display:flex;flex-direction:column;gap:2px;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}#dashboard .menu button{text-align:left;border:none;background:none;padding:10px 12px}#dashboard .menu button:hover{background:var(--accent-bg)}#dashboard .menu button:disabled{color:var(--accent);opacity:1;cursor:default}@media (max-width: 480px){#dashboard{padding:20px 16px}}#dashboard button{font:inherit;padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-h);cursor:pointer}#dashboard button:disabled{border-color:var(--accent-border);color:var(--accent);cursor:default;opacity:1}#dashboard ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}#dashboard li{padding:10px 12px;border:1px solid var(--border);border-radius:6px}#dashboard .panel{display:flex;flex-direction:column;gap:16px;max-width:420px}#dashboard form{display:flex;flex-direction:column;gap:12px}#dashboard label{display:flex;flex-direction:column;gap:6px;font-size:14px}#dashboard label.checkbox{flex-direction:row;align-items:center;gap:8px}#dashboard input[type=text],#dashboard input[type=number],#dashboard input[type=date],#dashboard input[type=password],#dashboard input:not([type]),#dashboard select,#dashboard textarea{font:inherit;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text-h)}#dashboard textarea{resize:vertical}#dashboard form button{align-self:flex-start}#dashboard li{display:flex;align-items:center;justify-content:space-between;gap:8px}#dashboard .panel.schedule,#dashboard .panel.session-detail,#dashboard .panel.exercise-library,#dashboard .panel.history,#dashboard .panel.family{max-width:none;width:100%}#dashboard .exercise-library-columns{display:flex;flex-direction:column;gap:24px}@media (min-width: 640px){#dashboard .exercise-library-columns{flex-direction:row;align-items:flex-start}#dashboard .exercise-library-columns>*{flex:1;min-width:0}}#dashboard .link{border:none;background:none;padding:0;color:var(--accent);text-decoration:underline;text-align:left}#dashboard .exercise-name-plain{color:var(--text-h)}#dashboard .exercise-type-badge{margin-left:6px;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:700;text-decoration:none;color:var(--accent);background:var(--accent-bg)}#dashboard .exercise-list li{flex-direction:column;align-items:stretch}#dashboard .exercise-row{display:flex;align-items:center;justify-content:space-between;gap:8px}#dashboard .exercise-toggle{width:100%;border:none;background:none;padding:0;display:flex;align-items:baseline;justify-content:space-between;gap:8px;text-align:left}#dashboard .exercise-name{font-size:17px;font-weight:700;color:var(--exercise-title)}#dashboard .exercise-summary{font-size:13px;color:var(--text);flex-shrink:0}#dashboard .remove-exercise{align-self:flex-start;font-size:13px;color:var(--text);border:none;background:none;padding:4px 0;text-decoration:underline}#dashboard .video-embed{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:6px;overflow:hidden;margin-top:10px}#dashboard .video-embed iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}#dashboard .schedule-day{padding:12px;border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:8px}#dashboard .schedule-day h3{margin:0;font-size:16px;color:var(--exercise-title)}#dashboard .schedule-day ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}#dashboard .schedule-day li{padding:6px 10px}#dashboard .entry-actions{display:flex;gap:4px;flex-shrink:0}#dashboard .icon-button{padding:6px 10px;line-height:1}#dashboard .exercise-log{padding:12px;border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:10px}#dashboard .exercise-log.todo{border-style:dashed}#dashboard .progress{font-size:14px;color:var(--text);margin:0}#dashboard .last-performance{font-size:13px;color:var(--text);margin:0;font-style:italic}#dashboard .sets-list li{padding:6px 10px}#dashboard .set-form{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;align-items:center}#dashboard .set-form input{flex:1;min-width:70px;width:auto}#dashboard .set-form button{flex-shrink:0}#dashboard .history-week{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}#dashboard .history-week-label{font-size:13px;color:var(--text);flex-shrink:0}#dashboard .history-week-sessions{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:flex-end}#dashboard .progress-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}#dashboard .progress-header h2{margin:0}#dashboard .progress-exercise{display:flex;flex-direction:column;gap:12px}#dashboard .progress-exercise-toggle{align-self:flex-start;display:flex;align-items:center;gap:8px;border:none;background:none;padding:0}#dashboard .progress-exercise-toggle h3{margin:0;font-size:16px;color:var(--exercise-title)}#dashboard .progress-exercise-caret{font-size:12px;color:var(--text);width:10px}#dashboard .progress-charts{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 640px){#dashboard .progress-charts{grid-template-columns:repeat(3,1fr)}}#dashboard .progress-chart{padding:12px;border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:6px}#dashboard .progress-chart-title{font-size:13px;font-weight:700;color:var(--text-h)}#dashboard .progress-chart-svg{width:100%;height:auto;touch-action:none}#dashboard .progress-chart-grid{stroke:var(--border);stroke-width:1}#dashboard .progress-chart-axis-label{font-size:10px;fill:var(--text)}#dashboard .progress-chart-crosshair{stroke:var(--text);stroke-width:1;opacity:.4}#dashboard .progress-chart-empty{font-size:13px;color:var(--text);margin:0}#dashboard .progress-chart-tooltip{display:flex;align-items:baseline;gap:6px;font-size:13px}#dashboard .progress-chart-tooltip .progress-chart-tooltip-value{font-weight:700;color:var(--text-h)}#dashboard .progress-chart-tooltip .progress-chart-tooltip-date{color:var(--text)}#dashboard .compare-chart{padding:12px;border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:6px}#dashboard .compare-legend{display:flex;flex-wrap:wrap;gap:4px 12px}#dashboard .compare-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text)}#dashboard .compare-legend-swatch{display:inline-block;width:12px;height:2px;border-radius:1px;flex-shrink:0}#dashboard .compare-tooltip{flex-direction:column;align-items:flex-start;gap:4px}#dashboard .compare-tooltip-row{display:flex;align-items:center;gap:6px}#dashboard .family-today,#dashboard .schedule-grid,#dashboard .exercise-grid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 640px){#dashboard .family-today,#dashboard .schedule-grid,#dashboard .exercise-grid{grid-template-columns:repeat(2,1fr)}}#dashboard .family-today-card{padding:12px;border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:6px}#dashboard .family-today-name{font-size:16px;font-weight:700;color:var(--exercise-title)}#dashboard .family-today-exercises,#dashboard .family-recent-date,#dashboard .family-recent-exercises{font-size:13px;color:var(--text)}#dashboard .family-today-empty{font-size:13px;color:var(--text);font-style:italic}#dashboard .family-recent li{flex-direction:column;align-items:flex-start;gap:2px}#dashboard .family-recent-name{font-weight:700;color:var(--text-h)}.notice{padding:10px 12px;border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:6px;font-size:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.modal{background:var(--bg);border:1px solid var(--border);border-radius:8px;width:100%;max-width:420px;max-height:min(560px,80vh);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow)}.modal-header{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.modal-header input{flex:1;font:inherit;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text-h)}.modal-header button{font:inherit;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-h);cursor:pointer}.modal-list{list-style:none;margin:0;padding:4px;overflow-y:auto;display:flex;flex-direction:column}.modal-list li{padding:0}.modal-option{display:block;width:100%;border:none!important;background:none!important;padding:10px 12px!important;border-radius:6px;color:var(--text-h);text-align:left;font:inherit;cursor:pointer}.modal-option:hover{background:var(--accent-bg)!important}.modal-empty{padding:12px;color:var(--text);font-size:14px}code{font-family:var(--mono);padding:2px 6px;background:var(--code-bg);border-radius:4px}
