@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/barlow-400-DygnOwyn.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlow-600-DO9c7XN2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlow-semi-condensed-600-D36brihh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#160f0c;--surface:#201714;--surface-raised:#29201d;--line:#352926;--line-strong:#7f726c;--text:#efe8e3;--text-muted:#aa9d97;--accent:#e3dfd7;--accent-press:#c9c5bd;--signal:#f0cf4c;--on-accent:var(--bg);--focus:var(--accent);--danger:#ed9a9a;--z1:#737a86;--z2:#227be5;--z3:#61ab7e;--z4:#f7962e;--z5:#cd5f5c;--text-disabled:color-mix(in srgb, var(--text) 38%, var(--surface));--press-on-surface:color-mix(in srgb, var(--text) 10%, var(--surface));--press-on-raised:color-mix(in srgb, var(--text) 10%, var(--surface-raised));--signal-tint:color-mix(in srgb, var(--signal) 12%, transparent);--signal-line:color-mix(in srgb, var(--signal) 50%, transparent);--danger-tint:color-mix(in srgb, var(--danger) 12%, transparent);--data-ink:var(--text);--data-wash:color-mix(in srgb, var(--text) 8%, var(--surface));--data-band:color-mix(in srgb, var(--text) 16%, var(--surface));--scrim:#0000008c;--font-text:"Barlow", system-ui, sans-serif;--font-num:"Barlow Semi Condensed", "Barlow", system-ui, sans-serif;--fs-display:2.5rem;--fs-lg:1.5rem;--fs-md:1.25rem;--fs-body:1rem;--fs-label:.875rem;--fs-caption:.8125rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius:8px;--radius-sm:4px;--radius-mark:2px;--target:44px;--target-strong:48px;--row-h:56px;--chip-h:36px;--badge-h:24px;--check:22px;--date-col:34px;--legend-mark:12px;--signal-dot:8px;--signal-icon:.7em;--name-max:10em;--topbar-h:64px;--tabbar-h:64px;--actions-h:65px;--bottom-ui:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));--textarea-min:112px;--progress-h:6px;--zones-h:8px;--content-max:720px;--rail-w:220px;--dialog-w:560px;--sheet-max:88dvh;--auth-max:25rem;--reading-max:40rem;--dur-press:.12s;--dur-short:.16s;--dur-medium:.22s;--dur-sheet:.28s;--dur-pulse:1.4s;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-sheet:cubic-bezier(.32, .72, 0, 1)}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none;background:var(--bg);caret-color:var(--accent);accent-color:var(--accent);scroll-padding-top:calc(env(safe-area-inset-top,0px) + var(--topbar-h) + var(--space-2));scroll-padding-bottom:calc(var(--bottom-ui) + var(--actions-h) + var(--space-2))}body{background:var(--bg);color:var(--text);font-family:var(--font-text);font-synthesis-weight:none;font-size:var(--fs-body);margin:0;line-height:1.5}h1,h2,h3,p{margin:0}strong,b,th,h1,h2,h3,h4{font-weight:600}h1{font-family:var(--font-num);font-size:var(--fs-lg);text-wrap:balance;line-height:1.15}h2{font-family:var(--font-num);font-size:var(--fs-md);line-height:1.2}h3,h4{font-size:var(--fs-body)}small,.muted{color:var(--text-muted)}small{font-size:var(--fs-caption)}code{font-size:var(--fs-caption);overflow-wrap:anywhere}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--space-2);padding:0}summary{cursor:pointer;min-height:var(--target);padding-block:var(--space-2)}summary h2{display:inline}button,a,[role=button],.tab,.chip{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button,input,select,textarea{font:inherit}input,textarea,select{font-size:var(--fs-body);color:var(--text)}::selection{background:var(--accent);color:var(--on-accent)}::placeholder{color:var(--text-muted);opacity:1}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sheet:focus-visible{outline:none}.btn{appearance:none;border-radius:var(--radius);min-height:var(--target-strong);padding:var(--space-2) var(--space-4);background:var(--accent);color:var(--on-accent);font-weight:600;font-size:var(--fs-body);justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-press) var(--ease-out);border:0;line-height:1.25;text-decoration:none;display:inline-flex}.btn.secondary,.btn.danger{min-height:var(--target);border:1px solid var(--line);color:var(--text);background:0 0}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn.danger-fill{background:var(--danger);color:var(--bg)}.btn:disabled{background:var(--surface-raised);color:var(--text-disabled);cursor:default}.btn.secondary:disabled,.btn.danger:disabled{border-color:var(--line);background:0 0}.btn.block{width:100%}.card-actions .btn,.sticky-actions .btn{min-height:var(--target-strong)}.link{min-width:var(--target);min-height:var(--target);border-radius:var(--radius);color:var(--text);font-size:var(--fs-body);cursor:pointer;text-underline-offset:3px;transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-press) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-weight:600;line-height:1.25;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.link.danger{color:var(--danger)}.link:disabled{color:var(--text-disabled);cursor:default}.link.start{text-align:start;justify-content:flex-start}summary.link{padding-block:var(--space-2);display:list-item}.btn:active:not(:disabled),.link:active:not(:disabled),.icon-btn:active:not(:disabled),.send:active:not(:disabled),.chip:active:not(:disabled){transform:scale(.97)}.btn:active:not(:disabled,.secondary,.danger,.danger-fill),.send:active:not(:disabled,.stop){background:var(--accent-press)}.btn.secondary:active:not(:disabled),.btn.danger:active:not(:disabled),.link:active:not(:disabled),.icon-btn:active:not(:disabled),.send.stop:active:not(:disabled){background:var(--press-on-surface)}@media (prefers-reduced-motion:reduce){.btn:active:not(:disabled),.link:active:not(:disabled),.icon-btn:active:not(:disabled),.send:active:not(:disabled),.chip:active:not(:disabled){transform:none}}.row-button:focus-visible,.chip:focus-visible,.seg button:focus-visible,.level button:focus-visible{outline-offset:-3px}.seg button[aria-pressed=true]:focus-visible,.level button[aria-pressed=true]:focus-visible{outline-color:var(--on-accent)}@media (hover:hover) and (pointer:fine){.card.tap:has(.card-open:hover){background:var(--press-on-surface)}.btn:hover:not(:disabled,.secondary,.danger,.danger-fill),.send:hover:not(:disabled,.stop){background:var(--accent-press)}.btn.secondary:hover:not(:disabled),.btn.danger:hover:not(:disabled),.link:hover:not(:disabled),.icon-btn:hover:not(:disabled),.send.stop:hover:not(:disabled),.row-button:hover:not(:disabled),.chip:hover:not(:disabled):before{background:var(--press-on-surface)}.chip[aria-pressed=true]:hover:not(:disabled):before{background:var(--accent-press);border-color:var(--accent-press)}}.field{font-size:var(--fs-label);color:var(--text);flex-direction:column;gap:6px;font-weight:600;display:flex}.field input,.field textarea,.field select{width:100%;min-height:var(--target-strong);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);padding:var(--space-3);font-weight:400}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field textarea{min-height:var(--textarea-min);resize:vertical}.field small{font-weight:400}input[type=file]{max-width:100%}.field.narrow{width:120px}.form{gap:var(--space-4);flex-direction:column;display:flex}.check{align-items:center;gap:var(--space-2);min-height:var(--target-strong);font-size:var(--fs-body);cursor:pointer;display:flex}.check-list{flex-direction:column;display:flex}.check-list small{display:block}input[type=checkbox],.tick{appearance:none;width:var(--check);height:var(--check);border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:0 0;flex-shrink:0;margin:0;display:inline-block;position:relative}input[type=checkbox]{cursor:pointer}input[type=checkbox]:before,.tick:before{content:"";visibility:hidden;background:var(--on-accent);position:absolute;inset:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.33' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.33' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") 50%/contain no-repeat}input[type=checkbox]:checked,[aria-pressed=true]>.tick{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:before,[aria-pressed=true]>.tick:before{visibility:visible}input[type=checkbox]:disabled{border-color:var(--text-disabled);cursor:default}input[type=checkbox]:checked:disabled{background:var(--text-disabled)}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:20;background:var(--bg);padding:calc(var(--space-2) + env(safe-area-inset-top,0px)) var(--space-4) var(--space-2);align-items:center;gap:var(--space-2);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-2);font-weight:600;font-size:var(--fs-body);display:flex}.brand svg{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.topbar .brand{display:none}.profiles{scrollbar-width:none;flex:1;gap:6px;padding:2px;display:flex;overflow-x:auto}.profiles::-webkit-scrollbar{display:none}.profile-chip{min-height:var(--chip-h);padding:3px var(--space-3) 3px 3px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--text-muted);font-weight:600;font-size:var(--fs-label);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;display:flex}.profile-chip .avatar{border-radius:var(--radius-sm);background:var(--press-on-surface);width:28px;height:28px;color:var(--accent);font-size:var(--fs-caption);place-items:center;display:grid}.profile-chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.profile-chip[aria-pressed=true] .avatar{background:var(--on-accent);color:var(--accent)}.screen{width:100%;max-width:var(--content-max);padding:6px var(--space-4) calc(var(--bottom-ui) + var(--space-6));gap:var(--space-3);flex-direction:column;flex:1;margin:0 auto;display:flex}.screen-title{justify-content:space-between;align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;padding:6px 2px 2px;display:flex}.screen-title p{color:var(--text-muted);font-size:var(--fs-caption)}.tabbar{z-index:30;background:var(--bg);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tab{min-height:var(--tabbar-h);min-width:0;color:var(--text-muted);font-size:var(--fs-label);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;line-height:1.3;display:flex;container:tab/inline-size}.tab svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.tab[aria-current=page]{color:var(--accent);font-weight:600}.tab[aria-current=page] .tab-label{text-underline-offset:5px;text-decoration-line:underline;text-decoration-thickness:2px}@container tab (width<=4.75rem){.tab-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tab svg{box-sizing:content-box;border-bottom:2px solid #0000;padding-bottom:5px}.tab[aria-current=page] svg{border-bottom-color:currentColor}}@media (width>=900px){.app{grid-template-columns:var(--rail-w) minmax(0, 1fr);grid-template-rows:auto 1fr;display:grid}.topbar{padding:var(--space-3) var(--space-5);grid-column:1/-1}.topbar .brand{margin-right:var(--space-4);display:flex}.tabbar{top:var(--topbar-h);padding:var(--space-3);align-self:start;gap:var(--space-1);background:0 0;border:0;grid-template-columns:1fr;position:sticky;bottom:auto}.tab{justify-content:flex-start;gap:var(--space-3);min-height:var(--target);padding:0 var(--space-4);border-radius:var(--radius);flex-direction:row}.screen{padding:var(--space-3) var(--space-5) calc(var(--space-6) + var(--space-4));margin:0}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4)}.card.tight{padding:var(--space-3)}.eyebrow{font-size:var(--fs-label);color:var(--text-muted);font-weight:600;line-height:1.3}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.card-head h2{font-family:var(--font-text);font-size:var(--fs-body);line-height:1.25}.card-head h2,.card-head h3{margin-top:3px}.block-head{margin-bottom:var(--space-3)}.card.tap{transition:background-color var(--dur-press) var(--ease-out);position:relative}.card-open{all:unset;cursor:pointer}.card-open:after{content:"";border-radius:inherit;position:absolute;inset:0}.card.tap:has(.card-open:active){background:var(--press-on-surface)}.card.tap:has(.card-open:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.card.tap .card-actions .btn{z-index:1;position:relative}.card-open .chevron{color:var(--text-muted);margin-left:6px;font-weight:400}.row{align-items:center;gap:var(--space-2);display:flex}.row.top{align-items:flex-start}.row.links{gap:var(--space-3)}.between{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.stack{gap:var(--space-3);flex-direction:column;display:flex}.stack.tight{gap:var(--space-2)}.wrap{gap:var(--space-2);flex-wrap:wrap;display:flex}.grow{flex:1;min-width:0}.card:has(>.metrics){container:figures/inline-size}.metrics{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}@container figures (width>=11.5rem){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@container figures (width>=17.5rem){.metrics:not(.two){grid-template-columns:repeat(3,minmax(0,1fr))}}.metric strong{font-family:var(--font-num);font-size:var(--fs-md);white-space:nowrap;font-weight:600;line-height:1.2;display:block}.metric span{font-size:var(--fs-label);color:var(--text-muted);margin-top:1px;line-height:1.3;display:block}.metrics.big .metric strong{font-size:var(--fs-lg);line-height:1.1}.pill{align-items:center;gap:var(--space-1);font-size:var(--fs-caption);padding:3px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--text-muted);white-space:nowrap;display:inline-flex}.pill.danger{border-color:var(--danger);color:var(--danger)}.origin{font-size:var(--fs-caption);color:var(--text-muted);margin-left:var(--space-1);white-space:nowrap}.banner{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);flex-direction:column;display:flex}.banner-title{font-weight:600}.banner-text{font-size:var(--fs-label)}.banner.error{background:var(--danger-tint)}.banner.error .banner-title{color:var(--danger)}.banner.error .banner-text{color:var(--text)}.banner.info{background:var(--surface-raised);border:1px solid var(--line)}.banner.info .banner-title{color:var(--text)}.banner.info .banner-text{color:var(--text-muted)}.action-error{color:var(--danger);font-size:var(--fs-caption)}.action-error:empty{position:absolute}.empty{align-items:flex-start;gap:var(--space-3);color:var(--text-muted);flex-direction:column;display:flex}.empty h2{color:var(--text);font-family:var(--font-text);font-size:var(--fs-body)}.freshness{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--fs-caption);color:var(--text-muted);flex-wrap:wrap;padding:0 2px;display:flex}.freshness.off{color:var(--text)}.progress{height:var(--progress-h);border-radius:var(--radius-mark);background:var(--line);overflow:hidden}.progress i{background:var(--accent);height:100%;transition:width var(--dur-medium) var(--ease-out);display:block}.zones{height:var(--zones-h);gap:2px;display:flex}.zones i{border-radius:var(--radius-mark);flex-basis:0;min-width:2px;display:block}.z1{background:var(--z1)}.z2{background:var(--z2)}.z3{background:var(--z3)}.z4{background:var(--z4)}.z5{background:var(--z5)}.zones-legend{gap:var(--space-1) var(--space-3);margin:var(--space-2) 0 0;color:var(--text);font-size:var(--fs-caption);flex-wrap:wrap;padding:0;list-style:none;display:flex}.zones-legend li{white-space:nowrap}.zones-legend .zone-name{align-items:center;gap:var(--space-1);display:inline-flex}.zones-legend i{width:var(--legend-mark);height:var(--legend-mark);border-radius:var(--radius-mark)}.zones-block.columns{container:zones/inline-size}@container zones (width>=17.5rem){.columns .zones-legend{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.columns .zones-legend li{gap:var(--space-1);flex-direction:column;display:flex}.columns .zones-legend b{font-size:var(--fs-label)}}.chips{gap:var(--space-2);scrollbar-width:none;padding-bottom:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;max-width:100%;overflow:visible}.chips.wrap .chip{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.chip{isolation:isolate;min-height:var(--target);padding:0 var(--space-3);border-radius:var(--radius);color:var(--text-muted);font-size:var(--fs-label);cursor:pointer;transition:transform var(--dur-press) var(--ease-out);background:0 0;border:0;flex-shrink:0;position:relative}.chip:before{content:"";inset:var(--space-1) 0;z-index:-1;border:1px solid var(--line);border-radius:var(--radius);transition:background-color var(--dur-press) var(--ease-out);position:absolute}.chip[aria-pressed=true]{color:var(--on-accent);font-weight:600}.chip[aria-pressed=true]:before{background:var(--accent);border-color:var(--accent)}.chip:active:not(:disabled):before{background:var(--press-on-surface)}.chip[aria-pressed=true]:active:not(:disabled):before{background:var(--accent-press);border-color:var(--accent-press)}.seg{border:1px solid var(--line);border-radius:var(--radius);display:flex;overflow:hidden}.seg button{min-width:0;min-height:var(--target);color:var(--text-muted);font-size:var(--fs-label);overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;border-radius:0;flex:1}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:600}.seg button:active:not(:disabled,[aria-pressed=true]){background:var(--press-on-surface)}.week-head{padding:var(--space-2) 2px 0;font-size:var(--fs-label);color:var(--text-muted);justify-content:space-between;align-items:baseline;font-weight:600;display:flex}.week-head span{color:var(--text-muted);font-weight:400}.row-button{align-items:center;gap:var(--space-3);text-align:left;width:100%;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:inherit;font:inherit;cursor:pointer;transition:background-color var(--dur-press) var(--ease-out);display:flex}.row-button:active:not(:disabled){background:var(--press-on-surface)}.row-button .day{min-width:var(--date-col);text-align:center;font-size:var(--fs-caption);color:var(--text-muted);flex-shrink:0;line-height:1.3}.row-button .day b{font-family:var(--font-num);font-size:var(--fs-md);color:var(--text);line-height:1.2;display:block}.row-button .row-text{flex:1;min-width:0}.row-button .row-text strong{font-size:var(--fs-body);overflow-wrap:anywhere;line-height:1.25;display:block}.row-button .row-text small{font-size:var(--fs-label);display:block}.selection-bar{left:var(--space-3);right:var(--space-3);z-index:35;bottom:calc(var(--bottom-ui) + var(--space-3));background:var(--surface-raised);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);align-items:center;gap:var(--space-2);display:flex;position:fixed}.selection-bar strong{font-size:var(--fs-label);flex:1}.table-wrap{margin:0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--fs-label)}th{text-align:right;color:var(--text-muted);padding:var(--space-1) 6px 6px;border-bottom:1px solid var(--line);white-space:nowrap}td{text-align:right;padding:var(--space-2) 6px;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,td:first-child{text-align:left}tr.effort td{color:var(--text);font-weight:600}tr.recovery td{color:var(--text-muted)}.tag{font-size:var(--fs-caption);padding:2px var(--space-2);border-radius:var(--radius-sm);color:inherit;display:inline-block}.kv{gap:var(--space-2) var(--space-3);font-size:var(--fs-label);grid-template-columns:1fr auto;display:grid}.kv span{color:var(--text-muted)}.kv b{text-align:right;overflow-wrap:anywhere;min-width:0}.chart{touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative}.chart svg{width:100%;display:block}.chart .tooltip{background:var(--surface-raised);color:var(--text);border:1px solid var(--line-strong);font-size:var(--fs-caption);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;position:absolute;top:0;transform:translate(-50%)}.legend{gap:var(--space-3);font-size:var(--fs-caption);color:var(--text-muted);flex-wrap:wrap;margin-top:6px;display:flex}.legend i{width:var(--legend-mark);border-radius:var(--radius-mark);height:3px;margin-right:var(--space-1);vertical-align:3px;display:inline-block}.chart .altitude{fill:var(--data-wash)}.chart .pace{stroke:var(--text-muted)}.chart .hr,.chart .cursor{stroke:var(--data-ink)}.legend .altitude{background:var(--data-band);height:var(--zones-h)}.legend .pace{background:var(--text-muted)}.legend .hr{background:var(--data-ink)}.legend-distance{margin-left:auto}.note{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--fs-body)}.note .who{font-size:var(--fs-caption);color:var(--text-muted);justify-content:space-between;gap:var(--space-2);margin-bottom:3px;display:flex}.report{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--fs-body);white-space:pre-wrap}.report .who{font-size:var(--fs-caption);color:var(--text-muted);margin-bottom:var(--space-1);white-space:normal}.note,.report{overflow-wrap:anywhere}.sticky-actions{z-index:25;left:0;right:0;bottom:var(--bottom-ui);padding:var(--space-2) var(--space-4);gap:var(--space-2);background:var(--bg);border-top:1px solid var(--line);display:flex;position:fixed}.sticky-actions .btn{flex:1}.sticky-spacer{height:var(--actions-h);flex-shrink:0}@media (width>=900px){.sticky-actions{padding:var(--space-3) 0;position:sticky;bottom:0}.sticky-spacer{display:none}}.backdrop{z-index:50;background:var(--scrim);transition:opacity var(--dur-medium) var(--ease-out);position:fixed;inset:0}.sheet{z-index:60;max-height:var(--sheet-max);overscroll-behavior:contain;padding:var(--space-2) 0 calc(var(--space-4) + env(safe-area-inset-bottom,0px));background:var(--surface-raised);border-top:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;transition:transform var(--dur-sheet) var(--ease-sheet);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:0 var(--space-4);display:flex}.sheet .sub{padding:0 var(--space-4);color:var(--text-muted)}.sheet-body{overscroll-behavior:contain;min-height:0;padding:var(--space-3) var(--space-4) var(--space-1);overflow-y:auto}.sheet-foot{gap:var(--space-2);padding:var(--space-2) var(--space-4) 0;border-top:1px solid var(--line);flex-direction:column;display:flex}@starting-style{.sheet{opacity:0;transform:translateY(100%)}.backdrop{opacity:0}}@media (width>=37.5em) and (height>=37.5em){.sheet{left:50%;right:auto;bottom:var(--space-5);width:var(--dialog-w);border:1px solid var(--line);border-radius:var(--radius);transition:transform var(--dur-medium) var(--ease-out), opacity var(--dur-medium) var(--ease-out);transform:translate(-50%)}@starting-style{.sheet{opacity:0;transform:translate(-50%)scale(.98)}}}.toast{z-index:80;left:50%;bottom:calc(var(--bottom-ui) + var(--space-3));min-height:var(--target);max-width:calc(100% - var(--space-6));padding:var(--space-2) var(--space-4);background:var(--surface-raised);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius);font-size:var(--fs-body);transition:transform var(--dur-medium) var(--ease-out), opacity var(--dur-medium) var(--ease-out);pointer-events:none;align-items:center;display:flex;position:fixed;transform:translate(-50%)}body:has(.sticky-actions,.selection-bar) .toast{bottom:calc(var(--bottom-ui) + var(--actions-h) + var(--space-3))}.toast.leaving{opacity:0;transition-duration:var(--dur-short)}@starting-style{.toast{opacity:0;transform:translate(-50%, var(--space-2))}}@media (prefers-reduced-motion:reduce){.backdrop{transition-duration:var(--dur-short)}.sheet,.toast{transition:opacity var(--dur-short) var(--ease-out)}}@media (orientation:landscape) and (height<=30em){.sticky-actions,.selection-bar{position:static}.sticky-spacer{display:none}.sheet{display:block}.sheet-body{overflow:visible}}.level{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.level button{min-height:var(--target);color:var(--text-muted);font-size:var(--fs-caption);overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;border-radius:0;line-height:1.3}.level button+button{border-left:1px solid var(--line)}.level button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:600}.level button:active:not(:disabled,[aria-pressed=true]){background:var(--press-on-surface)}.included{align-items:flex-start;gap:var(--space-2);min-height:var(--target-strong);padding:var(--space-2) 0;border-bottom:1px solid var(--line);font-size:var(--fs-caption);color:var(--text-muted);cursor:pointer;display:flex}.included b{color:var(--text);font-size:var(--fs-body);display:block}.steps{gap:var(--space-2);margin:var(--space-3) 0;flex-direction:column;display:flex}.step{gap:var(--space-2);font-size:var(--fs-body);align-items:flex-start;display:flex}.step .n{width:var(--check);height:var(--check);border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font-size:var(--fs-label);flex-shrink:0;place-items:center;font-weight:600;display:grid}.step small{display:block}.step textarea{width:100%;margin-top:var(--space-2)}.welcome{min-height:100dvh;padding:var(--space-5) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom,0px));place-items:center;display:grid}.auth{width:100%;max-width:var(--auth-max);gap:var(--space-5);flex-direction:column;display:flex}.auth .card{padding:var(--space-5)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.markdown{gap:var(--space-2);font-size:var(--fs-body);overflow-wrap:anywhere;flex-direction:column;line-height:1.5;display:flex}.markdown p,.markdown ul,.markdown ol,.markdown blockquote,.markdown pre,.markdown h3,.markdown h4{margin:0}.markdown ul,.markdown ol{padding-left:var(--space-5);flex-direction:column;gap:3px;display:flex}.markdown code{font-family:ui-monospace,monospace;font-size:var(--fs-caption);background:var(--surface-raised);border-radius:var(--radius-sm);padding:1px 5px}.markdown pre{background:var(--surface-raised);padding:var(--space-3);border-radius:var(--radius-sm);overflow-x:auto}.markdown pre code{background:0 0;padding:0}.markdown blockquote{border-left:3px solid var(--line);padding-left:var(--space-3);color:var(--text-muted)}.markdown hr{border:0;border-top:1px solid var(--line);width:100%}.md-table{overscroll-behavior:contain;overflow-x:auto}.md-table table{border-collapse:collapse}.md-table th,.md-table td{border-bottom:1px solid var(--line);padding:5px var(--space-2);text-align:left;white-space:nowrap}.session-link{min-width:0;min-height:0;font:inherit;font-weight:600;display:inline}.coach{gap:var(--space-3);flex-direction:column;display:flex}.coach-bar{align-items:center;gap:6px;display:flex}.coach-bar select{min-width:0;min-height:var(--target-strong);padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);flex:1}.icon-btn{width:var(--target);height:var(--target);cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);color:var(--text);transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-press) var(--ease-out);background:0 0;flex-shrink:0;place-items:center;display:grid}.icon-btn svg{fill:currentColor}.chat{gap:var(--space-4);flex-direction:column;display:flex}.bubble-user{background:var(--surface-raised);border-radius:var(--radius);max-width:86%;padding:var(--space-2) var(--space-3);white-space:pre-wrap;overflow-wrap:anywhere;align-self:flex-end}.bubble-user .who{font-size:var(--fs-caption);color:var(--text-muted);white-space:normal;margin-bottom:2px}.answer{gap:var(--space-3);flex-direction:column;padding:0 2px;display:flex}.answer-foot{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.live-steps{font-size:var(--fs-caption);color:var(--text-muted);flex-direction:column;gap:3px;display:flex}.thinking{align-items:center;gap:var(--space-2);min-height:28px;font-size:var(--fs-label);color:var(--text-muted);display:flex}.thinking .pulse{flex-shrink:0}.thinking .pulse path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:46 60;animation:pulse-run var(--dur-pulse) linear infinite}@keyframes pulse-run{0%{stroke-dashoffset:106px}to{stroke-dashoffset:0}}.thinking-text{animation:phrase-in var(--dur-medium) var(--ease-out)}@keyframes phrase-in{0%{opacity:.35;transform:translateY(3px)}}.thinking-time{font-size:var(--fs-caption);color:var(--text-muted);margin-left:auto}@media (prefers-reduced-motion:reduce){.thinking .pulse path{stroke-dasharray:none;animation:none}.thinking-text{animation:none}}.composer{bottom:var(--bottom-ui);z-index:5;padding:var(--space-2) 0;background:var(--bg);flex-direction:column;gap:6px;display:flex;position:sticky}.composer-row{align-items:flex-end;gap:var(--space-2);padding:5px 5px 5px var(--space-3);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);display:flex}.composer-row:focus-within{border-color:var(--accent)}.composer-row textarea{min-width:0;min-height:var(--target);max-height:160px;padding:var(--space-2) 0;resize:none;background:0 0;border:0;flex:1}.composer-row textarea:focus-visible{outline:none}.composer-row textarea:disabled{color:var(--text-disabled)}.send{width:var(--target-strong);height:var(--target-strong);cursor:pointer;border-radius:var(--radius);background:var(--accent);color:var(--on-accent);transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-press) var(--ease-out);border:0;flex-shrink:0;place-items:center;display:grid}.send svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.send.stop{border:1px solid var(--line);color:var(--text);background:0 0}.send.stop svg{fill:currentColor;stroke:none}.send:disabled{background:var(--surface-raised);color:var(--text-disabled);cursor:default}a.row-button{text-decoration:none}.row-button:disabled{opacity:.5;cursor:default}.row-button.danger strong{color:var(--danger)}pre.command,pre.sent-content{white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:var(--fs-caption);background:var(--surface-raised);border-radius:var(--radius-sm);padding:var(--space-3);max-height:320px;margin:6px 0 0;overflow:auto}pre.command{-webkit-user-select:all;user-select:all}.plan-steps{padding-left:var(--space-4);gap:var(--space-1);font-size:var(--fs-body);flex-direction:column;margin:0;display:flex}.row-button.planned{border-style:dashed}.share-results{padding-left:var(--space-4);margin:0}.num,.metric strong,.row-button .day b,table,.kv b,.zones-legend,.chart .tooltip,.thinking-time{font-variant-numeric:tabular-nums}.t-display{font-family:var(--font-num);font-size:var(--fs-display);font-weight:600;line-height:1}.t-lg{font-family:var(--font-num);font-size:var(--fs-lg);text-wrap:balance;font-weight:600;line-height:1.15}.t-md{font-family:var(--font-num);font-size:var(--fs-md);font-weight:600;line-height:1.2}.t-num{font-family:var(--font-num);font-size:var(--fs-lg);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.t-body{font-family:var(--font-text);font-size:var(--fs-body);line-height:1.5}.t-label{font-family:var(--font-text);font-size:var(--fs-label);line-height:1.3}.t-caption{font-family:var(--font-text);font-size:var(--fs-caption);font-weight:400;line-height:1.3}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mb-2{margin-bottom:var(--space-2)}.ml-2{margin-left:var(--space-2)}
