:root{--bg:#0b0f14;--card:#111827;--text:#e5e7eb;--muted:#9ca3af;--accent:#22c55e;--border:#1f2937}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.container{max-width:900px;margin:0 auto;padding:24px}.nav{display:flex;gap:12px;align-items:center;margin-bottom:18px}.nav a{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:rgba(17,24,39,.6)}.nav a.active{border-color:var(--accent)}.card{border:1px solid var(--border);border-radius:14px;padding:16px;background:rgba(17,24,39,.75)}.h1{font-size:28px;margin:0 0 6px}.muted{color:var(--muted)}.list{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.badge{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:4px 10px;color:var(--muted);font-size:12px}.btn{padding:8px 10px;border-radius:10px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.25);color:var(--text)}.btn:hover{filter:brightness(1.05)}.segmented{display:inline-flex;border:1px solid rgba(31,41,55,.95);border-radius:12px;overflow:hidden}.segBtn{padding:8px 10px;background:rgba(17,24,39,.4);border:0;color:var(--muted)}.segBtn.active{background:rgba(34,197,94,.16);color:var(--text)}.calendarHeader{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:linear-gradient(180deg,rgba(17,24,39,.98),rgba(17,24,39,.78));-webkit-backdrop-filter:saturate(1.1) blur(8px);backdrop-filter:saturate(1.1) blur(8px);margin:-16px -16px 0;padding:16px 16px 10px;border-bottom:1px solid rgba(31,41,55,.8);border-radius:14px 14px 0 0}.calendarHeaderTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.calendarHeaderActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.weekday{color:var(--muted);font-size:12px;padding:6px;text-align:center}.calendarCell{border:1px solid var(--border);border-radius:12px;background:rgba(17,24,39,.55);min-height:78px;overflow:hidden}.calendarCellButton{width:100%;height:100%;display:flex;flex-direction:column;gap:6px;align-items:stretch;justify-content:flex-start;padding:10px;background:transparent;border:0;color:inherit;text-align:left}.calendarCellButton:active{transform:translateY(.5px)}.calendarCellPad{opacity:.25}.calendarCellTop{display:flex;align-items:center;justify-content:space-between;gap:8px}.dayNum{font-size:12px;font-weight:700;line-height:1}.doneBtn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(31,41,55,.95);background:rgba(156,163,175,.08);color:var(--muted);font-size:12px}.doneBtn.done{border-color:rgba(34,197,94,.5);background:rgba(34,197,94,.14);color:#bff3d3}.workoutLine{display:flex;align-items:center;gap:8px;min-height:20px}.workoutInitials{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;padding:0 8px;border-radius:999px;border:1px solid rgba(31,41,55,.9);background:rgba(17,24,39,.6);color:var(--muted);font-size:11px;letter-spacing:.06em}.workoutTitle{color:var(--muted);font-size:12px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.weekList{display:grid;grid-gap:8px;gap:8px}.weekRow{border:1px solid var(--border);border-radius:12px;background:rgba(17,24,39,.55);overflow:hidden}.weekRowButton{width:100%;justify-content:space-between;padding:12px;background:transparent;border:0;color:inherit;text-align:left}.weekRowButton,.weekRowLeft{display:flex;align-items:center;gap:12px}.weekRowLeft{min-width:0}.weekRowDay{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:44px}.weekRowWeekday{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.weekRowDate{font-size:16px;font-weight:800;line-height:1}.weekRowWorkout{display:flex;align-items:center;gap:8px;min-width:0}.weekRowTitle{color:var(--muted);font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modalOverlay{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center;padding:14px}.modalCard{width:100%;max-width:520px;border:1px solid var(--border);border-radius:16px;background:rgba(17,24,39,.98);padding:14px}.modalTitle{font-size:18px;margin:0}.modalSubtitle{margin-top:6px;color:var(--muted);font-size:13px}.modalActions{display:flex;gap:10px;margin-top:14px}.modalBtn{flex:1 1;min-height:44px;border-radius:12px;border:1px solid rgba(31,41,55,.95);background:rgba(156,163,175,.08);color:var(--text)}.modalBtn.primary{border-color:rgba(34,197,94,.5);background:rgba(34,197,94,.18)}.tagSection{margin-top:12px}.tagRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tagLabel{min-width:56px;color:var(--muted);font-size:12px}.tagBtn{padding:6px 10px;border-radius:999px;border:1px solid rgba(31,41,55,.95);background:rgba(156,163,175,.08);color:var(--text);font-size:12px}.tagBtn.active{border-color:rgba(34,197,94,.5);background:rgba(34,197,94,.18)}.noteArea{width:100%;margin-top:6px;border-radius:12px;border:1px solid rgba(31,41,55,.95);background:rgba(17,24,39,.6);color:var(--text);padding:10px;resize:vertical}.noteArea:focus{outline:2px solid rgba(34,197,94,.25)}.ok{color:#39d98a}@media (max-width:480px){.card,.container{padding:14px}.calendarHeader{margin:-14px -14px 0;padding:14px 14px 10px}.calendarGrid{gap:6px}.weekday{padding:4px 0;font-size:11px}.calendarCell{min-height:70px;border-radius:10px}.calendarCellButton{padding:8px}.doneBtn{min-width:34px;height:28px}}