
  /* Embedded CTF fonts keep this HTML portable. */
  @font-face{font-family:"ALTMistral";font-weight:400;font-display:swap;src:url("/assets/ALTMistral-Regular.woff2") format("woff2");}
  @font-face{font-family:"ALTMistral";font-weight:500;font-display:swap;src:url("/assets/ALTMistral-Medium.woff2") format("woff2");}
  @font-face{font-family:"Space Mono";font-weight:400;font-display:swap;src:url("/assets/SpaceMono-Regular.woff2") format("woff2");}
  @font-face{font-family:"Inter";font-weight:100 900;font-display:swap;src:url("/assets/Inter-VariableFont.woff2") format("woff2-variations");}

  /* mistral.ai semantic tokens (light root, html.dark swaps them), scoped to the embed */
  .re{
    --text-primary:var(--color-text-primary,#18181b); --text-secondary:var(--color-text-secondary,#27272a);
    --text-tertiary:var(--color-text-muted,#6d6d78); --text-faint:var(--color-text-faint,#a1a1aa);
    --surface-1:var(--color-surface-brand-primary,#fbfbf8); --surface-2:var(--color-surface-brand-secondary,#f5f4ef);
    --surface-3:var(--color-surface-brand-tertiary,#ebe9e0); --white:var(--color-surface-card,#fff);
    --border:var(--color-border-primary,#e4e3de); --border-2:var(--color-border-secondary,#c9c9c4);
    --action:var(--color-action-primary,#09090b); --action-hover:var(--color-action-secondary,#18181b);
    --action-text:var(--color-action-brand,#fafafa); --ink-navy:#242433;
    --orange:#FA500F; --hl:#a77201; --red:#e51300; --green:#318e68; --on-phase:#fff;
    /* hover cards sit on the inverted action surface: dark in light mode, cream in dark mode */
    --card-muted:#a1a1aa; --card-faint:#6d6d78; --card-line:#31313a; --card-well:#18181b;
    --card-warn:#fec63a; --card-ok:#44ba82; --card-err:#ff6529;
    /* step colours = the pixels of the Mistral logo */
    --s0:#FFAF01; --s1:#FF8204; --s2:#FA500F; --s3:#E61300;
    --s4:#e51300; --s5:var(--green); --s6:var(--green); --s7:var(--green);
    --font-mistral:"ALTMistral",ui-sans-serif,system-ui,sans-serif;
    --font-inter:"Inter",ui-sans-serif,system-ui,sans-serif;
    --font-mono:"Space Mono",ui-monospace,Menlo,monospace;

    position:relative; width:min(880px, calc(100% - 32px)); margin:0 auto; padding:24px 0;
    color:var(--text-primary); font-family:var(--font-inter); font-size:15px; line-height:1.5; letter-spacing:-.01em;
    -webkit-font-smoothing:antialiased;
  }
  html.dark .re{
    --hl:#fec63a; --red:#f66c60; --green:#44ba82; --on-phase:#101013;
    --card-muted:#6d6d78; --card-faint:#a1a1aa; --card-line:#e4e3de; --card-well:#e4e3de;
    --card-warn:#a77201; --card-ok:#318e68; --card-err:#e51300;
    --ink-navy:var(--color-text-primary);
  }
  .re *{box-sizing:border-box;margin:0;}
  body{margin:0;}
  .mono{font-family:var(--font-mono);font-size:11px;line-height:16px;text-transform:uppercase;letter-spacing:0;}

  /* Outer card + CTF-style 1/3 side | 2/3 board split. */
  .triage-frame{
    --triage-inner-radius:12px;--triage-inner-inset:8px;
    --triage-outer-radius:calc(var(--triage-inner-radius) + var(--triage-inner-inset));
    /* Cap to a CTF-speedrun-sized card; the agent trace scrolls inside. */
    --triage-max-h:min(560px, calc(100dvh - 48px));
    max-height:var(--triage-max-h);height:var(--triage-max-h);
    display:flex;flex-direction:column;
    border:1px solid var(--border);border-radius:var(--triage-outer-radius);
    overflow:hidden;background:var(--surface-2);}
  /* Padding and column gap share one token, so the edge inset equals the gutter. */
  .triage-split{
    flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);
    align-items:stretch;padding:var(--triage-inner-inset);column-gap:var(--triage-inner-inset);
    box-sizing:border-box;}
  /* Left inset card: title on top, speed estimate and play control at the bottom. */
  .triage-split > .re-intro{
    display:flex;flex-direction:column;gap:16px;padding:12px;min-width:0;min-height:0;
    margin:0;
    border:1px solid color-mix(in srgb,var(--border) 50%,transparent);
    border-radius:var(--triage-inner-radius);background:var(--white);}
  .re-intro-text{min-width:0;flex:none;}
  .re-play-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:none;margin-top:auto;align-self:stretch;min-width:0;}
  .re-intro .btn{flex:none;}
  .tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px;}
  .tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;background:var(--surface-3);color:var(--text-secondary);}
  .tag.brand{background:var(--orange);color:#fff;}
  .re-intro .re-title,.re-intro .re-subtitle{display:block;min-width:0;margin:0;font-family:var(--font-mistral);font-size:1rem;line-height:1.25rem;letter-spacing:normal;font-weight:500;color:var(--ink-navy);}
  .re-intro .re-subtitle{margin-top:1px;opacity:.5;}
  .re-intro .re-description{margin:8px 0 0;color:var(--text-primary);font-family:var(--font-inter);font-size:1rem;line-height:1.5rem;letter-spacing:-.01em;font-weight:400;opacity:.75;text-wrap:balance;}
  .re-intro .re-speed{margin-right:auto;color:var(--text-tertiary);font-family:var(--font-mistral);font-size:14px;line-height:20px;font-weight:500;letter-spacing:.02em;white-space:nowrap;}

  /* Right board: step headers, agent playback, and turn scrubber */
  /* Carry the trace to the outer frame edge so it has no separate bottom cutoff. */
  .pane{min-width:0;min-height:0;margin-bottom:calc(-1 * var(--triage-inner-inset));
    background:transparent;display:flex;flex-direction:column;}
  /* info button (pixel "i") + sample hover card */
  .info{appearance:none;border:none;background:none;padding:0;margin-left:-4px;cursor:pointer;width:20px;height:20px;color:var(--text-tertiary);display:grid;place-items:center;}
  .info:hover,.info:focus-visible,.info[aria-expanded="true"]{color:var(--orange);outline:none;}
  .info svg{width:16px;height:16px;display:block;}
  .card{position:absolute;top:0;left:0;z-index:30;width:340px;background:var(--action);color:var(--action-text);padding:14px 16px 12px;
    opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .12s,transform .12s;}
  .card.show{opacity:1;transform:none;pointer-events:auto;}
  .card h4{font-family:var(--font-mistral);font-weight:500;font-size:18px;line-height:22px;letter-spacing:0;}
  .card .sub{color:var(--card-muted);margin:2px 0 10px;}
  .card .truth{display:flex;flex-direction:column;gap:2px;margin:0 0 12px;padding:6px 8px;border-left:2px solid var(--orange);background:var(--card-well);
    font-family:var(--font-mistral);font-weight:500;font-size:14px;line-height:18px;letter-spacing:0;}
  .card .truth .mono{color:var(--orange);font-size:10px;}
  .card dl{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:5px;margin:0 0 10px;}
  .card dt{color:var(--card-muted);}
  .card dd{text-transform:none;margin:0;font-family:var(--font-mono);font-size:11px;line-height:16px;letter-spacing:0;color:var(--action-text);overflow-wrap:anywhere;}
  .card .sec{color:var(--card-muted);border-top:1px solid var(--card-line);padding-top:8px;margin-bottom:5px;}
  .card ul{list-style:none;padding:0;margin:0 0 10px;font-family:var(--font-mono);font-size:11px;line-height:17px;letter-spacing:0;}
  .card li{display:flex;justify-content:space-between;gap:8px;}
  .card li .r{color:var(--card-err);} .card li .w{color:var(--card-warn);}
  .card li em{font-style:normal;color:var(--card-muted);font-size:10px;text-transform:uppercase;}
  .card .str{font-family:var(--font-mono);font-size:11px;line-height:16px;letter-spacing:0;color:var(--card-warn);word-break:break-all;}
  .card .note{font-family:var(--font-mono);font-size:10.5px;line-height:15px;letter-spacing:0;color:var(--card-muted);margin-top:2px;}
  .card .src{color:var(--card-faint);border-top:1px solid var(--card-line);padding-top:8px;margin-top:10px;}

  /* play CTA — same compact shell as ctf-speedrun / visual-intelligence */
  .btn{appearance:none;border:none;cursor:pointer;position:relative;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
    height:2.5rem;min-width:2.5rem;padding:.5rem .75rem;
    border:1px solid color-mix(in srgb,var(--action) 12%,transparent);border-radius:.375rem;
    background:var(--action);color:var(--action-text);
    font-family:var(--font-mistral);font-weight:500;font-size:.875rem;line-height:1.25rem;letter-spacing:.02em;
    transition:width .3s cubic-bezier(.2,.9,.25,1),background-color .15s;}
  .btn:hover{background:var(--action-hover);}
  .btn:focus-visible{outline:2px solid var(--orange);outline-offset:2px;}
  .btn-inner{--icon-left-x:28px;--text-x:-24px;--icon-right-x:-28px;
    position:relative;display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;
    width:100%;gap:.5rem;}
  .btn .ico{display:inline-block;width:1.25rem;height:1.25rem;flex:none;transition:all .3s;will-change:transform;}
  .btn .ico svg,.btn .ico img{display:block;width:100%;height:100%;}
  .btn .ico img{filter:brightness(0) invert(1);}
  html.dark .btn .ico img{filter:brightness(0);}
  .btn .ico img[src*="uturn"]{transform:scale(.8);}
  .btn .ico[data-btn-icon="in"]{position:absolute;opacity:0;transform:translateX(var(--icon-left-x));}
  .btn .ico[data-btn-icon="out"]{position:relative;opacity:1;}
  .btn:hover .ico[data-btn-icon="in"],.btn:focus-visible .ico[data-btn-icon="in"]{opacity:1;transform:translateX(0);transition-delay:.1s;}
  .btn:hover .ico[data-btn-icon="out"],.btn:focus-visible .ico[data-btn-icon="out"]{opacity:0;transform:translateX(var(--icon-right-x));}
  .btn-label{margin:0;margin-top:-1px;color:inherit;font:inherit;transition:all .3s;will-change:transform;-webkit-user-select:none;user-select:none;}
  .btn:hover .btn-label,.btn:focus-visible .btn-label{transform:translateX(var(--text-x));transition-delay:75ms;}
  .btn-progress{position:absolute;left:0;right:0;bottom:0;height:2px;pointer-events:none;
    background:color-mix(in srgb,currentColor 18%,transparent);opacity:1;transition:opacity .45s ease;}
  .btn-progress.is-done{opacity:0;}
  .btn-progress i{display:block;height:100%;width:0;background:currentColor;transition:width .3s linear;}

  /* Scrubber overlays the trace. It is out of flow so the scroll column's
     right inset is only the frame padding, matching the left card. */
  .spark{position:absolute;top:0;right:0;bottom:0;left:auto;z-index:40;
    --notch-max:18px;--pill-pad-x:6px;
    --notch-park-x:calc(var(--notch-max) / 2 + var(--pill-pad-x) + var(--triage-inner-inset,8px));
    width:calc(var(--notch-max) + 2 * var(--pill-pad-x));
    min-width:calc(var(--notch-max) + 2 * var(--pill-pad-x));
    min-height:0;display:flex;align-items:center;margin:0;padding:0;background:none;border:none;
    pointer-events:none;}
  .strip{position:relative;z-index:1;pointer-events:auto;--notch-grey:var(--border);--notch-h:3px;--notch-w:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;width:100%;touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
  /* Hit target stays put: the pill, plus the parked sliver at the frame edge.
     The marks themselves don't take hits, so sliding them can't drop the hover. */
  .strip::before{content:"";position:absolute;z-index:2;pointer-events:auto;top:-16px;bottom:-16px;left:-8px;right:calc(-1 * var(--triage-inner-inset,8px));}
  .pill{position:absolute;z-index:0;pointer-events:none;
    top:0;height:0;right:0;left:0;
    border-radius:calc(var(--notch-max,18px) / 2 + var(--pill-pad-x,6px));
    background:color-mix(in srgb,var(--white,#fff) 88%,transparent);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    box-shadow:0 0 0 1px color-mix(in srgb,var(--border,#e4e3de) 55%,transparent),0 6px 18px rgb(0 0 0 / .08);
    opacity:0;transform:translateX(var(--notch-park-x)) scaleX(.72);transform-origin:center center;
    transition:opacity .2s ease,transform .28s cubic-bezier(.2,.7,.2,1);}
  .strip:hover ~ .pill,.strip.hot ~ .pill,.strip.scrubbing ~ .pill,.spark:hover .pill{opacity:1;transform:translateX(0) scaleX(1);}
  .strip.scrubbing,.re.scrubbing,.re.scrubbing *{cursor:grabbing;}
  .re.scrubbing, .re.scrubbing *{-webkit-user-select:none;user-select:none;}
  .re.scrubbing ::selection{background:transparent;}
  @property --mix{syntax:"<number>";inherits:false;initial-value:0;}
  .strip i{--mix:0;flex:none;box-sizing:border-box;height:var(--notch-h);width:var(--notch-w);
    background-color:color-mix(in srgb, var(--c) calc(var(--mix) * 100%), var(--notch-grey));
    position:relative;z-index:1;pointer-events:none;cursor:inherit;border-radius:999px;
    transform-origin:center center;
    transform:translateX(var(--notch-park-x));
    transition:transform .28s cubic-bezier(.2,.7,.2,1);}
  .strip:hover i,.strip.hot i,.strip.scrubbing i,.spark:hover .strip i{transform:none;}
  .re.seeking *,.re.seeking *::before,.re.seeking *::after,.re.measuring .f,.re.measuring .f::before{animation:none!important;transition:none!important;}
  /* Activity sits beside playback without a separate panel. */
  .mt-call-row{--mt-num-ease:linear(0,.143 10%,.391 20%,.613 30%,.776 40%,.88 50%,.941 60%,.975 70%,.991 80%,.998 90%,1);
    display:inline-flex;align-items:center;flex:1 1 auto;min-width:0;margin-right:auto;}
  .mt-call-row[hidden]{display:none;}
  .mt-call{position:relative;display:inline-flex;align-items:last baseline;gap:6px;overflow:visible;
    width:fit-content;max-width:100%;opacity:.75;color:var(--text-primary);white-space:nowrap;
    font-family:var(--font-mistral);font-weight:500;font-size:.875rem;line-height:1.25rem;letter-spacing:.02em;}
  .mt-call-slide{display:inline-flex;align-items:last baseline;gap:6px;}
  .mt-call.is-swapping .mt-call-slide{position:absolute;left:0;top:0;}
  .mt-call-slide.is-in-up{animation:mt-num-in-up .4s var(--mt-num-ease) both;}
  .mt-call-slide.is-out-up{animation:mt-num-out-up .4s var(--mt-num-ease) both;}
  @keyframes mt-num-in-up{0%{transform:translateY(70%);opacity:0;}100%{transform:translateY(0);opacity:1;}}
  @keyframes mt-num-out-up{0%{transform:translateY(0);opacity:1;}100%{transform:translateY(-70%);opacity:0;}}
  .mt-call-icon{display:block;width:15px;height:15px;flex:none;align-self:center;color:inherit;}
  .mt-call.is-same-icon .mt-call-slide .mt-call-icon{visibility:hidden;}
  .mt-call-icon.is-fixed{position:absolute;left:0;top:50%;z-index:1;transform:translateY(-50%);}
  .mt-call-icon svg{display:block;width:100%;height:100%;}
  .mt-call-icon svg path{fill:currentColor;}
  @media (min-width:761px) and (max-width:820px){
    .re-play-row{gap:4px;}
    .re-intro .re-speed{font-size:12px;}
  }
  .mt-call.is-shimmer{
    --mt-sheen:linear-gradient(90deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.5) 42%,#000 50%,rgba(0,0,0,.5) 58%,rgba(0,0,0,.5) 100%);
    opacity:1;-webkit-mask-image:var(--mt-sheen);mask-image:var(--mt-sheen);
    -webkit-mask-size:250% 100%;mask-size:250% 100%;-webkit-mask-repeat:repeat;mask-repeat:repeat;
    animation:mt-sheen 2.4s ease-in-out infinite;}
  /* The mask bounds clip the slides while they roll outside the resting label. */
  .mt-call.is-swapping{-webkit-mask-image:none;mask-image:none;animation:none;}
  .mt-call.is-shimmer.is-swapping{opacity:.5;}
  @keyframes mt-sheen{from{-webkit-mask-position:100% 0;mask-position:100% 0;}to{-webkit-mask-position:0% 0;mask-position:0% 0;}}
  @media (prefers-reduced-motion:reduce){
    .mt-call.is-shimmer{animation:none;-webkit-mask-image:none;mask-image:none;}
    .mt-call-slide.is-in-up,.mt-call-slide.is-out-up{animation:none;}
  }
  .ln.y .x{color:var(--text-secondary);padding-left:14px;white-space:pre;overflow:hidden;text-overflow:ellipsis;}
  .ln.y .kw{color:var(--orange);} .ln.y .sv{color:var(--hl);} .ln.y .hx{color:var(--green);}

  /* body: a scrollable workflow tree */
  .pane{overflow:visible;}
  .body{position:relative;display:flex;flex-direction:row;align-items:stretch;min-height:0;flex:1;}
  .col{display:flex;flex-direction:column;min-height:0;flex:1;}
  .colh{display:flex;justify-content:space-between;gap:8px;padding:8px 16px 6px;border-bottom:1px solid var(--border);color:var(--text-primary);}
  .colh span{color:var(--text-faint);}

  .logcol{position:relative;flex:1;min-width:0;min-height:0;overflow:visible;display:flex;flex-direction:column;background:transparent;
    --hh:2.75rem;}
  .trace{flex:1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;scroll-behavior:auto;padding:0;margin:0;
    scrollbar-width:none;
    font-family:var(--font-mono);font-size:11.5px;line-height:1.6;letter-spacing:0;}
  .trace:focus-visible{outline:2px solid var(--orange);outline-offset:-2px;}
  .trace::-webkit-scrollbar{display:none;}
  .trace-flow{position:relative;display:flex;flex-direction:column;min-height:100%;margin:0;padding:0 0 16px;}
  .agent-links{position:absolute;inset:0 auto auto 0;z-index:0;display:block;width:100%;pointer-events:none;overflow:visible;}
  .agent-link{fill:none;stroke:color-mix(in srgb,var(--edge-color) 38%,var(--border));stroke-width:1.25;stroke-linecap:round;vector-effect:non-scaling-stroke;}
  .agent-link.is-drawing{stroke-dasharray:1;stroke-dashoffset:1;animation:agent-link-draw .48s cubic-bezier(.2,.65,.2,1) var(--draw-delay,0ms) both;}
  @keyframes agent-link-draw{to{stroke-dashoffset:0;}}
  /* Headers share the full flow as their sticky containing block, so earlier
     steps remain stacked while later agent grids scroll beneath them. */
  .trace-flow > .sec{display:contents;}
  .trace-flow > .sec:not(.open) .f,.trace-flow > .sec:not(.open) .sec-body{display:none;}
  .sec-body{position:relative;z-index:1;min-width:0;padding:12px 18px 30px;opacity:1;transition:opacity .4s ease;}
  .re.trace-muted .sec-body{opacity:.25;}
  .sec-body:empty{min-height:0;padding:0;}
  .agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));grid-auto-rows:44px;align-content:start;align-items:center;justify-items:center;gap:10px;}
  .agent-grid.is-single-agent{grid-template-columns:minmax(0,1fr);}
  .agent-chip{--agent-content-opacity:1;--chip-morph-ease:cubic-bezier(.22,1.12,.28,1);display:flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;width:max-content;height:32px;max-width:min(260px,100%);min-width:0;padding:6px 12px;border:0;outline:0;box-shadow:none;border-radius:999px;overflow:hidden;background:var(--white);color:var(--text-primary);text-align:left;opacity:0;filter:blur(7px);scale:.86;transform:translate(var(--physics-x,0px),var(--physics-y,0px));transform-origin:center;transition:opacity .28s ease,filter .28s ease,scale .35s cubic-bezier(.2,.7,.2,1),height .58s var(--chip-morph-ease),padding .58s var(--chip-morph-ease),gap .58s var(--chip-morph-ease),border-radius .58s var(--chip-morph-ease),background-color .35s ease,backdrop-filter .35s ease,-webkit-backdrop-filter .35s ease;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;}
  .agent-chip.is-visible{opacity:1;filter:blur(0);scale:1;}
  .agent-chip.is-finished{gap:0;}
  .agent-chip.is-finished-count{width:40px;height:40px;padding:0;border-radius:999px;}
  .agent-chip.is-dragging{position:relative;z-index:3;cursor:grabbing;}
  .re.seeking .agent-chip{transition:none;}
  .agent-chip[data-state="queued"]{--agent-content-opacity:.55;}
  .agent-chip[data-state="done"]:is([data-outcome-kind="none"],[data-outcome-kind="refuted"],[data-outcome-kind="inconclusive"],[data-outcome-kind="failed"]){--agent-content-opacity:.5;}
  .agent-chip:is([data-state="queued"],[data-state="done"]:is([data-outcome-kind="none"],[data-outcome-kind="refuted"],[data-outcome-kind="inconclusive"],[data-outcome-kind="failed"])){background:color-mix(in srgb,var(--white) 44%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);}
  .agent-avatar{display:flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;min-width:0;pointer-events:none;opacity:var(--agent-content-opacity);filter:blur(0);transform:scale(1);transition:width .42s cubic-bezier(.42,0,.18,1),height .42s cubic-bezier(.42,0,.18,1),opacity .42s ease,filter .42s ease,transform .42s cubic-bezier(.42,0,.18,1);}
  .agent-chip.is-finished .agent-avatar{width:0;height:0;opacity:0;filter:blur(4px);transform:scale(.55);}
  .agent-chip.is-finished .agent-tile-icon{animation:none;}
  .agent-tile-icon{display:block;flex:none;width:18px;height:18px;color:var(--tile-color,var(--pc,var(--s0)));shape-rendering:crispEdges;transform-origin:center;animation:agent-tile-float var(--tile-float-duration) ease-in-out infinite;}
  .agent-chip[data-state="done"][data-outcome-kind="none"] .agent-tile-icon,.agent-tile-icon.is-desaturated{filter:grayscale(1);}
  @keyframes agent-tile-float{0%,100%{transform:translateY(1.5px) rotate(0deg);}50%{transform:translateY(-1.5px) rotate(var(--tile-target-tilt));}}
  .agent-tile-eye{transform-box:fill-box;transform-origin:center bottom;}
  .agent-tile-icon.is-blinking .agent-tile-eye{animation:agent-tile-blink 180ms ease-in-out both;}
  @keyframes agent-tile-blink{0%,100%{transform:scaleY(1);}50%{transform:scaleY(0);}}
  .agent-chip-name{--agent-label-ease:cubic-bezier(.42,0,.18,1);--tool-icon-slot:18px;position:relative;display:block;flex:0 1 auto;min-width:0;height:20px;overflow:visible;white-space:nowrap;font:500 .875rem/1.25rem var(--font-mistral);letter-spacing:.02em;opacity:var(--agent-content-opacity);transition:opacity .28s ease;}
  .agent-chip-name.has-tool-icon{padding-left:var(--tool-icon-slot);}
  .agent-chip-label{display:block;width:max-content;max-width:none;line-height:1.25rem;white-space:nowrap;}
  .agent-chip-label.is-tool{color:var(--text-secondary);}
  .agent-chip-tool-icon{position:absolute;left:0;top:3px;display:block;width:14px;height:14px;color:var(--text-secondary);pointer-events:none;opacity:0;transform:scale(.72);filter:blur(3px);transition:opacity .36s ease,transform .36s var(--agent-label-ease),filter .36s ease;}
  .agent-chip-name.has-tool-icon .agent-chip-tool-icon{opacity:1;transform:scale(1);filter:blur(0);}
  .agent-chip-tool-icon svg{display:block;width:100%;height:100%;}
  .agent-chip-tool-icon svg path{fill:currentColor;}
  .agent-chip-label.is-outgoing{position:absolute;left:0;top:0;}
  .agent-chip-label.is-in-up{animation:agent-label-in-up .38s var(--agent-label-ease) .04s both;}
  .agent-chip-label.is-out-up{animation:agent-label-out-up .38s var(--agent-label-ease) both;}
  @keyframes agent-label-in-up{from{transform:translateY(40%);opacity:0;filter:blur(2px);}to{transform:translateY(0);opacity:1;filter:blur(0);}}
  @keyframes agent-label-out-up{from{transform:translateY(0);opacity:1;filter:blur(0);}to{transform:translateY(-40%);opacity:0;filter:blur(2px);}}
  .re.playing .btn-progress i{transition:none;}
  .ln{display:grid;grid-template-columns:38px minmax(0,1fr);padding-right:14px;animation:lin .5s cubic-bezier(.2,.7,.2,1) both;}
  .ln.static{animation:none;}
  @keyframes lin{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
  .ln .g{color:var(--text-faint);text-align:center;padding-left:8px;white-space:nowrap;}
  .ln .x{white-space:pre-wrap;word-break:break-word;}
  .ln.c .x{color:var(--text-primary);}
  .ln.c .x::before{content:"❯ ";color:var(--text-faint);}
  .ln.c .a{color:var(--text-tertiary);}
  .ln.o .x{color:var(--text-tertiary);padding-left:14px;}
  .ln.e .x{color:var(--red);padding-left:14px;}
  .ln.s .x{color:var(--text-faint);padding-left:14px;}
  .ln.s .x::before{content:"⋯  ";color:var(--text-faint);}
  .ln .h{color:var(--hl);} .ln .k{color:var(--red);} .ln .ok{color:var(--green);}
  .ln.q{margin:6px 0;}
  .ln.q .x{position:relative;font-family:var(--font-inter);font-size:13.5px;line-height:1.45;letter-spacing:-.01em;color:var(--text-primary);
    background:var(--surface-2);padding:6px 10px 6px 12px;}
  .ln.q .x::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1.5px;border-radius:999px;background:var(--text-faint);opacity:.5;}
  .ln.q .x code{font-family:var(--font-mono);font-size:11.5px;letter-spacing:0;background:var(--surface-3);padding:0 4px;}

  .f{position:sticky;top:calc(var(--i,0) * var(--stack-step,var(--hh)));z-index:calc(10 + var(--i,0));display:flex;align-items:center;gap:7px;width:100%;min-width:0;height:var(--hh);padding:0 16px;cursor:pointer;
    background:var(--white);border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--triage-inner-radius);
    opacity:0;transition:opacity .35s ease;}
  /* Each mask spans to the next header and fades in only as the gap closes. */
  .f::after{content:"";position:absolute;top:calc(100% + 1px);left:0;right:0;
    height:var(--gap-mask-height,0px);background:var(--surface-2);opacity:var(--gap-mask-opacity,0);pointer-events:none;}
  .f.show{opacity:1;}
  .f:hover{background:var(--surface-1);}
  .f:focus-visible{outline:2px solid var(--orange);outline-offset:-2px;}
  .f .fi{flex:none;display:block;width:14px;height:14px;color:var(--pc,var(--s0));}
  .f .fi svg{display:block;width:100%;height:100%;}
  .f .fi svg path{fill:var(--pc,var(--s0));}
  .f .meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px;justify-content:center;}
  .f .patch-status{display:none;align-items:center;gap:6px;flex:none;margin-left:8px;color:var(--green);font:500 .875rem/1.25rem var(--font-mistral);letter-spacing:.02em;white-space:nowrap;transform-origin:right center;pointer-events:none;}
  .f .patch-status.is-visible{display:inline-flex;animation:patch-status-in .55s cubic-bezier(.2,.7,.2,1) both;}
  @keyframes patch-status-in{from{opacity:0;filter:blur(6px);transform:scale(.8);}to{opacity:1;filter:blur(0);transform:scale(1);}}
  .f .patch-status-icon{display:block;flex:none;width:18px;height:18px;}
  .f .patch-status-icon svg{display:block;width:100%;height:100%;shape-rendering:crispEdges;}
  .f .patch-status-icon path{fill:currentColor;}
  .re.seeking .patch-status.is-visible{animation:none;}
  .f .agent-total{--count-ease:linear(0,.143 10%,.391 20%,.613 30%,.776 40%,.88 50%,.941 60%,.975 70%,.991 80%,.998 90%,1);display:inline-flex;align-items:baseline;gap:.25em;flex:none;margin-left:8px;color:var(--text-tertiary);font:500 .875rem/1.25rem var(--font-mistral);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;}
  .agent-total-number{display:inline-flex;align-items:baseline;font:inherit;line-height:inherit;font-variant-numeric:inherit;}
  .agent-count-column{position:relative;display:inline-block;vertical-align:baseline;width:1ch;line-height:inherit;font:inherit;font-variant-numeric:inherit;}
  .agent-count-column::before{content:"0";display:block;visibility:hidden;font:inherit;line-height:inherit;pointer-events:none;}
  .agent-count-column.is-enter{animation:agent-count-column-in .4s var(--count-ease) both;}
  .agent-count-digit{position:absolute;left:0;top:0;display:block;width:100%;height:100%;text-align:center;font:inherit;line-height:inherit;font-variant-numeric:inherit;will-change:transform,opacity;}
  .agent-count-digit.in-up{z-index:1;animation:agent-count-in-up .4s var(--count-ease) both;}
  .agent-count-digit.out-up{animation:agent-count-out-up .4s var(--count-ease) both;}
  @keyframes agent-count-in-up{from{transform:translateY(70%);opacity:0;}to{transform:translateY(0);opacity:1;}}
  @keyframes agent-count-out-up{from{transform:translateY(0);opacity:1;}to{transform:translateY(-70%);opacity:0;}}
  @keyframes agent-count-column-in{from{transform:translateX(-25%);opacity:0;}to{transform:translateX(0);opacity:1;}}
  .f .t .info{display:inline-grid;vertical-align:-3px;margin-left:6px;}
  /* Same type as CTF Speedrun model titles (.cr-name): 14/20 medium ALTMistral, +0.02em. */
  .f .t{font-family:var(--font-mistral);font-weight:500;font-size:.875rem;line-height:1.25rem;letter-spacing:.02em;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}


  .foot{margin-top:12px !important;font-size:13px;line-height:1.25rem;color:var(--text-tertiary);}
  .foot code{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);}

  @media (max-width:760px){
    .triage-frame{--triage-max-h:min(640px, calc(100dvh - 32px));}
    .triage-split{grid-template-columns:1fr;min-height:0;
      grid-template-rows:auto minmax(0,1fr);}
    .card{width:auto;left:16px!important;right:16px;}
    .colh span{display:none;}
  }
  /* The iframe host sets its height from the measured card. Keep that card
     independent of the iframe viewport so the two heights cannot shrink each other. */
  html[data-widget-iframe] .triage-frame{--triage-max-h:560px;}
  @media (max-width:760px){
    html[data-widget-iframe] .triage-frame{--triage-max-h:640px;}
  }
  @media (max-width:420px){
    .f{gap:4px;padding:0 8px;}
    .f .agent-total{margin-left:4px;}
    .sec-body{padding-right:8px;padding-left:8px;}
    .agent-chip{padding:6px 10px;}
  }
  @media (prefers-reduced-motion:reduce){.ln,.agent-tile-icon,.agent-tile-icon.is-blinking .agent-tile-eye,.agent-chip-label.is-in-up,.agent-chip-label.is-out-up,.agent-count-column.is-enter,.agent-count-digit.in-up,.agent-count-digit.out-up,.patch-status.is-visible{animation:none;}.agent-link.is-drawing{animation:none;stroke-dasharray:none;stroke-dashoffset:0;}.agent-chip,.agent-chip.is-finished-count,.agent-avatar,.agent-chip-tool-icon,.strip i,.pill,.sec-body{transition:none;}}
