:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-page: #0f0f0f;--bg-panel: #1a1a1a;--bg-input: #141414;--bg-surface: #161616;--bg-surface-2: #151515;--bg-surface-hover: #191919;--bg-surface-2-hover: #181818;--bg-muted: #2a2a2a;--border-subtle: #242424;--border-default: #262626;--border-input: #2a2a2a;--border-strong: #3a3a3a;--text-main: #eaeaea;--text-dim: #9fa8b0;--text-muted: #9a9a9a;--text-faint: #888;--accent: #4da3ff;--accent-hover: #67b3ff;--danger: #ff6b6b;--danger-hover: #ff8a8a;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px}html,body{width:100%;margin:0}#root{width:100%;min-height:100vh;display:flex;justify-content:center;padding:40px 24px;background:var(--bg-page)}.panel{width:100%;max-width:560px;margin:0 auto;padding:22px 24px;background:var(--bg-panel);border-radius:var(--radius-xl);box-shadow:0 20px 40px #0009,inset 0 1px #ffffff0a}.panel h1{margin:0;font-size:1.3rem;font-weight:600;line-height:1.2}.panel h2{margin:0;font-size:1.1rem;font-weight:500}.subtle{margin:0;font-size:.85rem;color:var(--text-dim)}.form-stack{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:.75rem;color:var(--text-muted)}.field input{padding:9px 10px;font-size:.9rem;color:var(--text-main);background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md)}.field input::placeholder{color:#666}.field input:focus{border-color:var(--accent);outline:none}.set-row{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1fr) 34px;align-items:center;gap:8px}.set-row span{font-size:.8rem;color:var(--text-muted);text-align:center}.set-row input{width:100%;min-width:0}.set-row button{width:34px;height:34px;padding:0;line-height:1;color:#c6c6c6;background:var(--bg-muted)}.set-row button:hover{background:#343434}.panel-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.error{font-size:.75rem;color:var(--danger)}button{padding:8px 14px;font-size:.85rem;cursor:pointer;border:none;border-radius:var(--radius-md)}button.primary{font-weight:600;color:#000;background:var(--accent)}button.primary:hover{background:var(--accent-hover)}button.secondary{color:#ccc;background:var(--bg-muted)}button:disabled{opacity:.6;cursor:not-allowed}.unit-toggle{padding:6px 10px;font-size:.75rem;color:#ddd;background:#222;border:1px solid #333;border-radius:999px;transition:background .15s ease,border-color .15s ease}.unit-toggle:hover{background:var(--bg-muted);border-color:var(--accent)}.edit-btn,.delete-btn{padding:4px 8px;font-size:.8rem;background:none}.edit-btn{color:#b4c6d8}.edit-btn:hover{color:#d6e4f2}.delete-btn{color:var(--danger)}.delete-btn:hover{color:var(--danger-hover)}.delete-session{padding:0;font-size:16px;color:#ef4444;background:none;border:none;cursor:pointer}.delete-session:hover{color:#f87171}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.session-section{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}.log-list{margin-top:20px}.session{margin-bottom:10px;padding:12px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md)}.session-header{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;column-gap:10px;padding:4px 2px;cursor:pointer;border-radius:var(--radius-sm)}.session-header:hover{background:#ffffff0a}.session-arrow{color:#a9b8c4;text-align:center}.session-date{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-bw{font-size:.8rem;color:var(--text-dim);white-space:nowrap}.log-row{display:block;margin:8px 0 10px;padding:10px 12px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.log-row:hover{background:var(--bg-surface-hover);border-color:var(--border-strong)}.log-meta{width:100%;padding:12px;background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.log-meta:hover{background:var(--bg-surface-2-hover);border-color:var(--border-strong)}.log-exercise-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.log-exercise{margin-bottom:6px;font-weight:600}.exercise-actions{display:flex;align-items:center;gap:6px}.log-details{font-size:.8rem;color:#b0b0b0}.set-header,.set-line{display:grid;grid-template-columns:60px 120px 80px 1fr;align-items:center;gap:8px;padding:0 4px}.set-header{margin:8px 0 4px;font-size:.75rem;color:var(--text-faint)}.set-line{padding-top:10px;padding-bottom:10px;border-bottom:1px solid #222}.set-line:last-child{border-bottom:none}.set-line span{font-size:.85rem}.set-header span:first-child,.set-line span:first-child{font-weight:500;color:var(--text-faint);text-align:center}.set-header span:nth-child(2),.set-header span:nth-child(3),.set-line span:nth-child(2),.set-line span:nth-child(3){text-align:right}.set-line button{justify-self:end}@media(max-width:640px){#root{padding:24px 12px}.panel{padding:18px 16px}.session-header{grid-template-columns:18px minmax(0,1fr) auto;row-gap:4px}.session-bw{grid-column:2 / span 2}.set-row{grid-template-columns:48px minmax(0,1fr) minmax(0,1fr) 32px}.set-header,.set-line{grid-template-columns:44px 1fr 64px 1fr}}
