/* Inter (variable, latin), SIL Open Font License 1.1: see fonts/OFL.txt.
   Generated from fonts/inter-latin-wght-normal.woff2 (see README.md); do not edit. */
@font-face{font-family:"Inter Suite";font-style:normal;font-weight:100 900;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* Suite design tokens. The only file in the suite with raw colors: apps use
   these variables, never hex values (`cargo xtask ui-check` enforces it).
   These are the default brand, "afterbloom": warm char neutrals with a flame accent. Other
   brands (src/brand.rs, or a mod's CSS) override them under
   [data-brand="<id>"]; src/palette.rs keeps the same values for non-web
   front ends (tests keep all three equal). */

:root {
  /* palette: light */
  --ui-bg: #fbfaf8;
  --ui-surface: #ffffff;
  --ui-surface-raised: #ffffff;
  --ui-sunken: #f5f3f0;
  --ui-hover: #efece8;
  --ui-pressed: #e7e3de;
  --ui-border: #e6e2e8;
  --ui-border-strong: #d3cdd7;
  --ui-text: #1a1320;
  --ui-text-muted: #6b6372;
  --ui-text-subtle: #736b7a;
  --ui-accent: #c2410c;
  --ui-accent-hover: #a8380a;
  --ui-accent-text: #ffffff;
  --ui-accent-soft: #fde9df;
  --ui-accent-soft-text: #8a2e0f;
  --ui-success: #177447;
  --ui-success-soft: #e4f4ea;
  --ui-warning: #a35407;
  --ui-warning-soft: #fdf1dc;
  --ui-danger: #c92a2a;
  --ui-danger-soft: #fdeaea;
  --ui-badge: #c92a2a;
  --ui-ai: #6d4ad8;
  --ui-ai-soft: #efeafd;
  --ui-highlight: #fff4c2;
  --ui-mention: #fdecb5;
  --ui-mention-text: #6b4d00;
  --ui-brand-1: #c2410c;
  --ui-brand-2: #b03a6e;
  --ui-on-color: #ffffff;
  --ui-scrim: rgb(20 22 24 / .42);
  --ui-shadow-color: 280 15% 15%;
  /* option colors: categorical tints for tags, select chips and labels */
  --ui-opt-gray-bg: #ececea;
  --ui-opt-gray-fg: #4a4a47;
  --ui-opt-brown-bg: #f1e6de;
  --ui-opt-brown-fg: #6b4a33;
  --ui-opt-orange-bg: #fbe7d6;
  --ui-opt-orange-fg: #8a4a12;
  --ui-opt-yellow-bg: #f9efc7;
  --ui-opt-yellow-fg: #735c0a;
  --ui-opt-green-bg: #def0e3;
  --ui-opt-green-fg: #1f6a3a;
  --ui-opt-blue-bg: #dfeafa;
  --ui-opt-blue-fg: #1d5193;
  --ui-opt-purple-bg: #ece4f8;
  --ui-opt-purple-fg: #5b3a99;
  --ui-opt-pink-bg: #f8e1ec;
  --ui-opt-pink-fg: #8e2a5c;
  --ui-opt-red-bg: #fbe2e0;
  --ui-opt-red-fg: #9b2c24;
  color-scheme: light;

  /* nav (sidebar) */
  --ui-nav-bg: #f3f1ee;
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active: #e8e4e0;
  --ui-nav-active-text: var(--ui-text);

  /* type */
  --ui-font-sans: "Inter Suite", "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;
  --ui-font-display: "Urbanist", "Inter Suite", "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --ui-heading-tracking: -0.02em;
  --ui-heading-weight: 600;
  --ui-density: 0.875;
  --ui-font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;
  --ui-text-2xs: 11px;
  --ui-text-xs: 11px;
  --ui-text-sm: 12px;
  --ui-text-md: 13px;
  --ui-text-base: 14px;
  --ui-text-lg: 16px;
  --ui-text-xl: 19px;
  --ui-text-2xl: 24px;
  --ui-text-3xl: 30px;
  --ui-leading: 1.5;
  --ui-leading-tight: 1.25;
  --ui-weight-medium: 500;
  --ui-weight-semibold: 600;
  --ui-weight-bold: 700;

  /* space: a 4px grid */
  --ui-space-0: 2px;
  --ui-space-1: 4px;
  --ui-space-2: 7px;
  --ui-space-3: 11px;
  --ui-space-4: 14px;
  --ui-space-5: 18px;
  --ui-space-6: 21px;
  --ui-space-8: 28px;
  --ui-space-10: 35px;
  --ui-space-12: 42px;
  --ui-space-16: 56px;

  /* shape */
  --ui-radius-xs: 3px;
  --ui-radius-sm: 4px;
  --ui-radius-md: 6px;
  --ui-radius-lg: 8px;
  --ui-radius-xl: 10px;
  --ui-radius-full: 999px;
  --ui-shadow-sm: 0 1px 2px hsl(var(--ui-shadow-color) / .08);
  --ui-shadow-md: 0 2px 4px hsl(var(--ui-shadow-color) / .06), 0 6px 16px hsl(var(--ui-shadow-color) / .08);
  --ui-shadow-lg: 0 4px 8px hsl(var(--ui-shadow-color) / .06), 0 16px 40px hsl(var(--ui-shadow-color) / .16);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);

  /* layout */
  --ui-sidebar-width: 264px;
  --ui-topbar-height: 46px;
  --ui-control-height: 32px;
  --ui-control-height-sm: 26px;
  --ui-touch-target: 44px;

  /* motion */
  --ui-ease: cubic-bezier(.2, .8, .2, 1);
  --ui-duration-fast: 120ms;
  --ui-duration: 200ms;

  /* layers */
  --ui-z-sticky: 10;
  --ui-z-drawer: 40;
  --ui-z-popover: 50;
  --ui-z-modal: 60;
  --ui-z-toast: 70;

  /* interaction overlays: work on any surface */
  --ui-hover-overlay: rgb(26 19 32 / .05);
  --ui-selected-overlay: rgb(26 19 32 / .08);
  --ui-cat-1: #2a78d6;
  --ui-cat-2: #d9541f;
  --ui-cat-3: #128a5e;
  --ui-cat-4: #a86f00;
  --ui-cat-5: #d0467a;
  --ui-cat-6: #2c8a2c;
  --ui-cat-7: #6250d6;
  --ui-cat-8: #d03c3c;
  /* categorical data and charts: each at least 3:1 on --ui-surface; soft = a tint of the colour */
  --ui-cat-1-soft: color-mix(in srgb, var(--ui-cat-1) 14%, var(--ui-surface));
  --ui-cat-2-soft: color-mix(in srgb, var(--ui-cat-2) 14%, var(--ui-surface));
  --ui-cat-3-soft: color-mix(in srgb, var(--ui-cat-3) 14%, var(--ui-surface));
  --ui-cat-4-soft: color-mix(in srgb, var(--ui-cat-4) 14%, var(--ui-surface));
  --ui-cat-5-soft: color-mix(in srgb, var(--ui-cat-5) 14%, var(--ui-surface));
  --ui-cat-6-soft: color-mix(in srgb, var(--ui-cat-6) 14%, var(--ui-surface));
  --ui-cat-7-soft: color-mix(in srgb, var(--ui-cat-7) 14%, var(--ui-surface));
  --ui-cat-8-soft: color-mix(in srgb, var(--ui-cat-8) 14%, var(--ui-surface));

  /* motion and focus */
  --ui-ease-enter: cubic-bezier(.32, .72, 0, 1);
  --ui-duration-instant: 80ms;
  --ui-duration-enter: 260ms;
  --ui-delay-pending: 800ms;
  --ui-delay-reveal: 150ms;
  --ui-skeleton-min: 300ms;
  --ui-delay-spinner: 300ms;
  --ui-duration-confirm: 600ms;
  --ui-delay-moment: 1200ms;
  --ui-delay-stall: 8000ms;
  --ui-timeout-read: 30000ms;
  --ui-ease-current: cubic-bezier(.45, .05, .55, .95);
  --ui-z-progress: calc(var(--ui-z-modal) + 10);

  /* loading: skeleton blocks and the brand "currents" (constants from brand/tokens.json; brands never recolour them) */
  --ui-skel: var(--ui-pressed);
  --ui-skel-strong: color-mix(in srgb, var(--ui-text) 17%, var(--ui-surface));
  --ui-skel-tide-min: .55;
  --ui-current-ember: #FFB020;
  --ui-current-flame: #FF5A1F;
  --ui-current-magenta: #E0457B;
  --ui-current-violet: #7B5CD6;
  --ui-current-gradient: linear-gradient(90deg, var(--ui-current-ember), var(--ui-current-flame) 45%, var(--ui-current-magenta) 75%, var(--ui-current-violet));
  --ui-radius-card: 12px;
  --ui-focus-ring: 2px solid var(--ui-accent);

  /* packs (beds): brand gradients */
  --ui-pack-know-from: #5b3fc4;
  --ui-pack-know-to: #9b7bf0;
  --ui-pack-run-from: #c7346a;
  --ui-pack-run-to: #f06a93;
  --ui-pack-build-from: #e5480f;
  --ui-pack-build-to: #ff8a3d;
  --ui-pack-sell-from: #e08a00;
  --ui-pack-sell-to: #ffc247;
  --ui-pack-grow-from: #1f8f5c;
  --ui-pack-grow-to: #4cc487;
  --ui-pack-core-from: #231a2b;
  --ui-pack-core-to: #3a2c45;

  /* app identity: the shell sets data-app and data-pack on <html>; these default to the suite accent */
  --app-accent: var(--ui-accent);
  --app-accent-soft: var(--ui-accent-soft);
  --app-tint: var(--ui-sunken);
}

/* palette: dark (system preference, unless the person picked light) */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ui-bg: #121015;
    --ui-surface: #1a1620;
    --ui-surface-raised: #221d28;
    --ui-sunken: #16121a;
    --ui-hover: #272230;
    --ui-skel-tide-min: .45;
    --ui-pressed: #2f2938;
    --ui-border: #2d2733;
    --ui-border-strong: #433b4b;
    --ui-text: #f1edf4;
    --ui-text-muted: #a39cab;
    --ui-text-subtle: #8a8392;
    --ui-accent: #ff7a45;
    --ui-accent-hover: #ff9162;
    --ui-accent-text: #1a1320;
    --ui-accent-soft: #3a2219;
    --ui-accent-soft-text: #ffb38f;
    --ui-success: #46c98b;
    --ui-success-soft: #10291d;
    --ui-warning: #e3a33b;
    --ui-warning-soft: #2e2210;
    --ui-danger: #f06a6a;
    --ui-danger-soft: #331617;
    --ui-badge: #c43838;
    --ui-ai: #a991f5;
    --ui-ai-soft: #231d3a;
    --ui-highlight: #3a3415;
    --ui-mention: #4a3c0a;
    --ui-mention-text: #ffe08a;
    --ui-brand-1: #ff7a45;
    --ui-brand-2: #e0457b;
    --ui-on-color: #ffffff;
    --ui-scrim: rgb(0 0 0 / .6);
    --ui-shadow-color: 0 0% 0%;
    --ui-opt-gray-bg: #2f2f2f;
    --ui-opt-gray-fg: #c9c9c6;
    --ui-opt-brown-bg: #3a2c23;
    --ui-opt-brown-fg: #e0c3ad;
    --ui-opt-orange-bg: #43291a;
    --ui-opt-orange-fg: #f5b98a;
    --ui-opt-yellow-bg: #3d3413;
    --ui-opt-yellow-fg: #ecd27a;
    --ui-opt-green-bg: #1c3626;
    --ui-opt-green-fg: #8fd9a8;
    --ui-opt-blue-bg: #1b2d45;
    --ui-opt-blue-fg: #9cc4f5;
    --ui-opt-purple-bg: #2f2443;
    --ui-opt-purple-fg: #c9b2f2;
    --ui-opt-pink-bg: #3f1f30;
    --ui-opt-pink-fg: #f2a9cb;
    --ui-opt-red-bg: #44201d;
    --ui-opt-red-fg: #f5a59d;
    --ui-nav-bg: #16121a;
    --ui-nav-active: #2f2938;
    --ui-hover-overlay: rgb(241 237 244 / .06);
    --ui-selected-overlay: rgb(241 237 244 / .10);
    --ui-cat-1: #4a96f0;
    --ui-cat-2: #e8703a;
    --ui-cat-3: #2fbf8a;
    --ui-cat-4: #d99a1c;
    --ui-cat-5: #e66d9c;
    --ui-cat-6: #4cb04c;
    --ui-cat-7: #9d8cf0;
    --ui-cat-8: #ee6a6a;
    color-scheme: dark;
  }
}

/* palette: dark (picked explicitly) */
:root[data-theme="dark"] {
  --ui-bg: #121015;
  --ui-surface: #1a1620;
  --ui-surface-raised: #221d28;
  --ui-sunken: #16121a;
  --ui-hover: #272230;
  --ui-skel-tide-min: .45;
  --ui-pressed: #2f2938;
  --ui-border: #2d2733;
  --ui-border-strong: #433b4b;
  --ui-text: #f1edf4;
  --ui-text-muted: #a39cab;
  --ui-text-subtle: #8a8392;
  --ui-accent: #ff7a45;
  --ui-accent-hover: #ff9162;
  --ui-accent-text: #1a1320;
  --ui-accent-soft: #3a2219;
  --ui-accent-soft-text: #ffb38f;
  --ui-success: #46c98b;
  --ui-success-soft: #10291d;
  --ui-warning: #e3a33b;
  --ui-warning-soft: #2e2210;
  --ui-danger: #f06a6a;
  --ui-danger-soft: #331617;
  --ui-badge: #c43838;
  --ui-ai: #a991f5;
  --ui-ai-soft: #231d3a;
  --ui-highlight: #3a3415;
  --ui-mention: #4a3c0a;
  --ui-mention-text: #ffe08a;
  --ui-brand-1: #ff7a45;
  --ui-brand-2: #e0457b;
  --ui-on-color: #ffffff;
  --ui-scrim: rgb(0 0 0 / .6);
  --ui-shadow-color: 0 0% 0%;
  --ui-opt-gray-bg: #2f2f2f;
  --ui-opt-gray-fg: #c9c9c6;
  --ui-opt-brown-bg: #3a2c23;
  --ui-opt-brown-fg: #e0c3ad;
  --ui-opt-orange-bg: #43291a;
  --ui-opt-orange-fg: #f5b98a;
  --ui-opt-yellow-bg: #3d3413;
  --ui-opt-yellow-fg: #ecd27a;
  --ui-opt-green-bg: #1c3626;
  --ui-opt-green-fg: #8fd9a8;
  --ui-opt-blue-bg: #1b2d45;
  --ui-opt-blue-fg: #9cc4f5;
  --ui-opt-purple-bg: #2f2443;
  --ui-opt-purple-fg: #c9b2f2;
  --ui-opt-pink-bg: #3f1f30;
  --ui-opt-pink-fg: #f2a9cb;
  --ui-opt-red-bg: #44201d;
  --ui-opt-red-fg: #f5a59d;
  --ui-nav-bg: #16121a;
  --ui-nav-active: #2f2938;
  --ui-hover-overlay: rgb(241 237 244 / .06);
  --ui-selected-overlay: rgb(241 237 244 / .10);
  --ui-cat-1: #4a96f0;
  --ui-cat-2: #e8703a;
  --ui-cat-3: #2fbf8a;
  --ui-cat-4: #d99a1c;
  --ui-cat-5: #e66d9c;
  --ui-cat-6: #4cb04c;
  --ui-cat-7: #9d8cf0;
  --ui-cat-8: #ee6a6a;
  color-scheme: dark;
}

/* app identity per pack: --app-accent is AA on bg and nav in each theme */
:root[data-pack="know"] { --app-accent: #5b3fc4; --app-accent-soft: #efeafd; --app-tint: #efeafd; }
:root[data-pack="run"] { --app-accent: #b42a5e; --app-accent-soft: #fbe6ee; --app-tint: #fbe6ee; }
:root[data-pack="build"] { --app-accent: #c2410c; --app-accent-soft: #fde9df; --app-tint: #fde9df; }
:root[data-pack="sell"] { --app-accent: #8f5a00; --app-accent-soft: #fdf1dc; --app-tint: #fdf1dc; }
:root[data-pack="grow"] { --app-accent: #17784c; --app-accent-soft: #e2f3ea; --app-tint: #e2f3ea; }
:root[data-pack="core"] { --app-accent: #3a2c45; --app-accent-soft: #ede9f0; --app-tint: #ede9f0; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"])[data-pack="know"] { --app-accent: #b3a0f5; --app-accent-soft: #231d3a; --app-tint: #231d3a; }
  :root:not([data-theme="light"])[data-pack="run"] { --app-accent: #f27fa3; --app-accent-soft: #3a1a27; --app-tint: #3a1a27; }
  :root:not([data-theme="light"])[data-pack="build"] { --app-accent: #ff8a57; --app-accent-soft: #3a2219; --app-tint: #3a2219; }
  :root:not([data-theme="light"])[data-pack="sell"] { --app-accent: #ffc247; --app-accent-soft: #2e2210; --app-tint: #2e2210; }
  :root:not([data-theme="light"])[data-pack="grow"] { --app-accent: #5fd49a; --app-accent-soft: #11291d; --app-tint: #11291d; }
  :root:not([data-theme="light"])[data-pack="core"] { --app-accent: #c9bed3; --app-accent-soft: #241e2a; --app-tint: #241e2a; }
}
:root[data-theme="dark"][data-pack="know"] { --app-accent: #b3a0f5; --app-accent-soft: #231d3a; --app-tint: #231d3a; }
:root[data-theme="dark"][data-pack="run"] { --app-accent: #f27fa3; --app-accent-soft: #3a1a27; --app-tint: #3a1a27; }
:root[data-theme="dark"][data-pack="build"] { --app-accent: #ff8a57; --app-accent-soft: #3a2219; --app-tint: #3a2219; }
:root[data-theme="dark"][data-pack="sell"] { --app-accent: #ffc247; --app-accent-soft: #2e2210; --app-tint: #2e2210; }
:root[data-theme="dark"][data-pack="grow"] { --app-accent: #5fd49a; --app-accent-soft: #11291d; --app-tint: #11291d; }
:root[data-theme="dark"][data-pack="core"] { --app-accent: #c9bed3; --app-accent-soft: #241e2a; --app-tint: #241e2a; }

/* Generated from src/brand.rs by `UPDATE_BRANDS=1 cargo test -p kit-ui`. Don't edit. */
[data-brand="afterbloom"] {
  --ui-font-sans: "Inter Suite", "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --ui-font-display: "Urbanist", "Inter Suite", "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --ui-heading-tracking: -0.02em;
  --ui-heading-weight: 600;
  --ui-text-xs: 11px;
  --ui-text-sm: 12px;
  --ui-text-md: 13px;
  --ui-text-base: 14px;
  --ui-text-lg: 16px;
  --ui-text-xl: 19px;
  --ui-text-2xl: 24px;
  --ui-text-3xl: 30px;
  --ui-radius-xs: 3px;
  --ui-radius-sm: 4px;
  --ui-radius-md: 6px;
  --ui-radius-lg: 8px;
  --ui-radius-xl: 10px;
  --ui-space-0: 2px;
  --ui-space-1: 4px;
  --ui-space-2: 7px;
  --ui-space-3: 11px;
  --ui-space-4: 14px;
  --ui-space-5: 18px;
  --ui-space-6: 21px;
  --ui-space-8: 28px;
  --ui-space-10: 35px;
  --ui-space-12: 42px;
  --ui-space-16: 56px;
  --ui-control-height: 32px;
  --ui-control-height-sm: 26px;
  --ui-topbar-height: 46px;
  --ui-density: 0.875;
  font-family: var(--ui-font-sans);
}
@media (prefers-color-scheme: dark) {
[data-brand="afterbloom"]:not([data-theme="light"]) {
  --ui-bg: #121015;
  --ui-surface: #1a1620;
  --ui-surface-raised: #221d28;
  --ui-sunken: #16121a;
  --ui-hover: #272230;
  --ui-pressed: #2f2938;
  --ui-border: #2d2733;
  --ui-border-strong: #433b4b;
  --ui-text: #f1edf4;
  --ui-text-muted: #a39cab;
  --ui-text-subtle: #8a8392;
  --ui-accent: #ff7a45;
  --ui-accent-hover: #ff9162;
  --ui-accent-text: #1a1320;
  --ui-accent-soft: #3a2219;
  --ui-accent-soft-text: #ffb38f;
  --ui-brand-1: #ff7a45;
  --ui-brand-2: #e0457b;
  --ui-nav-bg: #16121a;
  --ui-nav-active: #2f2938;
  --ui-shadow-color: 0 0% 0%;
  --ui-success: #46c98b;
  --ui-success-soft: #10291d;
  --ui-warning: #e3a33b;
  --ui-warning-soft: #2e2210;
  --ui-danger: #f06a6a;
  --ui-danger-soft: #331617;
  --ui-badge: #c43838;
  --ui-ai: #a991f5;
  --ui-ai-soft: #231d3a;
  --ui-highlight: #3a3415;
  --ui-mention: #4a3c0a;
  --ui-mention-text: #ffe08a;
  --ui-scrim: rgb(0 0 0 / .6);
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active-text: var(--ui-text);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);
  color-scheme: dark;
}
}
[data-brand="afterbloom"], [data-brand="afterbloom"] [data-theme="light"], [data-theme="light"] [data-brand="afterbloom"]:not([data-theme]) {
  --ui-bg: #fbfaf8;
  --ui-surface: #ffffff;
  --ui-surface-raised: #ffffff;
  --ui-sunken: #f5f3f0;
  --ui-hover: #efece8;
  --ui-pressed: #e7e3de;
  --ui-border: #e6e2e8;
  --ui-border-strong: #d3cdd7;
  --ui-text: #1a1320;
  --ui-text-muted: #6b6372;
  --ui-text-subtle: #736b7a;
  --ui-accent: #c2410c;
  --ui-accent-hover: #a8380a;
  --ui-accent-text: #ffffff;
  --ui-accent-soft: #fde9df;
  --ui-accent-soft-text: #8a2e0f;
  --ui-brand-1: #c2410c;
  --ui-brand-2: #b03a6e;
  --ui-nav-bg: #f3f1ee;
  --ui-nav-active: #e8e4e0;
  --ui-shadow-color: 280 15% 15%;
  --ui-success: #177447;
  --ui-success-soft: #e4f4ea;
  --ui-warning: #a35407;
  --ui-warning-soft: #fdf1dc;
  --ui-danger: #c92a2a;
  --ui-danger-soft: #fdeaea;
  --ui-badge: #c92a2a;
  --ui-ai: #6d4ad8;
  --ui-ai-soft: #efeafd;
  --ui-highlight: #fff4c2;
  --ui-mention: #fdecb5;
  --ui-mention-text: #6b4d00;
  --ui-scrim: rgb(20 22 24 / .42);
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active-text: var(--ui-text);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);
  color-scheme: light;
}
[data-brand="afterbloom"][data-theme="dark"], [data-brand="afterbloom"] [data-theme="dark"], [data-theme="dark"] [data-brand="afterbloom"]:not([data-theme]) {
  --ui-bg: #121015;
  --ui-surface: #1a1620;
  --ui-surface-raised: #221d28;
  --ui-sunken: #16121a;
  --ui-hover: #272230;
  --ui-pressed: #2f2938;
  --ui-border: #2d2733;
  --ui-border-strong: #433b4b;
  --ui-text: #f1edf4;
  --ui-text-muted: #a39cab;
  --ui-text-subtle: #8a8392;
  --ui-accent: #ff7a45;
  --ui-accent-hover: #ff9162;
  --ui-accent-text: #1a1320;
  --ui-accent-soft: #3a2219;
  --ui-accent-soft-text: #ffb38f;
  --ui-brand-1: #ff7a45;
  --ui-brand-2: #e0457b;
  --ui-nav-bg: #16121a;
  --ui-nav-active: #2f2938;
  --ui-shadow-color: 0 0% 0%;
  --ui-success: #46c98b;
  --ui-success-soft: #10291d;
  --ui-warning: #e3a33b;
  --ui-warning-soft: #2e2210;
  --ui-danger: #f06a6a;
  --ui-danger-soft: #331617;
  --ui-badge: #c43838;
  --ui-ai: #a991f5;
  --ui-ai-soft: #231d3a;
  --ui-highlight: #3a3415;
  --ui-mention: #4a3c0a;
  --ui-mention-text: #ffe08a;
  --ui-scrim: rgb(0 0 0 / .6);
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active-text: var(--ui-text);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);
  color-scheme: dark;
}

[data-brand="graphite"] {
  --ui-font-sans: "Inter Suite", "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --ui-font-display: var(--ui-font-sans);
  --ui-heading-tracking: -0.02em;
  --ui-heading-weight: 600;
  --ui-text-xs: 11px;
  --ui-text-sm: 12px;
  --ui-text-md: 13px;
  --ui-text-base: 14px;
  --ui-text-lg: 16px;
  --ui-text-xl: 19px;
  --ui-text-2xl: 24px;
  --ui-text-3xl: 30px;
  --ui-radius-xs: 3px;
  --ui-radius-sm: 4px;
  --ui-radius-md: 6px;
  --ui-radius-lg: 8px;
  --ui-radius-xl: 10px;
  --ui-space-0: 2px;
  --ui-space-1: 4px;
  --ui-space-2: 7px;
  --ui-space-3: 11px;
  --ui-space-4: 14px;
  --ui-space-5: 18px;
  --ui-space-6: 21px;
  --ui-space-8: 28px;
  --ui-space-10: 35px;
  --ui-space-12: 42px;
  --ui-space-16: 56px;
  --ui-control-height: 32px;
  --ui-control-height-sm: 26px;
  --ui-topbar-height: 46px;
  --ui-density: 0.875;
  font-family: var(--ui-font-sans);
}
@media (prefers-color-scheme: dark) {
[data-brand="graphite"]:not([data-theme="light"]) {
  --ui-bg: #0f0f11;
  --ui-surface: #141417;
  --ui-surface-raised: #1b1b1f;
  --ui-sunken: #141417;
  --ui-hover: #1f1f24;
  --ui-pressed: #26262c;
  --ui-border: #24242a;
  --ui-border-strong: #34343c;
  --ui-text: #ededf0;
  --ui-text-muted: #9d9faa;
  --ui-text-subtle: #74767f;
  --ui-accent: #8b8cf0;
  --ui-accent-hover: #9d9ef5;
  --ui-accent-text: #0f0f2a;
  --ui-accent-soft: #1f1f3d;
  --ui-accent-soft-text: #c3c3fa;
  --ui-brand-1: #8b8cf0;
  --ui-brand-2: #3a3a44;
  --ui-nav-bg: #0f0f11;
  --ui-nav-active: #1f1f24;
  --ui-shadow-color: 0 0% 0%;
  --ui-success: #46c98b;
  --ui-success-soft: #10291d;
  --ui-warning: #e3a33b;
  --ui-warning-soft: #2e2210;
  --ui-danger: #f06a6a;
  --ui-danger-soft: #331617;
  --ui-badge: #c43838;
  --ui-ai: #a991f5;
  --ui-ai-soft: #231d3a;
  --ui-highlight: #3a3415;
  --ui-mention: #4a3c0a;
  --ui-mention-text: #ffe08a;
  --ui-scrim: rgb(0 0 0 / .6);
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active-text: var(--ui-text);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);
  color-scheme: dark;
}
}
[data-brand="graphite"], [data-brand="graphite"] [data-theme="light"], [data-theme="light"] [data-brand="graphite"]:not([data-theme]) {
  --ui-bg: #ffffff;
  --ui-surface: #ffffff;
  --ui-surface-raised: #ffffff;
  --ui-sunken: #f7f7f8;
  --ui-hover: #f0f0f2;
  --ui-pressed: #e8e8eb;
  --ui-border: #e6e6e9;
  --ui-border-strong: #d2d2d7;
  --ui-text: #16161a;
  --ui-text-muted: #5b5d66;
  --ui-text-subtle: #8a8c95;
  --ui-accent: #5151cd;
  --ui-accent-hover: #4444b8;
  --ui-accent-text: #ffffff;
  --ui-accent-soft: #eeeefc;
  --ui-accent-soft-text: #3a3aa6;
  --ui-brand-1: #5151cd;
  --ui-brand-2: #16161a;
  --ui-nav-bg: #f7f7f8;
  --ui-nav-active: #e8e8eb;
  --ui-shadow-color: 240 10% 15%;
  --ui-success: #177447;
  --ui-success-soft: #e4f4ea;
  --ui-warning: #a35407;
  --ui-warning-soft: #fdf1dc;
  --ui-danger: #c92a2a;
  --ui-danger-soft: #fdeaea;
  --ui-badge: #c92a2a;
  --ui-ai: #6d4ad8;
  --ui-ai-soft: #efeafd;
  --ui-highlight: #fff4c2;
  --ui-mention: #fdecb5;
  --ui-mention-text: #6b4d00;
  --ui-scrim: rgb(20 22 24 / .42);
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active-text: var(--ui-text);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);
  color-scheme: light;
}
[data-brand="graphite"][data-theme="dark"], [data-brand="graphite"] [data-theme="dark"], [data-theme="dark"] [data-brand="graphite"]:not([data-theme]) {
  --ui-bg: #0f0f11;
  --ui-surface: #141417;
  --ui-surface-raised: #1b1b1f;
  --ui-sunken: #141417;
  --ui-hover: #1f1f24;
  --ui-pressed: #26262c;
  --ui-border: #24242a;
  --ui-border-strong: #34343c;
  --ui-text: #ededf0;
  --ui-text-muted: #9d9faa;
  --ui-text-subtle: #74767f;
  --ui-accent: #8b8cf0;
  --ui-accent-hover: #9d9ef5;
  --ui-accent-text: #0f0f2a;
  --ui-accent-soft: #1f1f3d;
  --ui-accent-soft-text: #c3c3fa;
  --ui-brand-1: #8b8cf0;
  --ui-brand-2: #3a3a44;
  --ui-nav-bg: #0f0f11;
  --ui-nav-active: #1f1f24;
  --ui-shadow-color: 0 0% 0%;
  --ui-success: #46c98b;
  --ui-success-soft: #10291d;
  --ui-warning: #e3a33b;
  --ui-warning-soft: #2e2210;
  --ui-danger: #f06a6a;
  --ui-danger-soft: #331617;
  --ui-badge: #c43838;
  --ui-ai: #a991f5;
  --ui-ai-soft: #231d3a;
  --ui-highlight: #3a3415;
  --ui-mention: #4a3c0a;
  --ui-mention-text: #ffe08a;
  --ui-scrim: rgb(0 0 0 / .6);
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active-text: var(--ui-text);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);
  color-scheme: dark;
}

[data-brand="verdigris"] {
  --ui-font-sans: "Inter Suite", "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --ui-font-display: var(--ui-font-sans);
  --ui-heading-tracking: -0.011em;
  --ui-heading-weight: 700;
  --ui-radius-xs: 4px;
  --ui-radius-sm: 6px;
  --ui-radius-md: 8px;
  --ui-radius-lg: 12px;
  --ui-radius-xl: 16px;
  --ui-space-0: 2px;
  --ui-space-1: 4px;
  --ui-space-2: 8px;
  --ui-space-3: 12px;
  --ui-space-4: 16px;
  --ui-space-5: 20px;
  --ui-space-6: 24px;
  --ui-space-8: 32px;
  --ui-space-10: 40px;
  --ui-space-12: 48px;
  --ui-space-16: 64px;
  --ui-control-height: 36px;
  --ui-control-height-sm: 30px;
  --ui-topbar-height: 52px;
  --ui-density: 1;
  font-family: var(--ui-font-sans);
}
@media (prefers-color-scheme: dark) {
[data-brand="verdigris"]:not([data-theme="light"]) {
  --ui-bg: #121314;
  --ui-surface: #17181a;
  --ui-surface-raised: #1e1f22;
  --ui-sunken: #17181a;
  --ui-hover: #23252a;
  --ui-pressed: #2a2d32;
  --ui-border: #2a2c30;
  --ui-border-strong: #3a3d43;
  --ui-text: #ececec;
  --ui-text-muted: #a1a4aa;
  --ui-text-subtle: #7b7f86;
  --ui-accent: #2bb39a;
  --ui-accent-hover: #3cc4a9;
  --ui-accent-text: #04201b;
  --ui-accent-soft: #0f2a25;
  --ui-accent-soft-text: #7fe0cb;
  --ui-brand-1: #2bb39a;
  --ui-brand-2: #e08a52;
  --ui-nav-bg: #17181a;
  --ui-nav-active: #2a2d32;
  --ui-shadow-color: 0 0% 0%;
  --ui-success: #46c98b;
  --ui-success-soft: #10291d;
  --ui-warning: #e3a33b;
  --ui-warning-soft: #2e2210;
  --ui-danger: #f06a6a;
  --ui-danger-soft: #331617;
  --ui-badge: #c43838;
  --ui-ai: #a991f5;
  --ui-ai-soft: #231d3a;
  --ui-highlight: #3a3415;
  --ui-mention: #4a3c0a;
  --ui-mention-text: #ffe08a;
  --ui-scrim: rgb(0 0 0 / .6);
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active-text: var(--ui-text);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);
  color-scheme: dark;
}
}
[data-brand="verdigris"], [data-brand="verdigris"] [data-theme="light"], [data-theme="light"] [data-brand="verdigris"]:not([data-theme]) {
  --ui-bg: #ffffff;
  --ui-surface: #ffffff;
  --ui-surface-raised: #ffffff;
  --ui-sunken: #f6f6f4;
  --ui-hover: #efefec;
  --ui-pressed: #e7e6e2;
  --ui-border: #e5e4df;
  --ui-border-strong: #d0cfc8;
  --ui-text: #1c1d1f;
  --ui-text-muted: #5f6368;
  --ui-text-subtle: #8b8e93;
  --ui-accent: #0f7a6a;
  --ui-accent-hover: #0b6458;
  --ui-accent-text: #ffffff;
  --ui-accent-soft: #e3f3ef;
  --ui-accent-soft-text: #0b5d52;
  --ui-brand-1: #0f7a6a;
  --ui-brand-2: #c2622d;
  --ui-nav-bg: #f6f6f4;
  --ui-nav-active: #e7e6e2;
  --ui-shadow-color: 220 15% 20%;
  --ui-success: #177447;
  --ui-success-soft: #e4f4ea;
  --ui-warning: #a35407;
  --ui-warning-soft: #fdf1dc;
  --ui-danger: #c92a2a;
  --ui-danger-soft: #fdeaea;
  --ui-badge: #c92a2a;
  --ui-ai: #6d4ad8;
  --ui-ai-soft: #efeafd;
  --ui-highlight: #fff4c2;
  --ui-mention: #fdecb5;
  --ui-mention-text: #6b4d00;
  --ui-scrim: rgb(20 22 24 / .42);
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active-text: var(--ui-text);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);
  color-scheme: light;
}
[data-brand="verdigris"][data-theme="dark"], [data-brand="verdigris"] [data-theme="dark"], [data-theme="dark"] [data-brand="verdigris"]:not([data-theme]) {
  --ui-bg: #121314;
  --ui-surface: #17181a;
  --ui-surface-raised: #1e1f22;
  --ui-sunken: #17181a;
  --ui-hover: #23252a;
  --ui-pressed: #2a2d32;
  --ui-border: #2a2c30;
  --ui-border-strong: #3a3d43;
  --ui-text: #ececec;
  --ui-text-muted: #a1a4aa;
  --ui-text-subtle: #7b7f86;
  --ui-accent: #2bb39a;
  --ui-accent-hover: #3cc4a9;
  --ui-accent-text: #04201b;
  --ui-accent-soft: #0f2a25;
  --ui-accent-soft-text: #7fe0cb;
  --ui-brand-1: #2bb39a;
  --ui-brand-2: #e08a52;
  --ui-nav-bg: #17181a;
  --ui-nav-active: #2a2d32;
  --ui-shadow-color: 0 0% 0%;
  --ui-success: #46c98b;
  --ui-success-soft: #10291d;
  --ui-warning: #e3a33b;
  --ui-warning-soft: #2e2210;
  --ui-danger: #f06a6a;
  --ui-danger-soft: #331617;
  --ui-badge: #c43838;
  --ui-ai: #a991f5;
  --ui-ai-soft: #231d3a;
  --ui-highlight: #3a3415;
  --ui-mention: #4a3c0a;
  --ui-mention-text: #ffe08a;
  --ui-scrim: rgb(0 0 0 / .6);
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active-text: var(--ui-text);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);
  color-scheme: dark;
}

[data-brand="paper"] {
  --ui-font-sans: "Inter Suite", "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --ui-font-display: "Iowan Old Style", Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;
  --ui-heading-tracking: -0.005em;
  --ui-heading-weight: 600;
  --ui-text-xs: 12px;
  --ui-text-sm: 13px;
  --ui-text-md: 14px;
  --ui-text-base: 16px;
  --ui-text-lg: 18px;
  --ui-text-xl: 22px;
  --ui-text-2xl: 28px;
  --ui-text-3xl: 38px;
  --ui-radius-xs: 6px;
  --ui-radius-sm: 8px;
  --ui-radius-md: 10px;
  --ui-radius-lg: 14px;
  --ui-radius-xl: 20px;
  --ui-space-0: 2px;
  --ui-space-1: 5px;
  --ui-space-2: 9px;
  --ui-space-3: 14px;
  --ui-space-4: 18px;
  --ui-space-5: 23px;
  --ui-space-6: 27px;
  --ui-space-8: 36px;
  --ui-space-10: 45px;
  --ui-space-12: 54px;
  --ui-space-16: 72px;
  --ui-control-height: 41px;
  --ui-control-height-sm: 34px;
  --ui-topbar-height: 59px;
  --ui-density: 1.125;
  font-family: var(--ui-font-sans);
}
@media (prefers-color-scheme: dark) {
[data-brand="paper"]:not([data-theme="light"]) {
  --ui-bg: #171613;
  --ui-surface: #1d1b18;
  --ui-surface-raised: #24221e;
  --ui-sunken: #1d1b18;
  --ui-hover: #2a2823;
  --ui-pressed: #322f29;
  --ui-border: #2f2c26;
  --ui-border-strong: #423e35;
  --ui-text: #eeeae1;
  --ui-text-muted: #aaa496;
  --ui-text-subtle: #807a6d;
  --ui-accent: #8aa6f0;
  --ui-accent-hover: #a0b7f4;
  --ui-accent-text: #10183a;
  --ui-accent-soft: #1c2440;
  --ui-accent-soft-text: #c4d2fa;
  --ui-brand-1: #8aa6f0;
  --ui-brand-2: #e58b72;
  --ui-nav-bg: #1d1b18;
  --ui-nav-active: #322f29;
  --ui-shadow-color: 0 0% 0%;
  --ui-success: #46c98b;
  --ui-success-soft: #10291d;
  --ui-warning: #e3a33b;
  --ui-warning-soft: #2e2210;
  --ui-danger: #f06a6a;
  --ui-danger-soft: #331617;
  --ui-badge: #c43838;
  --ui-ai: #a991f5;
  --ui-ai-soft: #231d3a;
  --ui-highlight: #3a3415;
  --ui-mention: #4a3c0a;
  --ui-mention-text: #ffe08a;
  --ui-scrim: rgb(0 0 0 / .6);
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active-text: var(--ui-text);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);
  color-scheme: dark;
}
}
[data-brand="paper"], [data-brand="paper"] [data-theme="light"], [data-theme="light"] [data-brand="paper"]:not([data-theme]) {
  --ui-bg: #fbfaf7;
  --ui-surface: #fffefb;
  --ui-surface-raised: #ffffff;
  --ui-sunken: #f3f1ea;
  --ui-hover: #ece9e0;
  --ui-pressed: #e4e0d4;
  --ui-border: #e6e2d6;
  --ui-border-strong: #d1cbb9;
  --ui-text: #22201b;
  --ui-text-muted: #5e594e;
  --ui-text-subtle: #8a8476;
  --ui-accent: #2b4fb8;
  --ui-accent-hover: #213f97;
  --ui-accent-text: #ffffff;
  --ui-accent-soft: #e8edfa;
  --ui-accent-soft-text: #213f97;
  --ui-brand-1: #2b4fb8;
  --ui-brand-2: #c8553d;
  --ui-nav-bg: #f3f1ea;
  --ui-nav-active: #e4e0d4;
  --ui-shadow-color: 40 20% 25%;
  --ui-success: #177447;
  --ui-success-soft: #e4f4ea;
  --ui-warning: #a35407;
  --ui-warning-soft: #fdf1dc;
  --ui-danger: #c92a2a;
  --ui-danger-soft: #fdeaea;
  --ui-badge: #c92a2a;
  --ui-ai: #6d4ad8;
  --ui-ai-soft: #efeafd;
  --ui-highlight: #fff4c2;
  --ui-mention: #fdecb5;
  --ui-mention-text: #6b4d00;
  --ui-scrim: rgb(20 22 24 / .42);
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active-text: var(--ui-text);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);
  color-scheme: light;
}
[data-brand="paper"][data-theme="dark"], [data-brand="paper"] [data-theme="dark"], [data-theme="dark"] [data-brand="paper"]:not([data-theme]) {
  --ui-bg: #171613;
  --ui-surface: #1d1b18;
  --ui-surface-raised: #24221e;
  --ui-sunken: #1d1b18;
  --ui-hover: #2a2823;
  --ui-pressed: #322f29;
  --ui-border: #2f2c26;
  --ui-border-strong: #423e35;
  --ui-text: #eeeae1;
  --ui-text-muted: #aaa496;
  --ui-text-subtle: #807a6d;
  --ui-accent: #8aa6f0;
  --ui-accent-hover: #a0b7f4;
  --ui-accent-text: #10183a;
  --ui-accent-soft: #1c2440;
  --ui-accent-soft-text: #c4d2fa;
  --ui-brand-1: #8aa6f0;
  --ui-brand-2: #e58b72;
  --ui-nav-bg: #1d1b18;
  --ui-nav-active: #322f29;
  --ui-shadow-color: 0 0% 0%;
  --ui-success: #46c98b;
  --ui-success-soft: #10291d;
  --ui-warning: #e3a33b;
  --ui-warning-soft: #2e2210;
  --ui-danger: #f06a6a;
  --ui-danger-soft: #331617;
  --ui-badge: #c43838;
  --ui-ai: #a991f5;
  --ui-ai-soft: #231d3a;
  --ui-highlight: #3a3415;
  --ui-mention: #4a3c0a;
  --ui-mention-text: #ffe08a;
  --ui-scrim: rgb(0 0 0 / .6);
  --ui-nav-text: var(--ui-text-muted);
  --ui-nav-text-strong: var(--ui-text);
  --ui-nav-hover: var(--ui-hover);
  --ui-nav-active-text: var(--ui-text);
  --ui-ring: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);
  color-scheme: dark;
}

/* Suite base styles and components. Every class is `ui-*`; apps add their own
   layout on top using only the tokens in tokens.css. */

/* ------------------------------------------------------------------ base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { margin: 0; min-height: 100%; }
body {
  font-family: var(--ui-font-sans);
  font-size: var(--ui-text-base);
  line-height: var(--ui-leading);
  color: var(--ui-text);
  background: var(--ui-bg);
  font-feature-settings: "cv11", "ss01", "ss03";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4 { font-family: var(--ui-font-display); line-height: var(--ui-leading-tight); letter-spacing: var(--ui-heading-tracking); margin: 0; }
h1 { font-size: var(--ui-text-xl); font-weight: var(--ui-heading-weight); }
h2 { font-size: var(--ui-text-lg); font-weight: var(--ui-weight-semibold); }
h3 { font-size: var(--ui-text-base); font-weight: var(--ui-weight-semibold); }
p { margin: 0; }
a { color: var(--ui-accent); text-decoration: none; text-underline-offset: 2px; }
a:hover { text-decoration: underline; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; letter-spacing: inherit; }
code, kbd, pre { font-family: var(--ui-font-mono); }
::selection { background: color-mix(in srgb, var(--ui-accent) 24%, transparent); }
:focus { outline: none; }
:focus-visible { outline: var(--ui-focus-ring, 2px solid var(--ui-accent)); outline-offset: 2px; border-radius: var(--ui-radius-xs); }
[hidden] { display: none !important; }

* { scrollbar-width: thin; scrollbar-color: var(--ui-border-strong) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: var(--ui-border-strong); border-radius: 10px; border: 3px solid transparent; background-clip: content-box; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; scroll-behavior: auto !important; }
}
/* The one allowed !important besides reduced motion: a theme switch must repaint every surface at once, whatever transition each rule declares. */
:root[data-theme-switching] *, :root[data-theme-switching] *::before, :root[data-theme-switching] *::after { transition: none !important; }

/* ------------------------------------------------------------- utilities */
.ui-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ui-muted { color: var(--ui-text-muted); }
.ui-small { font-size: var(--ui-text-sm); }
.ui-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.ui-stack { display: flex; flex-direction: column; gap: var(--ui-space-3); }
.ui-row { display: flex; align-items: center; gap: var(--ui-space-2); }
.ui-row--end { justify-content: flex-end; }
.ui-grow { flex: 1; min-width: 0; }
.ui-divider { border: 0; border-top: 1px solid var(--ui-border); margin: var(--ui-space-2) 0; }

/* ------------------------------------------------------------------ icons */
.ui-icon {
  width: 1.25em; height: 1.25em; flex: none; display: inline-block; vertical-align: middle;
  fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round;
}
.ui-icon--sm { width: 16px; height: 16px; }
.ui-icon--md { width: 18px; height: 18px; }
.ui-icon--lg { width: 22px; height: 22px; }
.ui-icon--filled { fill: currentColor; }

/* ---------------------------------------------------------------- buttons */
.ui-btn {
  --btn-bg: var(--ui-surface); --btn-fg: var(--ui-text); --btn-border: var(--ui-border-strong); --btn-hover: var(--ui-hover);
  display: inline-flex; align-items: center; justify-content: center; gap: var(--ui-space-2);
  height: var(--ui-control-height); padding: 0 var(--ui-space-3); flex: none;
  font-size: var(--ui-text-md); font-weight: var(--ui-weight-medium); line-height: 1; white-space: nowrap;
  color: var(--btn-fg); background: var(--btn-bg); border: 1px solid var(--btn-border); border-radius: var(--ui-radius-md);
  box-shadow: var(--ui-shadow-sm); cursor: pointer; user-select: none; text-decoration: none;
  transition: background var(--ui-duration-fast) var(--ui-ease), border-color var(--ui-duration-fast) var(--ui-ease), box-shadow var(--ui-duration-fast) var(--ui-ease), transform var(--ui-duration-fast) var(--ui-ease);
}
.ui-btn:hover { background: var(--btn-hover); text-decoration: none; }
.ui-btn:active { transform: scale(.98); }
.ui-btn:focus-visible { outline: none; box-shadow: var(--ui-ring); border-color: var(--ui-accent); border-radius: var(--ui-radius-md); }
.ui-btn:disabled, .ui-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; transform: none; }
.ui-btn--primary { --btn-bg: var(--ui-accent); --btn-fg: var(--ui-accent-text); --btn-border: var(--ui-accent); --btn-hover: var(--ui-accent-hover); font-weight: var(--ui-weight-semibold); }
.ui-btn--danger { --btn-fg: var(--ui-danger); --btn-hover: var(--ui-danger-soft); --btn-border: color-mix(in srgb, var(--ui-danger) 45%, var(--ui-border)); }
.ui-btn--danger-solid { --btn-bg: var(--ui-danger); --btn-fg: var(--ui-on-color); --btn-border: var(--ui-danger); --btn-hover: color-mix(in srgb, var(--ui-danger) 88%, black); }
.ui-btn--ghost { --btn-bg: transparent; --btn-border: transparent; box-shadow: none; }
.ui-btn--ghost:hover { --btn-hover: var(--ui-hover); }
.ui-btn--soft { --btn-bg: var(--ui-accent-soft); --btn-fg: var(--ui-accent-soft-text); --btn-border: transparent; --btn-hover: color-mix(in srgb, var(--ui-accent-soft) 80%, var(--ui-accent)); box-shadow: none; }
.ui-btn--sm { height: var(--ui-control-height-sm); padding: 0 var(--ui-space-2); font-size: var(--ui-text-sm); border-radius: var(--ui-radius-sm); }
.ui-btn--lg { height: 44px; padding: 0 var(--ui-space-5); font-size: var(--ui-text-base); }
.ui-btn--block { display: flex; width: 100%; }
.ui-btn--icon { width: var(--ui-control-height); padding: 0; }
.ui-btn--icon.ui-btn--sm { width: var(--ui-control-height-sm); }
.ui-btn--link { --btn-bg: transparent; --btn-border: transparent; --btn-fg: var(--ui-accent); box-shadow: none; height: auto; padding: 0; }
.ui-btn--link:hover { background: transparent; text-decoration: underline; }
.ui-btn[data-pending], .ui-btn[data-pending][aria-disabled="true"] { cursor: progress; opacity: 1; }
.ui-btn[data-pending], .ui-btn[data-done] { position: relative; }
.ui-btn-label { transition: opacity var(--ui-duration-fast) var(--ui-ease); }
.ui-btn[data-pending] .ui-btn-label { opacity: .6; }
.ui-btn[data-spinning] .ui-btn-label, .ui-btn[data-done] .ui-btn-label { opacity: 0; }
.ui-btn-spin { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.ui-btn-spin .ui-icon { width: 16px; height: 16px; }

/* ----------------------------------------------------------------- forms */
.ui-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ui-label { font-size: var(--ui-text-sm); font-weight: var(--ui-weight-semibold); color: var(--ui-text); }
.ui-hint { font-size: var(--ui-text-sm); color: var(--ui-text-muted); font-weight: 400; }
.ui-input, .ui-textarea, .ui-select {
  width: 100%; min-height: var(--ui-control-height); padding: 7px 11px;
  font-size: var(--ui-text-md); color: var(--ui-text); background: var(--ui-surface);
  border: 1px solid var(--ui-border-strong); border-radius: var(--ui-radius-md); box-shadow: inset 0 1px 1px hsl(var(--ui-shadow-color) / .04);
  transition: border-color var(--ui-duration-fast) var(--ui-ease), box-shadow var(--ui-duration-fast) var(--ui-ease);
}
.ui-input::placeholder, .ui-textarea::placeholder { color: var(--ui-text-subtle); }
.ui-input:hover, .ui-textarea:hover, .ui-select:hover { border-color: var(--ui-text-subtle); }
.ui-input:focus, .ui-textarea:focus, .ui-select:focus, .ui-input:focus-visible, .ui-textarea:focus-visible { outline: none; border-color: var(--ui-accent); box-shadow: var(--ui-ring); border-radius: var(--ui-radius-md); }
.ui-input[aria-invalid="true"] { border-color: var(--ui-danger); }
.ui-input[readonly] { background: var(--ui-sunken); font-family: var(--ui-font-mono); font-size: var(--ui-text-sm); }
.ui-input--lg { min-height: 44px; font-size: var(--ui-text-base); }
.ui-textarea { resize: vertical; line-height: var(--ui-leading); }
.ui-select { appearance: none; padding-right: 32px; background-image: linear-gradient(45deg, transparent 50%, var(--ui-text-muted) 50%), linear-gradient(135deg, var(--ui-text-muted) 50%, transparent 50%); background-position: calc(100% - 16px) 55%, calc(100% - 11px) 55%; background-size: 5px 5px; background-repeat: no-repeat; }
.ui-check { display: inline-flex; align-items: center; gap: var(--ui-space-2); font-size: var(--ui-text-md); cursor: pointer; }
.ui-check input, input[type="checkbox"].ui-checkbox { width: 16px; height: 16px; margin: 0; accent-color: var(--ui-accent); cursor: pointer; flex: none; }
.ui-error { display: flex; align-items: flex-start; gap: var(--ui-space-2); color: var(--ui-danger); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-medium); }
.ui-alert {
  display: flex; align-items: flex-start; gap: var(--ui-space-3); padding: var(--ui-space-3) var(--ui-space-4);
  border-radius: var(--ui-radius-md); border: 1px solid var(--ui-border); background: var(--ui-sunken); font-size: var(--ui-text-md);
}
.ui-alert--danger { background: var(--ui-danger-soft); border-color: color-mix(in srgb, var(--ui-danger) 30%, transparent); color: var(--ui-danger); }
.ui-alert--info { background: var(--ui-accent-soft); border-color: color-mix(in srgb, var(--ui-accent) 25%, transparent); color: var(--ui-accent-soft-text); }
.ui-alert--warning { background: var(--ui-warning-soft); border-color: color-mix(in srgb, var(--ui-warning) 30%, transparent); color: var(--ui-warning); }

/* ---------------------------------------------------------- cards, panels */
.ui-card { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); box-shadow: var(--ui-shadow-sm); }
.ui-card--pad { padding: var(--ui-space-6); }
.ui-list { display: flex; flex-direction: column; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); background: var(--ui-surface); overflow: hidden; }
.ui-list-item { display: flex; align-items: center; gap: var(--ui-space-3); padding: var(--ui-space-3) var(--ui-space-4); min-height: 56px; }
.ui-list-item + .ui-list-item { border-top: 1px solid var(--ui-border); }
a.ui-list-item { color: inherit; }
a.ui-list-item:hover, .ui-list-item--hover:hover { background: var(--ui-hover); text-decoration: none; }
.ui-section-title { font-size: var(--ui-text-xs); font-weight: var(--ui-weight-semibold); text-transform: uppercase; letter-spacing: .06em; color: var(--ui-text-muted); }

/* ------------------------------------------------------ badges and tags */
.ui-badge {
  display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px;
  font-size: var(--ui-text-2xs); font-weight: var(--ui-weight-bold); line-height: 1; font-variant-numeric: tabular-nums;
  color: var(--ui-on-color); background: var(--ui-badge); border-radius: var(--ui-radius-full);
}
.ui-badge--accent { background: var(--ui-accent); color: var(--ui-accent-text); }
.ui-badge--muted { background: var(--ui-pressed); color: var(--ui-text-muted); }
.ui-tag {
  display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 6px;
  font-size: var(--ui-text-2xs); font-weight: var(--ui-weight-semibold); letter-spacing: .03em; line-height: 1;
  color: var(--ui-text-muted); background: var(--ui-pressed); border-radius: var(--ui-radius-xs); white-space: nowrap;
}
.ui-tag--accent { color: var(--ui-accent-soft-text); background: var(--ui-accent-soft); }
.ui-tag--ai { color: var(--ui-ai); background: var(--ui-ai-soft); }
.ui-tag--success { color: var(--ui-success); background: var(--ui-success-soft); }
.ui-tag--warning { color: var(--ui-warning); background: var(--ui-warning-soft); }
.ui-tag--danger { color: var(--ui-danger); background: var(--ui-danger-soft); }
/* option chips: a tag in one of the option colors, e.g. data-color="blue" */
.ui-chip { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; height: 22px; padding: 0 8px; border-radius: var(--ui-radius-xs); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-medium); line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--ui-opt-gray-fg); background: var(--ui-opt-gray-bg); }
.ui-chip[data-color="gray"] { color: var(--ui-opt-gray-fg); background: var(--ui-opt-gray-bg); }
.ui-chip[data-color="brown"] { color: var(--ui-opt-brown-fg); background: var(--ui-opt-brown-bg); }
.ui-chip[data-color="orange"] { color: var(--ui-opt-orange-fg); background: var(--ui-opt-orange-bg); }
.ui-chip[data-color="yellow"] { color: var(--ui-opt-yellow-fg); background: var(--ui-opt-yellow-bg); }
.ui-chip[data-color="green"] { color: var(--ui-opt-green-fg); background: var(--ui-opt-green-bg); }
.ui-chip[data-color="blue"] { color: var(--ui-opt-blue-fg); background: var(--ui-opt-blue-bg); }
.ui-chip[data-color="purple"] { color: var(--ui-opt-purple-fg); background: var(--ui-opt-purple-bg); }
.ui-chip[data-color="pink"] { color: var(--ui-opt-pink-fg); background: var(--ui-opt-pink-bg); }
.ui-chip[data-color="red"] { color: var(--ui-opt-red-fg); background: var(--ui-opt-red-bg); }

/* --------------------------------------------------------------- avatars */
.ui-avatar {
  --ui-avatar-h: 200; --ui-avatar-size: 36px;
  position: relative; flex: none; display: inline-grid; place-items: center;
  width: var(--ui-avatar-size); height: var(--ui-avatar-size); border-radius: calc(var(--ui-avatar-size) * .26);
  font-size: calc(var(--ui-avatar-size) * .38); font-weight: var(--ui-weight-semibold); letter-spacing: 0; line-height: 1; color: var(--ui-on-color);
  background: linear-gradient(150deg, hsl(var(--ui-avatar-h) 58% 46%), hsl(calc(var(--ui-avatar-h) + 14) 62% 36%));
  user-select: none;
}
.ui-avatar--xs { --ui-avatar-size: 20px; }
.ui-avatar--sm { --ui-avatar-size: 24px; }
.ui-avatar--lg { --ui-avatar-size: 44px; }
.ui-avatar--icon { background: none; box-shadow: none; }
.ui-tile-art, .ui-tile-art svg { display: block; width: 100%; height: 100%; }
.ui-avatar--round { border-radius: 50%; }
.ui-avatar--app { background: linear-gradient(150deg, var(--ui-brand-1) 30%, var(--ui-brand-2) 130%); }
.ui-presence {
  position: absolute; right: -3px; bottom: -3px; width: 10px; height: 10px; border-radius: 50%;
  background: var(--ui-surface); border: 2px solid var(--ui-presence-ring, var(--ui-surface)); box-shadow: inset 0 0 0 1.5px var(--ui-text-subtle);
}
.ui-presence--on { background: var(--ui-success); box-shadow: none; }

/* ------------------------------------------------------------- brand mark */
.ui-brand-mark {
  display: inline-grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: var(--ui-radius-md);
  background: linear-gradient(150deg, var(--ui-brand-1) 30%, var(--ui-brand-2) 130%); color: var(--ui-on-color);
  font-weight: var(--ui-weight-bold); font-size: var(--ui-text-md); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .15), var(--ui-shadow-sm);
}
/* The suite's own mark is a picture, not a letter on a tile. */
.ui-brand-mark--suite, .ui-brand-mark--app { background: none; box-shadow: none; border-radius: 0; }
.ui-brand-mark--suite svg, .ui-brand-mark--app svg { width: 100%; height: 100%; display: block; }
.ui-brand-mark--lg { width: 44px; height: 44px; font-size: var(--ui-text-xl); border-radius: var(--ui-radius-lg); }

/* -------------------------------------------- empty, loading, error states */
.ui-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--ui-space-2); padding: var(--ui-space-12) var(--ui-space-6); max-width: 420px; margin: 0 auto; animation: ui-rise var(--ui-duration-enter, 260ms) var(--ui-ease-enter, var(--ui-ease)); }
.ui-empty-art { display: grid; place-items: center; width: 96px; height: 96px; margin-bottom: var(--ui-space-2); border-radius: var(--ui-radius-xl); background: var(--app-tint, var(--ui-sunken)); color: var(--app-accent, var(--ui-text-muted)); }
.ui-empty-art .ui-suite-app-mark { width: 48px; height: 48px; }
.ui-empty-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: var(--ui-space-2); border-radius: var(--ui-radius-lg); background: var(--ui-sunken); color: var(--ui-text-muted); border: 1px solid var(--ui-border); }
.ui-empty-icon .ui-icon { width: 22px; height: 22px; }
.ui-empty--danger .ui-empty-icon { background: var(--ui-danger-soft); color: var(--ui-danger); border-color: transparent; }
.ui-empty h2, .ui-empty-title { font-family: var(--ui-font-display, var(--ui-font-sans)); font-size: 18px; line-height: 24px; font-weight: var(--ui-weight-semibold); }
.ui-empty p { color: var(--ui-text-muted); font-size: 13px; line-height: 20px; }
.ui-empty .ui-btn { margin-top: var(--ui-space-3); }
.ui-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--ui-space-2); margin-top: var(--ui-space-3); }
.ui-empty-actions .ui-btn { margin-top: 0; }
.ui-loading-state { display: flex; flex-direction: column; gap: var(--ui-space-3); padding: var(--ui-space-5); }
.ui-loading-state--card { max-width: 420px; }
.ui-loading-state-label { color: var(--ui-text-muted); font-size: var(--ui-text-md); animation: ui-fade-in var(--ui-duration-enter) var(--ui-ease-enter); }
.ui-loading-state-label:empty { display: none; }
.ui-loading-stall { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ui-space-2); color: var(--ui-text-muted); font-size: var(--ui-text-md); }

.ui-spinner { width: 18px; height: 18px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; opacity: .7; animation: ui-spin .7s linear infinite; flex: none; }
.ui-loading { display: flex; align-items: center; justify-content: center; gap: var(--ui-space-3); padding: var(--ui-space-12); color: var(--ui-text-muted); font-size: var(--ui-text-md); }

/* Skeletons: static blocks; each row breathes in opacity (a slow wave down the list). Compositor-only. */
.ui-skel, .ui-skeleton { display: block; background: var(--ui-skel); border-radius: var(--ui-radius-sm); }
.ui-skel--strong { background: var(--ui-skel-strong); }
.ui-skel--line, .ui-skeleton--line { height: 12px; }
.ui-skel--line[data-size="xs"] { height: 8px; }
.ui-skel--line[data-size="sm"] { height: 10px; }
.ui-skel--line[data-size="lg"] { height: 14px; }
.ui-skel--line[data-size="title"] { height: 18px; }
.ui-skel--avatar { border-radius: 50%; flex: none; }
.ui-skel--avatar[data-shape="rounded"], .ui-skeleton--circle { border-radius: var(--ui-radius-md); }
.ui-skel--pill { height: 20px; border-radius: var(--ui-radius-full); flex: none; }
.ui-skel-row, .ui-skeleton-row { display: flex; gap: var(--ui-space-3); align-items: flex-start; animation: ui-tide 1.6s var(--ui-ease-current) infinite; animation-delay: calc(var(--i, 0) * 90ms); }
.ui-skel-item { display: contents; }
.ui-skel-tr { animation: ui-tide 1.6s var(--ui-ease-current) infinite; animation-delay: calc(var(--i, 0) * 90ms); }
.ui-skel-lines, .ui-skeleton-lines { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--ui-space-2); padding-top: 3px; }
.ui-skel-list { display: flex; flex-direction: column; gap: var(--ui-space-5); max-height: 100%; overflow: hidden; }
.ui-skel-stack { display: flex; flex-direction: column; gap: var(--ui-space-2); }
.ui-skel-card { display: flex; flex-direction: column; gap: var(--ui-space-3); }
.ui-skel-region { animation: ui-fade-in var(--ui-duration-enter) var(--ui-ease-enter) both; }
.ui-skeleton-rows { display: flex; flex-direction: column; gap: var(--ui-space-5); padding: var(--ui-space-5); }
@keyframes ui-tide { 0%, 100% { opacity: 1; } 50% { opacity: var(--ui-skel-tide-min); } }

/* Spinner: the two currents of the brand mark, each a composited layer. At rest (rotation 0) it is the still mark. */
.ui-spin { position: relative; display: inline-block; flex: none; width: var(--s, 20px); height: var(--s, 20px); }
.ui-spin[data-size="16"] { --s: 16px; }
.ui-spin[data-size="32"] { --s: 32px; }
.ui-spin[data-size="48"] { --s: 48px; }
.ui-spin-layer { position: absolute; inset: 0; animation: ui-current 1.2s var(--ui-ease-current) infinite; will-change: transform; }
.ui-spin-b { animation-delay: 120ms; }
.ui-spin-layer svg { width: 100%; height: 100%; }
.ui-ce { stop-color: var(--ui-current-ember); }
.ui-cf { stop-color: var(--ui-current-flame); }
.ui-cm { stop-color: var(--ui-current-magenta); }
.ui-cv { stop-color: var(--ui-current-violet); }
.ui-spin[data-tone="mono"] path, .ui-btn .ui-spin path { fill: currentColor; }
.ui-spin[data-tone="mono"] .ui-spin-b, .ui-btn .ui-spin .ui-spin-b { opacity: .55; }
/* Solid buttons: the spinner is mono in the button's own on-colour and both currents stay at >= 3:1 (the .55 dim of the second current is too faint on orange or red). */
.ui-btn--primary .ui-btn-spin, .ui-btn--danger-solid .ui-btn-spin { color: var(--ui-accent-text); } /* the label is hidden while it spins, and --ui-on-color (white) is only 2.9:1 on the dark danger red */
.ui-btn--primary .ui-spin .ui-spin-b, .ui-btn--danger-solid .ui-spin .ui-spin-b { opacity: .85; }
@keyframes ui-current { from { transform: rotate(0); } to { transform: rotate(360deg); } }
/* Fallback for older callers that set only aria-busy on a .ui-btn (no data-pending / .ui-btn-label): the label is hidden and a ring turns over it. Absolutely positioned, so the button never changes size; immediate, because these callers have no reveal timer. Transform-only animation; a static partial ring under reduced motion. */
.ui-btn[aria-busy="true"]:not([data-pending]) { position: relative; color: transparent; cursor: progress; }
.ui-btn[aria-busy="true"]:not([data-pending]):disabled { opacity: 1; } /* callers also disable the button while busy; the ring must not be dimmed to under 3:1 */
.ui-btn[aria-busy="true"]:not([data-pending])::after { content: ""; position: absolute; inset: 0; margin: auto; width: 14px; height: 14px; border: 2px solid var(--btn-fg); border-top-color: transparent; border-radius: 50%; animation: ui-current 1.2s var(--ui-ease-current) infinite; will-change: transform; pointer-events: none; }
.ui-btn--primary[aria-busy="true"]:not([data-pending])::after, .ui-btn--danger-solid[aria-busy="true"]:not([data-pending])::after { border-color: var(--ui-accent-text); border-top-color: transparent; } /* --ui-on-color (white) is only 2.9:1 on the dark danger red */
@media (prefers-reduced-motion: reduce) { .ui-btn[aria-busy="true"]:not([data-pending])::after { animation: none; } }

/* Progress and thinking */
.ui-progress { height: 4px; border-radius: var(--ui-radius-full); background: var(--ui-sunken); overflow: hidden; }
.ui-progress > i { display: block; height: 100%; background: var(--ui-current-gradient); transform-origin: 0 50%; transform: scaleX(var(--v, 0)); transition: transform 400ms var(--ui-ease); }
.ui-thinking { display: flex; align-items: center; gap: var(--ui-space-2); color: var(--ui-text-muted); font-size: var(--ui-text-md); }
.ui-caret { display: inline-block; width: 2px; height: 1em; margin-left: 1px; vertical-align: text-bottom; background: var(--ui-text-muted); animation: ui-caret 1s steps(2, jump-none) infinite; }
@keyframes ui-caret { from { opacity: 1; } to { opacity: 0; } }

/* Optimistic items: dimmed while unconfirmed (opacity only), failed ones say so in danger colour */
[data-pending]:not(.ui-btn) { opacity: .62; transition: opacity var(--ui-duration-fast) var(--ui-ease); }
[data-failed] { color: var(--ui-danger); }

/* Navigation bar element (the shell renders it; its state comes from html attributes) */
.ui-navbar { position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: var(--ui-z-progress); pointer-events: none; opacity: 0; }
.ui-navbar-fill { height: 100%; background: var(--ui-current-gradient); transform-origin: 0 50%; transform: scaleX(0); }
/* Revealed by a 1 ms animation held at opacity 0 (backwards fill) for --ui-delay-reveal: unlike a delayed transition it cannot leave a previous bar's half-finished fade painted in the click's frame. */
html[data-nav-pending] .ui-navbar { animation: ui-navbar-in 1ms linear var(--ui-delay-reveal) both; }
@keyframes ui-navbar-in { from { opacity: 0; } to { opacity: 1; } }
html[data-nav-pending] .ui-navbar-fill { transform: scaleX(.85); transition: transform 8s cubic-bezier(.1, .6, .2, 1) var(--ui-delay-reveal); }
/* An animation too (a transition would not start from the reveal animation's value): hold the full bar for 160 ms, then fade. */
html[data-nav-done] .ui-navbar { animation: ui-navbar-out var(--ui-duration) var(--ui-ease) 160ms both; }
@keyframes ui-navbar-out { from { opacity: 1; } to { opacity: 0; } }
html[data-nav-done] .ui-navbar-fill { transform: scaleX(1); transition: transform 160ms var(--ui-ease); }
html[data-nav-done="error"] .ui-navbar-fill { background: var(--ui-danger); }
html[data-desktop] .ui-navbar { position: absolute; }

/* Boot skeleton: static HTML inside the app root before any JS (backend/src/shared/boot.ts); BootScreen renders the same DOM. */
.ui-boot { display: grid; grid-template-columns: var(--ui-sidebar-width) minmax(0, 1fr); min-height: 100vh; background: var(--ui-bg); animation: ui-fade-in var(--ui-duration-enter) var(--ui-ease-enter) calc(var(--ui-delay-reveal) + var(--ui-boot-elapsed, 0ms)) both; }
.ui-boot--suite { grid-template-columns: var(--ui-suite-width, 176px) var(--ui-sidebar-width) minmax(0, 1fr); }
.ui-boot i, .ui-boot b { display: block; background: var(--ui-skel); border-radius: var(--ui-radius-sm); }
.ui-boot b { background: var(--ui-skel-strong); }
.ui-boot-su, .ui-boot-nav { display: flex; flex-direction: column; gap: var(--ui-space-3); padding: var(--ui-space-4); border-right: 1px solid var(--ui-border); }
.ui-boot-su { background: var(--ui-sunken); }
.ui-boot-nav { background: var(--ui-surface); }
.ui-boot-su b, .ui-boot-nav b { width: 24px; height: 24px; border-radius: var(--ui-radius-md); }
.ui-boot-su i, .ui-boot-nav i { height: 12px; width: 84%; }
.ui-boot-nav i:nth-child(odd) { width: 62%; }
.ui-boot-nav i:nth-child(3n) { width: 73%; }
.ui-boot-main { position: relative; display: flex; flex-direction: column; min-width: 0; }
.ui-boot-top { display: flex; align-items: center; justify-content: space-between; height: var(--ui-topbar-height); padding: 0 var(--ui-space-5); border-bottom: 1px solid var(--ui-border); }
.ui-boot-top b { width: 160px; height: 14px; }
.ui-boot-top i { width: 72px; height: var(--ui-control-height-sm); border-radius: var(--ui-radius-md); }
.ui-boot-rows { display: flex; flex-direction: column; gap: var(--ui-space-5); padding: var(--ui-space-5); animation: ui-fade-out var(--ui-duration-enter) var(--ui-ease-enter) calc(var(--ui-delay-moment) + var(--ui-boot-elapsed, 0ms)) both; }
.ui-boot-rows > b { width: 40%; height: 18px; }
.ui-boot-row { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: var(--ui-space-2) var(--ui-space-3); animation: ui-tide 1.6s var(--ui-ease-current) infinite; }
.ui-boot-row i:first-child { grid-row: span 2; width: 24px; height: 24px; border-radius: 50%; }
.ui-boot-row i:nth-child(2) { height: 12px; width: 62%; }
.ui-boot-row i:nth-child(3) { height: 10px; width: 38%; }
.ui-boot-row:nth-child(3n) i:nth-child(2) { width: 78%; }
.ui-boot-row:nth-child(3) { animation-delay: 90ms; }
.ui-boot-row:nth-child(4) { animation-delay: 180ms; }
.ui-boot-row:nth-child(5) { animation-delay: 270ms; }
.ui-boot-row:nth-child(6) { animation-delay: 360ms; }
.ui-boot-row:nth-child(7) { animation-delay: 450ms; }
.ui-boot-row:nth-child(8) { animation-delay: 540ms; }
.ui-moment { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--ui-space-3); padding: var(--ui-space-12); text-align: center; animation: ui-fade-in var(--ui-duration-enter) var(--ui-ease-enter) both; }
.ui-moment-title { margin: 0; font-family: var(--ui-font-display); font-weight: 600; font-size: var(--ui-text-lg); letter-spacing: var(--ui-heading-tracking); color: var(--ui-text); }
.ui-moment-detail { margin: 0; display: flex; align-items: center; justify-content: center; gap: var(--ui-space-2); font-size: var(--ui-text-md); color: var(--ui-text-muted); }
.ui-boot-moment { position: absolute; inset: var(--ui-topbar-height) 0 0; padding: 0; animation: ui-fade-in var(--ui-duration-enter) var(--ui-ease-enter) calc(var(--ui-delay-moment) + var(--ui-boot-elapsed, 0ms)) both; }
.ui-boot-stall { position: absolute; left: 0; right: 0; bottom: var(--ui-space-8); display: flex; align-items: center; justify-content: center; gap: var(--ui-space-2); font-size: var(--ui-text-md); color: var(--ui-text-muted); animation: ui-fade-in var(--ui-duration-enter) var(--ui-ease-enter) calc(var(--ui-delay-stall) + var(--ui-boot-elapsed, 0ms)) both; }
.ui-boot-bar { display: none; }
.ui-boot[data-error] { animation: none; }
.ui-boot[data-error] .ui-boot-rows { animation: none; opacity: .4; }
.ui-boot[data-error] .ui-boot-moment { animation: none; }
.ui-boot[data-error] .ui-boot-stall { display: none; }
@media (max-width: 860px) {
  .ui-boot, .ui-boot--suite { grid-template-columns: minmax(0, 1fr); }
  .ui-boot-su, .ui-boot-nav { display: none; }
  .ui-boot-bar { position: fixed; left: 0; right: 0; bottom: 0; height: 56px; display: flex; align-items: center; justify-content: space-around; border-top: 1px solid var(--ui-border); background: var(--ui-surface); }
  .ui-boot-bar i { width: 28px; height: 28px; border-radius: var(--ui-radius-md); }
}
html[data-desktop] .ui-boot { grid-template-columns: minmax(0, 1fr); }
html[data-desktop] .ui-boot-su, html[data-desktop] .ui-boot-nav { display: none; }
@keyframes ui-spin { to { transform: rotate(360deg); } }
@keyframes ui-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes ui-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes ui-rise { from { opacity: 0; transform: translateY(6px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes ui-slide-in { from { transform: translateX(-100%); } to { transform: none; } }

/* ------------------------------------------- menus, popovers, kbd, toasts */
.ui-popover { background: var(--ui-surface-raised); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); box-shadow: var(--ui-shadow-lg); padding: var(--ui-space-1); animation: ui-rise var(--ui-duration) var(--ui-ease); z-index: var(--ui-z-popover); }
.ui-menu-item { display: flex; align-items: center; gap: var(--ui-space-2); width: 100%; padding: 6px var(--ui-space-2); border: 0; border-radius: var(--ui-radius-sm); background: none; color: var(--ui-text); font-size: var(--ui-text-md); text-align: left; cursor: pointer; }
.ui-menu-item:hover, .ui-menu-item[aria-selected="true"], .ui-menu-item.is-selected { background: var(--ui-hover); text-decoration: none; }
.ui-menu-item .ui-icon { color: var(--ui-text-muted); }
.ui-kbd { display: inline-flex; align-items: center; gap: 2px; height: 20px; padding: 0 5px; font-family: var(--ui-font-sans); font-size: var(--ui-text-2xs); font-weight: var(--ui-weight-medium); color: var(--ui-text-muted); background: var(--ui-surface); border: 1px solid var(--ui-border); border-bottom-width: 2px; border-radius: var(--ui-radius-xs); }
.ui-kbd-hint { margin-left: auto; }
@media (pointer: coarse) { .ui-kbd-hint { display: none; } }
.ui-toolbar { display: inline-flex; align-items: center; gap: 1px; padding: 2px; background: var(--ui-surface-raised); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); box-shadow: var(--ui-shadow-md); }
.ui-toolbar .ui-btn { box-shadow: none; }

.ui-toasts { position: fixed; z-index: var(--ui-z-toast); bottom: var(--ui-space-5); left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; gap: var(--ui-space-2); pointer-events: none; }
.ui-toast { pointer-events: auto; display: flex; align-items: center; gap: var(--ui-space-3); padding: 10px var(--ui-space-4); border-radius: var(--ui-radius-md); background: var(--ui-text); color: var(--ui-bg); font-size: var(--ui-text-md); box-shadow: var(--ui-shadow-lg); animation: ui-rise var(--ui-duration) var(--ui-ease); }

/* ---------------------------------------------------------------- modal */
.ui-scrim { position: fixed; inset: 0; background: var(--ui-scrim); animation: ui-fade-in var(--ui-duration) var(--ui-ease); z-index: var(--ui-z-modal); display: flex; justify-content: center; align-items: flex-start; padding: 12vh var(--ui-space-4) var(--ui-space-4); backdrop-filter: blur(2px); }
.ui-modal { width: min(560px, 100%); max-height: 76vh; overflow: auto; background: var(--ui-surface-raised); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-xl); box-shadow: var(--ui-shadow-lg); animation: ui-rise var(--ui-duration) var(--ui-ease); }

dialog.ui-modal { margin: 12vh auto auto; padding: var(--ui-space-5); color: var(--ui-text); display: flex; flex-direction: column; gap: var(--ui-space-3); }
dialog.ui-modal:not([open]) { display: none; }
dialog.ui-modal::backdrop { background: var(--ui-scrim); }
dialog.ui-modal h2 { font-size: var(--ui-text-lg); font-weight: var(--ui-weight-semibold); }
dialog.ui-modal p { color: var(--ui-text-muted); }
.ui-modal-actions { display: flex; justify-content: flex-end; gap: var(--ui-space-2); margin-top: var(--ui-space-2); }

/* ---------------------------------------------------------------- tables */
/* segmented control / tabs: <div class="ui-segmented" role="tablist"><button role="tab" aria-selected="true">…</button></div> */
.ui-segmented { display: inline-flex; gap: 2px; padding: 2px; background: var(--ui-sunken); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); max-width: 100%; overflow-x: auto; }
.ui-segmented > button, .ui-segmented > a { display: inline-flex; align-items: center; gap: var(--ui-space-1); height: calc(var(--ui-control-height-sm) - 4px); padding: 0 var(--ui-space-3); border: 0; border-radius: var(--ui-radius-sm); background: none; color: var(--ui-text-muted); font: inherit; font-size: var(--ui-text-md); font-weight: var(--ui-weight-medium); white-space: nowrap; cursor: pointer; text-decoration: none; transition: background var(--ui-duration-fast) var(--ui-ease), color var(--ui-duration-fast) var(--ui-ease); }
.ui-segmented > :hover { color: var(--ui-text); text-decoration: none; }
.ui-segmented > [aria-selected="true"], .ui-segmented > [aria-current="page"], .ui-segmented > [aria-pressed="true"] { background: var(--ui-surface-raised); color: var(--ui-text); box-shadow: var(--ui-shadow-sm); }
@media (max-width: 860px) { .ui-segmented > button, .ui-segmented > a { height: 32px; } }
/* a block of code or config to read or copy */
.ui-code { display: block; margin: 0; padding: var(--ui-space-3) var(--ui-space-4); font-family: var(--ui-font-mono); font-size: var(--ui-text-sm); line-height: var(--ui-leading); color: var(--ui-text); background: var(--ui-sunken); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); white-space: pre; overflow-x: auto; }
/* choice card: <label class="ui-choice"><input type="radio" name="…"><span><strong>Title</strong><small>Detail</small></span></label> */
.ui-choice { display: flex; align-items: flex-start; gap: var(--ui-space-3); min-height: 44px; padding: var(--ui-space-3) var(--ui-space-4); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-surface); cursor: pointer; transition: border-color var(--ui-duration-fast) var(--ui-ease), background var(--ui-duration-fast) var(--ui-ease); }
.ui-choice:hover { border-color: var(--ui-border-strong); }
.ui-choice input { margin: 3px 0 0; accent-color: var(--ui-accent); flex: none; }
.ui-choice > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ui-choice small { color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.ui-choice:has(input:checked) { border-color: var(--ui-accent); background: var(--ui-accent-soft); }
.ui-choice:has(input:focus-visible) { box-shadow: 0 0 0 3px var(--ui-ring); }
/* theme switch: kit_ui::theme::switch_row() */
.ui-theme-row { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-2); padding: var(--ui-space-2) var(--ui-space-3) var(--ui-space-2) var(--ui-space-4); font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.ui-theme-row-label { font-weight: var(--ui-weight-medium); }
.ui-theme-switch { display: inline-flex; gap: 2px; padding: 2px; background: var(--ui-sunken); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); flex: none; }
.ui-theme-switch button { display: inline-grid; place-items: center; width: 30px; height: 24px; padding: 0; border: 0; border-radius: var(--ui-radius-sm); background: none; color: var(--ui-text-muted); cursor: pointer; transition: background var(--ui-duration-fast) var(--ui-ease), color var(--ui-duration-fast) var(--ui-ease); }
.ui-theme-switch button:hover { color: var(--ui-text); }
.ui-theme-switch button[aria-checked="true"] { background: var(--ui-surface-raised); color: var(--ui-text); box-shadow: var(--ui-shadow-sm); }
.ui-theme-switch .ui-icon { width: 15px; height: 15px; }
@media (max-width: 860px) { .ui-theme-switch button { width: 40px; height: 32px; } }
/* brand picker (kit_ui::brand::picker): each option is drawn in its own brand */
.ui-brand-picker { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--ui-space-3); }
.ui-brand-option { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ui-space-3); padding: var(--ui-space-4); min-height: 44px; text-align: left; background: var(--ui-bg); color: var(--ui-text); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); box-shadow: var(--ui-shadow-sm); cursor: pointer; font: inherit; font-family: var(--ui-font-sans); transition: border-color var(--ui-duration-fast) var(--ui-ease), box-shadow var(--ui-duration-fast) var(--ui-ease); }
.ui-brand-option:hover { border-color: var(--ui-border-strong); }
.ui-brand-option[aria-checked="true"] { border-color: var(--ui-accent); box-shadow: var(--ui-ring); }
.ui-brand-option-swatches { display: flex; gap: 4px; }
.ui-brand-option-swatches span { width: 22px; height: 22px; border-radius: var(--ui-radius-sm); border: 1px solid var(--ui-border); }
.ui-brand-option-text { display: grid; gap: 2px; }
.ui-brand-option-name { font-family: var(--ui-font-display); font-size: var(--ui-text-lg); font-weight: var(--ui-heading-weight); letter-spacing: var(--ui-heading-tracking); }
.ui-brand-option small { color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
/* about: sidebar button and dialog (kit_ui::about) */
.ui-about-btn { display: flex; align-items: center; gap: var(--ui-space-2); width: calc(100% - var(--ui-space-4)); margin: var(--ui-space-1) var(--ui-space-2) 0; height: 32px; padding: 0 var(--ui-space-2); border: 0; border-radius: var(--ui-radius-sm); background: none; color: var(--ui-nav-text, var(--ui-text-muted)); font: inherit; font-size: var(--ui-text-sm); font-weight: var(--ui-weight-medium); text-align: left; cursor: pointer; }
.ui-about-btn:hover { background: var(--ui-nav-hover, var(--ui-hover)); color: var(--ui-nav-text-strong, var(--ui-text)); }
.ui-about-btn .ui-icon { width: 16px; height: 16px; color: var(--ui-text-muted); flex: none; }
.ui-about-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-about-version { margin-left: auto; color: var(--ui-text-muted); font-size: var(--ui-text-xs); font-variant-numeric: tabular-nums; }
.ui-about-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ui-accent); flex: none; }
.ui-about-dot[hidden] { display: none; }
dialog.ui-about { padding: 0; color: var(--ui-text); max-height: min(640px, 86vh); }
dialog.ui-about::backdrop { background: var(--ui-scrim); }
.ui-about-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--ui-space-3); padding: var(--ui-space-5) var(--ui-space-5) var(--ui-space-3); }
.ui-about-body { display: grid; gap: var(--ui-space-2); padding: 0 var(--ui-space-5); }
.ui-about-changes { list-style: none; margin: 0; padding: 0; display: grid; }
.ui-about-changes li { display: grid; gap: 2px; padding: var(--ui-space-2) 0; border-top: 1px solid var(--ui-border); font-size: var(--ui-text-md); }
.ui-about-change-head { display: flex; align-items: center; gap: var(--ui-space-2); }
.ui-about-foot { display: flex; justify-content: flex-end; gap: var(--ui-space-2); padding: var(--ui-space-4) var(--ui-space-5) var(--ui-space-2); }
.ui-about-result { display: grid; gap: var(--ui-space-2); padding: 0 var(--ui-space-5) var(--ui-space-5); }
.ui-about-result:empty { padding-bottom: var(--ui-space-3); }
.ui-about-new { font-weight: var(--ui-weight-semibold); }
/* account: the name at the bottom of the sidebar and its menu (kit_ui::account, style/account.js) */
.ui-account { flex: 1; min-width: 0; display: flex; }
.ui-account-slot { flex: 1; min-width: 0; display: flex; }
.ui-account-extra[hidden] { display: none; }
.ui-account-btn { flex: 1; min-width: 0; display: flex; align-items: center; gap: var(--ui-space-2); height: 44px; margin: 0 calc(-1 * var(--ui-space-1)); padding: 0 var(--ui-space-1) 0 var(--ui-space-1); border: 0; border-radius: var(--ui-radius-md); background: none; color: var(--ui-nav-text-strong, var(--ui-text)); font: inherit; text-align: left; cursor: pointer; transition: background var(--ui-duration-fast) var(--ui-ease); }
.ui-account-btn:hover, .ui-account-btn[aria-expanded="true"] { background: var(--ui-nav-hover, var(--ui-hover)); }
.ui-account-btn:focus-visible { outline: none; box-shadow: var(--ui-ring); }
.ui-account-btn .ui-avatar { --ui-avatar-size: 30px; font-size: var(--ui-text-xs); }
.ui-account-who { flex: 1; min-width: 0; display: grid; line-height: 1.25; }
.ui-account-name { display: flex; align-items: center; gap: var(--ui-space-1); min-width: 0; }
.ui-account-name strong { font-size: var(--ui-text-md); font-weight: var(--ui-weight-semibold); }
.ui-account-emoji { flex: none; font-size: var(--ui-text-sm); line-height: 1; }
.ui-account-emoji[hidden] { display: none; }
.ui-account-who small { color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.ui-account-chev { width: 14px; height: 14px; flex: none; color: var(--ui-text-muted); }
.ui-account-presence { position: absolute; right: -3px; bottom: -3px; width: 11px; height: 11px; border-radius: 50%; border: 2px solid var(--ui-presence-ring, var(--ui-surface)); background: var(--ui-success); }
.ui-account-presence:not([data-presence]) { display: none; }
.ui-account-presence[data-presence="away"], .ui-account-dot[data-presence="away"] { background: var(--ui-surface); box-shadow: inset 0 0 0 1.5px var(--ui-text-subtle); }
.ui-account-presence[data-presence="dnd"], .ui-account-dot[data-presence="dnd"] { background: var(--ui-danger); }
.ui-account-menu { position: fixed; --ui-presence-ring: var(--ui-surface-raised); width: min(300px, calc(100vw - 16px)); max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); overflow-y: auto; overscroll-behavior: contain; padding: var(--ui-space-1); outline: none; }
.ui-account-menu .ui-divider { margin: var(--ui-space-1) calc(-1 * var(--ui-space-1)); }
.ui-account-menu .ui-menu-item { min-height: 32px; font-size: var(--ui-text-md); font-weight: normal; text-decoration: none; box-shadow: none; }
.ui-account-btn, .ui-account-status { font-weight: normal; box-shadow: none; }
.ui-account-menu .ui-menu-item .ui-icon { width: 16px; height: 16px; flex: none; }
.ui-account-menu [role^="menuitem"]:focus-visible { outline: none; background: var(--ui-hover); box-shadow: inset 0 0 0 2px var(--ui-accent); }
.ui-account-head { display: flex; align-items: center; gap: var(--ui-space-3); padding: var(--ui-space-2) var(--ui-space-2) var(--ui-space-3); }
.ui-account-avatar.ui-avatar { --ui-avatar-size: 40px; font-size: var(--ui-text-md); }
.ui-account-head .ui-account-presence { width: 13px; height: 13px; }
.ui-account-id { min-width: 0; display: grid; gap: 1px; }
.ui-account-id strong { font-size: var(--ui-text-base); font-weight: var(--ui-weight-semibold); }
.ui-account-id small { color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.ui-account-section { display: grid; gap: 1px; }
.ui-account-heading { padding: var(--ui-space-1) var(--ui-space-2) 2px; font-size: var(--ui-text-xs); font-weight: var(--ui-weight-semibold); color: var(--ui-text-muted); letter-spacing: .02em; }
.ui-account-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-account-meta { flex: none; margin-left: auto; font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.ui-account-check { display: grid; place-items: center; flex: none; width: 16px; height: 16px; border-radius: 50%; background: var(--ui-accent); color: var(--ui-accent-text); }
.ui-account-menu .ui-account-check .ui-icon { width: 11px; height: 11px; color: inherit; }
.ui-account-space-mark.ui-avatar { --ui-avatar-size: 20px; font-size: 10px; border-radius: var(--ui-radius-sm); }
.ui-account-status { display: flex; align-items: center; gap: var(--ui-space-2); width: 100%; min-height: 40px; margin-bottom: var(--ui-space-1); padding: var(--ui-space-1) var(--ui-space-2); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-sunken); color: var(--ui-text-muted); font: inherit; font-size: var(--ui-text-md); text-align: left; cursor: pointer; transition: border-color var(--ui-duration-fast) var(--ui-ease), background var(--ui-duration-fast) var(--ui-ease); }
.ui-account-status:hover { border-color: var(--ui-border-strong, var(--ui-text-subtle)); color: var(--ui-text); }
.ui-account-status .ui-icon { width: 16px; height: 16px; flex: none; }
.ui-account-status.is-set { color: var(--ui-text); }
.ui-account-status-emoji { flex: none; font-size: var(--ui-text-lg); line-height: 1; }
.ui-account-status-text { flex: 1; min-width: 0; display: grid; line-height: 1.25; }
.ui-account-status-text small { color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.ui-account-status-edit { flex: none; font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.ui-account-row { display: flex; gap: 2px; padding: 2px; margin: 0 0 var(--ui-space-1); background: var(--ui-sunken); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); }
.ui-account-row > button { box-shadow: none; flex: 1; min-width: 0; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 28px; padding: 0 var(--ui-space-2); border: 0; border-radius: var(--ui-radius-sm); background: none; color: var(--ui-text-muted); font: inherit; font-size: var(--ui-text-sm); font-weight: var(--ui-weight-medium); white-space: nowrap; cursor: pointer; transition: background var(--ui-duration-fast) var(--ui-ease), color var(--ui-duration-fast) var(--ui-ease); }
.ui-account-row > button:hover { color: var(--ui-text); }
.ui-account-row > button[aria-checked="true"] { background: var(--ui-surface-raised); color: var(--ui-text); box-shadow: var(--ui-shadow-sm); }
.ui-account-row > button:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--ui-accent); }
.ui-account-dot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--ui-success); }
.ui-account-line { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-2); padding: 2px 0 2px var(--ui-space-2); }
.ui-account-line-label { font-size: var(--ui-text-md); color: var(--ui-text); }
.ui-account-line .ui-account-row { margin: 0; flex: none; }
.ui-account-row--icons > button { flex: none; width: 34px; padding: 0; }
.ui-account-row--icons .ui-icon { width: 15px; height: 15px; }
.ui-account-install { display: grid; gap: 2px; padding: var(--ui-space-2) var(--ui-space-2) var(--ui-space-1); font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.ui-account-install-name { color: var(--ui-text); font-weight: var(--ui-weight-semibold); font-family: var(--ui-font-display); letter-spacing: var(--ui-heading-tracking); }
.ui-account-place { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.ui-account-place .ui-icon { width: 14px; height: 14px; flex: none; }
.ui-account-version { font-size: var(--ui-text-xs); font-variant-numeric: tabular-nums; }
.ui-account-out .ui-icon { color: var(--ui-text-muted); }
@media (max-width: 860px) { .ui-account-menu .ui-menu-item { min-height: 40px; } .ui-account-row > button { height: 36px; } .ui-account-row--icons > button { width: 44px; } }
/* "Set a status" */
dialog.ui-status-dialog { width: min(440px, calc(100vw - 24px)); padding: 0; color: var(--ui-text); overflow: visible; }
dialog.ui-status-dialog::backdrop { background: var(--ui-scrim); }
.ui-status-form { display: grid; }
.ui-status-head { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-3); padding: var(--ui-space-4) var(--ui-space-4) var(--ui-space-2) var(--ui-space-5); }
.ui-status-head h2 { font-size: var(--ui-text-lg); }
.ui-status-body { display: grid; gap: var(--ui-space-3); padding: 0 var(--ui-space-5); }
.ui-status-input { position: relative; display: flex; align-items: center; }
.ui-status-input .ui-input { padding-left: 44px; padding-right: 40px; height: 40px; }
.ui-status-emoji { position: absolute; left: 4px; top: 4px; width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: var(--ui-radius-sm); background: none; font-size: 18px; line-height: 1; cursor: pointer; z-index: 1; }
.ui-status-emoji:hover { background: var(--ui-hover); }
.ui-status-emoji.is-empty { filter: grayscale(1); opacity: .6; }
.ui-status-x { position: absolute; right: 4px; }
.ui-status-x[hidden] { display: none; }
.ui-status-emojis { display: grid; grid-template-columns: repeat(6, 1fr); gap: 2px; padding: var(--ui-space-1); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-sunken); }
.ui-status-emojis[hidden] { display: none; }
.ui-status-emojis button { height: 36px; border: 0; border-radius: var(--ui-radius-sm); background: none; font-size: 20px; cursor: pointer; }
.ui-status-emojis button:hover, .ui-status-emojis button:focus-visible { background: var(--ui-hover); outline: none; box-shadow: inset 0 0 0 2px var(--ui-accent); }
.ui-status-suggest { display: grid; gap: 1px; margin: 0 calc(-1 * var(--ui-space-2)); }
.ui-status-suggest .ui-account-heading { padding-left: var(--ui-space-2); }
.ui-status-suggest-emoji { width: 20px; text-align: center; font-size: var(--ui-text-base); }
.ui-status-clear { display: grid; gap: var(--ui-space-1); }
.ui-status-foot { display: flex; justify-content: flex-end; gap: var(--ui-space-2); padding: var(--ui-space-4) var(--ui-space-5) var(--ui-space-5); }
.ui-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--ui-text-md); }
.ui-table th { text-align: left; font-weight: var(--ui-weight-medium); font-size: var(--ui-text-sm); color: var(--ui-text-muted); padding: var(--ui-space-2) var(--ui-space-3); border-bottom: 1px solid var(--ui-border); white-space: nowrap; }
.ui-table td { padding: var(--ui-space-1) var(--ui-space-2); border-bottom: 1px solid var(--ui-border); }
.ui-table tbody tr:hover { background: var(--ui-sunken); }

/* ------------------------------------------------------- auth (centered) */
.ui-center { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: var(--ui-space-6) var(--ui-space-4); background:
  radial-gradient(1200px 600px at 10% -10%, color-mix(in srgb, var(--ui-brand-1) 10%, transparent), transparent 60%),
  radial-gradient(900px 500px at 110% 110%, color-mix(in srgb, var(--ui-brand-2) 9%, transparent), transparent 60%), var(--ui-bg); }
.ui-auth { width: min(400px, 100%); display: flex; flex-direction: column; gap: var(--ui-space-5); }
.ui-auth-brand { display: flex; align-items: center; gap: var(--ui-space-3); justify-content: center; font-weight: var(--ui-weight-semibold); font-size: var(--ui-text-lg); }
.ui-auth .ui-card { padding: var(--ui-space-8) var(--ui-space-6); display: flex; flex-direction: column; gap: var(--ui-space-4); box-shadow: var(--ui-shadow-md); }
.ui-auth h1 { font-size: var(--ui-text-2xl); letter-spacing: -0.02em; }
.ui-auth-sub { color: var(--ui-text-muted); font-size: var(--ui-text-md); margin-top: calc(var(--ui-space-2) * -1); }
.ui-auth-foot { text-align: center; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }

/* ------------------------------------------------------------- app shell */
.ui-shell { display: grid; grid-template-columns: var(--ui-sidebar-width) minmax(0, 1fr); height: 100vh; height: 100dvh; overflow: hidden; background: var(--ui-bg); }
.ui-sidebar { --ui-presence-ring: var(--ui-nav-bg); display: flex; flex-direction: column; min-height: 0; background: var(--ui-nav-bg); color: var(--ui-nav-text); border-right: 1px solid var(--ui-border); font-size: var(--ui-text-md); }
.ui-sidebar-head { display: flex; align-items: center; gap: var(--ui-space-2); height: var(--ui-topbar-height); padding: 0 var(--ui-space-3) 0 var(--ui-space-4); flex: none; }
.ui-sidebar-title { font-weight: var(--ui-weight-semibold); font-size: var(--ui-text-base); color: var(--ui-nav-text-strong); }
.ui-sidebar-scroll { flex: 1; min-height: 0; overflow-y: auto; padding: var(--ui-space-1) var(--ui-space-2) var(--ui-space-4); }
.ui-sidebar-foot { flex: none; display: flex; align-items: center; gap: var(--ui-space-2); padding: var(--ui-space-2) var(--ui-space-3); border-top: 1px solid var(--ui-border); min-height: 56px; }
.ui-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1px; }
.ui-nav-section { margin-top: var(--ui-space-4); }
.ui-nav-heading { display: flex; align-items: center; justify-content: space-between; padding: 0 var(--ui-space-2) var(--ui-space-1); font-size: var(--ui-text-xs); font-weight: var(--ui-weight-semibold); color: var(--ui-text-muted); letter-spacing: .02em; }
.ui-nav-item { position: relative; display: flex; align-items: center; }
.ui-nav-link {
  display: flex; align-items: center; gap: var(--ui-space-2); flex: 1; min-width: 0; height: 32px; padding: 0 var(--ui-space-2);
  border-radius: var(--ui-radius-sm); color: var(--ui-nav-text); font-weight: var(--ui-weight-medium); cursor: pointer;
  background: none; border: 0; text-align: left; font-size: inherit;
  transition: background var(--ui-duration-fast) var(--ui-ease), color var(--ui-duration-fast) var(--ui-ease);
}
.ui-nav-link:hover { background: var(--ui-nav-hover); color: var(--ui-nav-text-strong); text-decoration: none; }
.ui-nav-link .ui-icon { color: var(--ui-text-muted); width: 18px; height: 18px; }
.ui-nav-link[aria-current="page"], .ui-nav-item.is-active > .ui-nav-link { background: var(--ui-nav-active); color: var(--ui-nav-active-text); }
.ui-nav-link[aria-current="page"] .ui-icon, .ui-nav-item.is-active > .ui-nav-link .ui-icon { color: var(--ui-nav-active-text); }
/* While a sidebar navigation is pending only its destination looks selected; aria-current stays on the old item until the page settles. */
.ui-sidebar:has(.ui-nav-link[data-nav-pending]) .ui-nav-link:is([aria-current="page"], .ui-nav-item.is-active > .ui-nav-link):not([data-nav-pending]) { background: none; color: var(--ui-nav-text); }
.ui-sidebar:has(.ui-nav-link[data-nav-pending]) .ui-nav-link:is([aria-current="page"], .ui-nav-item.is-active > .ui-nav-link):not([data-nav-pending]) .ui-icon { color: var(--ui-text-muted); }
.ui-nav-link[data-nav-pending] { background: var(--ui-nav-active); color: var(--ui-nav-active-text); }
.ui-nav-link[data-nav-pending] .ui-icon { color: var(--ui-nav-active-text); }
.ui-nav-item.is-unread > .ui-nav-link { color: var(--ui-nav-text-strong); font-weight: var(--ui-weight-bold); }
.ui-nav-trailing { margin-left: auto; display: inline-flex; align-items: center; gap: var(--ui-space-1); }
.ui-main { display: flex; flex-direction: column; min-width: 0; min-height: 0; height: 100vh; height: 100dvh; overflow: hidden; }
.ui-topbar {
  display: flex; align-items: center; gap: var(--ui-space-3); flex: none; height: var(--ui-topbar-height); padding: 0 var(--ui-space-5);
  border-bottom: 1px solid var(--ui-border); background: var(--ui-bg); position: relative; z-index: var(--ui-z-sticky);
}
.ui-topbar h1 { font-size: var(--ui-text-lg); font-weight: var(--ui-heading-weight); display: flex; align-items: center; gap: var(--ui-space-1); min-width: 0; }
.ui-page { flex: 1; min-height: 0; overflow-y: auto; }
.ui-page-inner { max-width: 760px; margin: 0 auto; padding: var(--ui-space-8) var(--ui-space-6) var(--ui-space-16); display: flex; flex-direction: column; gap: var(--ui-space-5); }
.ui-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--ui-space-4); flex-wrap: wrap; }
.ui-page-head p { color: var(--ui-text-muted); margin-top: var(--ui-space-1); font-size: var(--ui-text-md); }
.ui-nav-toggle { display: none; }
.ui-nav-scrim { display: none; }
/* kit_ui::shell: the brand link in the sidebar head, the drawer's close button, top bar actions, skip link */
.ui-sidebar-brand { display: flex; align-items: center; gap: var(--ui-space-2); flex: 1; min-width: 0; color: var(--ui-nav-text-strong); text-decoration: none; }
.ui-sidebar-brand:hover { text-decoration: none; }
.ui-nav-close { display: none; }
.ui-topbar-title { font-size: var(--ui-text-lg); font-weight: var(--ui-heading-weight); min-width: 0; }
.ui-topbar-actions { margin-left: auto; display: flex; align-items: center; gap: var(--ui-space-2); flex: none; }
.ui-skip { position: absolute; left: var(--ui-space-3); top: var(--ui-space-3); z-index: calc(var(--ui-z-drawer) + 1); transform: translateY(-200%); background: var(--ui-surface); color: var(--ui-text); padding: var(--ui-space-2) var(--ui-space-3); border-radius: var(--ui-radius-sm); box-shadow: var(--ui-shadow-md); }
.ui-skip:focus { transform: none; }

/* phones and small tablets: the sidebar becomes a drawer */
@media (max-width: 860px) {
  .ui-shell { grid-template-columns: minmax(0, 1fr); }
  .ui-sidebar {
    position: fixed; inset: 0 auto 0 0; width: min(304px, 86vw); z-index: var(--ui-z-drawer);
    transform: translateX(-100%); transition: transform var(--ui-duration) var(--ui-ease), visibility var(--ui-duration);
    visibility: hidden; box-shadow: var(--ui-shadow-lg);
  }
  .ui-shell.is-nav-open .ui-sidebar { transform: none; visibility: visible; }
  .ui-shell.is-nav-open .ui-nav-scrim { display: block; position: fixed; inset: 0; z-index: calc(var(--ui-z-drawer) - 1); background: var(--ui-scrim); animation: ui-fade-in var(--ui-duration) var(--ui-ease); }
  .ui-nav-toggle { display: inline-flex; margin-left: calc(var(--ui-space-2) * -1); }
  .ui-nav-close { display: inline-flex; }
  .ui-topbar { padding: 0 var(--ui-space-3); }
  .ui-nav-link { height: 40px; }
  .ui-page-inner { padding: var(--ui-space-5) var(--ui-space-4) var(--ui-space-12); }
  .ui-btn { min-height: 40px; }
  .ui-btn--sm, .ui-loading-stall .ui-btn, .ui-moment .ui-btn, .ui-boot-stall .ui-btn, .ui-empty-actions .ui-btn { min-height: 40px; }
}

/* ------------------------------------------------------- suite switcher */
/* <suite-switcher> (style/switcher.js): one button, a popover of every app. */
suite-switcher { display: inline-flex; flex: none; }
suite-switcher[hidden] { display: none; }
.suite-switcher-menu { position: fixed; width: min(312px, calc(100vw - 16px)); padding: var(--ui-space-2); display: flex; flex-direction: column; gap: var(--ui-space-1); }
.suite-switcher-install { display: flex; align-items: center; gap: var(--ui-space-2); padding: var(--ui-space-1) var(--ui-space-2) var(--ui-space-2); margin-bottom: var(--ui-space-1); border-bottom: 1px solid var(--ui-border); font-weight: var(--ui-weight-semibold); color: var(--ui-text); }
.suite-switcher-install-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.suite-switcher-head { padding: var(--ui-space-1) var(--ui-space-2) 0; font-size: var(--ui-text-xs); font-weight: var(--ui-weight-semibold); color: var(--ui-text-muted); text-transform: uppercase; letter-spacing: .04em; }
.suite-switcher-apps { display: flex; flex-direction: column; gap: var(--ui-space-2); max-height: min(68vh, 560px); overflow-y: auto; overscroll-behavior: contain; margin-inline: calc(-1 * var(--ui-space-1)); padding-inline: var(--ui-space-1); }
.suite-switcher-pack { display: grid; gap: var(--ui-space-1); }
.suite-switcher-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ui-space-1); }
.suite-app { position: relative; display: flex; flex-direction: column; align-items: center; gap: var(--ui-space-2); min-height: 88px; padding: var(--ui-space-3) var(--ui-space-1) var(--ui-space-2); border-radius: var(--ui-radius-md); color: var(--ui-text); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-medium); text-align: center; text-decoration: none; transition: background var(--ui-duration-fast) var(--ui-ease); }
.suite-app:hover { background: var(--ui-hover); text-decoration: none; }
.suite-app.is-current { background: var(--ui-accent-soft); color: var(--ui-accent-soft-text); }
.suite-app.is-off { opacity: .55; cursor: not-allowed; }
.suite-app-mark { --ui-avatar-size: 40px; font-size: var(--ui-text-lg); border-radius: var(--ui-radius-lg); }
.suite-app-name { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.suite-app-here { position: absolute; top: var(--ui-space-1); right: var(--ui-space-1); display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--ui-accent); color: var(--ui-accent-text); }
.suite-app-here .ui-icon { width: 12px; height: 12px; }
.suite-switcher-spaces { display: flex; flex-direction: column; gap: 2px; margin-bottom: var(--ui-space-1); }
.suite-space { position: relative; display: flex; align-items: center; gap: var(--ui-space-2); padding: var(--ui-space-1) var(--ui-space-2); border-radius: var(--ui-radius-md); color: var(--ui-text); font-size: var(--ui-text-sm); text-decoration: none; }
.suite-space:hover { background: var(--ui-hover); text-decoration: none; }
.suite-space.is-current { background: var(--ui-accent-soft); color: var(--ui-accent-soft-text); }
.suite-space-mark { --ui-avatar-size: 24px; font-size: var(--ui-text-xs); border-radius: var(--ui-radius-sm); }
.suite-space-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--ui-weight-medium); }
.suite-space-kind { flex: none; font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.suite-space-here { display: grid; place-items: center; flex: none; width: 16px; height: 16px; border-radius: 50%; background: var(--ui-accent); color: var(--ui-accent-text); }
.suite-space-here .ui-icon { width: 11px; height: 11px; }
.suite-space-manage { color: var(--ui-text-muted); }
.suite-switcher-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-2); margin-top: var(--ui-space-1); padding: var(--ui-space-2) var(--ui-space-1) 0 var(--ui-space-2); border-top: 1px solid var(--ui-border); font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.suite-switcher-who { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.suite-switcher-foot form { margin: 0; flex: none; }
@media (max-width: 860px) { .suite-app { min-height: 96px; } }

/* The suite search (Cmd or Ctrl + J, style/switcher.js): jump to anything in any app. */
.suite-search-scrim { padding-top: min(12vh, 120px); z-index: calc(var(--ui-z-modal) + 1); }
.suite-search { width: min(640px, 100%); max-height: min(560px, 76vh); display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.suite-search-bar { display: flex; align-items: center; gap: var(--ui-space-3); padding: 0 var(--ui-space-4); min-height: 56px; border-bottom: 1px solid var(--ui-border); flex: none; }
.suite-search-glass { width: 20px; height: 20px; color: var(--ui-text-muted); flex: none; }
.suite-search .suite-search-input { flex: 1; min-width: 0; height: 54px; margin: 0; padding: 0; border: 0; border-radius: 0; outline: 0; box-shadow: none; background: none; color: var(--ui-text); font: inherit; font-size: var(--ui-text-lg); }
.suite-search-input::placeholder { color: var(--ui-text-subtle); }
.suite-search-busy { display: inline-flex; }
.suite-search-busy[hidden] { display: none; }
.suite-search-busy .ui-spinner { width: 16px; height: 16px; }
.suite-search-list { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: var(--ui-space-2); scroll-padding: var(--ui-space-8) 0 var(--ui-space-2); }
.suite-search-group + .suite-search-group { margin-top: var(--ui-space-2); }
.suite-search-head { position: sticky; top: calc(-1 * var(--ui-space-2)); z-index: 1; padding: var(--ui-space-2) var(--ui-space-3) var(--ui-space-1); background: var(--ui-surface-raised); font-size: var(--ui-text-xs); font-weight: var(--ui-weight-semibold); color: var(--ui-text-muted); letter-spacing: .02em; }
.suite-search-item { display: flex; align-items: center; gap: var(--ui-space-3); min-height: 44px; padding: var(--ui-space-1) var(--ui-space-3); border-radius: var(--ui-radius-md); color: var(--ui-text); cursor: pointer; user-select: none; }
.suite-search-item[aria-selected="true"] { background: var(--ui-accent-soft); color: var(--ui-accent-soft-text); }
.suite-search-item[aria-selected="true"] .suite-search-sub, .suite-search-item[aria-selected="true"] .suite-search-hint, .suite-search-item[aria-selected="true"] .suite-search-icon { color: inherit; }
.suite-search-icon { display: grid; place-items: center; width: 28px; height: 28px; flex: none; border-radius: var(--ui-radius-sm); background: var(--ui-sunken); color: var(--ui-text-muted); }
.suite-search-icon .ui-icon { width: 16px; height: 16px; }
.suite-search-item[aria-selected="true"] .suite-search-icon { background: var(--ui-surface-raised); }
.suite-search-mark { --ui-avatar-size: 28px; flex: none; font-size: var(--ui-text-sm); border-radius: var(--ui-radius-sm); }
.suite-search-text { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: var(--ui-leading-tight); }
.suite-search-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--ui-weight-medium); }
.suite-search-title mark { background: none; color: inherit; text-decoration: underline; text-decoration-color: var(--ui-accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.suite-search-sub { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.suite-search-hint { flex: none; max-width: 30%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.suite-search-note { display: flex; align-items: center; gap: var(--ui-space-2); padding: var(--ui-space-2) var(--ui-space-3); font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.suite-search-empty { padding: var(--ui-space-8) var(--ui-space-4); }
.suite-search-empty p { margin: 0; }
.suite-search-empty > .ui-icon { width: 22px; height: 22px; color: var(--ui-text-muted); }
.suite-search-foot { display: flex; align-items: center; gap: var(--ui-space-4); flex: none; padding: var(--ui-space-2) var(--ui-space-4); border-top: 1px solid var(--ui-border); background: var(--ui-sunken); font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.suite-search-foot > span { display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; }
.suite-search-foot-who { margin-left: auto; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 640px) {
  .suite-search-scrim { padding: var(--ui-space-2); }
  .suite-search { max-height: calc(100dvh - 2 * var(--ui-space-2)); }
  .suite-search-esc, .suite-search-foot-tab { display: none; }
  .suite-search-item { min-height: 48px; }
}

/* <suite-object> (style/objects.js) draws itself in a shadow root; this is
   the page around a live embed (kit-suite's /_suite/embed). */
suite-object { max-width: 100%; }
.suite-embed-page { margin: 0; background: var(--ui-surface); color: var(--ui-text); font-family: var(--ui-font-sans); }
.suite-embed-note { padding: var(--ui-space-4); color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.suite-toasts .ui-toast.is-error { background: var(--ui-danger); color: var(--ui-on-color); }

/* Markdown output from kit_ui::markdown: prose, code blocks, tables and the
   code highlighter. Wrap rendered HTML in an element with class "md". */
.md { font-size: var(--ui-text-base); line-height: 1.65; overflow-wrap: anywhere; }
.md:empty { display: none; }
.md > :first-child { margin-top: 0; }
.md > :last-child { margin-bottom: 0; }
.md p, .md ul, .md ol, .md blockquote, .md .md-code, .md .md-table { margin: 0 0 var(--ui-space-3); }
.md h3, .md h4, .md h5, .md h6 { margin: var(--ui-space-5) 0 var(--ui-space-2); }
.md h3 { font-size: var(--ui-text-lg); }
.md h4, .md h5, .md h6 { font-size: var(--ui-text-base); }
.md ul, .md ol { padding-left: 1.5em; }
.md li + li { margin-top: var(--ui-space-1); }
.md li > ul, .md li > ol { margin: var(--ui-space-1) 0 0; }
.md li input[type="checkbox"] { margin: 0 var(--ui-space-1) 0 0; vertical-align: -2px; accent-color: var(--ui-accent); }
.md blockquote { padding-left: var(--ui-space-4); border-left: 3px solid var(--ui-border-strong); color: var(--ui-text-muted); }
.md hr { border: 0; border-top: 1px solid var(--ui-border); margin: var(--ui-space-5) 0; }
.md a { text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--ui-accent) 40%, transparent); }
.md code { font-size: .88em; padding: 1px 5px; border-radius: var(--ui-radius-xs); background: var(--ui-sunken); border: 1px solid var(--ui-border); }
.md-code { border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); background: var(--ui-sunken); overflow: hidden; }
.md-code-head { display: flex; align-items: center; justify-content: space-between; padding: 4px 6px 4px var(--ui-space-3); font-size: var(--ui-text-xs); color: var(--ui-text-muted); border-bottom: 1px solid var(--ui-border); }
.md-copy { min-height: 26px; padding: 0 var(--ui-space-2); border: 0; border-radius: var(--ui-radius-sm); background: transparent; color: var(--ui-text-muted); font-size: var(--ui-text-xs); font-weight: var(--ui-weight-medium); cursor: pointer; }
.md-copy:hover { background: var(--ui-hover); color: var(--ui-text); }
.md-code pre { margin: 0; padding: var(--ui-space-3) var(--ui-space-4); overflow-x: auto; font-size: var(--ui-text-sm); line-height: 1.55; }
.md-code code { padding: 0; border: 0; background: none; font-size: inherit; }
.md-table { overflow-x: auto; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); }
.md table { border-collapse: collapse; width: 100%; font-size: var(--ui-text-md); }
.md th, .md td { padding: var(--ui-space-2) var(--ui-space-3); border-bottom: 1px solid var(--ui-border); text-align: left; }
.md th { font-weight: var(--ui-weight-semibold); background: var(--ui-sunken); }
.md tr:last-child td { border-bottom: 0; }
.tok-k { color: var(--ui-ai); }
.tok-s { color: var(--ui-success); }
.tok-c { color: var(--ui-text-muted); font-style: italic; }
.tok-n { color: var(--ui-warning); }
.tok-f { color: var(--ui-accent); }

/* Shared app content; shell and ui-* primitives retain their own styles. */
.core-view { min-width: 0; }
.core-view [hidden], .core-dialog [hidden] { display: none !important; }
.core-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); background: var(--ui-surface); }
.core-sort { appearance: none; border: 0; background: transparent; color: inherit; font: inherit; padding: var(--ui-space-1) 0; display: inline-flex; gap: var(--ui-space-2); align-items: center; cursor: pointer; }
.core-sort:hover { color: var(--ui-text); }
.core-totals { justify-content: flex-end; flex-wrap: wrap; padding: var(--ui-space-3); border-top: 1px solid var(--ui-border); }
.core-list-fields { flex-wrap: wrap; }
.core-board { display: grid; grid-auto-columns: minmax(260px, 1fr); grid-auto-flow: column; gap: var(--ui-space-4); overflow-x: auto; padding-bottom: var(--ui-space-3); align-items: start; }
.core-board-column { min-height: 160px; padding: var(--ui-space-3); border-radius: var(--ui-radius-lg); background: var(--ui-sunken); border: 1px solid transparent; }
.core-board-column > header { flex-wrap: wrap; margin-bottom: var(--ui-space-3); }
.core-board-column h2 { margin: 0; font-size: var(--ui-text-md); font-weight: var(--ui-weight-semibold); }
.core-board-cards { display: grid; gap: var(--ui-space-3); min-height: 64px; }
.core-board-card { position: relative; display: grid; gap: var(--ui-space-3); padding: var(--ui-space-3); }
.core-board-card[draggable=true] { cursor: grab; }
.core-board-card:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 3px; }
.core-board-card > a { padding-right: var(--ui-space-4); }
.core-board-card > .core-selection { position: absolute; right: var(--ui-space-2); top: var(--ui-space-3); }
.core-board-card dl { margin: 0; display: grid; gap: var(--ui-space-2); }
.core-board-card dl > div { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); justify-content: space-between; align-items: baseline; }
.core-board-card dt { color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.core-board-card dd { margin: 0; max-width: 100%; overflow-wrap: anywhere; }
.core-dragging { opacity: .5; }
.core-drop-target { border-color: var(--ui-accent); }
.core-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); gap: var(--ui-space-6); align-items: start; }
.core-detail-main, .core-detail-side { min-width: 0; }
.core-detail-main h2 { font-size: var(--ui-text-lg); margin: 0; }
.core-value { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; }
.core-form-card { width: min(100%, 720px); }
.core-form { min-width: 0; }
.core-field-error { display: block; color: var(--ui-danger); font-size: var(--ui-text-sm); margin-top: var(--ui-space-1); }
.core-fields { margin: 0; display: grid; gap: var(--ui-space-4); }
.core-fields dt { color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.core-fields dd { margin: var(--ui-space-1) 0 0; overflow-wrap: anywhere; }
.core-settings-section { border: 0; margin: 0; padding: 0 0 var(--ui-space-5); min-width: 0; }
.core-settings-section + .core-settings-section { border-top: 1px solid var(--ui-border); padding-top: var(--ui-space-5); }
.core-settings-section legend { font-size: var(--ui-text-lg); font-weight: var(--ui-weight-semibold); padding: 0 0 var(--ui-space-3); }
.core-dialog { color: var(--ui-text); background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); width: min(520px, calc(100vw - 32px)); padding: var(--ui-space-6); max-height: calc(100dvh - 48px); overflow-y: auto; box-shadow: var(--ui-shadow-lg); }
.core-dialog::backdrop { background: var(--ui-scrim); }
.core-dialog h2 { margin: 0; }
.core-comment { align-items: start; }
.core-action { display: inline-flex; }
@media (max-width: 760px) {
  .core-detail { grid-template-columns: minmax(0, 1fr); gap: var(--ui-space-4); }
  .core-detail-side { grid-row: 1; }
  .core-board { grid-auto-columns: minmax(260px, 85vw); }
  .core-totals { justify-content: flex-start; }
}

.core-check { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; cursor: pointer; }
.core-table-wrap a, .core-view .ui-list a, .core-board-card a { display: inline-flex; align-items: center; min-height: 32px; }
.core-board-card > a { padding-right: 44px; }

.core-detail--single { grid-template-columns: minmax(0, 1fr); }

.core-view-wide { padding: var(--ui-space-8) var(--ui-space-6) var(--ui-space-16); }
@media (max-width: 760px) { .core-view-wide { padding: var(--ui-space-5) var(--ui-space-4) var(--ui-space-12); } }
/* Loading shapes (CoreSkeleton in frontend/src/views.tsx). Real chrome stays real; only the content is skeleton. */
.core-skel-cell { display: flex; align-items: center; gap: var(--ui-space-2); min-height: 32px; }
.core-view a[data-nav-pending] { opacity: .62; cursor: progress; }
.core-table tbody tr:has(a[data-nav-pending]), .core-board-card:has(a[data-nav-pending]), .core-view .ui-list-item:has(a[data-nav-pending]) { background: var(--ui-hover-overlay); }
.core-table { table-layout: fixed; }
.core-table td { overflow-wrap: anywhere; }
/* Inline controls have one width, so a skeleton box and the loaded control cannot disagree (CoreSkeleton in frontend/src/views.tsx mirrors 128/184/24). */
[data-core-inline] .ui-select { width: 128px; max-width: 100%; height: var(--ui-control-height); }
[data-core-inline] .ui-input { width: 184px; max-width: 100%; height: var(--ui-control-height); }
.core-skel-dt { min-height: 18px; }
.core-skel-title { min-height: 32px; }
.core-skel-dd { min-height: 20px; }
.core-skel-dd--link { min-height: 32px; }
.ui-skel.core-skel-control { color: transparent; -webkit-text-fill-color: transparent; border-color: transparent; box-shadow: none; pointer-events: none; resize: none; opacity: 1; }
.core-skel-label { display: flex; align-items: center; min-height: calc(var(--ui-text-sm) * var(--ui-leading)); }
.core-table-wrap .core-sort { cursor: default; }
[aria-busy="true"].core-board-card { opacity: .62; }
.core-skel-cell--check { min-width: 44px; min-height: 44px; justify-content: center; }
/* LoadingState pads its content; the destination skeleton must sit exactly where the loaded page does. */
.core-loading { margin: calc(var(--ui-space-5) * -1); }
/* The move status never grows the card it describes. */
.core-board-card > [data-core-move-pending] { position: absolute; right: var(--ui-space-3); bottom: var(--ui-space-2); margin: 0; }

/* Agents' faces (kit_ui::faces): small vector characters made of named
   parts. They breathe, blink, show a mood and move their mouth while they
   talk; every animation is a transform or an opacity, and reduced motion
   stills them. */
.cmp { display: block; flex: none; overflow: visible; --cmp: var(--ui-ai); }
.cmp--xs { width: 20px; height: 20px; }
.cmp--sm { width: 28px; height: 28px; }
.cmp--md { width: 56px; height: 56px; }
.cmp--lg { width: 96px; height: 96px; }
.cmp--xl { width: min(220px, 46vw); height: min(220px, 46vw); }
.cmp--ai { --cmp: var(--ui-ai); }
.cmp--accent { --cmp: var(--ui-accent); }
.cmp--warning { --cmp: var(--ui-warning); }
.cmp--success { --cmp: var(--ui-success); }
.cmp--danger { --cmp: var(--ui-danger); }
.cmp--brand { --cmp: var(--ui-brand-2); }
.cmp-body { fill: color-mix(in srgb, var(--cmp) 26%, var(--ui-surface)); stroke: var(--cmp); stroke-width: 3; }
.cmp-ears { fill: color-mix(in srgb, var(--cmp) 42%, var(--ui-surface)); stroke: var(--cmp); stroke-width: 3; stroke-linejoin: round; }
.cmp-antenna line { stroke: var(--cmp); stroke-width: 3; stroke-linecap: round; }
.cmp-antenna circle { fill: var(--cmp); }
.cmp-ink { fill: var(--ui-text); }
.cmp-shine { fill: var(--ui-surface); }
.cmp-eyes--line path, .cmp-eyes-happy path, .cmp-mouth { fill: none; stroke: var(--ui-text); stroke-width: 3.2; stroke-linecap: round; }
.cmp-cheeks { fill: var(--cmp); opacity: 0; }
.cmp-eyes-happy, .cmp-mouth-sad, .cmp-mouth-o, .cmp-mouth-open { opacity: 0; }
.cmp-mouth-o, .cmp-mouth-open { fill: var(--ui-text); }
.cmp-eyes, .cmp-eyes-happy, .cmp-face, .cmp-mouth-open, .cmp-mouth-rest, .cmp-breathe { transform-box: fill-box; transform-origin: center; }
.cmp-breathe { transform-origin: 50% 100%; }
.cmp-eyes, .cmp-eyes-happy, .cmp-cheeks, .cmp-mouth, .cmp-mouth-o, .cmp-mouth-open, .cmp-face { transition: opacity 180ms var(--ui-ease), transform 220ms var(--ui-ease); }
/* Moods. */
.cmp[data-mood="happy"] .cmp-eyes { opacity: 0; }
.cmp[data-mood="happy"] .cmp-eyes-happy { opacity: 1; }
.cmp[data-mood="happy"] .cmp-cheeks { opacity: .45; }
.cmp[data-mood="sad"] .cmp-mouth-rest { opacity: 0; }
.cmp[data-mood="sad"] .cmp-mouth-sad { opacity: 1; }
.cmp[data-mood="surprised"] .cmp-mouth-rest { opacity: 0; }
.cmp[data-mood="surprised"] .cmp-mouth-o { opacity: 1; }
.cmp[data-mood="surprised"] .cmp-eyes { transform: scale(1.18); }
.cmp[data-mood="thinking"] .cmp-face { transform: translate(5%, -5%); }
/* Talking: from the speech itself (--mouth, set every frame) ... */
.cmp[data-speaking] .cmp-mouth-rest, .cmp[data-speaking] .cmp-mouth-sad, .cmp[data-speaking] .cmp-mouth-o { opacity: 0; }
.cmp[data-speaking] .cmp-mouth-open { opacity: 1; transform: scaleY(calc(.15 + var(--mouth, 0) * .85)); transition: none; }
/* ... or on its own while an answer streams in as text. */
.cmp--anim[data-talking] .cmp-mouth-rest { opacity: 0; }
.cmp--anim[data-talking] .cmp-mouth-open { opacity: 1; animation: cmp-chatter .32s ease-in-out infinite alternate; }
/* Idle life: breathing and blinking. */
.cmp--anim .cmp-breathe { animation: cmp-breathe 4.2s ease-in-out infinite; }
.cmp--anim .cmp-eyes { animation: cmp-blink 5.2s infinite; }
.cmp--anim[data-mood="surprised"] .cmp-eyes { animation: none; }
@keyframes cmp-breathe { 0%, 100% { transform: scale(1, 1); } 50% { transform: scale(1.025, .978); } }
@keyframes cmp-blink { 0%, 93%, 100% { transform: scaleY(1); } 95.5% { transform: scaleY(.08); } }
@keyframes cmp-chatter { from { transform: scaleY(.2); } to { transform: scaleY(.85); } }
@media (prefers-reduced-motion: reduce) {
  .cmp--anim .cmp-breathe, .cmp--anim .cmp-eyes, .cmp--anim[data-talking] .cmp-mouth-open { animation: none !important; }
  .cmp[data-speaking] .cmp-mouth-open { transform: scaleY(.5); }
}

/* Factory. Layout and the pieces kit-ui doesn't have (board, runs, checks,
   gates, diffs). Colors, type and spacing come only from kit-ui's --ui-* tokens. */

/* ------------------------------------------------------------ sidebar */
.side-search { margin-bottom: var(--ui-space-2); }
.side-add { width: 24px; height: 24px; }
.side-empty { padding: var(--ui-space-1) var(--ui-space-2); font-size: var(--ui-text-sm); color: var(--ui-text-muted); list-style: none; }
.side-error { padding: var(--ui-space-2); }
.side-me { display: flex; flex-direction: column; line-height: var(--ui-leading-tight); min-width: 0; }
.side-me strong { font-size: var(--ui-text-md); color: var(--ui-nav-text-strong); }
.side-working { width: 8px; height: 8px; border-radius: 50%; background: var(--ui-accent); animation: pulse 1.6s infinite var(--ui-ease); }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.ui-nav-heading .ui-truncate { min-width: 0; }

/* ------------------------------------------------------------- top bar */
.topbar-title { display: flex; align-items: center; gap: var(--ui-space-1); min-width: 0; }
.crumb { color: var(--ui-text-muted); font-weight: var(--ui-weight-medium); white-space: nowrap; display: inline-flex; align-items: center; min-height: 32px; }
.crumb:hover { color: var(--ui-text); text-decoration: none; }
.crumb-sep { color: var(--ui-text-subtle); flex: none; }

/* -------------------------------------------------------------- menus */
.menu { position: relative; display: inline-flex; }
.menu-trigger {
  display: inline-flex; align-items: center; gap: var(--ui-space-1); min-width: 28px; height: 28px; padding: 0 var(--ui-space-1);
  justify-content: center; border: 0; border-radius: var(--ui-radius-sm); background: transparent; color: var(--ui-text-muted); cursor: pointer;
}
.menu-trigger:hover, .menu-trigger[aria-expanded="true"] { background: var(--ui-hover); color: var(--ui-text); }
.menu-catch { position: fixed; inset: 0; z-index: calc(var(--ui-z-popover) - 1); }
.menu-pop { position: absolute; top: calc(100% + 4px); left: 0; min-width: 220px; max-width: min(340px, 92vw); max-height: min(70vh, 520px); overflow-y: auto; }
.menu-pop--right { left: auto; right: 0; }
.menu-pop--up { top: auto; bottom: calc(100% + 4px); }
.menu-label { display: block; padding: var(--ui-space-2) var(--ui-space-2) var(--ui-space-1); font-size: var(--ui-text-xs); font-weight: var(--ui-weight-semibold); color: var(--ui-text-muted); }
.menu-danger, .menu-danger .ui-icon { color: var(--ui-danger) !important; }
.flip { transform: scaleX(-1); }

/* --------------------------------------------------------------- common */
.ui-page-inner.wide { max-width: 1040px; }
.section-head { display: flex; align-items: center; gap: var(--ui-space-3); flex-wrap: wrap; }
.pad { padding: var(--ui-space-4) var(--ui-space-4) 0; }
h2.pad { padding-bottom: var(--ui-space-3); }
.narrow { max-width: 140px; }
.block { display: block; width: 100%; }
.num { text-align: right; font-variant-numeric: tabular-nums; }
.when { font-variant-numeric: tabular-nums; }
.table-wrap { overflow-x: auto; }
.kv { display: flex; align-items: center; gap: var(--ui-space-2); min-width: 0; }
.kv > .ui-label { flex: none; width: 64px; margin: 0; }
.kv > code { flex: 1; min-width: 0; padding: 6px var(--ui-space-2); background: var(--ui-sunken); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-sm); font-size: var(--ui-text-sm); }
.facts { display: flex; flex-wrap: wrap; gap: var(--ui-space-2) var(--ui-space-6); margin: 0; }
.facts > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.facts dt { font-size: var(--ui-text-xs); color: var(--ui-text-muted); font-weight: var(--ui-weight-medium); }
.facts dd { margin: 0; font-size: var(--ui-text-md); font-variant-numeric: tabular-nums; }
.prose { white-space: pre-wrap; overflow-wrap: anywhere; line-height: var(--ui-leading); margin: 0; }
.intro { color: var(--ui-text-muted); max-width: 620px; }
.form-card { display: flex; flex-direction: column; gap: var(--ui-space-4); }
.advanced summary { cursor: pointer; color: var(--ui-text-muted); font-size: var(--ui-text-md); font-weight: var(--ui-weight-medium); padding: var(--ui-space-1) 0; }
.advanced[open] summary { margin-bottom: var(--ui-space-3); }
details > summary { cursor: pointer; }
.commit { font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.branch { font-family: var(--ui-font-mono); font-size: var(--ui-text-sm); }
.confirm { width: min(420px, 100%); padding: var(--ui-space-6); display: flex; flex-direction: column; gap: var(--ui-space-3); }
.file-dialog, .cut-dialog { width: min(560px, 100%); padding: var(--ui-space-6); display: flex; flex-direction: column; gap: var(--ui-space-4); }
.cut-dialog ul { max-height: 50vh; overflow-y: auto; }

/* ---------------------------------------------------------------- board */
.runner-pill {
  display: inline-flex; align-items: center; gap: var(--ui-space-2); height: var(--ui-control-height-sm); padding: 0 var(--ui-space-3);
  border: 1px solid var(--ui-border); border-radius: var(--ui-radius-full); font-size: var(--ui-text-sm); color: var(--ui-text-muted); white-space: nowrap;
}
.runner-pill:hover { background: var(--ui-hover); color: var(--ui-text); text-decoration: none; }
.runner-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ui-text-subtle); }
.runner-pill[data-online="true"] .runner-dot, .runner-dot[data-online="true"] { background: var(--ui-success); box-shadow: 0 0 0 3px var(--ui-success-soft); }



/* ------------------------------------------------------------ work item */
.item-tags { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); align-items: center; }
.item-tabs { align-self: flex-start; }
.tab-count { min-width: 18px; padding: 0 5px; border-radius: var(--ui-radius-full); background: var(--ui-sunken); border: 1px solid var(--ui-border); font-size: var(--ui-text-2xs); color: var(--ui-text-muted); text-align: center; font-variant-numeric: tabular-nums; }
.live-banner, .attention { display: flex; align-items: center; gap: var(--ui-space-3); }
.attention.quiet { background: var(--ui-sunken); border-color: var(--ui-border); color: var(--ui-text); }
.overview { display: flex; flex-direction: column; gap: var(--ui-space-4); }
.triage-note { margin: 0; padding: var(--ui-space-3); background: var(--ui-ai-soft); border-radius: var(--ui-radius-md); }
.source-link { display: block; width: 100%; max-width: 640px; font-size: var(--ui-text-sm); }

.timeline { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }

.run-list .run-row { display: flex; align-items: center; gap: var(--ui-space-3); color: var(--ui-text); }
.run-list .run-row:hover { text-decoration: none; }
.run-kind { flex: none; width: 96px; font-size: var(--ui-text-sm); color: var(--ui-text-muted); font-weight: var(--ui-weight-medium); }
.run-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.run-on { font-size: var(--ui-text-sm); white-space: nowrap; }

/* ----------------------------------------------------------------- spec */
.fingerprint { font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.features, .criteria { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--ui-space-2); }
.criteria { gap: var(--ui-space-3); }
.feature-row { display: flex; align-items: center; gap: var(--ui-space-2); }
.feature-row .ui-input { flex: 1; }
.crit-id { font-family: var(--ui-font-mono); font-size: var(--ui-text-sm); color: var(--ui-accent-soft-text); background: var(--ui-accent-soft); padding: 1px 6px; border-radius: var(--ui-radius-xs); white-space: nowrap; }
.feature-row .crit-id { min-width: 38px; text-align: center; }
.crit-id-input { width: 220px; max-width: 100%; font-family: var(--ui-font-mono); font-size: var(--ui-text-sm); }
.crit-feature { width: auto; min-width: 120px; }

/* ----------------------------------------------------- checks and gates */
.checks, .gates { list-style: none; margin: 0; padding: 0; }
.checks-card { padding: 0; overflow: hidden; }
.check { border-top: 1px solid var(--ui-border); padding: var(--ui-space-3) var(--ui-space-4); display: flex; flex-direction: column; gap: var(--ui-space-2); }
.check-row { display: flex; align-items: center; gap: var(--ui-space-3); flex-wrap: wrap; }
.check-row .ui-grow { min-width: 200px; }
.check-icon { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; }
.check-icon.ok { background: var(--ui-success-soft); color: var(--ui-success); }
.check-icon.bad { background: var(--ui-danger-soft); color: var(--ui-danger); }
.check[data-status="missing"] .check-icon.bad { background: var(--ui-sunken); color: var(--ui-text-muted); }
.check-detail { max-height: 260px; overflow: auto; white-space: pre-wrap; font-size: var(--ui-text-xs); }
.proof { margin: 0; display: flex; flex-direction: column; gap: var(--ui-space-1); }
.proof video { width: 100%; max-height: 480px; border-radius: var(--ui-radius-md); background: var(--ui-sunken); border: 1px solid var(--ui-border); }
.proof figcaption { display: inline-flex; align-items: center; gap: var(--ui-space-1); font-size: var(--ui-text-xs); color: var(--ui-text-muted); font-family: var(--ui-font-mono); }
.output summary { padding: var(--ui-space-3) var(--ui-space-4); font-size: var(--ui-text-md); font-weight: var(--ui-weight-medium); }
.output pre { margin: 0 var(--ui-space-4) var(--ui-space-4); max-height: 360px; }

.gates { display: flex; flex-direction: column; gap: var(--ui-space-1); }
.gate { display: flex; align-items: center; gap: var(--ui-space-3); padding: var(--ui-space-2) 0; font-size: var(--ui-text-md); flex-wrap: wrap; }
.gate + .gate { border-top: 1px solid var(--ui-border); }
.gate-detail { font-size: var(--ui-text-sm); }
.repo-gates summary { font-size: var(--ui-text-sm); color: var(--ui-text-muted); padding-top: var(--ui-space-2); }

.ship-card { display: flex; flex-direction: column; gap: var(--ui-space-4); }
.verdict { display: flex; align-items: center; gap: var(--ui-space-4); flex-wrap: wrap; }
.verdict > .ui-icon { flex: none; width: 44px; height: 44px; padding: 10px; border-radius: var(--ui-radius-lg); }
.verdict.ok > .ui-icon { background: var(--ui-success-soft); color: var(--ui-success); }
.verdict.bad > .ui-icon { background: var(--ui-sunken); color: var(--ui-text-muted); border: 1px solid var(--ui-border); }
.verdict h2 { font-size: var(--ui-text-xl); letter-spacing: -0.01em; }
.verdict p { margin: 2px 0 0; }
.ship-action { display: flex; flex-direction: column; align-items: flex-end; gap: var(--ui-space-1); }
.ship-why { max-width: 260px; text-align: right; }
.review-comments { margin: 0; padding-left: 1.2em; display: flex; flex-direction: column; gap: var(--ui-space-1); font-size: var(--ui-text-md); }

/* ----------------------------------------------------------------- diff */
.diff {
  margin: 0; padding: var(--ui-space-2) 0; font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); line-height: 1.55; overflow: auto; max-height: 560px;
  background: var(--ui-sunken); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md);
}
.diff > span { display: block; padding: 0 var(--ui-space-3); white-space: pre; min-width: max-content; }
.d-add { background: var(--ui-success-soft); }
.d-del { background: var(--ui-danger-soft); }
.d-hunk { color: var(--ui-accent-soft-text); background: var(--ui-accent-soft); }
.d-file { color: var(--ui-text); font-weight: var(--ui-weight-semibold); }
.diff-stat { font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); color: var(--ui-text-muted); }

/* ------------------------------------------------------------------ run */
.run-head { display: flex; flex-direction: column; gap: var(--ui-space-3); }
.run-head-top { display: flex; align-items: center; gap: var(--ui-space-3); flex-wrap: wrap; }
.run-head-top .ui-tag .ui-spinner { width: 10px; height: 10px; }
.run-title { font-size: var(--ui-text-lg); }
.run-summary { margin: 0; }
.transcript { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--ui-space-3); }
.step { min-width: 0; }
.step-text { display: block; }
.step-mark { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--ui-ai-soft); color: var(--ui-ai); }
.step-text .prose { padding-top: 2px; }
.step-text.is-streaming .prose::after { content: "▍"; color: var(--ui-text-subtle); animation: pulse 1s infinite; }
.step[data-kind="thinking"] .prose { color: var(--ui-text-muted); font-style: italic; }
.step-steer { display: flex; flex-direction: column; align-items: flex-end; gap: var(--ui-space-1); }
.step-who { display: inline-flex; align-items: center; gap: var(--ui-space-1); font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.bubble { margin: 0; max-width: min(80%, 560px); padding: 8px var(--ui-space-4); border-radius: var(--ui-radius-xl); background: var(--ui-accent-soft); color: var(--ui-accent-soft-text); white-space: pre-wrap; overflow-wrap: anywhere; }
.step-status { display: flex; align-items: center; gap: var(--ui-space-2); font-size: var(--ui-text-sm); color: var(--ui-text-muted); flex-wrap: wrap; }
.step-status.is-bad { color: var(--ui-danger); }
.step-tool { border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-surface); overflow: hidden; }
.step-tool.is-bad { border-color: var(--ui-danger); }
.step-tool > details > summary { display: flex; align-items: center; gap: var(--ui-space-2); padding: var(--ui-space-2) var(--ui-space-3); list-style: none; font-size: var(--ui-text-sm); }
.step-tool > details > summary::-webkit-details-marker { display: none; }
.step-tool > details > summary:hover { background: var(--ui-hover); }
.step-tool .ui-spinner { width: 12px; height: 12px; }
.step-title { min-width: 0; flex: 1; font-size: var(--ui-text-xs); }
.step-status-text { font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.step-body { margin: 0; border: 0; border-top: 1px solid var(--ui-border); border-radius: 0; max-height: 320px; overflow: auto; font-size: var(--ui-text-xs); white-space: pre-wrap; }
.step-diff summary { display: flex; align-items: center; gap: var(--ui-space-2); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-medium); padding: var(--ui-space-1) 0 var(--ui-space-2); }
.steer { position: sticky; bottom: var(--ui-space-3); z-index: var(--ui-z-sticky); padding: var(--ui-space-2); display: flex; flex-direction: column; gap: var(--ui-space-1); box-shadow: var(--ui-shadow-lg); }
.steer-input { border: 0; min-height: 44px; resize: none; box-shadow: none; }
.steer-input:focus { box-shadow: none; }
.steer-foot { display: flex; align-items: center; gap: var(--ui-space-2); padding: 0 var(--ui-space-1); }

/* --------------------------------------------------------------- agents */
.agents { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--ui-space-3); }
.agent { display: flex; flex-direction: column; gap: var(--ui-space-3); }
.agent-head { display: flex; align-items: center; gap: var(--ui-space-2); flex-wrap: wrap; }
.agent-name { font-size: var(--ui-text-lg); }
.agent-stats { margin: 0; font-size: var(--ui-text-sm); }
.agent-details summary { font-size: var(--ui-text-sm); color: var(--ui-text-muted); font-weight: var(--ui-weight-medium); }
.agent-details[open] summary { margin-bottom: var(--ui-space-3); }
.agent-on { gap: var(--ui-space-2); font-size: var(--ui-text-sm); }
.harness-pick > button[aria-checked="true"] .ui-icon { color: var(--ui-accent); }

/* ---------------------------------------------------------- runners, intake */
.runners, .triggers { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--ui-space-3); }
.runner { display: flex; align-items: center; gap: var(--ui-space-3); flex-wrap: wrap; padding: var(--ui-space-3) 0; }
.runner + .runner { border-top: 1px solid var(--ui-border); }
.trigger { display: flex; flex-direction: column; gap: var(--ui-space-2); padding: var(--ui-space-3); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); }
.trigger-head { display: flex; align-items: center; gap: var(--ui-space-2); flex-wrap: wrap; }
.trigger-head > .ui-icon { color: var(--ui-text-muted); }
.trigger .ui-code { white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--ui-text-xs); margin-top: var(--ui-space-2); }
.new-trigger { display: flex; align-items: flex-end; gap: var(--ui-space-3); flex-wrap: wrap; padding-top: var(--ui-space-3); border-top: 1px solid var(--ui-border); }
.toml { max-height: 420px; overflow: auto; }
.code-input { font-family: var(--ui-font-mono); font-size: var(--ui-text-sm); }
.codes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ui-space-2); }
.codes code { display: block; padding: var(--ui-space-2); text-align: center; background: var(--ui-sunken); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-sm); font-size: var(--ui-text-md); }

/* -------------------------------------------------------------- metrics */
.stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ui-space-3); }
.stat { padding: var(--ui-space-4); display: flex; flex-direction: column; gap: var(--ui-space-1); min-width: 0; }
.stat-label { font-size: var(--ui-text-sm); color: var(--ui-text-muted); font-weight: var(--ui-weight-medium); }
.stat-value { font-size: var(--ui-text-2xl); font-weight: var(--ui-weight-bold); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; line-height: var(--ui-leading-tight); }
.stat-note { font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.chart-card { display: flex; flex-direction: column; gap: var(--ui-space-4); }
.chart-card details summary { font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.chart-card details[open] summary { margin-bottom: var(--ui-space-2); }
.legend { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--ui-space-4); flex-wrap: wrap; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.legend li { display: inline-flex; align-items: center; gap: var(--ui-space-1); }
.swatch { width: 10px; height: 10px; border-radius: 3px; }
.s-ok { background: var(--ui-success); }
.s-bad { background: var(--ui-danger); }
.s-stop { background: var(--ui-warning); }
.bars { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: var(--ui-space-2); align-items: end; height: 200px; padding-top: var(--ui-space-2); border-bottom: 1px solid var(--ui-border); }
.bar-col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; height: 100%; min-width: 0; border-radius: var(--ui-radius-xs); outline-offset: 2px; }
.bar-col:hover .bar-stack, .bar-col:focus-visible .bar-stack { opacity: .82; }
.bar-stack { flex: 1; width: min(100%, 28px); display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; }
.seg { display: block; width: 100%; min-height: 3px; }
.bar-stack > .seg:first-child { border-radius: 4px 4px 0 0; }
.bar-n { font-size: var(--ui-text-2xs); color: var(--ui-text-muted); font-variant-numeric: tabular-nums; min-height: 1em; }
.bar-day { font-size: var(--ui-text-2xs); color: var(--ui-text-muted); white-space: nowrap; transform: translateY(calc(100% + 6px)); margin-top: -1em; }
.chart-card .bars { margin-bottom: var(--ui-space-5); }

/* --------------------------------------------------------------- search */
.search { padding: 0; overflow: hidden; display: flex; flex-direction: column; width: min(600px, 100%); }
.search-field { display: flex; align-items: center; gap: var(--ui-space-3); padding: 0 var(--ui-space-4); border-bottom: 1px solid var(--ui-border); color: var(--ui-text-muted); }
.search-input { flex: 1; min-width: 0; height: 52px; border: 0; background: transparent; font-size: var(--ui-text-base); color: var(--ui-text); }
.search-input:focus, .search-input:focus-visible { outline: none; }
.search-input::-webkit-search-cancel-button { display: none; }
.search-results { max-height: min(56vh, 460px); overflow-y: auto; padding: var(--ui-space-1) var(--ui-space-2) var(--ui-space-2); }
.search-empty { padding: var(--ui-space-8) var(--ui-space-4); text-align: center; color: var(--ui-text-muted); font-size: var(--ui-text-md); }
.search-hit { display: flex; align-items: center; gap: var(--ui-space-3); width: 100%; padding: var(--ui-space-2) var(--ui-space-3); border: 0; border-radius: var(--ui-radius-md); background: none; text-align: left; cursor: pointer; color: var(--ui-text); }
.search-hit > .ui-icon { color: var(--ui-text-muted); }
.search-hit[aria-selected="true"] { background: var(--ui-hover); }
.search-hit-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.search-snippet { font-size: var(--ui-text-sm); color: var(--ui-text-muted); }

/* ---------------------------------------------------- tablet and phone */
@media (max-width: 860px) {
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .stats { grid-template-columns: minmax(0, 1fr); }
  .gwt { grid-template-columns: minmax(0, 1fr); gap: var(--ui-space-1); }
  .gwt-label { padding-top: 0; }
  .run-kind { display: none; }
  .ship-action { align-items: stretch; width: 100%; }
  .ship-why { text-align: left; max-width: none; }
  .bars { gap: 3px; }
  .bar-day { display: none; }
  .codes { grid-template-columns: minmax(0, 1fr); }
  .kv { flex-wrap: wrap; }
  .kv > .ui-label { width: 100%; }
  .menu-trigger { min-width: 36px; height: 36px; }
}

/* Repository onboarding follows the suite's form and card patterns. */
.setup-intro h2 { font-size: var(--ui-text-xl); }
.setup-intro p { line-height: var(--ui-leading); }
.setup-steps { display: flex; flex-wrap: wrap; gap: var(--ui-space-3); list-style: none; padding: 0; color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.setup-steps li { padding: var(--ui-space-2) var(--ui-space-3); background: var(--ui-sunken); border-radius: var(--ui-radius-sm); }
.setup-facts { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--ui-space-2) var(--ui-space-4); margin: 0; }
.setup-facts dt { color: var(--ui-text-muted); }
.setup-facts dd { margin: 0; overflow-wrap: anywhere; }
.setup-gaps { padding: var(--ui-space-4); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-sunken); }
.setup-activity { padding: var(--ui-space-2) 0; }
.setup-activity pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 300px; overflow-y: auto; }
.setup-transcript summary { min-height: 28px; overflow-wrap: anywhere; }
@media (max-width: 600px) { .setup-facts { grid-template-columns: minmax(0, 1fr); } }

/* Factory conversations use shared cards, forms and the existing shell. */
.factory-conversation { display: flex; flex-direction: column; gap: var(--ui-space-5); min-width: 0; max-width:800px; margin:0 auto; }
.factory-conversation-intro h2 { font-size: var(--ui-text-xl); }
.factory-conversation-intro p { max-width: 640px; line-height: var(--ui-leading); }
.factory-conversation-links { display: flex; flex-wrap: wrap; gap: var(--ui-space-4); }
.factory-conversation-examples { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ui-space-3); }
.factory-conversation-example { display: flex; align-items:center; gap: var(--ui-space-3); padding: var(--ui-space-4); color: var(--ui-text); text-align: left; cursor: pointer; font: inherit; }
.factory-conversation-example:hover { background: var(--ui-hover); }
.factory-conversation-example > span { font-size: var(--ui-text-sm); line-height: var(--ui-leading); }
.factory-conversation-example-action { margin-left: auto; color: var(--ui-accent); }
.factory-conversation-messages { display: flex; flex-direction: column; gap:var(--ui-space-7); list-style: none; margin: 0; padding: 0; }
.factory-conversation-message { min-width: 0; overflow-wrap: anywhere; }
.factory-conversation-message[data-role="you"] { align-self:flex-end; max-width:90%; padding:var(--ui-space-4); border-radius:var(--ui-radius-lg); background:var(--ui-sunken); }
.factory-conversation-byline { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--ui-space-3); margin-bottom: var(--ui-space-2); }
.factory-conversation-byline time, .factory-conversation-activity time { color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.factory-conversation-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ui-space-3); }
.factory-conversation-compose { gap:var(--ui-space-2); position:sticky; bottom:0; }
.factory-conversation-compose:focus-within { border-color:var(--ui-accent); box-shadow:var(--ui-ring); }
.factory-conversation .bubble { white-space:pre-wrap; }

.factory-conversation-compose .factory-conversation-actions { justify-content: space-between; }
.factory-conversation-status, .factory-conversation-approval { display: flex; flex-direction: column; gap: var(--ui-space-3); }
.factory-conversation-approvals { display: flex; flex-direction: column; gap: var(--ui-space-3); }
.factory-conversation-approval pre, .factory-conversation-activity pre { max-height: 360px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.factory-conversation-activity ol { padding-left: var(--ui-space-5); }
.factory-conversation-activity li { margin-top: var(--ui-space-3); }
.factory-conversation-activity time { display: block; margin-top: var(--ui-space-1); }
@media (max-width: 760px) { .factory-conversation-examples { grid-template-columns: minmax(0, 1fr); } }
.factory-conversation-changes dl { margin: var(--ui-space-3) 0 0; }
.factory-conversation-changes dt { font-family: var(--ui-font-mono); overflow-wrap: anywhere; margin-top: var(--ui-space-4); }
.factory-conversation-changes dd { margin: var(--ui-space-2) 0 0; }
.factory-conversation-changes dd > strong { font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.factory-conversation-status, .factory-conversation-approval, .factory-conversation-activity { padding: var(--ui-space-4); }
.factory-conversation-compose > .factory-conversation-actions { padding:var(--ui-space-2) var(--ui-space-3); }
.factory-conversation-send { border-radius:var(--ui-radius-full); }

/* Item detail: the work and its evidence stay readable beside the suite navigation. */
.item-page { container-type: inline-size; }
.item-page .wide { min-width: 0; gap: var(--ui-space-5); }
.item-title { margin: 0; max-width: 32ch; font-size: clamp(1.5rem, 2.4cqi, 2rem); font-weight: var(--ui-weight-semibold); line-height: 1.25; letter-spacing: -.025em; overflow-wrap: anywhere; }
.item-origin { color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.item-tabs { max-width: 100%; overflow-x: auto; flex-shrink: 0; }
.overview { gap: var(--ui-space-6); }
.item-brief, .item-history, .context-section { min-width: 0; overflow-wrap: anywhere; }
.original-request, .scope-summary, .item-history, .context-section { padding: var(--ui-space-6); }
.scope-summary { background: var(--ui-sunken); border-bottom: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg) var(--ui-radius-lg) 0 0; }
.item-brief .section-head, .context-section .section-head, .item-history > .section-head { justify-content: space-between; margin-bottom: var(--ui-space-4); }
.item-brief .section-head a { font-size: var(--ui-text-sm); }
.item-brief .prose, .context-section .prose { white-space: normal; }
.item-brief .prose > :first-child, .context-section .prose > :first-child { margin-top: 0; }
.item-brief .prose > :last-child, .context-section .prose > :last-child { margin-bottom: 0; }
.item-brief .prose pre { max-width: 100%; overflow: auto; }
.edit-actions { display: flex; justify-content: flex-end; gap: var(--ui-space-2); }
.context-title { margin-bottom: var(--ui-space-4); }
.source-preview { margin-top: var(--ui-space-3); font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.source-preview[open] summary { margin-bottom: var(--ui-space-3); }
.activity-meta { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
@container (max-width: 760px) { .item-layout { grid-template-columns: minmax(0,1fr); } .item-context { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); } }
@container (max-width: 460px) { .evidence-links { grid-template-columns: minmax(0,1fr); } .evidence-links a + a { border-left: 0; border-top: 1px solid var(--ui-border); } .original-request, .scope-summary, .item-history, .context-section, .delivery-attention { padding: var(--ui-space-4); } }

@container (max-width: 460px) {
  .evidence-links a { display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: baseline; column-gap: var(--ui-space-3); row-gap: var(--ui-space-1); padding: var(--ui-space-3) var(--ui-space-4); min-height: 44px; }
  .evidence-links a > span { grid-column: 1; grid-row: 1; }
  .evidence-links strong, .evidence-links small { grid-column: 2; }
}

/* The source app stays intact as a narrow chip truncates its title. */

/* Operations: decisions, execution, and evidence in one workspace. */
/* Board: retain the full pipeline and offer a compact, focused work list. */
.factory-stage-dot { width: 7px; height: 7px; display: inline-block; flex-shrink: 0; border-radius: 50%; background: var(--ui-text-subtle); }
.factory-stage-dot[data-stage="spec"],.factory-stage-dot[data-stage="ready"] { background: var(--ui-warning); }
.factory-stage-dot[data-stage="build"],.factory-stage-dot[data-stage="verify"],.factory-stage-dot[data-stage="review"] { background: var(--ui-accent); }
.factory-stage-dot[data-stage="shipped"] { background: var(--ui-success); }
@media (max-width: 850px) { .factory-list-row { grid-template-columns: 100px minmax(0,1fr); } .factory-list-row .card-meta { grid-column: 2; justify-content: flex-start; } }
@media (max-width: 540px) { .factory-list-row { grid-template-columns: 1fr; } .factory-list-row .card-meta { grid-column: 1; } .factory-board-tools { width: 100%; justify-content: space-between; } }
.policy-settings-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}
.policy-settings-heading p{font-size:.9rem;margin:7px 0 0}
.policy-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.policy-choice-grid .ui-choice{margin:0;height:100%;align-items:start}
.policy-preview{border:1px solid var(--ui-border,#37333b);border-radius:12px;background:var(--ui-bg,#171419);padding:18px 20px}
.policy-preview-heading{display:flex;gap:12px;align-items:start}
.policy-preview-icon{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:7px;background:rgba(247,121,67,.16);color:var(--ui-accent,#f77943);font-weight:700}
.policy-preview h3{font-size:.96rem;margin:2px 0 4px}
.policy-preview-heading p,.policy-preview-foot{color:var(--ui-muted,#a6a0ab);font-size:.82rem;line-height:1.45;margin:0}
.policy-preview ol{list-style:none;display:grid;gap:10px;margin:18px 0;padding:0}
.policy-preview li{display:flex;gap:11px;align-items:start;font-size:.89rem;line-height:1.45}
.policy-step-number{display:grid;place-items:center;flex:none;width:20px;height:20px;border:1px solid var(--ui-border,#37333b);border-radius:50%;font-size:.7rem;color:var(--ui-muted,#a6a0ab);font-variant-numeric:tabular-nums}
.policy-preview-foot{border-top:1px solid var(--ui-border,#37333b);padding-top:13px}
@media(max-width:760px){.policy-choice-grid{grid-template-columns:1fr}}
.factory-auth-brand { display: flex; align-items: center; justify-content: center; gap: var(--ui-space-3); margin-bottom: var(--ui-space-6); font-size: var(--ui-text-xl); font-weight: 600; }
.factory-auth-brand>span { display: inline-flex; width: 40px; height: 40px; flex-shrink: 0; }
.factory-auth-brand svg { display: block; width: 100%; height: 100%; }
/* Factory workbench. Uses the suite's existing visual tokens and controls. */
.factory-workbench .ui-page-inner.wide {max-width:1180px;gap:20px;padding-top:28px;padding-bottom:48px}
.wb-eyebrow {font-size:var(--ui-text-xs);font-weight:var(--ui-weight-medium);color:var(--ui-text-muted)}
.factory-workbench .item-tabs {align-self:stretch;display:flex;max-width:max-content;overflow-x:auto}
.factory-workbench .item-tabs a {white-space:nowrap}
.wb-form-actions {display:flex;justify-content:flex-end;gap:8px}
.wb-runs {list-style:none;margin:0;padding:0;display:grid;gap:9px}
.wb-runs li {min-width:0}
.wb-run-row {display:grid;grid-template-columns:11px minmax(0,1fr) auto;gap:17px;padding:17px 20px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);color:var(--ui-text);text-decoration:none;align-items:start}
.wb-run-row:hover {text-decoration:none;border-color:var(--ui-border-strong);box-shadow:var(--ui-shadow-sm)}
.wb-run-mark {width:10px;height:10px;border-radius:50%;background:var(--ui-text-subtle);margin-top:7px}
.wb-run-row[data-status="succeeded"] .wb-run-mark {background:var(--ui-success)}
.wb-run-row[data-status="failed"] .wb-run-mark {background:var(--ui-danger)}
.wb-run-row[data-status="running"] .wb-run-mark,.wb-run-row[data-status="queued"] .wb-run-mark {background:var(--ui-accent)}
.wb-run-body {display:grid;gap:5px;min-width:0}
.wb-run-top {display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.wb-run-top strong {font-size:13px}
.wb-run-name {font-size:12px;overflow-wrap:anywhere}
.wb-run-body small {font-size:11px;overflow-wrap:anywhere}
.wb-run-meta {display:grid;justify-items:end;gap:5px;color:var(--ui-text-muted);font-size:11px;white-space:nowrap}
.wb-empty {border:1px dashed var(--ui-border-strong);border-radius:var(--ui-radius-lg);background:var(--ui-surface)}
@media(max-width:820px){.wb-overview{grid-template-columns:1fr}.wb-overview-side{grid-template-columns:repeat(2,minmax(0,1fr))}.wb-next{align-items:flex-start;flex-direction:column}.wb-updated{margin-left:0}}
@media(max-width:600px){.factory-workbench .ui-page-inner.wide{padding-top:18px;gap:16px}.wb-item-hero{gap:16px}.wb-hero-title h2{font-size:26px}.wb-overview-side{grid-template-columns:1fr}.wb-brief,.wb-activity,.wb-evidence,.wb-latest{padding:17px}.wb-next{padding:16px}.wb-next-actions{width:100%}.wb-next-actions>*{flex:1}.wb-run-row{grid-template-columns:9px minmax(0,1fr);padding:15px}.wb-run-meta{grid-column:2;display:flex;justify-content:flex-start;gap:12px;flex-wrap:wrap}}
.wb-spec {gap:17px}
.wb-spec-status {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px}
.wb-spec-status h2 {font-size:18px;line-height:1.3;letter-spacing:-.02em;margin:7px 0 4px}
.wb-spec-status p {font-size:12px;color:var(--ui-text-muted);margin:0}
.wb-spec-status-actions {display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;max-width:55%}
.wb-spec-status-actions .spec-version {width:100%;text-align:right;font-size:11px}
.wb-spec .build-blocked {margin:-3px 0 0}
.wb-spec-layout {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.85fr);gap:17px;align-items:start}
.wb-spec-main {display:grid;gap:19px;min-width:0}
.wb-spec-definition {display:grid;gap:18px;padding:22px}
.wb-spec-definition>.ui-field {min-width:0}
.wb-spec-definition .section-head {justify-content:space-between}
.wb-spec-definition .features {gap:8px}
.wb-spec-definition .feature-row {min-width:0}
.wb-criteria-section {display:grid;gap:12px;min-width:0}
.wb-criteria-section>.section-head {justify-content:space-between}
.wb-criteria-section>.section-head h2 {margin:5px 0 0;font-size:17px}
.wb-criterion {padding:20px;gap:16px}
.wb-criterion .criterion-head {gap:8px}
.wb-criterion-number {display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--ui-accent-soft);color:var(--ui-accent-soft-text);font-family:var(--ui-font-mono);font-size:11px;font-weight:700}
.wb-criterion .crit-id-input {width:175px;min-width:0}
.wb-criterion .criterion-head>.ui-grow {min-width:180px}
.wb-gwt {display:grid;gap:7px;padding-top:14px;border-top:1px solid var(--ui-border)}
.wb-criterion .gwt {grid-template-columns:54px minmax(0,1fr)}
.wb-criterion .gwt-label {font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.wb-spec-checks {padding:21px;position:sticky;top:18px}
.wb-spec-checks-head {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.wb-spec-checks-head strong {font-size:15px;color:var(--ui-accent-soft-text)}
.wb-spec-checks h2 {font-size:17px;margin:0 0 13px}
.wb-spec-checks .gates {gap:0}
.wb-spec-checks .gate {align-items:flex-start;flex-wrap:nowrap;padding:11px 0;gap:9px;font-size:12px}
.wb-spec-checks .check-icon {width:20px;height:20px;font-size:11px}
.wb-gate-copy {display:grid;gap:3px;min-width:0}
.wb-gate-copy strong {font-size:12px;line-height:1.4;font-weight:600}
.wb-gate-copy small {color:var(--ui-text-muted);font-size:11px;line-height:1.4}
@media(max-width:900px){.wb-spec-layout{grid-template-columns:1fr}.wb-spec-checks{position:static}.wb-spec-checks .gates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}}
@media(max-width:600px){.wb-spec-status{flex-direction:column;align-items:stretch;padding:17px}.wb-spec-status-actions{max-width:none;justify-content:flex-start}.wb-spec-status-actions .spec-version{text-align:left}.wb-spec-definition,.wb-spec-checks{padding:17px}.wb-spec-checks .gates{grid-template-columns:1fr}.wb-criterion{padding:15px}.wb-criterion .criterion-head>.ui-grow{min-width:0}.wb-criterion .crit-id-input{flex:1;width:auto}}

.wb-criterion-title {width:100%;font-weight:600;font-size:14px}
@media(max-width:600px){.wb-criterion .criterion-head>.ui-grow{display:none}.wb-criterion .crit-feature{margin-left:34px}}
@media(max-width:600px){.wb-criterion .criterion-head{display:grid;grid-template-columns:26px minmax(0,1fr) 34px;gap:8px}.wb-criterion .crit-id-input{grid-column:2;grid-row:1;width:100%;min-width:0}.wb-criterion .crit-feature{grid-column:2 / -1;grid-row:2;margin-left:0;width:100%}.wb-criterion .criterion-head>button{grid-column:3;grid-row:1}}


/* ======================================================================
   fx: live-work language shared by Operations, Board and Item.
   Four color meanings only: accent = running/live, warning = a person must
   act, success = verified/shipped, danger = failed. Stages are neutral.
   ====================================================================== */
:root {
  --fx-row: 40px;
  --fx-row-2: 56px;
  --fx-live: var(--ui-accent);
  --fx-live-soft: var(--ui-accent-soft);
  --fx-needs: var(--ui-warning);
  --fx-needs-soft: var(--ui-warning-soft);
  --fx-flash: var(--ui-highlight);
  --fx-lane-min: 96px;
}
.fx-num { font-variant-numeric: tabular-nums; }
.fx-mono { font-family: var(--ui-font-mono); font-size: var(--ui-text-sm); }
.fx-hint { color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.fx-kbd { margin-left: var(--ui-space-2); }
.fx-spin { width: 12px; height: 12px; margin-right: var(--ui-space-2); }

/* Status glyph: distinct shapes per state so color is never the only signal. */
.fx-dot { position: relative; display: inline-block; flex: none; width: 8px; height: 8px; border-radius: 50%; box-sizing: border-box; }
.fx-dot[data-state="running"] { background: var(--fx-live); box-shadow: 0 0 0 3px var(--fx-live-soft); }
.fx-dot[data-state="running"]::after { content: ""; position: absolute; inset: -3px; border-radius: 50%; border: 2px solid var(--fx-live); opacity: 0; animation: fx-breathe 2s var(--ui-ease) infinite; }
.fx-dot[data-state="queued"], .fx-dot[data-state="idle"] { border: 1.5px solid var(--ui-text-muted); }
.fx-dot[data-state="ship_queue"] { border: 1.5px solid var(--ui-text-muted); border-radius: 1px; }
.fx-dot[data-state="waiting"] { border: 1.5px solid var(--fx-needs); }
.fx-dot[data-state="needs"] { border-radius: 1px; transform: rotate(45deg) scale(.9); background: var(--fx-needs); }
.fx-dot[data-state="stale"], .fx-dot[data-state="failed"] { border-radius: 1px; background: var(--ui-danger); clip-path: polygon(50% 0, 100% 100%, 0 100%); width: 10px; height: 9px; }
.fx-dot[data-state="done"] { background: var(--ui-success); }
@keyframes fx-breathe { 0% { transform: scale(.8); opacity: .55; } 100% { transform: scale(1.9); opacity: 0; } }

.fx-meter { display: inline-flex; align-items: center; gap: var(--ui-space-2); font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.fx-meter-bar { position: relative; display: inline-block; width: 40px; height: 4px; border-radius: 2px; background: var(--ui-border); overflow: hidden; }
.fx-meter-bar > span { position: absolute; inset: 0 auto 0 0; background: var(--fx-live); border-radius: 2px; transition: width var(--ui-duration) var(--ui-ease); }
.fx-meter[data-complete="true"] .fx-meter-bar > span { background: var(--ui-success); }
.fx-meter-empty { color: var(--ui-text-muted); font-size: var(--ui-text-xs); }

.ui-btn.fx-armed { border-color: var(--ui-danger); color: var(--ui-danger); background: var(--ui-danger-soft); }

.fx-answer { display: grid; gap: var(--ui-space-2); max-width: 72ch; }
.fx-answer-input { min-height: 56px; resize: vertical; font: inherit; }
.fx-answer-row { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-3); flex-wrap: wrap; }
@media (max-width: 600px) { .fx-answer-input { font-size: 16px; } .fx-answer-row .ui-btn { width: 100%; justify-content: center; } }

@keyframes fx-enter { from { background: var(--fx-flash); } to { background: transparent; } }
.fx-enter { animation: fx-enter 1.2s var(--ui-ease); }

@media (prefers-reduced-motion: reduce) {
  .fx-dot[data-state="running"]::after { animation: none; display: none; }
  .fx-enter { animation: none; }
  .fx-meter-bar > span { transition: none; }
}

/* Item peek side panel (shared by Operations and Board; owned by the Item work) */
.fx-peek { position: fixed; z-index: 40; top: 0; right: 0; bottom: 0; width: min(520px, 100vw); display: flex; flex-direction: column; background: var(--ui-surface); border-left: 1px solid var(--ui-border); box-shadow: var(--ui-shadow-lg, 0 8px 32px rgba(0,0,0,.24)); animation: fx-peek-in var(--ui-duration) var(--ui-ease); }
.fx-peek-head { display: flex; align-items: center; gap: var(--ui-space-2); height: 52px; flex: none; padding: 0 var(--ui-space-3) 0 var(--ui-space-4); border-bottom: 1px solid var(--ui-border); }
.fx-peek-body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: var(--ui-space-4); }
.fx-peek-back { display: none; }
.fx-peek-num { color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.fx-peek-head { flex-wrap: nowrap; min-width: 0; }
.fx-peek-title { margin: 0 0 var(--ui-space-3); font-size: var(--ui-text-lg); font-weight: var(--ui-weight-semibold); line-height: 1.3; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fx-peek-content { display: grid; gap: var(--ui-space-4); min-width: 0; }
.fx-peek-skel { display: grid; gap: var(--ui-space-3); }
.fx-peek .ix-now { padding: var(--ui-space-3) var(--ui-space-4); }
.fx-peek .ix-now-main { flex-basis: 220px; }
.ix-track--compact li { font-size: var(--ui-text-2xs); }
.ix-track--compact .ix-gate { display: none; }
@media (max-width: 600px) {
  .fx-peek-back { display: inline-flex; }
  .fx-peek-close { display: none; }
}
@media (prefers-reduced-motion: reduce) { .fx-peek-skel .ui-skeleton { animation: none; } }
@keyframes fx-peek-in { from { transform: translateX(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .fx-peek { animation: none; } }

/* ===== fx: operations (owned by the Operations work; keep rules inside this section) ===== */

/* Page frame. Layout responds to the width of the content column (container
   queries), not the viewport: two sidebars take ~500px before this page starts. */
.fx-ops { container: ops / inline-size; width: 100%; flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.fx-ops-inner { max-width: 1600px; margin: 0 auto; padding: var(--ui-space-5); display: flex; flex-direction: column; gap: var(--ui-space-6); }
.fx-ops .ui-empty { margin: var(--ui-space-12) auto; }

/* Status line: topbar on desktop, its own row on phones. */
.fx-status { display: flex; align-items: center; gap: var(--ui-space-3); margin: 0; min-width: 0; overflow: hidden; white-space: nowrap; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.topbar > .fx-status { flex: 1 1 0; margin-left: var(--ui-space-3); }
.fx-status a { color: inherit; }
.fx-status a:hover { color: var(--ui-text); text-decoration: underline; }
.fx-status a[data-offline="true"] { color: var(--ui-text); font-weight: var(--ui-weight-medium); }
.fx-status-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; box-sizing: border-box; background: var(--fx-live); box-shadow: 0 0 0 3px var(--fx-live-soft); }
.fx-status[data-live="false"] .fx-status-dot { background: transparent; border: 1.5px solid var(--fx-needs); box-shadow: none; }
.fx-status[data-live="false"] .fx-status-state { color: var(--ui-text); }
.fx-status-part::before { content: "·"; margin-right: var(--ui-space-3); }
.fx-status-row { display: none; }
.fx-hide-narrow { margin-left: var(--ui-space-2); }
@media (max-width: 900px) { .fx-hide-narrow { display: none; } }
@media (max-width: 720px) {
  .topbar > .fx-status { display: none; }
  .fx-status-row { display: block; }
  .fx-status-row .fx-status { flex-wrap: wrap; white-space: normal; row-gap: 0; }
}

.fx-refresh-error { align-items: center; }
.fx-refresh-error .ui-icon { flex: none; }
.fx-cols[data-stale="true"] { opacity: .72; }
.fx-filter-bar { display: flex; align-items: center; gap: var(--ui-space-3); min-height: 36px; padding: 0 var(--ui-space-2) 0 var(--ui-space-4); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-sunken); font-size: var(--ui-text-sm); color: var(--ui-text-muted); margin-top: calc(-1 * var(--ui-space-3)); }
.fx-filter-bar strong { color: var(--ui-text); font-weight: var(--ui-weight-medium); }

/* Shared row vocabulary */
.fx-pill { display: inline-flex; align-items: center; flex: none; height: 20px; padding: 0 var(--ui-space-2); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-sm); font-size: var(--ui-text-xs); color: var(--ui-text-muted); white-space: nowrap; }
.fx-region { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); overflow: hidden; min-width: 0; }
.fx-region-head { display: flex; align-items: center; gap: var(--ui-space-3); height: 40px; padding: 0 var(--ui-space-4); border-bottom: 1px solid var(--ui-border); }
.fx-region-head h2 { display: flex; align-items: center; gap: var(--ui-space-2); margin: 0; font-size: var(--ui-text-md); font-weight: var(--ui-weight-semibold); }
.fx-region-head > a { margin-left: auto; font-size: var(--ui-text-sm); }
.fx-region-sub { margin-left: auto; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-count { min-width: 20px; padding: 0 6px; border-radius: var(--ui-radius-full); background: var(--ui-sunken); color: var(--ui-text-muted); font-size: var(--ui-text-xs); font-weight: var(--ui-weight-medium); line-height: 20px; text-align: center; }
.fx-count[data-attn="true"] { background: var(--fx-needs-soft); color: var(--ui-text); }
.fx-region-foot { display: block; padding: var(--ui-space-3) var(--ui-space-4); border-top: 1px solid var(--ui-border); font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-region-foot:hover { color: var(--ui-text); background: var(--ui-hover); text-decoration: none; }
.fx-empty-row p { display: flex; align-items: center; gap: var(--ui-space-3); flex-wrap: wrap; margin: 0; min-height: 56px; padding: var(--ui-space-3) var(--ui-space-4); font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-banner { display: flex; align-items: center; gap: var(--ui-space-2); margin: 0; padding: var(--ui-space-2) var(--ui-space-4); background: var(--fx-needs-soft); border-bottom: 1px solid var(--ui-border); font-size: var(--ui-text-sm); }
.fx-banner .ui-icon { flex: none; color: var(--fx-needs); }

/* Pipeline */
.fx-pipeline { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); background: var(--ui-surface); }
.fx-seg-wrap { position: relative; min-width: 0; }
.fx-seg-wrap + .fx-seg-wrap { border-left: 1px solid var(--ui-border); }
.fx-seg-wrap:first-child .fx-seg { border-top-left-radius: calc(var(--ui-radius-lg) - 1px); border-bottom-left-radius: var(--ui-radius-lg); }
.fx-seg-wrap:last-child .fx-seg { border-top-right-radius: calc(var(--ui-radius-lg) - 1px); border-bottom-right-radius: var(--ui-radius-lg); }
.fx-seg-wrap[data-dim="true"] .fx-seg { opacity: .6; }
.fx-seg { appearance: none; display: flex; flex-direction: column; gap: var(--ui-space-2); width: 100%; height: 100%; min-height: 88px; padding: var(--ui-space-3) var(--ui-space-4); border: 0; border-top: 2px solid transparent; background: transparent; color: var(--ui-text); font: inherit; text-align: left; cursor: pointer; transition: background var(--ui-duration-fast) var(--ui-ease), opacity var(--ui-duration-fast) var(--ui-ease); }
.fx-seg:hover { background: var(--ui-hover); }
.fx-seg:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: -2px; }
.fx-seg[aria-pressed="true"] { background: var(--ui-accent-soft); }
.fx-seg[data-slow="true"] { border-top-color: var(--fx-needs); }
.fx-seg-top { display: flex; align-items: baseline; justify-content: space-between; gap: var(--ui-space-2); }
.fx-seg-label { font-size: var(--ui-text-sm); color: var(--ui-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fx-seg[aria-pressed="true"] .fx-seg-label { color: var(--ui-text); font-weight: var(--ui-weight-medium); }
.fx-seg-count { font-size: var(--ui-text-xl); font-weight: var(--ui-weight-semibold); line-height: 1.2; font-variant-numeric: tabular-nums; }
.fx-seg-count { display: inline-flex; align-items: baseline; flex: none; }
.fx-seg-count small { margin-left: 2px; font-size: var(--ui-text-xs); font-weight: normal; color: var(--ui-text-muted); }
.fx-tick { display: inline-grid; overflow: hidden; line-height: 1.2; }
.fx-tick > * { grid-area: 1 / 1; }
.fx-tick-old { animation: fx-tick-out-up 160ms var(--ui-ease) forwards; }
.fx-tick[data-dir="down"] .fx-tick-old { animation-name: fx-tick-out-down; }
.fx-tick-new[data-anim] { animation: fx-tick-in-up 160ms var(--ui-ease); }
.fx-tick[data-dir="down"] .fx-tick-new[data-anim] { animation-name: fx-tick-in-down; }
@keyframes fx-tick-out-up { to { transform: translateY(-100%); opacity: 0; } }
@keyframes fx-tick-out-down { to { transform: translateY(100%); opacity: 0; } }
@keyframes fx-tick-in-up { from { transform: translateY(100%); opacity: 0; } }
@keyframes fx-tick-in-down { from { transform: translateY(-100%); opacity: 0; } }
.fx-seg[data-flash="a"] { animation: fx-seg-flash-a 1s var(--ui-ease); }
.fx-seg[data-flash="b"] { animation: fx-seg-flash-b 1s var(--ui-ease); }
@keyframes fx-seg-flash-a { from { background: var(--fx-flash); } to { background: transparent; } }
@keyframes fx-seg-flash-b { from { background: var(--fx-flash); } to { background: transparent; } }
.fx-pips { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 4px; min-height: 10px; max-height: 24px; overflow: hidden; }
.fx-pip { width: 8px; height: 8px; box-sizing: border-box; border-radius: 50%; }
.fx-pip { flex: none; }
.fx-pip[data-state="idle"] { border: 1.5px solid var(--ui-border-strong); }
.fx-pip[data-state="running"] { background: var(--fx-live); box-shadow: 0 0 0 2px var(--fx-live-soft); }
.fx-pip[data-state="needs"] { border-radius: 1px; background: var(--fx-needs); transform: rotate(45deg) scale(.95); }
.fx-pip-more { font-size: var(--ui-text-2xs); line-height: 8px; color: var(--ui-text-muted); }
.fx-spark { display: block; width: 100%; max-width: 120px; height: 16px; color: var(--ui-success); fill: currentColor; }
.fx-seg-foot { margin-top: auto; font-size: var(--ui-text-xs); color: var(--ui-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fx-seg-foot b { font-weight: var(--ui-weight-medium); color: var(--ui-text); }
.fx-seg--skeleton { cursor: default; pointer-events: none; }
@container ops (max-width: 900px) {
  .fx-pipeline { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fx-seg-wrap:nth-child(4n+1) { border-left: 0; }
  .fx-seg-wrap:nth-child(n+5) { border-top: 1px solid var(--ui-border); }
  .fx-seg-wrap:nth-child(1) .fx-seg { border-bottom-left-radius: 0; }
  .fx-seg-wrap:nth-child(4) .fx-seg { border-bottom-right-radius: 0; }
  .fx-seg-wrap:nth-child(5) .fx-seg { border-top-left-radius: 0; border-bottom-left-radius: var(--ui-radius-lg); }
  .fx-seg-wrap:nth-child(8) .fx-seg { border-top-right-radius: 0; }
  .fx-pip:nth-child(n+7) { display: none; }
}

/* Columns */
.fx-cols { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--ui-space-6); align-items: start; transition: opacity var(--ui-duration) var(--ui-ease); }
.fx-main { container: main / inline-size; display: flex; flex-direction: column; gap: var(--ui-space-6); min-width: 0; }
.fx-rail { display: flex; flex-direction: column; gap: var(--ui-space-6); min-width: 0; position: sticky; top: var(--ui-space-5); }
@container ops (max-width: 1000px) {
  .fx-cols { grid-template-columns: minmax(0, 1fr); }
  .fx-rail { position: static; }
}

/* Needs you */
.fx-decs { list-style: none; margin: 0; padding: 0; }
.fx-decs:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: -2px; }
.fx-dec + .fx-dec { border-top: 1px solid var(--ui-border); }
.fx-dec-head { display: grid; grid-template-columns: 16px 36px minmax(0, 1fr) auto 32px auto; align-items: center; gap: var(--ui-space-3); min-height: var(--fx-row); padding: 0 var(--ui-space-4); cursor: pointer; transition: background var(--ui-duration-fast) var(--ui-ease); }
.fx-dec-head:hover { background: var(--ui-hover); }
.fx-dec-head[aria-selected="true"] { background: var(--ui-hover); box-shadow: inset 2px 0 0 var(--fx-needs); }
.fx-dec-glyph { display: grid; place-items: center; color: var(--fx-needs); }
.fx-dec-glyph[data-kind="recover"] { color: var(--ui-danger); }
.fx-dec-glyph .ui-icon { width: 16px; height: 16px; }
.fx-dec-num { color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.fx-dec-text { display: flex; align-items: baseline; gap: var(--ui-space-3); min-width: 0; }
.fx-dec-title { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-text-base); font-weight: var(--ui-weight-medium); }
.fx-dec-reason { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-dec-age { text-align: right; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-dec-cta { min-width: 84px; text-align: right; font-size: var(--ui-text-sm); color: var(--ui-text-muted); white-space: nowrap; }
.fx-dec[data-open="true"] .fx-dec-reason, .fx-dec[data-open="true"] .fx-dec-cta { visibility: hidden; }
.fx-dec[data-pending="true"] .fx-dec-head { opacity: .85; }
.fx-dec-body { display: grid; gap: var(--ui-space-3); padding: 0 var(--ui-space-4) var(--ui-space-4) calc(var(--ui-space-4) + 16px + 36px + 2 * var(--ui-space-3)); }
.fx-dec-why { margin: 0; max-width: 72ch; font-size: var(--ui-text-md); line-height: 1.5; }
.fx-dec-quote { margin: 0; padding-left: var(--ui-space-3); border-left: 2px solid var(--ui-ai); max-width: 72ch; font-size: var(--ui-text-md); line-height: 1.5; white-space: pre-wrap; }
.fx-dec-asker { display: block; margin-bottom: 2px; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-dec-facts { display: flex; flex-wrap: wrap; gap: var(--ui-space-2) var(--ui-space-4); font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-dec-facts [data-ok]::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--ui-success); vertical-align: 1px; }
.fx-dec-facts [data-ok="false"]::before { background: var(--fx-needs); }
.fx-dec-criteria { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-dec-criteria li { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fx-dec-criteria li::before { content: "·"; margin-right: var(--ui-space-2); }
.fx-dec-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); }
.fx-dec-actions .ui-error, .fx-dec-body .ui-error { margin: 0; }
.fx-allclear { display: flex; align-items: center; gap: var(--ui-space-3); min-height: 56px; padding: var(--ui-space-3) var(--ui-space-4); }
.fx-allclear p { margin: 0; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-allclear-glyph { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--ui-success-soft); color: var(--ui-success); }
.fx-allclear-glyph .ui-icon { width: 12px; height: 12px; }
.fx-leaving { overflow: hidden; pointer-events: none; animation: fx-leave 420ms var(--ui-ease) forwards; }
@keyframes fx-leave { 0%, 45% { background: var(--ui-success-soft); max-height: 44px; opacity: 1; } 100% { background: var(--ui-success-soft); max-height: 0; opacity: 0; border-top-width: 0; } }

/* Running now */
.fx-runs { list-style: none; margin: 0; padding: 0; }
.fx-runs:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: -2px; }
.fx-run { position: relative; display: grid; grid-template-columns: 20px 36px minmax(0, 1fr) auto auto; column-gap: var(--ui-space-3); align-items: center; padding: var(--ui-space-2) var(--ui-space-4); min-height: var(--fx-row-2); }
.fx-run + .fx-run { border-top: 1px solid var(--ui-border); }
.fx-runs:focus-visible .fx-run[aria-selected="true"] { background: var(--ui-hover); box-shadow: inset 2px 0 0 var(--fx-live); }
.fx-run-dot { display: grid; place-items: center; }
.fx-run-num { color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.fx-run-num:hover { color: var(--ui-text); }
.fx-run-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-text-base); font-weight: var(--ui-weight-medium); color: var(--ui-text); }
.fx-run-title:hover { text-decoration: underline; }
.fx-run-sched { font-weight: normal; color: var(--ui-text-muted); }
.fx-run-detail { grid-column: 2 / -1; grid-row: 2; display: flex; align-items: center; gap: var(--ui-space-3); min-width: 0; }
.fx-run-agent { flex: none; max-width: 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-text-sm); color: var(--ui-text); }
.fx-run-agent span { color: var(--ui-text-muted); }
.fx-run-step { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-text-sm); color: var(--ui-text-muted); animation: fx-step-in 160ms var(--ui-ease); }
.fx-run-step[data-mono="true"] { font-family: var(--ui-font-mono); }
.fx-run-step[data-tone="alert"] { color: var(--ui-text); }
.fx-run-step[data-tone="danger"] { color: var(--ui-danger); }
.fx-run-step a { color: inherit; }
.fx-run-step a b { font-weight: var(--ui-weight-medium); color: var(--ui-text); }
.fx-run-step[data-tone="danger"] a b { color: var(--ui-danger); }
.fx-run-actions { display: inline-flex; align-items: center; gap: var(--ui-space-1); }
.fx-run-actions .ui-btn { white-space: nowrap; }
.fx-run-actions .fx-stop { color: var(--ui-danger); }
.fx-run-actions .fx-stop:hover:not(:disabled) { background: var(--ui-danger-soft); }
.fx-steer { grid-column: 1 / -1; grid-row: 4; display: grid; gap: var(--ui-space-2); padding: var(--ui-space-2) 0 var(--ui-space-3) calc(20px + var(--ui-space-3)); }
.fx-run-error { grid-column: 1 / -1; grid-row: 5; margin: 0 0 var(--ui-space-2) calc(20px + var(--ui-space-3)); }
.fx-run[data-state="done"][data-outcome="danger"] { background: color-mix(in srgb, var(--ui-danger-soft) 60%, transparent); }
.fx-run[data-state="done"][data-outcome="quiet"] { background: var(--ui-sunken); }
.fx-run[data-state="done"] .fx-run-title, .fx-run[data-state="done"] .fx-run-num { pointer-events: none; }
.fx-run-proof { flex: none; }
.fx-run-time { grid-column: 4; grid-row: 1; font-size: var(--ui-text-sm); color: var(--ui-text-muted); text-align: right; }
.fx-run-actions { grid-column: 2 / -1; grid-row: 3; margin-top: var(--ui-space-1); }
.fx-run[data-state="done"] { background: color-mix(in srgb, var(--ui-success-soft) 50%, transparent); }
.fx-run[data-exiting="true"] { overflow: hidden; animation: fx-run-out 240ms var(--ui-ease) forwards; }
@keyframes fx-step-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@keyframes fx-run-out { from { max-height: 80px; } to { max-height: 0; opacity: 0; padding-block: 0; border-top-width: 0; } }
@container main (min-width: 760px) {
  .fx-run { grid-template-columns: 20px 40px minmax(200px, 3fr) 84px minmax(96px, 150px) minmax(0, 1.4fr) 72px 56px; min-height: var(--fx-row); padding-block: 0; }
  .fx-steer { grid-row: 2; }
  .fx-run-error { grid-row: 3; }
  .fx-run[data-steering] { padding-bottom: 0; }
  .fx-run-detail { display: contents; }
  .fx-run-dot { grid-column: 1; grid-row: 1; }
  .fx-run-num { grid-column: 2; grid-row: 1; }
  .fx-run-title { grid-column: 3; grid-row: 1; }
  .fx-run .fx-pill { grid-column: 4; grid-row: 1; justify-self: start; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
  .fx-run-agent { grid-column: 5; grid-row: 1; max-width: none; }
  .fx-run-step { grid-column: 6; grid-row: 1; }
  .fx-run-proof { grid-column: 7; grid-row: 1; }
  .fx-run-time { grid-column: 8; grid-row: 1; }
  .fx-run-actions { grid-column: 1 / -1; grid-row: 1; position: absolute; right: var(--ui-space-3); top: 50%; transform: translateY(-50%); margin: 0; padding-left: var(--ui-space-8); opacity: 0; background: linear-gradient(90deg, transparent, var(--ui-surface) 28px); transition: opacity var(--ui-duration-fast) var(--ui-ease); }
  .fx-run:hover .fx-run-actions, .fx-run:focus-within .fx-run-actions, .fx-runs:focus-visible .fx-run[aria-selected="true"] .fx-run-actions, .fx-run[data-steering] .fx-run-actions { opacity: 1; }
}
@media (hover: none) { .fx-run-actions { opacity: 1; } }

/* Delivered */
.fx-delivered { list-style: none; margin: 0; padding: 0; }
.fx-del { display: flex; align-items: center; gap: var(--ui-space-3); min-height: 36px; padding: 0 var(--ui-space-4); }
.fx-del + .fx-del { border-top: 1px solid var(--ui-border); }
.fx-del .fx-run-num { flex: none; min-width: 36px; }
.fx-del .fx-run-title { flex: 1 1 0; }
.fx-del-glyph { display: grid; place-items: center; width: 20px; }
.fx-del-commit { flex: none; width: 56px; color: var(--ui-text-muted); }
.fx-del-meter { flex: none; display: inline-flex; width: 84px; }
.fx-del-meta { display: inline-flex; justify-content: flex-end; width: 148px; gap: var(--ui-space-3); flex: none; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-del-age { flex: none; width: 32px; text-align: right; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-del-evidence { flex: none; opacity: 0; }
.fx-del:hover .fx-del-evidence, .fx-del:focus-within .fx-del-evidence { opacity: 1; }
@media (hover: none) { .fx-del-evidence { opacity: 1; } }
@container main (max-width: 620px) { .fx-del-meter, .fx-del-meta { display: none; } }

/* Rail */
.fx-feed-wrap { position: relative; }
.fx-live-toggle { appearance: none; display: inline-flex; align-items: center; gap: var(--ui-space-2); margin-left: auto; height: 24px; padding: 0 var(--ui-space-2); border: 0; border-radius: var(--ui-radius-sm); background: transparent; color: var(--ui-text-muted); font: inherit; font-size: var(--ui-text-sm); cursor: pointer; }
.fx-live-toggle:hover { background: var(--ui-hover); color: var(--ui-text); }
.fx-live-toggle:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 1px; }
.fx-live-dot { width: 8px; height: 8px; box-sizing: border-box; border-radius: 50%; background: var(--fx-live); box-shadow: 0 0 0 3px var(--fx-live-soft); }
.fx-live-toggle[data-paused="true"] { color: var(--ui-text); }
.fx-live-toggle[data-paused="true"] .fx-live-dot { background: transparent; border: 1.5px solid var(--fx-needs); box-shadow: none; }
.fx-newpill { position: absolute; z-index: 2; top: var(--ui-space-2); left: 50%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: var(--ui-space-1); height: 26px; padding: 0 var(--ui-space-3); border: 1px solid var(--ui-border-strong); border-radius: var(--ui-radius-full); background: var(--ui-surface-raised); color: var(--ui-text); font: inherit; font-size: var(--ui-text-xs); font-weight: var(--ui-weight-medium); box-shadow: var(--ui-shadow-md, 0 2px 8px rgba(0,0,0,.18)); cursor: pointer; animation: fx-step-in 160ms var(--ui-ease); }
.fx-newpill:hover { background: var(--ui-hover); }
.fx-newpill:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 1px; }
.fx-newpill-arrow { display: inline-grid; transform: rotate(180deg); }
.fx-newpill .ui-icon { width: 12px; height: 12px; }
.fx-feed { list-style: none; margin: 0; padding: 0; max-height: calc(100vh - 360px); min-height: 120px; overflow-y: auto; overscroll-behavior: contain; }
.fx-feed-row { display: grid; grid-template-columns: 32px 16px minmax(0, 1fr) auto; align-items: center; gap: var(--ui-space-2); min-height: 32px; padding: 0 var(--ui-space-4); color: var(--ui-text); font-size: var(--ui-text-sm); }
.fx-feed-row:hover { background: var(--ui-hover); text-decoration: none; }
.fx-feed-time { color: var(--ui-text-muted); font-size: var(--ui-text-xs); white-space: nowrap; }
.fx-feed-glyph { display: grid; place-items: center; color: var(--ui-text-muted); }
.fx-feed-glyph[data-tone="success"] { color: var(--ui-success); }
.fx-feed-glyph[data-tone="danger"] { color: var(--ui-danger); }
.fx-feed-glyph .ui-icon { width: 14px; height: 14px; }
.fx-feed-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fx-feed-num { color: var(--ui-text-muted); }
.fx-feed-actor { max-width: 80px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.fx-runners { list-style: none; margin: 0; padding: 0; }
.fx-runners li { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; column-gap: var(--ui-space-3); min-height: 36px; padding: var(--ui-space-1) var(--ui-space-4); font-size: var(--ui-text-sm); }
.fx-runners li + li { border-top: 1px solid var(--ui-border); }
.fx-presence { width: 8px; height: 8px; box-sizing: border-box; border-radius: 50%; border: 1.5px solid var(--ui-border-strong); }
.fx-presence[data-online="true"] { border: 0; background: var(--ui-success); }
.fx-runner-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--ui-weight-medium); }
.fx-runner-state { color: var(--ui-text-muted); }
.fx-runner-tags { grid-column: 2 / -1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.fx-runner-tags:empty { display: none; }
.fx-runner-more { color: var(--ui-text-muted); }
.fx-policy { display: flex; align-items: center; gap: var(--ui-space-3); min-height: 40px; padding: 0 var(--ui-space-4); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); background: var(--ui-surface); color: var(--ui-text); font-size: var(--ui-text-sm); }
.fx-policy:hover { background: var(--ui-hover); text-decoration: none; }
.fx-policy-label { color: var(--ui-text-muted); }
.fx-policy-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fx-policy .ui-icon { flex: none; color: var(--ui-text-muted); }

/* Shortcut sheet */
.fx-shortcuts { display: grid; gap: var(--ui-space-2); margin: var(--ui-space-4) 0; }
.fx-shortcuts > div { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-4); font-size: var(--ui-text-sm); }
.fx-shortcuts dt { display: inline-flex; gap: 2px; align-items: center; }
.fx-shortcuts dd { margin: 0; color: var(--ui-text-muted); }

/* Loading */
.fx-skel-row { display: flex; align-items: center; gap: var(--ui-space-3); height: var(--fx-row); padding: 0 var(--ui-space-4); }
.fx-skel-row + .fx-skel-row { border-top: 1px solid var(--ui-border); }

/* Phone */
@container ops (max-width: 600px) {
  .fx-ops-inner { padding: var(--ui-space-4); gap: var(--ui-space-5); }
  .fx-dec-head { grid-template-columns: 16px 32px minmax(0, 1fr) auto; row-gap: 0; padding-block: var(--ui-space-2); }
  .fx-dec-head .fx-pill, .fx-dec-cta { display: none; }
  .fx-dec-text { flex-direction: column; gap: 0; }
  .fx-dec-title { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .fx-dec-body { padding-left: var(--ui-space-4); }
  .fx-dec-actions .ui-btn { flex: 1 1 100%; justify-content: center; min-height: 40px; }
  .fx-del-commit { display: none; }
  .fx-del-evidence { display: none; }
  .fx-feed li:nth-child(n+6) { display: none; }
  .fx-feed { max-height: none; }
  .fx-run-actions .ui-btn { min-height: 36px; }
  .fx-steer { padding-left: 0; }
  .fx-run-error { margin-left: 0; }
  .fx-seg { padding: var(--ui-space-3); }
  .fx-seg-top { flex-direction: column; align-items: flex-start; gap: 0; }
  .fx-seg-count small { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .fx-leaving, .fx-run[data-state="done"], .fx-run[data-exiting], .fx-run-step, .fx-newpill, .fx-tick-new { animation: none; }
  .fx-seg[data-flash] { animation: none; background: var(--fx-flash); }
  .fx-cols, .fx-seg { transition: none; }
}

/* ===== fx: board (owned by the Board work; keep rules inside this section) ===== */
.board-page { flex: 1; min-height: 0; min-width: 0; display: flex; flex-direction: column; }
.fx-link { appearance: none; border: 0; background: none; padding: 0; font: inherit; color: var(--ui-accent-soft-text); text-decoration: underline; cursor: pointer; }
.fx-link:focus-visible, .fx-col-toggle:focus-visible, .fx-collapse:focus-visible, .fx-chips button:focus-visible, .card:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: -2px; }

/* Toolbar: one row, filter + chips + runners + layout. */
.fx-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2) var(--ui-space-3); min-height: 40px; padding: var(--ui-space-2) var(--ui-space-5); border-bottom: 1px solid var(--ui-border); }
.fx-filter { display: flex; align-items: center; gap: var(--ui-space-2); height: var(--ui-control-height-sm); padding: 0 var(--ui-space-3); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-surface); color: var(--ui-text-muted); }
.fx-filter input { width: 150px; min-width: 0; background: transparent; border: 0; outline: 0; color: var(--ui-text); font: inherit; font-size: var(--ui-text-sm); }
.fx-filter:focus-within { border-color: var(--ui-ring); }
.fx-chips { display: flex; flex-wrap: wrap; gap: 2px; }
.fx-chips button { appearance: none; display: inline-flex; align-items: center; gap: var(--ui-space-2); height: var(--ui-control-height-sm); padding: 0 var(--ui-space-3); border: 1px solid transparent; border-radius: var(--ui-radius-md); background: transparent; color: var(--ui-text-muted); font: inherit; font-size: var(--ui-text-sm); cursor: pointer; }
.fx-chips button:hover { background: var(--ui-hover); color: var(--ui-text); }
.fx-chips button[aria-pressed="true"] { background: var(--ui-accent-soft); color: var(--ui-accent-soft-text); border-color: color-mix(in srgb, var(--ui-accent) 20%, transparent); }
.fx-chips button > span { font-size: var(--ui-text-xs); }
.fx-noresults { display: flex; align-items: center; gap: var(--ui-space-2); height: 40px; padding: 0 var(--ui-space-5); border-bottom: 1px solid var(--ui-border); color: var(--ui-text-muted); font-size: var(--ui-text-sm); }

/* Board: flat columns on the page background, hairline rules, rails for empty stages. */
.board { flex: 1; min-height: 0; display: grid; gap: 0; padding: 0 var(--ui-space-5); overflow-x: auto; overscroll-behavior-x: contain; }
.column { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 0; background: transparent; border: 0; border-left: 1px solid var(--ui-border); }
.column:first-child { border-left: 0; }
.column[data-worst] { box-shadow: inset 0 2px 0 var(--fx-needs); }
.column-head { display: flex; align-items: center; gap: var(--ui-space-2); height: 36px; flex: none; padding: 0 var(--ui-space-3); }
.fx-col-toggle { appearance: none; flex: 1; min-width: 0; display: flex; align-items: center; height: 100%; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.fx-col-toggle h2 { margin: 0; font-size: var(--ui-text-sm); font-weight: var(--ui-weight-semibold); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fx-col-count { min-width: 20px; padding: 0 6px; text-align: center; border-radius: var(--ui-radius-full); background: var(--ui-hover); font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.fx-col-count[data-pressure] { background: var(--fx-needs-soft); color: var(--ui-text); }
.fx-col-count[data-stage="shipped"] { background: var(--ui-success-soft); color: var(--ui-text); }
.fx-col-gate { display: inline-flex; align-items: center; color: var(--ui-text-muted); }
.fx-col-gate .ui-icon { width: 14px; height: 14px; }
.fx-collapse { appearance: none; display: flex; flex-direction: column; align-items: center; gap: var(--ui-space-2); width: 100%; height: 100%; padding: var(--ui-space-2) 0; border: 0; background: none; color: var(--ui-text-muted); font: inherit; cursor: pointer; }
.fx-collapse:hover { background: var(--ui-hover); color: var(--ui-text); }
.fx-collapse-label { writing-mode: vertical-rl; transform: rotate(180deg); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-semibold); white-space: nowrap; }
.column-cards { list-style: none; margin: 0; padding: var(--ui-space-1) var(--ui-space-2) var(--ui-space-3); display: flex; flex-direction: column; gap: var(--ui-space-2); overflow-y: auto; flex: 1; min-height: 48px; }
.column-cards[hidden] { display: none; }
.fx-column-empty { padding: var(--ui-space-2); color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.board-foot { display: flex; justify-content: flex-end; padding: var(--ui-space-2) var(--ui-space-5); border-top: 1px solid var(--ui-border); }

/* Card v2: three lines, same height for every card. */
.card { position: relative; display: flex; flex-direction: column; gap: var(--ui-space-1); min-width: 0; padding: var(--ui-space-2) var(--ui-space-3); color: var(--ui-text); background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); box-shadow: none; transition: border-color var(--ui-duration-fast) var(--ui-ease); }
.card:hover { text-decoration: none; border-color: var(--ui-border-strong); }
.card[data-needs] { box-shadow: inset 3px 0 0 var(--fx-needs); }
.card-top { display: flex; align-items: center; gap: var(--ui-space-2); min-height: 18px; min-width: 0; }
.card-number { font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.card-title { margin: 0; font-size: var(--ui-text-md); font-weight: var(--ui-weight-medium); line-height: var(--ui-leading-tight); overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(2 * 1em * var(--ui-leading-tight)); }
.card-meta { display: flex; align-items: center; gap: var(--ui-space-2); min-height: 18px; color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.fx-age { color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.fx-size { flex: none; padding: 0 5px; border: 1px solid var(--ui-border-strong); border-radius: var(--ui-radius-sm); color: var(--ui-text-muted); font-size: var(--ui-text-xs); line-height: 16px; }
.fx-agent { display: inline-flex; align-items: center; gap: var(--ui-space-2); min-width: 0; font-size: var(--ui-text-xs); font-weight: var(--ui-weight-medium); }
.fx-agent-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fx-needs-mark { display: inline-flex; align-items: center; justify-content: center; width: 14px; }

/* Intake call-to-action in an empty factory. */
.fx-intake { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ui-space-3); padding: var(--ui-space-3); border: 1px dashed var(--ui-border-strong); border-radius: var(--ui-radius-md); color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.fx-intake p { margin: 0; color: var(--ui-text); }
.fx-intake--list { margin: var(--ui-space-4) var(--ui-space-5); max-width: 420px; }

/* Grouped list: sticky stage headers, dense 40px rows. */
.fx-list { flex: 1; min-height: 0; overflow-y: auto; }
.fx-group-head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; gap: var(--ui-space-2); height: 32px; margin: 0; padding: 0 var(--ui-space-5); background: var(--ui-bg); border-bottom: 1px solid var(--ui-border); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-semibold); }
.card.fx-row { display: grid; grid-template-columns: 14px 44px minmax(0, 1fr) minmax(0, 120px) 84px 36px 18px; align-items: center; gap: var(--ui-space-3); height: var(--fx-row); padding: 0 var(--ui-space-5); border: 0; border-bottom: 1px solid var(--ui-border); border-radius: 0; background: transparent; }
.card.fx-row:hover { background: var(--ui-hover); }
.card.fx-row[data-needs] { box-shadow: inset 3px 0 0 var(--fx-needs); }
.fx-row-title { display: flex; align-items: center; gap: var(--ui-space-2); min-width: 0; font-size: var(--ui-text-base); font-weight: var(--ui-weight-medium); }
.fx-row-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; }
.fx-row-title .fx-size { margin-left: var(--ui-space-2); vertical-align: 1px; }
.fx-row-agent, .fx-row-meter, .fx-row-needs { display: flex; align-items: center; min-width: 0; }
.fx-row-needs { justify-content: center; }

@media (max-width: 600px) {
  .fx-toolbar { padding: var(--ui-space-2) var(--ui-space-4); }
  .fx-filter { flex: 1 1 100%; }
  .fx-filter input { width: 100%; font-size: 16px; }
  .fx-chips { overflow-x: auto; max-width: 100%; flex-wrap: nowrap; }
  .fx-chips button { flex: none; }
  .fx-noresults { padding: 0 var(--ui-space-4); }
  .fx-group-head { padding: 0 var(--ui-space-4); }
  .card.fx-row { grid-template-columns: 14px 40px minmax(0, 1fr) 28px 18px; padding: 0 var(--ui-space-4); gap: var(--ui-space-2); }
  .card.fx-row .fx-row-agent, .card.fx-row .fx-row-meter { display: none; }
  .fx-intake--list { margin: var(--ui-space-4); }
}
@media (prefers-reduced-motion: reduce) { .card { transition: none; } }

/* Home: a calm table of factories. */
.fx-home { max-width: 1040px; margin: 0 auto; padding: var(--ui-space-5) var(--ui-space-5) var(--ui-space-12); display: flex; flex-direction: column; gap: var(--ui-space-4); }
.fx-home-summary { display: flex; flex-wrap: wrap; gap: var(--ui-space-2) var(--ui-space-5); margin: 0; color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.fx-home-summary strong { color: var(--ui-text); font-weight: var(--ui-weight-semibold); }
.fx-home-table { width: 100%; border-collapse: collapse; background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); overflow: hidden; }
.fx-home-table thead th { height: 36px; padding: 0 var(--ui-space-4); border-bottom: 1px solid var(--ui-border); color: var(--ui-text-muted); font-size: var(--ui-text-xs); font-weight: var(--ui-weight-medium); text-align: left; white-space: nowrap; }
.fx-home-table tbody tr { height: 56px; border-bottom: 1px solid var(--ui-border); }
.fx-home-table tbody tr:last-child { border-bottom: 0; }
.fx-home-table tbody tr:hover { background: var(--ui-hover); }
.fx-home-table td, .fx-home-table tbody th { padding: 0 var(--ui-space-4); text-align: left; font-weight: var(--ui-weight-normal); }
.fx-home-table .fx-home-n { text-align: right; width: 88px; font-variant-numeric: tabular-nums; }
.fx-home-table thead .fx-home-n { text-align: right; }
.fx-home-name { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 0; height: 56px; }
.fx-home-name a { color: var(--ui-text); font-size: var(--ui-text-base); font-weight: var(--ui-weight-semibold); }
.fx-home-repo { max-width: 40ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ui-text-muted); font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); }
.fx-home-need { display: inline-flex; align-items: center; justify-content: flex-end; gap: var(--ui-space-2); }
.fx-home-zero { color: var(--ui-text-muted); }
.fx-home-actions { text-align: right !important; white-space: nowrap; }
.fx-home-actions .ui-btn + .ui-btn { margin-left: var(--ui-space-2); }
@media (max-width: 600px) {
  .fx-home { padding: var(--ui-space-4); }
  .fx-home-table, .fx-home-table tbody { display: block; border: 0; background: transparent; }
  .fx-home-table thead { display: none; }
  .fx-home-table tbody tr { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ui-space-2) var(--ui-space-3); height: auto; margin-bottom: var(--ui-space-3); padding: var(--ui-space-3) var(--ui-space-4); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); background: var(--ui-surface); }
  .fx-home-table tbody th.fx-home-name { grid-column: 1 / -1; height: auto; padding: 0; }
  .fx-home-table td { padding: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
  .fx-home-table td::before { content: attr(data-label); color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
  .fx-home-table .fx-home-n { width: auto; text-align: left; }
  .fx-home-need { justify-content: flex-start; }
  .fx-home-table td.fx-home-actions { grid-column: 1 / -1; flex-direction: row; justify-content: flex-start; }
  .fx-home-table td.fx-home-actions::before { content: none; }
}

/* Board keyboard, motion and move menu. */
.fx-filter-key { margin: 0 0 0 auto; }
.fx-help-btn { padding: 0 var(--ui-space-2); }
.fx-elapsed { color: var(--ui-text-muted); font-weight: var(--ui-weight-normal); flex: none; }
.card[data-landed] { background: var(--fx-flash); }
.card.fx-row[data-landed] { background: var(--fx-flash); }
.card.fx-ghost { position: fixed; z-index: 60; margin: 0; pointer-events: none; background: var(--ui-surface); box-shadow: var(--ui-shadow-md, 0 6px 20px rgba(0, 0, 0, .18)); border-color: var(--ui-border-strong); }
.card.fx-row.fx-ghost { padding: 0 var(--ui-space-5); border: 1px solid var(--ui-border-strong); border-radius: var(--ui-radius-md); }
.fx-move { position: fixed; z-index: 70; box-sizing: border-box; padding: var(--ui-space-1); background: var(--ui-surface); border: 1px solid var(--ui-border-strong); border-radius: var(--ui-radius-lg); box-shadow: var(--ui-shadow-lg, 0 8px 32px rgba(0, 0, 0, .24)); outline: 0; }
.fx-move-head { margin: 0; padding: var(--ui-space-2) var(--ui-space-3); color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.fx-move ul { list-style: none; margin: 0; padding: 0; }
.fx-move li { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-2); height: 32px; padding: 0 var(--ui-space-3); border-radius: var(--ui-radius-md); font-size: var(--ui-text-sm); cursor: pointer; }
.fx-move li[data-active] { background: var(--ui-hover); }
.fx-move:focus-visible li[data-active] { outline: 2px solid var(--ui-accent); outline-offset: -2px; }
.fx-move li[aria-selected="true"] { font-weight: var(--ui-weight-semibold); }
.fx-move li[aria-disabled="true"] { opacity: .5; cursor: default; }
.fx-move-note { display: inline-flex; align-items: center; color: var(--ui-text-muted); font-size: var(--ui-text-xs); font-weight: var(--ui-weight-normal); }
.fx-move-error { margin: var(--ui-space-2) var(--ui-space-3); font-size: var(--ui-text-sm); }
@media (max-width: 600px) { .fx-filter-key, .fx-help-btn { display: none; } }
@media (prefers-reduced-motion: reduce) { .fx-ghost { display: none; } }

/* Home: decisions across factories. */
.fx-inbox { display: flex; flex-direction: column; gap: var(--ui-space-3); }
.fx-inbox-head { display: flex; align-items: center; gap: var(--ui-space-2); margin: 0; font-size: var(--ui-text-md); font-weight: var(--ui-weight-semibold); }
.fx-inbox-count { min-width: 20px; padding: 0 6px; text-align: center; border-radius: var(--ui-radius-full); background: var(--fx-needs-soft); font-size: var(--ui-text-xs); font-weight: var(--ui-weight-medium); }
.fx-inbox-group { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); overflow: hidden; }
.fx-inbox-factory { display: flex; align-items: center; gap: var(--ui-space-2); height: 36px; margin: 0; padding: 0 var(--ui-space-4); border-bottom: 1px solid var(--ui-border); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-semibold); }
.fx-inbox-factory a { color: var(--ui-text); }
.fx-inbox-factory .fx-num { color: var(--ui-text-muted); font-weight: var(--ui-weight-normal); font-size: var(--ui-text-xs); }
.fx-inbox-list { list-style: none; margin: 0; padding: 0; }
.fx-inbox-row { display: grid; grid-template-columns: 16px 40px minmax(0, 1fr) auto 36px auto; align-items: center; gap: var(--ui-space-3); min-height: var(--fx-row); padding: 0 var(--ui-space-4); color: var(--ui-text); border-top: 1px solid var(--ui-border); }
.fx-inbox-list li:first-child .fx-inbox-row { border-top: 0; }
.fx-inbox-row:hover { background: var(--ui-hover); text-decoration: none; }
.fx-inbox-row:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: -2px; }
.fx-inbox-glyph { display: grid; place-items: center; color: var(--fx-needs); }
.fx-inbox-text { display: flex; align-items: baseline; gap: var(--ui-space-3); min-width: 0; }
.fx-inbox-title { flex: none; max-width: 55%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--ui-weight-medium); }
.fx-inbox-reason { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.fx-inbox-cta { color: var(--ui-accent-soft-text); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-medium); white-space: nowrap; }
.fx-inbox-more { display: block; padding: var(--ui-space-2) var(--ui-space-4); border-top: 1px solid var(--ui-border); color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.fx-inbox-clear { display: flex; align-items: center; gap: var(--ui-space-2); margin: 0; color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.fx-inbox-clear .ui-icon { width: 16px; height: 16px; color: var(--ui-success); }
@media (max-width: 600px) {
  .fx-inbox-row { grid-template-columns: 16px 36px minmax(0, 1fr) auto; padding-block: var(--ui-space-2); }
  .fx-inbox-row .fx-pill, .fx-inbox-cta { display: none; }
  .fx-inbox-text { flex-direction: column; gap: 0; }
  .fx-inbox-title { max-width: 100%; }
}

/* Skeleton while the board loads. */
.fx-board-skeleton { flex: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0 var(--ui-space-5); }
.fx-skel-col { display: flex; flex-direction: column; gap: var(--ui-space-2); padding: var(--ui-space-3); border-left: 1px solid var(--ui-border); }
.fx-skel-col:first-child { border-left: 0; }
.fx-skel-head { width: 40%; margin: var(--ui-space-2) 0; }
.fx-skel-card { height: 76px; border-radius: var(--ui-radius-md); }
@media (max-width: 600px) { .fx-board-skeleton { grid-template-columns: 1fr; padding: 0 var(--ui-space-4); } .fx-skel-col:nth-child(n+2) { display: none; } }


.column[data-open="false"] { position: relative; }
.column[data-open="false"] > h2.fx-collapse-label { position: absolute; top: 64px; left: 50%; margin: 0; transform: translateX(-50%) rotate(180deg); pointer-events: none; color: var(--ui-text-muted); }
.column-head > h2 { margin: 0; flex: 1; min-width: 0; font-size: var(--ui-text-sm); font-weight: var(--ui-weight-semibold); }
.column-head > h2 .fx-col-toggle { width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ===== fx: item (owned by the Item work; keep rules inside this section) ===== */
.ix { gap: var(--ui-space-4); }
.ix-head { display: grid; gap: var(--ui-space-2); min-width: 0; }
.ix-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--ui-space-2); font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.ix-meta > * + *::before { content: "·"; content: "·" / ""; margin-right: var(--ui-space-2); }
.ix-meta .ix-stage { color: var(--ui-text); font-weight: var(--ui-weight-semibold); }
.ix-title { margin: 0; max-width: 64ch; font-size: var(--ui-text-xl); font-weight: var(--ui-weight-semibold); letter-spacing: var(--ui-heading-tracking); line-height: 1.3; overflow-wrap: anywhere; }

/* Stage track: neutral dots; only the current stage carries state (live = accent, needs = warning). */
.ix-track { padding-top: var(--ui-space-1); }
.ix-track ol { list-style: none; display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); margin: 0; padding: 0; }
.ix-track li { position: relative; display: grid; grid-auto-rows: min-content; justify-items: start; gap: var(--ui-space-1); min-width: 0; color: var(--ui-text-muted); font-size: var(--ui-text-xs); padding-top: 14px; }
.ix-track li:not(:last-child)::after { content: ""; position: absolute; top: 5px; left: 14px; right: 4px; height: 1px; background: var(--ui-border-strong); }
.ix-track li[data-state="complete"]::after { background: var(--ui-text-muted); }
.ix-dot { position: absolute; top: 0; left: 0; width: 10px; height: 10px; box-sizing: border-box; border-radius: 50%; border: 1.5px solid var(--ui-border-strong); background: var(--ui-surface); z-index: 1; }
.ix-track li[data-state="complete"] .ix-dot { background: var(--ui-text-muted); border-color: var(--ui-text-muted); }
.ix-track li[data-state="current"] { color: var(--ui-text); font-weight: var(--ui-weight-semibold); }
.ix-track li[data-state="current"] .ix-dot { background: var(--ui-text); border-color: var(--ui-text); }
.ix-track li[data-tone="live"] .ix-dot { background: var(--fx-live); border-color: var(--fx-live); box-shadow: 0 0 0 3px var(--fx-live-soft); }
.ix-track li[data-tone="needs"] .ix-dot { background: var(--fx-needs); border-color: var(--fx-needs); box-shadow: 0 0 0 3px var(--fx-needs-soft); }
.ix-track li[data-tone="failed"] .ix-dot { background: var(--ui-danger); border-color: var(--ui-danger); box-shadow: 0 0 0 3px var(--ui-danger-soft); }
.ix-track-now { display: none; }
.ix-stage-name { display: inline-flex; align-items: center; gap: 2px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ix-gate { display: inline-flex; color: var(--fx-needs); }
.ix-gate .ui-icon { width: 11px; height: 11px; }
.ix-stage-time { color: var(--ui-text-muted); font-weight: normal; font-size: var(--ui-text-2xs); }

/* Grid: tabs, content and the trace rail. The rail sits under the content on narrow pages and beside it from 900px. */
.ix-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "tabs" "content" "rail"; align-items: start; row-gap: var(--ui-space-4); min-width: 0; }
.ix-rail { grid-area: rail; min-width: 0; }
.ix-tabs { grid-area: tabs; justify-self: start; max-width: 100%; overflow-x: auto; }
.ix-content { grid-area: content; min-width: 0; max-width: 780px; }
@container (min-width: 900px) {
  .ix-grid { grid-template-columns: minmax(0, 1fr) 300px; grid-template-areas: "tabs rail" "content rail"; column-gap: var(--ui-space-8); grid-template-rows: auto 1fr; }
  .ix-rail { position: sticky; top: var(--ui-space-4); align-self: start; max-height: calc(100vh - var(--ui-space-8)); overflow-y: auto; }
  .ix-rail-toggle { display: none !important; }
  .tr-rail-body { display: grid !important; }
}

/* Now block: left-ruled by state. */
.ix-now { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--ui-space-3) var(--ui-space-5); padding: var(--ui-space-4) var(--ui-space-5); border: 1px solid var(--ui-border); border-left: 3px solid var(--ui-border-strong); border-radius: var(--ui-radius-lg); background: var(--ui-surface); }
.ix-now[data-state="live"] { border-left-color: var(--fx-live); }
.ix-now[data-state="queued"] { border-left-color: var(--ui-text-muted); }
.ix-now[data-state="needs"] { border-left-color: var(--fx-needs); }
.ix-now[data-state="failed"] { border-left-color: var(--ui-danger); }
.ix-now[data-state="done"] { border-left-color: var(--ui-success); }
.ix-now-main { flex: 1 1 320px; min-width: 0; display: grid; gap: var(--ui-space-2); }
.ix-now-title { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); min-width: 0; }
.ix-now-title strong { font-size: var(--ui-text-md); font-weight: var(--ui-weight-semibold); overflow-wrap: anywhere; }
.ix-now-time { color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.ix-now-sub, .ix-now-step { margin: 0; color: var(--ui-text-muted); font-size: var(--ui-text-sm); overflow-wrap: anywhere; }
.ix-now-step { color: var(--ui-text); }
.ix-now-meter { padding-top: var(--ui-space-1); }
.ix-now-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); flex: none; }
.ix-commit { font-family: var(--ui-font-mono); font-size: var(--ui-text-sm); }
.ix-quote { margin: 0; padding: var(--ui-space-1) var(--ui-space-3); border-left: 2px solid var(--ui-ai); background: var(--ui-ai-soft); border-radius: 0 var(--ui-radius-sm) var(--ui-radius-sm) 0; font-size: var(--ui-text-md); overflow-wrap: anywhere; max-width: 72ch; }
.ix-details { font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.ix-details pre { margin: var(--ui-space-2) 0 0; max-height: 280px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 600px) { .ix-now { padding: var(--ui-space-3) var(--ui-space-4); } .ix-now-actions { width: 100%; } .ix-now-actions .ui-btn { flex: 1 1 auto; justify-content: center; } .ix-stage-time { display: none; } .ix-track li { font-size: var(--ui-text-2xs); } }

/* Rail */
.ix-rail-toggle { width: 100%; justify-content: flex-start; }
.ix-rail-body { display: none; gap: var(--ui-space-5); padding-top: var(--ui-space-3); min-width: 0; }
.ix-rail[data-open] .ix-rail-body { display: grid; }
.ix-rail-title { margin: 0 0 var(--ui-space-2); font-size: var(--ui-text-xs); font-weight: var(--ui-weight-semibold); text-transform: uppercase; letter-spacing: .06em; color: var(--ui-text-muted); }
.ix-props { display: grid; grid-template-columns: 88px minmax(0, 1fr); margin: 0; font-size: var(--ui-text-sm); }
.ix-props dt, .ix-props dd { margin: 0; padding: var(--ui-space-2) 0; border-top: 1px solid var(--ui-border); min-width: 0; overflow-wrap: anywhere; }
.ix-props dt { color: var(--ui-text-muted); }
.ix-props dt a { color: inherit; }
.ix-props dt a:hover { color: var(--ui-text); }
.ix-branch { font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); overflow-wrap: anywhere; }
.ix-muted { color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.ix-activity { list-style: none; margin: 0; padding: 0; display: grid; }
.ix-activity li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: var(--ui-space-2); position: relative; padding-bottom: var(--ui-space-3); }
.ix-activity li:not(:last-child)::before { content: ""; position: absolute; left: 9px; top: 20px; bottom: 0; width: 1px; background: var(--ui-border); }
.ix-act-icon { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--ui-sunken); color: var(--ui-text-muted); }
.ix-act-icon .ui-icon { width: 12px; height: 12px; }
.ix-activity li[data-tone="ok"] .ix-act-icon { color: var(--ui-success); }
.ix-activity li[data-tone="bad"] .ix-act-icon { color: var(--ui-danger); }
.ix-act-body { min-width: 0; font-size: var(--ui-text-sm); }
.ix-act-body p { margin: 0; overflow-wrap: anywhere; }
.ix-act-meta { display: flex; flex-wrap: wrap; gap: 0 var(--ui-space-2); color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.ix-triage { padding: var(--ui-space-3) var(--ui-space-4); border-left: 2px solid var(--ui-ai); background: var(--ui-ai-soft); border-radius: 0 var(--ui-radius-md) var(--ui-radius-md) 0; }
.ix-triage .section-head { margin-bottom: var(--ui-space-2); }
.ix-triage .prose { font-size: var(--ui-text-sm); margin: 0; }
.ix-shape { padding: var(--ui-space-3) var(--ui-space-4); border-left: 2px solid var(--ui-ai); background: var(--ui-ai-soft); border-radius: 0 var(--ui-radius-md) var(--ui-radius-md) 0; display: grid; gap: var(--ui-space-3); }
.ix-shape .section-head { margin-bottom: 0; }
.ix-shape .prose { font-size: var(--ui-text-sm); margin: 0; }
.sx-badges { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); margin: 0; }
.sx-cite { font-size: var(--ui-text-xs); }
.sx-problem { overflow-wrap: anywhere; }
.sx-h { margin: 0 0 var(--ui-space-1); font-size: var(--ui-text-xs); font-weight: var(--ui-weight-semibold); color: var(--ui-text-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.sx-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ui-space-2); font-size: var(--ui-text-sm); }
.sx-list li { overflow-wrap: anywhere; }
.sx-evidence li { display: grid; grid-template-columns: max-content 1fr; gap: var(--ui-space-2); align-items: start; }
.sx-label[data-label="fact"]::before { content: "● "; }
.sx-label[data-label="inference"]::before { content: "◐ "; }
.sx-label[data-label="suggestion"]::before { content: "○ "; }
.sx-next, .sx-foot, .sx-peek p { margin: 0; font-size: var(--ui-text-sm); }
.sx-foot { font-size: var(--ui-text-xs); }
.sx-src { font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); overflow-wrap: anywhere; }
.sx-artifact { border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-surface); padding: var(--ui-space-2) var(--ui-space-3); margin-bottom: var(--ui-space-2); }
.sx-artifact summary { cursor: pointer; }
.sx-decision { display: grid; gap: var(--ui-space-2); padding: var(--ui-space-3); border: 1px solid var(--ui-border-strong); border-radius: var(--ui-radius-md); background: var(--ui-surface); }
.sx-decision-why { margin: 0; font-size: var(--ui-text-sm); }
.sx-actions { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); }
.sx-form { display: grid; gap: var(--ui-space-3); }
.sx-fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: var(--ui-space-3); min-width: 0; }
.sx-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--ui-space-3); }
.sx-rows { display: grid; gap: var(--ui-space-2); }
.sx-rows-head { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-2); }
.sx-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) max-content; gap: var(--ui-space-2); align-items: start; }
.sx-row--art { grid-template-columns: 1fr 1fr max-content; }
.sx-row--art textarea { grid-column: 1 / -2; }
.sx-peek { display: grid; gap: var(--ui-space-2); }
.sx-peek .ix-rail-title { margin: 0; }
@media (max-width: 600px) { .sx-row, .sx-row--art { grid-template-columns: 1fr; } .sx-row--art textarea { grid-column: auto; } .sx-form input, .sx-form select, .sx-form textarea { font-size: 16px; } }
.ix-overview { display: flex; flex-direction: column; gap: var(--ui-space-4); }

/* ---- Hero: header, stage track and the Now band are one surface. ---- */
.ix-hero { position: relative; display: grid; gap: var(--ui-space-3); padding: var(--ui-space-4) var(--ui-space-5) 0; min-width: 0; background: var(--ui-surface); border: 1px solid var(--ui-border); border-left: 3px solid var(--ui-border-strong); border-radius: var(--ui-radius-lg); box-shadow: var(--ui-shadow-sm); }
.ix-hero[data-tone="live"] { border-left-color: var(--fx-live); }
.ix-hero[data-tone="needs"] { border-left-color: var(--fx-needs); }
.ix-hero[data-tone="failed"] { border-left-color: var(--ui-danger); }
.ix-hero[data-tone="done"] { border-left-color: var(--ui-success); }
.ix-hairline { display: none; position: absolute; inset: 0 0 auto 0; height: 2px; overflow: hidden; border-radius: var(--ui-radius-lg) var(--ui-radius-lg) 0 0; background: var(--fx-live-soft); }
.ix-hero[data-tone="live"] .ix-hairline { display: block; }
.ix-hairline::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 30%; background: var(--fx-live); animation: ix-sweep 1.6s var(--ui-ease) infinite; }
@keyframes ix-sweep { from { transform: translateX(-100%); } to { transform: translateX(340%); } }
.ix-hero-top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--ui-space-3); min-width: 0; margin-right: calc(-1 * var(--ui-space-2)); }
.ix-hero .ix-meta { flex: 1 1 auto; min-width: 0; padding-top: var(--ui-space-1); }
.ix-hero .ix-title { max-width: 72ch; font-family: var(--ui-font-display); }
.ix-hero .ix-track { padding-top: var(--ui-space-2); padding-bottom: var(--ui-space-1); }
.ix-menu-wrap { position: relative; flex: none; }
.ix-menu { position: absolute; z-index: var(--ui-z-popover); top: calc(100% + 4px); right: 0; min-width: 224px; }
.ix-menu-danger, .ix-menu-danger .ui-icon { color: var(--ui-danger); }
.ix-stage-pick { display: grid; gap: var(--ui-space-2); margin: 0 0 var(--ui-space-4); padding: 0; border: 0; }

/* The band: eyebrow, headline, reason, one primary. */
.ix-band-slot { margin: var(--ui-space-1) calc(-1 * var(--ui-space-5)) 0; }
.ix-band { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--ui-space-3) var(--ui-space-5); padding: var(--ui-space-4) var(--ui-space-5); border-top: 1px solid var(--ui-border); border-radius: 0 0 calc(var(--ui-radius-lg) - 1px) 0; background: var(--ui-sunken); }
.ix-band[data-state="needs"] { background: color-mix(in srgb, var(--fx-needs-soft) 45%, var(--ui-surface)); }
.ix-band[data-state="failed"] { background: color-mix(in srgb, var(--ui-danger-soft) 60%, var(--ui-surface)); }
.ix-band[data-state="live"] { background: color-mix(in srgb, var(--fx-live-soft) 50%, var(--ui-surface)); }
.ix-band[data-compact] { margin: 0; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); padding: var(--ui-space-3) var(--ui-space-4); }
.ix-band-main { flex: 1 1 360px; min-width: 0; display: grid; gap: var(--ui-space-1); }
.ix-band-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); margin: 0; font-size: var(--ui-text-xs); font-weight: var(--ui-weight-semibold); color: var(--ui-text-muted); }
.ix-band-eyebrow .ix-band-clock { font-weight: normal; }
.ix-band-eyebrow .ix-band-clock::before { content: "·"; content: "·" / ""; margin-right: var(--ui-space-2); }
.ix-band[data-state="needs"] .ix-band-state { color: var(--ui-text); }
.ix-band[data-state="failed"] .ix-band-state { color: var(--ui-danger); }
.ix-band[data-overdue] .ix-band-state { color: var(--ui-warning); }
.ix-band-overdue { padding: 2px 6px; border-radius: var(--ui-radius-xs); background: var(--fx-needs-soft); color: var(--ui-warning); font-size: var(--ui-text-2xs); text-transform: uppercase; letter-spacing: .04em; }
.ix-band-headline { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); margin: 0; font-size: var(--ui-text-md); font-weight: var(--ui-weight-semibold); overflow-wrap: anywhere; }
.ix-spark { display: inline-flex; color: var(--ui-ai); }
.ix-band-reason { margin: 0; max-width: 72ch; font-size: var(--ui-text-sm); color: var(--ui-text-muted); overflow-wrap: anywhere; }
.ix-band-reason .fx-num { color: inherit; }
.ix-band-step { display: block; margin-top: 2px; color: var(--ui-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ix-band-next { margin: var(--ui-space-1) 0 0; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.ix-band-next > span { margin-right: var(--ui-space-2); color: var(--ui-text); font-weight: var(--ui-weight-semibold); }
.ix-band-blocked { font-size: var(--ui-text-sm); }
.ix-band-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--ui-space-2); flex: none; }
.ix-band-actions .ui-btn--primary { order: -1; }
.ix-band-run { display: inline-flex; flex-direction: column; align-items: flex-end; gap: var(--ui-space-1); }
.ix-steer { display: grid; gap: var(--ui-space-2); margin-top: var(--ui-space-2); max-width: 72ch; }
.ix-steer-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); }
.ix-band .ix-quote { margin-top: var(--ui-space-1); }

/* Mirror: the band's state and primary in the topbar, and a bar on phones, while the band is scrolled away. */
.ix-mirror { display: inline-flex; align-items: center; gap: var(--ui-space-2); min-width: 0; }
.ix-mirror-state { font-size: var(--ui-text-sm); font-weight: var(--ui-weight-semibold); white-space: nowrap; }
.ix-mobilebar { display: none; }
.tab-ok { display: inline-grid; place-items: center; padding: 0; width: 16px; height: 16px; min-width: 0; color: var(--ui-success); }
.tab-ok .ui-icon { width: 11px; height: 11px; }
@media (max-width: 600px) {
  .ix-hero { padding: var(--ui-space-3) var(--ui-space-4) 0; }
  .ix-band-slot { margin-inline: calc(-1 * var(--ui-space-4)); }
  .ix-band { padding: var(--ui-space-3) var(--ui-space-4); }
  .ix-band-actions { width: 100%; justify-content: stretch; }
  .ix-band-actions .ui-btn { flex: 1 1 auto; justify-content: center; min-height: 40px; }
  .ix-band-run { flex: 1 1 auto; align-items: stretch; }
  .ix-mirror { display: none; }
  .ix-mobilebar { position: fixed; z-index: var(--ui-z-sticky); inset: auto 0 0 0; display: flex; align-items: center; gap: var(--ui-space-3); min-height: 56px; padding: var(--ui-space-2) var(--ui-space-4) calc(var(--ui-space-2) + env(safe-area-inset-bottom, 0px)); background: var(--ui-surface-raised); border-top: 1px solid var(--ui-border); box-shadow: var(--ui-shadow-lg); }
  .ix-mobilebar .ix-mirror-state { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; }
  .ix-mobilebar .ui-btn { min-height: 44px; }
  .ix-mobilebar .fx-kbd { display: none; }
  .ix-track-now { display: flex; align-items: baseline; gap: var(--ui-space-1); margin: 0 0 var(--ui-space-2); font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
  .ix-track-now strong { color: var(--ui-text); }
  .ix-track-pos { margin-left: auto; font-size: var(--ui-text-xs); }
  .ix-track ol { display: flex; gap: 3px; }
  .ix-track li { flex: 1 1 0; height: 4px; padding: 0; border-radius: 2px; background: var(--ui-border-strong); }
  .ix-track li[data-state="complete"] { background: var(--ui-text-muted); }
  .ix-track li[data-state="current"] { background: var(--ui-text); }
  .ix-track li[data-tone="live"] { background: var(--fx-live); }
  .ix-track li[data-tone="needs"] { background: var(--fx-needs); }
  .ix-track li[data-tone="failed"] { background: var(--ui-danger); }
  .ix-track li::after, .ix-track li .ix-dot { display: none; }
  .ix-track li .ix-stage-name, .ix-track li .ix-stage-time { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .ix-track--compact .ix-track-now { display: none; }
}
.ix-track--compact ol { grid-template-columns: repeat(10, minmax(0, 1fr)); }

/* ---- Trace: one entry per run, with who did it and what it cost. ---- */
.tr-rail-body { display: none; gap: var(--ui-space-5); min-width: 0; padding-top: var(--ui-space-1); }
.tr-panel { display: grid; gap: var(--ui-space-5); }
.tr-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--ui-space-2); margin-bottom: var(--ui-space-3); }
.tr-head .ix-rail-title { margin: 0; }
.tr-totals { margin: 0; font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.tr-list { list-style: none; margin: 0; padding: 0; display: grid; }
.tr-entry { position: relative; display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: var(--ui-space-2); padding-bottom: var(--ui-space-4); }
.tr-entry[hidden] { display: none; }
.tr-entry:not(:last-child)::before { content: ""; position: absolute; left: 9px; top: 22px; bottom: 2px; width: 1px; background: var(--ui-border); }
.tr-mark { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--ui-sunken); color: var(--ui-text-muted); }
.tr-mark .ui-icon { width: 12px; height: 12px; }
.tr-entry[data-type="agent"] .tr-mark { background: var(--ui-ai-soft); color: var(--ui-ai); }
.tr-entry[data-type="failure"] .tr-mark { background: var(--ui-danger-soft); color: var(--ui-danger); }
.tr-entry[data-type="handoff"] .tr-mark { background: var(--fx-needs-soft); color: var(--ui-text); }
.tr-entry[data-type="now"] .tr-mark { background: transparent; }
.tr-avatar.is-approval { box-shadow: 0 0 0 2px var(--ui-success-soft), 0 0 0 3px var(--ui-success); }
.tr-entry-body { min-width: 0; font-size: var(--ui-text-sm); }
.tr-text { margin: 0; overflow-wrap: anywhere; }
.tr-note { color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.tr-group { color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.tr-group summary { cursor: pointer; }
.tr-group ul { margin: var(--ui-space-1) 0 0; padding-left: var(--ui-space-4); }
.tr-entry[data-type="now"] .tr-text { font-weight: var(--ui-weight-semibold); }
.tr-instruction { margin: var(--ui-space-1) 0 0; padding-left: var(--ui-space-3); border-left: 2px solid var(--ui-border-strong); color: var(--ui-text-muted); font-size: var(--ui-text-xs); overflow-wrap: anywhere; }
.tr-why { margin: var(--ui-space-1) 0 0; padding: var(--ui-space-1) var(--ui-space-2); font-size: var(--ui-text-xs); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.tr-why[data-open] { display: block; -webkit-line-clamp: unset; line-clamp: unset; }
.tr-more { height: auto; margin-top: 2px; font-size: var(--ui-text-xs); }
.tr-meta { display: flex; flex-wrap: wrap; gap: 0 var(--ui-space-2); color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.tr-meta > * + *::before { content: "·"; content: "·" / ""; margin-right: var(--ui-space-2); }
.tr-fold { margin: calc(-1 * var(--ui-space-2)) 0 var(--ui-space-2) 28px; }
.tr-props { margin-top: var(--ui-space-2); }
.tr-branch { display: flex; align-items: center; gap: var(--ui-space-1); }
.tr-branch .ix-branch { min-width: 0; }

/* ---- Spec: a document the agent wrote. ---- */
.sd-doc { display: grid; gap: var(--ui-space-5); min-width: 0; }
.sd-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "main actions" "byline actions"; align-items: center; gap: var(--ui-space-1) var(--ui-space-4); }
.sd-head-main { grid-area: main; display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); min-width: 0; }
.sd-title { font-size: var(--ui-text-lg); }
.sd-when { color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.sd-byline { grid-area: byline; display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-1); margin: 0; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.sd-byline .ui-icon { width: 14px; height: 14px; color: var(--ui-ai); }
.sd-head-actions { grid-area: actions; display: flex; flex-wrap: wrap; gap: var(--ui-space-2); }
.sd-head-actions .ui-icon { color: var(--ui-ai); }
@container (max-width: 640px) { .sd-head { grid-template-columns: minmax(0, 1fr); grid-template-areas: "main" "byline" "actions"; } }
.sd-lint { margin: 0; font-size: var(--ui-text-sm); }
.sd-lint ul { list-style: none; display: grid; gap: var(--ui-space-1); margin: var(--ui-space-2) 0 0; padding: 0; }
.sd-lint li span { font-weight: var(--ui-weight-medium); }
.sd-lint--ok { color: var(--ui-text-muted); }
.sd-lint--ok summary { display: inline-flex; align-items: center; gap: var(--ui-space-2); cursor: pointer; list-style: none; }
.sd-lint--ok summary::-webkit-details-marker { display: none; }
.sd-lint--ok summary .ui-icon { color: var(--ui-success); }
.sd-lint--ok li { font-size: var(--ui-text-xs); }
.sd-lint--ok li small { color: var(--ui-text-muted); }
.sd-summary > * { margin: 0; }
.sd-summary > * + * { margin-top: var(--ui-space-3); }
.sd-summary { margin: 0; max-width: 68ch; padding-left: var(--ui-space-4); border-left: 2px solid var(--ui-ai); font-size: var(--ui-text-base); }
.sd-groups { display: grid; gap: var(--ui-space-6); }
.sd-group { display: grid; gap: var(--ui-space-3); min-width: 0; }
.sd-group-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--ui-space-2); margin: 0; font-family: var(--ui-font-sans); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-semibold); letter-spacing: 0; }
.sd-group-head code { font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.sd-count { font-weight: normal; font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.sd-cards { display: grid; gap: var(--ui-space-3); }
.sd-crit { display: grid; gap: var(--ui-space-3); min-width: 0; padding: var(--ui-space-4) var(--ui-space-5); background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); }
.sd-crit:focus-visible { outline: none; box-shadow: var(--ui-ring); border-color: var(--ui-accent); }
.sd-crit-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--ui-space-2) var(--ui-space-3); }
.sd-crit-title { flex: 1 1 240px; min-width: 0; margin: 0; font-family: var(--ui-font-sans); font-size: var(--ui-text-md); font-weight: var(--ui-weight-semibold); letter-spacing: 0; line-height: 1.4; overflow-wrap: anywhere; }
.sd-crit-id { display: flex; align-items: center; gap: var(--ui-space-1); margin: calc(-1 * var(--ui-space-2)) 0 0; }
.sd-crit-id code { font-size: var(--ui-text-xs); color: var(--ui-text-muted); overflow-wrap: anywhere; }
.sd-copy { opacity: .6; }
.sd-crit:hover .sd-copy, .sd-crit:focus-within .sd-copy { opacity: 1; }
.sd-gwt { display: grid; gap: var(--ui-space-2); margin: 0; padding-left: var(--ui-space-3); border-left: 2px solid var(--ui-ai); }
.sd-gwt-row { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: var(--ui-space-3); }
.sd-gwt dt { padding-top: 3px; font-size: var(--ui-text-2xs); font-weight: var(--ui-weight-semibold); letter-spacing: .06em; text-transform: uppercase; color: var(--ui-text-muted); }
.sd-gwt dd { margin: 0; font-size: var(--ui-text-sm); line-height: var(--ui-leading); overflow-wrap: anywhere; }
.sd-gwt code, .sd-fail code { font-size: .92em; }
.sd-pill { display: inline-flex; align-items: center; gap: var(--ui-space-1); min-height: 22px; padding: 0 var(--ui-space-2); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-full); background: var(--ui-sunken); color: var(--ui-text-muted); font-size: var(--ui-text-xs); font-weight: var(--ui-weight-medium); white-space: nowrap; }
.sd-pill .ui-icon { width: 12px; height: 12px; }
.sd-pill[data-state="passing"] { color: var(--ui-success); background: var(--ui-success-soft); border-color: transparent; }
.sd-pill[data-state="failing"] { color: var(--ui-danger); background: var(--ui-danger-soft); border-color: transparent; }
.sd-pill[data-state="stale"] { color: var(--ui-warning); background: transparent; border-style: dashed; border-color: var(--ui-warning); }
.sd-pill[data-state="verifying"] { color: var(--ui-text); background: var(--fx-live-soft); border-color: transparent; }
.sd-glyph { flex: none; width: 9px; height: 9px; box-sizing: border-box; border: 1.5px solid currentColor; border-radius: 50%; }
.sd-pill[data-state="partial"] .sd-glyph { background: linear-gradient(90deg, currentColor 50%, transparent 50%); }
.sd-pill[data-state="stale"] .sd-glyph { border-style: dashed; }
.sd-pill[data-state="failing"] .sd-glyph { width: 10px; height: 9px; border: 0; border-radius: 1px; background: currentColor; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.sd-pill-proof { display: inline-flex; align-items: center; gap: 2px; min-height: 24px; margin: 0 calc(-1 * var(--ui-space-1)) 0 var(--ui-space-1); padding: 0 var(--ui-space-2); border: 0; border-radius: var(--ui-radius-full); background: color-mix(in srgb, currentColor 14%, transparent); color: inherit; font: inherit; font-weight: var(--ui-weight-semibold); cursor: pointer; }
.sd-pill-proof:hover { background: color-mix(in srgb, currentColor 24%, transparent); }
.sd-pill-proof:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 1px; }
.sd-fail { padding: var(--ui-space-2) var(--ui-space-3); border-radius: var(--ui-radius-md); background: var(--ui-danger-soft); font-size: var(--ui-text-xs); }
.sd-fail-head { display: flex; justify-content: space-between; gap: var(--ui-space-3); color: var(--ui-danger); }
.sd-fail pre { margin: var(--ui-space-1) 0 0; font-family: var(--ui-font-mono); white-space: pre-wrap; overflow-wrap: anywhere; color: var(--ui-text); }
.sd-crit-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ui-space-2); min-height: 32px; padding-top: var(--ui-space-2); border-top: 1px solid var(--ui-border); }
.sd-prov { display: inline-flex; align-items: center; gap: var(--ui-space-1); font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.sd-prov .ui-icon { width: 13px; height: 13px; color: var(--ui-ai); }
.sd-crit-actions { display: inline-flex; gap: var(--ui-space-1); opacity: .6; transition: opacity var(--ui-duration-fast) var(--ui-ease); }
.sd-crit:hover .sd-crit-actions, .sd-crit:focus-within .sd-crit-actions { opacity: 1; }
@media (hover: none) { .sd-crit-actions, .sd-copy { opacity: 1; } }
.sd-add { display: flex; }
.sd-empty { max-width: 460px; }
.sd-skels { display: grid; gap: var(--ui-space-3); }
.sd-crit--skel { gap: var(--ui-space-3); }
.sd-ask { display: grid; gap: var(--ui-space-2); margin-top: var(--ui-space-2); padding: var(--ui-space-3) var(--ui-space-4); border-left: 2px solid var(--ui-ai); border-radius: 0 var(--ui-radius-md) var(--ui-radius-md) 0; background: var(--ui-ai-soft); }
.sd-ask-label { display: flex; align-items: center; gap: var(--ui-space-2); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-semibold); }
.sd-ask-label .ui-icon { color: var(--ui-ai); }
.sd-ask-input { min-height: 56px; font: inherit; }
.sd-ask-warn { margin: 0; font-size: var(--ui-text-xs); color: var(--ui-text); }
.sd-ask-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); }
.sd-ask-row .fx-hint { flex: 1 1 220px; }
/* Worth a look before building: a quiet aside from the Spec agent, not an alert. Shape and glyph, not colour, tell the kinds apart. */
.sd-notes { display: grid; gap: var(--ui-space-2); padding: var(--ui-space-3) var(--ui-space-4); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: transparent; }
.sd-notes:focus-visible, .sd-note:focus-visible { outline: none; box-shadow: var(--ui-ring); }
.sd-notes-head { display: flex; align-items: center; gap: var(--ui-space-2); margin: 0; font-family: var(--ui-font-sans); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-semibold); letter-spacing: 0; color: var(--ui-text); }
.sd-notes-head .ui-icon { width: 14px; height: 14px; color: var(--ui-ai); }
.sd-notes-list { list-style: none; display: grid; margin: 0; padding: 0; }
.sd-note { display: grid; grid-template-columns: 106px minmax(0, 1fr) auto; gap: var(--ui-space-1) var(--ui-space-3); align-items: start; padding: var(--ui-space-3) 0; border-radius: var(--ui-radius-sm); }
.sd-note + .sd-note { border-top: 1px solid var(--ui-border); }
.sd-note:first-child { padding-top: var(--ui-space-2); }
.sd-note:last-child { padding-bottom: 0; }
.sd-note-tag { justify-self: start; white-space: nowrap; background: transparent; border: 1px solid var(--ui-border-strong); color: var(--ui-text-muted); font-weight: var(--ui-weight-medium); }
.sd-note-tag::before { margin-right: 5px; font-size: .9em; }
.sd-note-tag[data-kind="assumption"]::before, .sd-flag[data-kind="assumption"]::before { content: "\25D0"; }
.sd-note-tag[data-kind="question"]::before, .sd-flag[data-kind="question"]::before { content: "?"; font-weight: var(--ui-weight-semibold); }
.sd-note-tag[data-kind="risk"]::before, .sd-flag[data-kind="risk"]::before { content: "\25B2"; font-size: .7em; vertical-align: .1em; }
.sd-note-body { min-width: 0; display: grid; gap: var(--ui-space-1); }
.sd-note-text { margin: 0; font-size: var(--ui-text-sm); line-height: var(--ui-leading); overflow-wrap: anywhere; }
.sd-note-meta { display: flex; flex-wrap: wrap; gap: 0 var(--ui-space-3); margin: 0; font-size: var(--ui-text-xs); color: var(--ui-text-muted); overflow-wrap: anywhere; }
.sd-note-meta .sx-src, .sd-note-meta code { font-size: var(--ui-text-xs); }
.sd-note-crit { color: var(--ui-text-muted); text-decoration: underline; text-decoration-color: var(--ui-border-strong); text-underline-offset: 2px; }
.sd-note-crit:hover { color: var(--ui-text); text-decoration-color: currentColor; }
.sd-note-act { align-self: start; margin: -3px 0; opacity: .75; }
.sd-note:hover .sd-note-act, .sd-note:focus-within .sd-note-act { opacity: 1; }
.sd-note .sd-ask { margin-top: var(--ui-space-2); }
.sd-note[data-replying] .sd-note-body { grid-column: 2 / -1; }
.sd-flag { display: inline-flex; align-items: center; min-height: 20px; padding: 0 var(--ui-space-2); border: 1px solid var(--ui-border-strong); border-radius: var(--ui-radius-full); background: transparent; color: var(--ui-text-muted); font: inherit; font-size: var(--ui-text-xs); line-height: 1; cursor: pointer; }
.sd-flag::before { margin-right: 5px; font-size: .9em; }
.sd-flag:hover { color: var(--ui-text); border-color: var(--ui-text-muted); }
.sd-flag:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 1px; }
.sd-crit-id { flex-wrap: wrap; }
.sd-crit-id .sd-flag { margin-left: var(--ui-space-2); }
.sd-crit[data-landed], .sd-note[data-landed], .sd-notes[data-landed] { animation: sd-land 1.8s var(--ui-ease) 1; }
@keyframes sd-land { 0%, 55% { box-shadow: 0 0 0 2px var(--ui-ai); } 100% { box-shadow: 0 0 0 2px transparent; } }
@container (max-width: 560px) {
  .sd-note { grid-template-columns: minmax(0, 1fr) auto; }
  .sd-note-tag { grid-column: 1 / -1; }
  .sd-note-body { grid-column: 1; }
  .sd-note[data-replying] .sd-note-body { grid-column: 1 / -1; }
  .sd-note-act { grid-column: 2; grid-row: 2; }
}
.sd-edit { display: grid; gap: var(--ui-space-5); }
.sd-field { display: grid; gap: var(--ui-space-1); }
.sd-grow { width: 100%; min-height: 36px; resize: none; overflow: hidden; }
.sd-edit .section-head { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-2); }
.sd-feat-edit, .sd-crit-edit-list { display: grid; gap: var(--ui-space-3); }
.sd-crit--edit { list-style: none; }
.sd-title-input { font-weight: var(--ui-weight-semibold); }
.sd-details { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--ui-space-3); }
.sd-details label { display: grid; gap: 2px; font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.sd-details label:has(.crit-id-input) { flex: 0 1 auto; max-width: 100%; }
.sd-details .crit-id-input { width: auto; max-width: 100%; }
.sd-gwt-edit { display: grid; gap: var(--ui-space-3); }
.sd-gwt-edit label { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: var(--ui-space-3); align-items: start; }
.sd-gwt-edit label > span { padding-top: 9px; font-size: var(--ui-text-2xs); font-weight: var(--ui-weight-semibold); letter-spacing: .06em; text-transform: uppercase; color: var(--ui-text-muted); }
.sd-savebar { position: sticky; bottom: var(--ui-space-3); z-index: var(--ui-z-sticky); display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); padding: var(--ui-space-3); background: var(--ui-surface-raised); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); box-shadow: var(--ui-shadow-lg); }
.sd-savebar-msg { flex: 1 1 260px; display: grid; gap: var(--ui-space-1); min-width: 0; font-size: var(--ui-text-sm); }
.sd-savebar-msg .ui-error { margin: 0; }
.sd-warn { display: flex; align-items: flex-start; gap: var(--ui-space-2); color: var(--ui-text); }
.sd-warn .ui-icon { flex: none; margin-top: 2px; color: var(--ui-warning); }
@media (max-width: 600px) {
  .sd-gwt-row, .sd-gwt-edit label { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .sd-gwt-edit label > span { padding-top: 0; }
  .sd-crit { padding: var(--ui-space-4); }
  .sd-details .crit-id-input { width: 100%; }
  .factory-workbench .ui-page-inner.wide.ix { padding-bottom: 88px; }
  .sd-ask-input, .sd-edit input, .sd-edit select, .sd-edit textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .ix-hairline::after { animation: none; width: 100%; }
  .sd-crit-actions { transition: none; }
  .sd-crit[data-landed], .sd-note[data-landed], .sd-notes[data-landed] { animation: none; box-shadow: 0 0 0 2px var(--ui-ai); }
}

.ix-keys { display: grid; grid-template-columns: max-content 1fr; gap: var(--ui-space-2) var(--ui-space-4); margin: 0 0 var(--ui-space-4); }
.ix-keys dt, .ix-keys dd { margin: 0; }
.ix-keys dd { color: var(--ui-text-muted); }
.ix .fx-kbd, .topbar .fx-kbd { margin-left: var(--ui-space-2); }
@media (max-width: 600px) { .topbar .fx-kbd { display: none; } }

/* Run page: Now header, streaming caret, jump pill */
@keyframes ix-caret { 50% { opacity: 0; } }

/* Loading skeleton */
.ix-skel { height: 14px; }
.ix-skel-now { height: 72px; border-radius: var(--ui-radius-lg); grid-area: now; }
.ix-rail-skel { display: grid; gap: var(--ui-space-3); }
@media (prefers-reduced-motion: reduce) { .ix .ui-skeleton { animation: none; } }


/* Rollout after Ship: state, verdict, evidence and the hand controls. */
.ix-rollout-facts { grid-template-columns: 140px minmax(0, 1fr); }
.ix-verdict { display: grid; gap: var(--ui-space-2); padding: var(--ui-space-3); border: 1px solid var(--ui-border); border-radius: var(--ui-radius); }
.ix-verdict[data-verdict="reopened"] { border-color: var(--ui-danger, var(--ui-border)); }
.ix-verdict p { margin: 0; overflow-wrap: anywhere; }
.ix-rollout-facts dd, .ix-verdict-history li { overflow-wrap: anywhere; }
@media (max-width: 480px) { .ix-rollout-facts { grid-template-columns: minmax(0, 1fr); } }
.ix-evidence-links, .ix-verdict-history { margin: 0; padding-left: var(--ui-space-4); display: grid; gap: var(--ui-space-1); font-size: var(--ui-text-sm); }
.ix-verdict-history { gap: var(--ui-space-2); }
.ix-verdict-form { max-width: 560px; }
.fx-peek-rollout { margin: 0; font-size: var(--ui-text-sm); overflow-wrap: anywhere; }
.fx-peek-rollout .ix-rail-title { display: inline; margin: 0; }
/* Routing policies: editor (Settings -> Policy) and item route progress */
.rt-editor { border-top: 1px solid var(--ui-border, #37333b); padding-top: var(--ui-space-4, 16px); }
.rt-title { font-size: .96rem; margin: 0 0 4px; }
.rt-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ui-space-3, 12px); }
.rt-row { display: flex; flex-wrap: wrap; gap: var(--ui-space-3, 12px); align-items: flex-start; justify-content: space-between; border: 1px solid var(--ui-border, #37333b); border-radius: 12px; padding: var(--ui-space-3, 12px) var(--ui-space-4, 16px); }
.rt-row-body { flex: 1 1 360px; display: grid; gap: var(--ui-space-3, 12px); min-width: 0; }
.rt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--ui-space-3, 12px); }
.rt-agents-block { display: grid; gap: var(--ui-space-2, 8px); }
.rt-agents { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.rt-chip { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; border: 1px solid var(--ui-border, #37333b); border-radius: 999px; padding: 2px 6px 2px 12px; }
.rt-chip-name { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.rt-add { display: flex; flex-wrap: wrap; gap: var(--ui-space-2, 8px); align-items: flex-end; }
.rt-add-field { flex: 1 1 200px; }
.rt-new { display: flex; flex-wrap: wrap; gap: var(--ui-space-2, 8px); align-items: flex-end; }
.rt-new .ui-field { flex: 1 1 200px; }
.rt-new .ui-error { flex-basis: 100%; margin: 0; }
.rt-actions { display: flex; flex-wrap: wrap; gap: var(--ui-space-2, 8px); align-items: center; }
.rt-progress { margin: var(--ui-space-2, 8px) 0; font-size: .9rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 4px; }
.rt-progress-label { font-weight: 600; }
.rt-steps { list-style: none; margin: 0; padding: 0; display: inline-flex; flex-wrap: wrap; }
.rt-steps li[data-status="running"] .rt-step-status { font-weight: 600; }
.rt-steps li[data-status="failed"] .rt-step-status { font-weight: 700; }
.rt-step-status { color: var(--ui-muted, #a6a0ab); }

/* The Foreman: Settings -> Policy controls, the Operations line and panel, the risk assessment on an item. */
.foreman-policy { border-top: 1px solid var(--ui-border); padding-top: var(--ui-space-4); }
.foreman-limits { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--ui-space-3); }
.foreman-sentence { margin: 0; padding: var(--ui-space-3); border: 1px solid var(--ui-border); border-radius: var(--ui-radius); background: var(--ui-surface); overflow-wrap: anywhere; }
.fx-foreman { padding: 0; overflow: hidden; }
.fx-foreman-toggle { display: flex; align-items: center; gap: var(--ui-space-3); width: 100%; min-height: 40px; padding: var(--ui-space-2) var(--ui-space-4); border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.fx-foreman-toggle:hover { background: var(--ui-hover); }
.fx-foreman-line { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.fx-foreman-toggle .ui-icon { flex: none; color: var(--ui-text-muted); }
.fx-foreman-panel { padding: var(--ui-space-3) var(--ui-space-4) var(--ui-space-4); border-top: 1px solid var(--ui-border); font-size: var(--ui-text-sm); }
.fx-foreman-panel p { margin: 0; overflow-wrap: anywhere; }
.fx-foreman-head { margin: var(--ui-space-2) 0 0; font-size: var(--ui-text-sm); font-weight: var(--ui-weight-semibold); }
.fx-foreman-actions, .fx-foreman-asks, .fx-foreman-approvals, .fx-foreman-evidence { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ui-space-2); }
.ix-risk-list { margin: 0; padding-left: var(--ui-space-4); display: grid; gap: var(--ui-space-2); }
.fx-foreman-action, .fx-foreman-approval { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--ui-space-1) var(--ui-space-2); overflow-wrap: anywhere; }
.fx-foreman-kind { font-weight: var(--ui-weight-medium); }
.fx-foreman-reason { color: var(--ui-text-muted); }
.fx-foreman-ask-row { display: grid; gap: var(--ui-space-2); justify-items: start; padding: var(--ui-space-2) 0; }
.fx-foreman-skel { padding: var(--ui-space-3) var(--ui-space-4); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); }
.fx-foreman-off { text-decoration: none; }
.ix-risk[data-overridden] { border-color: var(--ui-danger, var(--ui-border)); }

/* Portfolio: every factory at a glance (product-loop.md §12.5). */
.fx-portfolio { display: flex; flex-direction: column; gap: var(--ui-space-3); }
.fx-portfolio-head { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-3); }
.fx-portfolio-filter { max-width: 240px; }
.fx-portfolio-none { padding: var(--ui-space-4) !important; color: var(--ui-text-muted); }
.fx-home-stuck { color: var(--fx-needs, var(--ui-text)); font-weight: var(--ui-weight-semibold); }
.fx-portfolio-foot { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--ui-space-5); }
.fx-portfolio-recent, .fx-portfolio-capacity { display: flex; flex-direction: column; gap: var(--ui-space-2); min-width: 0; }
.fx-portfolio-capacity p { margin: 0; font-size: var(--ui-text-sm); }
.fx-portfolio-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); background: var(--ui-surface); }
.fx-portfolio-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: var(--ui-space-3); min-height: 40px; padding: 0 var(--ui-space-4); border-bottom: 1px solid var(--ui-border); font-size: var(--ui-text-sm); }
.fx-portfolio-list li:last-child { border-bottom: 0; }
.fx-portfolio-list li a { display: flex; gap: var(--ui-space-2); min-width: 0; color: var(--ui-text); }
.fx-portfolio-list .fx-inbox-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fx-product-preview { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--ui-space-1) var(--ui-space-3); margin: 0; padding: var(--ui-space-3); border-radius: var(--ui-radius-md); background: var(--ui-hover); font-size: var(--ui-text-sm); }
.fx-product-preview dt { color: var(--ui-text-muted); }
.fx-product-preview dd { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); margin: 0; }
.side-filter { margin: 0 var(--ui-space-2) var(--ui-space-2); width: calc(100% - 2 * var(--ui-space-2)); }
@media (max-width: 600px) {
  .fx-portfolio-head { flex-direction: column; align-items: stretch; }
  .fx-portfolio-filter { max-width: none; }
  .fx-portfolio-foot { grid-template-columns: minmax(0, 1fr); }
  .fx-portfolio-list li { grid-template-columns: minmax(0, 1fr) auto; }
  .fx-portfolio-list li > .fx-hint:first-of-type { display: none; }
  .fx-home-table tbody tr { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ===== fx-rel: Releases — shipped work by rollout state ===== */
.fx-rel-policy { margin: var(--ui-space-4) var(--ui-space-5) 0; font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-rel-policy a { color: inherit; }
.fx-rel-chips { padding: var(--ui-space-2) var(--ui-space-5); border-bottom: 1px solid var(--ui-border); }
.fx-rel-list { list-style: none; margin: 0; padding: 0; }
.fx-rel-row { display: grid; gap: var(--ui-space-1); padding: var(--ui-space-3) var(--ui-space-5); border-bottom: 1px solid var(--ui-border); min-width: 0; }
.fx-rel-top { display: flex; align-items: baseline; gap: var(--ui-space-3); min-width: 0; }
.fx-rel-item { display: flex; align-items: baseline; gap: var(--ui-space-2); min-width: 0; color: var(--ui-text); text-decoration: none; }
.fx-rel-item:hover .fx-rel-title { text-decoration: underline; }
.fx-rel-item:focus-visible, .fx-rel-line a:focus-visible, .fx-rel-more a:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 2px; border-radius: var(--ui-radius-sm); }
.fx-rel-num { flex: none; color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.fx-rel-title { font-weight: var(--ui-weight-medium); overflow-wrap: anywhere; }
.fx-rel-state { margin-left: auto; flex: none; }
.fx-rel-line { margin: 0; font-size: var(--ui-text-sm); color: var(--ui-text-muted); overflow-wrap: anywhere; }
.fx-rel-line a { color: var(--ui-accent-soft-text); }
.fx-rel-verdict { margin: 0; font-size: var(--ui-text-sm); color: var(--ui-text-muted); overflow-wrap: anywhere; }
.fx-rel-row .ix-evidence-links { padding-left: var(--ui-space-4); }
.fx-rel-more { display: grid; gap: var(--ui-space-2); justify-items: center; padding: var(--ui-space-4) var(--ui-space-5); }
.fx-rel-more .ui-error { margin: 0; }
.fx-rel-skel { display: grid; gap: var(--ui-space-2); }
.fx-rel-skel .fx-skel-head { width: 40%; height: 12px; }
.fx-rel-skel .fx-skel-card { height: 34px; border-radius: var(--ui-radius-md); }
@media (max-width: 600px) {
  .fx-rel-policy, .fx-rel-chips, .fx-rel-row, .fx-rel-more { padding-left: var(--ui-space-4); padding-right: var(--ui-space-4); }
  .fx-rel-top { flex-wrap: wrap; gap: var(--ui-space-1) var(--ui-space-2); }
  .fx-rel-item { flex: 1 1 100%; }
  .fx-rel-state { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .fx-rel-skel .ui-skeleton { animation: none; } }

.wb-run-produced .wb-produced-facts{margin:8px 0 0}
.wb-produced-blockers{margin:10px 0 0;padding-left:18px}
.ix-act-group{margin:6px 0 0;padding-left:16px;color:var(--ui-text-muted);font-size:var(--ui-text-xs);overflow-wrap:anywhere}
.ix-act-body summary{cursor:pointer}
/* Criterion ids show in full: the field grows with the id and the row wraps. */
.wb-criterion .criterion-head{flex-wrap:wrap}
.wb-criterion .crit-id-input{width:auto;flex:1 1 66ch;min-width:min(100%,66ch);max-width:100%}
/* ------------------------------------------------------- run page (rx) */
.rx-page { container-type: inline-size; position: relative; }
.ui-page-inner.rx { max-width: 1120px; padding-bottom: 0; }
.rx-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "rail" "main"; gap: var(--ui-space-4); min-width: 0; }
.rx-head { grid-area: head; display: grid; gap: var(--ui-space-1); min-width: 0; }
.rx-eyebrow { font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.rx-title { margin: 0; font-size: var(--ui-text-xl); font-weight: var(--ui-weight-semibold); overflow-wrap: anywhere; }
.rx-title a { color: inherit; }
.rx-rail { grid-area: rail; min-width: 0; display: grid; gap: var(--ui-space-4); align-content: start; }
.rx-main { grid-area: main; min-width: 0; display: flex; flex-direction: column; gap: var(--ui-space-4); min-height: calc(100dvh - var(--ui-topbar-height) - var(--ui-space-16)); }
.rx-main[data-finished] { padding-bottom: var(--ui-space-16); min-height: 0; }
@container (min-width: 900px) {
  .rx-grid { grid-template-columns: minmax(0, 720px) 300px; grid-template-areas: "head rail" "main rail"; grid-template-rows: auto 1fr; column-gap: var(--ui-space-8); justify-content: center; }
  .rx-rail { position: sticky; top: var(--ui-space-4); max-height: calc(100dvh - var(--ui-topbar-height) - var(--ui-space-8)); overflow-y: auto; align-self: start; grid-row: 1 / span 2; }
  .rx-rail-toggle { display: none !important; }
  .rx-rail-body { display: grid !important; }
}
.rx-rail-body { display: none; gap: var(--ui-space-4); min-width: 0; }
.rx-rail-body[data-open] { display: grid; }
.rx-rail-toggle { display: flex; align-items: center; gap: var(--ui-space-2); width: 100%; min-height: 40px; padding: 0 var(--ui-space-3); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-surface); color: var(--ui-text); font: inherit; font-size: var(--ui-text-sm); text-align: left; cursor: pointer; min-width: 0; }
.rx-rail-toggle:hover { background: var(--ui-hover); }
.rx-rail-toggle:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 2px; }
.rx-rail-toggle > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1 1 auto; }
.rx-rail-toggle .ui-icon { flex: none; width: 16px; height: 16px; transition: transform var(--ui-duration-fast) var(--ui-ease); }
.rx-rail-toggle[aria-expanded="true"] .ui-icon:last-child { transform: rotate(180deg); }
.rx-rail-sec { min-width: 0; }
.rx-rail-sec .ix-rail-title { display: flex; justify-content: space-between; gap: var(--ui-space-2); }
.rx-rail-sec .ix-rail-title .ui-muted { text-transform: none; letter-spacing: 0; font-weight: var(--ui-weight-regular, 400); }
.rx-status, .rx-outcome { display: grid; gap: var(--ui-space-2); padding: var(--ui-space-3) var(--ui-space-4); border: 1px solid var(--ui-border); border-left: 3px solid var(--ui-border-strong); border-radius: var(--ui-radius-lg); background: var(--ui-surface); min-width: 0; }
.rx-status[data-state="live"] { border-left-color: var(--fx-live); }
.rx-status[data-state="stalled"] { border-left-color: var(--ui-warning); }
.rx-status[data-state="succeeded"], .rx-outcome[data-status="succeeded"] { border-left-color: var(--ui-success); }
.rx-status[data-state="failed"], .rx-outcome[data-status="failed"] { border-left-color: var(--ui-danger); }
.rx-status-row { display: flex; align-items: center; gap: var(--ui-space-2); min-width: 0; flex-wrap: wrap; }
.rx-status-row .ui-icon { width: 16px; height: 16px; flex: none; }
.rx-time { margin-left: auto; font-size: var(--ui-text-sm); color: var(--ui-text-muted); font-variant-numeric: tabular-nums; }
.rx-health { margin: 0; font-size: var(--ui-text-sm); color: var(--ui-text-muted); overflow-wrap: anywhere; }
.rx-health[data-health="stalled"] { color: var(--ui-text); }
.rx-stop { justify-self: start; }
@container (max-width: 899px) { .rx-status { grid-template-columns: minmax(0, 1fr) auto; align-items: center; } .rx-status > .rx-status-row { grid-column: 1; } .rx-status > .rx-health { grid-column: 1 / -1; grid-row: 2; } .rx-status > .rx-stop { grid-column: 2; grid-row: 1; } }
.rx-files { list-style: none; margin: 0; padding: 0; display: grid; font-size: var(--ui-text-xs); }
.rx-file { display: flex; align-items: center; gap: var(--ui-space-2); min-height: 28px; min-width: 0; padding: 0 var(--ui-space-1); border: 0; background: none; color: inherit; font: inherit; width: 100%; text-align: left; border-radius: var(--ui-radius-sm); }
button.rx-file { cursor: pointer; }
button.rx-file:hover { background: var(--ui-hover); }
button.rx-file:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: -2px; }
.rx-glyph { flex: none; width: 14px; text-align: center; font-family: var(--ui-font-mono); font-weight: var(--ui-weight-semibold); color: var(--ui-text-muted); }
.rx-glyph[data-g="A"] { color: var(--ui-success); } .rx-glyph[data-g="D"] { color: var(--ui-danger); }
.rx-file .rx-target { flex: 1 1 auto; }
.rx-files > li { min-width: 0; }
.rx-files-more { margin-top: var(--ui-space-1); margin-left: calc(-1 * var(--ui-space-2)); }
.rx-count { flex: none; font-family: var(--ui-font-mono); font-variant-numeric: tabular-nums; }
.rx-add { color: var(--ui-success); } .rx-del { color: var(--ui-danger); }
.rx-log-head { display: flex; align-items: center; gap: var(--ui-space-2); min-width: 0; }
.rx-log-head .ix-rail-title { margin: 0; }
.rx-log { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rx-log > .step-text, .rx-log > .step-steer, .rx-log > .step-diff, .rx-log > .step-error { margin-block: var(--ui-space-3); }
.rx .step { min-width: 0; }
.rx .step summary, .rx .step .rx-sum { list-style: none; display: flex; align-items: center; gap: var(--ui-space-2); min-height: 32px; min-width: 0; padding: 4px var(--ui-space-2); margin-inline: calc(-1 * var(--ui-space-2)); border-radius: var(--ui-radius-sm); font-size: var(--ui-text-sm); color: var(--ui-text-muted); cursor: pointer; }
.rx .step summary::-webkit-details-marker { display: none; }
.rx .step summary:hover { background: var(--ui-hover); }
.rx .step summary:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: -2px; }
.rx .step summary .ui-icon, .rx .step .rx-sum .ui-icon { width: 16px; height: 16px; flex: none; }
.rx-verb { color: var(--ui-text); font-weight: var(--ui-weight-medium); flex: none; }
.rx-target { display: flex; min-width: 0; font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); color: var(--ui-text); }
.rx-dir { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ui-text-muted); }
.rx-base { flex: none; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rx .step-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-text-xs); flex: 0 1 auto; }
.rx-end { margin-left: auto; flex: none; display: flex; align-items: center; gap: var(--ui-space-2); font-size: var(--ui-text-xs); font-variant-numeric: tabular-nums; }
.rx-chev { transition: transform var(--ui-duration-fast) var(--ui-ease); }
details[open] > summary .rx-chev { transform: rotate(90deg); }
.rx .is-bad > details > summary .ui-icon, .rx .is-bad .rx-verb { color: var(--ui-danger); }
.rx-out { margin: 4px 0 8px 24px; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-sunken); overflow: hidden; min-width: 0; }
.rx-out-head { display: flex; align-items: flex-start; gap: var(--ui-space-2); padding: 6px 8px 6px 12px; border-bottom: 1px solid var(--ui-border); font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); white-space: pre-wrap; overflow-wrap: anywhere; }
.rx-out-head > span { flex: 1 1 auto; min-width: 0; }
.rx-out pre { margin: 0; padding: 8px 12px; max-height: 320px; overflow-y: auto; overflow-x: hidden; white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); line-height: 1.55; border: 0; background: none; }
.rx-out .diff { border: 0; border-radius: 0; max-height: 320px; }
.rx-note { padding: 4px 12px 0; font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.rx-group-list { list-style: none; margin: 2px 0 6px 7px; padding-left: var(--ui-space-4); border-left: 1px solid var(--ui-border); }
.rx-preview { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-style: italic; }
details[open] > summary .rx-preview { display: none; }
.rx .step-thought summary { min-height: 24px; color: var(--ui-text-subtle); }
.rx .step-thought .rx-preview { display: none; }
.rx .step-thought[data-live] .rx-preview, .rx .step-thought summary:hover .rx-preview, .rx .step-thought summary:focus-visible .rx-preview { display: block; }
.rx .step-thought[data-live] summary { color: var(--ui-text-muted); }
details[open] > summary .rx-preview, .rx .step-thought details[open] .rx-preview { display: none !important; }
.rx-span { color: var(--ui-text-subtle); font-size: var(--ui-text-xs); font-variant-numeric: tabular-nums; flex: none; }
.rx-thought-body { margin: 4px 0 8px 24px; padding-left: 12px; border-left: 2px solid var(--ui-border); color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.rx .step-text .md { color: var(--ui-text); line-height: 1.65; overflow-wrap: anywhere; }
.rx .step-text .md > :first-child { margin-top: 0; } .rx .step-text .md > :last-child { margin-bottom: 0; }
.rx .step-text.is-streaming .md > :last-child::after { content: "\258D"; margin-left: 2px; color: var(--fx-live); animation: ix-caret 1s steps(1) infinite; }
.rx .step-text .md pre { max-width: 100%; overflow-x: auto; }
.rx .step-steer { display: flex; flex-direction: column; align-items: flex-end; gap: var(--ui-space-1); }
.rx .step-steer[data-by="factory"] .bubble { background: var(--ui-sunken); color: var(--ui-text-muted); border: 1px solid var(--ui-border); }
.rx .step-steer[data-pending] .bubble { opacity: .7; }
.rx-steer-meta { display: flex; gap: var(--ui-space-2); align-items: baseline; font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.rx .step-meta { display: flex; align-items: center; gap: var(--ui-space-2); min-height: 28px; font-size: var(--ui-text-xs); color: var(--ui-text-muted); min-width: 0; }
.rx .step-meta > span { min-width: 0; overflow-wrap: anywhere; }
.rx .step-meta .ui-icon { width: 14px; height: 14px; flex: none; }
.rx .step-meta.is-bad { color: var(--ui-danger); }
.rx .step-meta > details { flex: 1 1 auto; min-width: 0; }
.rx .step-error .rx-out { border-color: var(--ui-danger); background: var(--ui-danger-soft); margin-left: 0; }
.rx .step-error-head { display: flex; align-items: center; gap: var(--ui-space-2); color: var(--ui-danger); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-medium); }
.rx .step-error-head .ui-icon { width: 16px; height: 16px; flex: none; }
.rx-plan { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: var(--ui-text-sm); }
.rx-plan li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: var(--ui-space-2); align-items: start; overflow-wrap: anywhere; }
.rx-plan li > .ui-icon, .rx-plan li > .fx-dot { margin-top: 3px; width: 14px; height: 14px; }
.rx-plan li > .fx-dot { width: 8px; height: 8px; margin: 6px 3px; }
.rx-plan li > .ui-icon { color: var(--ui-success); }
.rx-plan [data-state="done"] { color: var(--ui-text-muted); text-decoration: line-through; text-decoration-color: var(--ui-border-strong); }
.rx-plan [data-state="active"] { color: var(--ui-text); font-weight: var(--ui-weight-medium); }
.rx-tail { display: flex; align-items: center; gap: var(--ui-space-2); min-height: 32px; font-size: var(--ui-text-sm); color: var(--ui-text-muted); min-width: 0; flex-wrap: nowrap; }
.rx-tail > span, .rx-tail > a { flex: none; }
.rx-tail:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 2px; border-radius: var(--ui-radius-sm); }
.rx-tail[data-health="stalled"] { color: var(--ui-text); }
.rx-tail code { flex: 0 1 auto; min-width: 0; font-size: var(--ui-text-xs); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.rx-tail[data-health="quiet"] > span { flex: 0 1 auto; }
.rx-tail[data-health="stalled"] > span { flex: 0 1 auto; min-width: 0; }
.rx .fx-dot[data-state="stale"] { background: var(--ui-warning); }
.rx-dock { position: sticky; bottom: 0; z-index: var(--ui-z-sticky); margin-top: auto; padding: var(--ui-space-6) 0 var(--ui-space-4); background: linear-gradient(to bottom, transparent, var(--ui-bg) var(--ui-space-6)); }
.rx-jump { position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%); box-shadow: var(--ui-shadow-md); }
.rx-composer-foot { display: flex; align-items: center; gap: var(--ui-space-2); padding: 0 var(--ui-space-3) var(--ui-space-2); }
.rx-composer-foot small { min-width: 0; }
.rx-diff-head { display: flex; align-items: center; gap: var(--ui-space-2); padding: var(--ui-space-2) var(--ui-space-3); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-medium); }
.rx-diff-head .ui-icon { width: 16px; height: 16px; flex: none; }
.rx .step-diff { border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); overflow: hidden; min-width: 0; }
.rx .rx-diff-file > summary { border-top: 1px solid var(--ui-border); margin: 0; border-radius: 0; font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); padding-inline: var(--ui-space-3); }
.rx-diff-file .diff { border: 0; border-radius: 0; max-height: 480px; }
.rx-outcome-line { display: flex; align-items: center; gap: var(--ui-space-2); font-weight: var(--ui-weight-semibold); flex-wrap: wrap; }
.rx-outcome-line .ui-icon { width: 16px; height: 16px; flex: none; }
.rx-summary { position: relative; display: grid; gap: var(--ui-space-1); min-width: 0; }
.rx-summary[data-clamp] .rx-summary-body { max-height: 9.6em; overflow: hidden; }
.rx-summary[data-fade] .rx-summary-body { -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent); mask-image: linear-gradient(to bottom, #000 70%, transparent); }
.rx-summary > .ui-btn { justify-self: start; margin-left: calc(-1 * var(--ui-space-2)); }
.rx-summary .md { font-size: var(--ui-text-base); line-height: 1.6; }
.rx-bad { color: var(--ui-danger); white-space: nowrap; }
.rx-setup-body { margin: 0 0 4px 24px; font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); color: var(--ui-text-muted); white-space: pre-wrap; overflow-wrap: anywhere; }
.rx-plan-body { padding: var(--ui-space-3); }
.rx-who { font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.rx-in { color: var(--ui-text-muted); font-size: var(--ui-text-xs); }
.rx-detail { font-size: var(--ui-text-xs); white-space: nowrap; }
.rx-enter { animation: fx-step-in 160ms var(--ui-ease); }
@media (max-width: 600px) { .rx .step summary, .rx .step .rx-sum, .rx .step-thought summary { min-height: 40px; } .rx-out, .rx-thought-body { margin-left: 0; } .rx-composer-foot small { flex-basis: 100%; } }
@media (prefers-reduced-motion: reduce) { .rx-enter { animation: none; } .rx-chev, .rx-rail-toggle .ui-icon { transition: none; } .rx .step-text.is-streaming .md > :last-child::after { animation: none; } }
.rx .step-tool, .rx .step-tool.is-bad { border: 0; background: none; border-radius: 0; overflow: visible; margin-left: 0; }
.rx .ix-props { display: block; }
.rx .ix-props > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); column-gap: var(--ui-space-3); }
.rx .step-text { display: block; margin-left: 0; }
.rx .step-status { display: flex; }
.rx-failed-btn { justify-self: start; margin-left: calc(-1 * var(--ui-space-2)); }
.rx-setup-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rx .step-setup .rx-verb.rx-setup-label { flex: 0 1 auto; }
.rx-produced{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:var(--ui-space-2) var(--ui-space-4);margin:0;font-size:var(--ui-text-sm)}
.rx-produced>div{min-width:0}
.rx-produced dt{font-size:var(--ui-text-xs);color:var(--ui-text-muted)}
.rx-produced dd{margin:0;overflow-wrap:anywhere}


/* Brief page: sections reuse the Releases rows. */
.fx-brief { display: grid; gap: var(--ui-space-2); padding-bottom: var(--ui-space-6); }
.fx-brief-summary { margin: var(--ui-space-4) var(--ui-space-5) 0; font-size: var(--ui-text-lg, 1.05rem); font-weight: var(--ui-weight-medium); }
.fx-brief-narrative, .fx-brief-meta { margin: var(--ui-space-2) var(--ui-space-5) 0; font-size: var(--ui-text-sm); }
.fx-brief-section { margin-top: var(--ui-space-4); }
.fx-brief-h { margin: 0; padding: var(--ui-space-2) var(--ui-space-5); font-size: var(--ui-text-md, 1rem); border-bottom: 1px solid var(--ui-border); }
.fx-brief-empty { margin: 0; padding: var(--ui-space-3) var(--ui-space-5); color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.fx-brief-note { padding: var(--ui-space-3) var(--ui-space-5); font-size: var(--ui-text-sm); color: var(--ui-text-muted); border-bottom: 1px solid var(--ui-border); }
.fx-brief-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--ui-space-3); margin: 0; padding: var(--ui-space-3) var(--ui-space-5); }
.fx-brief-stat dt { font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-brief-stat dd { margin: 0; font-weight: var(--ui-weight-medium); }
.fx-brief-factory { margin-top: var(--ui-space-6); border-top: 2px solid var(--ui-border); }
.fx-brief-fname { margin: var(--ui-space-4) var(--ui-space-5) 0; font-size: var(--ui-text-lg, 1.1rem); }
.fx-brief[aria-busy="true"] { opacity: .6; }
@media (max-width: 720px) {
  .fx-brief-summary, .fx-brief-narrative, .fx-brief-meta, .fx-brief-h, .fx-brief-empty, .fx-brief-note, .fx-brief-stats, .fx-brief-fname { margin-left: 0; margin-right: 0; padding-left: var(--ui-space-4); padding-right: var(--ui-space-4); }
}

/* ===== fx: ws-b failure ui (owned by WS-B) ===== */

/* Red diet: the failed band is a faint tint; the hairline and eyebrow carry the red. */
.ix-band[data-state="failed"] { background: color-mix(in srgb, var(--ui-danger) 8%, var(--ui-surface)); }
/* The shared error of a failed verification, once: one mono line, the full text behind a disclosure. */
.fx-err { margin-top: var(--ui-space-1); font-size: var(--ui-text-sm); color: var(--ui-text-muted); min-width: 0; }
.fx-err > summary { display: flex; align-items: baseline; gap: var(--ui-space-3); cursor: pointer; list-style: none; min-width: 0; }
.fx-err > summary::-webkit-details-marker { display: none; }
.fx-err-line { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ui-text); }
.fx-err-toggle { flex: none; text-decoration: underline; text-underline-offset: 2px; }
.fx-err pre { margin: var(--ui-space-2) 0 0; max-height: 280px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.fx-err-recorded { margin: var(--ui-space-2) 0 0; font-size: var(--ui-text-xs); overflow-wrap: anywhere; }
/* Checks: one cause block per shared failure, then the rows. */
.fx-checks-summary { display: flex; align-items: center; gap: var(--ui-space-2); margin: 0; padding: var(--ui-space-3) var(--ui-space-4); border-top: 1px solid var(--ui-border); font-size: var(--ui-text-sm); color: var(--ui-text-muted); }
.fx-cause { display: grid; gap: var(--ui-space-2); padding: var(--ui-space-3) var(--ui-space-4); border-top: 1px solid var(--ui-border); }
.fx-cause-title { display: flex; align-items: flex-start; gap: var(--ui-space-2); margin: 0; font-weight: var(--ui-weight-semibold); font-size: var(--ui-text-base); }
.fx-cause-title .check-icon { flex: none; }
.fx-cause .check-detail { margin: 0; max-height: 160px; }
.fx-cause-affects { margin: 0; font-size: var(--ui-text-sm); }
.fx-check-name .crit-id { margin-left: var(--ui-space-2); font-size: var(--ui-text-xs); overflow-wrap: anywhere; }
.fx-ship-repair { margin: var(--ui-space-3) 0 0; font-size: var(--ui-text-sm); }
/* Trace: long failure lists summarise; repeated rounds fold. */
.tr-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.tr-text:has(details) { display: block; overflow: visible; }
.tr-tail { color: var(--ui-text-muted); }
.tr-criteria { margin-top: var(--ui-space-1); font-weight: var(--ui-weight-normal); }
.tr-rounds { font-size: var(--ui-text-sm); color: var(--ui-text); }
.tr-rounds ul { list-style: none; padding-left: 0; display: grid; gap: var(--ui-space-1); color: var(--ui-text-muted); font-size: var(--ui-text-xs); }

/* ===== fx: ws-c outcome (owned by WS-C) ===== */
.outcome-gates { margin: 0; font-size: var(--ui-text-sm); }
.outcome-review { display: flex; flex-direction: column; gap: var(--ui-space-2); align-items: flex-start; }
.outcome-review-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); }
.outcome-clamp { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.proof-gallery { display: flex; flex-direction: column; gap: var(--ui-space-3); }
.proof-gallery-line { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); }
.proof-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--ui-space-3); }
.proof-thumb { display: flex; flex-direction: column; gap: 2px; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; min-width: 0; }
.proof-thumb-frame { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; overflow: hidden; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-sunken); }
.proof-thumb:hover .proof-thumb-frame { border-color: var(--ui-accent); }
.proof-thumb:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 2px; border-radius: var(--ui-radius-md); }
.proof-thumb video, .proof-thumb img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.proof-thumb-play { position: absolute; display: grid; place-items: center; width: 32px; height: 32px; border-radius: var(--ui-radius-full); background: rgb(0 0 0 / .55); color: #fff; font-size: var(--ui-text-xs); }
.proof-thumb-log { margin: 0; padding: var(--ui-space-2); width: 100%; height: 100%; overflow: hidden; font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); color: var(--ui-text-muted); white-space: pre; }
.proof-thumb-badge { position: absolute; top: var(--ui-space-1); right: var(--ui-space-1); padding: 0 var(--ui-space-2); border-radius: var(--ui-radius-full); background: var(--ui-surface); border: 1px solid var(--ui-border); font-size: var(--ui-text-xs); }
.proof-thumb-title { font-size: var(--ui-text-sm); font-weight: var(--ui-weight-semibold); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.proof-thumb-id { font-size: var(--ui-text-xs); color: var(--ui-text-muted); font-family: var(--ui-font-mono); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.proof-thumb--none { cursor: default; }
.proof-thumb--none .proof-thumb-frame { border-style: dashed; background: none; color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.ui-modal:has(.fx-lightbox) { width: min(960px, 100%); max-height: calc(100dvh - var(--ui-space-6)); overflow: auto; }
.fx-lightbox { display: flex; flex-direction: column; gap: var(--ui-space-3); }
.fx-lightbox-head { display: flex; align-items: flex-start; gap: var(--ui-space-2); }
.fx-lightbox-head h2 { margin: 0; }
.fx-lightbox-pos { margin: 0; font-size: var(--ui-text-xs); font-family: var(--ui-font-mono); }
.proof-stage { position: relative; min-height: 200px; }
.proof-stage video, .proof-stage img { width: 100%; max-height: 60dvh; object-fit: contain; border-radius: var(--ui-radius-md); background: var(--ui-sunken); border: 1px solid var(--ui-border); }
.proof-stage .proof-text { max-height: 60dvh; overflow: auto; margin: 0; }
.proof-skel { position: absolute; inset: 0; min-height: 200px; border-radius: var(--ui-radius-md); }
.proof-stage[data-state="pending"] video { opacity: 0; }
.proof-failed { padding: var(--ui-space-6); }
.fx-lightbox-gwt { display: grid; grid-template-columns: auto 1fr; gap: var(--ui-space-1) var(--ui-space-3); margin: 0; font-size: var(--ui-text-sm); }
.fx-lightbox-gwt dt { font-weight: var(--ui-weight-semibold); color: var(--ui-text-muted); }
.fx-lightbox-gwt dd { margin: 0; }
.fx-lightbox-foot { margin: 0; font-size: var(--ui-text-xs); overflow-wrap: anywhere; }
.fx-rel-proofs { display: inline-flex; align-items: center; gap: var(--ui-space-2); flex: none; margin-left: auto; }
.fx-rel-proofs + .fx-rel-state { margin-left: 0; }
.fx-rel-review { font-weight: var(--ui-weight-semibold); }
.fx-rel-proof-chip { text-decoration: none; }
@media (max-width: 640px) {
  .ui-scrim:has(.fx-lightbox) { padding: 0; align-items: stretch; }
  .ui-modal:has(.fx-lightbox) { width: 100%; max-height: 100dvh; height: 100dvh; border-radius: 0; }
  .proof-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}

/* ===== fx: ws-d operations-p1 (owned by WS-D) ===== */
.fx-shortcuts-btn { margin-left: auto; }
.fx-dec-cta { display: inline-flex; align-items: center; justify-content: flex-end; gap: 2px; }
.fx-dec-cta[data-muted="true"] { color: var(--ui-text-subtle, var(--ui-text-muted)); }
.fx-dec-cta .ui-icon { width: 14px; height: 14px; }
.fx-dec-reason { white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.fx-dec-clips { color: var(--ui-link, inherit); text-decoration: none; }
.fx-dec-clips:hover { text-decoration: underline; }
.fx-dec-facts [data-verdict="changes"] { color: var(--ui-danger); }
.fx-linkbtn { appearance: none; border: 0; background: none; padding: 0; font: inherit; color: var(--ui-link, inherit); cursor: pointer; }
.fx-linkbtn:hover { text-decoration: underline; }
.fx-status [data-testid="wip-status"][data-tone="warn"] { color: var(--fx-needs); }
.fx-wait-group + .fx-wait-group { margin-top: var(--ui-space-3); }
.fx-wait-label { margin: var(--ui-space-3) var(--ui-space-4) var(--ui-space-1); font-size: var(--ui-text-sm); font-weight: var(--ui-weight-medium); color: var(--ui-text-muted); }

/* ===== fx: ws-e run (owned by WS-E) ===== */
/* Narrative first: prose reads at base size with room above it; command groups are muted one-liners. */
.rx-log > .step-text { margin-block: var(--ui-space-4) var(--ui-space-1); }
.rx .step-text .md { font-size: var(--ui-text-base); }
.rx .step-group > details > summary { color: var(--ui-text-subtle); min-height: 28px; }
.rx .step-group > details > summary .rx-verb { color: var(--ui-text-muted); font-weight: var(--ui-weight-regular, 400); }
.rx .step-group.has-bad > details > summary .rx-verb { color: var(--ui-text); }
.rx-live-gist { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--ui-font-mono); font-size: var(--ui-text-xs); }
.rx .step-group .rx-end { flex: none; }
.rx-check { display: inline-flex; align-items: center; gap: 4px; font-size: var(--ui-text-xs); color: var(--ui-success); }
.rx-check[data-outcome="failed"] { color: var(--ui-danger); }
.rx .step summary .rx-check .ui-icon { width: 12px; height: 12px; color: inherit; }
.rx .is-check:not(.is-bad) > details > summary .ui-icon:first-child { color: var(--ui-success); }
.rx-step { margin: 0; font-size: var(--ui-text-sm); font-weight: var(--ui-weight-medium); overflow-wrap: anywhere; }
/* Details (harness, model, effort, runner) stay folded on desktop too; the file list is always visible. */
.rx-det-toggle { display: flex !important; }
.rx-det-body { display: none !important; }
.rx-det-body[data-open] { display: grid !important; }
.rx-fgroup + .rx-fgroup { margin-top: var(--ui-space-3); }
.rx-fgroup-h { display: flex; justify-content: space-between; gap: var(--ui-space-2); margin: 0 0 2px; font-size: var(--ui-text-xs); font-weight: var(--ui-weight-semibold); color: var(--ui-text-muted); }
.rx-crit { min-width: 0; }
.rx-crit > .rx-file { gap: var(--ui-space-2); cursor: pointer; }
.rx-crit > .rx-file:hover { background: var(--ui-hover); }
.rx-crit > .rx-file:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: -2px; }
.rx-crit > .rx-file .rx-glyph { width: auto; min-width: 28px; font-variant-numeric: tabular-nums; }
.rx-crit-slug { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--ui-font-mono); }
.rx-crit-has { flex: none; }
.rx-crit-files { margin-left: var(--ui-space-4); padding-left: var(--ui-space-2); border-left: 1px solid var(--ui-border); }
.rx-crit > .rx-file[aria-expanded="true"] .rx-chev { transform: rotate(90deg); }

/* ===== fx: ws-a (unused) ===== */

/* Agent marks (agent-mark.tsx): brand tint and a role glyph for agents, a neutral chip for policy, hashed-hue initials for people. */
.fx-agent-mark { position: relative; flex: none; }
.fx-agent-mark > svg { width: 60%; height: 60%; }
.fx-agent-mark[data-kind="agent"] { background: linear-gradient(150deg, var(--ui-brand-1) 30%, var(--ui-brand-2) 130%); }
.fx-agent-mark[data-kind="policy"] { background: var(--ui-surface-2); color: var(--ui-text-muted); outline: 1px solid var(--ui-border); outline-offset: -1px; }
.fx-agent-mark[data-kind="person"] { border-radius: 50%; }
.fx-agent-mark-live { position: absolute; right: calc(var(--ui-space-1) * -0.75); bottom: calc(var(--ui-space-1) * -0.75); display: grid; place-items: center; width: 10px; height: 10px; border-radius: 50%; background: var(--ui-surface); outline: 1px solid var(--ui-border); }
.fx-agent-mark-live .fx-dot { width: 6px; height: 6px; box-shadow: none; }
.fx-agent-mark-live .fx-dot::after { display: none; }

/* ===== P2 WS-A: lead strip, delivered tile ===== */
/* Lead strip: the Foreman's state, holdings, last decision and asks in one card above the pipeline. */
.fx-lead { padding: 0; overflow: hidden; }
.fx-lead-head { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ui-space-2) var(--ui-space-3); padding: var(--ui-space-3) var(--ui-space-4); }
.fx-lead-name { font-weight: var(--ui-weight-semibold); }
.fx-lead .fx-foreman-line { flex: 0 1 auto; min-width: 0; color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.fx-lead-off .fx-lead-head { min-height: 48px; }
.fx-lead-off .fx-foreman-line { color: var(--ui-text); }
.fx-lead-off-note { color: var(--ui-text-muted); font-size: var(--ui-text-sm); }
.fx-lead .fx-foreman-toggle { display: inline-flex; width: auto; min-height: 0; padding: 0 var(--ui-space-2); }
.fx-lead-cells { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; border-top: 1px solid var(--ui-border); }
.fx-lead-cell { min-width: 0; margin: 0; padding: var(--ui-space-3) var(--ui-space-4); display: grid; gap: var(--ui-space-1); align-content: start; }
.fx-lead-cell + .fx-lead-cell { border-left: 1px solid var(--ui-border); }
.fx-lead-cell dt { margin: 0; font-size: var(--ui-text-xs); color: var(--ui-text-muted); text-transform: none; }
.fx-lead-cell dd { margin: 0; min-width: 0; font-size: var(--ui-text-sm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fx-lead-cell dd > a, .fx-lead-cell dd > span { max-width: 100%; }
.fx-lead-cell dd > a { display: block; overflow: hidden; text-overflow: ellipsis; }
.fx-lead-sub { color: var(--ui-text-muted); }
.fx-lead-skel .fx-lead-cell { gap: var(--ui-space-2); }
.fx-lead .fx-foreman-panel { border-top: 1px solid var(--ui-border); }
@container ops (max-width: 900px) {
  .fx-lead-cells { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fx-lead-cell:nth-child(odd) { border-left: 0; }
  .fx-lead-cell:nth-child(n+3) { border-top: 1px solid var(--ui-border); }
}
/* Delivered tile: one funnel for shipped, released and validated; it takes two columns' width. */
.fx-pipeline { grid-template-columns: repeat(7, minmax(0, 1fr)) minmax(0, 2.1fr); }
.fx-funnel { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--ui-space-1); font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.fx-funnel b { color: var(--ui-text); font-weight: var(--ui-weight-semibold); font-size: var(--ui-text-sm); }
.fx-funnel-step { white-space: nowrap; }
@container ops (max-width: 900px) {
  .fx-pipeline { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fx-seg-wrap--delivered { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--ui-border); }
  .fx-seg-wrap--delivered .fx-seg { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: var(--ui-radius-lg); border-bottom-right-radius: var(--ui-radius-lg); }
  .fx-seg-wrap:nth-child(7) .fx-seg { border-bottom-right-radius: 0; }
  .fx-seg-wrap:nth-child(8) .fx-seg { border-top-right-radius: 0; }
}
@media (max-width: 760px) {
  .fx-lead-head .fx-foreman-line { flex-basis: 100%; order: 5; }
  .fx-lead-off-note { flex-basis: 100%; }
  .fx-seg-wrap--delivered .fx-seg-count small { display: inline; }
}
/* ===== end P2 WS-A ===== */

/* ===== P2 WS-B: agent identity, outcome-first activity ===== */
/* Activity: marks lead the row, the outcome glyph trails, the header carries the view switch. */
.fx-feed-row--marked { grid-template-columns: 32px 20px minmax(0, 1fr) 16px; }
.fx-feed-row--outcome { grid-template-columns: 32px 20px minmax(0, 1fr) 16px auto; }
.fx-feed-count { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-text-xs); color: var(--ui-text-muted); }
.fx-viewseg { margin-left: auto; display: inline-flex; padding: 2px; gap: 2px; border-radius: var(--ui-radius-sm); background: var(--ui-sunken); }
.fx-viewseg + .fx-live-toggle { margin-left: 0; }
.fx-viewseg button { appearance: none; height: 20px; padding: 0 var(--ui-space-2); border: 0; border-radius: var(--ui-radius-sm); background: transparent; color: var(--ui-text-muted); font: inherit; font-size: var(--ui-text-xs); cursor: pointer; white-space: nowrap; }
.fx-viewseg button:hover { color: var(--ui-text); }
.fx-viewseg button[aria-checked="true"] { background: var(--ui-surface); color: var(--ui-text); outline: 1px solid var(--ui-border); outline-offset: -1px; }
.fx-viewseg button:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 1px; }
/* Trace and runs: the shared mark replaces the dot and the plain glyph. */
.tr-entry .fx-agent-mark { width: 20px; height: 20px; font-size: var(--ui-text-xs); }
.tr-entry[data-type="failure"] .fx-agent-mark { outline: 1px solid var(--ui-danger); outline-offset: 2px; }
.wb-run-row > .fx-agent-mark { margin-top: 2px; }
.rx-eyebrow { display: flex; align-items: center; gap: var(--ui-space-2); }
/* ===== end P2 WS-B ===== */

/* ===== P2 WS-C: agents roster ===== */
/* The roster: Lead, Pipeline and Custom groups; one row per agent with who, now, last, 7-day success and actions. */
.fx-roster { display: flex; flex-direction: column; gap: var(--ui-space-5); }
.fx-roster-group { display: flex; flex-direction: column; gap: var(--ui-space-2); }
.fx-roster-group > h2 { margin: 0; }
.fx-agent-row { gap: var(--ui-space-2); padding: var(--ui-space-3) var(--ui-space-4); }
.fx-agent-grid { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.9fr) auto; gap: var(--ui-space-2) var(--ui-space-4); align-items: center; }
.fx-agent-grid--lead { grid-template-columns: minmax(180px, 1.2fr) minmax(0, 3.3fr) auto; }
.fx-agent-who { display: flex; align-items: center; gap: var(--ui-space-3); min-width: 0; }
.fx-agent-ident { min-width: 0; display: grid; gap: 2px; }
.fx-agent-row .agent-name { font-size: var(--ui-text-base); margin: 0; }
.fx-agent-engine { font-size: var(--ui-text-xs); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fx-agent-cell { min-width: 0; font-size: var(--ui-text-sm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: flex; align-items: center; gap: var(--ui-space-1); }
.fx-agent-cell > a, .fx-agent-cell > span { overflow: hidden; text-overflow: ellipsis; }
.fx-agent-failed { color: var(--ui-danger); }
.fx-agent-actions { display: flex; align-items: center; gap: var(--ui-space-2); justify-content: flex-end; flex-wrap: wrap; }
.fx-agent-actions svg { margin-left: var(--ui-space-1); }
.fx-agent-actions [aria-expanded="true"] svg { transform: rotate(180deg); }
.fx-agent-row[data-state="paused"] .fx-agent-who, .fx-agent-row[data-state="off"] .fx-agent-who { opacity: 0.7; }
.fx-agent-error { display: flex; align-items: center; gap: var(--ui-space-3); flex-wrap: wrap; }
.fx-agent-error > * { margin: 0; }
.fx-agent-steer { display: grid; gap: var(--ui-space-2); padding-top: var(--ui-space-2); border-top: 1px solid var(--ui-border); }
.fx-agent-steer-runs { border: 0; margin: 0; padding: 0; display: grid; gap: var(--ui-space-1); }
.fx-agent-config:not([hidden]) { display: flex; flex-direction: column; gap: var(--ui-space-3); padding-top: var(--ui-space-3); border-top: 1px solid var(--ui-border); }
.fx-roster-empty { align-items: flex-start; text-align: left; }
.fx-roster-skeleton .fx-agent-row { gap: var(--ui-space-3); min-height: 64px; justify-content: center; }
@media (max-width: 900px) {
  .fx-agent-grid, .fx-agent-grid--lead { grid-template-columns: minmax(0, 1fr); }
  .fx-agent-cell { white-space: normal; }
  .fx-agent-actions { justify-content: flex-start; }
}
/* ===== end P2 WS-C ===== */

/* ===== P2 WS-D: more fix rounds, cut from the queue ===== */
/* More fix rounds: an inline form in the expanded decision row. Cut sits last, apart from the safe actions. */
.fx-more-rounds { display: grid; gap: var(--ui-space-2); max-width: 420px; padding: var(--ui-space-3); border: 1px solid var(--ui-border); border-radius: var(--ui-radius); background: var(--ui-surface); }
.fx-more-label { font-size: var(--ui-text-sm); font-weight: 600; color: var(--ui-text); }
.fx-more-seg { display: inline-flex; width: max-content; padding: 2px; gap: 2px; border-radius: var(--ui-radius-sm); background: var(--ui-sunken); }
.fx-more-seg button { appearance: none; min-width: 36px; height: 28px; padding: 0 var(--ui-space-3); border: 0; border-radius: var(--ui-radius-sm); background: transparent; color: var(--ui-text-muted); font: inherit; font-size: var(--ui-text-sm); font-variant-numeric: tabular-nums; cursor: pointer; }
.fx-more-seg button:hover:not(:disabled) { color: var(--ui-text); }
.fx-more-seg button[aria-checked="true"] { background: var(--ui-surface); color: var(--ui-text); outline: 1px solid var(--ui-border); outline-offset: -1px; }
.fx-more-seg button:focus-visible { outline: 2px solid var(--ui-focus, var(--ui-accent)); outline-offset: 1px; }
.fx-more-why { margin: 0; }
.fx-more-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); }
.fx-dec-actions .fx-dec-cut { margin-left: auto; }
@media (max-width: 640px) {
  .fx-more-rounds { max-width: none; }
  .fx-more-actions > button { flex: 1 1 100%; justify-content: center; min-height: 40px; }
  .fx-dec-actions .fx-dec-cut { margin-left: 0; }
}
/* ===== end P2 WS-D ===== */

/* ===== P2 WS-E: navigation ===== */
/* (empty: WS-E) */
/* ===== end P2 WS-E ===== */
