:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f0;--surface:#fff;--surface-raised:#f8faf5;--line:#e2e8df;--line-strong:#d5ded7;--text:#20332d;--text-muted:#5f7166;--accent:#205442;--accent-press:#173f35;--on-accent:#fff;--focus:#7baf98;--danger:#8b4539;--z1:#b8c4cc;--z2:#5fae7a;--z3:#e7c14f;--z4:#ec8f3c;--z5:#d9534f;--text-disabled:#5f7166;--press-on-surface:#d7e4d1;--danger-tint:#f7e6e1;--data-ink:var(--text);--data-wash:#e3e9e1;--data-band:#cfd6cc;--scrim:#0f181473;--brand-soft:#e4eddf;--faint:#8b988f;--warn:#7a5a22;--warn-bg:#fbefd5;--info:#3d667e;--info-bg:#e6eef4;--note-bg:#fbf6ea;--note-line:#efe2c4;--shadow:0 1px 2px #173f350f, 0 4px 16px #173f350d;--font-text:Inter, "Segoe UI", system-ui, -apple-system, Roboto, Arial, 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:14px;--radius-sm:10px;--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:64px;--bottom-ui:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));--textarea-min:90px;--progress-h:6px;--zones-h:8px;--content-max:720px;--rail-w:220px;--dialog-w:560px;--sheet-max:min(92dvh, 900px);--auth-max:420px;--reading-max:40rem;--dur-press:.12s;--dur-short:.16s;--dur-medium:.22s;--dur-sheet:.22s;--dur-pulse:1.4s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-sheet:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none;background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--font-text);margin:0;font-size:15px;line-height:1.45}h1,h2,h3,p{margin:0}h1{letter-spacing:-.4px;text-wrap:balance;font-size:24px;line-height:1.2}h2{letter-spacing:-.2px;font-size:17px}h3{font-size:15px}small,.muted{color:var(--text-muted)}small{font-size:12px}code{overflow-wrap:anywhere;font-size:12px}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--space-2)}summary{cursor:pointer}summary h2{display:inline}button,a,[role=button],.tab,.chip{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select{font:inherit;color:var(--text);font-size:16px}.btn{appearance:none;min-height:var(--target);padding:var(--space-2) var(--space-4);background:var(--accent);color:var(--on-accent);justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background var(--dur-press) var(--ease-out);border:0;border-radius:12px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn.secondary{background:var(--brand-soft);color:var(--accent-press)}.btn.outline{background:var(--surface);color:var(--accent);border:1px solid var(--line)}.btn.ghost{color:var(--accent);min-height:36px;padding:6px var(--space-2);background:0 0}.btn.danger{background:var(--danger-tint);color:var(--danger)}.btn.small{min-height:34px;padding:6px var(--space-3);border-radius:10px;font-size:13px}.btn.block{width:100%}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.link.start{text-align:start}.btn:focus-visible,.link:focus-visible,.chip:focus-visible,.tab:focus-visible,.row-button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (hover:hover) and (pointer:fine){.card.tap:has(.card-open:hover){border-color:var(--line-strong)}.btn:hover{background:var(--accent-press)}.btn.secondary:hover{background:var(--press-on-surface)}.btn.outline:hover,.btn.ghost:hover{background:var(--brand-soft)}.link:hover{text-decoration:underline}.row-button:hover{background:var(--surface-raised)}.chip:hover{border-color:var(--focus)}}.field{color:var(--text);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.field input,.field textarea,.field select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;padding:var(--space-3);font-weight:400}.field textarea{min-height:var(--textarea-min);resize:vertical}.field small{font-weight:400}.field.narrow{width:120px}.form{gap:var(--space-4);flex-direction:column;display:flex}.check{align-items:center;gap:var(--space-2);font-size:14px;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent)}.check-list{gap:var(--space-1);flex-direction:column;display:flex}.check-list .check{padding-block:6px}.check-list small{display:block}.switch{flex-shrink:0;width:44px;height:26px;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch span{background:var(--line-strong);transition:background var(--dur-short) var(--ease-out);pointer-events:none;border-radius:99px;position:absolute;inset:0}.switch span:after{content:"";background:var(--surface);width:20px;height:20px;box-shadow:0 1px 2px color-mix(in srgb, var(--scrim) 44%, transparent);transition:transform var(--dur-short) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);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 #0000;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-2);letter-spacing:-.4px;font-size:16px;font-weight:800;display:flex}.brand svg{fill:none;stroke:var(--accent);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:1px solid var(--line-strong);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:99px;flex-shrink:0;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.profile-chip .avatar{background:var(--press-on-surface);width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;font-size:12px;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);padding:6px 2px 2px;display:flex}.screen-title p{color:var(--text-muted);font-size:13px}.tabbar{z-index:30;background:color-mix(in srgb, var(--surface) 97%, transparent);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{min-height:var(--tabbar-h);color:var(--faint);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:700;display:flex}.tab svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.tab[aria-current=page]{color:var(--accent)}.tab:active{transform:scale(.95)}@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:12px;flex-direction:row;font-size:14px}.tab[aria-current=page]{background:var(--brand-soft)}.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);box-shadow:var(--shadow)}.card.flat{box-shadow:none}.card.tight{padding:var(--space-3)}.eyebrow{text-transform:uppercase;letter-spacing:1px;color:var(--faint);font-size:11px;font-weight:800}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.card-head h2,.card-head h3{margin-top:3px}.block-head{margin-bottom:var(--space-3)}.card.tap{transition:transform 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){transform:scale(.99)}.card.tap:has(.card-open:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.card.tap .card-actions .btn{z-index:1;position:relative}.card-open .chevron{color:var(--faint);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);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}.metrics{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metrics.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metric strong{letter-spacing:-.3px;font-variant-numeric:tabular-nums;font-size:17px;font-weight:800;display:block}.metric span{color:var(--text-muted);margin-top:1px;font-size:11px;display:block}.metrics.big .metric strong{letter-spacing:-.6px;font-size:26px}.metrics.big .metric span{font-size:12px}.pill{align-items:center;gap:var(--space-1);padding:3px var(--space-2);background:var(--brand-soft);color:var(--accent-press);white-space:nowrap;border-radius:99px;font-size:11px;font-weight:800;display:inline-flex}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.danger{background:var(--danger-tint);color:var(--danger)}.pill.info{background:var(--info-bg);color:var(--info)}.pill.muted{background:var(--bg);color:var(--text-muted)}.origin{color:var(--faint);margin-left:var(--space-1);white-space:nowrap;font-size:10px;font-weight:600}.banner{padding:var(--space-3);background:var(--brand-soft);color:var(--accent);border-radius:12px;font-size:13px}.banner strong{color:var(--accent-press);margin-bottom:2px;font-size:14px;display:block}.banner.warn{background:var(--warn-bg);color:var(--warn)}.banner.warn strong{color:var(--warn)}.banner.danger{background:var(--danger-tint);color:var(--danger)}.banner.danger strong{color:var(--danger)}.banner.info{background:var(--info-bg);color:var(--info)}.banner .actions{margin-top:var(--space-2)}.empty{text-align:center;padding:var(--space-5) var(--space-4);color:var(--text-muted);gap:var(--space-3);flex-direction:column;align-items:center;display:flex}.empty h2{color:var(--text)}.freshness{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--text-muted);padding:0 2px;font-size:12px;display:flex}.dot{width:var(--signal-dot);height:var(--signal-dot);background:var(--z2);vertical-align:1px;border-radius:50%;margin-right:6px;display:inline-block}.dot.stale{background:var(--z4)}.dot.off{background:var(--z1)}.progress{height:var(--progress-h);background:var(--line);border-radius:99px;overflow:hidden}.progress i{background:var(--accent);height:100%;transition:width var(--dur-medium) var(--ease-out);border-radius:99px;display:block}.zones{height:var(--zones-h);background:var(--bg);border-radius:99px;display:flex;overflow:hidden}.zones i{height:100%;display:block}.z1{background:var(--z1)}.z2{background:var(--z2)}.z3{background:var(--z3)}.z4{background:var(--z4)}.z5{background:var(--z5)}.zones-legend{color:var(--text-muted);justify-content:space-between;margin-top:5px;font-size:11px;display:flex}.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;overflow:visible}.chips.wrap .chip{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.chip{min-height:38px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:99px;flex-shrink:0;font-size:13px;font-weight:700}.chip[aria-pressed=true]{background:var(--brand-soft);border-color:var(--focus);color:var(--accent-press)}.chip:active{transform:scale(.97)}.seg{background:var(--line);border-radius:11px;gap:3px;padding:3px;display:flex}.seg button{min-height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;font-size:13px;font-weight:700}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px color-mix(in srgb, var(--scrim) 18%, transparent)}.week-head{padding:var(--space-2) 2px 0;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);justify-content:space-between;align-items:baseline;font-size:12px;font-weight:800;display:flex}.week-head span{text-transform:none;letter-spacing:0;color:var(--faint);font-weight:600}.row-button{align-items:center;gap:var(--space-3);text-align:left;width:100%;padding:var(--space-3);border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;cursor:pointer;border-radius:12px;display:flex}.row-button:active{transform:scale(.99)}.row-button .day{width:var(--date-col);text-align:center;color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:700;line-height:1.1}.row-button .day b{color:var(--text);font-size:17px;display:block}.row-button .row-text{flex:1;min-width:0}.row-button .row-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.row-button .row-text small{display:block}.row-button .zones{height:4px;margin-top:6px}.tick{width:var(--check);height:var(--check);border:2px solid var(--line-strong);color:var(--on-accent);border-radius:7px;flex-shrink:0;place-items:center;font-size:13px;font-weight:900;display:grid}.tick.on{background:var(--accent);border-color:var(--accent)}.selection-bar{left:var(--space-3);right:var(--space-3);z-index:35;bottom:calc(var(--bottom-ui) + var(--space-3));background:var(--text);color:var(--surface);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);align-items:center;gap:var(--space-2);box-shadow:0 8px 24px color-mix(in srgb, var(--scrim) 56%, transparent);border-radius:16px;display:flex;position:fixed}.selection-bar strong{flex:1;font-size:14px}.selection-bar .btn.secondary{background:var(--surface);color:var(--text)}.selection-bar .btn.ghost{color:var(--surface)}.table-wrap{margin:0;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}th{text-align:right;color:var(--faint);padding:var(--space-1) 6px 6px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:11px;font-weight:600}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(--accent-press);font-weight:800}tr.recovery td{color:var(--faint)}.tag{padding:2px var(--space-2);background:var(--bg);color:var(--text-muted);border-radius:6px;font-size:11px;font-weight:800;display:inline-block}.tag.warmup{background:var(--info-bg);color:var(--info)}.tag.effort{background:var(--warn-bg);color:var(--warn)}.tag.cooldown{background:var(--bg);color:var(--text-muted)}.kv{gap:var(--space-2) var(--space-3);grid-template-columns:1fr auto;font-size:14px;display:grid}.kv span{color:var(--text-muted)}.kv b{text-align:right;font-variant-numeric:tabular-nums}.chart{touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative}.chart svg{width:100%;display:block}.chart .tooltip{background:var(--text);color:var(--surface);padding:var(--space-1) var(--space-2);white-space:nowrap;pointer-events:none;border-radius:8px;font-size:12px;font-weight:700;position:absolute;top:0;transform:translate(-50%)}.legend{gap:var(--space-3);color:var(--text-muted);flex-wrap:wrap;margin-top:6px;font-size:11px;display:flex}.legend i{width:var(--legend-mark);height:3px;margin-right:var(--space-1);vertical-align:3px;border-radius:2px;display:inline-block}.chart .altitude{fill:var(--data-wash)}.chart .pace{stroke:var(--accent)}.chart .hr{stroke:var(--z5)}.chart .cursor{stroke:var(--data-ink)}.legend .altitude{background:var(--data-band);height:var(--zones-h)}.legend .pace{background:var(--accent)}.legend .hr{background:var(--z5)}.legend-distance{margin-left:auto}.note{background:var(--note-bg);border:1px solid var(--note-line);padding:var(--space-3);border-radius:12px;font-size:14px}.note .who{color:var(--warn);text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;gap:var(--space-2);margin-bottom:3px;font-size:11px;font-weight:800;display:flex}.report{background:var(--bg);border:1px solid var(--line);padding:var(--space-3);white-space:pre-wrap;border-radius:12px;font-size:14px}.report .who{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-1);white-space:normal;font-size:11px;font-weight:800}.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:linear-gradient(180deg, transparent, var(--bg) 35%);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);animation:fade var(--dur-medium) var(--ease-out);position:fixed;inset:0}.sheet{z-index:60;max-height:var(--sheet-max);overscroll-behavior:contain;background:var(--surface);padding:var(--space-2) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 30px color-mix(in srgb, var(--scrim) 40%, transparent);animation:rise var(--dur-sheet) var(--ease-sheet);border-radius:22px 22px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet .grab{background:var(--line-strong);width:40px;height:4px;margin:0 auto var(--space-3);border-radius:99px}.sheet h2{margin-bottom:2px}.sheet .sub{color:var(--text-muted);margin-bottom:var(--space-3);font-size:13px}@media (width>=720px){.sheet{width:var(--dialog-w);left:50%;right:auto;bottom:var(--space-5);border-radius:22px;animation:none;transform:translate(-50%)}}@keyframes rise{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.sheet,.backdrop{animation:none}}.level{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.level button{min-height:var(--target);background:var(--bg);color:var(--text-muted);cursor:pointer;border:0;border-radius:11px;font-size:12px;font-weight:700}.level button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.included{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line);color:var(--text-muted);font-size:13px;display:flex}.included b{color:var(--text);font-size:14px;display:block}.steps{gap:var(--space-2);margin:var(--space-3) 0;flex-direction:column;display:flex}.step{gap:var(--space-2);align-items:flex-start;font-size:14px;display:flex}.step .n{width:var(--check);height:var(--check);background:var(--accent);color:var(--on-accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:800;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)}.toast{z-index:80;left:50%;bottom:calc(var(--bottom-ui) + var(--space-4));max-width:calc(100% - var(--space-6));background:var(--text);color:var(--surface);padding:var(--space-3) var(--space-4);box-shadow:0 8px 24px color-mix(in srgb, var(--scrim) 56%, transparent);border-radius:12px;font-size:14px;position:fixed;transform:translate(-50%)}.ring{flex-shrink:0}.ring text{fill:var(--text);font-size:15px;font-weight:800}.ring .track{stroke:var(--data-wash)}.ring .arc.high{stroke:var(--z2)}.ring .arc.mid{stroke:var(--z4)}.ring .arc.low{stroke:var(--z5)}.chat-box textarea{min-height:110px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.markdown{gap:var(--space-2);overflow-wrap:anywhere;flex-direction:column;font-size:15px;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 h3{font-size:16px}.markdown h4{font-size:15px}.markdown code{background:var(--surface-raised);border-radius:6px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.markdown pre{background:var(--surface-raised);padding:var(--space-3);border-radius:10px;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;font-size:13px}.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{font:inherit;text-underline-offset:2px;padding:0;font-weight:700;text-decoration:underline}.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;height:40px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);flex:1;font-size:15px}.icon-btn{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:40px;height:40px;color:var(--accent);transition:transform var(--dur-press) var(--ease-out);flex-shrink:0;place-items:center;display:grid}.icon-btn svg{fill:currentColor}.icon-btn:active{transform:scale(.94)}.chat{gap:var(--space-4);flex-direction:column;display:flex}.bubble-user{background:var(--brand-soft);max-width:86%;padding:var(--space-2) var(--space-3);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px 16px 4px;align-self:flex-end;font-size:15px}.bubble-user .who{color:var(--text-muted);white-space:normal;margin-bottom:2px;font-size:11px;font-weight:800}.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{color:var(--text-muted);flex-direction:column;gap:3px;font-size:13px;display:flex}.thinking{align-items:center;gap:var(--space-2);min-height:28px;color:var(--text-muted);font-size:14px;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{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}@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(--surface);border:1px solid var(--line-strong);border-radius:22px;display:flex}.composer-row:focus-within{border-color:var(--focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--focus) 35%, transparent)}.composer-row textarea{min-width:0;min-height:36px;max-height:160px;padding:var(--space-2) 0;resize:none;background:0 0;border:0;flex:1;line-height:1.4}.composer-row textarea:focus-visible{outline:none}.composer-row textarea:disabled{color:var(--text-disabled)}.send{cursor:pointer;background:var(--accent);width:36px;height:36px;color:var(--on-accent);transition:transform var(--dur-press) var(--ease-out);border:0;border-radius:50%;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{background:var(--text)}.send.stop svg{fill:currentColor;stroke:none}.send:active{transform:scale(.92)}.send:disabled{opacity:.35;cursor:default;transform:none}a.row-button{text-decoration:none}.row-button:disabled{opacity:.5;cursor:default;transform:none}.row-button.danger strong{color:var(--danger)}pre.command,pre.sent-content{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-raised);padding:var(--space-3);border-radius:10px;max-height:320px;margin:6px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow:auto}pre.command{-webkit-user-select:all;user-select:all}.plan-steps{padding-left:var(--space-4);gap:var(--space-1);flex-direction:column;margin:0;font-size:14px;display:flex}.row-button.planned{border-style:dashed}.share-results{padding-left:var(--space-4);margin:0}.t-md{font-size:var(--fs-md)}.t-label{font-size:var(--fs-label)}.t-caption{font-size:var(--fs-caption)}.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)}
