:root{--bg:#0b0d10;--panel:#14181d;--panel-2:#1a2026;--text:#e6edf3;--muted:#8b949e;--accent:#4ade80;--accent-dim:#166534;--border:#232a31;--danger:#f87171}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:720px;margin:0 auto;padding:32px 20px 64px}.header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:8px}.header h1{margin:0;font-size:28px;letter-spacing:-.02em}.header .date{color:var(--muted);font-size:14px}nav.tabs{display:flex;gap:16px;margin-bottom:24px;border-bottom:1px solid var(--border)}nav.tabs a{padding:8px 0;color:var(--muted);border-bottom:2px solid transparent}nav.tabs a.active{color:var(--text);border-bottom-color:var(--accent)}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.card h2{margin:0 0 4px;font-size:20px}.meta{color:var(--muted);font-size:13px;flex-wrap:wrap}.exercise,.meta{display:flex;gap:12px}.exercise{align-items:flex-start;padding:14px 0;border-top:1px solid var(--border)}.exercise:first-of-type{border-top:none}.checkbox{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;background:var(--panel-2)}.checkbox.done{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.exercise-body{flex:1 1;min-width:0}.exercise-name{font-weight:600;font-size:15px;margin-bottom:4px}.exercise-name.done{color:var(--muted);text-decoration:line-through}.exercise-meta{color:var(--muted);font-size:13px;display:flex;gap:10px;flex-wrap:wrap}.exercise-meta span{white-space:nowrap}.exercise-desc{margin-top:4px;overflow-wrap:anywhere;word-break:break-word}.exercise-desc,.exercise-notes{color:var(--muted);font-size:13px}.exercise-notes{margin-top:6px;font-style:italic}.empty{color:var(--muted);text-align:center;padding:40px 20px}ul.history{list-style:none;padding:0;margin:0}ul.history li{padding:14px 0;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}ul.history li:first-child{border-top:none}.history-title{font-weight:500}.history-date,.progress{color:var(--muted);font-size:13px}.progress{display:inline-flex;align-items:center;gap:6px}.progress-bar{width:80px;height:6px;background:var(--panel-2);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--accent)}.header-actions{display:flex;gap:8px;align-items:center}.btn{background:var(--accent);color:#052e16;border:1px solid var(--accent);padding:8px 14px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center}.btn,.btn:hover{text-decoration:none}.btn:hover{filter:brightness(1.05)}.btn-sm{padding:5px 10px;font-size:13px}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover{background:var(--panel-2)}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:hsla(0,91%,71%,.1)}.input{background:var(--panel-2);color:var(--text);border:1px solid var(--border);padding:8px 10px;border-radius:8px;font-size:14px;font-family:inherit;width:100%}.input:focus{outline:none;border-color:var(--accent)}.input-sm{padding:5px 8px;font-size:13px}.checkbox-btn{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--border);background:var(--panel-2);color:var(--accent);flex-shrink:0;margin-top:2px;cursor:pointer;font-size:14px;font-weight:700;padding:0;display:inline-flex;align-items:center;justify-content:center}.checkbox-btn.done{background:var(--accent-dim)}.checkbox-btn.done,.checkbox-btn:hover{border-color:var(--accent)}.inline-edit{display:flex;gap:6px;margin-top:8px;align-items:center}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.field input,.field textarea{color:var(--text)}.exercise-form{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.exercise-form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:6px;gap:6px}@media (max-width:520px){.exercise-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}