:root{--bg:#f6f7f5;--surface:#fff;--surface-2:#f0f2ef;--text:#1b1f1d;--muted:#66706b;--border:#dde2de;--accent:#0f766e;--accent-ink:#fff;--accent-soft:#d8efeb;--ok:#15803d;--ok-soft:#dcfce7;--warn:#a16207;--warn-soft:#fef3c7;--err:#b91c1c;--err-soft:#fee2e2;--info:#475569;--strength:#7c3aed;--radius:10px;--shadow:0 1px 2px #0000000d, 0 2px 8px #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--bg:#121514;--surface:#1b1f1d;--surface-2:#232826;--text:#e8ebe9;--muted:#9aa5a0;--border:#313836;--accent:#2dd4bf;--accent-ink:#062b27;--accent-soft:#123f3a;--ok:#4ade80;--ok-soft:#14361f;--warn:#fbbf24;--warn-soft:#3b2f10;--err:#f87171;--err-soft:#3d1717;--info:#94a3b8;--strength:#a78bfa;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2{margin:0;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.15rem}p{margin:0}a{color:var(--accent)}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:7px;min-width:0;padding:6px 9px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input.invalid{border-color:var(--err)}textarea{resize:vertical;width:100%}button,.button{background:var(--accent);color:var(--accent-ink);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-weight:550;text-decoration:none;display:inline-flex}button:disabled{opacity:.5;cursor:not-allowed}button.secondary,.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}button.link{color:var(--accent);background:0 0;padding:0;font-weight:500}button.icon{color:var(--muted);background:0 0;border-radius:6px;padding:2px 7px}button.icon:hover:not(:disabled){background:var(--surface-2);color:var(--text)}button.icon.danger:hover:not(:disabled){color:var(--err)}button.danger-outline{color:var(--err);border-color:var(--err);background:0 0}.container{max-width:1200px;margin:0 auto;padding:20px 16px 96px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.brand{color:var(--text);align-items:center;gap:8px;font-weight:700;text-decoration:none;display:inline-flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.narrow{width:100%;max-width:460px;margin-inline:auto}.stack{flex-direction:column;gap:12px;display:flex}.inline{align-items:center;gap:6px;display:inline-flex}.wrap{flex-wrap:wrap}.grow{flex:auto}.grid-2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.field{flex-direction:column;gap:4px;display:flex}.field>span{color:var(--muted);font-size:.85rem;font-weight:550}.check{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--err)}.center{place-items:center;min-height:60vh;display:grid}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.plain{margin:0;padding-left:18px}.pad{padding:8px}.badge{border-radius:999px;width:fit-content;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.badge.ok,.status-badge-synced{background:var(--ok-soft);color:var(--ok)}.badge.warn,.status-badge-outdated,.status-badge-draft{background:var(--warn-soft);color:var(--warn)}.badge.err,.status-badge-error{background:var(--err-soft);color:var(--err)}.muted-badge,.status-badge-draft{background:var(--surface-2);color:var(--muted)}.notice{background:var(--accent-soft);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.athlete-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.athlete-row{grid-template-columns:1fr auto auto;align-items:center;gap:12px;display:grid}.athlete-name{color:var(--text);font-size:1.05rem;font-weight:650;text-decoration:none}.invite{align-items:center;gap:8px;margin-top:10px;display:flex}.invite input{flex:1;font-family:ui-monospace,monospace;font-size:.8rem}@media (width<=700px){.athlete-row{grid-template-columns:1fr}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.page-head .badge{margin-top:6px}.cal-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-nav h2{text-align:center;text-transform:capitalize;min-width:170px}.legend{align-items:center;gap:5px;margin-left:auto;display:inline-flex}.calendar{border:1px solid var(--border);border-radius:var(--radius);background:var(--border);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.cal-weekday{background:var(--surface-2);text-align:center;color:var(--muted);padding:6px;font-size:.8rem;font-weight:600}.cal-day{background:var(--surface);cursor:pointer;flex-direction:column;gap:3px;min-width:0;min-height:112px;padding:4px;display:flex}.cal-day:hover{background:var(--surface-2)}.cal-day.out{background:var(--bg)}.cal-day.out .cal-date{opacity:.45}.cal-day.today .cal-date{background:var(--accent);color:var(--accent-ink)}.cal-day.drop{outline:2px dashed var(--accent);outline-offset:-3px}.cal-date{border-radius:999px;align-self:flex-end;padding:0 6px;font-size:.8rem;font-weight:600}.wchip{text-align:left;background:var(--accent-soft);width:100%;color:var(--text);border-left:3px solid var(--accent);white-space:normal;cursor:grab;border-radius:6px;grid-template-columns:1fr auto;align-items:center;column-gap:4px;padding:4px 6px;font-size:.8rem;font-weight:500;display:grid}.wchip.sport-strength{border-left-color:var(--strength);background:color-mix(in srgb, var(--strength) 14%, var(--surface))}.wchip-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wchip-meta{color:var(--muted);grid-column:1;font-size:.75rem}.wchip .dot{grid-area:1/2/span 2}.dot{background:var(--muted);border-radius:50%;width:8px;height:8px;display:inline-block}.dot.status-synced{background:var(--ok)}.dot.status-draft{background:var(--info);opacity:.5}.dot.status-outdated{background:var(--warn)}.dot.status-error{background:var(--err)}@media (width<=760px){.cal-day{min-height:72px}.wchip-meta{display:none}.legend{margin-left:0}}.modal{border:1px solid var(--border);background:var(--surface);width:min(920px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);border-radius:14px;padding:18px}.modal::backdrop{background:#0006}.modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-actions{background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0 0;display:flex;position:sticky;bottom:-18px}.segmented{border:1px solid var(--border);border-radius:8px;width:fit-content;display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);color:var(--text);border-radius:0}.segmented button.active{background:var(--accent);color:var(--accent-ink)}.block{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:8px;padding:10px;display:flex}.block-head{align-items:center;gap:8px;min-width:0;display:flex}.step-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nested{background:var(--surface-2);border-radius:8px;align-items:flex-start;gap:6px;padding:8px;display:flex}.nested .step-row{flex:1}.row-actions{display:flex}.w-pace{text-align:center;width:62px}.w-clock{text-align:center;width:70px}.w-num{width:76px}.splits{flex-wrap:wrap;gap:4px;display:flex}.chip{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 8px;font-size:.75rem}.picker{flex-direction:column;gap:4px;display:flex;position:relative}.picker-list{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:8px;max-height:260px;margin:2px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 8px 24px #00000026}.picker-list button{width:100%;color:var(--text);background:0 0;justify-content:space-between;padding:5px 8px;font-weight:450}.picker-list button:hover{background:var(--surface-2)}.review-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.review{flex-direction:column;gap:8px;display:flex}.review.excluded{opacity:.55}.review-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.title-input{font-weight:600}.source{border-left:3px solid var(--border);color:var(--muted);margin:0;padding:4px 10px;font-size:.85rem;font-style:italic}.warnings{background:var(--warn-soft);color:var(--warn);border-radius:8px;margin:0;padding:6px 10px 6px 26px;font-size:.85rem}.sticky-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;bottom:12px;box-shadow:0 6px 24px #0000001f}.prefixed{align-items:stretch;min-width:0;display:flex}.prefixed input{flex:1;min-width:0}.prefix{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-right:0;border-radius:7px 0 0 7px;align-items:center;padding:0 8px;font-family:ui-monospace,monospace;font-size:.85rem;display:inline-flex}.prefix+input{border-radius:0 7px 7px 0}.wchip-code{color:var(--muted);font-family:ui-monospace,monospace;font-size:.72rem}.inline-field{flex-flow:wrap;align-items:center;gap:8px}
