:root{--bg:#f4f5f7;--panel:#fff;--panel-2:#f9fafb;--text:#1d2330;--muted:#6b7280;--border:#e3e6eb;--accent:#2f80ed;--accent-ink:#fff;--danger:#d64545;--ok:#1f9d55;--warn:#b7791f;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1218;--panel:#171b23;--panel-2:#1d222c;--text:#e6e9ef;--muted:#9aa3b2;--border:#2a303c;--accent:#4c94f0;--shadow:0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}h2{margin:0;font-size:20px}h3{margin:0;font-size:16px}code{background:var(--panel-2);border-radius:4px;padding:1px 4px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:12px}.ok{color:var(--ok)}.warn{color:var(--warn)}.error{color:var(--danger)}button,.button,select,input,textarea{font:inherit;color:inherit}button,.button{background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;text-decoration:none;display:inline-flex}button:hover,.button:hover{border-color:var(--accent)}button:disabled{opacity:.6;cursor:progress}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button.danger{color:var(--danger)}button.link{color:var(--accent);background:0 0;border:none;padding:0 4px}button.link.danger{color:var(--danger)}input,select,textarea{background:var(--panel);border:1px solid var(--border);border-radius:8px;max-width:100%;padding:6px 8px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea{resize:vertical;width:100%}.app{min-height:100vh}.topbar{z-index:10;background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:10px 20px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.logo{align-items:flex-end;gap:2px;height:20px;display:inline-flex}.logo i{background:var(--accent);border-radius:1px;width:4px;display:block}.topbar nav{gap:4px;display:flex}.topbar nav a{color:var(--muted);border-radius:8px;padding:6px 10px;font-weight:500;text-decoration:none}.topbar nav a.on{color:var(--text);background:var(--panel-2)}.ai-badge{color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;margin-left:auto;padding:3px 8px;font-size:12px}.ai-badge.on{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent)}main{max-width:1500px;margin:0 auto;padding:16px 20px 40px}.banner{background:color-mix(in srgb, var(--danger) 12%, var(--panel));padding:8px 20px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:16px}.card h3{margin-bottom:12px}.cal-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.cal-head h2{flex:1}.cal-nav{gap:4px;display:flex}.cal-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(0,1fr)) 112px;gap:1px;display:grid;overflow:hidden}.cal-week{display:contents}.cal-dow{background:var(--panel-2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;font-size:12px;font-weight:600}.cal-day{background:var(--panel);flex-direction:column;gap:6px;min-height:128px;padding:6px;display:flex;position:relative}.cal-day.outside{background:var(--panel-2)}.cal-day.outside .cal-date{opacity:.5}.cal-day.today .cal-date{color:var(--accent);font-weight:700}.cal-day.drop{outline:2px dashed var(--accent);outline-offset:-3px}.cal-date{color:var(--muted);font-size:12px}.dow-inline{display:none}.add-btn{color:var(--muted);opacity:0;border-style:dashed;justify-content:center;align-self:stretch;margin-top:auto;padding:2px;transition:opacity .12s}.cal-day:hover .add-btn,.add-btn:focus-visible{opacity:1}@media (hover:none){.add-btn{opacity:1}}.cal-summary{background:var(--panel-2);flex-direction:column;gap:2px;padding:8px;font-size:12px;display:flex}.sum-big{font-size:16px;font-weight:700}.sum-tss{font-weight:600}.sum-done{color:var(--muted);margin-top:4px}.wcard{text-align:left;border:1px solid var(--border);border-left:4px solid var(--c);background:var(--panel);cursor:grab;border-radius:7px;width:100%;padding:5px 6px;display:block}.wcard:hover{border-color:var(--c)}.wcard.done{opacity:.65}.wcard-top{align-items:flex-start;gap:4px;display:flex}.wcard-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:12px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.wcard .sport{font-size:12px}.wcard .check{color:var(--ok);font-weight:700}.wcard-meta{color:var(--muted);margin:2px 0 3px;font-size:11px}.mini{width:100%;display:block}.mini-empty{background:repeating-linear-gradient(90deg, var(--border) 0 4px, transparent 4px 8px);opacity:.6;border-radius:2px}.modal-backdrop{z-index:50;background:#0a0e1480;justify-content:center;align-items:flex-start;padding:4vh 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border-radius:14px;width:min(760px,100%);box-shadow:0 20px 50px #00000040}.modal.wide{width:min(1240px,100%)}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-body{flex-direction:column;gap:14px;padding:16px 18px 20px;display:flex}.icon-btn{background:0 0;border:none;padding:2px 8px;font-size:22px;line-height:1}.segmented{background:var(--panel-2);border:1px solid var(--border);border-radius:9px;align-self:flex-start;padding:2px;display:inline-flex}.segmented button{color:var(--muted);background:0 0;border:none;border-radius:7px;padding:5px 14px;font-weight:500}.segmented button.on{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:999px;padding:3px 10px;font-size:13px}.chip.on{background:color-mix(in srgb, var(--accent) 14%, var(--panel));border-color:var(--accent)}.chip.cat .dot{background:var(--c);border-radius:50%;width:8px;height:8px}.chip.cat.on{background:color-mix(in srgb, var(--c) 16%, var(--panel));border-color:var(--c)}.pill{background:color-mix(in srgb, var(--c) 18%, transparent);color:var(--text);border:1px solid color-mix(in srgb, var(--c) 45%, transparent);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.tag{color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:0 5px;font-size:11px}.split{grid-template-columns:minmax(320px,440px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.split-detail{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-height:300px;padding:16px;position:sticky;top:64px}.modal .split-detail{top:0}.empty-detail{color:var(--muted);text-align:center;padding:80px 0}.browser{flex-direction:column;gap:8px;min-width:0;display:flex}.filters{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:10px;display:flex}.filters input[type=search]{width:100%}.range-row{flex-wrap:wrap;gap:10px;display:flex}.range-row label{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:flex}.range-row input[type=number]{width:64px}.result-count{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.results{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);max-height:62vh;margin:0;padding:0;list-style:none;overflow-y:auto}.results li+li{border-top:1px solid var(--border)}.row{text-align:left;border:none;border-left:4px solid var(--c);background:0 0;border-radius:0;grid-template-columns:24px minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;padding:7px 10px 7px 8px;display:grid}.row:hover{background:var(--panel-2);border-left-color:var(--c)}.row.selected{background:color-mix(in srgb, var(--accent) 10%, var(--panel))}.row-main{flex-direction:column;gap:3px;min-width:0;display:flex}.row-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.row-num{font-variant-numeric:tabular-nums;text-align:right;min-width:46px;font-size:13px}.row-num small{color:var(--muted);font-size:10px}.empty{text-align:center;color:var(--muted);padding:24px}.detail{flex-direction:column;gap:12px;min-width:0;display:flex}.detail-head{align-items:flex-start;gap:10px;display:flex}.sport-lg{font-size:26px;line-height:1}.detail-title h3{font-size:18px}.detail-sub{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.metrics{flex-wrap:wrap;gap:22px;display:flex}.metrics label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px;display:block}.metrics strong{font-variant-numeric:tabular-nums;font-size:20px}.metrics small{margin-left:4px;font-size:12px}.zonebar{border-radius:3px;height:6px;display:flex;overflow:hidden}.chart svg{background:var(--panel-2);border-radius:8px;width:100%;height:200px;display:block}.chart .grid{stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.chart .grid.ftp{stroke:var(--muted);stroke-dasharray:4 4}.chart .axis{fill:var(--muted);font-size:11px}.chart-readout{flex-wrap:wrap;align-items:center;gap:10px;min-height:24px;padding-top:4px;font-size:13px;display:flex}.chart-empty{text-align:center;color:var(--muted);background:var(--panel-2);border-radius:8px;padding:30px}.swatch{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.description{white-space:pre-wrap;background:var(--panel-2);border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.footnote{color:var(--muted);margin:0;font-size:12px}.steps{border-collapse:collapse;width:100%;font-size:13px}.steps th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);padding:4px 6px;font-size:11px}.steps td{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;padding:4px 6px}.steps tr.in-rep td:first-child{padding-left:18px}.steps .rep-row td{background:var(--panel-2);font-weight:600}.steps .role-warmup td,.steps .role-cooldown td{color:var(--muted)}.lib-edit{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inline-field{align-items:center;gap:6px;font-size:13px;display:inline-flex}.generate{grid-template-columns:minmax(320px,460px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.gen-form{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:14px;display:flex}.gen-result{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:16px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field>label,.field>span{font-size:13px;font-weight:600}.field-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.field input[type=range]{width:100%}.check-field{align-items:center;gap:8px;font-size:13px;display:flex}.focus-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.focus{text-align:left;border-left:4px solid var(--c);flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px}.focus span{color:var(--muted);font-size:12px}.focus:hover{border-left-color:var(--c)}.focus.on{background:color-mix(in srgb, var(--c) 14%, var(--panel));border-color:var(--c)}.gen-submit{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.warning{background:color-mix(in srgb, var(--warn) 14%, var(--panel));border-radius:8px;margin:0;padding:8px 10px;font-size:13px}.lib-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.toast{background:var(--text);color:var(--bg);z-index:60;border-radius:8px;padding:8px 14px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.settings{max-width:820px}.settings h2{margin-bottom:12px}.settings .field{max-width:360px;margin-bottom:12px}.zones{grid-template-columns:1fr 1fr;gap:16px;display:grid}.zone-table{border-collapse:collapse;width:100%;font-size:13px}.zone-table caption{text-align:left;margin-bottom:6px;font-weight:600}.zone-table td{border-bottom:1px solid var(--border);padding:3px 4px}@media (width<=1000px){.split,.generate{grid-template-columns:minmax(0,1fr)}.split-detail{position:static}.results{max-height:40vh}}@media (width<=760px){.topbar{flex-wrap:wrap;gap:10px;padding:8px 16px}.ai-badge{display:none}main{padding:12px 16px 32px}.cal-grid{grid-template-columns:minmax(0,1fr)}.cal-dow{display:none}.dow-inline{display:inline}.cal-day{min-height:0}.cal-day.outside{display:none}.add-btn{opacity:1}.cal-summary{border-bottom:3px solid var(--border);flex-flow:wrap;align-items:baseline;gap:10px}.field-row,.zones,.focus-grid{grid-template-columns:minmax(0,1fr)}.modal-backdrop{padding:0}.modal{border-radius:0;min-height:100vh}}
