:root{--ui-bg:#f2f2f7;--ui-surface:#fff;--ui-text:#1c1c1e;--ui-muted:#6c6c70;--ui-border:#d1d1d6;--ui-accent:#0a64d6;--ui-accent-text:#fff;--ui-danger:#c42b1c;--ui-ok:#1f8a3b;--ui-warn:#b26a00;--ui-radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ui-bg:#000;--ui-surface:#1c1c1e;--ui-text:#f2f2f7;--ui-muted:#98989f;--ui-border:#38383a;--ui-accent:#3b8cff;--ui-danger:#ff6b5e;--ui-ok:#4cd168;--ui-warn:#ffb340}}*,:before,:after{box-sizing:border-box}html,body{background:var(--ui-bg);color:var(--ui-text);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font:17px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.ui-layout{min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;display:flex}.ui-header{z-index:10;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;background:color-mix(in srgb, var(--ui-bg) 85%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);border-bottom:.5px solid var(--ui-border);align-items:center;gap:8px;display:flex;position:sticky;top:0}.ui-header h1{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:20px;font-weight:700;overflow:hidden}.ui-header-actions{align-items:center;gap:8px;display:flex}.ui-main{width:100%;max-width:640px;padding:16px 16px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;flex:1;gap:16px;margin:0 auto;display:flex}.ui-button{appearance:none;border-radius:var(--ui-radius);min-height:44px;font:inherit;cursor:pointer;background:var(--ui-accent);color:var(--ui-accent-text);touch-action:manipulation;border:0;padding:0 16px;font-weight:600}.ui-button:disabled{opacity:.45;cursor:default}.ui-button:not(:disabled):active{opacity:.7}.ui-button--secondary{background:var(--ui-surface);color:var(--ui-accent);border:1px solid var(--ui-border)}.ui-button--danger{color:var(--ui-danger);background:0 0;border:1px solid}.ui-button--ghost{color:var(--ui-accent);background:0 0;padding:0 8px}.ui-button:focus-visible,.ui-input:focus-visible,.ui-list-item--button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.ui-field{flex-direction:column;gap:6px;display:flex}.ui-field-label{color:var(--ui-muted);text-transform:uppercase;letter-spacing:.02em;font-size:13px;font-weight:600}.ui-field-hint{color:var(--ui-muted);font-size:13px}.ui-field-error{color:var(--ui-danger);font-size:13px}.ui-input{width:100%;min-height:44px;font:inherit;color:inherit;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);padding:10px 12px}textarea.ui-input{resize:vertical;min-height:88px}.ui-list{background:var(--ui-surface);border-radius:var(--ui-radius);margin:0;padding:0;list-style:none;overflow:hidden}.ui-list-item{align-items:center;gap:12px;min-height:48px;padding:12px 16px;display:flex}.ui-list>li+li{border-top:.5px solid var(--ui-border)}.ui-list-item--button{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.ui-list-item--button:active{background:color-mix(in srgb, var(--ui-text) 6%, transparent)}.ui-list-item-body{overflow-wrap:anywhere;flex:1;min-width:0}.ui-list-item-meta{color:var(--ui-muted);font-size:13px}.ui-list-empty{text-align:center;color:var(--ui-muted);padding:24px 16px}.ui-sync{color:var(--ui-muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.ui-sync-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.ui-sync--synced{color:var(--ui-ok)}.ui-sync--pending{color:var(--ui-warn)}.ui-sync--offline{color:var(--ui-muted)}.ui-sync--error{color:var(--ui-danger)}.ui-sync--busy .ui-sync-dot{animation:1s ease-in-out infinite ui-pulse}@keyframes ui-pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.ui-sync--busy .ui-sync-dot{animation:none}}.ui-row{flex-wrap:wrap;gap:8px;display:flex}.ui-row>.ui-button{flex:1}.ui-muted{color:var(--ui-muted);font-size:15px}.ui-layout--bottom .ui-main{padding-bottom:calc(env(safe-area-inset-bottom) + 140px)}.ui-tabbar{z-index:20;padding:6px max(8px, env(safe-area-inset-left)) calc(env(safe-area-inset-bottom) + 6px) max(8px, env(safe-area-inset-right));background:color-mix(in srgb, var(--ui-surface) 90%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);border-top:.5px solid var(--ui-border);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.ui-tab{min-height:44px;color:var(--ui-muted);border-radius:10px;flex:1;justify-content:center;align-items:center;font-size:15px;font-weight:600;text-decoration:none;display:flex}.ui-tab--active{color:var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 12%, transparent)}.ui-fab{right:max(16px, env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 72px);z-index:25;min-height:52px;font:inherit;color:var(--ui-accent-text);background:var(--ui-accent);cursor:pointer;touch-action:manipulation;border:0;border-radius:26px;padding:0 20px;font-weight:700;position:fixed;box-shadow:0 6px 20px #00000040}.ui-fab:active{opacity:.8}.ui-sheet-root{z-index:50;pointer-events:none;position:fixed;inset:0}.ui-sheet-backdrop{opacity:0;background:#00000059;transition:opacity .2s;position:absolute;inset:0}.ui-sheet{max-height:92dvh;padding:12px 16px calc(env(safe-area-inset-bottom) + 16px);background:var(--ui-bg);border-radius:16px 16px 0 0;flex-direction:column;gap:14px;transition:transform .22s ease-out;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(105%)}.ui-sheet-root--open{pointer-events:auto}.ui-sheet-root--open .ui-sheet-backdrop{opacity:1}.ui-sheet-root--open .ui-sheet{transform:none}.ui-sheet-head{justify-content:space-between;align-items:center;display:flex}.ui-sheet-head h2{margin:0;font-size:18px}@media (prefers-reduced-motion:reduce){.ui-sheet,.ui-sheet-backdrop{transition:none}}.ui-chips{flex-wrap:wrap;gap:8px;display:flex}.ui-chip{border:1px solid var(--ui-border);background:var(--ui-surface);min-height:36px;color:var(--ui-text);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:18px;padding:0 14px;font-size:15px}.ui-chip--on{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-text);font-weight:600}.ui-chip:focus-visible,.ui-tab:focus-visible,.ui-fab:focus-visible,.ui-card--button:focus-visible,.ui-toggle:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.ui-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ui-muted) 50%), linear-gradient(135deg, var(--ui-muted) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}.ui-toggle-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.ui-toggle-label{flex-direction:column;gap:2px;display:flex}.ui-toggle{appearance:none;background:var(--ui-border);cursor:pointer;border-radius:16px;flex:none;width:51px;height:31px;margin:0;transition:background .15s;position:relative}.ui-toggle:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.ui-toggle:checked{background:var(--ui-ok)}.ui-toggle:checked:after{transform:translate(20px)}.ui-card{text-align:left;width:100%;font:inherit;color:inherit;background:var(--ui-surface);border-radius:var(--ui-radius);border:0;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.ui-card--accent{background:color-mix(in srgb, var(--ui-accent) 12%, var(--ui-surface))}.ui-card--button{cursor:pointer}.ui-card--button:active{opacity:.75}.ui-card strong{font-size:17px}.ui-section{flex-direction:column;gap:8px;display:flex}.ui-section-head{justify-content:space-between;align-items:center;min-height:32px;display:flex}.ui-section-head h2{letter-spacing:.02em;text-transform:uppercase;color:var(--ui-muted);margin:0;font-size:13px;font-weight:600}.ui-badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.ui-badge--muted{color:var(--ui-muted);background:color-mix(in srgb, var(--ui-muted) 15%, transparent)}.ui-badge--accent{color:var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 15%, transparent)}.ui-badge--ok{color:var(--ui-ok);background:color-mix(in srgb, var(--ui-ok) 15%, transparent)}.ui-badge--warn{color:var(--ui-warn);background:color-mix(in srgb, var(--ui-warn) 15%, transparent)}.ui-button--armed{background:var(--ui-danger);color:#fff}.stack{flex-direction:column;gap:16px;display:flex}.meta-line{color:var(--ui-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.actions-end{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.align-start{align-self:flex-start}.attachment{gap:8px;padding:8px 8px 8px 12px}.attachment-open{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:0;display:flex}.attachment-open .ui-list-item-body{overflow-wrap:anywhere;flex-direction:column;gap:2px;display:flex}.attachment-thumb,.attachment-icon{object-fit:cover;background:var(--ui-bg);border-radius:8px;flex:none;width:48px;height:48px}.attachment-icon{color:var(--ui-muted);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.viewer{z-index:60;color:#fff;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-bar{--ui-accent:#fff;align-items:center;gap:8px;padding:6px 8px;display:flex}.viewer-name{text-overflow:ellipsis;white-space:nowrap;text-align:center;flex:1;min-width:0;font-weight:600;overflow:hidden}.viewer-img{object-fit:contain;flex:1;width:100%;min-height:0}.viewer-msg{color:#ccc;margin:auto}:root{--ui-accent:#b3471d}@media (prefers-color-scheme:dark){:root{--ui-accent:#ff9a6b;--ui-accent-text:#3a1405}}.big-number{font-variant-numeric:tabular-nums;font-size:28px;line-height:1.15}.pre-line{white-space:pre-line}.plain-list{flex-direction:column;gap:2px;margin:0;padding-left:18px;display:flex}.start-button{min-height:56px;font-size:18px}.stat-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ex-strip{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.ex-chip{min-height:36px;font:inherit;color:inherit;background:var(--ui-surface);cursor:pointer;border:1px solid #0000;border-radius:18px;flex:none;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:flex}.ex-chip--on{border-color:var(--ui-accent);font-weight:600}.ex-chip--done{opacity:.6}.ex-chip-count{font-variant-numeric:tabular-nums;color:var(--ui-muted)}.ex-page{min-height:50vh}.ex-name{margin:0 0 4px;font-size:24px}.ex-meta{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.set-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.set-row{width:100%;min-height:56px;font:inherit;color:inherit;text-align:left;background:var(--ui-surface);border-radius:var(--ui-radius);border:0;align-items:center;gap:12px;padding:0 0 0 14px;display:flex}.set-row--done{cursor:pointer}.set-no{min-width:22px;color:var(--ui-muted);font-variant-numeric:tabular-nums;font-weight:700}.set-value{font-variant-numeric:tabular-nums;flex:1;font-size:18px}.set-tick{width:56px;height:56px;color:var(--ui-accent);justify-content:center;align-items:center;margin-left:auto;font-size:22px;display:flex}.set-tick--todo{font:inherit;color:var(--ui-muted);cursor:pointer;background:0 0;border:0;font-size:22px}.set-current{background:var(--ui-surface);border:2px solid var(--ui-accent);border-radius:var(--ui-radius);flex-direction:column;gap:12px;padding:14px;display:flex}.set-current-head{align-items:baseline;gap:12px;display:flex}.stepper{grid-template-columns:72px 1fr 72px;align-items:center;gap:8px;display:grid}.step{height:64px;font:inherit;color:inherit;background:var(--ui-bg);cursor:pointer;border:0;border-radius:14px;font-size:30px}.step-value{flex-direction:column;align-items:center;display:flex}.step-input{width:100%;font:inherit;font-variant-numeric:tabular-nums;text-align:center;color:inherit;border:0;border-bottom:1px dashed var(--ui-muted);background:0 0;border-radius:0;padding:0;font-size:32px;font-weight:700}.step-input:focus{border-bottom-color:var(--ui-accent);outline:none}.rir-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rir{min-width:44px;min-height:44px;font:inherit;color:inherit;background:var(--ui-bg);cursor:pointer;border:1px solid #0000;border-radius:22px;padding:0 10px}.rir--on{border-color:var(--ui-accent);color:var(--ui-accent);font-weight:600}.log-button{min-height:64px;font:inherit;color:var(--ui-accent-text,#fff);background:var(--ui-accent);cursor:pointer;border:0;border-radius:14px;font-size:20px;font-weight:700}.session-actions{padding:8px 0 calc(8px + env(safe-area-inset-bottom));background:var(--ui-bg);grid-template-columns:56px 1fr 1fr 56px;gap:8px;display:grid;position:sticky;bottom:0}.session-actions .ui-button{min-height:56px}.picker-list{max-height:55vh;overflow-y:auto}.rest-banner{top:calc(env(safe-area-inset-top) + 62px);z-index:5;color:var(--ui-accent-text,#fff);background:var(--ui-accent);border-radius:var(--ui-radius);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex;position:sticky}.rest-banner--done{background:var(--ui-danger)}.rest-time{font-variant-numeric:tabular-nums;font-size:28px}.rest-buttons{gap:6px;display:flex}.rest-btn{min-width:52px;min-height:44px;font:inherit;color:inherit;cursor:pointer;background:#ffffff2e;border:0;border-radius:10px;font-weight:600}.rest-flash body{animation:.4s ease-in-out 3 rest-flash}@keyframes rest-flash{50%{background:var(--ui-accent)}}@media (prefers-reduced-motion:reduce){.rest-flash body{outline:8px solid var(--ui-accent);outline-offset:-8px;animation:none}}.reorder-row{align-items:center;gap:4px;padding:0 4px 0 0;display:flex}.reorder-body{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;padding:12px 16px;display:flex}.reorder-buttons{display:flex}:root{--chart-line:#b3471d}@media (prefers-color-scheme:dark){:root{--chart-line:#d9703f}}.chart{background:var(--ui-surface);border-radius:var(--ui-radius);flex-direction:column;gap:8px;margin:0;padding:12px;display:flex}.chart svg{touch-action:pan-y;width:100%;height:auto}.chart-readout{font-variant-numeric:tabular-nums}.chart-legend{color:var(--ui-muted);gap:16px;font-size:13px;display:flex}.legend-dot{background:var(--chart-line);opacity:.45;border-radius:50%;width:8px;height:8px;display:inline-block}.legend-line{vertical-align:middle;background:var(--chart-line);width:16px;height:2px;display:inline-block}.chart-grid{stroke:var(--ui-border);stroke-width:1px}.chart-axis{fill:var(--ui-muted);font-size:10px}.chart-line{fill:none;stroke:var(--chart-line);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-raw{fill:var(--chart-line);opacity:.45}.chart-crosshair{stroke:var(--ui-muted);stroke-width:1px}.chart-dot{fill:var(--chart-line);stroke:var(--ui-surface);stroke-width:2px}.chart-table>summary{cursor:pointer;color:var(--ui-accent);font-size:14px}.stats{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px;font-size:15px}.stats th,.stats td{text-align:right;padding:8px}.stats th[scope=row],.stats thead th:first-child{text-align:left;font-weight:500}.totals-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.total{background:var(--ui-surface);border-radius:var(--ui-radius);flex-direction:column;padding:10px;display:flex}.total strong{font-variant-numeric:tabular-nums;font-size:20px}.chart-title{margin:4px 0 -4px;font-size:14px;font-weight:600}.ss-label{color:var(--ui-accent-text,#fff);background:var(--ui-accent);vertical-align:.15em;border-radius:6px;margin-right:6px;padding:0 6px;font-size:.75em;font-weight:700;display:inline-block}.plates{text-align:center;font-size:13px}.chart-bar{fill:var(--chart-line);opacity:.75}.chart-bar--on{opacity:1}.phase-banner{background:var(--ui-surface);border-left:3px solid var(--ui-accent);border-radius:6px;margin:0;padding:8px 12px;font-size:14px}.track-start{fill:var(--ui-surface);stroke:var(--chart-line);stroke-width:2px}.legend-start{border:2px solid var(--chart-line);border-radius:50%;width:8px;height:8px;display:inline-block}.legend-dot--solid{opacity:1}.climbs{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.climb-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.climb-grade{min-width:48px;font-size:18px}.climb-add{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}
