/* Motion: transitions.dev tokens and snippets (shimmer text, tabs sliding, number pop-in,
   accordion expand, texts reveal). Snippet CSS is kept verbatim; brand values are set below. */
:root {
  --duration-stagger: 40ms;
  --duration-micro: 80ms;
  --duration-quick: 150ms;
  --duration-fast: 250ms;
  --duration-medium: 350ms;
  --duration-slow: 400ms;
  --duration-very-slow: 500ms;
  --ease-smooth-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: ease-out;
  --ease-linear: linear;
  --ease-bounce: cubic-bezier(0.34, 1.36, 0.64, 1);
  --scale-small: 0.98;
  --blur-small: 2px;
  --shimmer-dur: 2000ms;
  --shimmer-base: #7c7c7c;
  --shimmer-highlight: #0d0d0d;
  --shimmer-band: 400%;
  --shimmer-ease: linear;
  --tabs-dur: 250ms;
  --tabs-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --tabs-text-muted: rgba(15, 15, 15, 0.8);
  --tabs-text-active: #0f0f0f;
  --tabs-bar-bg: #f1f1f1;
  --tabs-pill-bg: #ffffff;
  --digit-dur: 500ms;
  --digit-distance: 8px;
  --digit-stagger: 70ms;
  --digit-blur: 2px;
  --digit-ease: cubic-bezier(0.34, 1.45, 0.64, 1);
  --digit-dir-x: 0;
  --digit-dir-y: 1;
  --acc-expand: 250ms;
  --acc-collapse: 250ms;
  --acc-chevron: 250ms;
  --acc-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --stagger-dur: 500ms;
  --stagger-distance: 12px;
  --stagger-stagger: 40ms;
  --stagger-blur: 3px;
  --stagger-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
#web-arena {
  --shimmer-base: var(--muted);
  --shimmer-highlight: var(--teal-ink);
  --tabs-text-muted: var(--muted);
  --tabs-text-active: #31594F;
  --tabs-bar-bg: var(--card);
  --tabs-pill-bg: #FFFFFF;
}

.t-shimmer {
  position: relative;
  display: inline-block;
  color: var(--shimmer-base);
}
.t-shimmer::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(
    90deg,
    transparent          0%,
    transparent         40%,
    var(--shimmer-highlight) 50%,
    transparent         60%,
    transparent        100%
  );
  background-size: var(--shimmer-band) 100%;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: t-shimmer var(--shimmer-dur) var(--shimmer-ease) infinite;
}
@keyframes t-shimmer {
  0%   { background-position: 100% 0; }
  100% { background-position: 0% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .t-shimmer::before { animation: none !important; }
}

.t-tabs {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border-radius: 48px;
  background: var(--tabs-bar-bg);
}
.t-tab {
  position: relative;
  appearance: none;
  border: 0;
  background: transparent;
  height: 30px;
  padding: 4px 12px;
  color: var(--tabs-text-muted);
  cursor: pointer;
  border-radius: 48px;
  z-index: 1;
  transition: color var(--tabs-dur) var(--tabs-ease);
}
.t-tab:not([aria-selected="true"]):hover,
.t-tab[aria-selected="true"] {
  color: var(--tabs-text-active);
}

.t-tabs-pill {
  position: absolute;
  top: 3px;
  left: 0;
  height: 30px;
  width: 0;
  background: var(--tabs-pill-bg);
  border-radius: 48px;
  transform: translateX(0);
  transition:
    transform var(--tabs-dur) var(--tabs-ease),
    width     var(--tabs-dur) var(--tabs-ease);
  will-change: transform, width;
  z-index: 0;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .t-tabs-pill, .t-tab { transition: none !important; }
}

@keyframes t-digit-pop-in {
  0%   {
    transform: translate(
      calc(var(--digit-distance) * var(--digit-dir-x)),
      calc(var(--digit-distance) * var(--digit-dir-y))
    );
    opacity: 0;
    filter: blur(var(--digit-blur));
  }
  100% { transform: translate(0, 0); opacity: 1; filter: blur(0); }
}

.t-digit-group {
  display: inline-flex;
  align-items: baseline;
}
.t-digit {
  display: inline-block;
  will-change: transform, opacity, filter;
}
.t-digit-group.is-animating .t-digit {
  animation: t-digit-pop-in var(--digit-dur) var(--digit-ease) both;
}
.t-digit-group.is-animating .t-digit[data-stagger="1"] {
  animation-delay: var(--digit-stagger);
}
.t-digit-group.is-animating .t-digit[data-stagger="2"] {
  animation-delay: calc(var(--digit-stagger) * 2);
}

@media (prefers-reduced-motion: reduce) {
  .t-digit-group .t-digit { animation: none !important; }
}

.t-acc-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--acc-collapse) var(--acc-ease);
}
.t-acc[data-open="true"] .t-acc-panel {
  grid-template-rows: 1fr;
  transition: grid-template-rows var(--acc-expand) var(--acc-ease);
}
.t-acc-panel-inner {
  overflow: hidden;
  opacity: 0;
  filter: blur(2px);
  transition:
    opacity var(--acc-collapse) var(--acc-ease),
    filter var(--acc-collapse) var(--acc-ease);
}
.t-acc[data-open="true"] .t-acc-panel-inner {
  opacity: 1;
  filter: blur(0);
  transition:
    opacity var(--acc-expand) var(--acc-ease),
    filter var(--acc-expand) var(--acc-ease);
}
.t-acc-chevron {
  display: inline-flex;
  transform: scaleY(1);
  transform-origin: center;
  transition: transform var(--acc-chevron) var(--acc-ease);
}
.t-acc-chevron path { vector-effect: non-scaling-stroke; }
.t-acc[data-open="true"] .t-acc-chevron {
  transform: scaleY(-1);
}

@media (prefers-reduced-motion: reduce) {
  .t-acc-panel, .t-acc-panel-inner, .t-acc-chevron {
    transition: none !important;
  }
}

.t-stagger-line {
  display: block;
  opacity: 0;
  transform: translateY(var(--stagger-distance));
  filter: blur(var(--stagger-blur));
  transition:
    opacity   var(--stagger-dur) var(--stagger-ease),
    transform var(--stagger-dur) var(--stagger-ease),
    filter    var(--stagger-dur) var(--stagger-ease);
  will-change: transform, opacity, filter;
}
.t-stagger-line--2 { transition-delay: var(--stagger-stagger); }

.t-stagger.is-shown .t-stagger-line {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
.t-stagger.is-hiding .t-stagger-line {
  opacity: 0;
  transform: translateY(0);
  filter: blur(0);
  transition:
    opacity 200ms ease,
    transform 0s linear,
    filter 0s linear;
  transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
  .t-stagger-line { transition: none !important; }
}

/* Page frame. There is no page nav: the brand links home and the arena is the page. */
#web-arena{min-height:100svh;position:relative;overflow-x:clip}
#web-arena .masthead{display:flex;justify-content:space-between;align-items:center;gap:16px}
#web-arena .masthead>nav[aria-label="Arena account"]{gap:14px}
.wa-setup{margin-left:0;gap:8px;padding:6px 10px;border:.5px solid var(--line);border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}
.wa-setup:hover:not(:disabled){border-color:#bddbd0;background:var(--teal-soft)}
.wa-setup .setup-logos img{width:18px;height:18px}
.wa-balance{cursor:pointer;background:var(--surface);transition:border-color var(--duration-quick) var(--ease-out),background var(--duration-quick) var(--ease-out)}
.wa-balance:hover:not(:disabled){border-color:#bddbd0;background:var(--teal-soft)}
.wa-topup{display:grid;place-items:center;width:16px;height:16px;margin-left:2px;border-radius:50%;background:var(--teal-soft);color:var(--teal-ink);font:500 12px/1 var(--text)}
.web-layout{display:flex;column-gap:24px;width:100%;margin:0 auto}
.web-layout main{flex:1;min-width:0;max-width:1080px;margin-inline:auto;padding:0 8px 80px}
.web-page-footer .web-footer-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.wa-intro{align-items:flex-end;padding:30px 0 20px}
.wa-intro .wa-setup{margin-left:auto;align-self:center}
.wa-tagline{margin-left:auto;max-width:330px;color:var(--muted);font-size:13px;line-height:1.5;text-align:right}

/* Command card: task, query and run on top; how and who below. */
.wa-command{overflow:visible;padding:16px 18px 14px;margin-bottom:0}
.wa-task-row{display:flex;min-width:0}
.wa-tasks{max-width:100%;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain}
.wa-tasks::-webkit-scrollbar{display:none}
.wa-tasks .t-tab{display:inline-flex;align-items:center;gap:7px;height:34px;padding:4px 13px;font-size:13px;font-weight:500;white-space:nowrap}
.wa-tasks .t-tab svg{width:15px;height:15px;flex:none}
.wa-tasks .t-tab small{font-size:11px;font-weight:400}
.wa-tasks .t-tab:disabled{opacity:.4}
.wa-tasks .t-tabs-pill{height:34px;box-shadow:0 1px 3px #182f241f,inset 0 0 0 1px #D8E9DF}
.wa-query{display:flex;align-items:center;gap:10px;margin-top:12px;padding:7px 7px 7px 16px;border:1px solid transparent;border-radius:18px;background:var(--card);transition:border-color var(--duration-quick) var(--ease-out),box-shadow var(--duration-quick) var(--ease-out)}
.wa-query:focus-within{border-color:#74b9a8;box-shadow:0 0 0 3px #dcefe9;background:var(--surface)}
.wa-query-icon{width:18px;height:18px;flex:none;color:var(--subtle)}
.wa-query-input{flex:1;min-width:0;padding:11px 0;border:0;background:none;font-size:17px}
.wa-query-input:focus-visible{outline:0}
.wa-run{height:46px;min-width:150px;padding:0 18px;border-radius:13px;white-space:nowrap}
.wa-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-top:12px;min-width:0}
.wa-modes .t-tab{display:inline-flex;align-items:center;gap:6px;height:28px;padding:3px 11px;font-size:12px;font-weight:500}
.wa-modes .t-tab:not([data-active="true"]):hover,.wa-modes .t-tab[data-active="true"]{color:var(--tabs-text-active)}
.wa-modes .t-tabs-pill{height:28px;box-shadow:0 1px 3px #182f241f,inset 0 0 0 1px #D8E9DF}
.wa-modes svg{width:19px;height:15px;fill:none;stroke:currentColor;stroke-width:1.1}
.wa-modes svg rect{fill:currentColor;stroke:none}
.wa-mode-note{color:var(--muted);font-size:11px}
.web-quality-control{display:inline-flex;align-items:center;gap:4px}
.jev-control{display:flex;gap:9px;align-items:center}
.wa-price-note{margin-left:auto;color:var(--muted);font:11px var(--mono)}
.price-note{color:var(--muted);font-size:11px}

/* Roster: the lineup as a strip of pixel-framed chips. Order stays put when you toggle. */
.wa-roster-title{font:400 13px var(--display)}
.wa-roster-count{color:var(--muted);font:11px var(--mono)}
.wa-chip{position:relative;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 9px 0 4px;border:1px solid #CFE5DC;border-radius:10px;background:#FBFDFC;font-size:12px;font-weight:500;transition:transform var(--duration-quick) var(--ease-smooth-out),border-color var(--duration-quick) var(--ease-out),opacity var(--duration-quick) var(--ease-out)}
.wa-chip:hover:not(:disabled){transform:translateY(-2px);border-color:#9fcdbd;background:#FBFDFC}
.wa-chip:disabled{opacity:1;cursor:default}
.wa-chip-face{position:relative;display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:6px;overflow:hidden;background:var(--surface);color:var(--muted);font:500 11px var(--mono)}
.wa-chip-face img{position:absolute;inset:0;width:24px;height:24px;object-fit:contain;background:var(--surface)}
.wa-chip-name{white-space:nowrap}
.wa-chip-check{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--teal-soft);color:var(--teal-ink);font:500 9px/1 var(--mono)}
.wa-chip.off{border-color:var(--line);background:var(--surface);color:var(--muted)}
.wa-chip.off .wa-chip-face img{filter:grayscale(1);opacity:.5}
.wa-chip.off .wa-chip-check{background:#EEEDE9;color:var(--muted)}
.wa-chip-tip{position:absolute;z-index:20;bottom:calc(100% + 7px);left:50%;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 5px 16px #182f241c;color:var(--ink);font:11px var(--mono);white-space:nowrap;pointer-events:none;opacity:0;transform:translateX(-50%) scale(var(--scale-small));transition:none}
.wa-chip:is(:hover,:focus-visible) .wa-chip-tip{opacity:1;transform:translateX(-50%) scale(1);transition:opacity var(--duration-quick) var(--ease-out) var(--duration-micro),transform var(--duration-quick) var(--ease-out) var(--duration-micro)}
.wa-hint{margin-top:8px;color:var(--muted);font-size:11px}
.web-empty-lineup{margin:8px 0;color:var(--muted);font-size:12px}
.web-lineup-warning{margin-top:8px;color:#a35028;font-size:12px}

/* Fight stage: one lane per provider. The lane is the loading state and then the result. */
.wa-stage{margin:18px 0 0;scroll-margin-top:16px}
.web-stop-button{background:#fff;border:1px solid #d68b94;color:#963c48}
.web-stop-button:hover:not(:disabled){background:#fff3f4;border-color:#d68b94}
.wa-lanes{display:grid;gap:8px;margin-top:10px}
.wa-lane{position:relative;border:.5px solid var(--line);border-radius:18px;background:var(--surface)}
.wa-lane-main{min-width:0}
.wa-lane-stats{display:flex;gap:18px;margin:0}
.wa-lane-stats div{min-width:64px;text-align:right}
.wa-lane-stats dt{color:var(--subtle);font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.wa-lane-stats dd{margin:2px 0 0;font:14px var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.wa-estimate{color:var(--subtle)}
.wa-lane-actions{display:flex;align-items:center;gap:2px;min-width:30px}
.wa-lane-track{display:none;position:absolute;left:18px;right:18px;bottom:0;height:2px;background:repeating-linear-gradient(90deg,var(--teal) 0 8px,transparent 8px 16px);background-size:32px 100%;animation:wa-march .8s var(--ease-linear) infinite}
@keyframes wa-march{to{background-position:32px 0}}
.wa-lane.lane-running .wa-lane-track,.wa-lane.lane-checking .wa-lane-track{display:block}
.wa-lane.lane-running,.wa-lane.lane-checking{border-color:#BFE3D8;box-shadow:0 0 0 3px var(--teal-soft)}
.wa-lane.lane-waiting{background:#FCFCFB}
.wa-lane.lane-waiting .wa-lane-main h3{color:var(--muted)}
.wa-lane.lane-down{background:#FDFAF9}
.wa-lane.lane-down .wa-lane-status{color:#9b3c50}
.wa-lane.lane-skipped,.wa-lane.lane-stopped{background:#FCFCFB}
.wa-lane.lane-skipped .wa-lane-main,.wa-lane.lane-stopped .wa-lane-main,.wa-lane.lane-skipped .wa-lane-stats,.wa-lane.lane-stopped .wa-lane-stats{opacity:.6}
.wa-lane.is-rated-down .wa-lane-main h3{color:var(--muted)}
.wa-stage.is-finale .fighter.won .fighter-sprite{animation:fighter-victory .48s steps(3,end) 2}
.wa-pop{animation:wa-pop var(--duration-very-slow) var(--ease-bounce) both}
@keyframes wa-pop{0%{transform:scale(0);opacity:0;filter:blur(var(--blur-small))}100%{transform:scale(1);opacity:1;filter:blur(0)}}
.wa-lane .award-badge.most-relevant{background:#fff1cc;color:#825c15}
.wa-lane .award-badge.token-efficient{background:#e5f1f9;color:#315979}
.wa-links ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 26px}
.wa-lane-body .web-info-tooltip{top:calc(100% + 8px);bottom:auto}
.wa-raw{margin-top:12px}
.wa-raw summary{color:var(--muted);font-size:12px;cursor:pointer}
.wa-raw pre{max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--card);padding:10px;border-radius:9px;font:11px var(--mono)}
.wa-stage .web-results-table-wrap{margin-top:10px;padding:8px 14px;border:.5px solid var(--line);border-radius:18px;background:var(--surface)}
.web-card.web-observations{margin-top:28px}

/* Shared result pieces, the table view and the leaderboard. */
.web-info-wrap{position:relative;display:inline-flex;align-items:center;vertical-align:middle}
.web-info-trigger{display:grid;place-items:center;width:22px;height:22px;padding:3px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
.web-info-trigger:hover,.web-info-trigger:focus-visible{color:var(--ink);background:#eef3ef}
.web-info-trigger:focus-visible{outline:2px solid var(--teal-ink);outline-offset:2px}
.web-info-trigger svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.4}
.web-info-tooltip{position:absolute;z-index:20;bottom:calc(100% + 8px);left:0;box-sizing:border-box;width:270px;max-width:calc(100vw - 36px);padding:12px 14px;border:1px solid #e4e8e4;border-radius:12px;background:#fff;color:var(--muted);box-shadow:0 6px 24px #182f241f;font-size:11px;line-height:1.5;text-align:left;white-space:normal;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .15s}
.web-info-tooltip strong{display:block;margin-bottom:4px;color:var(--ink);font-size:12px;font-weight:500}
.web-quality-check-info .web-info-tooltip strong{display:flex;align-items:center;gap:4px;white-space:nowrap}
.web-quality-check-info .web-info-tooltip strong img,.web-quality-check-info .web-info-tooltip strong svg{width:15px;height:15px;flex:none}
.web-quality-check-info .web-info-tooltip strong svg{vertical-align:middle}
.web-info-wrap:is(:hover,:focus-within) .web-info-tooltip{visibility:visible;opacity:1}
.web-intent-info .web-info-tooltip{left:auto;right:0}
.price-note{color:var(--muted);font-size:11px}
.web-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;margin:16px 0}
.web-card h2{font-size:22px}.web-card h3{font-size:17px}
.web-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.web-heading p,.web-note{color:var(--muted);font-size:12px}
.web-view-switch{display:flex;flex:none;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#f7f9f7}
.web-view-option{position:relative;display:flex}
.web-view-option button{display:grid;place-items:center;width:32px;height:30px;padding:5px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}
.web-view-option button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px #182f241c}
.web-view-option button:focus-visible{outline:2px solid var(--teal-ink);outline-offset:2px}
.web-view-option svg{width:17px;height:17px}
.web-view-tooltip{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 5px 16px #182f241c;color:var(--ink);font-size:11px;white-space:nowrap;visibility:hidden;opacity:0;pointer-events:none}
.web-view-option:is(:hover,:focus-within) .web-view-tooltip{visibility:visible;opacity:1}
.web-results .award-badge.most-relevant{background:#fff1cc;color:#825c15}
.web-results .award-badge.token-efficient{background:#e5f1f9;color:#315979}
.web-result-status{flex:none;border-radius:999px;padding:4px 8px;background:#edf1ef;color:var(--muted);font-size:11px}
.web-result-status.status-hit{background:#e3f0eb;color:var(--teal-ink)}
.web-result-status.status-miss,.web-result-status.status-error,.web-result-status.status-timeout{background:#fbe8eb;color:#9b3c50}
.web-result-metrics{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.web-metric-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #e4e9e5;border-radius:7px;background:#f8faf8;color:var(--muted);font-size:11px;white-space:nowrap}
.web-metric-chip strong{color:var(--ink);font-weight:500}
.web-freshness-chip.freshness-recent{color:var(--teal-ink);background:#eef6f2;border-color:#dcebe4}
.web-freshness-chip.freshness-mixed{color:#6b6251;background:#f8f4e9;border-color:#ece5d5}
.web-freshness-chip.freshness-stale{color:#8b6354;background:#fbf1ec;border-color:#f1dfd7}
.web-result-empty{color:var(--muted);font-size:12px}
.web-fetch-metrics{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.web-fetch-metric{gap:4px}
.web-fetch-metric .web-info-trigger{width:17px;height:17px;padding:1px}
.web-fetch-metric .web-info-trigger svg{width:13px;height:13px}
.web-fetch-metric:last-child .web-info-tooltip{left:auto;right:0}
.web-search-results,.web-fetch-preview{margin-top:8px;min-width:0}
.web-search-results h4{font-size:11px;font-weight:600;margin:0 0 7px;color:var(--muted)}
.web-search-results ol{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.web-search-results li{min-width:0}
.web-result-link{display:block;font-size:12px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}
.web-result-date,.web-result-url{display:block;color:var(--muted);font-size:11px;line-height:1.4}
.web-result-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.web-search-results .web-result-description{color:var(--muted);line-height:1.45;margin:3px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.web-fetch-preview>a{font-size:12px;font-weight:500;overflow-wrap:anywhere}
.web-fetch-preview p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);line-height:1.45}
.web-results-toggle{margin-top:7px;border:0;background:none;color:var(--teal-ink);font-size:12px;cursor:pointer;padding:4px 0}
.result-meta{color:var(--muted);font:11px var(--mono);margin:8px 0 12px}
.result-card p{font-size:12px;margin:6px 0}
.result-card pre{max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--card);padding:10px;border-radius:9px;font:11px var(--mono)}
.result-card details{margin-top:12px}
.result-card .web-result-footer details{margin-top:0}
.web-results-table-wrap{overflow-x:auto}
.web-results-table{min-width:760px;font-size:12px}
.web-results-table th,.web-results-table td{vertical-align:top;padding:14px 10px}
.web-results-table tbody tr:last-child>th,.web-results-table tbody tr:last-child>td{border-bottom:0}
.web-results-table thead th{color:var(--muted);font:11px var(--mono)}
.web-results-table tbody th{min-width:130px;white-space:normal}
.web-table-provider{display:flex;align-items:center;gap:8px;white-space:nowrap}
.web-table-awards{display:flex;gap:4px;margin:5px 0 0 32px}
.web-table-awards .award-badge.most-relevant{background:#fff1cc;color:#825c15}
.web-results-table .web-table-result{min-width:260px;width:42%;white-space:normal;overflow-wrap:anywhere}
.web-table-result>span{display:block;margin-bottom:5px;color:var(--muted)}
.web-table-result>span.web-metric-chip{display:inline-flex;margin:4px 0 6px}
.web-results-table .web-result-actions{align-items:center;gap:2px}
.web-results-table .web-row-expand{cursor:pointer}
.web-table-detail td{background:#fafbf9;white-space:normal;padding:16px 20px}
.web-table-detail h4{font-size:12px;margin:0 0 12px}
.web-table-detail ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.web-table-detail li{min-width:0;overflow-wrap:anywhere}
.web-table-detail li a{display:block;font-weight:500}
.web-table-detail li span,.web-table-detail li small{display:block;color:var(--muted)}
.web-table-detail li p{margin:3px 0;color:var(--muted);line-height:1.4}
.web-table-detail li small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.web-table-detail pre{max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--card);padding:10px;border-radius:9px;font:11px var(--mono)}
.web-table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{font-weight:500}td small{color:var(--muted)}
.web-card details{margin-top:16px}.web-card details summary{cursor:pointer}.web-card ol{margin-top:12px}
.web-observations{padding:22px 24px}
.web-observations>.web-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}
.web-observations>.web-heading a{font-size:12px;white-space:nowrap}
.web-leaderboard-grid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:stretch}
.web-leaderboard-filters{grid-column:1;grid-row:1;min-width:0}
.web-leaderboard-filters .stats-views{display:grid;gap:4px;margin:0 0 26px}
.web-leaderboard-option.web-info-wrap{display:flex;align-items:center;min-width:0}
.web-leaderboard-filters .stats-views .web-view-select{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:11px 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:13px;text-align:left;cursor:pointer}
.web-leaderboard-filters .stats-views .web-view-select:hover,.web-leaderboard-filters .stats-views .web-view-select:focus-visible{background:#f0f3f0;color:var(--ink)}
.web-leaderboard-filters .stats-views .web-view-select.active{background:#e9ece9;color:#365c52}
.web-leaderboard-filters .stats-views .web-view-select svg{width:17px;height:17px;flex:none}
.web-leaderboard-option .web-info-tooltip{top:50%;bottom:auto;left:calc(100% + 8px);transform:translateY(-50%)}
.web-leaderboard-filters .leaderboard-source{margin:0 12px;color:var(--muted);font-size:11px;line-height:1.6}
.web-leaderboard-filters .leaderboard-source span{display:block;margin-top:5px;font-size:10px}
.web-leaderboard-chart{grid-column:2;grid-row:1;min-width:0;padding:24px 24px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.web-leaderboard-chart .chart-heading h3{font-size:17px}
.web-leaderboard-chart .bar-chart{min-width:calc(var(--chart-columns)*100px + 48px);height:370px}
.web-chart-orientation{display:flex;justify-content:flex-end;gap:3px;margin:8px 0 -8px}
.web-chart-orientation button{display:grid;place-items:center;width:32px;height:30px;padding:5px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);cursor:pointer}
.web-chart-orientation button[aria-pressed=true]{background:#edf4f0;color:#345d50;border-color:#bddbd0}
.web-chart-orientation svg{width:18px;height:18px}
.web-bar-scroll,.web-scatter-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.web-scatter-chart{box-sizing:border-box;width:var(--scatter-width);min-width:100%}
.web-scatter-chart .scatter-plot{margin-right:18px}
.web-scatter-chart .scatter-x span:first-child{transform:none}
.web-scatter-chart .scatter-x span:last-child{transform:translateX(-100%)}
.web-leaderboard-chart .chart-detail{margin-top:18px}
.web-leaderboard-chart .chart-caveat{margin-top:8px;line-height:1.55}
.web-horizontal-chart .price-comparison-row{grid-template-columns:minmax(135px,180px) minmax(0,1fr) 140px}
.web-horizontal-chart .price-amount{white-space:nowrap}
@media(max-width:720px){.web-leaderboard-grid{grid-template-columns:minmax(0,1fr);gap:16px}.web-leaderboard-filters{grid-column:1;grid-row:1}.web-leaderboard-chart{grid-column:1;grid-row:2}.web-leaderboard-filters .stats-views{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.web-leaderboard-filters .stats-views .web-view-select{padding:9px 12px}.web-leaderboard-option .web-info-tooltip{top:auto;bottom:calc(100% + 8px);left:0;transform:none}.web-leaderboard-option:nth-child(2) .web-info-tooltip{max-width:230px}.web-leaderboard-option:nth-child(n+3) .web-info-tooltip{left:auto;right:0}.web-leaderboard-filters .leaderboard-source{margin:0 4px 6px}.web-leaderboard-chart{padding:18px 14px 14px}.web-horizontal-chart .price-comparison-row{grid-template-columns:minmax(0,1fr) 110px;gap:8px 10px}.web-horizontal-chart .price-vendor{grid-column:1;grid-row:1}.web-horizontal-chart .price-amount{grid-column:2;grid-row:1}.web-horizontal-chart .price-track{grid-column:1/-1;grid-row:2}}
@media(max-width:800px){.web-table-detail ol{grid-template-columns:1fr}}
@media(max-width:800px){.web-layout main{padding-bottom:50px}.wa-links ol{grid-template-columns:1fr}.wa-intro{flex-wrap:wrap}.wa-tagline{margin-left:0;max-width:none;text-align:left;flex-basis:100%}}
@media(max-width:700px){#web-arena{overflow-x:clip}.web-layout.has-history{flex-direction:column;column-gap:0}.web-layout .session-sidebar{position:static;width:calc(100% - 32px);flex-basis:auto;max-height:none;margin:14px 16px 0;gap:8px}.web-layout .session-list{flex-direction:row;overflow-x:auto;overflow-y:hidden}.web-layout .session-item{width:180px}.web-layout main{padding:0 16px 50px}
  .wa-query{flex-wrap:wrap;padding:7px 7px 7px 14px}.wa-query-input{flex-basis:calc(100% - 40px)}.wa-run{flex:1 1 100%;height:44px}
  .wa-price-note{margin-left:0;flex-basis:100%}.wa-mode-note{display:none}}
@media(max-width:560px){.wa-intro .wa-setup{margin-left:0}}
@media(max-width:540px){.wa-tasks .t-tab{height:40px}.wa-tasks .t-tabs-pill{height:40px}.wa-chip{height:40px}.web-info-tooltip,.web-intent-info .web-info-tooltip{left:-130px;right:auto}.web-result-actions .rating-button,.wa-lane-actions .rating-button{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.web-info-tooltip,.wa-chip,.wa-chip-tip,.wa-progress span,.wa-query{transition:none!important}.wa-lane-track,.wa-pop,.wa-stage.is-finale .fighter.won .fighter-sprite{animation:none!important}}
/* Live board: every provider's state at a glance, pinned while the run is live. */
/* Quiet lanes stay slim so the answers own the page. */
.web-result-actions{display:flex;justify-content:flex-end;gap:4px;flex:none}
.web-result-actions .rating-button{cursor:pointer}
.wa-stage>.web-note{margin:12px 6px 0}
@media(max-width:700px){.wa-lane-status{white-space:normal}}
/* Roster: one line with a stack of selected faces; the chips open on Edit. */
.wa-roster-line{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed #E3E6E2;min-width:0}
.wa-roster-title{font:400 13px var(--display)}
.wa-stack{display:flex;align-items:center;gap:4px;min-width:0}
.wa-stack-face{position:relative;display:grid;place-items:center;width:20px;height:20px;flex:none;border-radius:5px;overflow:hidden;background:var(--surface);color:var(--muted);font:500 9px var(--mono)}
.wa-stack-face img{position:absolute;inset:0;width:20px;height:20px;object-fit:contain;background:var(--surface)}
.wa-stack-more{margin-left:2px;color:var(--muted);font:11px var(--mono)}
.wa-roster-count{color:var(--muted);font:11px var(--mono);white-space:nowrap}
.wa-roster-edit{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:4px 2px;border:0;border-radius:6px;background:transparent;color:var(--teal-ink);font-size:12px;font-weight:500}
.wa-roster-edit:hover:not(:disabled){background:transparent;color:var(--ink)}
.wa-roster-edit svg{width:14px;height:14px}
.wa-roster-acc[data-open="true"] .t-acc-chevron{transform:scaleY(-1)}
.wa-roster-acc.is-settled[data-open="true"] .t-acc-panel-inner{overflow:visible}
.wa-roster-panel{padding-top:10px}
.wa-roster-tools{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:var(--muted);font-size:11px}
.wa-select-all{margin-left:auto;padding:2px 0;color:var(--teal-ink);font-size:12px}
.wa-roster{display:flex;flex-wrap:wrap;gap:6px}
.wa-roster-line .t-acc-chevron{transition:transform var(--acc-chevron) var(--acc-ease)}
.wa-roster-line:has(+ .wa-roster-acc[data-open="true"]) .t-acc-chevron{transform:scaleY(-1)}

/* Strip: one quiet line. Pinned with progress and Stop while the run is live. */
.wa-strip{display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 8px 6px 16px;border:.5px solid var(--line);border-radius:16px;background:var(--surface)}
.wa-stage.is-live .wa-strip{position:sticky;top:8px;z-index:6;box-shadow:0 8px 24px #18241c14}
.wa-strip-text{flex:1;min-width:0;color:var(--muted);font:12px var(--mono);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-strip-query{color:var(--ink)}
.wa-strip .wa-progress{flex:0 1 160px;height:4px;overflow:hidden;border-radius:2px;background:#EEF1EE}
.wa-strip .wa-progress span{display:block;height:100%;min-width:6px;background:repeating-linear-gradient(90deg,var(--teal) 0 8px,var(--teal-ink) 8px 12px);background-size:24px 100%;transition:width var(--duration-slow) var(--ease-smooth-out);animation:wa-march .6s var(--ease-linear) infinite}
.wa-strip .web-stop-button{height:34px;min-width:0;padding:0 14px;border-radius:10px}

/* Lanes: an orb with the provider's face, then name, status, numbers and votes. */
.wa-lane-head{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:72px;padding:10px 14px 10px 12px}
.wa-lane-avatar{display:grid;place-items:center;width:52px;height:52px}
.wa-lane-fighter{flex:none;width:52px;height:52px;overflow:hidden;cursor:default}
.wa-lane-fighter .fighter-scene{width:92px;transform:translate(-2px,-4px) scale(.64);transform-origin:0 0}
.wa-lane-main h3{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;font-size:15px;line-height:1.3}
.wa-lane-status{display:flex;align-items:center;gap:2px;margin-top:2px;color:var(--muted);font-size:12px;min-width:0}
.wa-lane-status>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-lane-status .web-info-trigger{width:18px;height:18px;padding:2px}
.wa-lane-body{padding:0 18px 16px 78px}
.wa-lane-body .web-result-metrics{margin:0 0 12px}
.wa-lane-more{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 20px;margin-top:10px}
.wa-lane-more .web-results-toggle{margin-top:0;padding:0}
.wa-lane-more .wa-raw{flex-basis:auto;margin-top:0}
.wa-lane-more .wa-raw[open]{flex-basis:100%}
.wa-lane.lane-waiting .wa-lane-head,.wa-lane.lane-skipped .wa-lane-head,.wa-lane.lane-stopped .wa-lane-head{min-height:60px}
@media(max-width:700px){
  .wa-lane-head{grid-template-columns:44px minmax(0,1fr) auto;gap:4px 10px;padding:10px 10px 10px 8px}
  .wa-lane-avatar{width:44px;height:44px}
  .wa-lane-stats{grid-column:2/-1;grid-row:2;justify-content:flex-start}.wa-lane-stats div{min-width:0;text-align:left}
  .wa-lane-actions{grid-column:3;grid-row:1}
  .wa-lane-body{padding:0 14px 14px}
  .wa-strip{flex-wrap:wrap;padding:8px 8px 8px 12px}.wa-strip .wa-progress{flex-basis:100%;order:3}
}
@media(prefers-reduced-motion:reduce){.wa-strip .wa-progress span{animation:none!important;transition:none!important}}
@media(max-width:700px){.wa-lane-avatar .wa-lane-fighter{transform:scale(.85)}}
@media(max-width:700px){.wa-lane-status>span:first-child{white-space:normal}.wa-links:not(.is-expanded) li:nth-child(n+3){display:none}}
.web-results-toggle.wa-phone-only{display:none}
@media(max-width:700px){.web-results-toggle.wa-phone-only{display:inline}}

.wa-skipped{display:flex;align-items:center;gap:7px;margin:4px 6px 0;color:var(--muted);font-size:12px;cursor:default}
.wa-skipped svg{width:13px;height:13px;flex:none;color:var(--subtle)}
.wa-intro .intro-icon{align-self:flex-start}

/* Plain provider logos carry the lane state: grey while waiting, a soft teal pulse while working. */
.wa-logo{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;overflow:hidden;background:var(--surface);color:var(--muted);font:500 13px var(--mono);transition:opacity var(--duration-fast) var(--ease-smooth-out),filter var(--duration-fast) var(--ease-smooth-out)}
.wa-logo img{position:absolute;inset:4px;width:32px;height:32px;object-fit:contain;background:var(--surface)}
.wa-logo.logo-waiting,.wa-logo.logo-skipped,.wa-logo.logo-stopped{opacity:.45;filter:grayscale(1)}
.wa-logo.logo-down{opacity:.6;filter:grayscale(1)}
.wa-logo.logo-running,.wa-logo.logo-checking{overflow:visible;animation:wa-logo-pulse 1.4s var(--ease-in-out,ease-in-out) infinite}
@keyframes wa-logo-pulse{0%,100%{box-shadow:0 0 0 0 #54B9A600}50%{box-shadow:0 0 0 4px #54B9A633}}
.wa-lane-head{grid-template-columns:44px minmax(0,1fr) auto auto}
.wa-lane-avatar{width:44px;height:44px}
.wa-lane-body{padding-left:72px}

/* Links: a quiet dot instead of a numbered box; the rank stays for screen readers. */
.wa-links li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:8px;align-items:start}
.wa-link-dot{width:4px;height:4px;margin-top:8px;background:#C9C6C0}

/* Votes sit at the bottom right, after the results. */
.wa-lane-more{align-items:center}
.wa-lane-votes{margin-left:auto}
.wa-lane-more .wa-raw[open]{order:3}

/* Battle: a two-column grid of cards. Waterfall keeps full-width lanes and a queue. */
.wa-lanes.is-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.wa-lanes.is-grid>.wa-skipped{grid-column:1/-1}
.wa-lanes.is-grid .wa-lane-head{grid-template-columns:44px minmax(0,1fr) auto auto;gap:12px;padding:12px 14px 10px 12px}
.wa-lanes.is-grid .wa-lane-stats{gap:12px}
.wa-lanes.is-grid .wa-lane-stats div{min-width:52px}
.wa-lanes.is-grid .wa-lane-body{padding:0 16px 14px 16px}
.wa-lanes.is-grid .wa-links ol{grid-template-columns:1fr}
.wa-stage.is-waterfall .wa-lane{animation:wa-enter var(--duration-slow) var(--ease-smooth-out) both}
@keyframes wa-enter{from{opacity:0;transform:translateY(var(--distance-base,8px))}to{opacity:1;transform:none}}
.wa-queue{display:flex;align-items:center;gap:10px;margin:2px 6px 0;color:var(--muted);font-size:12px;min-width:0}
.wa-queue-label{color:var(--subtle);font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.wa-queue-faces{display:flex;gap:4px;flex:none}
.wa-queue-faces .wa-stack-face{opacity:.55;filter:grayscale(1)}
.wa-queue-names{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Sitemap topic: hidden behind a quiet link until asked for. */
.wa-topic-add{padding:2px 0;color:var(--teal-ink);font-size:12px}
.wa-topic{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 4px 0 10px;border:1px solid #CFE5DC;border-radius:9px;background:var(--surface);font-size:12px}
.wa-topic>span{color:var(--muted)}
.wa-topic input{width:140px;border:0;background:none;font-size:13px}
.wa-topic input:focus-visible{outline:0}
.wa-topic button{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:15px;line-height:1}
.wa-topic button:hover:not(:disabled){background:var(--card);color:var(--ink)}

/* Task tabs: arrows appear only when the row can scroll that way. */
.wa-task-viewport{--tab-edge:var(--card);max-width:100%;border-radius:48px;overflow:hidden}
.wa-task-viewport .tab-overflow{height:100%}

@media(max-width:700px){
  .wa-lanes.is-grid{grid-template-columns:minmax(0,1fr)}
  .wa-lane-body,.wa-lanes.is-grid .wa-lane-body{padding:0 14px 14px}
  .wa-lanes.is-grid .wa-lane-head{grid-template-columns:44px minmax(0,1fr) auto}
  .wa-queue-names{display:none}
}
@media(prefers-reduced-motion:reduce){.wa-logo{animation:none!important;transition:none!important}.wa-stage.is-waterfall .wa-lane{animation:none!important}}
/* The grid needs room: below about 720px of results width, cards stack in one column. */
.wa-lanes{container-type:inline-size}
@container (max-width:720px){.wa-lanes.is-grid{grid-template-columns:minmax(0,1fr)}}
.wa-lanes.is-grid .wa-lane-status>span:first-child{white-space:normal}
.web-layout.has-history main{padding-right:28px}
@media(max-width:700px){.web-layout.has-history main{padding-right:16px}}
/* "All providers" closes the chip row; it fades out once everything is selected. */
.wa-all-switch{margin-left:auto;align-self:center;padding:0 2px}
.wa-all-switch.is-leaving{animation:wa-fade-out var(--duration-quick) var(--ease-out) 560ms both}
@keyframes wa-fade-out{to{opacity:0;transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.wa-all-switch.is-leaving{animation:none}}
/* Mech bots: the canvas is larger than the avatar box so hops and spins never clip. */
.wa-bot{position:relative;display:block;flex:none}
.wa-bot canvas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.wa-lane-head,.wa-lanes.is-grid .wa-lane-head{grid-template-columns:56px minmax(0,1fr) auto auto}
.wa-lane-avatar{width:56px;height:56px;overflow:visible}
.wa-lane-body{padding-left:84px}
.wa-lane-head{min-height:80px}
@media(max-width:700px){.wa-lane-head,.wa-lanes.is-grid .wa-lane-head{grid-template-columns:56px minmax(0,1fr) auto}.wa-lane-avatar{width:56px;height:56px}}
/* Roster chips carry a small bot: ink when selected, light grey when off; the logo never changes. */
.wa-chip{height:42px;padding-left:2px}
.wa-chip.off{color:var(--muted)}
@media(max-width:540px){.wa-chip{height:44px}}
/* Roster chips carry a small bot: ink when selected, light grey when off; the logo never changes. */
.wa-chip{height:42px;padding-left:2px}
.wa-chip.off{color:var(--muted)}
@media(max-width:540px){.wa-chip{height:44px}}
/* The open roster swaps its logo summary for a live count; the chips already show who is in. */
.wa-roster-summary{display:flex;align-items:center;gap:10px;min-width:0}
.wa-swap-enter-active,.wa-swap-leave-active{transition:opacity var(--duration-quick) var(--ease-out)}
.wa-swap-enter-from,.wa-swap-leave-to{opacity:0}
@media(prefers-reduced-motion:reduce){.wa-swap-enter-active,.wa-swap-leave-active{transition:none}}
/* Battle grid: cards in a row share a height and pin their actions to the bottom.
   Cards without results (waiting, running, failed) stay compact. */
.wa-lanes.is-grid{align-items:stretch}
.wa-lanes.is-grid .wa-lane{display:flex;flex-direction:column}
.wa-lanes.is-grid .wa-lane:not(.has-body){align-self:start}
.wa-lanes.is-grid .wa-lane-body{display:flex;flex-direction:column;flex:1}
.wa-lanes.is-grid .wa-lane-more{margin-top:auto;padding-top:10px}
/* The bot's canvas and its logo plate share one stage; the plate is HTML so logos stay vector-sharp. */
.wa-bot-stage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.wa-bot-stage canvas{position:absolute;inset:0;transform:none;left:0;top:0}
.wa-bot-face{position:absolute;left:0;top:0;display:grid;place-items:center;background:#fff;transform-origin:50% 50%;will-change:transform,opacity;color:var(--muted);font:500 10px var(--mono)}
.wa-bot-face img{width:78%;height:78%;object-fit:contain}
.wa-bot-face.is-grey img{filter:grayscale(1)}
/* No plate: the logo sits straight on the ink head and fills it. */
.wa-bot-face{background:transparent}
.wa-bot-face img{width:100%;height:100%}
/* Tighter roster: 38px chips, less space between and inside them. */
.wa-roster{gap:4px}
.wa-chip{height:38px;gap:5px;padding:0 7px 0 1px}
@media(max-width:540px){.wa-chip{height:40px}}
.wa-chip{padding:0 7px 0 6px}
/* Selected chips read clearly: a stronger teal border and a solid check. Off chips keep their logo in color. */
.wa-chip:not(.off){border-color:#7CC4B2}
.wa-chip:not(.off):hover:not(:disabled){border-color:var(--teal-ink)}
.wa-chip:not(.off) .wa-chip-check{background:var(--teal-soft);color:#3A8777;font:500 11px/1 var(--text)}
.wa-chip.off .wa-chip-face img{filter:none;opacity:1}
/* Same check as Enrich Arena: a 16px light-teal circle. */
.wa-chip-check{width:16px;height:16px;line-height:16px}
/* "All providers" sits beside Done in the roster's top line while the roster is open. */
.wa-roster-line .wa-all-switch{margin-left:auto;padding:0}
.wa-roster-line .wa-all-switch+.wa-roster-edit{margin-left:10px}
/* History can fold into a thin rail; the choice is remembered. */
.web-layout .session-sidebar{transition:flex-basis var(--duration-fast) var(--ease-smooth-out),width var(--duration-fast) var(--ease-smooth-out)}
.wa-history-top{display:flex;align-items:center;gap:6px}
.wa-history-top .new-session{flex:1;min-width:0}
.wa-history-toggle{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted)}
.wa-history-toggle:hover:not(:disabled){color:var(--ink);background:var(--card)}
.wa-history-toggle svg{width:18px;height:18px}
.web-layout .session-sidebar.is-collapsed{flex-basis:44px;width:44px}
.session-sidebar.is-collapsed .wa-history-top{flex-direction:column}
.session-sidebar.is-collapsed .new-session{flex:none;width:36px;height:36px;padding:0}
.session-sidebar.is-collapsed .wa-history-label{display:none}
@media(max-width:700px){
  .web-layout .session-sidebar.is-collapsed{width:calc(100% - 32px);flex-basis:auto}
  .session-sidebar.is-collapsed .wa-history-top{flex-direction:row}
}
@media(prefers-reduced-motion:reduce){.web-layout .session-sidebar{transition:none}}
.new-session>.wa-history-label{font-size:12px;line-height:1.4}
/* Rail tooltips: only while history is folded, to the right of each button, vertically centred. */
.wa-history-toggle,.session-sidebar .new-session{position:relative}
.wa-rail-tip{display:none}
.session-sidebar.is-collapsed .wa-rail-tip{display:block;position:absolute;z-index:30;left:calc(100% + 10px);top:50%;padding:8px 12px;border:1px solid #e4e8e4;border-radius:12px;background:#fff;box-shadow:0 6px 24px #182f241f;color:var(--ink);font:500 12px/1.3 var(--text);white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(-50%) scale(var(--scale-small));transition:none}
.session-sidebar.is-collapsed .new-session>.wa-rail-tip{font-size:12px;line-height:1.3}
.session-sidebar.is-collapsed :is(.wa-history-toggle,.new-session):is(:hover,:focus-visible) .wa-rail-tip{opacity:1;transform:translateY(-50%) scale(1);transition:opacity var(--duration-quick) var(--ease-out) var(--duration-micro),transform var(--duration-quick) var(--ease-out) var(--duration-micro)}
@media(prefers-reduced-motion:reduce){.session-sidebar.is-collapsed .wa-rail-tip{transition:none!important}}
.web-layout .session-sidebar{z-index:20}
/* Phones: history is just the New query button; no toggle, no list. */
@media(max-width:700px){
  .wa-history-toggle,.web-layout .session-sidebar .session-list{display:none!important}
  .web-layout .session-sidebar,.web-layout .session-sidebar.is-collapsed{width:calc(100% - 32px);flex-basis:auto}
  .session-sidebar.is-collapsed .wa-history-top{flex-direction:row}
  .session-sidebar .new-session,.session-sidebar.is-collapsed .new-session{flex:1;width:auto;height:auto;padding:9px 12px}
  .session-sidebar.is-collapsed .wa-history-label{display:inline}
  .session-sidebar .wa-rail-tip{display:none!important}
}
/* A lighter search box: still the lead element, closer in scale to the rest of the card. */
.wa-query{padding:5px 5px 5px 16px;border-radius:14px}
.wa-query-input{padding:9px 0;font-size:16px}
.wa-run{height:40px;border-radius:11px}
@media(max-width:700px){.wa-run{height:44px}}
/* URL tasks: a fixed, muted scheme that reads as part of the address. */
.wa-url-scheme{flex:none;margin-right:-10px;color:var(--subtle);font-size:16px;line-height:1;user-select:none;pointer-events:none}
.wa-query:has(.wa-url-input[aria-invalid="true"]){border-color:#E2B4BC;background:#FFF9FA}
.wa-url-error{margin:6px 4px 0;color:#9b3c50;font-size:12px}
.wa-query:has(.wa-url-input[aria-invalid="true"]):focus-within{border-color:#D68B94;box-shadow:0 0 0 3px #FBE8EB;background:#FFF9FA}
/* Running cards: a faint teal border and one soft light gliding along the bottom edge. */
.wa-lane.lane-running,.wa-lane.lane-checking{border-color:#CFE5DC;box-shadow:none}
.wa-lane-track{left:16px;right:16px;bottom:-1px;height:2px;overflow:hidden;background:none;animation:none;border-radius:2px}
.wa-lane-track::after{content:"";position:absolute;top:0;bottom:0;left:0;width:30%;border-radius:2px;background:linear-gradient(90deg,transparent,var(--teal) 45%,var(--teal) 55%,transparent);animation:wa-sweep 1.6s var(--ease-in-out,ease-in-out) infinite}
@keyframes wa-sweep{0%{transform:translateX(-100%);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateX(340%);opacity:0}}
@media(prefers-reduced-motion:reduce){.wa-lane-track::after{animation:none;left:35%;opacity:.6}}
/* Run strip: a working orb and a calm progress bar with the same soft sweep as running cards. */
.wa-think{position:relative;display:inline-block;flex:none}
.wa-think canvas{position:absolute;inset:0}
.wa-strip-orb{margin-right:-2px}
.wa-strip .wa-progress{position:relative;height:3px;border-radius:3px;background:#EEF1EE;overflow:hidden}
.wa-strip .wa-progress span{position:relative;display:block;height:100%;min-width:6px;border-radius:3px;background:var(--teal);animation:none;overflow:hidden;transition:width var(--duration-slow) var(--ease-smooth-out)}
.wa-strip .wa-progress span::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,transparent,#ffffffb3,transparent);animation:wa-sweep 1.6s var(--ease-in-out,ease-in-out) infinite}
@media(prefers-reduced-motion:reduce){.wa-strip .wa-progress span::after{animation:none;opacity:0}}
/* Tabs never take the generic grey button hover: the pill marks the active tab, text marks hover. */
.t-tab:hover:not(:disabled){background:transparent;border-color:transparent}
.web-view-option button[aria-pressed="true"]:hover:not(:disabled){background:#fff}
