@layer reset, tokens, base, flow, primitives, layout, icons, shell, rail, pages, components, desk, utilities, product, showcase, responsive, a11y;
@layer tokens {
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/Inter-Regular.woff2?v=latin") format("woff2");
  unicode-range: U+0000-00FF, U+0100-024F, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/Inter-SemiBold.woff2?v=latin") format("woff2");
  unicode-range: U+0000-00FF, U+0100-024F, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/Inter-Bold.woff2?v=latin") format("woff2");
  unicode-range: U+0000-00FF, U+0100-024F, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215;
}
@font-face {
  font-family: "Inter Display";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/InterDisplay-Bold.woff2?v=latin") format("woff2");
  unicode-range: U+0000-00FF, U+0100-024F, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/JetBrainsMono-Regular.woff2?v=latin") format("woff2");
  unicode-range: U+0000-00FF, U+0100-024F, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215;
}
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/Fraunces-600.woff2?v=latin") format("woff2");
  unicode-range: U+0000-00FF, U+0100-024F, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215;
}
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/Fraunces-700.woff2?v=latin") format("woff2");
  unicode-range: U+0000-00FF, U+0100-024F, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/JetBrainsMono-Bold.woff2?v=latin") format("woff2");
  unicode-range: U+0000-00FF, U+0100-024F, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215;
}
:root {
  color-scheme: light dark;
  --density: 1;
  --dir: 1;
  interpolate-size: allow-keywords;
  --bg:        light-dark(#f3f0ea, #080b12);
  --bg-elev:   light-dark(#fffdf9, #101826);
  --bg-soft:   light-dark(#ebe6dd, #141d2e);
  --bg-hover:  light-dark(#e2dcd2, #1a2436);
  --bg-active: light-dark(#d5f3ed, #0f2a28);
  --card:      light-dark(#fffdf9, #182236);
  --chrome:    light-dark(rgba(255, 253, 249, 0.92), rgba(16, 24, 38, 0.94));
  --text:  light-dark(#161410, #eceaf5);
  --muted: light-dark(#5a5348, #b0aabf);
  --faint: light-dark(#7a7368, #8889a0);
  --accent-default: light-dark(#0f766e, #3eefd0);
  --accent:     var(--accent-default);
  --accent-dim: light-dark(#0d5e58, #1ab89a);
  --accent-ink: light-dark(#ffffff, #04221c);
  --accent-soft: light-dark(rgba(15, 118, 110, 0.14), rgba(62, 239, 208, 0.16));
  --accent-ring: light-dark(rgba(15, 118, 110, 0.28), rgba(62, 239, 208, 0.32));
  --accent-glow: light-dark(rgba(15, 118, 110, 0.22), rgba(62, 239, 208, 0.22));
  --mesh:        light-dark(rgba(15, 118, 110, 0.12), rgba(62, 239, 208, 0.16));
  --purple-soft: light-dark(rgba(139, 92, 246, 0.10), rgba(167, 139, 250, 0.12));
  --bg-mesh: none;
  --ok:            light-dark(#15803d, #6edf96);
  --ok-strong:     light-dark(#22c55e, #4ade80);
  --warn:          light-dark(#a16207, #e8c36a);
  --danger:        light-dark(#dc2626, #f07178);
  --info:          light-dark(#2563eb, #60a5fa);
  --purple:        light-dark(#7c3aed, #a78bfa);
  --ok-glow:     light-dark(rgba(22, 163, 74, 0.16), rgba(110, 223, 150, 0.16));
  --warn-glow:   light-dark(rgba(202, 138, 4, 0.16), rgba(232, 195, 106, 0.16));
  --danger-glow: light-dark(rgba(220, 38, 38, 0.16), rgba(240, 113, 120, 0.16));
  --tone-ok: var(--ok);
  --tone-ok-soft: var(--ok-glow);
  --tone-ok-ink: light-dark(#ffffff, #052e16);
  --tone-warn: var(--warn);
  --tone-warn-soft: var(--warn-glow);
  --tone-warn-ink: light-dark(#ffffff, #422006);
  --tone-danger: var(--danger);
  --tone-danger-soft: var(--danger-glow);
  --tone-danger-ink: light-dark(#ffffff, #2a0a0c);
  --tone-info: var(--info);
  --tone-info-soft: light-dark(rgba(37, 99, 235, 0.14), rgba(96, 165, 250, 0.16));
  --tone-info-ink: light-dark(#ffffff, #082f49);
  --tone-accent: var(--accent);
  --tone-accent-soft: var(--accent-soft);
  --tone-accent-ink: var(--accent-ink);
  --tone-purple: var(--purple);
  --tone-purple-soft: var(--purple-soft);
  --tone-purple-ink: light-dark(#ffffff, #2e1065);
  --tone-muted: var(--muted);
  --tone-muted-soft: var(--bg-hover);
  --border:        light-dark(#ddd6cb, #2a3a52);
  --border-strong: light-dark(#c4bdb2, #334155);
  --hairline:      light-dark(#e4ddd3, #1c2532);
  --ink-on-solid: #ffffff;
  --stage-plate: #000000;
  --scrim: light-dark(rgba(15, 23, 42, 0.42), rgba(0, 0, 0, 0.65));
  --ring: var(--accent);
  --radius-sm: 8px;
  --radius: clamp(10px, 1.2vw, 14px);
  --radius-md: var(--radius);
  --radius-lg: clamp(14px, 1.8vw, 18px);
  --radius-pill: 999px;
  --radius-full: var(--radius-pill);
  --shadow-soft: light-dark(0 2px 8px rgba(15, 23, 42, 0.04), 0 4px 16px rgba(0, 0, 0, 0.2));
  --shadow: light-dark(0 12px 32px rgba(15, 23, 42, 0.06), 0 18px 50px rgba(0, 0, 0, 0.45));
  --shadow-strong: light-dark(0 24px 48px rgba(15, 23, 42, 0.10), 0 28px 64px rgba(0, 0, 0, 0.55));
  --shadow-sm: var(--shadow-soft);
  --shadow-md: var(--shadow);
  --shadow-lg: var(--shadow-strong);
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-system: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-geist: "Geist", "Geist Sans", var(--font-system);
  --font-serif: "Iowan Old Style", "Apple Garamond", "Baskerville", "Times New Roman", "Droid Serif", Times, "Source Serif Pro", serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;
  --font-display-stack: "Inter Display", var(--font-sans);
  --font: var(--font-custom, var(--font-sans));
  --font-display: var(--font-display-custom, var(--font-display-stack));
  --mono: var(--font-mono-custom, var(--font-mono));
  --font-features: "kern" 1, "liga" 1, "calt" 1;
  --font-features-pro: "kern" 1, "liga" 1, "calt" 1, "cv02" 1, "cv03" 1, "cv04" 1, "cv11" 1;
    --type-scale: 1;
  --text-3xs: calc(clamp(0.60rem, 0.58rem + 0.08cqi, 0.65rem) * var(--type-scale));
  --text-2xs: calc(clamp(0.68rem, 0.65rem + 0.10cqi, 0.72rem) * var(--type-scale));
  --text-xs: calc(clamp(0.72rem, 0.7rem + 0.12cqi, 0.78rem) * var(--type-scale));
  --text-sm: calc(clamp(0.83rem, 0.8rem + 0.18cqi, 0.9rem) * var(--type-scale));
  --text-md: calc(clamp(0.95rem, 0.9rem + 0.25cqi, 1.02rem) * var(--type-scale));
  --text-lg: calc(clamp(1.08rem, 1rem + 0.35cqi, 1.18rem) * var(--type-scale));
  --text-xl: calc(clamp(1.28rem, 1.15rem + 0.6cqi, 1.45rem) * var(--type-scale));
  --text-2xl: calc(clamp(1.55rem, 1.35rem + 1cqi, 1.85rem) * var(--type-scale));
  --text-3xl: calc(clamp(2rem, 1.65rem + 1.8cqi, 2.6rem) * var(--type-scale));
  --text-4xl: calc(clamp(2.5rem, 2rem + 2.5cqi, 3.4rem) * var(--type-scale));
  --lh-tight: 1.3;
  --lh-body: 1.62;
  --weight-bold: 700;
  --space-1: calc(clamp(3px, 0.2rem + 0.1cqi, 4px) * var(--density));
  --space-2: calc(clamp(6px, 0.4rem + 0.15cqi, 8px) * var(--density));
  --space-3: calc(clamp(10px, 0.7rem + 0.2cqi, 12px) * var(--density));
  --space-4: calc(clamp(14px, 0.9rem + 0.3cqi, 16px) * var(--density));
  --space-5: calc(clamp(20px, 1.4rem + 0.5cqi, 24px) * var(--density));
  --space-6: calc(clamp(28px, 2rem + 0.8cqi, 32px) * var(--density));
  --space-7: calc(clamp(40px, 3rem + 1cqi, 48px) * var(--density));
  --space-8: calc(clamp(56px, 4rem + 1.2cqi, 64px) * var(--density));
  --shell-h: calc(52px * var(--density));
  --nav-w: 200px;
  --nav-collapsed: 52px;
  --tools-w: 280px;
  --status-h: calc(28px * var(--density));
  --row-h: calc(40px * var(--density));
  --grid-min: 12.5rem;
  --split-min: 18rem;
  --side-min: 18rem;
  --top-h: 3.1rem;
  --prose-w: 54rem;
  --desk-w: 88rem;
  --dur-fast: 0.12s;
  --dur: 0.2s;
  --dur-base: 0.24s;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --safe-t: env(safe-area-inset-top, 0px);
  --safe-r: env(safe-area-inset-right, 0px);
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-l: env(safe-area-inset-left, 0px);
  --z-sticky: 10;
  --z-header: 50;
  --z-dropdown: 100;
  --z-tooltip: 110;
  --z-modal: 1000;
  --z-toast: 9999;
  --chrome-blur: none;
  --float-blur: none;
  --float-blur-lg: none;
  --scrim-blur: none;
  --panel-wash: var(--card);
  --chrome-fill: var(--card);
  --dock-fill: var(--card);
  --side-fill: var(--card);
  --sticky-fill: var(--card);
  --featured-wash: var(--featured-wash-pro);
  --notice-fill: color-mix(in srgb, var(--intent-soft, var(--accent-soft)) 55%, var(--card));
  --intent-border: color-mix(in srgb, var(--intent, var(--accent)) 45%, var(--border));
  --intent-border-soft: color-mix(in srgb, var(--intent, var(--accent)) 28%, var(--border));
  --accent-edge: color-mix(in srgb, var(--accent) 55%, var(--border));
  --border-accent: color-mix(in oklab, var(--border) 55%, var(--accent));
 --border-accent-soft: color-mix(in oklab, var(--border) 70%, var(--accent));
  --border-accent-strong: color-mix(in oklab, var(--border) 40%, var(--accent));
  --edge-accent-soft: color-mix(in oklab, var(--border-strong) 70%, var(--accent));
 --edge-accent-strong: color-mix(in oklab, var(--border-strong) 40%, var(--accent));
  --hairline-accent: color-mix(in oklab, var(--hairline) 55%, var(--accent));
 --hairline-accent-soft: color-mix(in oklab, var(--hairline) 70%, var(--accent));
  --fill-flat: var(--card);
 --fill-plate: var(--card);
  --fill-quiet: var(--card);
 --fill-sunken: var(--bg-soft);
  --fill-sunken-soft: var(--bg-soft);
 --fill-row: var(--bg-soft);
  --fill-hover: color-mix(in oklab, var(--bg-hover) 55%, var(--accent-soft));
 --fill-elev: var(--bg-elev);
  --fill-elev-soft: var(--bg-elev);
 --fill-bg: var(--bg);
  --fill-track: color-mix(in oklab, var(--bg-hover) 70%, var(--accent-soft));
 --fill-chrome: var(--card);
  --fill-active: color-mix(in oklab, var(--bg-active) 55%, var(--accent-soft));
 --fill-active-hot: color-mix(in oklab, var(--bg-active) 70%, var(--accent-soft));
  --fill-nest: var(--card);
 --fill-sticky: var(--card);
  --fill-dock: var(--card);
 --fill-side: var(--card);
  --fill-notice: var(--notice-fill);
 --fill-ink: color-mix(in oklab, var(--bg) 88%, var(--accent));
  --fill-mark: color-mix(in oklab, var(--bg-hover) 50%, var(--accent));
 --fill-rail: color-mix(in oklab, var(--accent-soft) 85%, var(--bg-elev));
 --fill-solid: color-mix(in oklab, var(--accent) 88%, var(--bg-elev));
  --border-feature: color-mix(in oklab, var(--accent) 35%, var(--border));
 --intent-edge: color-mix(in oklab, var(--intent-border-soft) 70%, var(--accent));
 --focus-halo: 0 0 0 4px color-mix(in oklab, var(--accent-ring) 50%, transparent);
 --intent-halo: 0 0 0 0.4rem var(--intent-soft, var(--accent-soft));
  --fill-outline: color-mix(in oklab, transparent 70%, var(--accent-soft));
 --fill-shimmer: color-mix(in oklab, var(--accent-soft) 55%, var(--bg-soft));
 --border-ok: color-mix(in oklab, var(--ok, var(--accent)) 65%, var(--border));
  --accent-mid: color-mix(in oklab, var(--accent) 55%, var(--accent-soft));
 --accent-fade: color-mix(in oklab, var(--accent) 55%, transparent);
 --ring-current: 0 0 0 3px color-mix(in oklab, currentColor 22%, transparent);
  --wash-hold: color-mix(in srgb, var(--accent) 18%, transparent);
 --wash-drop: color-mix(in srgb, var(--accent) 22%, transparent);
 --wash-warn: color-mix(in srgb, var(--warn) 18%, transparent);
  --featured-wash-pro: color-mix(in srgb, var(--intent-soft, var(--accent-soft)) 22%, var(--card));
 --featured-wash-soft: color-mix(in srgb, var(--intent-soft, var(--accent-soft)) 18%, var(--card));
 --featured-wash-round: color-mix(in srgb, var(--intent-soft, var(--accent-soft)) 14%, var(--card));
  --intent-border-pro: color-mix(in srgb, var(--intent, var(--accent)) 32%, var(--border));
 --accent-edge-pro: color-mix(in srgb, var(--accent) 40%, var(--border));
  --brand-glow-soft: 0 8px 20px color-mix(in srgb, var(--accent) 26%, transparent);
 --brand-glow-round: 0 10px 24px color-mix(in srgb, var(--accent) 22%, transparent);
 --brand-glow-relaxed: 0 6px 18px color-mix(in srgb, var(--accent) 18%, transparent);
  --outline-accent: color-mix(in srgb, var(--accent) 70%, transparent);
 --outline-accent-dash: color-mix(in srgb, var(--accent) 35%, transparent);
 --border-intent: color-mix(in srgb, var(--intent) 40%, var(--border));
  --plate: color-mix(in srgb, var(--bg-elev) 92%, transparent);
 --plate-soft: color-mix(in srgb, var(--bg-elev) 94%, transparent);
 --plate-quiet: color-mix(in srgb, var(--bg-elev) 96%, transparent);
 --plate-scrim: color-mix(in srgb, var(--bg) 75%, transparent);
  --callout-wash: linear-gradient(90deg, var(--intent-soft, var(--accent-soft)), transparent 70%) var(--card);
 --accent-wash: linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 35%, var(--bg-soft)), var(--card) 70%);
  --intent-wash: linear-gradient(180deg, var(--intent-soft, var(--accent-soft)), var(--card) 55%);
 --mesh-alt: var(--purple-soft);
 --masthead-glow: none;
 --hero-wash: var(--card);
  --hover-lift: translateY(-1px);
 --hover-elevate: 0 4px 12px rgba(0, 0, 0, 0.06);
 --brand-mark-bg: linear-gradient(145deg, var(--accent) 0%, var(--accent-dim) 100%);
 --brand-mark-shadow: 0 0 0 1px var(--accent-ring), 0 8px 18px var(--accent-glow);
  --glass-frost: blur(20px) saturate(180%);
 --glass-frost-lg: blur(32px) saturate(180%);
 --glass-frost-shadow: light-dark(0 8px 32px rgba(0, 0, 0, 0.06), 0 8px 32px rgba(0, 0, 0, 0.4));
 --glass-frost-bg: light-dark(rgba(255, 253, 249, 0.75), rgba(12, 17, 24, 0.75));
 --glass-frost-border: color-mix(in oklab, light-dark(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.08)) 72%, var(--accent));
  --glass-blur: none;
 --glass-blur-lg: none;
 --glass-bg: var(--card);
 --glass-border: var(--border);
 --glass-shadow: var(--shadow);
  accent-color: var(--accent);
  caret-color: var(--accent);
}
* { scrollbar-width: thin; scrollbar-color: var(--border-accent) transparent;
}
::-webkit-scrollbar { width: 6px; height: 6px;
}
::-webkit-scrollbar-track { background: transparent;
}
::-webkit-scrollbar-thumb { background: var(--edge-accent); border-radius: var(--radius-pill);
}
::-webkit-scrollbar-thumb:hover { background: color-mix(in oklab, var(--faint) 45%, var(--accent));
}
:root[data-theme="light"] { color-scheme: light;
}
:root[data-theme="dark"] { color-scheme: dark;
}
[data-theme="midnight"] {
  color-scheme: dark;
  --bg:        #05060a;
  --bg-elev:   #0b0e18;
  --bg-soft:   #080b14;
  --bg-hover:  #121628;
  --bg-active: #171332;
  --card:      #0e1220;
  --chrome:    rgba(11, 14, 24, 0.94);
  --text:  #e8e6f4;
  --muted: #a8a3c0;
  --faint: #7d7996;
  --accent:     #8b7cff;
  --accent-dim: #7869ea;
  ;
  --accent-ink: #0a0714;
  --accent-soft: rgba(139, 124, 255, 0.16);
  --accent-ring: rgba(139, 124, 255, 0.32);
  --accent-glow: rgba(139, 124, 255, 0.22);
  --mesh:        rgba(139, 124, 255, 0.16);
  --border:        #232a42;
  --border-strong: #2e3654;
  --hairline:      #1c2233;
  --scrim: rgba(0, 0, 0, 0.7);
}
html[data-dir="rtl"], html[dir="rtl"] { direction: rtl; --dir: -1;
}
html[data-dir="ltr"], html[dir="ltr"] { direction: ltr; --dir: 1;
}
html[data-font="system"] { --font: var(--font-system); --font-display: var(--font-system);
}
html[data-font="geist"] { --font: var(--font-geist); --font-display: var(--font-geist);
}
html[data-font="inter"] { --font: var(--font-sans); --font-display: var(--font-display-stack);
}
html[data-font="serif"] { --font: var(--font-serif); --font-display: var(--font-serif);
}
html[data-font="mono"] { --font: var(--font-mono); --font-display: var(--font-mono);
}
html[data-font="custom"] { --font: var(--font-custom, var(--font-sans)); --font-display: var(--font-display-custom, var(--font));
}
html[data-palette="slate"] { --palette-h: 220; --palette-c: 0.14;
}
html[data-palette="indigo"] { --palette-h: 265; --palette-c: 0.16;
}
html[data-palette="emerald"] { --palette-h: 155; --palette-c: 0.15;
}
html[data-palette="amber"] { --palette-h: 75;  --palette-c: 0.16;
}
html[data-palette="rose"] { --palette-h: 15;  --palette-c: 0.17;
}
html[data-palette="violet"] { --palette-h: 290; --palette-c: 0.16;
}
html[data-palette="cyan"] { --palette-h: 200; --palette-c: 0.15;
}
@supports (color: oklch(0.5 0.1 200)) {html[data-palette]:not([data-palette="custom"]) {
    --accent: light-dark(
      oklch(0.52 var(--palette-c, 0.15) var(--palette-h, 175)),
      oklch(0.78 var(--palette-c, 0.15) var(--palette-h, 175))
    );
    --accent-dim: light-dark(
      oklch(0.42 var(--palette-c, 0.15) var(--palette-h, 175)),
      oklch(0.68 var(--palette-c, 0.15) var(--palette-h, 175))
    );
    --accent-ink: light-dark(#ffffff, oklch(0.12 0.04 var(--palette-h, 175)));
    --accent-soft: light-dark(oklch(0.52 var(--palette-c, 0.15) var(--palette-h, 175) / 0.14), oklch(0.78 var(--palette-c, 0.15) var(--palette-h, 175) / 0.16));
    --accent-ring: light-dark(oklch(0.52 var(--palette-c, 0.15) var(--palette-h, 175) / 0.28), oklch(0.78 var(--palette-c, 0.15) var(--palette-h, 175) / 0.32));
    --accent-glow: light-dark(oklch(0.52 var(--palette-c, 0.15) var(--palette-h, 175) / 0.22), oklch(0.78 var(--palette-c, 0.15) var(--palette-h, 175) / 0.22));
    --mesh: light-dark(oklch(0.52 var(--palette-c, 0.15) var(--palette-h, 175) / 0.12), oklch(0.78 var(--palette-c, 0.15) var(--palette-h, 175) / 0.16));
    --ring: var(--accent);
}
}
html[data-accent="custom"],
html[data-palette="custom"] {
  --accent-dim: var(--accent); --accent-ink: var(--ink-on-solid);
  --accent-soft: color-mix(in srgb, var(--accent) 16%, transparent);
  --accent-ring: color-mix(in srgb, var(--accent) 32%, transparent);
  --accent-glow: color-mix(in srgb, var(--accent) 22%, transparent); --ring: var(--accent);
  --mesh: color-mix(in srgb, var(--accent) 14%, transparent);
}
@supports (color: oklch(from red l c h)) {html[data-accent="custom"],
  html[data-palette="custom"] {
    --accent-dim: oklch(from var(--accent) calc(l * 0.88) c h);
    --accent-ink: oklch(from var(--accent) clamp(0.12, (0.62 - l) * 8, 0.98) 0.03 h);
    --accent-soft: oklch(from var(--accent) l c h / 0.16);
    --accent-ring: oklch(from var(--accent) l c h / 0.32);
    --accent-glow: oklch(from var(--accent) l c h / 0.22);
    --mesh: oklch(from var(--accent) l c h / 0.14);
}
}
html[data-palette="custom"],
html[data-accent="custom"] {
  --accent: var(--brand, var(--accent-default));
}
@media (prefers-reduced-motion: reduce) {:root { --hover-lift: none;
 --hover-elevate: none;
}
*, *::before, *::after {
    animation-duration: 0.01ms !important; animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important; scroll-behavior: auto !important;
}
}
::selection { background: var(--accent-soft); color: var(--accent-ink);
}
:root {
  --content-pad: var(--space-4);
  --gutter: var(--space-4);
  --sidebar-w: var(--bp-2xs);
  --affix-w: 14rem;
  --hero-min-h: 50svh;
  --media-obj-size: 3rem;
  --bento-min: var(--bp-2xs);
  --stepper-dot-size: 2rem;
  --flexgrid-min: var(--bp-xs);
}}
@layer tokens {
:root {
  color-scheme: light dark;
  --shine: none;
  --featured-wash: color-mix(in srgb, var(--intent-soft, var(--accent-soft)) 50%, transparent);
  --intent-border: color-mix(in srgb, var(--intent, var(--accent)) 45%, var(--border));
  --intent-border-soft: color-mix(in srgb, var(--intent, var(--accent)) 28%, var(--border));
  --accent-edge: color-mix(in srgb, var(--accent) 55%, var(--border));
  --border-accent: color-mix(in oklab, var(--border) 55%, var(--accent));
 --border-accent-soft: color-mix(in oklab, var(--border) 70%, var(--accent));
  --border-accent-strong: color-mix(in oklab, var(--border) 40%, var(--accent));
 --edge-accent: color-mix(in oklab, var(--border-strong) 55%, var(--accent));
  --edge-accent-soft: color-mix(in oklab, var(--border-strong) 70%, var(--accent));
 --edge-accent-strong: color-mix(in oklab, var(--border-strong) 40%, var(--accent));
  --hairline-accent: color-mix(in oklab, var(--hairline) 55%, var(--accent));
 --hairline-accent-soft: color-mix(in oklab, var(--hairline) 70%, var(--accent));
  --fill-flat: color-mix(in oklab, var(--card) 92%, var(--accent-soft));
 --fill-plate: color-mix(in oklab, var(--card) 94%, var(--accent-soft));
  --fill-quiet: color-mix(in oklab, var(--card) 96%, var(--accent-soft));
 --fill-sunken: color-mix(in oklab, var(--bg-soft) 80%, var(--accent-soft));
  --fill-sunken-soft: color-mix(in oklab, var(--bg-soft) 82%, var(--accent-soft));
 --fill-row: color-mix(in oklab, var(--bg-soft) 70%, var(--accent-soft));
  --fill-hover: color-mix(in oklab, var(--bg-hover) 55%, var(--accent-soft));
 --fill-elev: color-mix(in oklab, var(--bg-elev) 88%, var(--accent-soft));
  --fill-elev-soft: color-mix(in oklab, var(--bg-elev) 85%, var(--accent-soft));
 --fill-bg: color-mix(in oklab, var(--bg) 88%, var(--accent-soft));
  --fill-track: color-mix(in oklab, var(--bg-hover) 70%, var(--accent-soft));
 --fill-chrome: color-mix(in oklab, var(--chrome) 85%, var(--accent-soft));
  --fill-active: color-mix(in oklab, var(--bg-active) 55%, var(--accent-soft));
 --fill-active-hot: color-mix(in oklab, var(--bg-active) 70%, var(--accent-soft));
  --fill-nest: color-mix(in oklab, var(--panel-wash) 88%, var(--accent-soft));
 --fill-sticky: color-mix(in oklab, var(--sticky-fill) 85%, var(--accent-soft));
  --fill-dock: color-mix(in oklab, var(--dock-fill) 85%, var(--accent-soft));
 --fill-side: color-mix(in oklab, var(--side-fill) 88%, var(--accent-soft));
  --fill-notice: color-mix(in oklab, var(--notice-fill) 92%, var(--accent-soft));
 --fill-ink: color-mix(in oklab, var(--bg) 88%, var(--accent));
  --fill-mark: color-mix(in oklab, var(--bg-hover) 50%, var(--accent));
 --fill-rail: color-mix(in oklab, var(--accent-soft) 85%, var(--bg-elev));
 --fill-solid: color-mix(in oklab, var(--accent) 88%, var(--bg-elev));
  --border-feature: color-mix(in oklab, var(--accent) 35%, var(--border));
 --intent-edge: color-mix(in oklab, var(--intent-border-soft) 70%, var(--accent));
 --focus-halo: 0 0 0 4px color-mix(in oklab, var(--accent-ring) 50%, transparent);
 --intent-halo: 0 0 0 0.4rem var(--intent-soft, var(--accent-soft));
  --fill-outline: color-mix(in oklab, transparent 70%, var(--accent-soft));
 --fill-shimmer: color-mix(in oklab, var(--accent-soft) 55%, var(--bg-soft));
 --border-ok: color-mix(in oklab, var(--ok, var(--accent)) 65%, var(--border));
  --accent-mid: color-mix(in oklab, var(--accent) 55%, var(--accent-soft));
 --accent-fade: color-mix(in oklab, var(--accent) 55%, transparent);
 --ring-current: 0 0 0 3px color-mix(in oklab, currentColor 22%, transparent);
  --wash-hold: color-mix(in srgb, var(--accent) 18%, transparent);
 --wash-drop: color-mix(in srgb, var(--accent) 22%, transparent);
 --wash-warn: color-mix(in srgb, var(--warn) 18%, transparent);
  --featured-wash-pro: color-mix(in srgb, var(--intent-soft, var(--accent-soft)) 22%, var(--card));
 --featured-wash-soft: color-mix(in srgb, var(--intent-soft, var(--accent-soft)) 18%, var(--card));
 --featured-wash-round: color-mix(in srgb, var(--intent-soft, var(--accent-soft)) 14%, var(--card));
  --intent-border-pro: color-mix(in srgb, var(--intent, var(--accent)) 32%, var(--border));
 --accent-edge-pro: color-mix(in srgb, var(--accent) 40%, var(--border));
  --brand-glow-soft: 0 8px 20px color-mix(in srgb, var(--accent) 26%, transparent);
 --brand-glow-round: 0 10px 24px color-mix(in srgb, var(--accent) 22%, transparent);
 --brand-glow-relaxed: 0 6px 18px color-mix(in srgb, var(--accent) 18%, transparent);
  --outline-accent: color-mix(in srgb, var(--accent) 70%, transparent);
 --outline-accent-dash: color-mix(in srgb, var(--accent) 35%, transparent);
 --border-intent: color-mix(in srgb, var(--intent) 40%, var(--border));
  --plate: color-mix(in srgb, var(--bg-elev) 92%, transparent);
 --plate-soft: color-mix(in srgb, var(--bg-elev) 94%, transparent);
 --plate-quiet: color-mix(in srgb, var(--bg-elev) 96%, transparent);
 --plate-scrim: color-mix(in srgb, var(--bg) 75%, transparent);
  --dash-border: color-mix(in srgb, var(--border) 70%, var(--accent-ring));
 --chip-ring: 0 0 0 1px var(--accent-ring);
 --mark-ring: 0 0 0 2px var(--accent-ring);
 --control-ring: 0 0 0 3px var(--accent-ring);
 --intent-inset: inset 0 0 0 1px var(--intent-soft, var(--accent-ring));
 --spinner-track: var(--accent-ring);
 --track-inset: inset 0 0 0 1px var(--border-accent);
 --meter-sheen: color-mix(in srgb, var(--ink-on-solid) 42%, transparent);
 --btn-hover-wash: linear-gradient(color-mix(in srgb, currentColor 9%, transparent) 0 0);
 --btn-press-wash: linear-gradient(color-mix(in srgb, currentColor 16%, transparent) 0 0);
 --heat-ok: color-mix(in oklab, var(--ok) calc(var(--heat, 0) * 55%), transparent);
 --heat-dn: color-mix(in oklab, var(--danger) calc(var(--heat, 0) * 55%), transparent);
 --progress-glow: 0 0 8px var(--accent-glow);
 --progress-glow-sm: 0 0 6px var(--accent-glow);
 --float-glow: 0 0 24px var(--accent-dim, rgba(0, 0, 0, 0.25));
 --float-glow-lg: 0 0 32px var(--accent-soft);
 --sticky-edge: var(--shadow-sm), 0 1px 0 var(--edge-accent);
  --panel-wash: linear-gradient(180deg, color-mix(in srgb, var(--bg-soft) 92%, var(--accent-soft)), var(--card) 60%);
  --chrome-fill: color-mix(in srgb, color-mix(in srgb, var(--card) 92%, var(--accent-soft)) 88%, transparent);
  --dock-fill: color-mix(in srgb, color-mix(in srgb, var(--bg-soft) 88%, var(--accent-soft)) 70%, var(--card));
}}
@layer tokens {
:root {
  --space-0: 0;
  --space-9: calc(5rem * var(--density));
  --space-10: calc(6rem * var(--density));
  --hair: 1px;
  --hair-2: 2px;
  --focus-w: 2px;
  --lh-none: 1;
  --lh-heading: 1.2;
  --lh-snug: 1.4;
  --lh-ui: 1.5;
  --text-eyebrow: var(--text-2xs);
  --text-title: var(--text-2xl);
  --text-subtitle: var(--text-sm);
  --text-kpi: var(--text-xl);
  --tracking-eyebrow: 0.09em;
  --tracking-title: -0.03em;
  --measure: 68ch;
  --radius-xs: 6px;
  --radius-0: 0;
  --elev-0: none;
  --elev-1: var(--shadow-sm);
  --elev-2: var(--shadow-md);
  --elev-3: var(--shadow-lg);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-snappy: cubic-bezier(0.2, 0, 0, 1);
  --dur-instant: 100ms;
  --dur-fast: 150ms;
  --dur-smooth: 250ms;
  --surface-page: var(--bg);
  --surface-0: var(--surface-page);
  --surface-1: var(--card);
  --surface-2: var(--bg-elev);
  --surface-3: light-dark(#f8f5ee, #182236);
  --surface-4: light-dark(#f0ece3, #1f2c44);
  --surface-sunken: var(--bg-soft);
  --surface-hover: var(--bg-hover);
  --on-surface: var(--text);
  --on-surface-muted: var(--muted);
  --on-surface-faint: var(--faint);
  --line: var(--hairline);
  --line-strong: var(--border);
  --focus-ring: var(--ring);
  --pad-page: var(--space-5);
  --page-max: 90rem;
  --pad-section: var(--space-5);
  --pad-panel: var(--space-4);
  --gap-page: var(--space-5);
  --gap-panel: var(--space-3);
  --row-h: calc(2.5rem * var(--density));
  --density-hero: calc(var(--density) * 1.05);
  --density-ui: calc(var(--density) * 0.95);
  --density-data: calc(var(--density) * 0.85);
  --elev-flat: none;
  --elev-inset: inset 0 1px 2px rgba(0, 0, 0, 0.08);
  --elev-highlight: inset 0 1px 0 0 light-dark(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.08));
  --card-bg: var(--surface-1);
  --card-border: var(--line);
  --card-radius: var(--radius);
  --card-shadow: var(--elev-1);
  --card-pad: var(--pad-panel);
  --btn-radius: var(--radius-sm);
  --btn-pad-x: var(--space-3);
  --btn-pad-y: var(--space-2);
  --header-bg: var(--chrome);
  --header-blur: var(--chrome-blur);
  --header-border: var(--line);
  --header-h: calc(3.5rem * var(--density));
  --bp-2xs: 14rem;
  --bp-xs: 20rem;
  --bp-sm: 30rem;
  --bp-md: 36rem;
  --bp-lg: 48rem;
  --bp-xl: 64rem;
}
[data-theme="light"] { color-scheme: light;
}
[data-theme="dark"] { color-scheme: dark;
}}
@layer product {
html[data-style="pro"] {
  --radius-sm: 4px; --radius: 6px; --radius-lg: 8px;
  --shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.04); --shadow: 0 2px 4px rgba(0, 0, 0, 0.06); --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.08);
  --hover-elevate: var(--shadow-soft);
  --featured-wash: var(--card); --notice-fill: var(--card); --callout-wash: var(--card); --accent-wash: var(--card); --intent-wash: var(--card);
  --intent-border: var(--intent-border-pro); --intent-border-soft: var(--border-accent-soft);
  --accent-edge: var(--accent-edge-pro); --dash-border: var(--border-accent); --glass-border: var(--border-accent-soft);
  --brand-mark-bg: var(--accent); --brand-mark-shadow: var(--chip-ring);
  --font-features: var(--font-features-pro); --control-h: calc(2.35rem * var(--density));
}
html[data-style="pro"] :is(.popover, dialog.modal-overlay, .cmd-palette[data-surface="glass"], dialog.cmd-palette[data-surface="glass"]) { background: var(--bg-elev);
}
html[data-style="sharp"] {
  --radius-sm: 0; --radius: 2px; --radius-lg: 3px;
  --shadow-soft: none; --shadow: none; --shadow-md: none; --shadow-lg: none;
  --shadow-strong: 0 0 0 1px var(--border-accent); --hover-elevate: var(--shadow-soft);
  --featured-wash: var(--card);
  --dash-border: var(--edge-accent); --intent-border: var(--edge-accent); --intent-border-soft: var(--border-accent-soft); --glass-border: var(--border-accent);
  --brand-mark-bg: var(--accent); --brand-mark-shadow: 0 0 0 1px var(--edge-accent-strong); --chip-ring: 0 0 0 1px var(--accent-ring);
}
html[data-style="soft"] {
  --radius-sm: 10px; --radius: clamp(12px, 1.5vw, 18px); --radius-lg: clamp(18px, 2.2vw, 24px);
  --shadow-soft: 0 1px 4px rgba(15, 23, 42, 0.05); --shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 10px 28px rgba(15, 23, 42, 0.08); --hover-lift: translateY(-2px); --hover-elevate: 0 8px 24px rgba(15, 23, 42, 0.08);
  --featured-wash: var(--featured-wash-soft);
  --dash-border: var(--border-accent); --glass-border: var(--border-accent-soft); --chip-ring: 0 0 0 1px var(--accent-ring);
  --brand-mark-shadow: var(--brand-glow-soft);
}
html[data-style="round"] {
  --radius-sm: 14px; --radius: 20px; --radius-lg: 28px;
  --shadow: 0 10px 30px rgba(15, 23, 42, 0.08); --shadow-md: 0 14px 36px rgba(15, 23, 42, 0.1);
  --hover-lift: translateY(-2px); --hover-elevate: 0 12px 28px rgba(15, 23, 42, 0.1);
  --featured-wash: var(--featured-wash-round);
  --dash-border: var(--border-accent); --glass-border: var(--border-accent-soft); --chip-ring: 0 0 0 1px var(--accent-ring);
  --brand-mark-shadow: var(--brand-glow-round);
}
html[data-style="dense"] {
  --density: 0.85; --radius-sm: 4px; --radius: 6px; --radius-lg: 8px;
  --shadow-soft: 0 1px 2px rgba(15, 23, 42, 0.04); --shadow: 0 2px 6px rgba(15, 23, 42, 0.05);
  --featured-wash: var(--card);
  --dash-border: var(--border-accent); --glass-border: var(--border-accent-soft); --chip-ring: 0 0 0 1px var(--accent-ring);
}
html[data-style="relaxed"] {
  --density: 1.15; --radius: clamp(12px, 1.4vw, 16px); --radius-lg: clamp(16px, 1.8vw, 20px); --featured-wash: var(--card);
  --hover-lift: translateY(-1px); --hover-elevate: 0 6px 18px rgba(15, 23, 42, 0.07);
  --dash-border: var(--border-accent); --glass-border: var(--border-accent-soft); --chip-ring: 0 0 0 1px var(--accent-ring);
  --brand-mark-shadow: var(--brand-glow-relaxed);
}
html[data-style="flat"] {
  --shadow-soft: none; --shadow: none; --shadow-md: none; --shadow-lg: none;
  --shadow-strong: none; --shadow-inner: none; --hover-elevate: var(--shadow-soft);
  --featured-wash: var(--card);
  --dash-border: var(--edge-accent); --intent-border: var(--edge-accent);
  --brand-mark-bg: var(--accent); --brand-mark-shadow: 0 0 0 1px var(--edge-accent-strong); --chip-ring: 0 0 0 1px var(--accent-ring);
}
html[data-style="brutal"] {
  --radius-sm: 0; --radius: 0; --radius-lg: 0;
  --shadow-soft: 2px 2px 0 var(--edge-accent-soft); --shadow: 4px 4px 0 var(--edge-accent-soft);
  --shadow-md: 4px 4px 0 var(--edge-accent-soft); --shadow-lg: 6px 6px 0 var(--edge-accent-soft);
  --shadow-strong: 8px 8px 0 var(--edge-accent-soft); --hover-elevate: var(--shadow-soft);
  --featured-wash: var(--card); --dash-border: var(--edge-accent);
  --brand-mark-bg: var(--accent); --brand-mark-shadow: 3px 3px 0 var(--edge-accent); --chip-ring: 0 0 0 1px var(--accent-ring);
}
html[data-style="glass"] {
  --glass-blur: var(--glass-frost); --glass-blur-lg: var(--glass-frost-lg);
  --glass-bg: var(--glass-frost-bg); --glass-shadow: var(--glass-frost-shadow);
  --card: var(--glass-bg); --bg-elev: var(--glass-bg); --shadow: var(--glass-shadow); --radius: var(--radius-lg);
  --chrome-blur: var(--glass-blur); --float-blur: var(--glass-blur); --float-blur-lg: var(--glass-blur-lg); --scrim-blur: var(--glass-blur);
  --panel-wash: var(--glass-bg); --hero-wash: var(--glass-bg); --featured-wash: var(--glass-bg);
  --chrome-fill: var(--glass-bg); --dock-fill: var(--glass-bg); --side-fill: var(--glass-bg); --sticky-fill: var(--glass-bg);
  --glass-border: var(--glass-frost-border);
  --dash-border: var(--glass-border); --chip-ring: 0 0 0 1px var(--accent-ring);
}
html[data-style="glass"] .panel[data-surface], html[data-style="glass"] .card[data-surface] { border-color: var(--glass-border); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
}
html[data-style="aurora"] {
  --bg-mesh: radial-gradient(70rem 28rem at 8% -12%, var(--mesh), transparent 58%), radial-gradient(42rem 22rem at 100% 0%, var(--purple-soft), transparent 50%);
  --masthead-glow: radial-gradient(ellipse at 12% 40%, var(--mesh), transparent 58%), radial-gradient(ellipse at 92% 8%, var(--mesh-alt), transparent 42%);
  --panel-wash: linear-gradient(180deg, color-mix(in srgb, var(--bg-soft) 92%, var(--accent-soft)), var(--card) 60%);
  --hero-wash: radial-gradient(ellipse at 10% 20%, var(--mesh), transparent 55%), var(--panel-wash);
  --chrome-fill: color-mix(in srgb, color-mix(in srgb, var(--card) 92%, var(--accent-soft)) 88%, transparent);
  --dock-fill: color-mix(in srgb, color-mix(in srgb, var(--bg-soft) 88%, var(--accent-soft)) 70%, var(--card));
  --side-fill: color-mix(in srgb, color-mix(in srgb, var(--bg-soft) 88%, var(--accent-soft)) 65%, var(--card));
  --sticky-fill: color-mix(in srgb, color-mix(in srgb, var(--card) 94%, var(--accent-soft)) 92%, var(--bg-soft));
  --featured-wash: color-mix(in srgb, var(--intent-soft, var(--accent-soft)) 50%, transparent);
}}
@layer reset {
@view-transition { navigation: auto;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0;
}
html { height: 100%;
 -webkit-text-size-adjust: 100%;
}
body {
  height: 100%; font-family: var(--font); font-size: var(--text-md);
  background: var(--bg);
  color: var(--text); line-height: var(--lh-body, 1.55);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: var(--font-features);
  overflow: hidden;
}
html:not([data-canvas="doc"]):not([data-canvas="bare"]) body {
  background: var(--bg-mesh, none), var(--bg);
}
html[data-canvas="doc"] body,
html[data-canvas="bare"] body {
  overflow: auto;
}
html[data-canvas="bare"] body {
  background: transparent;
  height: auto;
}
[popover] { display: none;
}
:is([popover]:popover-open, [popover][open], [popover][data-vf-open]) { display: block;
}
.page { container-type: inline-size;
}
::selection { background: var(--accent-soft); color: var(--text);
}
::target-text { background: var(--accent-soft); color: var(--text);
}
h1, h2, h3, h4, h5, h6 { font-weight: var(--weight-bold); line-height: var(--lh-tight); text-wrap: balance;
}
@supports (text-box-trim: trim-both) {h1, h2, h3, .display, .kicker {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
}
}
h1 { font-size: var(--text-2xl); letter-spacing: -0.04em;
}
h2 { font-size: var(--text-xl); letter-spacing: -0.03em;
}
h3 { font-size: var(--text-lg); letter-spacing: -0.02em;
}
h4 { font-size: var(--text-md);
}
h5 { font-size: var(--text-sm);
}
h6 { font-size: var(--text-xs); letter-spacing: 0.06em; text-transform: uppercase;
}
p { line-height: var(--lh-body); text-wrap: pretty; hanging-punctuation: first last;
}
a { color: var(--accent); text-decoration: none;
}
a:hover { text-decoration: underline;
}
button { font-family: inherit; font-size: inherit; cursor: pointer;
}
input, select, textarea { font-family: inherit; font-size: inherit;
}
img, svg { display: block; max-width: 100%;
}
code { font-family: var(--mono); font-size: 0.85em;
}
ul, ol { list-style: none;
}
hr { border: 0; border-top: 1px solid var(--border);
}
.hidden { display: none !important;
}
.sr {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: absolute;
  inset-inline-start: var(--space-3);
  top: var(--space-3);
  z-index: 100;
  padding: var(--space-2) var(--space-3);
  background: var(--bg-elev);
  color: var(--text);
  border-radius: var(--radius-sm);
  transform: translateY(-200%);
}
.skip-link:focus { transform: none;
}
html[data-shell="plain"] .work,
html[data-shell="plain"] #work {
  container-name: work;
  container-type: inline-size;
  min-width: 0;
  min-height: 0;
  padding: var(--space-6);
  max-width: 48rem;
  margin-inline: auto;
}
html[data-shell="plain"][data-canvas="app"] .work,
html[data-shell="plain"][data-canvas="app"] #work,
html[data-canvas="bare"] .work,
html[data-canvas="bare"] #work {
  max-width: none;
  padding: 0;
  margin-inline: 0;
  width: 100%;
  container-type: normal;
}
.hint { font-size: var(--text-xs); color: var(--faint); margin: 0;
}
.mono { font-family: var(--mono);
}
html, body, .shell, .topbar, .layout {
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
@media (prefers-reduced-motion: no-preference) {::view-transition-old(root) { animation: vf-vt-out var(--dur) var(--ease);
}
::view-transition-new(root) { animation: vf-vt-in var(--dur) var(--ease);
}
}
@keyframes vf-vt-out { to { opacity: 0; }
}
@keyframes vf-vt-in { from { opacity: 0; }
}}
@layer base {
[data-density="compact"], [data-density="dense"] { --density: 0.82; --type-scale: 0.88;
}
[data-density="standard"], [data-density="balanced"], [data-density="normal"] { --density: 0.95; --type-scale: 0.96;
}
[data-density="comfortable"], [data-density="comfy"] { --density: 1; --type-scale: 1;
}
[data-density] {
  --space-1: calc(clamp(0.1875rem, 0.2rem + 0.1cqi, 0.25rem) * var(--density));
  --space-2: calc(clamp(0.375rem, 0.4rem + 0.15cqi, 0.5rem) * var(--density));
  --space-3: calc(clamp(0.625rem, 0.7rem + 0.2cqi, 0.75rem) * var(--density));
  --space-4: calc(clamp(0.875rem, 0.9rem + 0.3cqi, 1rem) * var(--density));
  --space-5: calc(clamp(1.25rem, 1.4rem + 0.5cqi, 1.5rem) * var(--density));
  --space-6: calc(clamp(1.75rem, 2rem + 0.8cqi, 2rem) * var(--density));
  --space-7: calc(clamp(2.5rem, 3rem + 1cqi, 3rem) * var(--density));
  --space-8: calc(clamp(3.5rem, 4rem + 1.2cqi, 4rem) * var(--density));
  --row-h: calc(2.5rem * var(--density));
  --text-3xs: calc(clamp(0.60rem, 0.58rem + 0.08cqi, 0.65rem) * var(--type-scale));
  --text-2xs: calc(clamp(0.68rem, 0.65rem + 0.10cqi, 0.72rem) * var(--type-scale));
  --text-xs: calc(clamp(0.72rem, 0.7rem + 0.12cqi, 0.78rem) * var(--type-scale));
  --text-sm: calc(clamp(0.83rem, 0.8rem + 0.18cqi, 0.9rem) * var(--type-scale));
  --text-md: calc(clamp(0.95rem, 0.9rem + 0.25cqi, 1.02rem) * var(--type-scale));
  --text-lg: calc(clamp(1.08rem, 1rem + 0.35cqi, 1.18rem) * var(--type-scale));
  --text-xl: calc(clamp(1.28rem, 1.15rem + 0.6cqi, 1.45rem) * var(--type-scale));
  --text-2xl: calc(clamp(1.55rem, 1.35rem + 1cqi, 1.85rem) * var(--type-scale));
  --text-3xl: calc(clamp(2rem, 1.65rem + 1.8cqi, 2.6rem) * var(--type-scale));
  --text-4xl: calc(clamp(2.5rem, 2rem + 2.5cqi, 3.4rem) * var(--type-scale));
}
[data-theme] { color: var(--on-surface);
}
time, data, output, meter, td, th, kbd { font-variant-numeric: tabular-nums;
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: var(--focus-w) solid var(--focus-ring);
  outline-offset: var(--focus-w);
}
:where(a, button, summary, [tabindex]):focus:not(:focus-visible) { outline: none;
}
:where(.section, .panel-body) > :where(p, ul, ol) + :where(p, ul, ol) { margin-block-start: var(--space-3);
}
:where(p, li) { max-inline-size: var(--measure);
}
:where(h1, h2, h3, h4, h5, h6, .page-title, .card-title, .feature-title, .r-mh-title) {
  text-wrap: balance;
}
:where(p, li, .r-lead, .page-subtitle, .feature-desc, .r-mh-subtitle) {
  text-wrap: pretty;
}
@media (prefers-reduced-motion: reduce) {:where(.section, .page-header, .kpi, .data-list) { transition: none; animation: none;
}
}}
@layer primitives {
.stack { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0;
}
.cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2);
}
.cluster > .field { width: auto; min-width: 4.5rem; max-width: 7rem;
}
.sidebar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(var(--side-min, 18rem), 22rem);
  gap: var(--space-4);
  min-width: 0;
}
.sidebar[data-side="start"] {
  grid-template-columns: minmax(var(--side-min, 18rem), 22rem) minmax(0, 1fr);
}
.frame {
  display: block; position: relative; overflow: hidden;
  border-radius: var(--radius); aspect-ratio: 16 / 9;
}
.frame[data-surface="sunken"] {
  background: var(--fill-bg);
  border: 1px solid var(--border-accent); box-shadow: var(--chip-ring);
}
.frame > * { width: 100%; height: auto; display: block;
}
.frame > .velvet-viewport {
  position: absolute;
  inset: 0;
  max-width: none;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.frame > .velvet-viewport > .velvet-canvas {
  width: 100%;
  height: 100%;
}
.frame[data-ratio="1/1"] { aspect-ratio: 1 / 1;
}
.frame[data-ratio="4/3"] { aspect-ratio: 4 / 3;
}
.frame[data-ratio="3/2"] { aspect-ratio: 3 / 2;
}
.frame[data-ratio="16/9"] { aspect-ratio: 16 / 9;
}
.frame[data-ratio="2/1"] { aspect-ratio: 2 / 1;
}
.frame[data-ratio="21/9"] { aspect-ratio: 21 / 9;
}
.frame[data-ratio="fill"] {
  aspect-ratio: auto;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 22rem;
}
.frame[data-live] > svg { visibility: hidden;
}
.frame[data-ratio="fill"] .velvet-canvas { cursor: crosshair;
}
@supports (aspect-ratio: attr(data-ratio type(<ratio>))) {.frame[data-ratio]:not([data-ratio="fill"]),
  .velvet-viewport[data-ratio]:not([data-ratio="fill"]) {
    aspect-ratio: attr(data-ratio type(<ratio>), 16 / 9);
}
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: var(--space-4) var(--space-5);
  align-items: start;
  min-width: 0;
  width: 100%;
}
.form-grid > * { min-width: 0;
}
.form-grid > .hint,
.form-grid > .drop,
.form-grid > .field:has(textarea),
.form-grid > .field:has(.list-row),
.form-grid > .field:has(.cluster),
.form-grid > .field:has(.drop),
.form-grid > .field:has(input[type="file"]) {
  grid-column: 1 / -1;
}
.scroll {
  min-height: 0;
  overflow: auto;
}
.scroll[data-axis="x"] { overflow-x: auto; overflow-y: hidden;
}
.scroll[data-axis="y"] { overflow-y: auto; overflow-x: hidden;
}
.scroll[data-stick] > * { overflow-anchor: none;
}
.scroll[data-stick]::after {
  content: "";
  display: block;
  height: 1px;
  overflow-anchor: auto;
}
.tab-panel { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0;
}
.panel-actions { margin-inline-start: auto;
}
.panel-actions .btn { min-inline-size: 1.75rem; padding-inline: var(--space-1);
}
.data-grid { overflow: auto; min-width: 0;
}
.data-grid[data-surface="sunken"] tr[data-current],
:is(.directory[data-surface="flat"], .panel[data-surface]) .data-table tr[data-current] {
  background: var(--accent-soft);
}
.data-grid[data-surface="sunken"] tr[data-current] td { color: var(--text);
}
.data-grid .grid-hit {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
}
.data-grid[data-surface="sunken"] tr:has(.grid-hit):hover { background: var(--accent-soft);
}
.graph { position: relative; min-height: 10rem; contain: layout paint;
}
.graph-svg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none;
}
.graph-edge { stroke: var(--border); stroke-width: 0.08;
}
.graph-node {
  position: absolute;
  left: calc(var(--gx, 0) * 100% / 12);
  top: calc(var(--gy, 0) * 100% / 8);
  transform: translate(-50%, -50%);
  contain: layout style;
}
.grid-auto {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--grid-min, 12.5rem)), 1fr));
  gap: var(--space-3);
}
.grid-auto > * { min-width: 0;
}
.split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--split-min, 18rem)), 1fr));
  gap: var(--space-4);
}
.split > * { min-width: 0;
}
.center { display: flex; align-items: center; justify-content: center;
}
.between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-2);
  min-width: 0;
}
:is([data-tone="accent"], .callout-accent, .banner-accent) { --intent: var(--tone-accent); --intent-soft: var(--tone-accent-soft); --intent-ink: var(--tone-accent-ink);
}
:is([data-tone="ok"], [data-tone="live"], .callout-ok, .banner-ok) { --intent: var(--tone-ok); --intent-soft: var(--tone-ok-soft); --intent-ink: var(--tone-ok-ink);
}
:is([data-tone="warn"], [data-tone="away"], .callout-warn, .banner-warn) { --intent: var(--tone-warn); --intent-soft: var(--tone-warn-soft); --intent-ink: var(--tone-warn-ink);
}
:is([data-tone="danger"], .btn-danger, .callout-danger, .banner-danger) { --intent: var(--tone-danger); --intent-soft: var(--tone-danger-soft); --intent-ink: var(--tone-danger-ink);
}
[data-tone="info"] { --intent: var(--tone-info); --intent-soft: var(--tone-info-soft); --intent-ink: var(--tone-info-ink);
}
[data-tone="purple"] { --intent: var(--tone-purple); --intent-soft: var(--tone-purple-soft); --intent-ink: var(--tone-purple-ink);
}
[data-tone="muted"] { --intent: var(--tone-muted); --intent-soft: var(--tone-muted-soft); --intent-ink: var(--bg-elev);
}
:is([data-size="xs"], .btn-xs) { --control-h: calc(1.75rem * var(--density)); --control-px: var(--space-2); --control-fs: var(--text-xs);
}
:is([data-size="sm"], .btn-sm) { --control-h: calc(2rem * var(--density)); --control-px: var(--space-3); --control-fs: var(--text-xs);
}
[data-size="md"] { --control-h: calc(2.5rem * var(--density)); --control-px: var(--space-4); --control-fs: var(--text-sm);
}
:is([data-size="lg"], .btn-lg) { --control-h: calc(3rem * var(--density)); --control-px: var(--space-5); --control-fs: var(--text-md);
}
[data-size="xl"] { --control-h: calc(3.5rem * var(--density)); --control-px: var(--space-6); --control-fs: var(--text-lg);
}
.badge {
  display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: var(--radius-pill);
  font-size: var(--text-xs); font-weight: 600; line-height: 1.4; letter-spacing: 0.02em; white-space: nowrap;
  background: var(--intent-soft, var(--accent-soft)); color: var(--intent, var(--accent));
  border: 1px solid var(--intent-soft, var(--accent-ring)); box-shadow: var(--chip-ring);
}
.badge[data-variant="solid"] { background: var(--intent, var(--accent)); color: var(--intent-ink, var(--accent-ink));
}
.badge[data-variant="outline"] { background: var(--fill-outline); border-color: currentColor;
}
.tag {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 10px; border-radius: var(--radius-sm);
  font-size: var(--text-xs); font-weight: 500; color: var(--muted);
  transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.tag[data-surface="flat"] {
  background: var(--fill-track);
  border: 1px solid var(--border-accent); box-shadow: var(--chip-ring);
}
.tag[data-surface="flat"]:hover { background: var(--fill-active); border-color: var(--accent);
}
.card {
  border-radius: var(--radius);
  min-width: 0;
}
.card[data-surface] { padding: var(--space-4);
}
[data-surface="glass"],
.card[data-surface="glass"],
.panel[data-surface="glass"] {
  background: var(--chrome-fill); backdrop-filter: var(--chrome-blur); -webkit-backdrop-filter: var(--chrome-blur);
  border: 1px solid var(--border-accent-soft); box-shadow: var(--shine), var(--chip-ring);
}
[data-surface="sunken"],
.card[data-surface="sunken"],
.panel[data-surface="sunken"] {
  background: var(--panel-wash); border: 1px solid var(--border-accent-soft); box-shadow: var(--shine), var(--chip-ring);
}
[data-surface="elevated"],
.card[data-surface="elevated"],
.panel[data-surface="elevated"] {
  background: var(--fill-plate);
  border: 1px solid var(--border-accent);
  box-shadow: var(--shine), var(--shadow-md), var(--chip-ring);
}
[data-surface="flat"],
.card[data-surface="flat"],
.panel[data-surface="flat"] {
  background: var(--fill-quiet);
  border: 1px solid var(--border-accent-soft);
  box-shadow: var(--shine), var(--shadow-soft), var(--chip-ring);
}
[data-elev="3"],
.card[data-elev="3"] {
  background: var(--surface-3);
  border: var(--hair) solid var(--border-accent-soft);
}
[data-elev="4"],
.card[data-elev="4"] {
  background: var(--surface-4);
  border: var(--hair) solid var(--border-accent-soft);
}
.skeleton {
  background: linear-gradient(90deg, var(--fill-track) 22%, var(--fill-shimmer) 38%, var(--fill-track) 62%);
  background-size: 400% 100%; animation: skeleton-pulse 1.4s ease infinite; border-radius: var(--radius-sm);
}
@keyframes skeleton-pulse { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; }
}
.divider { height: 1px; background: var(--border-accent); margin: var(--space-3) 0; border: none;
}
.avatar {
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-pill);
  color: var(--text); font-weight: 600; flex-shrink: 0;
}
.avatar[data-surface="flat"] { background: var(--fill-track);
}
.presence-stack { display: inline-flex; align-items: center;
}
.presence-stack .avatar {
  margin-inline-start: -8px; border: 2px solid var(--fill-elev); box-shadow: var(--shadow-sm), var(--chip-ring); transition: transform var(--dur-fast);
}
.presence-stack .avatar:first-child {
  margin-inline-start: 0;
}
.presence-stack .avatar:hover {
  transform: translateY(-2px) scale(1.08);
  z-index: 2;
}
.presence-ring { outline: 2px solid var(--accent); outline-offset: 2px;
}
.avatar-chip {
  display: inline-flex; align-items: center; gap: var(--space-2); padding: 2px 8px 2px 2px;
  border-radius: var(--radius-pill); font-size: var(--text-xs); font-weight: 500;
}
.avatar-chip[data-surface="flat"] { background: var(--fill-sunken); border: 1px solid var(--border-accent); box-shadow: var(--chip-ring);
}
.avatar-chip[data-surface="flat"]:hover { background: var(--fill-hover); border-color: var(--accent);
}
.input, .select, .textarea {
  width: 100%; max-width: 100%; min-width: 0;
  min-height: var(--control-h, calc(2.5rem * var(--density)));
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm); color: var(--text);
  font-size: var(--control-fs, var(--text-sm));
  transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.input[data-surface="sunken"], .select[data-surface="sunken"], .textarea[data-surface="sunken"] {
  background: var(--fill-elev);
  border: 1px solid var(--border-accent); box-shadow: var(--chip-ring);
}
:is(.input, .select, .textarea):hover { border-color: var(--edge-accent-strong);
}
:is(.input, .select, .textarea)::placeholder { color: var(--faint); opacity: 1;
}
:is(.input, .select, .textarea):disabled { opacity: 0.55; cursor: not-allowed;
}
@supports (appearance: base-select) {.select { appearance: base-select;
}
.select[data-surface="sunken"]::picker(select) {
    background: var(--fill-elev); color: var(--text);
    border: 1px solid var(--border-accent);
    border-radius: var(--radius-sm); box-shadow: var(--shadow-sm), var(--chip-ring);
}
}
.input[type="date"],
.input[type="time"],
.input[type="datetime-local"],
.input[type="month"],
.input[type="week"],
.input[type="number"],
.input[type="search"],
.input[type="file"] {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.input[type="date"]::-webkit-datetime-edit,
.input[type="time"]::-webkit-datetime-edit,
.input[type="datetime-local"]::-webkit-datetime-edit {
  min-width: 0;
}
.textarea { min-height: 6rem; resize: vertical;
}
@supports (field-sizing: content) {.textarea { field-sizing: content; max-height: 16rem;
}
}
input[type="color"].input { padding: 2px; max-width: 4.5rem; cursor: pointer;
}
.input:focus, .select:focus, .textarea:focus {
  outline: none; border-color: var(--accent);
  box-shadow: var(--control-ring);
}
.field { display: flex; flex-direction: column; gap: var(--space-1); overflow: visible; min-width: 0; width: 100%;
}
.field-label { font-size: var(--text-xs); font-weight: 600; color: var(--muted);
}
.field-msg { font-size: var(--text-xs); color: var(--faint);
}
.field-msg.danger { color: var(--danger);
}
.field-msg.ok { color: var(--ok);
}
.field-msg.warn { color: var(--warn);
}
.field-msg.info { color: var(--accent);
}
.field:has(.field-msg.danger) .input,
.field:has(.field-msg.danger) .textarea,
.field:has(.field-msg.danger) .select,
.input:user-invalid,
.textarea:user-invalid,
.select:user-invalid { border-color: var(--danger);
}
.input:user-valid,
.textarea:user-valid,
.select:user-valid { border-color: var(--border-ok);
}
.drop {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--space-2); min-height: 7rem; border-radius: var(--radius); cursor: pointer;
  text-align: center; color: var(--muted); font-size: var(--text-sm); position: relative;
  transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.drop[data-surface="sunken"] {
  padding: var(--space-5) var(--space-4); border: 1.5px dashed var(--edge-accent);
  background: var(--fill-bg);
}
.drop[data-surface="sunken"]::before {
  content: "⬆"; font-size: 1.25rem; line-height: 1; opacity: .55; color: var(--accent);
}
.drop[data-surface="sunken"].on, .drop[data-surface="sunken"]:focus-within,
.drop[data-surface="sunken"]:hover {
  border-color: var(--accent); border-style: solid; background: var(--bg-active);
  color: var(--text); box-shadow: var(--control-ring);
}
.drop[data-surface="sunken"].on::before,
.drop[data-surface="sunken"]:focus-within::before,
.drop[data-surface="sunken"]:hover::before { opacity: 1;
}
.drop-label { pointer-events: none; font-weight: 550;
}
.input[type="file"]::file-selector-button {
  margin-inline-end: var(--space-2); border: 1px solid var(--border-accent);
  border-radius: var(--radius-sm); background: var(--fill-elev); color: var(--text); box-shadow: var(--chip-ring);
  padding: .2rem .65rem; font: inherit; cursor: pointer;
}
.input[type="file"]::file-selector-button:hover { border-color: var(--accent); background: var(--fill-hover);
}
search.suggest,
.suggest { position: relative; display: block; min-width: 0; width: 100%;
}
.suggest-menu {
  display: none; opacity: 0; transform: translateY(-4px) scale(0.98);
  position: absolute; left: 0; right: 0; top: calc(100% + 4px);
  z-index: var(--z-dropdown); margin: 0; list-style: none;
  max-height: 12rem; overflow: auto;
  transition: opacity var(--dur-fast) var(--ease-out),
    transform var(--dur-fast) var(--ease-out),
    display var(--dur-fast) allow-discrete;
}
.suggest-menu[data-surface="glass"] {
  padding: var(--space-1);
  background: var(--plate);
  border: 1px solid var(--border-accent); border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md), var(--chip-ring);
  backdrop-filter: var(--float-blur); -webkit-backdrop-filter: var(--float-blur);
}
.suggest[data-open="true"] .suggest-menu {
  display: flex; flex-direction: column; gap: 1px; opacity: 1; transform: translateY(0) scale(1);
}
@starting-style {
  .suggest[data-open="true"] .suggest-menu {
    opacity: 0;
    transform: translateY(-4px) scale(0.98);
  }
}
.suggest-opt.off { display: none;
}
.suggest-opt {
  display: block; width: 100%; text-align: left; padding: var(--space-2) var(--space-3); min-height: 40px;
  border: none; background: transparent; color: var(--text); border-radius: var(--radius-sm);
  font-size: var(--text-sm); font-weight: 500; cursor: pointer;
}
.suggest-menu[data-surface="glass"] .suggest-opt.on,
.suggest-menu[data-surface="glass"] .suggest-opt[aria-selected="true"] {
  background: var(--fill-active); color: var(--accent);
}
.suggest-menu[data-surface="glass"] .suggest-opt:hover,
.suggest-menu[data-surface="glass"] .suggest-opt:focus-visible {
  background: var(--fill-hover); color: var(--accent);
}
.kbd {
  display: inline-flex; align-items: center;
  font-family: var(--mono);
  font-size: var(--text-xs);
  font-weight: 650;
  line-height: 1;
  padding: 0.2em 0.5em;
  border-radius: 6px;
  color: var(--text);
}
.kbd[data-surface="flat"] {
  border: 1px solid var(--border-accent); border-bottom-width: 2px;
  background: var(--fill-sunken); box-shadow: var(--chip-ring);
}
.switch { display: flex; align-items: center; gap: var(--space-2); min-height: 40px; cursor: pointer; font-size: var(--text-sm); position: relative;
}
.switch input {
  position: absolute; opacity: 0; width: 1px; height: 1px;
}
.switch-track {
  width: 44px; height: 24px; flex-shrink: 0; border-radius: var(--radius-pill);
  background: var(--fill-track);
  border: 1px solid var(--border-accent); position: relative; box-shadow: var(--chip-ring);
  transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.switch-track::after {
  content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%;
  background: var(--text); transition: transform var(--dur-fast) var(--ease);
}
.switch input:checked + .switch-track {
  background: var(--accent); border-color: var(--accent);
}
.switch input:checked + .switch-track::after {
  transform: translateX(20px);
  background: var(--accent-ink);
}
.switch input:focus-visible + .switch-track {
  outline: none; box-shadow: var(--control-ring);
}
.check {
  display: flex; align-items: center; gap: var(--space-2);
  min-height: 40px; cursor: pointer; font-size: var(--text-sm);
}
.input-check { width: auto; height: 18px; margin: 0; accent-color: var(--accent);
}
.list-row {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
  gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--border-accent); min-width: 0;
}
.directory[data-surface="flat"] .list-row:hover { background: var(--fill-row);
}
.list-row-text { display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.list-row-text span { font-size: var(--text-sm); color: var(--muted);
}
.list-row .avatar-sm { width: 22px; height: 22px; font-size: 10px; flex: none;
}
.row-dot {
  width: 0.5rem; height: 0.5rem; flex: none;
  border-radius: var(--radius-full);
  background: var(--ok-strong);
}
.row-dot[data-tone="ok"],
.row-dot[data-tone="live"] { background: var(--ok-strong);
}
.row-dot[data-tone="away"],
.row-dot[data-tone="warn"] { background: var(--warn);
}
.row-dot[data-tone="danger"] { background: var(--danger);
}
.row-dot[data-tone="muted"] { background: var(--faint);
}
.block { display: flex; flex-direction: column; gap: var(--space-3); scroll-margin-top: var(--space-4);
}
.desk > .block,
[data-island] {
  contain: layout style;
}
.metric {
  display: flex; flex-direction: column; gap: var(--space-1);
  min-width: 0; border-radius: var(--radius);
  transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.metric[data-surface="flat"] { padding: var(--space-4) var(--space-5);
  background: var(--fill-flat);
}
.metric[data-surface="flat"]:hover { border-color: var(--border-accent-strong); transform: var(--hover-lift); box-shadow: var(--chip-ring);
}
.metric[data-surface="flat"][data-tone] {
  border-color: var(--border-intent);
  background: var(--intent-wash);
}
.metric[data-surface="flat"][data-tone] .metric-value { color: var(--intent);
}
.metric-value { font-size: var(--text-2xl); font-weight: 700; line-height: 1.15; letter-spacing: -0.025em; font-variant-numeric: tabular-nums;
}
.metric-label { order: -1; font-size: var(--text-xs); font-weight: 600; color: var(--muted);
}
.callout, .banner {
  display: flex; flex-direction: column; gap: var(--space-1);
  border-radius: var(--radius);
}
.callout[data-surface="sunken"], .banner[data-surface="sunken"] {
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--border-accent-soft);
  border-inline-start: 3px solid var(--intent, var(--accent)); background: var(--callout-wash);
  box-shadow: var(--chip-ring);
}
.callout p, .banner p { color: var(--muted); font-size: var(--text-sm);
}
.customize-btn { flex-shrink: 0;
}
.act-form { display: contents;
}
:is(.btn, .btn-primary, .btn-ghost, .btn-danger, .ghost, .btn-xs, .btn-sm) {
  --btn-bg: transparent; --btn-fg: var(--intent, var(--text)); --btn-bd: var(--border);
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  min-height: var(--control-h, calc(2.5rem * var(--density)));
  padding: var(--space-1) var(--control-px, var(--space-4));
  border: 1px solid var(--btn-bd); border-radius: var(--radius-sm);
  background: var(--btn-bg); color: var(--btn-fg);
  font-size: var(--control-fs, var(--text-sm)); font-weight: 600; line-height: 1.2; letter-spacing: -0.01em;
  cursor: pointer; text-decoration: none;
  transition: background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
:is(.btn-primary, .btn-danger, [data-variant="solid"]) {
  --btn-bg: var(--intent, var(--accent)); --btn-fg: var(--intent-ink, var(--accent-ink)); --btn-bd: transparent;
  box-shadow: var(--shine), var(--chip-ring);
}
[data-variant="soft"] { --btn-bg: var(--intent-soft, var(--accent-soft)); --btn-fg: var(--intent, var(--accent)); --btn-bd: transparent;
}
[data-variant="outline"] { --btn-bd: var(--intent, var(--border-strong));
}
:is(.btn, .btn-primary, .btn-ghost, .btn-danger, .ghost, .btn-xs, .btn-sm):hover {
  background-image: var(--btn-hover-wash);
}
:is(.btn, .btn-primary, .btn-ghost, .btn-danger, .ghost, .btn-xs, .btn-sm):active {
  background-image: var(--btn-press-wash);
  transform: translateY(1px);
}
:is(.btn, .btn-primary, .btn-danger, .btn-ghost).busy {
  pointer-events: none; opacity: 0.72;
}
.busy::before {
  content: "";
  width: 0.85em; height: 0.85em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: vf-spin 0.7s linear infinite;
}
button:disabled {
  opacity: 0.45; pointer-events: none; cursor: default;
}
.btn-lg { min-width: min(160px, 100%); border-radius: var(--radius);
}
.skip-link {
  position: absolute; top: -100px; left: 0; z-index: var(--z-modal);
  padding: var(--space-2) var(--space-4);
  background: var(--accent); color: var(--accent-ink); font-weight: 600;
}
.skip-link:focus { top: 0;
}
:focus-visible {
  outline: 2px solid var(--ring, var(--accent));
  outline-offset: 2px;
  box-shadow: var(--focus-halo);
}
.markdown { font-size: var(--text-sm); color: var(--text);
}
.markdown p, .markdown li { margin: 0 0 var(--space-2); color: var(--muted);
}
.markdown h2 { font-size: var(--text-lg); margin: var(--space-5) 0 var(--space-2);
}
.markdown h3 { font-size: var(--text-md); margin: 0 0 var(--space-2);
}
.markdown h4 { font-size: var(--text-sm); margin: var(--space-3) 0 var(--space-1); text-transform: none;
}
.markdown ul { padding-left: 1.2rem; margin: 0 0 var(--space-2);
}
.markdown ol { padding-left: 1.4rem; margin: 0 0 var(--space-2);
}
.markdown blockquote { margin: 0 0 var(--space-2); padding: var(--space-1) var(--space-3); border-inline-start: 3px solid var(--accent); color: var(--muted);
}
.markdown[data-surface="flat"] pre { margin: 0 0 var(--space-3); padding: var(--space-3); background: var(--fill-track); border: 1px solid var(--border-accent); border-radius: var(--radius-sm); overflow-x: auto; box-shadow: var(--chip-ring);
}
.markdown[data-surface="flat"] pre code { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text); background: none; padding: 0;
}
.markdown table { margin: 0 0 var(--space-3); border-collapse: collapse; font-size: var(--text-xs);
}
.markdown th, .markdown td { border: 1px solid var(--border-accent); padding: var(--space-1) var(--space-2); text-align: start;
}
.markdown[data-surface="flat"] th { background: var(--fill-track); color: var(--text);
}
.markdown a { color: var(--accent);
}
.md-preview[data-surface="sunken"] {
  min-height: 6rem; padding: var(--space-3);
  background: var(--fill-bg);
  border: 1px solid var(--border-accent); border-radius: var(--radius-sm); box-shadow: var(--chip-ring);
}
.code-block {
  font-family: var(--mono); font-size: var(--text-xs); line-height: 1.55; border-radius: var(--radius-sm);
  overflow-x: auto; color: var(--text); white-space: pre; margin: 0; min-width: 0; max-width: 100%;
}
.code-block[data-surface="sunken"] {
  background: var(--fill-bg);
  border: 1px solid var(--border-accent); padding: var(--space-4); box-shadow: var(--chip-ring);
}
.code { margin: 0;
}
.code-lang { font-size: var(--text-xs); font-weight: 600; color: var(--muted); margin: 0 0 var(--space-1);
}
.code-kw { color: var(--accent);
}
.code-str { color: var(--ok);
}
.code-cmt { color: var(--faint); font-style: italic;
}
.loading {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--space-3); padding: var(--space-6);
}
.spinner {
  display: block;
  width: 28px; height: 28px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 3px solid var(--spinner-track);
  border-top-color: var(--accent);
  animation: vf-spin 0.7s linear infinite;
}
@keyframes vf-spin { to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {.spinner { animation: vf-pulse 1.1s ease-in-out infinite;
}
.skeleton { animation: none;
}
.meter-fill::after,
  .meter.busy .meter-fill,
  .meter.play .meter-fill { animation: none;
}
.busy::before { animation: vf-pulse 1.1s ease-in-out infinite;
}
}
@keyframes vf-pulse { 50% { opacity: 0.35; }
}
.banner { position: sticky; top: 0; z-index: var(--z-sticky);
}
.fold { border-radius: var(--radius);
}
.fold[data-surface="flat"] {
  border: 1px solid var(--border-accent);
  background: var(--fill-flat); box-shadow: var(--shine), var(--chip-ring);
}
.fold > summary {
  display: flex; align-items: center; gap: var(--space-2); min-height: 40px;
  padding: 0 var(--space-4); cursor: pointer; font-weight: 600; user-select: none;
  transition: background var(--dur-fast) var(--ease);
}
.fold[data-surface="flat"] > summary:hover,
.faq-list[data-surface="sunken"] .fold > summary:hover { background: var(--fill-hover);
}
.fold-body { padding: var(--space-3) var(--space-4) var(--space-4); border-top: 1px solid var(--border-accent); color: var(--muted); font-size: var(--text-sm);
}
@supports (interpolate-size: allow-keywords) {.fold::details-content {
    block-size: 0;
    opacity: 0;
    overflow: clip;
    transition: block-size var(--dur) var(--ease),
      opacity var(--dur) var(--ease),
      content-visibility var(--dur) allow-discrete;
}
.fold[open]::details-content {
    block-size: auto;
    opacity: 1;
}
@starting-style {
    .fold[open]::details-content {
      block-size: 0;
      opacity: 0;
    }
}
}
@media (prefers-reduced-motion: reduce) {.fold::details-content { transition: none;
}
}
.tip { position: relative; anchor-name: --vf-tip;
}
.tip::after {
  content: attr(data-tip);
  position: absolute; left: 50%; bottom: calc(100% + 6px);
  transform: translateX(-50%);
  padding: var(--space-1) var(--space-2);
  color: var(--text);
  border-radius: var(--radius-sm);
  font-size: var(--text-xs); font-weight: 600; white-space: nowrap;
  opacity: 0; pointer-events: none;
  z-index: var(--z-tooltip);
}
.tip[data-surface="elevated"]::after {
  background: var(--fill-elev);
  border: 1px solid var(--border-accent); box-shadow: var(--shadow-sm), var(--chip-ring);
}
@supports (position-anchor: --vf-tip) {.tip::after {
    position-anchor: --vf-tip;
    left: auto; bottom: auto; transform: none;
    position-area: block-start;
    margin-bottom: 6px;
}
}
.tip:hover::after, .tip:focus-visible::after { opacity: 1;
}
.table-wrap {
  overflow: auto; max-height: 16rem;
  border-radius: var(--radius);
}
.table-wrap[data-surface="flat"] {
  border: 1px solid var(--border-accent-soft); box-shadow: var(--chip-ring);
  background:
    linear-gradient(to right, var(--bg-elev) 30%, transparent),
    linear-gradient(to right, transparent, var(--bg-elev) 70%) 100% 0,
    radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, 0.12), transparent),
    radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.12), transparent) 100% 0;
  background-repeat: no-repeat; background-color: var(--card);
  background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
  background-attachment: local, local, scroll, scroll;
}
.virtual-spacer td { line-height: 0; font-size: 0;
}
.data-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--text-sm);
}
.data-table th, .data-table td {
  padding: var(--space-2) var(--space-3); text-align: start;
  border-block-end: 1px solid var(--border-accent-soft);
}
.data-table thead th {
  position: sticky; top: 0; z-index: var(--z-sticky);
  font-size: var(--text-xs); color: var(--muted); font-weight: 650;
}
.directory[data-surface="flat"] .data-table thead th {
  background: var(--fill-elev); box-shadow: 0 1px 0 var(--border-accent);
}
.data-table.col-resize { table-layout: fixed;
}
.col-grip {
  position: absolute; inset-inline-end: -3px; top: 0; bottom: 0;
  width: 7px; cursor: col-resize; touch-action: none;
}
.col-grip:hover, .col-grip[data-resizing] { background: var(--accent-dim);
}
@supports (animation-timeline: scroll()) {.data-table thead th {
    animation: sticky-header-elevate linear both;
    animation-timeline: scroll(nearest root); animation-range: 0px 40px;
}
}
@keyframes sticky-header-elevate {
  to {
    box-shadow: var(--sticky-edge);
  }
}
.page-progress, .reading-progress {
  position: fixed; top: 0; left: 0; right: 0; height: 2px; background: var(--accent);
  box-shadow: var(--progress-glow); transform-origin: 0 50%; z-index: var(--z-toast); pointer-events: none; transform: scaleX(0);
}
@supports (animation-timeline: scroll()) {.page-progress, .reading-progress {
    animation: page-scroll-progress linear;
    animation-timeline: scroll();
}
}
@keyframes page-scroll-progress {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
.data-table tbody tr:last-child td { border-bottom: none;
}
.directory[data-surface="flat"] .data-table tbody tr:not([data-current]):hover { background: var(--fill-row);
}
.slider { width: 100%; min-height: 40px; accent-color: var(--accent);
}
.meter { width: 100%; height: 10px; border-radius: var(--radius-pill); overflow: hidden; position: relative;
}
.meter[data-surface="sunken"] { background: var(--fill-track); box-shadow: var(--track-inset);
}
.meter-fill {
  display: block; height: 100%;
  width: calc(var(--meter, 0) * 1%);
  position: relative;
  background: var(--intent, var(--accent));
  border-radius: var(--radius-pill);
  transition: width var(--dur) var(--ease), background var(--dur) var(--ease);
  overflow: hidden;
}
.meter-fill::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(
    90deg,
    transparent,
    var(--meter-sheen),
    transparent
  );
  transform: translateX(-100%);
  animation: meter-sheen 1.15s linear infinite;
}
.meter[data-tone="ok"] .meter-fill::after,
.meter[data-tone="danger"] .meter-fill::after { display: none;
}
.meter.busy .meter-fill {
  width: 32% !important;
  animation: meter-indet 1.15s var(--ease-in-out) infinite;
}
.meter.busy .meter-fill::after { display: none;
}
.meter.play .meter-fill {
  width: 8%;
  animation: meter-play 2.6s var(--ease-in-out) infinite;
}
@keyframes meter-sheen {
  to { transform: translateX(100%); }
}
@keyframes meter-indet {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(320%); }
}
@keyframes meter-play {
  0% { width: 8%; }
  70% { width: 86%; }
  100% { width: 100%; }
}
.dialog-body { padding: var(--space-4); color: var(--muted); font-size: var(--text-sm);
}
.live {
  display: inline-flex; align-items: center; gap: var(--space-2);
  font-size: var(--text-xs); font-weight: 650;
}
.live i {
  width: 8px; height: 8px; border-radius: 50%; background: currentColor;
  box-shadow: var(--ring-current);
}
.crumbs ol {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1);
  font-size: var(--text-sm);
}
.crumbs li { display: flex; align-items: center; gap: var(--space-1);
}
.crumbs li:not(:last-child)::after {
  content: "/";
  color: var(--faint);
}
.crumb {
  border: none; background: transparent; color: var(--accent);
  padding: 0 var(--space-1); min-height: 40px; font: inherit; cursor: pointer;
  text-decoration: none; display: inline-flex; align-items: center;
}
a.crumb:hover { text-decoration: underline;
}
.crumbs [aria-current="page"] { color: var(--text); font-weight: 650;
}
.steps {
  display: flex; gap: var(--space-3); align-items: flex-start; overflow-x: auto;
}
.steps[data-surface="flat"] {
  padding: var(--space-2) var(--space-3); border-radius: var(--radius);
  background: var(--fill-plate);
  border: 1px solid var(--border-accent-soft); box-shadow: var(--chip-ring);
}
.step {
  display: flex; align-items: center; gap: var(--space-2);
  font-size: var(--text-sm); color: var(--muted); flex: 1; min-width: 0;
}
.step.on { color: var(--text); font-weight: 650;
}
.tabs .tab-panel { display: none;
}
.tabs:has(.tab-bar > label:nth-child(1) input:checked) .tab-panel:nth-child(1),
.tabs:has(.tab-bar > label:nth-child(2) input:checked) .tab-panel:nth-child(2),
.tabs:has(.tab-bar > label:nth-child(3) input:checked) .tab-panel:nth-child(3),
.tabs:has(.tab-bar > label:nth-child(4) input:checked) .tab-panel:nth-child(4),
.tabs:has(.tab-bar > label:nth-child(5) input:checked) .tab-panel:nth-child(5),
.tabs:has(.tab-bar > label:nth-child(6) input:checked) .tab-panel:nth-child(6) {
  display: block;
}
.tabs .tab-panel { padding: var(--space-3) 0; color: var(--muted); font-size: var(--text-sm);
}
.tabs[data-surface="flat"] {
  padding: var(--space-2); border-radius: var(--radius);
  background: var(--fill-plate);
  border: 1px solid var(--border-accent-soft); box-shadow: var(--chip-ring);
}
.tabs[data-surface="flat"] .tab-bar > label:has(input:checked) {
  background: var(--accent); color: var(--accent-ink); border-color: var(--accent);
}
.tabs .tab-panels { contain: layout;
}
.tabs .tab-panels > .tab-panel {
  color: inherit; font-size: inherit; content-visibility: auto; contain-intrinsic-size: auto 8rem;
}
.pager { display: flex; align-items: center; gap: var(--space-2);
}
.pager-status { font-size: var(--text-sm); font-variant-numeric: tabular-nums; color: var(--muted);
}
.velvet-viewport {
  position: relative; width: 100%; max-width: 36rem;
  background: var(--fill-bg);
  border: 1px solid var(--border-accent);
  border-radius: var(--radius); overflow: hidden; aspect-ratio: 16 / 9;
}
.velvet-stage {
  position: relative;
  width: 100%;
  background: var(--stage-plate);
  border-radius: var(--radius);
  overflow: hidden;
}
.velvet-stage > video,
.velvet-stage > audio {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.velvet-stage[aria-busy="true"]::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--faint);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: vf-spin 0.9s linear infinite;
}
.velvet-viewport[data-ratio="1/1"] { aspect-ratio: 1 / 1;
}
.velvet-viewport[data-ratio="4/3"] { aspect-ratio: 4 / 3;
}
.velvet-viewport[data-ratio="3/2"] { aspect-ratio: 3 / 2;
}
.velvet-viewport[data-ratio="16/9"] { aspect-ratio: 16 / 9;
}
.velvet-viewport[data-ratio="2/1"] { aspect-ratio: 2 / 1;
}
.velvet-viewport[data-ratio="21/9"] { aspect-ratio: 21 / 9;
}
.velvet-viewport[data-ratio="fill"] {
  aspect-ratio: auto;
  max-width: none;
  width: 100%;
  height: 100%;
}
.ago { font-variant-numeric: tabular-nums;
}
.velvet-canvas {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.velvet-gpu {
  image-rendering: pixelated;
  contain: strict;
}
.popover {
  margin: auto;
  border-radius: var(--radius);
  color: var(--text);
  transition: opacity 0.2s var(--ease), transform 0.2s var(--ease), overlay 0.2s allow-discrete, display 0.2s allow-discrete;
}
.popover[data-surface="glass"] {
  padding: var(--space-4);
  border: 1px solid var(--border-accent);
  background: var(--plate);
  backdrop-filter: var(--float-blur); -webkit-backdrop-filter: var(--float-blur);
  box-shadow: var(--shadow-lg), var(--chip-ring), var(--float-glow);
}
:is([popover], .popover):not(.overlay):not(:popover-open) { display: none !important; pointer-events: none !important; opacity: 0; transform: scale(0.96) translateY(-4px);
}
:is([popover], .popover):not(.overlay):popover-open { display: flex !important; pointer-events: auto !important; opacity: 1; transform: translateY(0);
}
@starting-style {
  :is([popover], .popover):not(.overlay):popover-open { opacity: 0; transform: scale(0.96) translateY(-4px); }
}
dialog.modal-overlay {
  border-radius: var(--radius);
  padding: 0;
  max-width: min(92vw, 38rem);
  transition: opacity 0.22s var(--ease), transform 0.22s var(--ease), overlay 0.22s allow-discrete, display 0.22s allow-discrete;
}
dialog.modal-overlay[data-surface="glass"] {
  border: 1px solid var(--border-accent);
  background: var(--plate-soft);
  backdrop-filter: var(--float-blur-lg); -webkit-backdrop-filter: var(--float-blur-lg);
  box-shadow: var(--shadow-lg), var(--chip-ring);
}
dialog.modal-overlay::backdrop {
  background: var(--plate-scrim);
  backdrop-filter: var(--scrim-blur);
  -webkit-backdrop-filter: var(--scrim-blur);
  transition: opacity 0.22s var(--ease), overlay 0.22s allow-discrete, display 0.22s allow-discrete;
}
dialog.modal-overlay:not([open]) {
  opacity: 0;
  transform: scale(0.96) translateY(8px);
}
dialog.modal-overlay:not([open])::backdrop {
  opacity: 0;
}
@starting-style {
  dialog.modal-overlay[open] {
    opacity: 0;
    transform: scale(0.96) translateY(8px);
  }
  dialog.modal-overlay[open]::backdrop {
    opacity: 0;
  }
}
.timeline {
  display: flex; flex-direction: column; position: relative;
  padding-inline-start: var(--space-5); gap: var(--space-4);
}
.timeline::before {
  content: ""; position: absolute; inset-block: var(--space-2); inset-inline-start: 7px; width: 2px;
}
.timeline[data-surface="flat"] {
  background: var(--fill-quiet); border: 0; box-shadow: none;
  border-radius: var(--radius); padding-block: var(--space-2); padding-inline-end: var(--space-2);
}
.timeline[data-surface="flat"]::before { background: var(--border-accent);
}
.timeline-item {
  position: relative; display: flex; flex-direction: column; gap: var(--space-1);
}
.timeline-dot {
  position: absolute; inset-inline-start: calc(var(--space-5) * -1 + 2px); top: 4px;
  width: 12px; height: 12px; border-radius: var(--radius-pill); background: var(--accent);
  border: 2px solid var(--bg-elev); box-shadow: var(--mark-ring);
}
.timeline-dot.ok { background: var(--ok);
}
.timeline-dot.warn { background: var(--warn);
}
.timeline-dot.danger { background: var(--danger);
}
.timeline-content { border-radius: var(--radius-sm);
}
.timeline-content[data-surface="flat"] {
  background: var(--fill-flat);
  border: 1px solid var(--border-accent);
  padding: var(--space-3); box-shadow: var(--shadow-sm);
}
.timeline-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2);
}
.timeline-title { font-weight: 650; font-size: var(--text-sm);
}
.timeline-time { font-size: var(--text-xs); color: var(--faint); font-variant-numeric: tabular-nums;
}
.toast-wrap, .toast-hud {
  position: fixed; bottom: var(--space-4); inset-inline-end: var(--space-4);
  display: flex; flex-direction: column; gap: var(--space-2);
  z-index: var(--z-toast); pointer-events: none;
}
.toast {
  pointer-events: auto; display: flex; align-items: center; gap: var(--space-3);
  border-radius: var(--radius); font-size: var(--text-sm); min-width: 18rem; max-width: 28rem;
  animation: toast-in 0.24s var(--ease-spring);
}
.toast[data-surface="elevated"] {
  padding: var(--space-3) var(--space-4); background: var(--fill-elev);
  border: 1px solid var(--border-accent); box-shadow: var(--shadow-lg), var(--chip-ring);
}
@keyframes toast-in {
  from { opacity: 0; transform: translateY(12px) scale(0.95); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.toast-icon { display: inline-flex; align-items: center; color: var(--accent);
}
.toast-progress {
  position: absolute; bottom: 0; left: 0; right: 0; height: 2px; border-radius: 0 0 var(--radius) var(--radius);
  background: linear-gradient(90deg, var(--accent), var(--accent-mid)); box-shadow: var(--progress-glow-sm);
}
.notif-panel {
  width: 24rem; max-height: 28rem; overflow-y: auto;
  display: flex; flex-direction: column; gap: 1px;
}
.notif-panel[data-surface="elevated"] {
  background: var(--fill-elev);
  border: 1px solid var(--border-accent);
  border-radius: var(--radius); box-shadow: var(--shadow-md), var(--chip-ring);
}
.notif-item {
  display: flex; gap: var(--space-3); padding: var(--space-3);
  border-block-end: 1px solid var(--hairline-accent); transition: background var(--dur-fast);
}
.notif-panel[data-surface="elevated"] .notif-item:hover { background: var(--fill-hover);
}
.notif-panel[data-surface="elevated"] .notif-item.unread,
.notif-panel[data-surface="elevated"] .notif-unread { background: var(--accent-soft);
}
.active { font-weight: inherit;
}
.done { font-weight: inherit;
}
.ok { color: var(--ok);
}
.warn { color: var(--warn);
}
.cmd-palette, dialog.cmd-palette {
  width: min(92vw, 36rem); border-radius: var(--radius); padding: 0; overflow: hidden;
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease),
    overlay var(--dur) allow-discrete, display var(--dur) allow-discrete;
}
.cmd-palette[data-surface="glass"], dialog.cmd-palette[data-surface="glass"] {
  border: 1px solid var(--border-accent);
  background: var(--plate-quiet);
  backdrop-filter: var(--float-blur-lg); -webkit-backdrop-filter: var(--float-blur-lg);
  box-shadow: var(--shadow-lg), var(--chip-ring), var(--float-glow-lg);
}
.cmd-palette:not([open]):not(:popover-open), dialog.cmd-palette:not([open]) {
  opacity: 0; transform: scale(0.96) translateY(-8px);
}
@starting-style {
  .cmd-palette[open], .cmd-palette:popover-open, dialog.cmd-palette[open] {
    opacity: 0; transform: scale(0.96) translateY(-8px);
  }
}
.cmd-input-wrap {
  display: flex; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-block-end: 1px solid var(--border-accent);
}
.cmd-palette[data-surface="glass"] .cmd-input-wrap,
dialog.cmd-palette[data-surface="glass"] .cmd-input-wrap { background: var(--fill-sunken);
}
.cmd-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-size: var(--text-md);
  color: var(--text);
}
.cmd-list {
  max-height: 22rem; overflow-y: auto; padding: var(--space-2); display: flex; flex-direction: column; gap: 2px;
}
.cmd-group {
  padding: var(--space-1) var(--space-2);
  font-size: var(--text-xs);
  font-weight: 700;
  color: var(--faint);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.cmd-item {
  display: flex; align-items: center; justify-content: space-between; padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm); font-size: var(--text-sm); color: var(--text); cursor: pointer;
  transition: background var(--dur-fast), color var(--dur-fast);
}
.cmd-palette[data-surface="glass"] .cmd-item:hover,
.cmd-palette[data-surface="glass"] .cmd-item.selected,
dialog.cmd-palette[data-surface="glass"] .cmd-item:hover,
dialog.cmd-palette[data-surface="glass"] .cmd-item.selected {
  background: var(--accent); color: var(--accent-ink);
}
.cmd-badge {
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
  opacity: 0.85;
}
.notif-flyout {
  width: 22rem;
  max-height: 26rem;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
section.panel + section.panel { margin-block-start: var(--space-2);
}
#work { line-height: 1.55;
}
#work p { max-width: 68ch;
}
form.act-form:has(> button.list-row) {
  display: block;
  margin: 0;
}
button.list-row {
  width: 100%;
  margin: 0;
  background: none;
  border: 0;
  font: inherit;
  color: inherit;
  text-align: start;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-3);
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--border-accent);
  min-width: 0;
}
:is(.directory[data-surface="flat"], .panel[data-surface]) button.list-row:hover { background: var(--fill-hover);
}
button.list-row[data-current] { color: var(--accent);
}
:is(.directory[data-surface="flat"], .panel[data-surface]) button.list-row[data-current] .list-row-text strong::after {
  content: "";
  display: inline-block;
  width: 0.35rem; height: 0.35rem;
  margin-inline-start: 0.4rem;
  border-radius: var(--radius-full);
  background: var(--accent);
}
.list-row .avatar[data-surface="flat"] {
  background: hsl(var(--av-h, 220) 38% 42%);
  color: var(--bg-elev);
}
[data-grid] td[data-heat] {
  background: var(--heat-ok);
  --heat: 0;
}
[data-grid] td[data-heat="1.00"] { --heat: 1;
}
[data-grid] td[data-heat="0.90"] { --heat: 1;
}
[data-grid] td[data-heat="0.80"] { --heat: 0.89;
}
[data-grid] td[data-heat="0.70"] { --heat: 0.78;
}
[data-grid] td[data-heat="0.60"] { --heat: 0.67;
}
[data-grid] td[data-heat="0.50"] { --heat: 0.56;
}
[data-grid] td[data-heat="0.40"] { --heat: 0.44;
}
[data-grid] td[data-heat="0.30"] { --heat: 0.33;
}
[data-grid] td[data-heat="0.20"] { --heat: 0.22;
}
[data-grid] td[data-heat="0.10"] { --heat: 0.11;
}
[data-grid] td[data-heat="0.00"] { --heat: 0;
}
[data-grid] td[data-dir="dn"] {
  background: var(--heat-dn);
}
[data-grid] th[data-sort] { cursor: pointer; user-select: none;
}
[data-grid] tr[data-cursor="1"] {
  outline: 1px solid var(--accent-fade);
  outline-offset: -1px;
}
[data-grid] [data-ago] { color: var(--muted);
}
@container (max-width: 28rem) {[data-grid] [data-prio="3"], [data-grid] [data-prio="4"] { display: none;
}
}
@container (max-width: 20rem) {[data-grid] [data-prio="2"] { display: none;
}
}
.avatar-md { width: 40px; height: 40px; font-size: 14px;
}
.avatar-sm { width: 32px; height: 32px; font-size: 12px;
}}
@layer flow {
.flow {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--flow-gap, var(--space-3));
}
.flow[data-container] {
  container-type: inline-size;
}
.flow[data-flow="col"],
.flow[data-flow="stack"] { flex-direction: column;
}
.flow[data-flow="row"] {
  flex-direction: row;
  align-items: center;
}
.flow[data-flow="wrap"] {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.flow[data-flow="center"] {
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.flow[data-flow="between"] {
  flex-wrap: wrap;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.flow[data-flow="split"] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
}
.flow[data-flow="split"][data-ratio="1-2"] { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}
.flow[data-flow="split"][data-ratio="2-1"] { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}
.flow[data-flow="split"][data-ratio="1-3"] { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
}
.flow[data-flow="split"][data-ratio="3-1"] { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
}
.flow[data-flow="split"][data-ratio="1-4"] { grid-template-columns: minmax(0, 1fr) minmax(0, 4fr);
}
.flow[data-flow="split"][data-ratio="4-1"] { grid-template-columns: minmax(0, 4fr) minmax(0, 1fr);
}
.flow[data-flow="split"][data-ratio="golden"] { grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
}
.flow[data-flow="sidebar"] {
  display: grid;
  grid-template-columns: minmax(var(--side-min, 16rem), 22rem) minmax(0, 1fr);
  align-items: stretch;
}
.flow[data-flow="sidebar"][data-side="end"] {
  grid-template-columns: minmax(0, 1fr) minmax(var(--side-min, 16rem), 22rem);
}
.flow[data-flow="deck"] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--flow-min, 14rem), 1fr));
  align-items: start;
}
.flow[data-flow="dock"] {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  flex: 1 1 auto;
}
.flow[data-flow="shell"] {
  display: grid;
  grid-template-columns: 4.5rem minmax(14rem, 16.5rem) minmax(0, 1fr) minmax(12rem, 15rem);
  align-items: stretch;
  min-height: 0;
  height: 100%;
  gap: 0;
}
.flow[data-flow="board"] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
}
.flow[data-flow="grid"] { display: grid; grid-template-columns: repeat(var(--flow-cols, 12), minmax(0, 1fr)); align-items: start;
}
.flow[data-flow="grid"] > :is([data-grid], .panel) { align-self: stretch;
}
.flow[data-flow="grid"] > [data-grid] { display: grid;
}
.flow[data-flow="grid"][style*="--grid-min"] {
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-min, 12rem), 1fr));
}
.flow[data-cols="1"] { --flow-cols: 1;
}
.flow[data-cols="2"] { --flow-cols: 2;
}
.flow[data-cols="3"] { --flow-cols: 3;
}
.flow[data-cols="4"] { --flow-cols: 4;
}
.flow[data-cols="5"] { --flow-cols: 5;
}
.flow[data-cols="6"] { --flow-cols: 6;
}
.flow[data-cols="7"] { --flow-cols: 7;
}
.flow[data-cols="8"] { --flow-cols: 8;
}
.flow[data-cols="9"] { --flow-cols: 9;
}
.flow[data-cols="10"] { --flow-cols: 10;
}
.flow[data-cols="11"] { --flow-cols: 11;
}
.flow[data-cols="12"] { --flow-cols: 12;
}
.flow[data-cols="16"] { --flow-cols: 16;
}
.flow[data-cols="24"] { --flow-cols: 24;
}
.flow[data-cols] { --fc: var(--flow-cols);
}
.flow[data-flow="bento"] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--flow-min, 16rem)), 1fr));
  grid-auto-flow: dense;
  align-items: stretch;
}
.flow[data-flow="bento"] > [data-span="2"] { grid-column: span 2;
}
.flow[data-flow="bento"] > [data-span="3"] { grid-column: span 3;
}
.flow[data-flow="bento"] > [data-span="4"] { grid-column: span 4;
}
.flow[data-flow="bento"] > [data-row-span="2"] { grid-row: span 2;
}
.flow[data-flow="bento"] > [data-row-span="3"] { grid-row: span 3;
}
.flow[data-flow="bento"][data-cols],
.flow[data-flow="masonry"][data-cols] {
  grid-template-columns: repeat(var(--flow-cols), minmax(0, 1fr));
}
.flow[data-flow="subgrid"],
.flow > [data-subgrid="col"],
.flow > [data-flow="subgrid"] {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: var(--subgrid-span, 1 / -1);
}
.flow > [data-subgrid="row"] {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: var(--subgrid-row-span, 1 / -1);
}
.flow > [data-subgrid="both"] {
  display: grid;
  grid-template-columns: subgrid;
  grid-template-rows: subgrid;
  grid-column: var(--subgrid-span, 1 / -1);
  grid-row: var(--subgrid-row-span, 1 / -1);
}
.flow[data-flow="masonry"] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--flow-min, 14rem)), 1fr));
}
@supports (grid-template-rows: masonry) {.flow[data-flow="masonry"] { grid-template-rows: masonry;
}
}
@container (max-width: 40rem) {
  .flow[data-collapse="col"] {
    display: flex;
    flex-direction: column;
  }
  .flow[data-collapse="col"] > * {
    width: auto;
    min-width: 0;
  }
}
.flow[data-flow="timeline"] {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-inline-start: var(--space-5);
}
.flow[data-flow="timeline"]::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0.35rem;
  width: 2px;
}
.flow[data-flow="timeline"][data-surface="flat"] { background: var(--fill-quiet); border: 0; box-shadow: none; border-radius: var(--radius); padding-inline: var(--space-2);
}
.flow[data-flow="timeline"][data-surface="flat"]::before { background: var(--accent-soft);
}
.flow[data-gap="0"] { --flow-gap: 0px;
}
.flow[data-gap="1"] { --flow-gap: var(--space-1);
}
.flow[data-gap="2"] { --flow-gap: var(--space-2);
}
.flow[data-gap="3"] { --flow-gap: var(--space-3);
}
.flow[data-gap="4"] { --flow-gap: var(--space-4);
}
.flow[data-gap="5"] { --flow-gap: var(--space-5);
}
.flow[data-gap="6"] { --flow-gap: var(--space-6);
}
.flow[data-align="start"] { align-items: start;
}
.flow[data-align="center"] { align-items: center;
}
.flow[data-align="end"] { align-items: end;
}
.flow[data-align="stretch"] { align-items: stretch;
}
.flow[data-align="baseline"] { align-items: baseline;
}
.flow[data-justify="start"] { justify-content: start;
}
.flow[data-justify="center"] { justify-content: center;
}
.flow[data-justify="end"] { justify-content: end;
}
.flow[data-justify="between"] { justify-content: space-between;
}
.flow[data-justify="around"] { justify-content: space-around;
}
.flow[data-justify="evenly"] { justify-content: space-evenly;
}
.flow > [data-fill],
.flow > [data-width="fill"] {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
}
.flow > [data-width="hug"] {
  width: max-content;
  max-width: 100%;
  flex: 0 0 auto;
}
.flow > [data-span="1"] { grid-column: span 1 / span 1;
}
.flow > [data-span="2"] { grid-column: span 2 / span 2;
}
.flow > [data-span="3"] { grid-column: span 3 / span 3;
}
.flow > [data-span="4"] { grid-column: span 4 / span 4;
}
.flow > [data-span="5"] { grid-column: span 5 / span 5;
}
.flow > [data-span="6"] { grid-column: span 6 / span 6;
}
.flow > [data-span="7"] { grid-column: span 7 / span 7;
}
.flow > [data-span="8"] { grid-column: span 8 / span 8;
}
.flow > [data-span="9"] { grid-column: span 9 / span 9;
}
.flow > [data-span="10"] { grid-column: span 10 / span 10;
}
.flow > [data-span="11"] { grid-column: span 11 / span 11;
}
.flow > [data-span="12"],
.flow > [data-span="full"] { grid-column: 1 / -1;
}
.flow > [data-row-span="1"] { grid-row: span 1 / span 1;
}
.flow > [data-row-span="2"] { grid-row: span 2 / span 2;
}
.flow > [data-row-span="3"] { grid-row: span 3 / span 3;
}
.flow > [data-row-span="4"] { grid-row: span 4 / span 4;
}
.flow > [data-row-span="full"] { grid-row: 1 / -1;
}
.flow > [data-bento="hero"] { grid-column: span 2 / span 2; grid-row: span 2 / span 2;
}
.flow > [data-bento="wide"] { grid-column: span 2 / span 2;
}
.flow > [data-bento="tall"] { grid-row: span 2 / span 2;
}
.flow > [data-bento="stat"] { grid-column: span 1 / span 1; grid-row: span 1 / span 1;
}
.flow > [data-order="first"] { order: -1;
}
.flow > [data-order="last"] { order: 99;
}
.flow > [data-order="1"] { order: 1;
}
.flow > [data-order="2"] { order: 2;
}
.flow > [data-order="3"] { order: 3;
}
.flow > [data-order="4"] { order: 4;
}
.flow > [data-order="5"] { order: 5;
}
.flow > [data-order="6"] { order: 6;
}
[data-ratio="1/1"], [data-ratio="1-1"], [data-ratio="square"] { aspect-ratio: 1 / 1;
}
[data-ratio="16/9"], [data-ratio="16-9"], [data-ratio="video"] { aspect-ratio: 16 / 9;
}
[data-ratio="4/3"], [data-ratio="4-3"] { aspect-ratio: 4 / 3;
}
[data-ratio="3/2"], [data-ratio="3-2"] { aspect-ratio: 3 / 2;
}
[data-ratio="21/9"], [data-ratio="21-9"], [data-ratio="ultrawide"] { aspect-ratio: 21 / 9;
}
[data-ratio="9/16"], [data-ratio="9-16"], [data-ratio="portrait"] { aspect-ratio: 9 / 16;
}
[data-ratio="golden"] { aspect-ratio: 1.618 / 1;
}
[data-ratio] > img,
[data-ratio] > video,
[data-ratio] > canvas {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@container work (max-width: 40rem) {.flow[data-flow="split"], .flow[data-flow="sidebar"],
  .flow[data-flow="sidebar"][data-side="end"],
  .flow[data-flow="board"], .flow[data-flow="bento"] { grid-template-columns: minmax(0, 1fr);
}
.flow[data-flow="bento"] > [data-bento="hero"],
  .flow[data-flow="bento"] > [data-span],
  .flow[data-flow="bento"] > [data-bento="wide"] { grid-column: 1 / -1;
}
}
@supports not (container-type: inline-size) {
  @media (max-width: 720px) {
    .flow[data-flow="split"],
    .flow[data-flow="sidebar"],
    .flow[data-flow="sidebar"][data-side="end"],
    .flow[data-flow="board"] { grid-template-columns: minmax(0, 1fr); }
  }
}
.flow[data-flow="floor"] {
  display: grid;
  align-items: stretch;
  align-content: stretch;
  min-height: 0;
  height: 100%;
}
.flow[data-flow="floor"] > [data-grid] {
  grid-column: calc(var(--gc, 0) + 1) / span var(--gx, 1);
  grid-row: calc(var(--gr, 0) + 1) / span var(--gy, 1);
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.flow[data-flow="floor"][data-supergrid] > [data-dnd-item]:not([data-grid]) {
  grid-column: auto;
  grid-row: auto;
}
.flow[data-flow="floor"] > [data-area],
.flow[data-flow="floor"] > [data-zone],
.flow[data-flow="floor"] > [data-dnd-zone] {
  min-width: 0;
  min-height: var(--row-h);
}
.flow[data-flow="floor"][data-surface="sunken"] > [data-area],
.flow[data-flow="floor"][data-surface="sunken"] > [data-zone],
.flow[data-flow="floor"][data-surface="sunken"] > [data-dnd-zone] {
  border: 1.5px dashed var(--edge-accent); border-radius: var(--radius);
  background: var(--fill-elev);
}
.flow[data-flow="floor"][data-surface="sunken"] > [data-dnd-zone].dnd-over {
  border-color: var(--accent); background: var(--accent-soft); box-shadow: var(--chip-ring);
}
.flow[data-flow="floor"] [data-theme="light"] { color-scheme: light;
}
.flow[data-flow="floor"] [data-theme="dark"] { color-scheme: dark;
}
@container work (max-width: 48rem) {.flow > [data-span-sm="full"],
  .flow > [data-span-sm="12"] { grid-column: 1 / -1;
}
.flow > [data-span-sm="6"] { grid-column: span 6 / span 6;
}
.flow > [data-span-sm="4"] { grid-column: span 4 / span 4;
}
.flow > [data-span-sm="3"] { grid-column: span 3 / span 3;
}
}
@container work (max-width: 64rem) {.flow > [data-span-md="full"] { grid-column: 1 / -1;
}
.flow > [data-span-md="8"] { grid-column: span 8 / span 8;
}
.flow > [data-span-md="6"] { grid-column: span 6 / span 6;
}
.flow > [data-span-md="4"] { grid-column: span 4 / span 4;
}
}
@container work (max-width: 32rem) {.flow[data-flow="grid"]:not([data-cols="1"]) { grid-template-columns: minmax(0, 1fr);
}
.flow[data-flow="grid"] > [data-span] { grid-column: 1 / -1;
}
.flow[data-flow="grid"] > [data-grid] {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
}
.flow[data-flow="floor"]:not([data-cols="1"]):not([data-supergrid]) { grid-template-columns: minmax(0, 1fr);
}
.flow[data-flow="floor"]:not([data-supergrid]) > [data-span] { grid-column: 1 / -1;
}
.flow[data-flow="split"],
  .flow[data-flow="sidebar"] { grid-template-columns: minmax(0, 1fr);
}
}
@supports not (container-type: inline-size) {@media (max-width: 600px) {.flow[data-flow="grid"]:not([data-cols="1"]) { grid-template-columns: minmax(0, 1fr);
}
.flow[data-flow="grid"] > [data-span] { grid-column: 1 / -1;
}
.flow[data-flow="grid"] > [data-grid] {
      grid-column: 1 / -1 !important;
      grid-row: auto !important;
}
.flow[data-flow="floor"]:not([data-cols="1"]):not([data-supergrid]) { grid-template-columns: minmax(0, 1fr);
}
.flow[data-flow="floor"]:not([data-supergrid]) > [data-span] { grid-column: 1 / -1;
}
.flow[data-flow="split"],
    .flow[data-flow="sidebar"] { grid-template-columns: minmax(0, 1fr);
}
}
}
.tile-bar {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 1.5rem;
  cursor: grab;
  font: inherit;
  color: var(--muted, inherit);
}
svg.canvas {
  display: block;
  width: 100%;
  height: min(22rem, 46vh);
  border-radius: var(--radius, 0.5rem);
  touch-action: none;
}
svg.canvas[data-surface="sunken"] { background: var(--fill-elev); border: 1px solid var(--border-accent); box-shadow: var(--chip-ring);
}
svg.canvas .stroke {
  fill: none;
  stroke: var(--intent, var(--accent, currentColor));
  stroke-linecap: round;
  stroke-linejoin: round;
}
svg.canvas .stroke-live {
  opacity: 0.55;
  pointer-events: none;
}
.flow[data-flow="floor"] > [data-dnd-item],
#ws-float > [data-float] {
  transition: opacity 0.35s ease, scale 0.35s ease;
}
@starting-style {
  .flow[data-flow="floor"] > [data-dnd-item],
  #ws-float > [data-float] {
    opacity: 0;
    scale: 0.96;
  }
}
.flow[data-flow="wrap"] > .flow[data-flow="col"] { flex: 1 1 0%; min-width: 0;
}
.workspace[data-pack="desk"] > [data-area] { min-height: 0; min-width: 0; overflow: hidden;
}
#dnd-ghost {
  position: fixed;
  z-index: 500;
  pointer-events: none;
  border: 2px solid var(--accent);
  background: var(--wash-drop);
  border-radius: var(--radius-sm, 8px);
  box-shadow: var(--shadow-soft), var(--chip-ring);
}
#dnd-ghost[data-overlap] {
  border-color: var(--warn);
  background: var(--wash-warn);
  border-style: dashed;
}
#dnd-ghost[hidden] { display: none;
}
html.dnd-live [data-dnd-zone] {
  outline: 1px dashed var(--outline-accent-dash);
}
.tile-bar::after {
  content: "⠿";
  opacity: 0;
  transition: opacity 0.15s ease;
}
[data-dnd-item]:hover .tile-bar::after { opacity: 0.55;
}
[data-dnd-item]:active .tile-bar { cursor: grabbing;
}
.flow[data-flow="floor"] > *:not([data-grid]) {
  grid-column: 1 / -1;
  width: 100%;
}
.flow[data-flow="floor"]:not([data-supergrid]) > *:not([data-grid]):not([data-dnd-item]) {
  width: 100%;
}
.flow[data-flow="floor"][data-supergrid] > *:not([data-grid]):not([data-dnd-item]):not([data-span]) {
  width: 100%;
}
.flow[data-flow="floor"][data-supergrid] > [data-dnd-item][data-span]:not([data-grid]) {
  grid-column: 1 / -1;
}
[data-dnd-item] { view-transition-name: var(--vt, none);
}
@property --fc {
  syntax: "<integer>";
  inherits: true;
  initial-value: 12;
}
@property --fr {
  syntax: "<integer>";
  inherits: true;
  initial-value: 8;
}
.flow[data-flow="floor"] {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(8, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-cols="6"] { grid-template-columns: repeat(6, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-cols="8"] { grid-template-columns: repeat(8, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-cols="12"] { grid-template-columns: repeat(12, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-cols="16"] { grid-template-columns: repeat(16, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-cols="24"] { grid-template-columns: repeat(24, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-rows="2"] { grid-template-rows: repeat(2, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-rows="4"] { grid-template-rows: repeat(4, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-rows="6"] { grid-template-rows: repeat(6, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-rows="8"] { grid-template-rows: repeat(8, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-rows="12"] { grid-template-rows: repeat(12, minmax(0, 1fr));
}
.flow[data-flow="floor"][data-rows="16"] { grid-template-rows: repeat(16, minmax(0, 1fr));
}
.workspace[data-fc="6"] { --fc: 6;
}
.workspace[data-fc="12"] { --fc: 12;
}
.workspace[data-fc="24"] { --fc: 24;
}
.workspace[data-fr="4"] { --fr: 4;
}
.workspace[data-fr="8"] { --fr: 8;
}
.workspace[data-fr="16"] { --fr: 16;
}
.workspace[data-pack="desk"] {
  display: grid;
  contain: none;
  gap: 0;
  width: 100%;
  flex: 1 1 0;
  align-self: stretch;
  min-height: 0;
  overflow: hidden;
}
.workspace[data-pack="desk"][data-side="on"][data-end="on"][data-flow="on"][data-main="off"][data-stack="off"][data-dock="off"] {
  grid-template-columns:
    minmax(13rem, min(var(--side-w, 18rem), 30rem))
    minmax(0, 1fr)
    minmax(12rem, min(var(--end-w, 16rem), 24rem));
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "top top top"
    "side flow end"
    "side foot end";
}
.workspace[data-pack="desk"][data-foot="off"] {
  grid-template-rows: auto minmax(0, 1fr);
  grid-template-areas:
    "top top top"
    "side flow end";
}
.workspace[data-pack="desk"]:not(:has(> [data-area="side"] [data-dnd-item])):not(:has(> [data-area="end"] [data-dnd-item])) {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "top"
    "flow"
    "foot";
}
.workspace[data-pack="desk"]:not(:has(> [data-area="side"] [data-dnd-item])):has(> [data-area="end"] [data-dnd-item]) {
  grid-template-columns: minmax(0, 1fr) minmax(12rem, min(var(--end-w, 16rem), 24rem));
  grid-template-areas:
    "top top"
    "flow end"
    "foot end";
}
.workspace[data-pack="desk"]:has(> [data-area="side"] [data-dnd-item]):not(:has(> [data-area="end"] [data-dnd-item])) {
  grid-template-columns: minmax(13rem, min(var(--side-w, 18rem), 30rem)) minmax(0, 1fr);
  grid-template-areas:
    "top top"
    "side flow"
    "side foot";
}
.workspace[data-pack="desk"] > [data-area="side"]:not(:has([data-dnd-item])),
.workspace[data-pack="desk"] > [data-area="end"]:not(:has([data-dnd-item])),
.workspace[data-pack="desk"] > [data-area="foot"]:not(:has([data-dnd-item])) {
  display: none;
}
.flow[data-at-narrow="hide"] { @container (max-width: 40rem) { display: none; }
}
[data-island][data-defer="1"] { min-height: 2.5rem;
}
[data-island] { contain: layout style;
}}
@layer layout {
.shell {
  display: grid;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  padding: var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);
  grid-template-areas: "topbar topbar" "rail main";
  grid-template-rows: auto minmax(0, 1fr);
  grid-template-columns: auto minmax(0, 1fr);
}
html[data-shell="plain"] .shell {
  display: flex;
  flex-direction: column;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  grid-template: none;
}
html[data-shell="plain"] .rail,
html[data-shell="plain"] .tools,
html[data-shell="plain"] .status,
html[data-shell="plain"] .pane-head { display: none;
}
html[data-shell="plain"] .content {
  flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain;
}
.topbar { grid-area: topbar;
}
.topbar[data-autohide] { transition: transform var(--dur) var(--ease);
}
.topbar[data-hidden="true"] { transform: translateY(-100%);
}
.rail {
  grid-area: rail;
  min-height: 0;
  width: var(--nav-w);
  min-width: var(--nav-collapsed);
  max-width: 18rem;
  overflow: hidden;
  transition: width var(--dur) var(--ease);
}
html[data-nav="expanded"] .rail { resize: inline;
}
.content { grid-area: main; min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow: hidden;
}
.tools {
  grid-area: tools; display: none; flex-direction: column; gap: var(--space-3);
  min-height: 0; overflow: auto; border-inline-start: 1px solid var(--border-accent);
  width: var(--tools-w); min-width: 12rem; max-width: 24rem;
}
.tools[data-surface="elevated"] { background: var(--fill-elev); padding: var(--space-3); border-inline-start-color: var(--border-accent);
}
html[data-shell="editor"] .tools { resize: inline;
}
.status {
  grid-area: status; display: none; align-items: center; justify-content: space-between;
  gap: var(--space-3); min-height: var(--status-h); border-block-start: 1px solid var(--border-accent);
  font-size: var(--text-xs); color: var(--muted);
}
.status[data-surface="elevated"] { background: var(--fill-elev); padding: 0 var(--space-3); border-block-start-color: var(--border-accent);
}
html[data-shell="editor"] .shell {
  grid-template:
    "topbar topbar topbar" auto
    "rail   main   tools"  minmax(0, 1fr)
    "rail   status status" var(--status-h)
    / auto minmax(0, 1fr) auto;
}
html[data-shell="editor"] .tools { display: flex;
}
html[data-shell="editor"] .status { display: flex;
}
html[data-shell="focus"] .shell {
  grid-template:
    "topbar" auto
    "main"   minmax(0, 1fr)
    / minmax(0, 1fr);
}
html[data-shell="focus"] .rail,
html[data-shell="focus"] .tools,
html[data-shell="focus"] .status { display: none;
}
html[data-shell="work"] { --nav-w: 12rem;
}
html[data-shell="work"] .shell {
  grid-template:
    "topbar topbar" auto
    "rail   main"   minmax(0, 1fr)
    / auto minmax(0, 1fr);
}
html[data-nav="collapsed"] .rail {
  width: var(--nav-collapsed);
  max-width: var(--nav-collapsed);
  resize: none;
}
html[data-nav-at="end"] .shell,
html[data-nav-at="end"][data-shell="work"] .shell,
html[data-nav-at="end"][data-shell="app"] .shell {
  grid-template:
    "topbar topbar" var(--shell-h)
    "main   rail"   minmax(0, 1fr)
    / minmax(0, 1fr) auto;
}
html[data-nav-at="end"][data-shell="editor"] .shell {
  grid-template:
    "topbar topbar topbar" var(--shell-h)
    "main   tools  rail"   minmax(0, 1fr)
    "status status rail"   var(--status-h)
    / minmax(0, 1fr) auto auto;
}
html[data-nav-at="top"] .shell,
html[data-nav-at="top"][data-shell="work"] .shell,
html[data-nav-at="top"][data-shell="app"] .shell {
  grid-template:
    "topbar" var(--shell-h)
    "rail"   auto
    "main"   minmax(0, 1fr)
    / minmax(0, 1fr);
}
html[data-nav-at="bottom"] .shell,
html[data-nav-at="bottom"][data-shell="work"] .shell,
html[data-nav-at="bottom"][data-shell="app"] .shell {
  grid-template:
    "topbar" var(--shell-h)
    "main"   minmax(0, 1fr)
    "rail"   auto
    / minmax(0, 1fr);
}
html[data-nav-at="none"] .rail { display: none;
}
html[data-nav-at="none"] .shell,
html[data-nav-at="none"][data-shell="work"] .shell,
html[data-nav-at="none"][data-shell="app"] .shell {
  grid-template:
    "topbar" var(--shell-h)
    "main"   minmax(0, 1fr)
    / minmax(0, 1fr);
}
html[data-nav-at="top"] .rail,
html[data-nav-at="bottom"] .rail {
  width: auto;
  min-width: 0;
  max-width: none;
  resize: none;
}
.rail, .tools, .status { contain: layout style;
}
.rail, .tools { overscroll-behavior: contain;
}
html[data-density="dense"], html[data-density="compact"] {
  --density: 0.82;
  --type-scale: 0.88;
  --grid-min: 10rem;
}
html[data-density="standard"], html[data-density="balanced"], html[data-density="normal"] {
  --density: 0.95;
  --type-scale: 0.96;
}
html[data-density="comfy"], html[data-density="comfortable"] { --density: 1.02; --type-scale: 1;
}
.work {
  flex: 1;
  min-height: 0;
  min-width: 0;
  overflow: auto;
  overflow-wrap: break-word;
  padding: clamp(var(--space-3), 2vw, var(--space-5));
  container-type: inline-size;
  container-name: work;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scroll-padding-top: var(--space-4);
  --text-xs: clamp(0.72rem, 0.7rem + 0.12cqw, 0.78rem);
  --text-sm: clamp(0.83rem, 0.8rem + 0.18cqw, 0.9rem);
  --text-md: clamp(0.95rem, 0.9rem + 0.25cqw, 1.02rem);
  --text-lg: clamp(1.08rem, 1rem + 0.35cqw, 1.18rem);
  --text-xl: clamp(1.28rem, 1.15rem + 0.6cqw, 1.45rem);
  --text-2xl: clamp(1.55rem, 1.35rem + 1cqw, 1.85rem);
  --text-3xl: clamp(2rem, 1.65rem + 1.8cqw, 2.6rem);
}
@container work style(--density: 0.82) {.rows > .row { min-height: 32px;
}
}
html[data-modals] .work { overflow: hidden;
}
.areas {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "hero" "main" "side";
}
html[data-layout="split"] .areas:not([data-layout]),
.areas[data-layout="split"] {
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 22rem);
  grid-template-areas: "hero hero" "main side";
}
html[data-layout="editor"] .areas:not([data-layout]),
.areas[data-layout="editor"] {
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 20rem);
  grid-template-areas: "main side" "main side";
}
html[data-layout="editor"] .areas:not([data-layout]) > [data-area="hero"],
.areas[data-layout="editor"] > [data-area="hero"] { display: none;
}
.areas > [data-area="hero"] { grid-area: hero;
}
.areas > [data-area="main"] { grid-area: main; min-width: 0;
}
.areas > [data-area="side"] { grid-area: side; min-width: 0;
}
.workspace,
.workspace[data-workspace] {
  display: grid;
  gap: var(--space-3);
  min-width: 0;
  min-height: 0;
  align-items: stretch;
  contain: layout;
}
.workspace[data-surface="flat"],
.workspace[data-workspace][data-surface="flat"] {
  background: var(--fill-quiet);
}
.workspace:not([data-pack="desk"]),
.workspace[data-workspace]:not([data-pack="desk"]) {
  --ws-lead: 0px;
  --ws-trail: 0px;
  grid-template-columns: var(--ws-lead) minmax(0, 1fr) var(--ws-trail);
  grid-template-rows: auto minmax(0, 1fr) auto auto auto auto;
  grid-template-areas:
    "top top top"
    "side main end"
    "side flow end"
    "side stack end"
    "dock dock dock"
    "foot foot foot";
  column-gap: 0;
}
.workspace:not([data-pack="desk"])[data-lead="end"] {
  grid-template-areas:
    "top top top"
    "end main side"
    "end flow side"
    "end stack side"
    "dock dock dock"
    "foot foot foot";
}
.workspace:not([data-pack="desk"])[data-lead="start"][data-side="on"] {
  --ws-lead: min(var(--side-w, 18rem), 30rem);
  column-gap: var(--space-3);
}
.workspace:not([data-pack="desk"])[data-lead="end"][data-end="on"] {
  --ws-lead: min(var(--end-w, 16rem), 24rem);
  column-gap: var(--space-3);
}
.workspace:not([data-pack="desk"])[data-lead="start"][data-end="on"] {
  --ws-trail: min(var(--end-w, 16rem), 24rem);
  column-gap: var(--space-3);
}
.workspace:not([data-pack="desk"])[data-lead="end"][data-side="on"] {
  --ws-trail: min(var(--side-w, 18rem), 30rem);
  column-gap: var(--space-3);
}
.workspace[data-side="off"] > [data-area="side"],
.workspace[data-end="off"] > [data-area="end"],
.workspace[data-flow="off"] > [data-area="flow"],
.workspace[data-stack="off"] > [data-area="stack"],
.workspace[data-dock="off"] > [data-area="dock"],
.workspace[data-main="off"] > [data-area="main"] {
  display: none;
}
.workspace[data-side="on"] > [data-area="side"] {
  min-width: 13rem;
  max-width: min(var(--side-w, 18rem), 30rem);
  width: min(var(--side-w, 18rem), 30rem);
}
.workspace[data-end="on"] > [data-area="end"] {
  min-width: 12rem;
  max-width: min(var(--end-w, 16rem), 24rem);
  width: min(var(--end-w, 16rem), 24rem);
}
.workspace > [data-area="main"] {
  grid-area: main;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.workspace > [data-area="side"],
.workspace > [data-area="end"] {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  overflow: hidden;
}
.workspace > [data-area="side"] > [data-dnd-item],
.workspace > [data-area="end"] > [data-dnd-item] {
  flex: 1 1 0;
  min-height: 0;
}
.workspace [data-dnd-item] {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.workspace [data-dnd-item] > [data-key],
.workspace [data-dnd-item] > [data-key] > [data-island],
.workspace [data-dnd-item] > [data-key] > [data-panel],
.workspace [data-dnd-item] > [data-key] > [data-island] > [data-panel],
.workspace [data-dnd-item] > [data-key] > [data-panel] > [data-slot="body"],
.workspace [data-dnd-item] > [data-key] > [data-island] > [data-panel] > [data-slot="body"] {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.workspace > [data-area="side"] { grid-area: side;
}
.workspace > [data-area="end"] { grid-area: end;
}
.workspace > [data-area="top"] {
  grid-area: top;
  min-width: 0;
}
.workspace > [data-area="flow"] {
  grid-area: flow;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
}
.workspace > [data-area="stack"] { grid-area: stack; min-width: 0;
}
.workspace > [data-area="dock"] {
  grid-area: dock;
  min-width: 0;
  border-block-start: 1px solid var(--border-accent);
  padding-block-start: var(--space-2);
}
.workspace > [data-area="foot"] {
  grid-area: foot;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
}
.workspace > [data-area="foot"] > [data-panel],
.workspace > [data-area="foot"] > [data-dnd-item] {
  flex: 0 0 auto;
  width: 100%;
  min-height: 0;
}
.workspace > [data-area="foot"] > [data-dnd-item] > [data-key],
.workspace > [data-area="foot"] > [data-dnd-item] > [data-key] > [data-island],
.workspace > [data-area="foot"] > [data-dnd-item] > [data-key] > [data-panel],
.workspace > [data-area="foot"] > [data-dnd-item] > [data-key] > [data-island] > [data-panel] {
  flex: 0 0 auto;
  height: auto;
  overflow: visible;
}
.workspace > [data-area="foot"] [data-panel] > [data-slot="body"] {
  overflow: visible;
}
.workspace > [data-park] {
  min-height: var(--space-6);
}
.workspace .panel { min-width: 0;
}
.workspace .panel[data-surface="flat"], .workspace .panel[data-surface="elevated"] {
  background: var(--fill-elev);
  border-color: var(--border-accent); box-shadow: var(--chip-ring);
}
.workspace .panel-head,
.workspace [data-panel] > [data-slot="head"] { font-size: var(--text-xs); letter-spacing: 0.02em;
}
.grid-auto > [data-span="w"],
.grid-auto > [data-span="2"] { grid-column: span 2;
}
.grid-auto > [data-span="h"],
.grid-auto > [data-span="3"] { grid-row: span 2;
}
.grid-auto > [data-span="x"],
.grid-auto > [data-span="4"] {
  grid-column: span 2;
  grid-row: span 2;
}
.workspace > [data-area="side"],
.workspace > [data-area="end"],
.workspace > [data-area="foot"],
.workspace > [data-area="dock"] { position: relative;
}
.zone-edge {
  position: absolute;
  z-index: 4;
  touch-action: none;
  user-select: none;
}
.zone-edge[data-zone-dir="x"] {
  cursor: col-resize;
  width: 10px;
  inset-block: 0;
}
.zone-edge[data-zone-dir="y"] {
  cursor: row-resize;
  height: 10px;
  inset-inline: 0;
}
.zone-edge[data-zone-dir="x"][data-zone-from="end"] { inset-inline-end: -5px;
}
.zone-edge[data-zone-dir="x"][data-zone-from="start"] { inset-inline-start: -5px;
}
.zone-edge[data-zone-dir="y"][data-zone-from="end"] { inset-block-end: -5px;
}
.zone-edge[data-zone-dir="y"][data-zone-from="start"] { inset-block-start: -5px;
}
.zone-edge::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 1px;
}
.workspace[data-surface="flat"] .zone-edge:hover::after,
.workspace[data-surface="flat"] .zone-edge.zone-resizing::after,
html[data-customize] .workspace[data-surface="flat"] .zone-edge::after {
  background: var(--accent-glow);
}
html[data-customize] .workspace[data-surface="flat"] {
  outline: 2px solid var(--outline-accent);
  outline-offset: 4px;
}
html[data-customize] .workspace[data-surface="flat"] [data-area] {
  outline: 1px dashed var(--outline-accent-dash);
  outline-offset: 2px;
  min-height: 3rem;
}
[data-dnd-zone].dnd-over {
  box-shadow: inset 0 -2px 0 0 var(--accent);
  background: var(--accent-soft);
}
[data-token="bg"] { --card: var(--bg);
}
[data-token="bg-elev"] { --card: var(--bg-elev);
}
[data-token="card"] { --card: var(--card);
}
[data-token="bg-soft"] { --card: var(--bg-soft);
}
[data-token="bg-hover"] { --card: var(--bg-hover);
}
[data-token="text"] { --card: var(--text);
}
[data-token="muted"] { --card: var(--muted);
}
[data-token="border"] { --card: var(--border);
}
[data-token="accent"] { --card: var(--accent);
}
[data-token="accent-soft"] { --card: var(--accent-soft);
}
[data-token="accent-ink"] { --card: var(--accent-ink);
}
[data-token="ok"] { --card: var(--ok);
}
[data-token="warn"] { --card: var(--warn);
}
[data-token="danger"] { --card: var(--danger);
}
.workspace[data-theme="light"],
[data-area][data-theme="light"] { color-scheme: light;
}
.workspace[data-theme="dark"],
[data-area][data-theme="dark"] { color-scheme: dark;
}
.rows {
  display: grid;
  grid-template-columns: var(--row-cols, minmax(0, 1fr) auto);
  column-gap: var(--space-3);
}
.rows > .row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
  align-items: center;
  min-height: var(--row-h, 40px);
  padding-block: var(--space-2);
  border-block-end: 1px solid var(--border-accent);
}
@supports not (grid-template-columns: subgrid) {.rows > .row {
    grid-template-columns: var(--row-cols, minmax(0, 1fr) auto);
}
}
@container work (max-width: 48rem) {html[data-layout="split"] .areas:not([data-layout]),
  html[data-layout="editor"] .areas:not([data-layout]),
  .areas[data-layout="split"],
  .areas[data-layout="editor"],
  .sidebar {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "hero" "main" "side";
}
.workspace:not([data-pack="desk"]) {
    --ws-lead: 0px;
    --ws-trail: 0px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "top" "side" "main" "end" "flow" "stack" "dock" "foot";
    grid-template-rows: auto auto minmax(0, 1fr) auto auto auto auto auto;
    column-gap: 0;
}
.sidebar { grid-template-columns: minmax(0, 1fr);
}
}
@view-transition {
  navigation: auto;
}
::view-transition-old(root) {
  animation: 100ms var(--ease-out) both vt-fade-out;
}
::view-transition-new(root) {
  animation: 180ms var(--ease-out) both vt-fade-in;
}
::view-transition-old(vf-page) {
  animation: 90ms var(--ease-out) both vt-page-out;
}
::view-transition-new(vf-page) {
  animation: 180ms var(--ease-out) both vt-page-in;
}
@keyframes vt-fade-out { from { opacity: 1; } to { opacity: 0; }
}
@keyframes vt-fade-in { from { opacity: 0; } to { opacity: 1; }
}
@keyframes vt-page-out { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(-4px); }
}
@keyframes vt-page-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); }
}
[data-align="start"], [data-text-align="start"] { text-align: start;
}
[data-align="center"], [data-text-align="center"] { text-align: center;
}
[data-align="end"], [data-text-align="end"] { text-align: end;
}
[data-text-align="justify"] { text-align: justify;
}
[data-vt="fade"] { view-transition-name: vt-fade;
}
[data-vt="slide"] { view-transition-name: vt-slide;
}
[data-vt="none"] { view-transition-name: none !important;
}
@media (prefers-reduced-motion: reduce) {::view-transition-old(root),
  ::view-transition-new(root),
  ::view-transition-old(vf-page),
  ::view-transition-new(vf-page) {
    animation: none;
}
}
.flow[data-flow="floor"][data-supergrid] > .grid-auto {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
  grid-auto-rows: minmax(3.5rem, auto);
}
.grid-auto[data-supergrid] {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: minmax(3.5rem, auto);
}
.reel {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--space-3);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  padding-block-end: var(--space-2);
}
.reel > * { flex: 0 0 auto; scroll-snap-align: start; min-width: 0;
}
.cover {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--space-4);
  min-height: min(24rem, 70cqh);
  padding: var(--space-6);
}
.masonry {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--grid-min, 12.5rem)), 1fr));
  gap: var(--space-3);
}
@supports (grid-template-rows: masonry) {.masonry { grid-template-rows: masonry;
}
}
@supports selector(::scroll-button(inline-end)) {.reel::scroll-button(inline-start),
  .reel::scroll-button(inline-end) {
    appearance: none;
    flex: 0 0 auto;
    width: 1.75rem;
    height: 1.75rem;
    margin-block: auto;
    border: 1px solid var(--border-accent);
    border-radius: var(--radius-pill);
    background: var(--fill-flat);
    color: var(--text);
    box-shadow: var(--shine), var(--chip-ring);
    cursor: pointer;
}
.reel::scroll-button(inline-start) { content: "‹";
}
.reel::scroll-button(inline-end) { content: "›";
}
.reel::scroll-button(inline-start):disabled,
  .reel::scroll-button(inline-end):disabled {
    opacity: 0.35;
    cursor: default;
}
}}
@layer icons {
:root {
  --ico-chevron-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");
  --ico-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
  --ico-bell: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E");
  --ico-map-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  --ico-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  --ico-sliders: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' x2='4' y1='21' y2='14'/%3E%3Cline x1='4' x2='4' y1='10' y2='3'/%3E%3Cline x1='12' x2='12' y1='21' y2='12'/%3E%3Cline x1='12' x2='12' y1='8' y2='3'/%3E%3Cline x1='20' x2='20' y1='21' y2='16'/%3E%3Cline x1='20' x2='20' y1='12' y2='3'/%3E%3Cline x1='2' x2='6' y1='14' y2='14'/%3E%3Cline x1='10' x2='14' y1='8' y2='8'/%3E%3Cline x1='18' x2='22' y1='16' y2='16'/%3E%3C/svg%3E");
  --ico-settings: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E");
  --ico-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
  --ico-moon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z'/%3E%3C/svg%3E");
  --ico-paperclip: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 17.93 8.8l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E");
  --ico-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  --ico-inbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");
  --ico-dot: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/svg%3E");
  --ico-heart-pulse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3Cpath d='M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27'/%3E%3C/svg%3E");
}
.icon {
  display: inline-block;
  flex: 0 0 auto;
  vertical-align: middle;
}
:not(svg).icon {
  background-color: currentColor;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
svg.icon {
  width: 1.25em;
  height: 1.25em;
  stroke: currentColor;
  fill: none;
}
.icon-sm { width: 16px; height: 16px; -webkit-mask-size: 16px; mask-size: 16px;
}
.icon-md { width: 20px; height: 20px; -webkit-mask-size: 20px; mask-size: 20px;
}
.icon-xl { width: 32px; height: 32px; -webkit-mask-size: 32px; mask-size: 32px;
}
@keyframes icon-spin { to { transform: rotate(360deg); }
}
.icon-chevron-left { -webkit-mask-image: var(--ico-chevron-left); mask-image: var(--ico-chevron-left);
}
.icon-x { -webkit-mask-image: var(--ico-x); mask-image: var(--ico-x);
}
.icon-bell { -webkit-mask-image: var(--ico-bell); mask-image: var(--ico-bell);
}
.icon-map-pin { -webkit-mask-image: var(--ico-map-pin); mask-image: var(--ico-map-pin);
}
.icon-clock { -webkit-mask-image: var(--ico-clock); mask-image: var(--ico-clock);
}
.icon-settings { -webkit-mask-image: var(--ico-settings); mask-image: var(--ico-settings);
}
.icon-info { -webkit-mask-image: var(--ico-info); mask-image: var(--ico-info);
}
.icon-moon { -webkit-mask-image: var(--ico-moon); mask-image: var(--ico-moon);
}
.icon-paperclip { -webkit-mask-image: var(--ico-paperclip); mask-image: var(--ico-paperclip);
}
.icon-lock { -webkit-mask-image: var(--ico-lock); mask-image: var(--ico-lock);
}
.icon-inbox { -webkit-mask-image: var(--ico-inbox); mask-image: var(--ico-inbox);
}
.icon-dot { -webkit-mask-image: var(--ico-dot); mask-image: var(--ico-dot);
}
.icon-activity { -webkit-mask-image: var(--ico-heart-pulse); mask-image: var(--ico-heart-pulse);
}
.icon-layers { -webkit-mask-image: var(--ico-sliders); mask-image: var(--ico-sliders);
}}
@layer shell {
.topbar {
  display: flex; align-items: center; gap: var(--space-3);
  height: var(--shell-h); min-height: var(--shell-h);
  padding: 0 var(--space-4);
  border-bottom: 1px solid var(--border-accent);
  flex-shrink: 0; z-index: var(--z-header);
}
.topbar[data-surface="glass"] {
  background: var(--chrome); border-bottom-color: var(--border-accent);
  backdrop-filter: var(--chrome-blur); -webkit-backdrop-filter: var(--chrome-blur);
}
.topbar-brand {
  display: flex; align-items: center; gap: var(--space-2);
  border: none; background: none; cursor: pointer; color: var(--text);
  text-decoration: none; flex-shrink: 0;
}
.topbar-brand:hover { text-decoration: none;
}
.topbar-brand:hover .topbar-brand-text { color: var(--accent);
}
.brand-mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 9px;
  background: var(--brand-mark-bg);
  color: var(--accent-ink);
  font-size: 13px; font-weight: 800; line-height: 1;
  box-shadow: var(--brand-mark-shadow);
}
.topbar-jump {
  display: flex; align-items: center; gap: var(--space-2);
  min-width: 0; max-width: 28rem; flex: 1 1 12rem;
  height: 34px; border-radius: var(--radius-pill);
  color: var(--faint); font-size: var(--text-sm); cursor: pointer;
}
.topbar-jump[data-surface="sunken"] {
  padding: 0 10px 0 12px; border: 1px solid var(--border-accent);
  background: var(--fill-sunken); box-shadow: var(--chip-ring);
}
.topbar-jump[data-surface="sunken"]:hover { border-color: var(--edge-accent-strong); color: var(--muted);
}
.topbar-jump .icon { color: var(--faint);
}
.topbar-jump-label { flex: 1; text-align: left;
}
.topbar-jump .kbd { margin-left: auto;
}
.topbar-brand-text { font-size: var(--text-md); font-weight: 700; letter-spacing: -0.03em;
}
.topbar-right { margin-left: auto; display: flex; align-items: center; gap: 8px;
}
.page { display: flex; flex-direction: column; gap: var(--space-4); min-height: 100%; min-width: 0;
}
.page-head { display: flex; align-items: center; gap: var(--space-3); flex-shrink: 0;
}
.page-head h2 { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-lg);
}
.page-body { flex: 1; min-height: 0; min-width: 0;
}
.empty, .empty-rich { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--space-3); color: var(--muted);
}
.empty[data-surface="sunken"], .empty-rich[data-surface="sunken"] {
  padding: var(--space-6); border: 1px dashed var(--outline-accent-dash);
  border-radius: var(--radius); background: var(--fill-sunken-soft); box-shadow: var(--chip-ring);
}
.empty-ico {
  display: inline-grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem;
  border-radius: var(--radius); color: var(--faint);
}
.empty[data-surface="sunken"] .empty-ico, .empty-rich[data-surface="sunken"] .empty-ico {
  background: var(--fill-row); box-shadow: var(--ico-inset); color: var(--accent);
}
.empty-title { font-weight: 700; color: var(--text); font-size: var(--text-lg);
}
.empty-body { max-width: 28rem;
}
.empty-rich > [data-slot="head"] { display: flex; flex-direction: column; align-items: center; gap: inherit;
}
.panel, [data-panel] {
  display: flex; flex-direction: column; min-width: 0; min-height: 0; position: relative;
}
.panel { border-radius: var(--radius); gap: var(--space-3); overflow: visible;
}
.panel[data-surface] { padding: var(--space-4);
}
.flow[data-flow="center"] > .panel[data-surface]:only-child {
  inline-size: min(100%, 26rem); margin-block: var(--space-7); padding: var(--space-6);
  box-shadow: var(--shine), var(--shadow-soft), var(--chip-ring);
}
.flow[data-flow="center"] > .panel[data-surface]:only-child > [data-slot="head"] h3 { font-size: var(--text-xl); white-space: normal;
}
.workspace [data-panel]:not(.panel) {
  background: transparent;
  border: 0;
  padding: 0;
  gap: 0;
  box-shadow: none;
  overflow: hidden;
}
[data-panel] > :is([data-slot="head"], [data-slot="foot"]) { flex: 0 0 auto; min-width: 0;
}
[data-panel] > [data-slot="body"] { flex: 1 1 auto; min-width: 0; min-height: 0;
}
[data-grid]:not(.flow[data-flow="grid"] > *) [data-panel] > [data-slot="body"] {
  container-type: size;
  container-name: panel-body;
}
@supports (container-type: size) {[data-grid]:not(.flow[data-flow="grid"] > *) [data-slot="body"] .table-wrap {
    max-height: 100cqh;
}
}
[data-panel][data-layout="log"] > [data-slot="body"],
[data-panel][data-layout="canvas"] > [data-slot="body"],
[data-panel][data-layout="stage"] > [data-slot="body"],
[data-panel][data-layout="meter"] > [data-slot="body"] {
  overflow: hidden;
}
[data-panel][data-layout="list"] > [data-slot="body"],
[data-panel][data-layout="doc"] > [data-slot="body"],
[data-panel][data-layout="form"] > [data-slot="body"],
[data-panel][data-layout="embed"] > [data-slot="body"] {
  overflow: auto;
}
[data-panel][data-layout="log"] > [data-slot="body"] > *,
[data-panel][data-layout="list"] > [data-slot="body"] > *,
[data-panel][data-layout="doc"] > [data-slot="body"] > *,
[data-panel][data-layout="canvas"] > [data-slot="body"] > *,
[data-panel][data-layout="stage"] > [data-slot="body"] > *,
[data-panel][data-layout="embed"] > [data-slot="body"] > * {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}
[data-panel][data-layout="log"] > [data-slot="body"] > * {
  overflow: hidden;
}
.flow[data-flow="floor"] [data-panel][data-layout="form"] > [data-slot="body"] > * {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}
[data-panel][data-layout="log"] > [data-slot="body"] .flow {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}
[data-panel][data-layout="log"] > [data-slot="body"] .flow > :last-child {
  flex: 1 1 0;
  min-height: 0;
  overflow: auto;
  display: flex;
  flex-direction: column;
}
.panel-head,
[data-panel] > [data-slot="head"] {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--space-3); margin-block-end: var(--space-2);
}
.panel-head h2, .panel-head h3,
[data-panel] > [data-slot="head"] h2,
[data-panel] > [data-slot="head"] h3 {
  font-size: var(--text-md); font-weight: 700;
  letter-spacing: -0.015em; line-height: 1.35;
}
.panel > p {
  color: var(--muted);
  font-size: var(--text-sm);
  line-height: 1.6;
}
.panel-head h3,
[data-panel] > [data-slot="head"] h3 {
  display: flex; align-items: center; gap: var(--space-2);
}
[data-panel] > [data-slot="head"] h3 {
  min-width: 0; overflow: hidden; white-space: nowrap;
}
.panel > [data-slot="head"] h3 > .icon {
  color: var(--intent, var(--accent)); border-radius: var(--radius-sm); flex: none;
  box-shadow: var(--intent-halo);
  margin-inline: 0.15rem 0.25rem;
}
.panel-sub { font-size: var(--text-xs); color: var(--muted); line-height: 1.45; margin-block-start: 2px;
}
.panel > [data-slot="head"] { flex-wrap: wrap; row-gap: var(--space-1);
}
.panel > [data-slot="head"] > h3 { white-space: normal;
}
.panel > [data-slot="head"] > .cluster:has(> .panel-sub) { flex-basis: 100%;
}
.hero { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap;
}
.fb-btn {
  border: none; background: transparent; color: var(--muted);
  padding: 6px 10px; font-size: var(--text-xs); font-weight: 600;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.fb-btn:hover { background: var(--fill-hover); color: var(--text);
}
:is(.filter-bar[data-surface="sunken"], .toolbar[data-surface="glass"], .command-bar[data-surface="glass"], .list-desk[data-surface="flat"], .panel[data-surface]) .fb-btn.on { background: var(--fill-hover); color: var(--text);
}
.ps-pill {
  position: relative;
  border: 1px solid var(--border-accent); background: transparent; color: var(--muted);
  border-radius: var(--radius-pill); padding: 6px 12px; font-size: var(--text-xs); font-weight: 600; box-shadow: var(--chip-ring);
  cursor: pointer; transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.ps-pill:hover:not(.on) { background: var(--fill-hover); color: var(--text); border-color: var(--border-accent-strong);
}
.ps-pill.on,
html[data-shell="app"] .ps-pill[data-shell="app"],
html[data-shell="editor"] .ps-pill[data-shell="editor"],
html[data-shell="focus"] .ps-pill[data-shell="focus"],
html[data-density="comfy"] .ps-pill[data-density="comfy"],
html[data-density="dense"] .ps-pill[data-density="dense"],
html[data-layout="stack"] .ps-pill[data-layout="stack"],
html[data-layout="split"] .ps-pill[data-layout="split"],
html[data-layout="editor"] .ps-pill[data-layout="editor"] {
  background: var(--accent); color: var(--accent-ink); border-color: var(--accent);
}
dialog.modal-overlay {
  position: fixed; inset: 0; z-index: var(--z-modal);
  width: 100%; height: 100%; max-width: none; max-height: none;
  margin: 0; border: none; padding: 0;
  background: transparent; color: inherit;
  color-scheme: inherit;
  overscroll-behavior: contain;
}
dialog.modal-overlay[open],
dialog.modal-overlay:popover-open {
  display: flex; align-items: flex-start; justify-content: center;
  padding: max(12vh, var(--safe-t)) max(16px, var(--safe-r)) max(16px, var(--safe-b)) max(16px, var(--safe-l));
}
dialog.modal-overlay::backdrop {
  background: var(--scrim);
}
@media (prefers-reduced-motion: no-preference) {dialog.modal-overlay {
    opacity: 0;
    transition:
      display var(--dur) allow-discrete,
      overlay var(--dur) allow-discrete,
      opacity var(--dur) var(--ease);
}
dialog.modal-overlay[open],
  dialog.modal-overlay:popover-open {
    opacity: 1;
}
@starting-style {
    dialog.modal-overlay[open],
    dialog.modal-overlay:popover-open { opacity: 0; }
}
dialog.modal-overlay::backdrop {
    opacity: 0;
    transition: opacity var(--dur) var(--ease), display var(--dur) allow-discrete;
}
dialog.modal-overlay[open]::backdrop,
  dialog.modal-overlay:popover-open::backdrop { opacity: 1;
}
@starting-style {
    dialog.modal-overlay[open]::backdrop,
    dialog.modal-overlay:popover-open::backdrop { opacity: 0; }
}
}
.modal-overlay[data-depth="1"] { z-index: calc(var(--z-modal) + 10);
}
.modal-overlay[data-depth="2"] { z-index: calc(var(--z-modal) + 20);
}
.modal-overlay[data-depth="3"] { z-index: calc(var(--z-modal) + 30);
}
.modal-overlay[data-depth="4"] { z-index: calc(var(--z-modal) + 40);
}
.modal-overlay[data-depth="5"] { z-index: calc(var(--z-modal) + 50);
}
dialog.modal-overlay[data-kind="sheet"][open],
dialog.modal-overlay[data-kind="sheet"]:popover-open {
  align-items: stretch; justify-content: flex-end; padding: 0;
}
.sheet {
  display: flex; flex-direction: column; width: min(28rem, 100%); height: 100%;
  animation: sheet-in var(--dur) var(--ease-out);
}
.sheet[data-surface="elevated"] {
  background: var(--fill-elev);
  border-inline-start: 1px solid var(--border-accent);
  box-shadow: var(--shadow), var(--chip-ring);
}
.sheet .dialog-body { flex: 1; min-height: 0; overflow: auto;
}
.sheet .dialog-actions { flex-shrink: 0;
}
@keyframes sheet-in {
  from { transform: translateX(calc(16px * var(--dir, 1))); opacity: 0.5; }
  to { transform: none; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {.sheet { animation: none;
}
}
@media (prefers-reduced-motion: no-preference) {dialog.modal-overlay[open] .cmd-card,
  dialog.modal-overlay:popover-open .cmd-card {
    opacity: 1;
    transform: none;
    transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
@starting-style {
    dialog.modal-overlay[open] .cmd-card,
    dialog.modal-overlay:popover-open .cmd-card {
      opacity: 0;
      transform: translateY(0.4rem);
    }
}
}
.cmd-card {
  width: min(32rem, 100%); border-radius: var(--radius-lg); overflow: hidden; min-width: 0;
}
.cmd-card[data-surface="elevated"] {
  background: var(--fill-elev);
  border: 1px solid var(--border-accent);
  box-shadow: var(--shadow), var(--chip-ring);
}
.cmd-input { flex: 1; border: none; background: transparent; color: var(--text); outline: none; font-size: var(--text-md);
}
.cmd-list { display: flex; flex-direction: column; padding: var(--space-2); max-height: 50vh; overflow: auto; overscroll-behavior: contain;
}
.cmd-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 12px; border: none; background: transparent; color: var(--text);
  border-radius: var(--radius-sm); text-align: left;
}
.cmd-card[data-surface="elevated"] .cmd-item.on,
.cmd-card[data-surface="elevated"] .cmd-item:hover { background: var(--fill-hover);
}
#appLoader {
  position: fixed; inset: 0; z-index: var(--z-modal);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--space-3); background: var(--scrim);
}
.prose { max-width: min(var(--prose-w, 54rem), 100%); margin-inline: auto;
}
.pane-head { display:flex; align-items:center; gap:8px; min-height:40px; padding:6px 14px; border-bottom:1px solid var(--border-accent); flex-shrink:0;
}
.panel[data-surface] .pane-head { background: var(--fill-chrome);
}
.pane-title { font-size: var(--text-sm); font-weight: 650;
}
html:not([data-net="off"]) .net-off { display: none;
}
.sig-toast {
  pointer-events: auto; display: flex; align-items: center; gap: 10px;
  border-radius: 10px; color: var(--text);
}
.sig-toast[data-surface="elevated"] {
  padding: 12px 20px; background: var(--fill-elev);
  border: 1px solid var(--border-accent); box-shadow: var(--shadow), var(--chip-ring), var(--float-glow);
}
.sig-toast {
    opacity: 1; transform: translateY(0);
    transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.sig-toast { opacity: 0; transform: translateY(0.35rem);
}
.vf-inspect[data-surface="elevated"] {
  background: var(--fill-elev);
  border: 1px solid var(--border-accent); box-shadow: var(--shadow), var(--chip-ring);
}
.vf-inspect .cluster { margin:0 12px 12px;
}}
@layer rail {
.rail {
  grid-area: rail; display: flex; flex-direction: column; border-inline-end: 1px solid var(--border-accent);
  width: var(--nav-w, 14rem); min-width: var(--nav-w, 14rem); overflow: hidden;
  transition: width var(--dur) var(--ease),
              min-width var(--dur) var(--ease);
}
.rail[data-surface="glass"] {
  background: var(--chrome); border-inline-end-color: var(--border-accent);
  backdrop-filter: var(--chrome-blur); -webkit-backdrop-filter: var(--chrome-blur);
}
html[data-nav="collapsed"] .rail {
  width: var(--nav-collapsed, 48px) !important;
  min-width: var(--nav-collapsed, 48px) !important;
  max-width: var(--nav-collapsed, 48px) !important;
}
html[data-nav="expanded"] .rail {
  width: var(--nav-w, 14rem) !important;
  min-width: var(--nav-w, 14rem) !important;
}
.rail-toggle {
  display: flex; align-items: center; justify-content: center; width: 26px; height: 26px;
  border: 1px solid var(--border-accent); border-radius: var(--radius-sm, 6px); background: transparent;
  color: var(--muted); cursor: pointer; transition: all var(--dur-fast) ease; box-shadow: var(--chip-ring);
}
.rail[data-surface="glass"] .rail-toggle:hover {
  background: var(--fill-hover); color: var(--text);
  border-color: var(--accent); box-shadow: var(--chip-ring);
}
html[data-nav="collapsed"] .rail-toggle-ico {
  transform: rotate(180deg);
}
.rail-toggle-ico {
  transition: transform var(--dur) var(--ease);
}
.rail-nav { display: flex; flex-direction: column; padding: 4px 8px; gap: 3px;
}
.rail-item {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 38px; padding: 8px 10px;
  border: none; border-radius: var(--radius-sm, 8px); background: transparent; color: var(--muted);
  font-size: var(--text-sm, 0.88rem); font-weight: 600; text-align: left; cursor: pointer;
  text-decoration: none; transition: all var(--dur-fast) ease; position: relative;
}
.rail-item .icon {
  background-color: currentColor;
  color: inherit;
  flex-shrink: 0;
}
.rail[data-surface="glass"] .rail-item:hover {
  background: var(--fill-hover); color: var(--text);
}
.rail[data-surface="glass"] .rail-item.active {
  background: var(--fill-rail); color: var(--text); font-weight: 700; box-shadow: var(--chip-ring);
}
.rail[data-surface="glass"] .rail-item.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 3px;
  border-radius: 2px;
  background: var(--accent);
}
.rail-item.active .icon {
  color: var(--accent);
}
.rail-label {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
html[data-nav="collapsed"] .rail-label {
  display: none;
}
html[data-nav="collapsed"] .rail-item {
  justify-content: center;
  padding: 8px 0;
  width: 100%;
}
.rail-spacer {
  flex: 1;
}
html[data-nav-at="top"] .rail,
html[data-nav-at="bottom"] .rail {
  flex-direction: row;
  align-items: stretch;
  border-inline-end: none;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}
html[data-nav-at="top"] .rail { border-block-end: 1px solid var(--border-accent);
}
html[data-nav-at="bottom"] .rail { border-block-start: 1px solid var(--border-accent);
}
html[data-nav-at="top"] .rail-toggle,
html[data-nav-at="bottom"] .rail-toggle { display: none;
}
html[data-nav-at="top"] .rail-nav,
html[data-nav-at="bottom"] .rail-nav {
  flex-direction: row;
  flex: 1;
  justify-content: flex-start;
  align-items: stretch;
  gap: 2px;
  padding: var(--space-1) var(--space-2);
}
html[data-nav-at="bottom"] .rail-nav { justify-content: space-around;
}
html[data-nav-at="top"] .rail-item,
html[data-nav-at="bottom"] .rail-item {
  width: auto;
  flex: 0 1 auto;
}
html[data-nav-at="bottom"] .rail-item {
  flex-direction: column;
  gap: 2px;
  min-height: 48px;
  padding: 6px 10px;
  font-size: var(--text-xs);
}
html[data-nav-at="end"] .rail {
  border-inline-end: none;
  border-inline-start: 1px solid var(--border-accent);
}
@media (max-width: 720px) {
  html[data-shell="app"]:not([data-nav-at="top"]):not([data-nav-at="bottom"]):not([data-nav-mobile="bottom"]) .rail,
  html[data-shell="work"]:not([data-nav-at="top"]):not([data-nav-at="bottom"]):not([data-nav-mobile="bottom"]) .rail {
    width: var(--nav-collapsed, 48px) !important;
    min-width: var(--nav-collapsed, 48px) !important;
    max-width: var(--nav-collapsed, 48px) !important;
  }
}}
@layer pages {
.page { view-transition-name: vf-page;
}
.page > .page-head { display: none;
}
.work { padding: var(--space-4) clamp(var(--space-4), 2vw, var(--space-6));
}
.work:has(.page) { padding: var(--space-6) clamp(var(--space-5), 3vw, var(--space-8));
}
.desk {
  display: flex; flex-direction: column; gap: var(--space-8);
  overflow-x: clip; max-width: min(var(--desk-w), 100%); margin-inline: auto;
}
.live-meter { display: flex; flex-direction: column; gap: var(--space-3);
}
.live-meter [data-island] { display: flex; align-items: center; gap: var(--space-3); min-width: 0; border-radius: var(--radius);
}
.live-meter[data-surface="flat"] [data-island] {
  padding: var(--space-3) var(--space-4); background: var(--fill-flat);
  border: 1px solid var(--border-accent); box-shadow: var(--shine), var(--shadow-soft), var(--chip-ring);
}
.live-meter .hint { margin: 0;
}
.live-meter .ago { font-variant-numeric: tabular-nums;
}
.work:has(.workspace) .workspace,
.work:has(.workspace) [data-area="main"] { flex: 1; min-height: 0;
}
.work:has(.workspace) [data-area="main"] { display: flex; flex-direction: column;
}
.work:has(.workspace) [data-area="main"] > * { min-height: 0;
}
.masthead { position: relative; padding: var(--space-7) 0 var(--space-5);
}
.masthead-split {
  display: grid; align-items: center; gap: var(--space-7) var(--space-8);
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
}
.masthead-split:not(:has(.masthead-aside)) { grid-template-columns: minmax(0, 42rem);
}
.masthead::before {
  content: ""; position: absolute; inset-block-start: -8%; inset-inline: -6%;
  height: 14rem; pointer-events: none; z-index: -1;
}
.masthead[data-surface="elevated"]::before {
  background: var(--masthead-glow);
}
.masthead-copy { display: block; min-width: 0;
}
.masthead .kicker {
  display: inline-flex; align-items: center; margin-bottom: var(--space-4);
  border-radius: var(--radius-pill); letter-spacing: 0.1em;
}
.masthead[data-surface="elevated"] .kicker {
  padding: 4px 12px; border: 1px solid var(--accent-ring); background: var(--accent-soft); box-shadow: var(--chip-ring);
}
.display {
  font-family: var(--font-display); font-size: clamp(2.4rem, 1.4rem + 2.6vw, 3.75rem);
  letter-spacing: -0.04em; line-height: 1.04; max-width: 20ch; font-weight: 750; text-wrap: balance;
}
.display span { color: var(--muted); font-weight: 600;
}
.masthead .lede { margin-top: var(--space-4); font-size: var(--text-lg); line-height: 1.55; max-width: 38rem;
}
.cta-row { margin-top: var(--space-6); gap: var(--space-3);
}
.masthead-aside { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0;
}
.masthead-aside .code { margin: 0; max-height: 18rem; overflow: auto;
}
.band {
  display: grid; grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
  gap: var(--space-5) var(--space-8); align-items: start; padding-block: var(--space-6);
}
.band + .band { border-top: 1px solid var(--hairline-accent);
}
.band > [data-slot="head"] { align-self: stretch; align-items: flex-start;
}
.band .band-head { margin-bottom: 0; position: sticky; top: var(--space-4);
}
.band .band-head h2 { font-size: var(--text-xl); letter-spacing: -0.03em;
}
.band .lede { font-size: var(--text-sm); max-width: 22rem;
}
.band-head { display: flex; flex-direction: column; gap: var(--space-2); margin-bottom: var(--space-3);
}
.band-head h2 { text-wrap: balance;
}
.kicker { font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent);
}
.lede { color: var(--muted); max-width: 46rem; text-wrap: pretty;
}
.value-card { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; border-radius: var(--radius); transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.value-card[data-surface="flat"] { padding: var(--space-5); background: var(--fill-flat); border: 1px solid var(--border-accent-soft);
}
.value-card[data-surface="flat"]:hover { border-color: var(--border-accent-strong); transform: var(--hover-lift); box-shadow: var(--chip-ring);
}
.value-card > [data-slot="head"] { flex-direction: column; align-items: flex-start; gap: var(--space-3);
}
.value-card h3 { font-size: var(--text-md); letter-spacing: -0.01em; white-space: normal;
}
.value-card p { color: var(--muted); font-size: var(--text-sm); line-height: 1.55;
}
.value-card-ico {
  display: inline-grid; place-items: center; inline-size: 2.5rem; block-size: 2.5rem; border-radius: var(--radius-sm);
  color: var(--intent, var(--accent));
}
.value-card[data-surface="flat"] .value-card-ico {
  background: var(--intent-soft, var(--accent-soft));
  box-shadow: var(--intent-inset);
}
.value-card[data-surface="flat"][data-variant="solid"] {
  border-color: var(--intent-border);
  background: var(--intent-wash);
  box-shadow: var(--shine), var(--chip-ring), var(--shadow-soft);
}
.logo-strip { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-7); align-items: center;
}
.logo-strip > * { font-size: var(--text-sm); font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint); transition: color var(--dur-fast) var(--ease);
}
.logo-strip > *:hover { color: var(--accent);
}
.panel[data-kind="quote"] { gap: var(--space-3);
}
.panel[data-kind="quote"] > [data-slot="body"] { font-size: var(--text-md); line-height: 1.55; font-style: italic; color: var(--text);
}
.panel[data-kind="quote"] > [data-slot="body"]::before {
  content: "“"; display: block; margin-bottom: var(--space-2); font-size: var(--text-2xl);
  line-height: 1; font-style: normal; font-weight: 700; color: var(--intent, var(--accent));
}
.band[data-surface="flat"][data-tone] {
  padding-inline: var(--space-5); border-radius: var(--radius);
  background: var(--intent-soft, var(--accent-soft)); border-top-color: transparent;
}
.band[data-surface="flat"][data-tone] + .band,
.band + .band[data-surface="flat"][data-tone] { border-top-color: transparent;
}
.site-foot { margin-top: var(--space-4); border-top: 1px solid var(--hairline-accent);
}
.site-foot[data-surface="flat"] { padding-top: var(--space-6); border-top-color: var(--hairline-accent-soft);
}
.site-foot .dim:first-child { font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted);
}
.recipe {
  display: grid; gap: 1px; padding: 0; list-style: none; overflow: hidden; border-radius: var(--radius);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
}
.recipe[data-surface="flat"] { background: var(--border-accent-soft); border: 1px solid var(--border-accent); box-shadow: var(--shine), var(--chip-ring);
}
.recipe[data-surface="flat"] > * { background: var(--fill-quiet);
}
.recipe li { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-4) var(--space-5); min-width: 0;
}
.recipe[data-surface="flat"] .recipe-n {
  display: inline-grid; place-items: center; align-self: flex-start; inline-size: 1.75rem; block-size: 1.75rem; border-radius: var(--radius-pill);
  background: var(--accent-soft); color: var(--accent); font-family: var(--mono); font-size: var(--text-xs); font-weight: 700;
  box-shadow: var(--chip-ring); border: 1px solid var(--border-accent-strong);
}
.recipe strong { font-size: var(--text-md); letter-spacing: -0.03em;
}
.recipe p { color: var(--muted); font-size: var(--text-sm);
}
.recipe code { display: block; margin-top: auto; padding: var(--space-2) 0 0; font-size: var(--text-xs); overflow-wrap: anywhere; color: var(--text);
}
.toolbar {
  position: sticky; top: var(--space-2); z-index: 2; border-radius: var(--radius);
}
.toolbar[data-surface="glass"], .command-bar[data-surface="glass"],
.status-dock[data-surface="glass"] {
  background: var(--chrome); border: 1px solid var(--hairline-accent-soft); backdrop-filter: var(--chrome-blur); -webkit-backdrop-filter: var(--chrome-blur); box-shadow: var(--chip-ring);
}
.toolbar[data-surface="glass"] { padding: var(--space-3) var(--space-4);
}
.toolbar > .between, .filter-bar > .between, .command-bar > .between, .status-dock > .between { width: 100%;
}
.kpi-strip { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0;
}
.kpi-strip[data-surface="sunken"] { padding: var(--space-3); border-radius: var(--radius); background: var(--fill-sunken); border: 1px solid var(--border-accent); box-shadow: var(--chip-ring);
}
.kpi-strip .metric { padding: var(--space-3) var(--space-4);
}
.kpi-strip .metric-value { font-size: var(--text-xl);
}
.empty-cta {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: var(--space-3); min-width: 0; border-radius: var(--radius);
}
.empty-cta[data-surface="sunken"] { padding: var(--space-6); border: 1.5px dashed var(--edge-accent); background: var(--fill-bg); box-shadow: var(--chip-ring);
}
.empty-cta[data-surface="sunken"]:hover { border-color: var(--accent); background: var(--fill-active-hot); box-shadow: var(--chip-ring);
}
.empty-cta .empty[data-surface], .empty-cta .empty-rich[data-surface] { padding: 0;
}
.page-hero, .feature-grid { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0;
}
.page-hero .band-head h2 { font-size: var(--text-2xl); letter-spacing: -0.035em;
}
.directory {
  display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; border-radius: var(--radius);
}
.directory[data-surface="flat"] { padding: var(--space-3); background: var(--fill-plate); border: 1px solid var(--border-accent-soft); box-shadow: var(--chip-ring);
}
.directory[data-surface="flat"] > .toolbar[data-surface="glass"] {
  position: static; border: 0; background: var(--dock-fill); backdrop-filter: none; -webkit-backdrop-filter: none;
}
.theme-strip, .style-strip { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center;
}
.logo-strip[data-surface], .theme-strip[data-surface], .style-strip[data-surface], .chip-row[data-surface] {
  padding: var(--space-2) var(--space-3); border-radius: var(--radius); background: var(--fill-sunken); border: 1px solid var(--border-accent); box-shadow: var(--chip-ring);
}
.theme-strip .badge { letter-spacing: 0.04em;
}
.style-strip .badge { letter-spacing: 0.03em; text-transform: lowercase;
}
.pricing-tier { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0;
}
.pricing-tier > a[class*="btn"] { align-self: start;
}
.pricing-tier[data-surface="elevated"]:has([data-variant="solid"]) {
  padding: var(--space-2); border-radius: calc(var(--radius) + 2px); background: var(--featured-wash);
  box-shadow: var(--shine), var(--chip-ring); border-color: var(--border-feature);
}
.split-pane { min-width: 0;
}
.split-pane[data-surface="sunken"] > .sidebar {
  gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--border-accent);
  border-radius: var(--radius); background: var(--fill-side); box-shadow: var(--shine), var(--chip-ring);
}
.step-rail {
  border-radius: var(--radius);
}
.step-rail[data-surface="sunken"] { padding: var(--space-4); background: var(--fill-bg); border: 1px dashed var(--edge-accent); box-shadow: var(--chip-ring);
}
.step-rail .steps { gap: var(--space-3);
}
.step-rail .step { padding-block: var(--space-1);
}
.status-dock {
  margin-top: var(--space-2); border-radius: var(--radius-pill); color: var(--muted); font-size: var(--text-xs);
}
.auth-shell {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
  gap: var(--space-5); align-items: center; min-width: 0; border-radius: var(--radius);
}
.auth-shell[data-surface="elevated"] { padding: var(--space-5); background: var(--hero-wash); border: 1px solid var(--border-accent); box-shadow: var(--chip-ring);
}
.auth-shell > .panel { margin: 0; inline-size: 100%;
}
.auth-shell .form-grid { grid-template-columns: 1fr; gap: var(--space-3);
}
.action-card {
  display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; border-radius: var(--radius);
}
.action-card[data-surface="flat"] { padding: var(--space-3); background: var(--fill-flat); border: 1px solid var(--border-accent-soft); box-shadow: var(--chip-ring); transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.action-card[data-surface="flat"]:hover { border-color: var(--border-accent-strong); transform: var(--hover-lift); box-shadow: var(--chip-ring);
}
.action-card > a[class*="btn"], .action-card > .act-form { align-self: start;
}
.notice-bar {
  display: flex; align-items: flex-start; gap: var(--space-3); min-width: 0; border-radius: var(--radius);
}
.notice-bar[data-surface="sunken"] {
  padding: var(--space-3) var(--space-4); border: 1px solid var(--intent-edge);
  background: var(--fill-notice);
  box-shadow: inset 3px 0 0 var(--intent, var(--accent)), var(--chip-ring);
}
.ops-desk, .settings-shell, .plan-board, .dash-shell, .launch-pad, .doc-shell, .guide-shell, .list-desk {
  display: flex; flex-direction: column; gap: var(--space-4); min-width: 0;
}
.hero-masthead { min-width: 0; position: relative;
}
.hero-masthead .masthead { border-radius: calc(var(--radius) + 4px);
}
.hero-masthead[data-surface="elevated"] .masthead { padding: var(--space-8) var(--space-5) var(--space-6); border: 1px solid var(--border-accent); background: var(--hero-wash); box-shadow: var(--shine), var(--shadow-soft), var(--chip-ring);
}
.hero-masthead .masthead::before { inset-inline: 0; border-radius: inherit;
}
.surface, .media-tile, .link-tile, .elev-surface, .defer-panel {
  display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; border-radius: var(--radius);
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}
.surface[data-surface="flat"], .media-tile[data-surface="elevated"],
.link-tile[data-surface="flat"], .elev-surface[data-surface="glass"],
.defer-panel[data-surface="glass"] { padding: var(--space-4);
}
.surface[data-surface="flat"], .link-tile[data-surface="flat"] { background: var(--fill-flat); border: 1px solid var(--border-accent-soft); box-shadow: var(--chip-ring);
}
.elev-surface[data-surface="glass"], .defer-panel[data-surface="glass"] { background: var(--chrome); border: 1px solid var(--hairline-accent-soft); backdrop-filter: var(--chrome-blur); -webkit-backdrop-filter: var(--chrome-blur); box-shadow: var(--chip-ring);
}
.surface[data-surface="flat"]:hover, .media-tile[data-surface="elevated"]:hover,
.link-tile[data-surface="flat"]:hover, .elev-surface[data-surface="glass"]:hover,
.defer-panel[data-surface="glass"]:hover { border-color: var(--accent); box-shadow: var(--hover-elevate), var(--chip-ring); transform: var(--hover-lift);
}
.media-tile > .cluster, .media-tile > .chip-row, .link-tile > a { margin-top: auto;
}
.media-tile[data-surface="elevated"] { background: var(--fill-flat);
}
.link-tile > a { align-self: start;
}
.chip-row { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; min-width: 0;
}
.chip-row .btn-sm, .chip-row .btn-xs { border-radius: var(--radius-pill);
}
.chip-row .btn-primary { box-shadow: var(--chip-ring);
}
.filter-bar[data-surface="sunken"] .chip-row[data-surface="sunken"] { padding: 0; border: 0; background: transparent; box-shadow: none;
}
.filter-bar {
  display: flex; align-items: center; gap: var(--space-3); min-width: 0; border-radius: var(--radius);
}
.filter-bar[data-surface="sunken"] {
  padding: var(--space-2) var(--space-3); background: var(--fill-sunken);
  border: 1px solid var(--border-accent); box-shadow: var(--chip-ring);
}
.filter-bar .stack { gap: var(--space-2); min-width: 0; flex: 1 1 auto;
}
.filter-bar .stack > .chip-row { gap: var(--space-1) var(--space-2);
}
.filter-bar .chip-row > .muted { min-width: 3.5rem; font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .04em;
}
.list-desk .directory[data-surface="flat"] { background: var(--fill-nest);
}
.list-desk .directory[data-surface="flat"] .data-table thead th {
  position: sticky; top: 0; z-index: 1; background: var(--fill-sticky);
}
.promo-band { border-radius: var(--radius); overflow: clip; min-width: 0;
}
.promo-band > .band { margin: 0;
}
.command-bar {
  display: flex; align-items: center; gap: var(--space-3); min-width: 0; border-radius: var(--radius-pill);
}
.command-bar[data-surface="glass"], .status-dock[data-surface="glass"] { padding: var(--space-2) var(--space-3);
}
.feed-list {
  display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; border-radius: var(--radius);
}
.feed-list[data-surface="sunken"] { padding: var(--space-4); border-inline-start: 3px solid var(--accent-edge); background: var(--fill-sunken-soft); border: 1px solid var(--border-accent-soft); border-inline-start-width: 3px; box-shadow: var(--chip-ring);
}
.site-page { display: flex; flex-direction: column; gap: var(--space-6); min-width: 0;
}
.trust-band, .pricing-board, .faq-list, .feature-band, .stat-band, .process-band, .quote-board { min-width: 0; border-radius: var(--radius); overflow: clip;
}
.trust-band[data-surface="flat"], .feature-band[data-surface="flat"],
.pricing-board[data-surface="elevated"], .promo-band[data-surface="elevated"],
.faq-list[data-surface="sunken"], .stat-band[data-surface="sunken"], .quote-board[data-surface="sunken"],
.process-band[data-surface="elevated"] { padding: var(--space-4) var(--space-5);
}
.trust-band[data-surface="flat"], .feature-band[data-surface="flat"] { background: var(--fill-plate); border: 1px solid var(--border-accent-soft); box-shadow: var(--chip-ring);
}
.pricing-board[data-surface="elevated"], .promo-band[data-surface="elevated"] { background: var(--fill-elev); border: 1px solid var(--border-accent); box-shadow: var(--chip-ring);
}
.faq-list[data-surface="sunken"], .stat-band[data-surface="sunken"], .quote-board[data-surface="sunken"] { background: var(--fill-sunken-soft); border: 1px solid var(--border-accent-soft); box-shadow: var(--chip-ring);
}
.pricing-board .pricing-tier, .quote-board [data-kind="quote"] { height: 100%;
}
.quote-board[data-surface="sunken"] [data-kind="quote"] { border-inline-start: 3px solid var(--accent); padding-inline-start: var(--space-3);
}
.faq-list[data-surface="sunken"] .fold {
  border-radius: var(--radius-sm); background: var(--fill-dock); padding-inline: var(--space-3);
}
.stat-band .metric { padding: var(--space-3) var(--space-4); border-radius: var(--radius); background: var(--fill-bg);
}
.process-band .step { border-radius: var(--radius-sm); padding: var(--space-2) var(--space-3); background: var(--fill-flat);
}
.process-band[data-surface="elevated"] { background: var(--accent-wash);
}
.flow-list { list-style: decimal; padding-inline-start: 1.35rem; color: var(--muted); display: flex; flex-direction: column; gap: var(--space-2);
}
.flow-list li { padding-inline-start: var(--space-1);
}
.tree-view { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px;
}
.tree-view[data-surface="flat"] { min-width: 0; background: var(--fill-plate); border-radius: var(--radius); padding: var(--space-2);
}
.tree-view .badge { margin-inline-start: var(--space-2);
}
.tree-label-branch { font-weight: 600; color: var(--accent-ink, var(--text));
}
@container work (max-width: 48rem) {.masthead-split, .band, .split-pane > .sidebar, .auth-shell { grid-template-columns: 1fr;
}
.band .band-head { position: static;
}
.filter-bar, .command-bar, .toolbar, .status-dock { flex-wrap: wrap;
}
.filter-bar > .between, .command-bar > .between, .toolbar > .between,
  .status-dock > .between { flex-wrap: wrap; gap: var(--space-2);
}
.hero-masthead[data-surface="elevated"] .masthead { padding: var(--space-5) var(--space-4) var(--space-4);
}
.list-desk .directory .data-table thead th { position: static;
}
}
@container work (max-width: 40rem) {.desk { gap: var(--space-6);
}
.work:has(.page) { padding: var(--space-4);
}
.display { max-width: none;
}
.ops-desk, .settings-shell, .plan-board, .dash-shell, .launch-pad,
  .doc-shell, .guide-shell, .list-desk { gap: var(--space-3);
}
.step-rail[data-surface="sunken"], .auth-shell[data-surface="elevated"], .kpi-strip[data-surface="sunken"] { padding: var(--space-3);
}
}
@supports not (container-type: inline-size) {@media (max-width: 720px) {.masthead-split, .band, .split-pane > .sidebar, .auth-shell { grid-template-columns: 1fr;
}
.band .band-head { position: static;
}
.filter-bar, .command-bar, .toolbar, .status-dock { flex-wrap: wrap;
}
.filter-bar > .between, .command-bar > .between, .toolbar > .between,
    .status-dock > .between { flex-wrap: wrap; gap: var(--space-2);
}
.hero-masthead[data-surface="elevated"] .masthead { padding: var(--space-5) var(--space-4) var(--space-4);
}
.list-desk .directory .data-table thead th { position: static;
}
}
@media (max-width: 480px) {.ops-desk, .settings-shell, .plan-board, .dash-shell, .launch-pad,
    .doc-shell, .guide-shell, .list-desk { gap: var(--space-3);
}
.step-rail[data-surface="sunken"], .auth-shell[data-surface="elevated"], .kpi-strip[data-surface="sunken"] { padding: var(--space-3);
}
}
}
.t-text { display: inline;
}
.t-accent { color: var(--accent);
}
.t-inverse { color: var(--ink-on-solid);
}
.dim { color: var(--muted);
}
.faint { color: var(--faint);
}}
@layer components {
.page-frame {
  display: flex; flex-direction: column; gap: var(--gap-page);
  max-inline-size: var(--page-max, 90rem); margin-inline: auto; width: 100%;
  min-inline-size: 0; container-type: inline-size; container-name: page;
  padding-block-end: var(--space-6);
}
.page-frame > * { min-inline-size: 0;
}
.display-hero {
  font-size: clamp(1.75rem, 3.5vw + 0.5rem, 3rem);
  line-height: 1.15;
  letter-spacing: -0.04em;
  font-weight: 800;
  text-wrap: balance;
  margin: 0;
  overflow-wrap: break-word;
}
.text-gradient {
  background: linear-gradient(135deg, var(--on-surface) 30%, var(--accent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.kicker-caps {
  font-size: var(--text-3xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--accent);
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
}
.border-gradient {
  position: relative;
  border: var(--hair) solid transparent;
  background:
    linear-gradient(var(--card), var(--card)) padding-box,
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 45%, transparent), transparent 60%, var(--border)) border-box;
}
@keyframes pulse-ring {
  0% { transform: scale(0.8); opacity: 1; }
  60%, 100% { transform: scale(2.2); opacity: 0; }
}
.section { display: flex; flex-direction: column; gap: var(--gap-panel); min-inline-size: 0;
}
.section-title { font-size: var(--text-md); line-height: var(--lh-heading);
}
.section-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3);
}
.section-actions { display: flex; align-items: center; gap: var(--space-2);
}
.panel[data-surface] { padding: var(--pad-panel); gap: var(--gap-panel);
}
.panel > [data-slot="body"] { min-inline-size: 0;
}
@container page (inline-size >= 64rem) {.panel[data-surface] { --pad-panel: var(--space-5);
}
}
  @container (inline-size >= 20rem) { :scope[data-fit="row"] { grid-template-columns: repeat(var(--kpi-n), minmax(0, 1fr)); } }
  .kpi {
    display: flex; flex-direction: column; gap: var(--space-1); min-inline-size: 0;
    padding: var(--content-pad);
    background: var(--surface-1); border: var(--hair) solid var(--line);
    border-radius: var(--radius); box-shadow: var(--elev-1);
  }
  .kpi-label {
    font-size: var(--text-xs); line-height: var(--lh-snug); font-weight: 600; color: var(--on-surface-muted);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .kpi-value {
    margin: 0; font-size: var(--text-kpi); line-height: var(--lh-heading); font-weight: 700;
    letter-spacing: var(--tracking-title); font-variant-numeric: tabular-nums;
  }
  .kpi-ctx {
    margin: 0; font-size: var(--text-2xs); line-height: var(--lh-snug);
    font-weight: 400; color: var(--on-surface-muted);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .kpi[data-tone] .kpi-value { color: var(--intent); }
}
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: var(--space-4);
  margin: 0;
  padding: 0;
  min-inline-size: 0;
}
  @container (inline-size < 30rem) {
    .data-list[data-cols="main-sub-chip-meta"] { --cols: minmax(0, 1fr) auto auto; }
    .data-list[data-cols="main-sub-chip-meta"] > * > :is(.data-sub, :nth-child(2)) { display: none; }
  }
  @container (inline-size < 14rem) {
    .data-list[data-cols] { --cols: minmax(0, 1fr) auto; }
    .data-row > :is(.data-chip, .data-sub), .data-head > :not(:first-child, :last-child) { display: none; }
  }
}
.data-list {
  display: grid; margin: 0; padding: 0; list-style: none;
  grid-template-columns: var(--cols, minmax(0, 1fr) auto auto);
  column-gap: var(--space-4);
}
.data-list[data-cols="main-meta"] { --cols: minmax(0, 1fr) auto;
}
.data-list[data-cols="main-chip-meta"] { --cols: minmax(0, 1fr) auto auto;
}
.data-list[data-cols="main-sub-chip-meta"] { --cols: minmax(0, 2fr) minmax(0, 1fr) auto auto;
}
.data-list[data-cols="main-chip-chip-meta"] { --cols: minmax(0, 1fr) auto auto auto;
}
.data-row, .data-head {
  display: grid; grid-column: 1 / -1;
  grid-template-columns: var(--cols, minmax(0, 1fr) auto auto);
  align-items: center; min-block-size: var(--row-h); min-inline-size: 0;
  padding-block: var(--space-2); padding-inline: var(--space-2);
  border-block-end: var(--hair) solid var(--line);
}
.data-cell { overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.data-main { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--on-surface); font-size: var(--text-sm);
}
.data-sub { color: var(--on-surface-muted); font-size: var(--text-xs); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.data-chip { justify-self: start;
}
.data-meta { justify-self: end; text-align: end; color: var(--on-surface-muted); font-size: var(--text-xs); font-variant-numeric: tabular-nums; white-space: nowrap;
}
.data-table :is(td, th)[data-num], .data-table :is(td, th).num { text-align: end; font-variant-numeric: tabular-nums;
}
.data-table td.truncate { max-inline-size: 0;
}
.status-bar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--space-2) var(--space-4); padding: var(--content-pad);
  border-block-start: var(--hair) solid var(--line);
  color: var(--on-surface-muted); font-size: var(--text-xs); font-variant-numeric: tabular-nums;
}
.form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2);
  margin-block-start: var(--space-4);
  padding-block-start: var(--space-2);
}
.display-title {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5.5cqi + 1rem, 5rem);
  font-weight: 800;
  line-height: 0.96;
  letter-spacing: -0.04em;
  text-wrap: balance;
  margin-block: 0 var(--space-4);
  color: var(--on-surface);
}
.feature-duo {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr));
  align-items: center;
  gap: var(--space-8);
  padding-block: var(--space-6);
  min-inline-size: 0;
}
.feature-duo[data-reverse="true"] > .feature-duo-content {
  order: 2;
}
.feature-duo-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-inline-size: 0;
}
.feature-duo-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  line-height: var(--lh-heading);
  letter-spacing: var(--tracking-title);
  font-weight: 700;
}
.feature-duo-lead {
  margin: 0;
  font-size: var(--text-md);
  color: var(--on-surface-muted);
  line-height: var(--lh-snug);
  max-inline-size: var(--measure);
}
.feature-duo-media {
  min-inline-size: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.bento-showcase {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  min-inline-size: 0;
}
@container (inline-size >= 48rem) {.bento-showcase {
    grid-template-columns: 1.6fr 1fr;
}
}
.bento-showcase-feature {
  min-inline-size: 0;
}
.bento-showcase-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-inline-size: 0;
}
:is(.launch-pad, .dash-shell, .ops-desk, .settings-shell, .plan-board, .doc-shell, .guide-shell, .list-desk)[data-surface] {
  background: none; border: 0; box-shadow: none; padding: 0;
  gap: var(--gap-page); container-type: inline-size; container-name: page;
}
:is(.launch-pad, .dash-shell, .ops-desk, .settings-shell, .plan-board, .doc-shell, .guide-shell, .list-desk) > .flow { gap: var(--gap-page);
}
never a box. */
.page-hero[data-surface] { background: none; border: 0; box-shadow: none; padding: var(--space-3) var(--space-0) var(--space-1);
}
.page-hero .band-head { gap: var(--space-2); margin: 0;
}
.page-hero .band-head > .kicker { line-height: var(--lh-none);
}
.page-hero > .between { align-items: end; gap: var(--space-3) var(--space-4);
}
.kpi-strip[data-surface] { background: none; border: 0; box-shadow: none; padding: 0;
}
.kpi-strip .metric { padding: var(--content-pad); gap: var(--space-1);
}
.status-dock[data-surface] { border-radius: var(--radius); padding: var(--content-pad); margin: 0;
}
.directory[data-surface] { padding: var(--pad-panel); gap: var(--gap-panel); border-radius: var(--radius-lg);
}
.directory .chip-row[data-surface], .directory .table-wrap[data-surface] { background: none; border: 0; box-shadow: none; padding: 0;
}
.directory .chip-row[data-surface] { padding-block-end: var(--space-2); border-block-end: var(--hair) solid var(--line); border-radius: var(--radius-0);
}
.directory .data-table :is(td, th):first-child { padding-inline-start: var(--space-2);
}
.directory .table-wrap { max-block-size: none; overflow-x: auto; overflow-y: visible;
}
.data-chip > [data-tone] {
  display: inline-flex; align-items: center; padding: 0 var(--space-2);
  border-radius: var(--radius-pill); background: var(--intent-soft); color: var(--intent);
  font-size: var(--text-2xs); font-weight: 600; line-height: var(--lh-ui); white-space: nowrap;
}
.theme-scope {
  display: flex; flex-direction: column; gap: var(--gap-panel); min-inline-size: 0;
  padding: var(--space-4); border-radius: var(--radius-lg);
  background: var(--surface-page); color: var(--on-surface);
  border: var(--hair) solid var(--line-strong); container-type: inline-size;
}
.list-desk .flow[data-flow="split"] > :last-child {
  position: sticky; inset-block-start: var(--space-3); align-self: start;
  max-block-size: calc(100dvh - var(--space-6)); overflow: auto;
}
[data-gap="xs"] { --lay-gap: var(--space-1);
}
[data-gap="sm"] { --lay-gap: var(--space-2);
}
[data-gap="md"] { --lay-gap: var(--space-4);
}
[data-gap="lg"] { --lay-gap: var(--space-6);
}
[data-gap="xl"] { --lay-gap: var(--space-8);
}
[data-measure="2xs"] { --lay-measure: var(--bp-2xs);
}
[data-measure="xs"] { --lay-measure: var(--bp-xs);
}
[data-measure="sm"] { --lay-measure: var(--bp-sm);
}
[data-measure="md"] { --lay-measure: var(--bp-md);
}
[data-measure="lg"] { --lay-measure: var(--bp-lg);
}
[data-measure="xl"] { --lay-measure: var(--bp-xl);
}
.lay-stack { display: flex; flex-direction: column; gap: var(--lay-gap, var(--gutter)); min-inline-size: 0;
}
.lay-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lay-gap, var(--gutter));
}
.lay-cluster[data-justify="center"] { justify-content: center;
}
.lay-cluster[data-justify="end"] { justify-content: flex-end;
}
.lay-cluster[data-justify="between"] { justify-content: space-between;
}
.lay-grid {
  display: grid; gap: var(--lay-gap, var(--gutter)); min-inline-size: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--lay-measure, var(--bp-xs)), 100%), 1fr));
}
.lay-grid[data-cols] { grid-template-columns: repeat(var(--lay-cols, 1), minmax(0, 1fr)); grid-template-areas: var(--lay-areas);
}
@container (inline-size < 36rem) {.lay-grid[data-narrow] { grid-template-columns: minmax(0, 1fr); grid-template-areas: var(--lay-areas-narrow);
}
}
.lay-area { grid-area: var(--lay-area, auto); min-inline-size: 0;
}
.lay-subgrid { display: grid; grid-column: 1 / -1; grid-template-columns: subgrid; gap: inherit;
}
.lay-split { display: flex; flex-wrap: wrap; gap: var(--lay-gap, var(--gutter));
}
.lay-split > * { flex: 1 1 var(--lay-measure, var(--bp-sm)); min-inline-size: 0;
}
.lay-split[data-ratio="3-2"] > :first-child { flex-grow: 3;
}
.lay-split[data-ratio="3-2"] > :last-child { flex-grow: 2;
}
.lay-split[data-ratio="2-1"] > :first-child, .lay-split[data-ratio="1-2"] > :last-child { flex-grow: 2;
}
.lay-sidebar { display: flex; flex-wrap: wrap; gap: var(--lay-gap, var(--gutter));
}
.lay-side { flex-basis: var(--lay-measure, var(--sidebar-w)); flex-grow: 1; min-inline-size: 0;
}
.lay-main { flex-basis: 0; flex-grow: 999; min-inline-size: 50%;
}
.lay-center { box-sizing: content-box; max-inline-size: var(--lay-measure, var(--measure)); margin-inline: auto; padding-inline: var(--lay-gap, var(--space-4));
}
.lay-cover { display: flex; flex-direction: column; gap: var(--lay-gap, var(--gutter)); min-block-size: 100svh;
}
.lay-cover[data-min="half"] { min-block-size: var(--hero-min-h);
}
.lay-principal { margin-block: auto;
}
.lay-frame { aspect-ratio: 16 / 9; overflow: hidden; display: flex; align-items: center; justify-content: center;
}
.lay-frame[data-aspect="square"] { aspect-ratio: 1;
}
.lay-frame[data-aspect="video"] { aspect-ratio: 16 / 9;
}
.lay-frame[data-aspect="photo"] { aspect-ratio: 4 / 3;
}
.lay-frame[data-aspect="wide"] { aspect-ratio: 21 / 9;
}
.lay-frame[data-aspect="portrait"] { aspect-ratio: 3 / 4;
}
.lay-frame[data-aspect="stories"] { aspect-ratio: 9 / 16;
}
.lay-frame > :is(img, video, picture) { inline-size: 100%; block-size: 100%; object-fit: cover;
}
.lay-reel { display: flex; gap: var(--lay-gap, var(--gutter)); overflow-x: auto; scroll-snap-type: inline mandatory; overscroll-behavior-inline: contain;
}
.lay-reel > * { flex: 0 0 var(--lay-measure, var(--bp-xs)); scroll-snap-align: start;
}
.lay-sticky { position: sticky; inset-block-start: 0; z-index: 1;
}
.lay-sticky[data-edge="bottom"] { inset-block: auto 0;
}
.lay-container { container-type: inline-size; min-inline-size: 0;
}
  .lay-mosaic {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(var(--bento-min), 100%), 1fr));
  grid-template-rows: masonry;
  gap: var(--gutter);
  min-inline-size: 0;
}
@supports not (grid-template-rows: masonry) {.lay-mosaic { grid-template-rows: auto; align-items: start;
}
}
.lay-scroll-snap {
  display: flex; flex-direction: column;
  overflow-y: auto; scroll-snap-type: y mandatory;
  overscroll-behavior-y: contain;
  min-block-size: 0; max-block-size: 100svh;
}
.lay-scroll-snap > * { scroll-snap-align: start; flex-shrink: 0; min-block-size: 100svh;
}
.lay-scroll-snap-inline {
  display: flex;
  overflow-x: auto; scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  min-inline-size: 0; max-inline-size: 100%;
}
.lay-scroll-snap-inline > * { scroll-snap-align: start; flex: 0 0 100%; min-inline-size: 100%;
}
.lay-full-bleed { margin-inline: calc(50% - 50vw); inline-size: 100vw; box-sizing: border-box; min-inline-size: 0;
}
.lay-prose {
  display: flex;
  flex-direction: column;
  max-inline-size: var(--lay-measure, var(--measure));
  min-inline-size: 0;
  line-height: var(--lh-body);
}
.lay-prose > :where(h1, h2, h3, h4, h5, h6) {
  margin-block-start: var(--space-6);
  margin-block-end: var(--space-2);
  line-height: var(--lh-heading);
}
.lay-prose > :first-child { margin-block-start: 0;
}
.lay-prose > :where(p, ul, ol, dl, figure, pre, table) {
  margin-block-start: 0;
  margin-block-end: var(--space-4);
}
.lay-prose > :where(ul, ol) { padding-inline-start: var(--space-5);
}
.lay-prose > :where(blockquote) {
  margin-block: var(--space-4);
  padding-inline-start: var(--space-4);
  border-inline-start: var(--hair-2) solid var(--line-strong);
  color: var(--on-surface-muted);
}
.lay-prose > :where(hr) {
  border: 0;
  border-block-start: var(--hair) solid var(--line);
  margin-block: var(--space-6);
}
.lay-app-frame {
  display: grid;
  min-block-size: 100svh;
  container-type: inline-size;
  grid-template-areas:
    "head head head"
    "nav  main aside"
    "foot foot foot";
  grid-template-rows: auto 1fr auto;
  grid-template-columns: var(--sidebar-w, 16rem) minmax(0, 1fr) var(--affix-w, 18rem);
}
@container (inline-size < 48rem) {.lay-app-frame {
    grid-template-areas:
      "head"
      "nav"
      "main"
      "aside"
      "foot";
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto 1fr auto auto;
}
}
.lay-app-frame > [data-zone="head"] { grid-area: head;
}
.lay-app-frame > [data-zone="nav"] { grid-area: nav;
}
.lay-app-frame > [data-zone="main"] { grid-area: main; min-inline-size: 0;
}
.lay-app-frame > [data-zone="aside"] { grid-area: aside;
}
.lay-app-frame > [data-zone="foot"] { grid-area: foot;
}
.lay-triple { display: flex; flex-wrap: wrap; gap: var(--lay-gap, var(--gutter)); min-inline-size: 0;
}
.lay-triple > * { flex: 1 1 var(--lay-measure, var(--bp-xs)); min-inline-size: 0;
}
.lay-triple[data-ratio="1-2-1"] > :nth-child(2) { flex-grow: 2;
}
.lay-triple[data-ratio="2-1-1"] > :first-child { flex-grow: 2;
}
.lay-triple[data-ratio="1-1-2"] > :last-child { flex-grow: 2;
}
.lay-gallery {
  display: grid;
  gap: var(--lay-gap, var(--gutter));
  grid-template-columns: repeat(auto-fit, minmax(min(var(--lay-measure, var(--bp-xs)), 100%), 1fr));
  min-inline-size: 0;
}
.lay-gallery > * { aspect-ratio: var(--lay-aspect, 1); min-inline-size: 0;
}
.lay-switcher { display: flex; flex-direction: column; gap: var(--lay-gap, var(--gutter)); min-inline-size: 0;
}
@container (inline-size >= 36rem) {.lay-switcher { flex-direction: row; flex-wrap: wrap;
}
.lay-switcher > * { flex: 1 1 var(--lay-measure, var(--bp-sm)); min-inline-size: 0;
}
}
.lay-card-grid {
  display: grid;
  gap: var(--lay-gap, var(--gutter));
  grid-template-columns: repeat(auto-fit, minmax(min(var(--lay-measure, var(--bp-xs)), 100%), 1fr));
  align-items: stretch;
  min-inline-size: 0;
}
.lay-card-grid > * { min-inline-size: 0;
}
@supports (grid-template-rows: subgrid) {.lay-card-grid[data-subgrid="row"] {
    grid-auto-rows: auto 1fr auto;
}
.lay-card-grid[data-subgrid="row"] > .card {
    grid-row: span 3;
    display: grid;
    grid-template-rows: subgrid;
}
}
.lay-breakout {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  inline-size: 100%;
  max-inline-size: var(--page-max, 90rem);
  margin-inline: auto;
  min-inline-size: 0;
}
.lay-breakout > * {
  inline-size: 100%;
  max-inline-size: min(100%, var(--measure, 68ch));
  margin-inline: auto;
  min-inline-size: 0;
}
.lay-breakout > .lay-breakout-wide,
.lay-breakout > [data-breakout="wide"],
.lay-breakout > .lay-card-grid,
.lay-breakout > .lay-feature-grid,
.lay-breakout > .lay-cluster,
.lay-breakout > .feature-duo,
.lay-breakout > .bento-showcase {
  max-inline-size: 100%;
}
.lay-breakout > .lay-breakout-full,
.lay-breakout > [data-breakout="full"] {
  max-inline-size: 100vw;
}
@keyframes l-reading-progress {
  to { transform: scaleX(1); }
}
/* ── Layout regions (L2 · view::ui::region). Shell landmarks,
toolbar,
section,
panel {
  display: grid; min-block-size: 100svh;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "header" "main" "footer";
  grid-template-rows: auto 1fr auto;
}
.r-lead { margin: 0; color: var(--muted); max-inline-size: var(--measure);
}
.r-panel { border: var(--hair) solid var(--border); border-radius: var(--radius-md); background: var(--surface-1); min-inline-size: 0;
}
.r-panel-body { padding: var(--space-4);
}
.r-panel[data-pad="compact"] .r-panel-body { padding: var(--space-2);
}
.r-panel[data-pad="roomy"]   .r-panel-body { padding: var(--space-6);
}
.r-mh-link {
  display: inline-flex; align-items: center; padding: var(--space-1) var(--space-3);
  font-size: var(--text-sm); font-weight: 500; color: var(--on-surface-muted);
  border-radius: var(--radius-sm); text-decoration: none;
  transition: color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.r-mh-link:hover { color: var(--on-surface); background: var(--surface-hover); text-decoration: none;
}
.r-mh-link.active { color: var(--accent); font-weight: 600; background: var(--surface-hover);
}
.r-hero > .page-title { margin: 0; font-size: var(--text-title); line-height: 1.1;
}}
@layer components {
@scope (.btn) {
  :scope[data-variant="ghost"] { --btn-bd: transparent; --btn-bg: transparent; }
  :scope[data-variant="ghost"]:hover { --btn-bg: var(--surface-hover); }
  :scope[data-variant="outline"] { --btn-bg: transparent; }
  :scope:focus-visible { outline: var(--focus-w) solid var(--focus-ring); outline-offset: var(--hair-2); }
  .kbd-btn {
    margin-inline-start: var(--space-2);
    font-size: var(--text-2xs);
    padding-inline: var(--space-1);
    padding-block: 0;
    background: rgba(255, 255, 255, 0.2);
    border: var(--hair) solid rgba(255, 255, 255, 0.3);
    border-radius: var(--radius-xs);
    color: inherit;
  }
}
@scope (.toast-wrap) {
  :scope { --toast-ttl: 6s; inset-block-end: var(--space-4); inset-inline-end: var(--space-4); max-inline-size: calc(100vw - var(--space-6)); }
  :scope[data-inline] { position: static; pointer-events: auto; }
  .toast {
    min-inline-size: min(18rem, 100%); max-inline-size: 28rem;
    border-inline-start: var(--hair-2) solid var(--intent, var(--accent));
    animation: toast-in var(--dur-base) var(--ease-spring), toast-out var(--dur-base) var(--ease) var(--toast-ttl) forwards;
  }
  :scope[data-inline] .toast { animation: none; }
  .toast-dot {
    flex: none; inline-size: var(--space-2); block-size: var(--space-2);
    border-radius: var(--radius-pill); background: var(--intent, var(--accent));
  }
  .toast-body { min-inline-size: 0; line-height: var(--lh-snug); overflow-wrap: anywhere; }
  .toast-action {
    margin-inline-start: auto;
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--intent, var(--accent));
    background: transparent;
    border: 0;
    cursor: pointer;
    text-decoration: underline;
    padding: 0 var(--space-1);
    white-space: nowrap;
  }
}
@keyframes toast-out { to { opacity: 0; visibility: hidden; }
}
@scope (.hotkey) { :scope { display: contents; }
}
@scope (.key-item) {:scope { display: contents;
}
:scope[aria-current="true"] > * { outline: var(--focus-w) solid var(--focus-ring); outline-offset: var(--hair-2); border-radius: var(--radius);
}
}
@scope (.key-help) {:scope {
    padding: var(--space-0); border: var(--hair) solid var(--line-strong); border-radius: var(--radius-lg);
    background: var(--surface-1); color: var(--on-surface); box-shadow: var(--elev-3, var(--elev-1));
    inline-size: min(28rem, calc(100vw - var(--space-6)));
}
:scope::backdrop { background: color-mix(in oklab, var(--surface-page) 60%, transparent);
}
dd { margin: 0; color: var(--on-surface-muted); font-size: var(--text-sm);
}
kbd {
    display: inline-flex; min-inline-size: var(--space-6); justify-content: center;
    padding: var(--space-0) var(--space-2); border: var(--hair) solid var(--line-strong);
    border-block-end-width: var(--hair-2); border-radius: var(--radius-sm);
    font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--text-xs);
}
button { justify-self: end; align-self: end;
}
}
@scope (.panel-group) {
  :scope {
    container-type: inline-size;
    --panel-group-handle: 0.75rem;
  }
  .panel-group-track {
    display: grid;
    grid-template-columns: minmax(0, var(--panel-group-start, 50%)) var(--panel-group-handle) minmax(0, 1fr);
    align-items: start;
  }
  :scope[data-panel-group-state$="c"] .panel-group-track {
    grid-template-columns: minmax(0, 1fr) var(--panel-group-handle) 0;
  }
  :scope[data-panel-group-state$="c"] [data-panel-group-pane="end"] {
    display: none;
  }
  :scope[data-orientation="vertical"] .panel-group-track {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, var(--panel-group-start, 50%)) var(--panel-group-handle) minmax(0, 1fr);
  }
  :scope[data-orientation="vertical"] .panel-group-handle {
    cursor: row-resize;
    inline-size: 100%;
    block-size: var(--panel-group-handle);
    flex-direction: row;
    position: relative;
    top: auto;
  }
  :scope[data-orientation="vertical"] .panel-group-grip {
    inline-size: 3rem;
    block-size: calc(var(--hair) * 2);
    min-block-size: 0;
  }
  .panel-group-pane {
    min-width: 0;
  }
  .panel-group-handle {
    position: sticky;
    top: var(--space-4, 1rem);
    align-self: stretch;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2, 0.5rem);
    padding-block: var(--space-2, 0.5rem);
    cursor: col-resize;
    touch-action: none;
    border-radius: var(--radius-sm);
  }
  .panel-group-grip {
    inline-size: calc(var(--hair) * 2);
    flex: 1;
    min-block-size: 3rem;
    background: var(--border, currentColor);
    opacity: 0.5;
    border-radius: var(--hair);
  }
  .panel-group-handle:hover .panel-group-grip,
  .panel-group-handle:focus-visible .panel-group-grip {
    background: var(--accent, currentColor);
    opacity: 1;
  }
  .panel-group-handle:focus-visible {
    outline: calc(var(--hair) * 2) solid var(--focus, var(--accent, currentColor));
    outline-offset: var(--hair);
  }
  .panel-group-toggle {
    inline-size: 1.25rem;
    block-size: 1.25rem;
    padding: 0;
    border: var(--hair) solid var(--border, currentColor);
    border-radius: var(--radius-sm);
    background: var(--surface, transparent);
    color: inherit;
    cursor: pointer;
  }
  .panel-group-toggle::before {
    content: "›";
    display: block;
    line-height: 1;
  }
  :scope[data-panel-group-state$="c"] .panel-group-toggle::before {
    content: "‹";
  }
  @container (max-width: 48rem) {
    .panel-group-track,
    :scope[data-panel-group-state$="c"] .panel-group-track {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--space-4, 1rem);
    }
    .panel-group-handle {
      display: none;
    }
    :scope[data-panel-group-state$="c"] [data-panel-group-pane="end"] {
      display: block;
    }
  }
}
@scope (.data-table, .data-table) {
  :scope {
    display: grid;
    gap: var(--space-2);
    --table-density: var(--density-data, 0.85);
  }
  .data-table-scroll {
    overflow-x: auto;
    border: var(--hair) solid var(--line);
    border-radius: var(--radius-sm);
  }
  .data-table-table {
    inline-size: 100%;
    border-collapse: collapse;
    font-variant-numeric: tabular-nums;
  }
  th,
  td {
    padding-block: calc(var(--space-2) * var(--table-density));
    padding-inline: calc(var(--space-3) * var(--table-density));
    text-align: start;
    border-block-end: var(--hair) solid var(--line);
    vertical-align: middle;
  }
  thead th {
    position: sticky;
    inset-block-start: 0;
    background: var(--surface-2);
    color: var(--muted);
    font-weight: 600;
    white-space: nowrap;
  }
  :scope[data-pinned-col="true"] th:first-child,
  :scope[data-pinned-col="true"] td:first-child {
    position: sticky;
    inset-inline-start: 0;
    z-index: 1;
    background: var(--surface-1);
    box-shadow: var(--hair) 0 0 var(--line);
  }
  [data-align="end"] {
    text-align: end;
  }
  [data-align="center"] {
    text-align: center;
  }
  .num {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }
  tbody tr:last-child td {
    border-block-end: 0;
  }
  tbody tr:hover td {
    background: color-mix(in srgb, var(--accent) 6%, transparent);
  }
  tbody tr:has(.data-table-sel input:checked) td {
    background: color-mix(in srgb, var(--accent) 12%, transparent);
  }
  .data-table-sel {
    inline-size: 2.5rem;
  }
  .data-table-sort {
    color: inherit;
    text-decoration: none;
  }
  [aria-sort="ascending"] .data-table-sort::after {
    content: " ↑";
  }
  [aria-sort="descending"] .data-table-sort::after {
    content: " ↓";
  }
  .data-table-bulk {
    display: none;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
    background: var(--surface-2);
  }
  :scope:has(tbody .data-table-sel input:checked) .data-table-bulk {
    display: flex;
  }
  .data-table-count {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }
  .data-table-count:empty,
  .data-table-count:empty + .data-table-count-label {
    display: none;
  }
  .data-table-empty,
  .data-table-error {
    padding-block: var(--space-4);
    text-align: center;
    color: var(--muted);
  }
  .data-table-error {
    color: var(--danger);
  }
  .data-table-skel td {
    border-block-end-color: transparent;
  }
  .data-table-bar {
    display: block;
    block-size: 0.75rem;
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--muted) 18%, transparent);
    animation: dt-pulse 1.4s ease-in-out infinite;
  }
}
@keyframes dt-pulse {
  50% {
    opacity: 0.45;
  }
}
@scope (.overlay, .overlay) {
  :scope {
    display: none;
    position: fixed;
    inset: auto;
    margin: 0;
    position-area: block-end span-inline-end;
    position-try-fallbacks: flip-block, flip-inline;
    margin-block-start: var(--space-1);
    min-inline-size: 12rem;
    max-inline-size: min(28rem, calc(100vw - var(--space-4)));
    max-block-size: min(24rem, 60vh);
    overflow: auto;
    padding: var(--space-2);
    border: var(--hair) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface-2);
    color: inherit;
    box-shadow: var(--shadow-lg);
  }
  :is(:scope:popover-open, :scope[open], :scope[data-vf-open]) {
    display: block;
  }
  :scope:is(.overlay-menu, .overlay-list) {
    padding: var(--space-1);
  }
  :is(:scope.overlay-menu, :scope.overlay-list):is(:popover-open, [open], [data-vf-open]) {
    display: grid;
  }
  .overlay-form {
    display: contents;
  }
  .overlay-item {
    display: block;
    inline-size: 100%;
    padding-block: var(--space-1);
    padding-inline: var(--space-2);
    border: 0;
    border-radius: var(--radius-sm);
    background: none;
    color: inherit;
    font: inherit;
    text-align: start;
    text-decoration: none;
    cursor: pointer;
  }
  .overlay-item:hover,
  .overlay-item:focus-visible,
  .overlay-item[aria-selected="true"] {
    background: color-mix(in srgb, var(--accent) 14%, transparent);
    outline: none;
  }
  .overlay-item[data-tone="danger"] {
    color: var(--danger);
  }
  .overlay-item[aria-disabled="true"] {
    opacity: 0.5;
    cursor: default;
  }
  .overlay-sep {
    margin-block: var(--space-1);
    border: 0;
    border-block-start: var(--hair) solid var(--line);
  }
}
@scope (.combobox, .combobox) {:scope {
    position: relative;
}
.overlay-list {
    min-inline-size: anchor-size(inline);
}
}
@scope (.log) {
  :scope {
    display: grid;
    gap: var(--space-1);
    min-inline-size: 0;
  }
  .log-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    color: var(--muted);
    font-size: 0.85em;
  }
  .log-wrap {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    cursor: pointer;
  }
  .log-filter {
    inline-size: auto;
    flex: 1 1 10rem;
    max-inline-size: 16rem;
  }
  .log-count {
    margin-inline-start: auto;
    font-variant-numeric: tabular-nums;
  }
  .log-count::after {
    content: " ≡";
  }
  .log-follow {
    color: var(--ok);
  }
  .log-lines {
    margin: 0;
    padding-block: var(--space-2);
    padding-inline: 0;
    list-style: none;
    max-block-size: min(28rem, 60vh);
    overflow: auto;
    border: var(--hair) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface-1);
    font-family: var(--font-mono);
    font-size: 0.8125em;
    line-height: 1.5;
    white-space: pre;
  }
  :scope:has(.log-wrap-box:checked) .log-lines {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }
  .log-line {
    counter-increment: lv;
    padding-inline-end: var(--space-3);
  }
  .log-line::before {
    content: counter(lv);
    display: inline-block;
    min-inline-size: 4ch;
    margin-inline-end: var(--space-3);
    padding-inline: var(--space-2);
    color: var(--muted);
    text-align: end;
    user-select: none;
  }
  .log-line[data-level="error"] {
    color: var(--danger);
    background: color-mix(in srgb, var(--danger) 8%, transparent);
  }
  .log-line[data-level="warn"] {
    color: var(--warn);
  }
  .log-line[hidden] {
    display: none;
  }
}
@scope (.diff) {
  :scope {
    display: grid;
    gap: var(--space-2);
    min-inline-size: 0;
  }
  .diff-sum {
    margin: 0;
    color: var(--muted);
    font-size: 0.85em;
  }
  .diff-files {
    font-weight: 600;
    color: var(--text);
  }
  .diff-row {
    vertical-align: top;
  }
  .diff-add {
    color: var(--ok);
    font-variant-numeric: tabular-nums;
  }
  .diff-del {
    color: var(--danger);
    font-variant-numeric: tabular-nums;
  }
  .diff-file {
    border: var(--hair) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface-1);
    min-inline-size: 0;
  }
  .diff-head {
    padding-block: var(--space-1);
    padding-inline: var(--space-2);
    cursor: pointer;
    font-family: var(--font-mono);
    font-size: 0.85em;
    background: var(--surface-2);
  }
  .diff-path {
    overflow-wrap: anywhere;
  }
  .diff-scroll {
    overflow-x: auto;
  }
  .diff-table {
    inline-size: 100%;
    border-collapse: collapse;
    font-family: var(--font-mono);
    font-size: 0.8125em;
    line-height: 1.45;
  }
  .diff-no {
    inline-size: 1%;
    padding-inline: var(--space-2);
    color: var(--muted);
    text-align: end;
    font-variant-numeric: tabular-nums;
    user-select: none;
    white-space: nowrap;
  }
  .diff-code {
    padding-inline-end: var(--space-3);
    white-space: pre;
  }
  .diff-code::before {
    content: attr(data-mark);
    display: inline-block;
    inline-size: 2ch;
    color: var(--muted);
    user-select: none;
  }
  [data-k="add"] {
    background: color-mix(in srgb, var(--ok) 12%, transparent);
  }
  [data-k="del"] {
    background: color-mix(in srgb, var(--danger) 12%, transparent);
  }
  .diff-hunk {
    padding-block: var(--space-1);
    padding-inline: var(--space-2);
    color: var(--muted);
    background: color-mix(in srgb, var(--accent) 8%, transparent);
    white-space: pre;
  }
  .diff-note {
    margin: 0;
    padding: var(--space-2);
    color: var(--muted);
    font-size: 0.85em;
  }
}
@scope (.fieldset) {
  :scope {
    display: grid;
    gap: var(--space-2);
    margin: 0;
    padding: var(--space-3);
    border: var(--hair) solid var(--line);
    border-radius: var(--radius-sm);
    min-inline-size: 0;
  }
  .fieldset-legend {
    padding-inline: var(--space-1);
    font-weight: 600;
  }
  .fieldset-hint {
    margin: 0;
    color: var(--muted);
    font-size: 0.85em;
  }
  .fieldset-body {
    display: grid;
    gap: var(--space-3);
  }
}
@scope (.field, .form-field) {:scope {
    display: grid;
    gap: var(--space-1);
    min-inline-size: 0;
}
.field-label {
    font-weight: 500;
}
:scope[data-invalid="true"] .input {
    border-color: var(--danger);
    box-shadow: 0 0 0 var(--hair) var(--danger);
}
.input-group {
    display: flex;
    align-items: stretch;
    min-inline-size: 0;
}
.input-group .input {
    flex: 1 1 auto;
    min-inline-size: 0;
    border-radius: 0;
}
.input-group > :first-child {
    border-start-start-radius: var(--radius-sm);
    border-end-start-radius: var(--radius-sm);
}
.input-group > :last-child {
    border-start-end-radius: var(--radius-sm);
    border-end-end-radius: var(--radius-sm);
}
.field-reveal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--space-2);
    border: var(--hair) solid var(--line);
    border-inline-start: 0;
    border-start-end-radius: var(--radius-sm);
    border-end-end-radius: var(--radius-sm);
    background: var(--surface-2);
    color: var(--on-surface-muted);
    font-size: var(--text-xs);
    cursor: pointer;
}
.field-reveal:hover {
    background: var(--surface-hover);
    color: var(--on-surface);
}
.field-generate {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--space-2);
    border: var(--hair) solid var(--line);
    border-inline-start: 0;
    background: var(--surface-2);
    color: var(--on-surface-muted);
    font-size: var(--text-xs);
    cursor: pointer;
}
.field-generate:hover {
    background: var(--surface-hover);
    color: var(--accent);
}
.field-toggle input:not(:checked) ~ .field-toggle-state::after {
    content: attr(data-off);
}
}
@scope (.error-summary) {:scope {
    display: grid;
    gap: var(--space-1);
    padding: var(--space-3);
    border: var(--hair) solid var(--danger);
    border-inline-start-width: var(--space-1);
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--danger) 8%, transparent);
}
:scope:focus-visible {
    outline: var(--hair) solid var(--danger);
    outline-offset: var(--space-1);
}
}
@scope (.wizard) {:scope {
    display: grid;
    gap: var(--space-3);
}
.wizard-step {
    counter-increment: wz;
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    color: var(--muted);
}
.wizard-step::before {
    content: counter(wz);
    display: inline-grid;
    place-items: center;
    inline-size: 1.5rem;
    block-size: 1.5rem;
    border: var(--hair) solid var(--line);
    border-radius: 50%;
    font-size: 0.8em;
    font-variant-numeric: tabular-nums;
}
.wizard-step[data-state="done"]::before {
    content: "✓";
    border-color: var(--ok);
    color: var(--ok);
}
.wizard-step[data-state="current"] {
    color: inherit;
    font-weight: 600;
}
.wizard-step[data-state="current"]::before {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--surface-1);
}
.wizard-form {
    display: grid;
    gap: var(--space-3);
}
}
@keyframes md-pulse {
  50% { opacity: 0.4; }
}
@scope (.card) {
  :scope {
    display: flex;
    flex-direction: column;
    min-inline-size: 0;
    border: var(--hair) solid var(--card-border, var(--line));
    border-radius: var(--card-radius, var(--radius));
    background: var(--card-bg, var(--surface-1));
    box-shadow: var(--card-shadow, var(--elev-1));
    overflow: hidden;
  }
  :scope[data-variant="interactive"] {
    transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
    cursor: pointer;
  }
  :scope[data-variant="interactive"]:hover {
    transform: translateY(calc(var(--hair) * -2));
    box-shadow: var(--elev-2);
    border-color: var(--card-border-hover, var(--line-strong));
  }
  :scope[data-variant="glass"] {
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-color: var(--glass-border);
  }
  :scope[data-variant="highlight"] {
    box-shadow: var(--elev-highlight), var(--card-shadow, var(--elev-1));
  }
  .card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    border-block-end: var(--hair) solid var(--line);
  }
  .card-title {
    margin: 0;
    font-size: var(--text-md);
    font-weight: 600;
  }
  .card-actions {
    display: flex;
    align-items: center;
    gap: var(--space-1);
  }
  .card-body {
    padding: var(--card-pad, var(--space-4));
    min-inline-size: 0;
  }
  .card-media {
    aspect-ratio: 16 / 9;
    overflow: hidden;
  }
  .card-media > :is(img, video, picture) {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
}
@scope (.empty-cta) {
  :scope {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--space-2);
    padding: var(--space-8) var(--space-4);
    border: var(--hair) dashed var(--line-strong);
    border-radius: var(--radius-lg);
    background: var(--surface-2);
    min-inline-size: 0;
  }
  .empty-cta-icon {
    font-size: var(--text-2xl);
    line-height: var(--lh-none);
    margin-block-end: var(--space-1);
    color: var(--on-surface-muted);
  }
  .empty-cta-title {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: 600;
  }
  .empty-cta-hint {
    margin: 0;
    max-inline-size: var(--measure);
    font-size: var(--text-sm);
    color: var(--on-surface-muted);
  }
  .empty-cta-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    margin-block-start: var(--space-3);
  }
}
@scope (.avatar) {
  :scope {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border-radius: 50%;
    background: var(--surface-sunken);
    color: var(--on-surface);
    font-size: var(--text-xs);
    font-weight: 600;
    overflow: hidden;
    user-select: none;
    flex-shrink: 0;
  }
  :scope[data-size="xs"] { inline-size: 1.5rem; block-size: 1.5rem; font-size: var(--text-3xs); }
  :scope[data-size="sm"] { inline-size: 1.875rem; block-size: 1.875rem; font-size: var(--text-2xs); }
  :scope[data-size="lg"] { inline-size: 3rem; block-size: 3rem; font-size: var(--text-sm); }
  :scope[data-size="xl"] { inline-size: 4rem; block-size: 4rem; font-size: var(--text-md); }
  .avatar-img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
  .avatar-fallback {
    text-transform: uppercase;
    line-height: 1;
  }
}
@scope (.avatar-wrap) {:scope {
    position: relative;
    display: inline-flex;
}
}
@scope (.avatar-group) {:scope {
    display: inline-flex;
    align-items: center;
    flex-direction: row;
}
:scope > .avatar {
    margin-inline-start: calc(-0.5rem);
    box-shadow: 0 0 0 var(--hair-2) var(--surface-page);
}
:scope > .avatar:first-child {
    margin-inline-start: 0;
}
}
@scope (.chip) {
  :scope {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 0 var(--space-2);
    block-size: 1.5rem;
    border-radius: var(--radius-pill);
    background: var(--surface-2);
    border: var(--hair) solid var(--line);
    font-size: var(--text-xs);
    font-weight: 500;
    color: var(--on-surface);
  }
  .chip-dismiss {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 1rem;
    block-size: 1rem;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--on-surface-muted);
    font-size: var(--text-3xs);
    cursor: pointer;
    padding: 0;
    line-height: 1;
  }
  .chip-dismiss:hover {
    background: var(--surface-hover);
    color: var(--on-surface);
  }
}
@scope (.progress) {
  :scope {
    display: block;
    inline-size: 100%;
    block-size: 0.5rem;
    border-radius: var(--radius-pill);
    background: var(--surface-sunken);
    overflow: hidden;
    border: 0;
  }
  :scope::-webkit-progress-bar {
    background: var(--surface-sunken);
    border-radius: var(--radius-pill);
  }
  :scope::-webkit-progress-value {
    background: var(--accent);
    border-radius: var(--radius-pill);
    transition: inline-size var(--dur) var(--ease);
  }
  :scope::-moz-progress-bar {
    background: var(--accent);
    border-radius: var(--radius-pill);
  }
  :scope[data-tone="ok"]::-webkit-progress-value { background: var(--ok); }
  :scope[data-tone="warn"]::-webkit-progress-value { background: var(--warn); }
  :scope[data-tone="danger"]::-webkit-progress-value { background: var(--danger); }
}
@scope (.breadcrumb) {
  :scope {
    display: flex;
    align-items: center;
    gap: var(--space-2);
  }
  .breadcrumb-link {
    color: var(--on-surface-muted);
    text-decoration: none;
  }
  .breadcrumb-link:hover {
    color: var(--accent);
    text-decoration: underline;
  }
  .breadcrumb-current {
    color: var(--on-surface);
    font-weight: 600;
  }
}
@scope (.pagination) {
  :scope {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-1);
    user-select: none;
  }
}
@scope (.accordion) {
  :scope {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-inline-size: 0;
  }
  .accordion-item {
    border: var(--hair) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface-1);
    overflow: hidden;
  }
  .accordion-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-3) var(--space-4);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    background: var(--surface-2);
  }
  .accordion-head:hover {
    background: var(--surface-hover);
  }
}
@scope (.tabs) {
  :scope {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-inline-size: 0;
  }
  .tabs-radio {
    position: absolute;
    inline-size: var(--hair);
    block-size: var(--hair);
    opacity: 0;
    pointer-events: none;
  }
  .tabs-radio:checked + .tabs-label {
    color: var(--accent);
    font-weight: 600;
    border-block-end-color: var(--accent);
  }
  .tabs-panel {
    display: block;
    min-inline-size: 0;
  }
}
@scope (.skeleton) {
  :scope {
    display: block;
    block-size: 1rem;
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--on-surface) 8%, transparent);
    animation: sk-shimmer 1.5s ease-in-out infinite;
  }
}
@keyframes sk-shimmer {
  50% { opacity: 0.4; }
}
@scope (.skeleton-text) {:scope {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-inline-size: 0;
}
.skeleton-line {
    block-size: 0.75rem;
}
}
@scope (.skeleton-card) {:scope {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    padding: var(--space-4);
    border: var(--hair) solid var(--line);
    border-radius: var(--radius);
    background: var(--surface-1);
    min-inline-size: 0;
}
.skeleton-line {
    block-size: 0.75rem;
}
}
@scope (.notice) {
  :scope {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-sm);
    border: var(--hair) solid var(--line);
    border-inline-start-width: var(--space-1);
    background: var(--surface-2);
    min-inline-size: 0;
  }
  :scope[data-tone="ok"] {
    border-inline-start-color: var(--ok);
    background: color-mix(in srgb, var(--ok) 8%, var(--surface-1));
  }
  :scope[data-tone="warn"] {
    border-inline-start-color: var(--warn);
    background: color-mix(in srgb, var(--warn) 8%, var(--surface-1));
  }
  :scope[data-tone="danger"] {
    border-inline-start-color: var(--danger);
    background: color-mix(in srgb, var(--danger) 8%, var(--surface-1));
  }
  :scope[data-tone="info"] {
    border-inline-start-color: var(--info);
    background: color-mix(in srgb, var(--info) 8%, var(--surface-1));
  }
  :scope[data-tone="accent"] {
    border-inline-start-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 8%, var(--surface-1));
  }
  .notice-title {
    margin: 0;
    font-size: var(--text-sm);
    font-weight: 600;
  }
  .notice-msg {
    margin: 0;
    font-size: var(--text-xs);
    color: var(--on-surface-muted);
    line-height: var(--lh-snug);
  }
}
@scope (.code) {
  :scope {
    position: relative;
  }
  .code-copy {
    position: absolute;
    inset-block-start: var(--space-2);
    inset-inline-end: var(--space-2);
    padding: var(--space-1) var(--space-2);
    border: var(--hair) solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface-2);
    color: var(--on-surface-muted);
    font-size: var(--text-3xs);
    font-weight: 600;
    cursor: pointer;
    line-height: 1;
    opacity: 0.7;
    transition: opacity var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
  }
  .code-copy:hover {
    opacity: 1;
    background: var(--surface-hover);
    color: var(--on-surface);
  }
  .code-copy[data-state="copied"] {
    background: var(--tone-ok-soft);
    color: var(--ok);
    border-color: var(--ok);
  }
}
@keyframes status-dot-pulse {
  50% { opacity: 0.4; }
}
@scope (.kbd) {
  :scope {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 1.25rem;
    padding: 0 var(--space-1);
    block-size: 1.25rem;
    border: var(--hair) solid var(--line-strong);
    border-block-end-width: var(--hair-2);
    border-radius: var(--radius-sm);
    background: var(--surface-2);
    color: var(--on-surface-muted);
    font-family: var(--font-mono);
    font-size: var(--text-3xs);
    font-weight: 600;
    line-height: 1;
    user-select: none;
  }
}
@scope (.kbd-combo) {:scope {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
}
}
@scope (.timeline) {
  :scope {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-inline-size: 0;
    padding-inline-start: var(--space-4);
  }
  .timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
    padding-inline-start: var(--space-5);
    padding-block-end: var(--space-5);
    border-inline-start: var(--hair) solid var(--line);
  }
  .timeline-item:last-child {
    border-inline-start-color: transparent;
    padding-block-end: 0;
  }
  .timeline-dot {
    position: absolute;
    inset-inline-start: calc(var(--space-2) * -1 - var(--hair));
    inset-block-start: 0.125rem;
    inline-size: 0.75rem;
    block-size: 0.75rem;
    border-radius: 50%;
    border: var(--hair-2) solid var(--surface-1);
    background: var(--intent, var(--accent));
    box-shadow: 0 0 0 var(--hair) var(--line);
  }
  .timeline-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-2);
  }
  .timeline-title {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--on-surface);
  }
  .timeline-time {
    font-size: var(--text-3xs);
    color: var(--on-surface-muted);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }
}
@scope (.action-bar) {
  :scope {
    position: sticky;
    inset-block-end: var(--space-4);
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-lg);
    background: var(--surface-1);
    border: var(--hair) solid var(--line-strong);
    box-shadow: var(--elev-3);
    z-index: 50;
    max-inline-size: min(48rem, calc(100% - var(--space-4)));
    backdrop-filter: var(--float-blur);
  }
}
@scope (.divider-label) {
  :scope {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-block: var(--space-4);
    min-inline-size: 0;
  }
  :scope::before, :scope::after {
    content: "";
    flex: 1 1 0;
    block-size: var(--hair);
    background: var(--line);
  }
}
@scope (.rating) {
  :scope {
    display: inline-flex;
    align-items: center;
    gap: var(--space-0);
    color: var(--warn);
    font-size: var(--text-sm);
    line-height: 1;
    user-select: none;
  }
}
@scope (.color-swatch) {
  :scope {
    border: 0;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }
}
@scope (.hero-banner) {
  :scope {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: calc(var(--space-3) * var(--density-hero, 1.05));
    padding-block: calc(var(--space-8) * var(--density-hero, 1.05))
      calc(var(--space-6) * var(--density-hero, 1.05));
    padding-inline: var(--space-4);
    min-inline-size: 0;
  }
}
@scope (.tree-view) {
  :scope {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    min-inline-size: 0;
  }
  .tree-folder {
    border: 0;
    margin: 0;
    padding: 0;
  }
  .tree-folder > summary {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    cursor: pointer;
    user-select: none;
    color: var(--on-surface);
    font-weight: 600;
  }
  .tree-folder > summary:hover {
    background: var(--surface-hover);
  }
  .tree-children {
    list-style: none;
    margin: 0;
    padding: 0;
    padding-inline-start: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-0);
    border-inline-start: var(--hair) solid var(--line);
    margin-inline-start: var(--space-2);
  }
}
@scope (.drawer) {
  :scope {
    position: fixed;
    inset-block: 0;
    inset-inline-end: 0;
    margin: 0;
    inline-size: min(28rem, calc(100vw - var(--space-4)));
    max-block-size: 100svh;
    block-size: 100svh;
    padding: 0;
    border: 0;
    border-inline-start: var(--hair) solid var(--line-strong);
    background: var(--surface-1);
    box-shadow: var(--elev-3);
    overflow: hidden;
    color: var(--on-surface);
  }
  :scope[data-side="start"] {
    inset-inline-end: auto;
    inset-inline-start: 0;
    border-inline-start: 0;
    border-inline-end: var(--hair) solid var(--line-strong);
  }
  :scope::backdrop {
    background: color-mix(in oklab, var(--surface-page) 60%, transparent);
    backdrop-filter: blur(var(--space-1));
  }
  .drawer-box {
    display: flex;
    flex-direction: column;
    block-size: 100%;
    min-inline-size: 0;
  }
  .drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-4);
    border-block-end: var(--hair) solid var(--line);
    background: var(--surface-2);
  }
  .drawer-title {
    margin: 0;
    font-size: var(--text-md);
    font-weight: 700;
  }
  .drawer-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 1.75rem;
    block-size: 1.75rem;
    padding: 0;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--on-surface-muted);
    font-size: var(--text-sm);
    cursor: pointer;
    line-height: 1;
  }
  .drawer-close:hover {
    background: var(--surface-hover);
    color: var(--on-surface);
  }
  .drawer-body {
    flex: 1 1 auto;
    padding: var(--space-4);
    overflow-y: auto;
    min-inline-size: 0;
  }
}
@scope (.callout) {
  :scope {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-4);
    border-radius: var(--radius);
    border: var(--hair) solid var(--line);
    background: var(--surface-2);
    min-inline-size: 0;
  }
  :scope[data-tone="info"] {
    border-color: color-mix(in srgb, var(--info) 40%, var(--line));
    background: color-mix(in srgb, var(--info) 8%, var(--surface-1));
  }
  :scope[data-tone="ok"] {
    border-color: color-mix(in srgb, var(--ok) 40%, var(--line));
    background: color-mix(in srgb, var(--ok) 8%, var(--surface-1));
  }
  :scope[data-tone="warn"] {
    border-color: color-mix(in srgb, var(--warn) 40%, var(--line));
    background: color-mix(in srgb, var(--warn) 8%, var(--surface-1));
  }
  :scope[data-tone="danger"] {
    border-color: color-mix(in srgb, var(--danger) 40%, var(--line));
    background: color-mix(in srgb, var(--danger) 8%, var(--surface-1));
  }
  .callout-actions {
    display: flex;
    margin-block-start: var(--space-2);
  }
}
@scope (.profile-card) {
  :scope {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-3);
    padding: var(--space-6) var(--space-4);
    border: var(--hair) solid var(--line);
    border-radius: var(--radius);
    background: var(--surface-1);
    box-shadow: var(--elev-1);
    min-inline-size: 0;
  }
}
@scope (.empty-filter) {
  :scope {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--space-2);
    padding: var(--space-6) var(--space-4);
    min-inline-size: 0;
  }
}
@scope (.hero-split) {
  :scope {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: var(--space-6);
    padding-block: var(--space-8) var(--space-6);
    min-inline-size: 0;
  }
  .hero-split-media {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--elev-2);
    min-inline-size: 0;
  }
  .hero-split-media > :is(img, video, picture) {
    inline-size: 100%;
    block-size: auto;
    object-fit: cover;
  }
  @container (inline-size < 48rem) {
    :scope {
      grid-template-columns: minmax(0, 1fr);
    }
  }
}
@scope (.status-tag) {
  :scope {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 0 var(--space-2);
    block-size: 1.375rem;
    border-radius: var(--radius-pill);
    background: var(--surface-2);
    border: var(--hair) solid var(--line);
    font-size: var(--text-2xs);
    font-weight: 600;
    color: var(--on-surface);
    white-space: nowrap;
  }
}
@scope (.modal-dialog) {
  :scope {
    position: fixed;
    inset-block-start: 20vh;
    margin-inline: auto;
    inline-size: min(32rem, calc(100vw - var(--space-4)));
    max-block-size: min(36rem, 75vh);
    padding: 0;
    border: var(--hair) solid var(--line-strong);
    border-radius: var(--radius-lg);
    background: var(--surface-1);
    box-shadow: var(--elev-3);
    overflow: hidden;
    color: var(--on-surface);
  }
  :scope::backdrop {
    background: color-mix(in oklab, var(--surface-page) 65%, transparent);
    backdrop-filter: blur(var(--space-1));
  }
  .modal-box {
    display: flex;
    flex-direction: column;
    min-inline-size: 0;
  }
  .modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    border-block-end: var(--hair) solid var(--line);
    background: var(--surface-2);
  }
  .modal-title {
    margin: 0;
    font-size: var(--text-md);
    font-weight: 700;
  }
  .modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 1.5rem;
    block-size: 1.5rem;
    padding: 0;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--on-surface-muted);
    cursor: pointer;
    font-size: var(--text-xs);
    line-height: 1;
  }
  .modal-close:hover {
    background: var(--surface-hover);
    color: var(--on-surface);
  }
  .modal-body {
    padding: var(--space-4);
    overflow-y: auto;
    min-inline-size: 0;
  }
}
@scope (.link-card) {
  :scope {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-5);
    border: var(--hair) solid var(--line);
    border-radius: var(--radius);
    background: var(--surface-1);
    text-decoration: none;
    color: inherit;
    transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
    min-inline-size: 0;
  }
  :scope:hover {
    border-color: var(--accent);
    transform: translateY(calc(var(--hair-2) * -1));
    box-shadow: var(--elev-2);
  }
  .link-card-arrow {
    font-size: var(--text-sm);
    color: var(--on-surface-muted);
    transition: transform var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
  }
  :scope:hover .link-card-arrow {
    color: var(--accent);
    transform: translateX(var(--space-1));
  }
}
@scope (.back-to-top) {
  :scope {
    position: fixed;
    inset-block-end: var(--space-4);
    inset-inline-end: var(--space-4);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border-radius: 50%;
    background: var(--surface-1);
    border: var(--hair) solid var(--line-strong);
    color: var(--on-surface);
    font-size: var(--text-sm);
    box-shadow: var(--elev-2);
    cursor: pointer;
    z-index: 90;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--dur-fast) var(--ease), visibility var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
  }
  :scope[data-visible="true"] {
    opacity: 0.85;
    visibility: visible;
  }
  :scope:hover {
    opacity: 1;
    transform: translateY(calc(var(--hair-2) * -1));
    border-color: var(--accent);
  }
}
@keyframes badge-pulse-anim {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.35;
    transform: scale(0.85);
  }
}
@scope (.quick-search) {
  :scope {
    display: flex;
    max-inline-size: 24rem;
  }
}
@scope (.lightbox-wrap) {
  :scope {
    display: inline-block;
  }
  .lightbox-thumb {
    cursor: zoom-in;
    border-radius: var(--radius-sm);
    transition: opacity var(--dur-fast) var(--ease);
  }
  .lightbox-thumb:hover {
    opacity: 0.9;
  }
}
@scope (.toc) {
  :scope {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }
  .toc-link {
    font-size: var(--text-xs);
    color: var(--on-surface-muted);
    text-decoration: none;
    padding-inline: var(--space-2);
    padding-block: var(--hair-2);
    border-inline-start: var(--hair-2) solid transparent;
    transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
  }
  .toc-link:hover,
  .toc-link[data-active] {
    color: var(--accent);
    border-inline-start-color: var(--accent);
  }
  .toc-link[data-active] {
    font-weight: 600;
  }
}
@scope (.audio-player) {
  :scope {
    inline-size: 100%;
    max-inline-size: 32rem;
    border-radius: var(--radius-pill);
  }
}
@scope (.video-player) {:scope {
    inline-size: 100%;
    max-inline-size: 100%;
    border-radius: var(--radius-md);
    background: var(--surface-sunken);
    box-shadow: var(--elev-1);
}
}
@scope (.dl) {
  :scope {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
  }
}
@scope (.color-palette) {
  :scope {
    border: none;
    padding: 0;
    margin: 0;
  }
}
@keyframes progress-slide {
  0% {
    inset-inline-start: -30%;
    inline-size: 30%;
  }
  50% {
    inset-inline-start: 40%;
    inline-size: 60%;
  }
  100% {
    inset-inline-start: 100%;
    inline-size: 30%;
  }
}
@keyframes spinner-rot {
  to {
    transform: rotate(360deg);
  }
}
@scope (.range-slider) {
  :scope {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    inline-size: 100%;
    max-inline-size: 24rem;
  }
  output {
    font-variant-numeric: tabular-nums;
    color: var(--on-surface-muted);
  }
  .range-slider-input {
    inline-size: 100%;
    accent-color: var(--accent);
    cursor: pointer;
  }
}
@scope (.bottom-sheet) {
  :scope {
    position: fixed;
    inset-block: auto 0;
    inset-inline: 0;
    max-inline-size: var(--page-max, 90rem);
    margin-inline: auto;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    border: var(--hair) solid var(--line);
    border-block-end: none;
    background: var(--surface-1);
    box-shadow: var(--elev-3);
    padding: var(--space-4);
    max-block-size: 85vh;
    max-block-size: 85dvh;
    overflow-y: auto;
  }
  :scope::backdrop {
    background: color-mix(in oklab, var(--surface-page) 60%, transparent);
    backdrop-filter: var(--glass-blur, var(--chrome-blur));
  }
  .sheet-grab {
    inline-size: 2.5rem;
    block-size: var(--hair-2);
    background: var(--line-strong);
    border-radius: var(--radius-pill, 999rem);
    margin-inline: auto;
    margin-block-end: var(--space-3);
  }
  .sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding-block-end: var(--space-3);
    border-block-end: var(--hair) solid var(--line);
  }
  .sheet-title {
    margin: 0;
    font-size: var(--text-md);
    font-weight: 700;
  }
  .sheet-body {
    padding-block-start: var(--space-4);
    min-inline-size: 0;
  }
}
@scope (.segmented-switch) {
  :scope {
    display: inline-flex;
    align-items: center;
    background: var(--surface-sunken);
    padding: var(--hair-2);
    border: var(--hair) solid var(--line);
    border-radius: var(--radius-pill, 999rem);
    gap: var(--hair);
  }
}
@scope (.field-floating) {
  :scope {
    position: relative;
    padding-block-start: var(--space-2);
  }
}
@scope (.code-block) {
  :scope {
    position: relative;
    display: flex;
    flex-direction: column;
    border: var(--hair) solid var(--line);
    border-radius: var(--radius);
    background: var(--surface-sunken);
    overflow: hidden;
  }
  .code-block-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background: var(--surface-1);
    border-block-end: var(--hair) solid var(--line);
    font-size: var(--text-xs);
  }
  .code-filename {
    font-family: var(--font-mono, monospace);
    font-weight: 600;
    color: var(--on-surface);
  }
  .code-lang-badge {
    font-size: var(--text-3xs);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--on-surface-muted);
    letter-spacing: var(--tracking-eyebrow);
  }
  .code-block-body {
    margin: 0;
    padding: var(--space-4);
    overflow-x: auto;
    font-family: var(--font-mono, monospace);
    font-size: var(--text-sm);
    line-height: var(--lh-ui);
    color: var(--on-surface);
  }
}
@scope (.key-help) {
  :scope {
    padding: var(--space-0); border: var(--hair) solid var(--line-strong); border-radius: var(--radius-lg);
    background: var(--surface-1); color: var(--on-surface); box-shadow: var(--elev-3, var(--elev-1));
    inline-size: min(28rem, calc(100vw - var(--space-6)));
  }
  :scope::backdrop { background: color-mix(in oklab, var(--surface-page) 60%, transparent); }
  .key-help-body { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--pad-panel); }
  .key-help-title { font-size: var(--text-md); line-height: var(--lh-heading); }
  .key-help-list { display: grid; gap: var(--space-2); margin: 0; }
  .key-help-list > div { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: var(--space-3); align-items: center; }
  dd { margin: 0; color: var(--on-surface-muted); font-size: var(--text-sm); }
  kbd {
    display: inline-flex; min-inline-size: var(--space-6); justify-content: center;
    padding: var(--space-0) var(--space-2); border: var(--hair) solid var(--line-strong);
    border-block-end-width: var(--hair-2); border-radius: var(--radius-sm);
    font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--text-xs);
  }
  button { justify-self: end; align-self: end; }
}
@scope (.file-drop) {:scope {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--space-2);
    padding: var(--space-6) var(--space-4);
    border: var(--hair-2) dashed var(--line-strong);
    border-radius: var(--radius);
    background: var(--surface-2);
    cursor: pointer;
    min-inline-size: 0;
    transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
}
:scope:hover, :scope[data-dragover="true"] {
    border-color: var(--accent);
    background: var(--accent-soft);
}
.file-drop-label {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--on-surface);
}
.file-drop-hint {
    margin: 0;
    font-size: var(--text-xs);
    color: var(--on-surface-muted);
}
}
@scope (.color-swatch) {:scope {
    border: 0;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}
.color-swatch-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}
.color-swatch-item {
    cursor: pointer;
}
.color-swatch-item input {
    position: absolute;
    inline-size: var(--hair);
    block-size: var(--hair);
    opacity: 0;
    pointer-events: none;
}
.color-swatch-circle {
    display: block;
    inline-size: 1.75rem;
    block-size: 1.75rem;
    border-radius: 50%;
    background: var(--swatch-color, var(--accent));
    border: var(--hair-2) solid var(--surface-1);
    box-shadow: 0 0 0 var(--hair) var(--line);
    transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.color-swatch-item:hover .color-swatch-circle {
    transform: scale(1.1);
}
.color-swatch-item input:checked + .color-swatch-circle {
    box-shadow: 0 0 0 var(--hair-2) var(--focus-ring);
    transform: scale(1.15);
}
}
@scope (.command-palette) {:scope {
    position: fixed;
    inset-block-start: 15vh;
    margin-inline: auto;
    inline-size: min(36rem, calc(100vw - var(--space-4)));
    max-block-size: min(32rem, 70vh);
    padding: 0;
    border: var(--hair) solid var(--line-strong);
    border-radius: var(--radius-lg);
    background: var(--surface-1);
    box-shadow: var(--elev-3);
    overflow: hidden;
    color: var(--on-surface);
}
:scope::backdrop {
    background: color-mix(in oklab, var(--surface-page) 65%, transparent);
    backdrop-filter: blur(var(--space-1));
}
.cmd-input {
    flex: 1 1 0;
    border: 0;
    background: transparent;
    color: var(--on-surface);
    font-size: var(--text-sm);
    outline: none;
}
.cmd-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-2);
    overflow-y: auto;
    max-block-size: 22rem;
}
.cmd-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}
.cmd-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
    color: var(--on-surface);
    text-decoration: none;
    font-size: var(--text-sm);
    cursor: pointer;
}
.cmd-item:hover, .cmd-item[data-selected="true"] {
    background: var(--surface-hover);
}
}
@scope (.callout) {:scope {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-4);
    border-radius: var(--radius);
    border: var(--hair) solid var(--line);
    background: var(--surface-2);
    min-inline-size: 0;
}
:scope[data-tone="info"] {
    border-color: color-mix(in srgb, var(--info) 40%, var(--line));
    background: color-mix(in srgb, var(--info) 8%, var(--surface-1));
}
:scope[data-tone="ok"] {
    border-color: color-mix(in srgb, var(--ok) 40%, var(--line));
    background: color-mix(in srgb, var(--ok) 8%, var(--surface-1));
}
:scope[data-tone="warn"] {
    border-color: color-mix(in srgb, var(--warn) 40%, var(--line));
    background: color-mix(in srgb, var(--warn) 8%, var(--surface-1));
}
:scope[data-tone="danger"] {
    border-color: color-mix(in srgb, var(--danger) 40%, var(--line));
    background: color-mix(in srgb, var(--danger) 8%, var(--surface-1));
}
.callout-title {
    margin: 0;
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--on-surface);
}
.callout-actions {
    display: flex;
    margin-block-start: var(--space-2);
}
}
@scope (.stat-bar) {:scope {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
    background: var(--surface-2);
    font-size: var(--text-xs);
    min-inline-size: 0;
}
.stat-bar-label {
    color: var(--on-surface-muted);
}
.stat-bar-val {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--on-surface);
}
}
@scope (.status-tag) {:scope {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 0 var(--space-2);
    block-size: 1.375rem;
    border-radius: var(--radius-pill);
    background: var(--surface-2);
    border: var(--hair) solid var(--line);
    font-size: var(--text-2xs);
    font-weight: 600;
    color: var(--on-surface);
    white-space: nowrap;
}
}
@scope (.badge-pulse) {:scope {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}
.badge-dot-pulse {
    inline-size: 0.5rem;
    block-size: 0.5rem;
    border-radius: 50%;
    background: currentColor;
    animation: badge-pulse-anim 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
}
@scope (.loading-overlay) {:scope {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-6);
}
.loading-spinner {
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border-radius: 50%;
    border: var(--focus-w) solid var(--line);
    border-block-start-color: var(--accent);
    animation: spinner-rot 0.8s linear infinite;
}
.loading-label {
    margin: 0;
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--on-surface-muted);
}
}
@scope (.badge-removable) {:scope {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding-inline-end: var(--space-1);
}
}
@scope (.field-tags-fieldset) {:scope {
    border: 0;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}
.chip-toggle {
    position: relative;
    display: inline-flex;
    cursor: pointer;
}
.chip-toggle input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    inline-size: 0;
    block-size: 0;
}
.chip-toggle:has(input:checked) .chip-toggle-pill {
    background: var(--accent-soft);
    border-color: var(--accent);
    color: var(--accent);
    font-weight: 600;
}
}}
@layer components {
.data-grid[data-surface="sunken"] {
  border: 1px solid var(--border-accent); border-radius: var(--radius);
  background: var(--fill-sunken); padding: var(--space-2); box-shadow: var(--chip-ring);
}
.grid-cell-active { outline: 2px solid var(--accent); outline-offset: -2px;
}
.data-grid[data-surface="sunken"] .grid-cell-active { background: var(--accent-soft);
}
.plot-seg-1 { fill: oklch(0.62 0.12 185); background: oklch(0.62 0.12 185);
}
.plot-seg-2 { fill: oklch(0.60 0.14 265); background: oklch(0.60 0.14 265);
}
.plot-seg-3 { fill: oklch(0.72 0.13 80);  background: oklch(0.72 0.13 80);
}
.plot-seg-4 { fill: oklch(0.63 0.16 15);  background: oklch(0.63 0.16 15);
}
.plot-seg-5 { fill: oklch(0.60 0.15 320); background: oklch(0.60 0.15 320);
}
.plot-seg-6 { fill: oklch(0.55 0.03 250); background: oklch(0.55 0.03 250);
}
.pie { margin: 0; display: flex; flex-direction: column; gap: var(--space-3);
}
.pie svg { max-width: 15rem; margin-inline: auto;
}
.pie-hole { fill: var(--card);
}
.pie-center { fill: var(--text); font-size: 10px; font-weight: 700;
}
.column-grid { stroke: var(--bg-hover); stroke-width: 1;
}
.column-vlabel, .column-label, .column-total { fill: var(--muted); font-size: 9px;
}
.column-total { font-weight: 700;
}
.plot-legend {
  list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4);
  margin: 0; padding: 0; font-size: var(--text-xs); color: var(--muted);
}
.plot-legend li { display: inline-flex; align-items: center; gap: 6px;
}
.calendar { display: grid; gap: var(--space-2); min-width: 0;
}
.calendar[data-surface="flat"] {
  padding: var(--space-3); border: 1px solid var(--border-accent);
  border-radius: var(--radius); background: var(--fill-flat);
  box-shadow: var(--shine), var(--chip-ring);
}
.calendar-cell {
  min-height: 4.5rem; border: 1px solid transparent; border-radius: var(--radius-sm);
  padding: var(--space-1); display: grid; gap: 4px; align-content: start;
}
.calendar[data-surface="flat"] .calendar-cell.calendar-today {
  background: var(--accent-soft); border-color: var(--accent); box-shadow: var(--chip-ring);
}
.calendar[data-surface="flat"] .calendar-cell:hover:not(.calendar-today) { background: var(--fill-hover);
}
.calendar-week-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 9rem), 1fr));
  gap: var(--space-2);
}
.calendar-week-day {
  display: grid; gap: var(--space-1); align-content: start;
  padding: var(--space-2); border-radius: var(--radius-sm); min-height: 6rem;
}
.calendar[data-surface="flat"] .calendar-week-day { border: 1px solid var(--border-accent-soft);
}
.calendar[data-surface="flat"] .calendar-week-day.calendar-today {
  background: var(--accent-soft); border-color: var(--accent); box-shadow: var(--chip-ring);
}
.calendar-week-label { font-size: var(--text-xs); font-weight: 700; font-variant-numeric: tabular-nums;
}
.calendar-week-events { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; min-width: 0;
}
.calendar-week-ev { display: grid; gap: 1px; padding: 2px var(--space-2); border-radius: var(--radius-pill); font-size: var(--text-3xs); min-width: 0;
}
.calendar[data-surface="flat"] .calendar-week-ev { background: var(--intent-soft, var(--fill-hover));
}
.calendar-week-ev time { color: var(--muted); font-variant-numeric: tabular-nums;
}
.calendar-week-ev span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.calendar-week-ev.calendar-empty { color: var(--faint);
}
.calendar[data-surface="flat"] .calendar-week-ev.calendar-empty { background: transparent;
}
.thread { display: grid; gap: var(--space-3); min-width: 0;
}
.thread[data-surface="sunken"] {
  padding: var(--space-3); border: 1px solid var(--border-accent);
  border-radius: var(--radius); background: var(--fill-sunken); box-shadow: var(--chip-ring);
}
.thread-msg { display: grid; gap: 2px; max-width: 85%;
}
.thread-msg.thread-mine { justify-self: end; text-align: end;
}
.thread-msg p {
  margin: 0; padding: var(--space-2) var(--space-3); border-radius: var(--radius);
  font-size: var(--text-sm); overflow-wrap: anywhere;
}
.thread[data-surface="sunken"] .thread-msg p { background: var(--fill-track);
}
.thread[data-surface="sunken"] .thread-msg.thread-mine p { background: var(--accent-soft);
}
.timeline { list-style: none; margin: 0; padding: 0; display: grid; min-width: 0;
}
.timeline[data-surface="flat"] {
  padding: var(--space-2) var(--space-3); border-radius: var(--radius);
  background: var(--fill-plate);
  border: 1px solid var(--border-accent-soft); box-shadow: var(--chip-ring);
}
.timeline-item {
  display: grid; grid-template-columns: 12px 1fr; gap: var(--space-2);
  position: relative; padding-bottom: var(--space-4);
}
.timeline-item:last-child { padding-bottom: 0;
}
.timeline-item::before {
  content: ""; position: absolute; left: 5px; top: 14px; bottom: 0; width: 2px;
}
.timeline[data-surface="flat"] .timeline-item::before { background: var(--fill-mark);
}
.timeline-item:last-child::before { display: none;
}
.timeline-dot {
  width: 10px; height: 10px; border-radius: 50%; margin-top: 3px;
  justify-self: center; z-index: 1;
}
.timeline[data-surface="flat"] .timeline-dot { background: var(--intent, var(--accent)); box-shadow: var(--mark-ring);
}
.timeline-time {
  font-size: var(--text-3xs); color: var(--muted); font-variant-numeric: tabular-nums;
}
.bulk {
  position: sticky; bottom: var(--space-2); z-index: 2;
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-3);
  border-radius: var(--radius);
}
.bulk[data-surface="elevated"] {
  padding: var(--space-2) var(--space-4); background: var(--fill-elev);
  border: 1px solid var(--accent); box-shadow: var(--shadow), var(--chip-ring);
}
.bulk-count { font-size: var(--text-sm); white-space: nowrap;
}
.invoice-lines { width: 100%; border-collapse: collapse; font-size: var(--text-sm);
}
.invoice-lines th {
  text-align: start; font-size: var(--text-3xs); color: var(--muted);
  text-transform: uppercase; padding: var(--space-1) var(--space-2);
}
.invoice-grand dt, .invoice-grand dd { font-weight: 700; font-size: var(--text-md);
}
@media print {.invoice-lines th { border-color: #999;
}
}
.tag-input {
  align-items: center; flex-wrap: wrap; gap: 6px; min-width: 0;
}
.tag-input[data-surface="sunken"] {
  padding: 4px 8px; border: 1px solid var(--border-accent); border-radius: var(--radius);
  background: var(--fill-elev-soft); box-shadow: var(--chip-ring);
}
.tag-input-remove { padding: 0 2px; line-height: 1; border: none; cursor: pointer;
}
.segmented-switch { gap: 2px; min-width: 0;
}
.segmented-switch[data-surface="sunken"] {
  padding: 2px; border: 1px solid var(--border-accent); border-radius: var(--radius);
  background: var(--fill-elev-soft); box-shadow: var(--chip-ring);
}
.multi-select { min-width: 0; flex-wrap: wrap;
}
.multi-select[data-surface="sunken"] {
  padding: 6px 10px; border: 1px solid var(--border-accent); border-radius: var(--radius);
  background: var(--fill-elev-soft); box-shadow: var(--chip-ring);
}
.multi-select-opt { margin-inline-end: 8px;
}
.date-range { align-items: center; gap: 8px; min-width: 0; border-radius: var(--radius);
}
.date-range[data-surface="flat"] {
  padding: 6px 10px; border: 1px solid var(--border-accent);
  background: var(--fill-elev-soft); box-shadow: var(--chip-ring);
}
.date-range-input { width: auto;
}
@container work (max-width: 30rem) {
  .calendar-cell { min-height: 3.25rem; padding: 2px; }
  .calendar-chip { font-size: 9px; padding: 0 3px; }
}
@container work (max-width: 32rem) {
  .plot-cols, .pie {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
  .plot-cols svg { min-width: 22rem; }
  .invoice-lines th:nth-child(3),
  .invoice-lines td:nth-child(3) { display: none; }
  .calendar-week-day { min-height: 4.5rem; }
}}
@layer utilities {
.truncate { min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.clamp-2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
}
.num { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1;
}
.muted { color: var(--on-surface-muted);
}
.nowrap { white-space: nowrap;
}
.grow { flex: 1 1 auto; min-inline-size: 0;
}
.visually-hidden {
  position: absolute; inline-size: var(--hair); block-size: var(--hair);
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}}
@layer utilities {
[data-vf-debug] {
  --dbg-frame: var(--tone-info);
  --dbg-band: var(--tone-purple);
  --dbg-box: var(--tone-ok);
  --dbg-grid: var(--tone-warn);
  --dbg-pad: var(--tone-accent);
}
[data-vf-debug~="layout"] :where(.page-frame, .theme-scope, .list-desk, .launch-pad) {
  outline: var(--hair) dashed var(--dbg-frame); outline-offset: calc(var(--hair) * -1);
}
[data-vf-debug~="layout"] :where(.page-header, .section, .status-bar, .page-hero, .band-head) {
  outline: var(--hair) dashed var(--dbg-band); outline-offset: calc(var(--hair) * -1);
}
[data-vf-debug~="layout"] :where(.panel, .kpi, .directory, .data-row, .toast) {
  outline: var(--hair) solid var(--dbg-box); outline-offset: calc(var(--hair) * -1);
}
[data-vf-debug~="layout"] :where(.kpi-row, .data-list, .auto-grid, .flow, .stack, .cluster, .page-header-actions) {
  outline: var(--hair) dotted var(--dbg-grid); outline-offset: calc(var(--hair) * -1);
  background-color: color-mix(in oklab, var(--dbg-grid) 14%, transparent);
}
[data-vf-debug~="layout"] :where(.panel[data-surface]) {
  box-shadow: inset 0 0 0 var(--pad-panel) color-mix(in oklab, var(--dbg-pad) 16%, transparent);
}
[data-vf-debug~="boxes"] * {
  outline: var(--hair) solid color-mix(in oklab, var(--dbg-frame) 45%, transparent);
  outline-offset: calc(var(--hair) * -1);
}
[data-vf-debug~="rhythm"] :where(.page-frame) {
  background-image: repeating-linear-gradient(to bottom,
    color-mix(in oklab, var(--dbg-frame) 22%, transparent) 0 var(--hair),
    transparent var(--hair) var(--space-1));
}}
@layer responsive {
@media (pointer: coarse) {
  .rail-item,
  .rail-toggle,
  .btn, .btn-primary, .btn-ghost, .btn-danger, .btn-sm,
  .topbar-jump, .lang-btn {
    min-height: 44px;
  }
}
@media (max-width: 720px) {html[data-shell="app"]:not([data-nav-at="top"]):not([data-nav-at="bottom"]):not([data-nav-mobile="bottom"]) .rail,
  html[data-shell="work"]:not([data-nav-at="top"]):not([data-nav-at="bottom"]):not([data-nav-mobile="bottom"]) .rail,
  html[data-shell="editor"]:not([data-nav-at="top"]):not([data-nav-at="bottom"]):not([data-nav-mobile="bottom"]) .rail {
    width: var(--nav-collapsed);
    max-width: var(--nav-collapsed);
    resize: none;
}
html[data-shell="editor"] .tools { display: none;
}
.rail-label { display: none;
}
.rail-item { justify-content: center; padding: 8px;
}
.topbar-brand-sub { display: none;
}
.topbar-jump-label,
  .topbar-jump .kbd { display: none;
}
.topbar-jump {
    min-width: 40px; width: 40px; flex: 0 0 auto; max-width: none;
    padding: 0; justify-content: center;
}
}
@media (max-width: 480px) {.topbar { gap: 8px; padding-inline: var(--space-3);
}
  .panel[data-surface] { padding: var(--space-3);
}
.topbar-brand-text { display: none;
}
dialog.modal-overlay[data-kind="sheet"][open],
  dialog.modal-overlay[data-kind="sheet"]:popover-open {
    align-items: flex-end;
    justify-content: stretch;
}
.sheet {
    width: 100%;
    height: min(92vh, 100%);
    height: min(92dvh, 100%);
    border-inline-start: none;
    border-block-start: 1px solid var(--border-accent);
    border-radius: var(--radius) var(--radius) 0 0;
}
}
@media print {body {
    background: #ffffff !important;
    color: #000000 !important;
}
.rail, .topbar, .tools, .status, .skip-link, .toast-hud, .cmd-palette, .btn, button {
    display: none !important;
}
.shell, .content, .work {
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
}
.card[data-surface], .panel[data-surface] {
    border: 1px solid #e0e0e0 !important;
    box-shadow: none !important;
    break-inside: avoid;
}
}}
@layer responsive {
@media print {
  :root { --density: 1; color-scheme: light; }
  html { background: none; }
  body { background: var(--card); color: var(--text); font-size: 11pt; }
  .topbar, .rail, [data-part="rail"], .dock, .status-dock, .reel,
  .cmd-bar, .toast, [data-print="hide"] { display: none !important; }
  .workspace, .work, .lay-split, .lay-main-aside, .lay-sidebar,
  .lay-app-frame, .flow { display: block !important; }
  .lay-cluster { display: block; }
  .lay-dock { position: static; }
  .lay-affix-side, .lay-sticky, [data-sticky] { position: static; }
  .card, .panel, .elev-surface, [data-surface] {
    box-shadow: none !important;
    background: none !important;
    border: 1pt solid var(--text);
    break-inside: avoid;
  }
  h1, h2, h3, h4 { break-after: avoid; }
  .lay-full-bleed, .lay-breakout, .lay-breakout-wide, .lay-breakout-full {
    inline-size: auto; margin-inline: 0;
  }
  pre, blockquote, table, figure { break-inside: avoid; }
  a { color: var(--text); text-decoration: underline; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: var(--text-2xs); color: var(--muted); }
}
@media print {
  body, .shell {
    background: var(--card);
    color: var(--text);
    min-block-size: auto;
    overflow: visible;
  }
  .rail, .topbar, .tools, .status, .page-header-actions, .lay-dock, [data-vf-toasts] {
    display: none;
  }
  .page-frame, .content {
    max-inline-size: 100%;
    overflow: visible;
  }
  .card, .panel, .lay-prose {
    break-inside: avoid;
    box-shadow: none;
  }
  a[href^="http"]:not([href^="javascript:"])::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: var(--on-surface-muted);
  }
}}
@layer a11y {
@media (prefers-contrast: more) {
  :root {
    --text: light-dark(#0c0a08, #fffdf8);
    --muted: light-dark(#3f3a32, #d2ccc2);
    --border: light-dark(#8a8378, #8b9bb0);
    --border-strong: light-dark(#5c564c, #b4c2d4);
    --accent: light-dark(#0a5c56, #5ff0d4);
  }
  .btn, .btn-primary, .btn-ghost, .btn-danger, .panel[data-surface], .input, .select, .textarea {
    border-width: 2px;
  }
}
@media (forced-colors: active) {.btn-primary,
.btn-ghost,
.btn-danger,
.ps-pill,
.rail-item,
.panel[data-surface],
.card[data-surface],
.masthead-aside[data-surface="elevated"],
.recipe[data-surface="flat"],
.band[data-surface="flat"],
.sheet[data-surface="elevated"],
.toast[data-surface="elevated"],
.cmd-palette[data-surface="glass"],
.live-meter[data-surface="flat"] [data-island],
.cmd-card[data-surface="elevated"],
.sig-toast[data-surface="elevated"],
.directory[data-surface="flat"],
.value-card[data-surface="flat"],
.site-foot[data-surface="flat"],
.surface[data-surface="flat"],
.elev-surface[data-surface="glass"],
.defer-panel[data-surface="glass"],
.filter-bar[data-surface="sunken"],
.command-bar[data-surface="glass"],
.toolbar[data-surface="glass"],
.notice-bar[data-surface="sunken"],
.auth-shell[data-surface="elevated"],
.masthead[data-surface="elevated"],
.hero-masthead[data-surface="elevated"] .masthead,
.empty-cta[data-surface="sunken"],
.step-rail[data-surface="sunken"],
.promo-band[data-surface="elevated"],
.action-card[data-surface="flat"],
.media-tile[data-surface="elevated"],
.link-tile[data-surface="flat"],
.pricing-tier[data-surface="elevated"],
.chip-row[data-surface="sunken"],
.logo-strip[data-surface="flat"],
.theme-strip[data-surface="flat"],
.style-strip[data-surface="flat"],
.callout[data-surface="sunken"],
.banner[data-surface="sunken"],
.data-grid[data-surface="sunken"],
.tree-view[data-surface="flat"],
.calendar[data-surface="flat"],
.bulk[data-surface="elevated"],
.thread[data-surface="sunken"],
.timeline[data-surface="flat"],
.code-block[data-surface="sunken"],
.drop[data-surface="sunken"],
.frame[data-surface="sunken"],
.shelf[data-surface="elevated"],
.empty[data-surface="sunken"],
.empty-rich[data-surface="sunken"],
.topbar-jump[data-surface="sunken"],
.topbar[data-surface="glass"],
.rail[data-surface="glass"],
.vf-inspect[data-surface="elevated"],
.tools[data-surface="elevated"],
.status[data-surface="elevated"],
.timeline-content[data-surface="flat"],
#desk-hold[data-surface="elevated"],
#ws-float [data-float][data-surface="elevated"],
#ws-float [data-float][data-surface="flat"],
.workspace[data-surface="flat"],
.flow[data-flow="floor"][data-surface="sunken"],
.suggest-menu[data-surface="glass"],
.notif-panel[data-surface="elevated"],
.tag-input[data-surface="sunken"],
.segmented-switch[data-surface="sunken"],
.multi-select[data-surface="sunken"],
.date-range[data-surface="flat"],
.input[data-surface="sunken"],
.select[data-surface="sunken"],
.textarea[data-surface="sunken"],
.meter[data-surface="sunken"],
.tag[data-surface="flat"],
.kbd[data-surface="flat"],
.avatar[data-surface="flat"],
.avatar-chip[data-surface="flat"],
.table-wrap[data-surface="flat"],
.tip[data-surface="elevated"],
iframe.vf-embed[data-surface="sunken"],
svg.canvas[data-surface="sunken"],
.kpi-strip[data-surface="sunken"],
.feed-list[data-surface="sunken"],
.metric[data-surface="flat"],
.timeline[data-surface="flat"],
.flow[data-flow="timeline"][data-surface="flat"],
.plan-board[data-surface="flat"],
.list-desk[data-surface="flat"],
.ops-desk[data-surface="flat"],
.dash-shell[data-surface="flat"],
.launch-pad[data-surface="flat"],
.settings-shell[data-surface="flat"],
.doc-shell[data-surface="flat"],
.guide-shell[data-surface="flat"],
.page-hero[data-surface="flat"],
.site-page[data-surface="flat"],
.status-dock[data-surface="glass"],
.trust-band[data-surface="flat"],
.pricing-board[data-surface="elevated"],
.faq-list[data-surface="sunken"],
.feature-band[data-surface="flat"],
.stat-band[data-surface="sunken"],
.process-band[data-surface="elevated"],
.quote-board[data-surface="sunken"] {
    border: 1px solid ButtonText;
    forced-color-adjust: none;
}
.btn-primary { background: Highlight; color: HighlightText;
}
.icon {
    forced-color-adjust: none;
    background-color: ButtonText;
}
.rail-item.active { outline: 2px solid Highlight;
}
.meter-fill { forced-color-adjust: none;
}
}
@media (prefers-reduced-transparency: reduce) {:root {
    --chrome: light-dark(#fffdf9, #0c1118);
    --scrim: light-dark(rgb(15 23 42 / 0.72), rgb(0 0 0 / 0.82));
    --focus-halo: none;
 --intent-halo: none;
 --mark-ring: 0 0 0 2px var(--border-accent);
 --control-ring: 0 0 0 3px var(--border-accent);
 --spinner-track: var(--border-accent);
 --intent-inset: inset 0 0 0 1px var(--border-accent);
 --track-inset: inset 0 0 0 1px var(--border);
 --meter-sheen: transparent;
 --heat-ok: var(--ok-soft, var(--accent-soft));
 --heat-dn: var(--danger-soft, var(--accent-soft));
 --progress-glow: none;
 --progress-glow-sm: none;
 --float-glow: none;
 --float-glow-lg: none;
 --sticky-edge: var(--shadow-sm);
}
.topbar[data-surface="glass"],
.rail[data-surface="glass"],
.elev-surface[data-surface="glass"],
.defer-panel[data-surface="glass"],
.popover[data-surface="glass"],
dialog.modal-overlay[data-surface="glass"],
.suggest-menu[data-surface="glass"],
.cmd-palette[data-surface="glass"],
.command-bar[data-surface="glass"],
.toolbar[data-surface="glass"],
.status-dock[data-surface="glass"],
.hero-masthead[data-surface="elevated"] .masthead,
.auth-shell[data-surface="elevated"],
.step-rail[data-surface="sunken"],
.kpi-strip[data-surface="sunken"],
.list-desk .directory[data-surface="flat"] {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.topbar[data-surface="glass"],
.rail[data-surface="glass"] {
    background: var(--chrome); border-color: var(--border-accent);
}
.elev-surface[data-surface="glass"], .defer-panel[data-surface="glass"],
  .popover[data-surface="glass"], dialog.modal-overlay[data-surface="glass"],
  .suggest-menu[data-surface="glass"], .cmd-palette[data-surface="glass"],
  .hero-masthead[data-surface="elevated"] .masthead,
  .auth-shell[data-surface="elevated"], .step-rail[data-surface="sunken"],
  .list-desk .directory[data-surface="flat"] { background: var(--card); border-color: var(--border-accent);
}
.command-bar[data-surface="glass"], .toolbar[data-surface="glass"],
  .status-dock[data-surface="glass"],
  .filter-bar[data-surface="sunken"], .kpi-strip[data-surface="sunken"] {
    background: var(--bg-soft); border-color: var(--border-accent);
}
}
@media (prefers-reduced-motion: reduce) {.presence-stack .avatar:hover { transform: none;
}
.surface[data-surface="flat"], .media-tile[data-surface="elevated"],
  .link-tile[data-surface="flat"], .elev-surface[data-surface="glass"],
  .defer-panel[data-surface="glass"],
  .action-card[data-surface="flat"], .pricing-tier[data-surface="elevated"],
  .value-card[data-surface="flat"] {
    transition: none !important;
}
.surface[data-surface="flat"]:hover,
.media-tile[data-surface="elevated"]:hover,
.link-tile[data-surface="flat"]:hover,
.elev-surface[data-surface="glass"]:hover,
.defer-panel[data-surface="glass"]:hover,
.value-card[data-surface="flat"]:hover,
.action-card[data-surface="flat"]:hover,
.metric[data-surface="flat"]:hover { transform: none !important;
}
}
@media (prefers-reduced-data: reduce) {body {
    background: var(--bg);
}
.masthead[data-surface="elevated"]::before,
  .hero-masthead[data-surface="elevated"] .masthead[data-surface="elevated"]::before { display: none;
}
.auth-shell[data-surface="elevated"], .step-rail[data-surface="sunken"],
  .kpi-strip[data-surface="sunken"], .list-desk .directory[data-surface="flat"] {
    background: var(--card);
}
}
[data-vf-panic] {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 9999;
  margin: 0;
  padding: 8px 12px;
  box-sizing: border-box;
  background: #b3261e;
  color: #fff;
  font: 12px/1.5 system-ui, sans-serif;
  word-break: break-word;
}
@media print {.skip-link, .topbar, .rail, .tools, .status, .sig-tray, .modal-overlay, #appLoader {
    display: none !important;
}
html, body { height: auto; overflow: visible;
}
.shell { display: block; height: auto; overflow: visible;
}
.content, .work { overflow: visible !important; height: auto !important;
}
.list-desk .directory[data-surface="flat"] .data-table thead th { position: static;
}
.toolbar { position: static;
}
.surface[data-surface="flat"], .media-tile[data-surface="elevated"],
  .link-tile[data-surface="flat"], .elev-surface[data-surface="glass"],
  .defer-panel[data-surface="glass"],
  .auth-shell[data-surface="elevated"], .step-rail[data-surface="sunken"],
  .hero-masthead[data-surface="elevated"] .masthead,
  .action-card[data-surface="flat"], .directory[data-surface="flat"],
  .value-card[data-surface="flat"], .site-foot[data-surface="flat"],
  .kpi-strip[data-surface="sunken"],
  .toolbar[data-surface="glass"], .filter-bar[data-surface="sunken"],
  .command-bar[data-surface="glass"], .feed-list[data-surface="sunken"],
  .empty-cta[data-surface="sunken"],
  .chip-row[data-surface="sunken"], .logo-strip[data-surface="flat"],
  .theme-strip[data-surface="flat"], .style-strip[data-surface="flat"],
  .pricing-tier[data-surface="elevated"],
  .trust-band[data-surface="flat"], .pricing-board[data-surface="elevated"],
  .faq-list[data-surface="sunken"], .feature-band[data-surface="flat"],
  .stat-band[data-surface="sunken"], .process-band[data-surface="elevated"],
  .quote-board[data-surface="sunken"], .promo-band[data-surface="elevated"],
  .recipe[data-surface="flat"], .toast[data-surface="elevated"],
  .cmd-palette[data-surface="glass"] {
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    break-inside: avoid;
}
.surface[data-surface="flat"]:hover, .media-tile[data-surface="elevated"]:hover,
  .link-tile[data-surface="flat"]:hover, .elev-surface[data-surface="glass"]:hover,
  .defer-panel[data-surface="glass"]:hover { transform: none !important;
}
}}
@layer product {
/* Arena — grafitkonsolen (direction contract: .impeccable/surfaces/).
   Produktlager: kernel-tokens övertintas, egna raster för band/rader.
   Regler: 1px-sömmar, exakt ett höjningssteg, syntaxfärger bara för
   tillstånd, en accent bara för interaktion, display = mono. */

@layer product {
  /* Form-tokens — båda teman */
  :root {
    --shine: none;
    --panel-border: 1px solid var(--border);
    --panel-radius: 6px;
    --card-border: var(--panel-border);
    --card-radius: var(--panel-radius);
    --font-display-custom: "JetBrains Mono", var(--mono);
  }

  html[data-theme="dark"],
  html[data-theme="midnight"] {
    /* Grafitskala — tintad, aldrig ren grå */
    --bg: #17181b;
    --bg-elev: #1d1f24;
    --bg-soft: #22242a;
    --bg-hover: #24262c;
    --bg-active: #22242a;
    --card: #1d1f24;
    --border: #26282d;
    --border-strong: #31343b;
    --text: #d6dae0;
    --muted: #9ba1ab;
    --faint: #858b95;
    --accent: #61afef;
    --accent-dim: #4e8fd4;
    --accent-ink: #10141c;
    --accent-soft: rgba(97, 175, 239, 0.14);
    --accent-ring: rgba(97, 175, 239, 0.35);
    --accent-glow: rgba(97, 175, 239, 0.18);
    --ok: #98c379;
    --ok-strong: #aacb8d;
    --warn: #e5b567;
    --warn-strong: #efc684;
    --danger: #e88a92;
    --danger-strong: #f2a6ac;
    --ok-glow: rgba(152, 195, 121, 0.12);
    --warn-glow: rgba(229, 181, 103, 0.12);
    --danger-glow: rgba(224, 108, 117, 0.1);
    --panel-bg: var(--card);
    --card-bg: var(--panel-bg);
  }

  /* Ljus dagvariant: samma grammatik, omvänd kontrast */
  html[data-theme="light"] {
    /* varma neutrala sömmar mot gräddgrund (kernel-palett kan ge teal) */
    --border: #e2dcd1;
    --border-strong: #cfc7b8;
    --danger: #b03a46;
    --danger-strong: #c4525e;
    --accent: #2e6da8;
    --accent-dim: #275d8d;
    --accent-ink: #ffffff;
    --ok-strong: #4c9439;
    --warn-strong: #b07d1e;
    --ok: #3f7d2f;
    --warn: #8a5f13;
    --danger: #bb4450;
    --accent-soft: rgba(46, 109, 168, 0.12);
    --accent-ring: rgba(46, 109, 168, 0.35);
    --accent-glow: rgba(46, 109, 168, 0.15);
  }

  /* ── Typröst: display/krom = mono, kropp = sans ─────────────── */
  h1, .page-h {
    font-family: var(--font-display-custom);
    font-weight: 600;
    font-size: 1.32rem;
    letter-spacing: -0.02em;
    line-height: 1.25;
    margin: 0;
  }

  .panel-title,
  .panel h2,
  .panel h3,
  [data-slot="head"] h2 {
    font-family: var(--font-display-custom);
    font-size: 0.76rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--muted);
  }

  .badge {
    font-family: var(--font-display-custom);
    font-size: 0.70rem;
    letter-spacing: 0.05em;
  }

  /* ── Skal-krom: sömmar, aldrig glas ───────────────────────── */
  .topbar, .rail, [data-surface="glass"] {
    background: var(--bg-elev);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .topbar { border-bottom: 1px solid var(--border); }
  .rail { border-right: 1px solid var(--border); }

  /* ── Paneler: sömmar, aldrig skuggor ───────────────────────── */
  .panel, .card, .surface, .stat-card {
    background: var(--card);
    border: var(--panel-border);
    border-radius: var(--panel-radius);
    box-shadow: none;
    padding: 0.9rem 1rem 1rem;
  }
  .panel > h2 {
    font-family: var(--font-display-custom);
    font-size: 0.76rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--muted);
    margin: 0 0 0.75rem;
  }
  .panel:hover, .card:hover, .surface:hover {
    border-color: var(--border-strong);
    box-shadow: none;
    transform: none;
  }
  .panel-head {
    border-bottom: 1px solid var(--border);
    margin-block-end: 0;
    padding-block-end: 0.55rem;
  }

  /* ── Metrikband: sömmadelade celler, aldrig kort ───────────── */
  .ar-band {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--panel-radius);
    overflow: hidden;
  }
  .ar-band > .flow {
    border-right: 1px solid var(--border);
    padding: 0.85rem 1rem;
    gap: 0.4rem;
    min-width: 0;
  }
  .ar-band > .flow:last-child { border-right: 0; }
  .ar-band .flow > .t-text {
    font-family: var(--font-display-custom);
    font-variant-numeric: tabular-nums;
    font-size: 1.48rem;
    font-weight: 600;
    line-height: 1.1;
  }
  .ar-band > .flow:nth-child(3) > .t-text {
    color: var(--danger);
  }
  .ar-band .flow > .dim {
    font-family: var(--font-display-custom);
    font-size: 0.70rem;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--faint);
  }

  /* ── Tjänsterader — fruset kolumnraster ───────────────────── */
  .ar-row {
    display: grid;
    grid-template-columns: minmax(9.5rem, 1.1fr) 6.4rem minmax(11rem, 1.5fr) 6.5rem 5.5rem auto;
    gap: 0.6rem;
    align-items: center;
    padding: 0.55rem 0.8rem;
    border-bottom: 1px solid var(--border);
    font-size: 0.85rem;
    min-width: 0;
  }
  .ar-row:last-child { border-bottom: 0; }
  .ar-row > :first-child {
    font-family: var(--font-display-custom);
    font-weight: 500;
    color: var(--text);
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .ar-row > .t-text {
    font-family: var(--font-display-custom);
    font-variant-numeric: tabular-nums;
    color: var(--text);
  }
  .ar-row > .t-text:nth-last-of-type(1) { color: var(--muted); }
  .ar-row:has(> .badge[data-tone="danger"]) {
    box-shadow: inset 1px 0 0 var(--danger);
    background: var(--danger-glow);
  }
  .ar-row:has(> .badge[data-tone="warn"]) {
    box-shadow: inset 1px 0 0 var(--warn);
  }
  .ar-row:has(> .badge[data-tone="muted"]) > :first-child {
    color: var(--faint);
    text-decoration: line-through;
    text-decoration-color: var(--faint);
  }
  .ar-row > .flow { justify-self: end; }

  /* ── Larmrader ────────────────────────────────────────────── */
  .ar-alarm {
    display: grid;
    grid-template-columns: 3.4rem 6rem minmax(9rem, 1.3fr) minmax(7rem, 1fr) auto;
    gap: 0.6rem;
    align-items: center;
    padding: 0.55rem 0.8rem;
    border-bottom: 1px solid var(--border);
    font-size: 0.83rem;
    min-width: 0;
  }
  .ar-alarm:last-child { border-bottom: 0; }
  .ar-alarm > :first-child {
    font-family: var(--font-display-custom);
    font-variant-numeric: tabular-nums;
    color: var(--faint);
  }
  .ar-alarm > .t-text {
    font-family: var(--font-display-custom);
    color: var(--text);
  }
  .ar-alarm:has(> .badge[data-tone="muted"]) > .t-text {
    color: var(--faint);
  }
  .ar-alarm > .flow { justify-self: end; }

  /* ── Rad-åtgärder högerställda i rastret ──────────────────── */
  .grid-auto > .flow[data-flow="wrap"] { justify-content: flex-end; }

  /* ── Den isolerade destruktiva handlingen ─────────────────── */
  .ar-iso {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    margin-block-start: 2.1rem;
    padding: 0.35rem 0 0.25rem;
    padding-block-start: 1.4rem;
    border-top: 1px solid var(--border);
  }
  .ar-iso .btn-danger, .ar-iso form {
    background: transparent;
    border: 1px solid var(--border-strong);
    color: var(--danger);
  }
  .ar-iso .btn-danger:hover, .ar-iso form:hover {
    border-color: var(--danger);
    background: transparent;
  }
  .ar-iso .btn-danger:focus-visible, .ar-iso form:focus-within {
    background: var(--danger);
    border-color: var(--danger);
    color: #20111a;
  }
  .ar-iso + .dim {
    font-size: 0.72rem;
    color: var(--faint);
  }

  /* ── Smal yta: bandet faller i två rader, raderna staplar ─── */
  @container (max-width: 56rem) {
    .ar-band { grid-template-columns: repeat(2, 1fr); }
    .ar-band > .flow:nth-child(2n) { border-right: 0; }
    .ar-band > .flow:not(:nth-last-child(-n+2)) {
      border-bottom: 1px solid var(--border);
    }
    .ar-row,
    .ar-alarm {
      grid-template-columns: 1fr auto;
    }
  }

  /* ── Webbläsarytor hör också designen ─────────────────────── */
  ::selection { background: var(--accent-soft); color: var(--text); }
  :focus-visible {
    outline: 2px solid var(--accent-ring);
    outline-offset: 1px;
  }
  .work { caret-color: var(--accent); }
  * { scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }

  /* ── Smal yta: bandet faller i två rader, raderna staplar ─── */
  @container (max-width: 56rem) {
    .mband { grid-template-columns: repeat(2, 1fr); }
    .mband > .m:nth-child(2n) { border-right: 0; }
    .mband > .m:not(:nth-last-child(-n+2)) { border-bottom: 1px solid var(--border); }
    .srow {
      grid-template-columns: 1fr auto;
      grid-template-rows: auto auto;
      row-gap: 0.2rem;
    }
    .arow {
      grid-template-columns: 3.4rem 1fr auto;
    }
  }
}
}
@layer desk {
/* Desk skins + resize grips. Lattice tracks live in flow.css (peel tail). */
.workspace[data-skin="game"] {
  --top-h: 2.5rem;
  --side-w: 14rem;
  --end-w: 14rem;
}
.workspace[data-surface="flat"][data-skin="game"] [data-area="flow"] {
  background: var(--fill-ink);
}
[data-z] { z-index: calc(2 + var(--z, 0)); }
[data-lock] { cursor: default; }
[data-tile-resize] {
  position: absolute;
  width: 0.55rem;
  height: 0.55rem;
  z-index: 4;
}
[data-tile-resize="n"], [data-tile-resize="s"] { left: 50%; width: 1.2rem; margin-left: -0.6rem; cursor: ns-resize; }
[data-tile-resize="e"], [data-tile-resize="w"] { top: 50%; height: 1.2rem; margin-top: -0.6rem; cursor: ew-resize; }
[data-tile-resize="n"] { top: 0; }
[data-tile-resize="s"] { bottom: 0; }
[data-tile-resize="e"] { right: 0; }
[data-tile-resize="w"] { left: 0; }
[data-tile-resize="nw"] { top: 0; left: 0; cursor: nwse-resize; }
[data-tile-resize="ne"] { top: 0; right: 0; cursor: nesw-resize; }
[data-tile-resize="sw"] { bottom: 0; left: 0; cursor: nesw-resize; }
[data-tile-resize="se"] { bottom: 0; right: 0; cursor: nwse-resize; }
[data-dnd-item] { position: relative; touch-action: none; }
.desk-grab [data-dnd-item] { cursor: grab; }
.desk-grab [data-dnd-item][data-resizing] { cursor: grabbing; }
[data-tile-resize] { touch-action: none; opacity: 0.45; }
[data-tile-resize]:hover,
[data-tile-resize]:active { opacity: 1; }
#ws-float {
  position: fixed;
  inset: 0;
  z-index: 200;
  pointer-events: none !important;
}
#ws-float:not(:has([data-float])) {
  display: none !important;
  pointer-events: none !important;
}
#ws-float [data-float] {
  position: fixed;
  left: calc(var(--fx, 16) / 64 * (100vw - 2.5rem) + 1.25rem);
  top: calc(var(--fy, 8) / 64 * (100vh - 9rem) + 1.25rem);
  width: min(calc(var(--fw, 36) / 64 * 100vw), 92vw);
  max-height: min(calc(var(--fh, 46) / 64 * 100vh), 78vh);
  overflow: auto;
  pointer-events: auto;
  border-radius: var(--radius);
}
#ws-float [data-float][data-surface="elevated"],
#ws-float [data-float][data-surface="flat"] {
  background: var(--fill-flat);
  border: 1px solid var(--border-accent);
  box-shadow: var(--shadow), var(--chip-ring);
}
#ws-float .stack > :not([data-float]) {
  position: fixed;
  right: 1.25rem;
  bottom: 4.5rem;
  width: min(28rem, 92vw);
  max-height: min(70vh, 36rem);
  overflow: auto;
}
@media (max-width: 48rem) {
  #ws-float [data-float],
  #ws-float .stack > :not([data-float]) {
    left: 0.75rem;
    right: 0.75rem;
    top: auto;
    bottom: 4.5rem;
    width: auto;
    max-height: 60vh;
  }
}

#desk-hold {
  position: fixed;
  z-index: 420;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 9rem;
  border-radius: var(--radius, 0.65rem);
}
#desk-hold[data-surface="elevated"] {
  padding: 0.35rem;
  background: var(--fill-plate);
  border: 1px solid var(--border-accent);
  box-shadow: var(--shadow), var(--chip-ring);
}
#desk-hold[hidden] { display: none; }
#desk-hold [data-hold] {
  margin: 0;
  padding: 0.35rem 0.55rem;
  border: 0;
  border-radius: 0.4rem;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
#desk-hold[data-surface="elevated"] [data-hold]:hover { background: var(--wash-hold); }
iframe.vf-embed {
  display: block;
  width: 100%;
  min-height: 16rem;
  border: 0;
}
iframe.vf-embed[data-surface="sunken"] { background: var(--fill-bg); border: 1px solid var(--border-accent); border-radius: var(--radius); box-shadow: var(--chip-ring); }
[data-dnd-zone].dnd-over {
  outline: 2px dashed var(--accent);
  outline-offset: -2px;
}
.flow[data-flow="floor"].dnd-over {
  outline: 2px solid var(--outline-accent);
}

/* Catalog shelf (`#build-kit`): presence = build mode. Cards are drag sources with the… */
.shelf {
  border-block-end: 1px solid var(--border-accent);
}
.shelf[data-surface="elevated"] {
  padding: var(--space-1) var(--space-2);
  background: var(--fill-elev);
  border-block-end-color: var(--border-accent); box-shadow: var(--chip-ring);
}
.shelf .cluster { gap: var(--space-2); }
.shelf-card {
  display: inline-flex; align-items: center; gap: var(--space-2);
  font-family: inherit; text-align: start;
  border-radius: var(--r-sm, 8px); color: var(--text);
  font-size: var(--text-sm); cursor: grab; user-select: none;
}
.shelf-card[data-surface="flat"] {
  padding: var(--space-1) var(--space-3);
  border: 1px solid var(--border-accent);
  background: var(--fill-flat); box-shadow: var(--chip-ring);
}
.shelf-card[data-surface="flat"]:hover, .shelf-card[data-surface="flat"]:focus-visible {
  border-color: var(--accent-dim, var(--accent)); box-shadow: var(--chip-ring);
}
.shelf-card:active { cursor: grabbing; }
.shelf-card .icon { color: var(--muted); }

/* Face-scoped density (3.11): a tile may pack tighter than its page without touching th… */
[data-density="dense"] {
  --density: 0.82;
  --type-scale: 0.88;
  --grid-min: 10rem;
}

/* Pointer-owning faces (FaceCaps::POINTER — ink/canvas class): the browser must not tur… */
[data-pointer] {
  touch-action: none;
  user-select: none;
}

/* Chart-tab strip (kernel chrome `ct-strip`): a full 8-tab strip scrolls horizontally i… */
[data-key="ct-strip"] {
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
[data-key="ct-strip"]::-webkit-scrollbar { display: none; }
[data-key="ct-strip"] > * { flex: 0 0 auto; }

/* Desk pack tracks. Layered in `@layer desk`. Default 3-col (main off, empty-rail :has(… */
.workspace[data-pack="desk"][data-side="on"][data-end="on"][data-flow="off"][data-stack="off"][data-dock="off"] {
  display: grid;
  contain: none;
  grid-template-columns:
    minmax(13rem, min(var(--side-w, 18rem), 30rem))
    minmax(0, 1fr)
    minmax(12rem, min(var(--end-w, 16rem), 24rem));
  grid-template-rows: var(--top-h, auto) minmax(0, 1fr) auto;
  grid-template-areas:
    "top top top"
    "side main end"
    "side foot end";
}
.workspace[data-pack="desk"][data-side="on"][data-end="on"][data-lead="end"][data-flow="off"][data-stack="off"][data-dock="off"] {
  grid-template-columns:
    minmax(12rem, min(var(--end-w, 16rem), 24rem))
    minmax(0, 1fr)
    minmax(13rem, min(var(--side-w, 18rem), 30rem));
  grid-template-rows: var(--top-h, auto) minmax(0, 1fr) auto;
  grid-template-areas:
    "top top top"
    "end main side"
    "end foot side";
}
.workspace[data-pack="desk"][data-side="on"][data-end="on"][data-flow="on"] {
  display: grid;
  contain: none;
  grid-template-columns:
    minmax(13rem, min(var(--side-w, 18rem), 30rem))
    minmax(0, 1fr)
    minmax(12rem, min(var(--end-w, 16rem), 24rem));
  grid-template-rows: var(--top-h, auto) minmax(0, 1fr) minmax(0, auto) minmax(0, auto) auto auto;
  grid-template-areas:
    "top top top"
    "side main end"
    "side flow end"
    "side stack end"
    "side foot end"
    "dock dock dock";
}
/* Default floor recipe (main off, 3-row) lives unlayered in flow.css peel tail so it is… */
.workspace[data-pack="desk"][data-side="on"][data-end="on"][data-lead="end"][data-flow="on"][data-main="off"][data-stack="off"][data-dock="off"] {
  grid-template-columns:
    minmax(12rem, min(var(--end-w, 16rem), 24rem))
    minmax(0, 1fr)
    minmax(13rem, min(var(--side-w, 18rem), 30rem));
  grid-template-areas:
    "top top top"
    "end flow side"
    "end foot side";
}
}
