/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-orange-300: oklch(83.7% 0.128 66.29);
    --color-orange-400: oklch(75% 0.183 55.934);
    --color-amber-300: oklch(87.9% 0.169 91.605);
    --color-amber-400: oklch(82.8% 0.189 84.429);
    --color-yellow-300: oklch(90.5% 0.182 98.111);
    --color-yellow-400: oklch(85.2% 0.199 91.936);
    --color-lime-300: oklch(89.7% 0.196 126.665);
    --color-green-300: oklch(87.1% 0.15 154.449);
    --color-green-400: oklch(79.2% 0.209 151.711);
    --color-emerald-300: oklch(84.5% 0.143 164.978);
    --color-emerald-400: oklch(76.5% 0.177 163.223);
    --color-teal-300: oklch(85.5% 0.138 181.071);
    --color-teal-400: oklch(77.7% 0.152 181.912);
    --color-cyan-300: oklch(86.5% 0.127 207.078);
    --color-cyan-400: oklch(78.9% 0.154 211.53);
    --color-sky-300: oklch(82.8% 0.111 230.318);
    --color-sky-400: oklch(74.6% 0.16 232.661);
    --color-blue-300: oklch(80.9% 0.105 251.813);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-indigo-300: oklch(78.5% 0.115 274.713);
    --color-indigo-400: oklch(67.3% 0.182 276.935);
    --color-violet-300: oklch(81.1% 0.111 293.571);
    --color-violet-400: oklch(70.2% 0.183 293.541);
    --color-purple-300: oklch(82.7% 0.119 306.383);
    --color-fuchsia-300: oklch(83.3% 0.145 321.434);
    --color-pink-400: oklch(71.8% 0.202 349.761);
    --color-rose-300: oklch(81% 0.117 11.638);
    --color-rose-400: oklch(71.2% 0.194 13.428);
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-stone-300: oklch(86.9% 0.005 56.366);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --radius-3xl: 1.5rem;
    --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);
    --blur-xl: 24px;
    --blur-3xl: 64px;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-fm-panel: var(--fm-bg-panel);
    --spacing-fm-control-sm: var(--fm-control-height-sm);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .\[container-type\:inline-size\] {
    container-type: inline-size;
  }
  .pointer-events-none {
    pointer-events: none;
  }
  .collapse {
    visibility: collapse;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .end {
    inset-inline-end: var(--spacing);
  }
  .z-10 {
    z-index: 10;
  }
  .z-\[99999\] {
    z-index: 99999;
  }
  .\!container {
    width: 100% !important;
    @media (width >= 40rem) {
      max-width: 40rem !important;
    }
    @media (width >= 48rem) {
      max-width: 48rem !important;
    }
    @media (width >= 64rem) {
      max-width: 64rem !important;
    }
    @media (width >= 80rem) {
      max-width: 80rem !important;
    }
    @media (width >= 96rem) {
      max-width: 96rem !important;
    }
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .m-0 {
    margin: calc(var(--spacing) * 0);
  }
  .m-332 {
    margin: calc(var(--spacing) * 332);
  }
  .mx-fm-1 {
    margin-inline: var(--fm-space-1);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }
  .mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
  }
  .ml-auto {
    margin-left: auto;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .size-fm-control-sm {
    width: var(--fm-control-height-sm);
    height: var(--fm-control-height-sm);
  }
  .\!h-full {
    height: 100% !important;
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-auto {
    height: auto;
  }
  .h-fm-control-md {
    height: var(--fm-control-height-md);
  }
  .h-fm-control-sm {
    height: var(--fm-control-height-sm);
  }
  .h-full {
    height: 100%;
  }
  .max-h-\[90vh\] {
    max-height: 90vh;
  }
  .min-h-24 {
    min-height: calc(var(--spacing) * 24);
  }
  .min-h-fm-field-row {
    min-height: var(--fm-field-row-min-height);
  }
  .\!w-full {
    width: 100% !important;
  }
  .w-fm-control-sm {
    width: var(--fm-control-height-sm);
  }
  .w-full {
    width: 100%;
  }
  .w-px {
    width: 1px;
  }
  .max-w-\[90vw\] {
    max-width: 90vw;
  }
  .max-w-\[560px\] {
    max-width: 560px;
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .flex-1 {
    flex: 1;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .shrink {
    flex-shrink: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .table-auto {
    table-layout: auto;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-\[spin_4s_linear_infinite\] {
    animation: spin 4s linear infinite;
  }
  .cursor-default {
    cursor: default;
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .cursor-zoom-out {
    cursor: zoom-out;
  }
  .resize {
    resize: both;
  }
  .resize-y {
    resize: vertical;
  }
  .list-none {
    list-style-type: none;
  }
  .appearance-none {
    appearance: none;
  }
  .auto-cols-fr {
    grid-auto-columns: minmax(0, 1fr);
  }
  .grid-flow-col {
    grid-auto-flow: column;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-\[minmax\(96px\,0\.8fr\)_minmax\(0\,1\.2fr\)\] {
    grid-template-columns: minmax(96px,0.8fr) minmax(0,1.2fr);
  }
  .flex-col {
    flex-direction: column;
  }
  .items-baseline {
    align-items: baseline;
  }
  .items-center {
    align-items: center;
  }
  .items-stretch {
    align-items: stretch;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .gap-0 {
    gap: calc(var(--spacing) * 0);
  }
  .gap-0\.5 {
    gap: calc(var(--spacing) * 0.5);
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-fm-inspector-control {
    gap: var(--fm-inspector-control-gap);
  }
  .gap-fm-inspector-group {
    gap: var(--fm-inspector-group-gap);
  }
  .gap-fm-inspector-row {
    gap: var(--fm-inspector-row-gap);
  }
  .gap-x-fm-inspector-control {
    column-gap: var(--fm-inspector-control-gap);
  }
  .gap-y-1 {
    row-gap: calc(var(--spacing) * 1);
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }
  .rounded-fm-control {
    border-radius: var(--fm-radius-control);
  }
  .rounded-fm-disclosure {
    border-radius: var(--fm-radius-disclosure);
  }
  .rounded-fm-segment {
    border-radius: var(--fm-radius-segment);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-fm-accent {
    border-color: var(--fm-accent);
  }
  .border-fm-border {
    border-color: var(--fm-border-default);
  }
  .border-fm-danger {
    border-color: var(--fm-danger);
  }
  .border-fm-subtle {
    border-color: var(--fm-border-subtle);
  }
  .border-transparent {
    border-color: transparent;
  }
  .border-white\/10 {
    border-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .bg-black\/20 {
    background-color: color-mix(in srgb, #000 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }
  .bg-fm-accent {
    background-color: var(--fm-accent);
  }
  .bg-fm-canvas {
    background-color: var(--fm-bg-canvas);
  }
  .bg-fm-disabled {
    background-color: var(--fm-bg-disabled);
  }
  .bg-fm-panel {
    background-color: var(--fm-bg-panel);
  }
  .bg-fm-raised {
    background-color: var(--fm-bg-panel-raised);
  }
  .bg-fm-subtle {
    background-color: var(--fm-border-subtle);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .object-contain {
    object-fit: contain;
  }
  .object-center {
    object-position: center;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-0\.5 {
    padding: calc(var(--spacing) * 0.5);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-fm-inline {
    padding-inline: var(--fm-inspector-padding-inline);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .pt-fm-inspector-row {
    padding-top: var(--fm-inspector-row-gap);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-fm-inspector-group {
    padding-bottom: var(--fm-inspector-group-gap);
  }
  .text-left {
    text-align: left;
  }
  .font-fm-mono {
    font-family: var(--fm-font-mono);
  }
  .font-fm-ui {
    font-family: var(--fm-font-ui);
  }
  .text-fm-2xs {
    font-size: var(--fm-font-size-2xs);
  }
  .text-fm-control {
    font-size: var(--fm-font-size-control);
  }
  .text-fm-help {
    font-size: var(--fm-font-size-help);
  }
  .text-fm-label {
    font-size: var(--fm-font-size-field-label);
  }
  .text-fm-md {
    font-size: var(--fm-font-size-md);
  }
  .text-fm-xs {
    font-size: var(--fm-font-size-xs);
  }
  .leading-fm-control {
    --tw-leading: var(--fm-line-height-control);
    line-height: var(--fm-line-height-control);
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-amber-300 {
    color: var(--color-amber-300);
  }
  .text-amber-400 {
    color: var(--color-amber-400);
  }
  .text-blue-300 {
    color: var(--color-blue-300);
  }
  .text-blue-400 {
    color: var(--color-blue-400);
  }
  .text-cyan-300 {
    color: var(--color-cyan-300);
  }
  .text-cyan-400 {
    color: var(--color-cyan-400);
  }
  .text-emerald-300 {
    color: var(--color-emerald-300);
  }
  .text-emerald-400 {
    color: var(--color-emerald-400);
  }
  .text-fm-danger {
    color: var(--fm-danger);
  }
  .text-fm-degraded {
    color: var(--fm-degraded);
  }
  .text-fm-disabled-text {
    color: var(--fm-text-disabled);
  }
  .text-fm-inverse {
    color: var(--fm-text-inverse);
  }
  .text-fm-muted {
    color: var(--fm-text-muted);
  }
  .text-fm-primary {
    color: var(--fm-text-primary);
  }
  .text-fm-secondary {
    color: var(--fm-text-secondary);
  }
  .text-fm-stale {
    color: var(--fm-stale);
  }
  .text-fm-success {
    color: var(--fm-success);
  }
  .text-fm-warning {
    color: var(--fm-warning);
  }
  .text-fuchsia-300 {
    color: var(--color-fuchsia-300);
  }
  .text-green-300 {
    color: var(--color-green-300);
  }
  .text-green-400 {
    color: var(--color-green-400);
  }
  .text-indigo-300 {
    color: var(--color-indigo-300);
  }
  .text-indigo-400 {
    color: var(--color-indigo-400);
  }
  .text-lime-300 {
    color: var(--color-lime-300);
  }
  .text-orange-300 {
    color: var(--color-orange-300);
  }
  .text-orange-400 {
    color: var(--color-orange-400);
  }
  .text-pink-400 {
    color: var(--color-pink-400);
  }
  .text-purple-300 {
    color: var(--color-purple-300);
  }
  .text-red-400 {
    color: var(--color-red-400);
  }
  .text-rose-300 {
    color: var(--color-rose-300);
  }
  .text-rose-400 {
    color: var(--color-rose-400);
  }
  .text-sky-300 {
    color: var(--color-sky-300);
  }
  .text-sky-400 {
    color: var(--color-sky-400);
  }
  .text-slate-300 {
    color: var(--color-slate-300);
  }
  .text-slate-400 {
    color: var(--color-slate-400);
  }
  .text-stone-300 {
    color: var(--color-stone-300);
  }
  .text-teal-300 {
    color: var(--color-teal-300);
  }
  .text-teal-400 {
    color: var(--color-teal-400);
  }
  .text-violet-300 {
    color: var(--color-violet-300);
  }
  .text-violet-400 {
    color: var(--color-violet-400);
  }
  .text-yellow-300 {
    color: var(--color-yellow-300);
  }
  .text-yellow-400 {
    color: var(--color-yellow-400);
  }
  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .\[font-variant-numeric\:tabular-nums\] {
    font-variant-numeric: tabular-nums;
  }
  .accent-fm-accent {
    accent-color: var(--fm-accent);
  }
  .opacity-50 {
    opacity: 50%;
  }
  .opacity-70 {
    opacity: 70%;
  }
  .opacity-100 {
    opacity: 100%;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-fm-control {
    --tw-shadow: var(--fm-shadow-control);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-fm-control-inset {
    --tw-shadow: var(--fm-shadow-control-inset);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .blur-3xl {
    --tw-blur: blur(var(--blur-3xl));
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .drop-shadow-\[0_0_80px_rgba\(203\,166\,247\,0\.3\)\] {
    --tw-drop-shadow-size: drop-shadow(0 0 80px var(--tw-drop-shadow-color, rgba(203,166,247,0.3)));
    --tw-drop-shadow: var(--tw-drop-shadow-size);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .drop-shadow-md {
    --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.12)));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-blur-xl {
    --tw-backdrop-blur: blur(var(--blur-xl));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[background-color\,border-color\,color\,box-shadow\] {
    transition-property: background-color,border-color,color,box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[transform\,background-color\,border-color\,color\,box-shadow\] {
    transition-property: transform,background-color,border-color,color,box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[transform\,background-color\,color\,box-shadow\] {
    transition-property: transform,background-color,color,box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-150 {
    --tw-duration: 150ms;
    transition-duration: 150ms;
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .last\:border-b-0 {
    &:last-child {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 0px;
    }
  }
  .last\:pb-0 {
    &:last-child {
      padding-bottom: calc(var(--spacing) * 0);
    }
  }
  .hover\:border-fm-border {
    &:hover {
      @media (hover: hover) {
        border-color: var(--fm-border-default);
      }
    }
  }
  .hover\:border-fm-strong {
    &:hover {
      @media (hover: hover) {
        border-color: var(--fm-border-strong);
      }
    }
  }
  .hover\:bg-fm-disabled {
    &:hover {
      @media (hover: hover) {
        background-color: var(--fm-bg-disabled);
      }
    }
  }
  .hover\:bg-fm-hover {
    &:hover {
      @media (hover: hover) {
        background-color: var(--fm-bg-hover);
      }
    }
  }
  .hover\:bg-fm-raised {
    &:hover {
      @media (hover: hover) {
        background-color: var(--fm-bg-panel-raised);
      }
    }
  }
  .hover\:text-fm-primary {
    &:hover {
      @media (hover: hover) {
        color: var(--fm-text-primary);
      }
    }
  }
  .hover\:opacity-80 {
    &:hover {
      @media (hover: hover) {
        opacity: 80%;
      }
    }
  }
  .hover\:shadow-fm-control-hover {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: var(--fm-shadow-control-hover);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .focus-visible\:ring-2 {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:ring-fm-accent {
    &:focus-visible {
      --tw-ring-color: var(--fm-accent);
    }
  }
  .focus-visible\:ring-fm-danger {
    &:focus-visible {
      --tw-ring-color: var(--fm-danger);
    }
  }
  .active\:scale-100 {
    &:active {
      --tw-scale-x: 100%;
      --tw-scale-y: 100%;
      --tw-scale-z: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .active\:scale-\[0\.98\] {
    &:active {
      scale: 0.98;
    }
  }
  .active\:scale-\[0\.99\] {
    &:active {
      scale: 0.99;
    }
  }
  .active\:shadow-fm-control-pressed {
    &:active {
      --tw-shadow: var(--fm-shadow-control-pressed);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .disabled\:cursor-not-allowed {
    &:disabled {
      cursor: not-allowed;
    }
  }
  .disabled\:border-fm-disabled-border {
    &:disabled {
      border-color: var(--fm-border-disabled);
    }
  }
  .disabled\:bg-fm-disabled {
    &:disabled {
      background-color: var(--fm-bg-disabled);
    }
  }
  .disabled\:text-fm-disabled-text {
    &:disabled {
      color: var(--fm-text-disabled);
    }
  }
  .disabled\:opacity-100 {
    &:disabled {
      opacity: 100%;
    }
  }
  .disabled\:active\:scale-100 {
    &:disabled {
      &:active {
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .data-\[state\=active\]\:border-fm-border {
    &[data-state="active"] {
      border-color: var(--fm-border-default);
    }
  }
  .data-\[state\=active\]\:bg-fm-selected {
    &[data-state="active"] {
      background-color: var(--fm-bg-selected);
    }
  }
  .data-\[state\=active\]\:text-fm-accent {
    &[data-state="active"] {
      color: var(--fm-accent);
    }
  }
  .motion-reduce\:active\:scale-100 {
    @media (prefers-reduced-motion: reduce) {
      &:active {
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .sm\:max-h-\[70vh\] {
    @media (width >= 40rem) {
      max-height: 70vh;
    }
  }
  .sm\:max-w-\[70vw\] {
    @media (width >= 40rem) {
      max-width: 70vw;
    }
  }
  .sm\:p-8 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .sm\:p-16 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 16);
    }
  }
  .\[data-slot\=\"visualization-number-control\"\]\:visible {
    &:is(data-slot="visualization-number-control") {
      visibility: visible;
    }
  }
}
@layer fm-tokens {
  :root {
    --fm-radius-xs: 3px;
    --fm-radius-sm: 4px;
    --fm-radius-md: 6px;
    --fm-radius-lg: 10px;
    --fm-space-1: 4px;
    --fm-space-2: 8px;
    --fm-space-3: 12px;
    --fm-space-4: 16px;
    --fm-space-5: 20px;
    --fm-space-6: 24px;
    --fm-space-7: 28px;
    --fm-space-8: 32px;
    --fm-menu-height: 38px;
    --fm-ribbon-height: 124px;
    --fm-ribbon-tabs-height: 34px;
    --fm-status-height: 26px;
    --fm-panel-header-height: 38px;
    --fm-control-height-compact: 26px;
    --fm-control-height-regular: 30px;
    --fm-control-height-sm: var(--fm-control-height-compact);
    --fm-control-height-md: var(--fm-control-height-regular);
    --fm-field-row-min-height: 28px;
    --fm-slider-hit-height: 28px;
    --fm-slider-track-height: 4px;
    --fm-slider-thumb-size: 12px;
    --fm-inspector-padding-inline: 10px;
    --fm-inspector-row-gap: 2px;
    --fm-inspector-control-gap: 2px;
    --fm-inspector-group-gap: 8px;
    --fm-inspector-tab-height: 44px;
    --fm-inspector-icon-size: 44px;
    --fm-inspector-nav-icon-size: 36px;
    --fm-inspector-group-nav-height: 52px;
    --fm-chart-height-xs: 64px;
    --fm-chart-height-sm: 96px;
    --fm-chart-height-md: 260px;
    --fm-chart-height-lg: 360px;
    --fm-chart-height-analysis: 360px;
    --fm-ribbon-chevron-size: 19px;
    --fm-ribbon-tab-indicator-bottom: 25px;
    --fm-thread-progress-width: 54px;
    --fm-tree-indent: 15px;
    --fm-tree-guide-offset: 7px;
    --fm-icon-sm: 18px;
    --fm-bp-sm: 720px;
    --fm-bp-md: 760px;
    --fm-bp-lg: 960px;
    --fm-bp-xl: 1180px;
    --fm-bp-2xl: 1400px;
    --fm-bp-inspector: 390px;
    --fm-dialog-mesh-build-width: 680px;
    --fm-dialog-mesh-build-width-compact: 480px;
    --fm-dialog-mesh-build-section-max-height: 168px;
    --fm-dialog-data-preview-thumb-max-height: 92px;
    --fm-dialog-recorder-min-width: 720px;
    --fm-ribbon-dropdown-min-width: 240px;
    --fm-dropdown-min-width: 224px;
    --fm-panel-command-audit-min-width: 760px;
    --fm-panel-transport-log-min-width: 860px;
    --fm-inspector-freq-domain-max-height: 190px;
    --fm-inspector-mesh-type-icon-min-width: 96px;
    --fm-inspector-topo-charge-min-width: 82px;
    --fm-panel-section-min-width: 120px;
    --fm-footer-diag-label-col-width: 82px;
    --fm-footer-diag-value-col-width: 72px;
    --fm-footer-freq-indicator-col-width: 46px;
    --fm-font-ui: "Inter", "Aptos", sans-serif;
    --fm-font-sans: var(--fm-font-ui);
    --fm-font-mono: "JetBrains Mono", "Cascadia Code", monospace;
    --fm-font-size-2xs: 10px;
    --fm-font-size-xs: 11px;
    --fm-font-size-sm: 12px;
    --fm-font-size-md: 13px;
    --fm-font-size-base: var(--fm-font-size-md);
    --fm-font-size-lg: 15px;
    --fm-font-size-xl: 18px;
    --fm-line-height-tight: 1.1;
    --fm-font-size-field-label: 11px;
    --fm-font-size-control: 11px;
    --fm-font-size-help: 10px;
    --fm-line-height-control: 1.35;
    --fm-radius-input: 7px;
    --fm-radius-segment: 8px;
    --fm-radius-disclosure: 10px;
    --fm-radius-control: var(--fm-radius-input);
    --fm-radius-surface: var(--fm-radius-disclosure);
    --fm-disabled-opacity: 1;
    --fm-font-weight-normal: 400;
    --fm-font-weight-medium: 500;
    --fm-font-weight-semibold: 600;
    --fm-font-weight-bold: 650;
    --fm-font-weight-extrabold: 700;
    --fm-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --fm-shadow-control: 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    --fm-shadow-control-hover: 0 2px 5px rgba(0, 0, 0, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    --fm-shadow-control-pressed: inset 0 1px 2px rgba(0, 0, 0, 0.22);
    --fm-shadow-control-inset: inset 0 1px 2px rgba(0, 0, 0, 0.12);
    --fm-shadow-md: 0 4px 12px -2px rgba(0, 0, 0, 0.2), 0 2px 6px -1px rgba(0, 0, 0, 0.1);
    --fm-shadow-lg: 0 6px 16px -2px rgba(0, 0, 0, 0.25), 0 4px 8px -1px rgba(0, 0, 0, 0.15);
    --fm-shadow-elevated: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
    --fm-shadow-panel: 0 8px 32px -6px rgba(0, 0, 0, 0.45), 0 4px 12px -4px rgba(0, 0, 0, 0.2);
    --fm-shadow-drop-sm: 0 1px 3px rgb(0 0 0 / 50%);
    --fm-shadow-swatch-inset: inset 0 1px 2px rgb(0 0 0 / 30%);
    --fm-scrim: rgba(0, 0, 0, 0.5);
    --fm-focus-ring: 0 0 0 2px var(--fm-bg-app), 0 0 0 4px var(--fm-accent);
    --fm-transition-fast: 120ms ease-out;
    --fm-transition-normal: 180ms ease-out;
    --fm-z-base: 1;
    --fm-z-panel: 50;
    --fm-z-dialog-backdrop: 80;
    --fm-z-dialog: 90;
    --fm-z-dialog-content: 100;
    --fm-z-overlay: 120;
    --fm-z-overlay-raised: 130;
    --fm-z-portal: 140;
    --fm-z-portal-top: 141;
    --fm-z-floating: 150;
    --fm-z-toast: 200;
    --fm-duration-instant: var(--fm-duration-instant);
    --fm-duration-fast: var(--fm-duration-fast);
    --fm-duration-normal: var(--fm-duration-normal);
    --fm-duration-moderate: var(--fm-duration-moderate);
    --fm-duration-slow: var(--fm-duration-slow);
    --fm-duration-loading: var(--fm-duration-loading);
    --fm-radius-pill: 9999px;
  }
  .fm-mt-1 {
    margin-top: var(--fm-space-1);
  }
  .fm-mt-2 {
    margin-top: var(--fm-space-2);
  }
  .fm-mt-3 {
    margin-top: var(--fm-space-3);
  }
  .fm-mt-4 {
    margin-top: var(--fm-space-4);
  }
  .fm-mb-2 {
    margin-bottom: var(--fm-space-2);
  }
  .fm-mb-3 {
    margin-bottom: var(--fm-space-3);
  }
  .fm-ml-auto {
    margin-left: auto;
  }
  .fm-section-separator {
    border-top: 1px solid var(--fm-border-subtle);
    padding-top: var(--fm-space-3);
    margin-top: var(--fm-space-3);
  }
  .fm-toolbar-top {
    margin-top: var(--fm-space-2);
  }
  .fm-toolbar-top-lg {
    margin-top: var(--fm-space-3);
  }
}
@layer fm-tokens {
  :root, [data-theme="dark"] {
    color-scheme: dark;
    --fm-bg-app: #1e1e2e;
    --fm-bg-chrome: #181825;
    --fm-bg-panel: #1e1e2e;
    --fm-bg-panel-raised: #313244;
    --fm-bg-viewport: #11111b;
    --fm-bg-overlay: #313244;
    --fm-bg-selected: #264069;
    --fm-bg-canvas: #11111b;
    --fm-bg-surface: #242438;
    --fm-bg-elevated: #313244;
    --fm-bg-muted: #262739;
    --fm-bg-hover: #3b3c4f;
    --fm-surface-hover: var(--fm-bg-hover);
    --fm-bg-disabled: var(--fm-bg-muted);
    --fm-border-subtle: #313244;
    --fm-border-default: #45475a;
    --fm-border-moderate: var(--fm-border-default);
    @supports (color: color-mix(in lab, red, red)) {
      --fm-border-moderate: color-mix(in srgb, var(--fm-border-default) 50%, var(--fm-border-strong));
    }
    --fm-border-strong: #585b70;
    --fm-border-muted: #292a3a;
    --fm-border-disabled: var(--fm-border-muted);
    --fm-text-primary: #cdd6f4;
    --fm-text-secondary: #bac2de;
    --fm-text-muted: #6c7086;
    --fm-text-disabled: var(--fm-text-muted);
    --fm-text-inverse: #11111b;
    --fm-accent: #89b4fa;
    --fm-accent-strong: #b4befe;
    --fm-accent-soft: #2a2d52;
    --fm-chart-blue: #89b4fa;
    --fm-chart-green: #a6e3a1;
    --fm-chart-yellow: #f9e2af;
    --fm-chart-red: #f38ba8;
    --fm-chart-mauve: #cba6f7;
    --fm-chart-peach: #fab387;
    --fm-chart-teal: #94e2d5;
    --fm-chart-sky: #89dceb;
    --fm-chart-pink: #f5c2e7;
    --fm-chart-lavender: #b4befe;
    --fm-chart-flamingo: #f2cdcd;
    --fm-chart-rosewater: #f5e0dc;
    --fm-region-overlay-0: #f38ba8;
    --fm-region-overlay-1: #fab387;
    --fm-region-overlay-2: #f9e2af;
    --fm-region-overlay-3: #a6e3a1;
    --fm-region-overlay-4: #94e2d5;
    --fm-region-overlay-5: #89b4fa;
    --fm-region-overlay-6: #cba6f7;
    --fm-region-overlay-7: #f5c2e7;
    --fm-periodic-source: #89b4fa;
    --fm-periodic-node-link: #a6e3a1;
    --fm-periodic-translation: #f9e2af;
    --fm-periodic-unpaired: #f38ba8;
    --fm-success: #a6e3a1;
    --fm-info: #89dceb;
    --fm-warning: #f9e2af;
    --fm-danger: #f38ba8;
    --fm-stale: #cba6f7;
    --fm-degraded: #fab387;
    --fm-syntax-string: #a6e3a1;
    --fm-surface-3: #313244;
    --fm-shadow-panel: 0 12px 34px rgb(0 0 0 / 40%);
    --fm-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 50%);
    --fm-shadow-control: 0 1px 2px rgb(0 0 0 / 42%), inset 0 1px 0 rgb(255 255 255 / 8%);
    --fm-shadow-control-hover: 0 2px 5px rgb(0 0 0 / 46%), inset 0 1px 0 rgb(255 255 255 / 11%);
    --fm-shadow-control-pressed: inset 0 1px 3px rgb(0 0 0 / 55%);
    --fm-shadow-control-inset: inset 0 1px 3px rgb(0 0 0 / 34%);
  }
  [data-theme="light"] {
    color-scheme: light;
    --fm-bg-app: #eff1f5;
    --fm-bg-chrome: #e6e9ef;
    --fm-bg-panel: #eff1f5;
    --fm-bg-panel-raised: #e6e9ef;
    --fm-bg-viewport: #dce0e8;
    --fm-bg-overlay: #e6e9ef;
    --fm-bg-selected: #c4d7f5;
    --fm-bg-canvas: #dce0e8;
    --fm-bg-surface: #f7f8fb;
    --fm-bg-elevated: #e6e9ef;
    --fm-bg-muted: #e9ecf2;
    --fm-bg-hover: #dce0e8;
    --fm-surface-hover: var(--fm-bg-hover);
    --fm-bg-disabled: var(--fm-bg-muted);
    --fm-border-subtle: #ccd0da;
    --fm-border-default: #bcc0cc;
    --fm-border-moderate: var(--fm-border-default);
    @supports (color: color-mix(in lab, red, red)) {
      --fm-border-moderate: color-mix(in srgb, var(--fm-border-default) 50%, var(--fm-border-strong));
    }
    --fm-border-strong: #acb0be;
    --fm-border-muted: #d7dae2;
    --fm-border-disabled: var(--fm-border-muted);
    --fm-text-primary: #4c4f69;
    --fm-text-secondary: #5c5f77;
    --fm-text-muted: #9ca0b0;
    --fm-text-disabled: var(--fm-text-muted);
    --fm-text-inverse: #eff1f5;
    --fm-accent: #1e66f5;
    --fm-accent-strong: #7287fd;
    --fm-accent-soft: #d3e5fd;
    --fm-chart-blue: #1e66f5;
    --fm-chart-green: #40a02b;
    --fm-chart-yellow: #df8e1d;
    --fm-chart-red: #d20f39;
    --fm-chart-mauve: #8839ef;
    --fm-chart-peach: #fe640b;
    --fm-chart-teal: #179299;
    --fm-chart-sky: #04a5e5;
    --fm-chart-pink: #ea76cb;
    --fm-chart-lavender: #7287fd;
    --fm-chart-flamingo: #dd7878;
    --fm-chart-rosewater: #dc8a78;
    --fm-region-overlay-0: #d20f39;
    --fm-region-overlay-1: #fe640b;
    --fm-region-overlay-2: #df8e1d;
    --fm-region-overlay-3: #40a02b;
    --fm-region-overlay-4: #179299;
    --fm-region-overlay-5: #1e66f5;
    --fm-region-overlay-6: #8839ef;
    --fm-region-overlay-7: #ea76cb;
    --fm-periodic-source: #1e66f5;
    --fm-periodic-node-link: #40a02b;
    --fm-periodic-translation: #df8e1d;
    --fm-periodic-unpaired: #d20f39;
    --fm-success: #40a02b;
    --fm-info: #04a5e5;
    --fm-warning: #df8e1d;
    --fm-danger: #d20f39;
    --fm-stale: #8839ef;
    --fm-degraded: #fe640b;
    --fm-syntax-string: #40a02b;
    --fm-surface-3: #e6e9ef;
    --fm-shadow-panel: 0 14px 40px rgb(76 79 105 / 10%);
    --fm-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 5%);
    --fm-shadow-control: 0 1px 2px rgb(76 79 105 / 14%), inset 0 1px 0 rgb(255 255 255 / 72%);
    --fm-shadow-control-hover: 0 2px 5px rgb(76 79 105 / 18%), inset 0 1px 0 rgb(255 255 255 / 82%);
    --fm-shadow-control-pressed: inset 0 1px 3px rgb(76 79 105 / 20%);
    --fm-shadow-control-inset: inset 0 1px 3px rgb(76 79 105 / 13%);
  }
  .fm-inspector-alert {
    padding: var(--fm-space-3);
    border-radius: var(--fm-radius-sm);
    margin: var(--fm-space-2) 0;
  }
  .fm-inspector-alert.fm-alert-danger {
    border-left: 4px solid var(--fm-danger);
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 10%, transparent);
    }
  }
  .fm-inspector-alert.fm-alert-warning {
    border-left: 4px solid var(--fm-warning);
    background: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-warning) 10%, transparent);
    }
  }
}
@layer fm-base {
  * {
    box-sizing: border-box;
  }
  html, body {
    width: 100%;
    min-height: 100%;
    margin: 0;
    background: var(--fm-bg-app);
    color: var(--fm-text-primary);
    font-family: var(--fm-font-ui);
  }
  body {
    overflow: hidden;
    font-size: var(--fm-font-size-md);
    font-variant-numeric: tabular-nums;
    text-rendering: geometricPrecision;
  }
  button, input, select, textarea {
    font: inherit;
  }
  :focus-visible {
    border-radius: var(--fm-radius-sm);
    outline: none;
    box-shadow: var(--fm-focus-ring);
  }
  .fm-button {
    display: inline-flex;
    min-height: var(--fm-control-height-compact);
    align-items: center;
    justify-content: center;
    gap: var(--fm-space-2);
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
    cursor: pointer;
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-sm);
    font-weight: 520;
    line-height: 1;
    text-decoration: none;
    transition: background-color var(--fm-transition-fast), border-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast), color var(--fm-transition-fast), transform var(--fm-duration-fast) ease-out;
    user-select: none;
  }
  .fm-button:hover {
    border-color: var(--fm-border-strong);
    transform: translateY(-1px);
  }
  .fm-button:active:not(:disabled):not([data-disabled="true"]) {
    transform: scale(0.97) translateY(0);
    transition-duration: var(--fm-duration-instant);
  }
  .fm-button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--fm-accent) 30%, transparent);
    }
  }
  .fm-button:disabled, .fm-button[data-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.48;
    transform: none;
  }
  .fm-button--primary {
    border-color: var(--fm-accent);
    background: var(--fm-accent-soft);
    color: var(--fm-accent);
    font-weight: 600;
  }
  .fm-button--primary:hover {
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 20%, transparent);
    }
    border-color: var(--fm-accent-strong);
    color: var(--fm-accent-strong);
  }
  .fm-button--primary:active:not(:disabled) {
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 28%, transparent);
    }
  }
  .fm-button--secondary {
    background: var(--fm-bg-panel-raised);
  }
  .fm-button--ghost {
    border-color: transparent;
    background: transparent;
    color: var(--fm-text-secondary);
  }
  .fm-button--ghost:hover {
    border-color: var(--fm-border-subtle);
    background: var(--fm-bg-panel-raised);
  }
  .fm-button--danger {
    border-color: var(--fm-danger);
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 14%, transparent);
    }
    color: var(--fm-danger);
    font-weight: 600;
  }
  .fm-button--danger:hover {
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 24%, transparent);
    }
  }
  .fm-button--sm {
    min-height: var(--fm-control-height-compact);
    padding: 0 var(--fm-space-2);
    font-size: var(--fm-font-size-xs);
  }
  .fm-button--md {
    min-height: var(--fm-control-height-compact);
    padding: 0 var(--fm-space-3);
  }
  .fm-button--icon {
    width: var(--fm-control-height-compact);
    min-width: var(--fm-control-height-compact);
    padding: 0;
  }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      transition-duration: 1ms !important;
      animation-duration: 1ms !important;
      animation-iteration-count: 1 !important;
      scroll-behavior: auto !important;
    }
  }
  @keyframes accordion-down {
    from {
      height: 0;
    }
    to {
      height: var(--radix-accordion-content-height);
    }
  }
  @keyframes accordion-up {
    from {
      height: var(--radix-accordion-content-height);
    }
    to {
      height: 0;
    }
  }
  .fm-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    white-space: nowrap;
  }
}
@layer fm-base {
  .fm-workspace-shell {
    display: grid;
    position: relative;
    grid-template-rows: var(--fm-menu-height) var(--fm-ribbon-height) 1fr var(--fm-status-height);
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background: var(--fm-bg-app);
    color: var(--fm-text-primary);
    isolation: isolate;
  }
  .fm-workspace-overlay-host {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .fm-workspace-overlay-host > .fm-slot {
    width: 100%;
    height: 100%;
  }
  .fm-workspace-body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }
  .fm-workspace-body > [data-panel-group], .fm-resizable-group {
    height: 100%;
    min-height: 0;
  }
  .fm-resizable-panel {
    min-height: 0;
    min-width: 0;
  }
  .fm-resizable-panel > .fm-slot {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  .fm-dock-column {
    display: grid;
    grid-template-rows: var(--fm-panel-header-height) minmax(0, 1fr);
    height: 100%;
    min-width: 0;
    min-height: 0;
    background: var(--fm-bg-panel);
    transition: opacity var(--fm-transition-fast), transform var(--fm-transition-fast);
  }
  .fm-dock-column[data-dragging="true"] {
    opacity: 0.76;
    z-index: 3;
  }
  .fm-dock-column__handle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid var(--fm-border-subtle);
    border-bottom: 0;
    background: var(--fm-bg-chrome);
    color: var(--fm-text-secondary);
    cursor: grab;
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    letter-spacing: 0.04em;
    padding-inline: var(--fm-space-3);
    text-transform: uppercase;
    touch-action: none;
    user-select: none;
  }
  .fm-dock-column > .fm-slot {
    min-height: 0;
  }
  .fm-dock-column__handle:active {
    cursor: grabbing;
  }
  .fm-resize-handle {
    background: var(--fm-border-subtle);
    transition: background-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
  }
  .fm-resize-handle:hover, .fm-resize-handle[data-resize-handle-active] {
    background: var(--fm-accent);
    box-shadow: 0 0 0 1px var(--fm-accent-soft);
  }
  .fm-resize-handle--vertical {
    width: var(--fm-space-1);
    cursor: col-resize;
  }
  .fm-resize-handle--horizontal {
    height: var(--fm-space-1);
    cursor: row-resize;
  }
}
@layer fm-base {
  .fm-slot {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel);
  }
  .fm-slot[data-slot-id="app-menu"], .fm-slot[data-slot-id="ribbon"], .fm-slot[data-slot-id="status-bar"] {
    background: var(--fm-bg-chrome);
  }
  .fm-slot[data-slot-id="viewport-main"] {
    background: var(--fm-bg-viewport);
  }
  .fm-slot[data-slot-id="panel-bottom"] {
    height: 100%;
  }
  .fm-slot[data-slot-id="overlay"] {
    border: 0;
    background: transparent;
    overflow: visible;
    pointer-events: none;
  }
  .fm-slot[data-slot-id="overlay"] > * {
    pointer-events: auto;
  }
  .fm-slot__empty, .fm-slot__loading, .fm-slot__module {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
    letter-spacing: 0.01em;
  }
  .fm-slot__error {
    display: flex;
    height: 100%;
    min-height: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: var(--fm-space-2);
    padding: var(--fm-space-4);
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-sm);
  }
  .fm-slot__error strong {
    color: var(--fm-danger);
    font-size: var(--fm-font-size-md);
  }
  .fm-slot__error span {
    max-width: 72ch;
    overflow-wrap: anywhere;
  }
  .fm-slot__error button {
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
    cursor: pointer;
    font: inherit;
    padding: var(--fm-space-1) var(--fm-space-3);
  }
  .fm-slot__error button:hover {
    border-color: var(--fm-accent);
    background: var(--fm-bg-hover);
  }
  .fm-viewport-tabs {
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    border: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-viewport);
  }
  .fm-viewport-tabs__root {
    display: grid;
    grid-template-rows: var(--fm-ribbon-tabs-height) minmax(0, 1fr);
    min-height: 0;
  }
  .fm-viewport-tabs__bar {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-chrome);
    padding-inline: var(--fm-space-2);
  }
  .fm-viewport-tabs__list {
    display: inline-flex;
    height: var(--fm-control-height-compact);
    min-width: 0;
  }
  .fm-viewport-tabs__trigger {
    max-width: 18ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-viewport-tabs__surface {
    min-height: 0;
    min-width: 0;
    overflow: hidden;
  }
  .fm-status-bar {
    display: flex;
    height: 100%;
    align-items: center;
    gap: 0;
    padding-inline: var(--fm-space-3);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    letter-spacing: 0.01em;
    user-select: none;
    overflow: hidden;
  }
  .fm-status-bar__item {
    display: inline-flex;
    align-items: center;
    gap: var(--fm-space-1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 30ch;
  }
  .fm-status-bar__sep {
    width: 1px;
    height: var(--fm-slider-thumb-size);
    margin-inline: var(--fm-space-2);
    background: var(--fm-border-subtle);
    flex-shrink: 0;
  }
  .fm-status-bar__dot {
    width: var(--fm-space-1);
    height: var(--fm-space-1);
    border-radius: 50%;
    background: var(--fm-text-muted);
    flex-shrink: 0;
    transition: background-color var(--fm-transition-normal);
  }
  .fm-status-bar__dot[data-status="ready"] {
    background: var(--fm-success);
  }
  .fm-status-bar__dot[data-status="loading"], .fm-status-bar__dot[data-status="pending"] {
    background: var(--fm-warning);
  }
  .fm-status-bar__dot[data-status="error"] {
    background: var(--fm-danger);
  }
  .fm-status-bar__spacer {
    flex: 1;
  }
  .fm-status-bar__engine {
    display: inline-flex;
    min-width: 0;
    max-width: min(44vw, 48ch);
    align-items: center;
    gap: var(--fm-space-1);
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    padding: 1px var(--fm-space-2);
    white-space: nowrap;
  }
  .fm-status-bar__engine[data-state="resolved"] {
    border-color: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix( in srgb, var(--fm-success) 34%, var(--fm-border-default) );
    }
    color: var(--fm-text-primary);
  }
  .fm-status-bar__engine[data-state="active"] {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix( in srgb, var(--fm-accent) 58%, var(--fm-border-default) );
    }
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 13%, var(--fm-bg-panel-raised));
    }
    box-shadow: inset 0 0 0 1px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fm-accent) 18%, transparent);
    }
    color: var(--fm-text-primary);
  }
  .fm-status-bar__engine-label {
    color: var(--fm-accent);
    font-weight: 700;
  }
  .fm-status-bar__engine-sep {
    color: var(--fm-border-strong);
  }
  .fm-status-bar__engine-detail {
    min-width: 0;
    overflow: hidden;
    color: var(--fm-text-muted);
    text-overflow: ellipsis;
  }
  .fm-status-bar__item--clickable {
    cursor: pointer;
    transition: color var(--fm-transition-fast);
  }
  .fm-status-bar__item--clickable:hover {
    color: var(--fm-text-primary);
  }
  .fm-status-bar__engine--clickable {
    cursor: pointer;
    transition: background var(--fm-transition-fast), border-color var(--fm-transition-fast);
  }
  .fm-status-bar__engine--clickable:hover {
    background: var(--fm-text-muted);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-text-muted) 8%, var(--fm-bg-panel-raised));
    }
    border-color: var(--fm-border-strong);
  }
}
@layer fm-primitives {
  .fm-dropdown-content {
    z-index: var(--fm-z-dialog-content);
    min-width: var(--fm-dropdown-min-width);
    overflow: hidden;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-overlay);
    box-shadow: var(--fm-shadow-panel);
    color: var(--fm-text-primary);
    padding: var(--fm-space-1);
  }
  .fm-dropdown-item {
    position: relative;
    display: flex;
    min-height: var(--fm-field-row-min-height);
    align-items: center;
    gap: var(--fm-space-2);
    border-radius: var(--fm-radius-sm);
    color: var(--fm-text-secondary);
    cursor: default;
    font-size: var(--fm-font-size-sm);
    line-height: 1;
    outline: none;
    padding: var(--fm-space-2);
    user-select: none;
  }
  .fm-dropdown-item[data-highlighted], .fm-dropdown-item[data-state="open"] {
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
  }
  .fm-dropdown-item[data-disabled] {
    color: var(--fm-text-muted);
    opacity: 0.5;
    pointer-events: none;
  }
  .fm-dropdown-item--inset {
    padding-left: calc(var(--fm-space-5) + var(--fm-space-2));
  }
  .fm-dropdown-check-item {
    padding-left: calc(var(--fm-space-5) + var(--fm-space-2));
  }
  .fm-dropdown-item__indicator {
    position: absolute;
    left: var(--fm-space-2);
    display: inline-flex;
    width: var(--fm-space-3);
    height: var(--fm-space-3);
    align-items: center;
    justify-content: center;
    color: var(--fm-accent);
  }
  .fm-dropdown-item__chevron {
    width: var(--fm-space-3);
    height: var(--fm-space-3);
    margin-left: auto;
    color: var(--fm-text-muted);
  }
  .fm-dropdown-label {
    display: flex;
    min-height: var(--fm-control-height-compact);
    align-items: center;
    justify-content: space-between;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
    font-weight: 650;
    letter-spacing: 0.05em;
    padding: var(--fm-space-2);
    text-transform: uppercase;
  }
  .fm-dropdown-separator {
    height: 1px;
    margin: var(--fm-space-1);
    background: var(--fm-border-subtle);
  }
  .fm-dropdown-shortcut, .fm-dropdown-badge {
    margin-left: auto;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    letter-spacing: 0.05em;
  }
  .fm-dropdown-badge {
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-xs);
    padding: 1px var(--fm-space-1);
    text-transform: uppercase;
  }
  .fm-dropdown-slider {
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-1);
    padding: var(--fm-space-2);
    padding-bottom: var(--fm-space-3);
  }
  .fm-dropdown-slider--disabled {
    opacity: 0.4;
    pointer-events: none;
  }
  .fm-dropdown-slider__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .fm-dropdown-slider__label {
    font-size: var(--fm-font-size-sm);
    color: var(--fm-text-secondary);
    user-select: none;
  }
  .fm-dropdown-slider__value {
    font-size: var(--fm-font-size-xs);
    font-family: var(--fm-font-mono);
    color: var(--fm-accent);
    min-width: 3ch;
    text-align: right;
    user-select: none;
  }
  .fm-dropdown-slider__track {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: var(--fm-slider-track-height);
    border-radius: 2px;
    outline: none;
    cursor: pointer;
    border: none;
    background: linear-gradient( to right, var(--fm-accent) 0%, var(--fm-accent) var(--pct, 50%), var(--fm-border-default) var(--pct, 50%), var(--fm-border-default) 100% );
    transition: background var(--fm-transition-fast);
  }
  .fm-dropdown-slider__track::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: var(--fm-slider-thumb-size);
    height: var(--fm-slider-thumb-size);
    border-radius: 50%;
    background: var(--fm-accent);
    cursor: pointer;
    box-shadow: 0 0 0 2px var(--fm-bg-overlay), var(--fm-shadow-drop-sm);
    transition: transform var(--fm-transition-fast), background var(--fm-transition-fast);
  }
  .fm-dropdown-slider__track::-webkit-slider-thumb:hover {
    transform: scale(1.2);
    background: var(--fm-accent-strong);
  }
  .fm-dropdown-slider__track::-moz-range-thumb {
    width: var(--fm-slider-thumb-size);
    height: var(--fm-slider-thumb-size);
    border: none;
    border-radius: 50%;
    background: var(--fm-accent);
    cursor: pointer;
    box-shadow: 0 0 0 2px var(--fm-bg-overlay), var(--fm-shadow-drop-sm);
  }
  .fm-dropdown-slider__track:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px var(--fm-accent);
    border-radius: 2px;
  }
  .fm-dropdown-color {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
    min-height: var(--fm-field-row-min-height);
    padding: var(--fm-space-2);
    border-radius: var(--fm-radius-sm);
    transition: background var(--fm-transition-fast);
  }
  .fm-dropdown-color:not(.fm-dropdown-color--disabled):hover {
    background: var(--fm-bg-panel-raised);
  }
  .fm-dropdown-color--disabled {
    opacity: 0.4;
    cursor: not-allowed;
  }
  .fm-dropdown-color__label {
    flex: 1;
    font-size: var(--fm-font-size-sm);
    color: var(--fm-text-secondary);
    user-select: none;
  }
  .fm-dropdown-color__swatch {
    position: relative;
    display: block;
    width: var(--fm-control-height-regular);
    height: var(--fm-space-4);
    border-radius: var(--fm-radius-xs);
    border: 1px solid var(--fm-border-strong);
    cursor: pointer;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: var(--fm-shadow-swatch-inset);
    transition: border-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
  }
  .fm-dropdown-color__swatch:hover {
    border-color: var(--fm-accent);
    box-shadow: var(--fm-shadow-swatch-inset), 0 0 0 1px var(--fm-accent);
  }
  .fm-dropdown-color__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: none;
    opacity: 0;
    cursor: pointer;
  }
  .fm-dropdown-text {
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-1);
    padding: var(--fm-space-2);
  }
  .fm-dropdown-text--disabled {
    opacity: 0.4;
    pointer-events: none;
  }
  .fm-dropdown-text__label {
    font-size: var(--fm-font-size-sm);
    color: var(--fm-text-secondary);
    user-select: none;
  }
  .fm-dropdown-text__input {
    min-width: 180px;
    height: var(--fm-field-row-min-height);
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-panel);
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    padding: 0 var(--fm-space-2);
  }
  .fm-dropdown-text__input:focus-visible {
    outline: none;
    border-color: var(--fm-accent);
    box-shadow: 0 0 0 1px var(--fm-accent);
  }
}
@layer fm-primitives {
  .fm-dialog__overlay {
    position: fixed;
    inset: 0;
    z-index: var(--fm-z-dialog);
    background: var(--fm-bg-app);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-app) 76%, transparent);
    }
    animation: fm-overlay-in var(--fm-duration-normal) ease-out;
  }
  .fm-dialog {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: var(--fm-z-dialog-content);
    display: flex;
    flex-direction: column;
    width: min(560px, calc(100vw - var(--fm-space-8)));
    max-height: min(680px, calc(100vh - 96px));
    gap: var(--fm-space-4);
    overflow: hidden;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-lg);
    background: var(--fm-bg-overlay);
    box-shadow: var(--fm-shadow-panel);
    color: var(--fm-text-primary);
    transform: translate(-50%, -50%);
    animation: fm-dialog-in var(--fm-duration-moderate) ease-out;
  }
  .fm-dialog__header {
    display: grid;
    gap: var(--fm-space-2);
    padding: var(--fm-space-5) var(--fm-space-5) 0;
    flex: 0 0 auto;
  }
  .fm-dialog__title {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-lg);
    font-weight: 650;
    line-height: 1.2;
  }
  .fm-dialog__description {
    margin: 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
    line-height: 1.5;
  }
  .fm-dialog__body {
    display: grid;
    gap: var(--fm-space-3);
    min-width: 0;
    overflow: auto;
    padding: 0 var(--fm-space-5);
    flex: 1 1 auto;
    min-height: 0;
  }
  .fm-dialog__footer {
    padding: 0 var(--fm-space-5) var(--fm-space-5);
    flex: 0 0 auto;
  }
  .fm-dialog__details {
    display: grid;
    gap: var(--fm-space-2);
    margin: 0;
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
  }
  .fm-dialog__details-row {
    display: grid;
    grid-template-columns: minmax(96px, max-content) minmax(0, 1fr);
    gap: var(--fm-space-3);
    align-items: baseline;
    min-width: 0;
    font-size: var(--fm-font-size-sm);
  }
  .fm-dialog__details-label {
    color: var(--fm-text-muted);
  }
  .fm-dialog__details-value {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-dialog__error {
    margin: 0;
    max-height: 180px;
    overflow: auto;
    border: 1px solid var(--fm-danger);
    border-radius: var(--fm-radius-md);
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 10%, var(--fm-bg-panel));
    }
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    line-height: 1.45;
    padding: var(--fm-space-3);
    white-space: pre-wrap;
  }
  .fm-dialog__footer {
    display: flex;
    justify-content: flex-end;
    gap: var(--fm-space-2);
    padding: 0 var(--fm-space-5) var(--fm-space-5);
    flex: 0 0 auto;
  }
  @keyframes fm-overlay-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes fm-dialog-in {
    from {
      opacity: 0;
      transform: translate(-50%, -48%) scale(0.96);
    }
    to {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1);
    }
  }
}
@layer fm-primitives {
  .fm-mesh-build-confirm-dialog {
    width: min(760px, calc(100vw - var(--fm-space-8)));
    max-height: min(760px, calc(100vh - 64px));
  }
  .fm-mesh-build-confirm {
    display: grid;
    gap: var(--fm-space-3);
    min-width: 0;
  }
  .fm-mesh-build-confirm__section {
    display: grid;
    gap: var(--fm-space-2);
    min-width: 0;
  }
  .fm-mesh-build-confirm__section-title {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-mesh-build-confirm__diff {
    display: grid;
    border-spacing: 0;
    min-width: 0;
    overflow: auto;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
  }
  .fm-mesh-build-confirm__diff thead, .fm-mesh-build-confirm__diff tbody {
    display: contents;
  }
  .fm-mesh-build-confirm__diff-row {
    display: grid;
    grid-template-columns: minmax(80px, 0.7fr) minmax(120px, 1.2fr) minmax(88px, 1fr) minmax(88px, 1fr) minmax(104px, 1fr) minmax(88px, 0.8fr);
    gap: var(--fm-space-2);
    align-items: center;
    min-width: var(--fm-dialog-mesh-build-width);
    padding: var(--fm-space-2) var(--fm-space-3);
    border-top: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mesh-build-confirm__diff-row > * {
    text-align: left;
    font-weight: inherit;
  }
  .fm-mesh-build-confirm__diff-row:first-child {
    border-top: 0;
  }
  .fm-mesh-build-confirm__diff-row--header {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-sans);
    font-weight: 650;
  }
  .fm-mesh-build-confirm__diff-row[data-state="changed"], .fm-mesh-build-confirm__diff-row[data-state="added"], .fm-mesh-build-confirm__diff-row[data-state="removed"], .fm-mesh-build-confirm__diff-row[data-state="realized-drift"] {
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 8%, transparent);
    }
  }
  .fm-mesh-build-confirm__diff-row[data-state="unchanged"] {
    opacity: 0.65;
  }
  .fm-mesh-build-confirm__diff--summary .fm-mesh-build-confirm__diff-row {
    grid-template-columns: minmax(120px, 1.2fr) minmax(88px, 1fr) minmax(88px, 1fr) minmax(80px, 0.8fr);
    min-width: var(--fm-dialog-mesh-build-width-compact);
  }
  .fm-mesh-build-confirm__banner {
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
  }
  .fm-mesh-build-confirm__banner--error {
    border-color: var(--fm-danger);
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 8%, transparent);
    }
  }
  .fm-mesh-build-confirm__empty {
    margin: 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
  }
  .fm-mesh-build-confirm__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--fm-space-2);
  }
  .fm-dialog__mesh-pipeline {
    display: grid;
    gap: var(--fm-space-3);
    min-width: 0;
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
  }
  .fm-dialog__mesh-pipeline-header {
    display: flex;
    gap: var(--fm-space-3);
    align-items: baseline;
    justify-content: space-between;
    min-width: 0;
  }
  .fm-dialog__mesh-pipeline-title {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-dialog__mesh-pipeline-meta {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-dialog__mesh-progress {
    position: relative;
    display: flex;
    min-height: var(--fm-control-height-compact);
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-canvas);
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    padding: 0 var(--fm-space-2);
  }
  .fm-dialog__mesh-progress::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--fm-mesh-build-progress);
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 34%, transparent);
    }
    content: "";
  }
  .fm-dialog__mesh-progress span, .fm-dialog__mesh-progress strong {
    position: relative;
    z-index: var(--fm-z-base);
  }
  .fm-dialog__mesh-progress strong {
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-weight: 650;
  }
  .fm-dialog__mesh-phase-list {
    display: grid;
    gap: var(--fm-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .fm-dialog__mesh-phase {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: var(--fm-space-1) var(--fm-space-2);
    min-width: 0;
    padding: var(--fm-space-2);
    border: 1px solid var(--fm-border-muted);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-canvas);
  }
  .fm-dialog__mesh-phase-label {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 600;
  }
  .fm-dialog__mesh-phase-status {
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-dialog__mesh-phase-progress {
    grid-column: 1 / -1;
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--fm-accent);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-dialog__mesh-phase-detail {
    grid-column: 1 / -1;
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-dialog__mesh-pipeline-empty {
    margin: 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
  }
  .fm-dialog__mesh-pipeline-summary {
    display: grid;
    gap: var(--fm-space-2);
    margin: 0;
    padding: 0;
  }
  .fm-dialog__mesh-log {
    display: grid;
    gap: var(--fm-space-3);
    min-width: 0;
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
  }
  .fm-dialog__mesh-log-header {
    display: flex;
    gap: var(--fm-space-3);
    align-items: baseline;
    justify-content: space-between;
    min-width: 0;
  }
  .fm-dialog__mesh-log-title {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-dialog__mesh-log-meta {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-dialog__mesh-log-list {
    display: grid;
    gap: var(--fm-space-1);
    max-height: var(--fm-dialog-mesh-build-section-max-height);
    overflow: auto;
  }
  .fm-dialog__mesh-log-row {
    display: grid;
    grid-template-columns: max-content max-content minmax(0, 1fr);
    gap: var(--fm-space-2);
    align-items: baseline;
    min-width: 0;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
  }
  .fm-dialog__mesh-log-row time, .fm-dialog__mesh-log-row [data-level] {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
  }
  .fm-dialog__mesh-log-row [data-level="error"] {
    color: var(--fm-danger);
  }
  .fm-dialog__mesh-log-row [data-level="success"] {
    color: var(--fm-success);
  }
  .fm-dialog__mesh-log-row [role="cell"]:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .fm-dialog__mesh-log-empty {
    margin: 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
  }
  @media (max-width: 720px) {
    .fm-mesh-build-confirm__cell--scope, .fm-mesh-build-confirm__cell--realized, .fm-mesh-build-confirm__cell--impact, .fm-mesh-build-confirm__diff-row--header th:nth-child(1), .fm-mesh-build-confirm__diff-row--header th:nth-child(5), .fm-mesh-build-confirm__diff-row--header th:nth-child(6) {
      display: none !important;
    }
    .fm-mesh-build-confirm__diff-row {
      grid-template-columns: 1.5fr 1fr 1fr;
      min-width: 0 !important;
    }
  }
}
@layer fm-primitives {
  .fm-mode-data-preview.fm-dialog {
    width: min(760px, calc(100vw - var(--fm-space-8)));
  }
  .fm-mode-data-preview__title-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--fm-space-3);
    align-items: start;
    min-width: 0;
  }
  .fm-mode-data-preview__meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--fm-space-2);
    margin: 0;
  }
  .fm-mode-data-preview__meta div {
    display: grid;
    gap: var(--fm-space-1);
    min-width: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-panel);
    padding: var(--fm-space-2);
  }
  .fm-mode-data-preview__meta dt {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mode-data-preview__meta dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mode-data-preview__table-wrap {
    min-height: 180px;
    overflow: auto;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
  }
  .fm-mode-data-preview__table {
    min-width: 520px;
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mode-data-preview__table th {
    position: sticky;
    top: 0;
    background: var(--fm-bg-panel);
  }
  .fm-mode-data-preview__resource {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    padding: var(--fm-space-2);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  @media (max-width: 720px) {
    .fm-mode-data-preview__meta {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .fm-data-preview {
    position: fixed;
    z-index: var(--fm-z-overlay);
    display: grid;
    width: min(620px, calc(100vw - 16px));
    max-height: min(620px, calc(100vh - 16px));
    overflow: hidden;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-lg);
    background: var(--fm-bg-overlay);
    box-shadow: var(--fm-shadow-panel);
    color: var(--fm-text-primary);
  }
  .fm-data-preview__handle {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) var(--fm-slider-hit-height) var(--fm-slider-hit-height);
    gap: var(--fm-space-2);
    align-items: center;
    cursor: grab;
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel);
    padding: var(--fm-space-3);
    user-select: none;
  }
  .fm-data-preview__handle:active {
    cursor: grabbing;
  }
  .fm-data-preview__heading {
    display: flex;
    gap: var(--fm-space-3);
    align-items: baseline;
    min-width: 0;
  }
  .fm-data-preview__heading h2 {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
    line-height: 1.2;
  }
  .fm-data-preview__heading span {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-data-preview__icon-btn {
    cursor: pointer;
  }
  .fm-data-preview__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(110px, 0.5fr) minmax(88px, 0.35fr);
    gap: var(--fm-space-3);
    padding: var(--fm-space-3);
  }
  .fm-data-preview__controls label {
    display: grid;
    gap: var(--fm-space-1);
    min-width: 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-data-preview__controls input, .fm-data-preview__controls select {
    min-width: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-canvas);
    color: var(--fm-text-primary);
    font: inherit;
    padding: var(--fm-space-2);
  }
  .fm-data-preview__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--fm-space-2);
    margin: 0;
    padding: 0 var(--fm-space-3) var(--fm-space-3);
  }
  .fm-data-preview__meta div {
    display: grid;
    gap: var(--fm-space-1);
    min-width: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-panel);
    padding: var(--fm-space-2);
  }
  .fm-data-preview__meta dt {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-data-preview__meta dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-data-preview__error {
    margin: 0 var(--fm-space-3) var(--fm-space-3);
    max-height: var(--fm-dialog-data-preview-thumb-max-height);
    overflow: auto;
    border: 1px solid var(--fm-danger);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 10%, var(--fm-bg-panel));
    }
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    line-height: 1.45;
    padding: var(--fm-space-2);
  }
  .fm-data-preview__table-wrap {
    min-height: 160px;
    overflow: auto;
    border-block: 1px solid var(--fm-border-subtle);
  }
  .fm-data-preview__table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-data-preview__table th, .fm-data-preview__table td {
    border-bottom: 1px solid var(--fm-border-subtle);
    padding: var(--fm-space-2) var(--fm-space-3);
    text-align: left;
    white-space: nowrap;
  }
  .fm-data-preview__table th {
    position: sticky;
    top: 0;
    background: var(--fm-bg-panel);
    color: var(--fm-text-muted);
    font-weight: 600;
  }
  .fm-data-preview__resource {
    min-width: 0;
    overflow: hidden;
    padding: var(--fm-space-2) var(--fm-space-3);
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  @media (max-width: 720px) {
    .fm-data-preview {
      width: calc(100vw - 16px);
    }
    .fm-data-preview__controls, .fm-data-preview__meta {
      grid-template-columns: 1fr;
    }
  }
}
@layer fm-primitives {
  .fm-simulation-startup {
    position: fixed;
    inset: 0;
    z-index: var(--fm-z-dialog-backdrop);
    display: grid;
    place-items: center;
    padding: var(--fm-space-6);
    background: var(--fm-bg-app);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-app) 88%, transparent);
    }
  }
  .fm-simulation-startup__panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: var(--fm-space-4);
    width: min(980px, calc(100vw - var(--fm-space-8)));
    max-height: calc(100vh - (2 * var(--fm-space-6)));
    min-height: min(620px, calc(100vh - (2 * var(--fm-space-6))));
    overflow: hidden;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-lg);
    background: var(--fm-bg-overlay);
    box-shadow: var(--fm-shadow-panel);
    color: var(--fm-text-primary);
    padding: var(--fm-space-5);
  }
  .fm-simulation-startup[data-state="stale"] .fm-simulation-startup__panel {
    border-color: var(--fm-stale);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-stale) 55%, var(--fm-border-default));
    }
  }
  .fm-simulation-startup[data-state="failed"] .fm-simulation-startup__panel, .fm-simulation-startup[data-state="resource-error"] .fm-simulation-startup__panel {
    border-color: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-danger) 58%, var(--fm-border-default));
    }
  }
  .fm-simulation-startup__header, .fm-simulation-startup__heading-copy, .fm-simulation-startup__timeline, .fm-simulation-startup__log, .fm-simulation-startup__stage-copy {
    min-width: 0;
  }
  .fm-simulation-startup__header {
    display: grid;
    gap: var(--fm-space-3);
  }
  .fm-simulation-startup__heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fm-space-6);
  }
  .fm-simulation-startup__heading-copy {
    display: grid;
    gap: var(--fm-space-1);
  }
  .fm-simulation-startup__eyebrow {
    margin: 0;
    color: var(--fm-accent);
    font-size: var(--fm-font-size-2xs);
    font-weight: 700;
    letter-spacing: 0.09em;
    line-height: 1.3;
    text-transform: uppercase;
  }
  .fm-simulation-startup__title {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xl);
    font-weight: 680;
    letter-spacing: -0.015em;
    line-height: 1.15;
  }
  .fm-simulation-startup__detail, .fm-simulation-startup__progress-detail, .fm-simulation-startup__footer p, .fm-simulation-startup__empty-stages, .fm-simulation-startup__empty-log {
    margin: 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
    line-height: 1.45;
  }
  .fm-simulation-startup__elapsed {
    display: grid;
    flex: 0 0 auto;
    gap: var(--fm-space-1);
    justify-items: end;
    font-variant-numeric: tabular-nums;
  }
  .fm-simulation-startup__elapsed span {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .fm-simulation-startup__elapsed strong {
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-lg);
    font-weight: 600;
  }
  .fm-simulation-startup__reconnecting {
    display: flex;
    align-items: baseline;
    gap: var(--fm-space-2);
    border: 1px solid var(--fm-stale);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-stale) 42%, var(--fm-border-subtle));
    }
    border-radius: var(--fm-radius-md);
    background: var(--fm-stale);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-stale) 10%, var(--fm-bg-panel));
    }
    color: var(--fm-stale);
    padding: var(--fm-space-2) var(--fm-space-3);
    font-size: var(--fm-font-size-sm);
  }
  .fm-simulation-startup__reconnecting strong {
    color: var(--fm-text-primary);
  }
  .fm-simulation-startup__execution {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fm-space-2) var(--fm-space-5);
    margin: 0;
  }
  .fm-simulation-startup__execution > div {
    display: flex;
    align-items: baseline;
    gap: var(--fm-space-2);
    min-width: 0;
  }
  .fm-simulation-startup__execution dt {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .fm-simulation-startup__execution dd {
    margin: 0;
    overflow: hidden;
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-simulation-startup__progress-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--fm-space-3);
  }
  .fm-simulation-startup__progress {
    height: var(--fm-space-2);
    background: var(--fm-bg-canvas);
  }
  .fm-simulation-startup__progress[data-kind="indeterminate"] .fm-progress__indicator {
    width: 42%;
    animation: fm-simulation-startup-progress-indeterminate 1.4s ease-in-out infinite;
  }
  .fm-simulation-startup__progress-label {
    min-width: var(--fm-space-8);
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    font-variant-numeric: tabular-nums;
    text-align: right;
  }
  .fm-simulation-startup__progress-detail {
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-simulation-startup__body {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(400px, 1.25fr);
    gap: var(--fm-space-4);
    min-height: 0;
  }
  .fm-simulation-startup__timeline, .fm-simulation-startup__log {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
  }
  .fm-simulation-startup__section-header {
    display: flex;
    min-height: var(--fm-panel-header-height);
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    padding: var(--fm-space-2) var(--fm-space-3);
  }
  .fm-simulation-startup__section-header h3 {
    margin: 0;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    font-weight: 650;
    letter-spacing: 0.04em;
    line-height: 1.25;
    text-transform: uppercase;
  }
  .fm-simulation-startup__stages {
    display: grid;
    grid-auto-rows: max-content;
    align-content: start;
    margin: 0;
    overflow-y: auto;
    padding: var(--fm-space-2) var(--fm-space-3);
    list-style: none;
    scrollbar-color: var(--fm-border-default) transparent;
    scrollbar-width: thin;
  }
  .fm-simulation-startup__stages li {
    position: relative;
    display: grid;
    grid-template-columns: var(--fm-space-5) minmax(0, 1fr);
    gap: var(--fm-space-2);
    min-height: var(--fm-control-height-regular);
    padding: var(--fm-space-2) 0;
  }
  .fm-simulation-startup__stages li:not(:last-child)::after {
    position: absolute;
    top: calc(var(--fm-space-5) + var(--fm-space-2));
    bottom: calc(-1 * var(--fm-space-2));
    left: calc(var(--fm-space-2) - 1px);
    width: 1px;
    background: var(--fm-border-subtle);
    content: "";
  }
  .fm-simulation-startup__stage-marker {
    position: relative;
    z-index: 1;
    display: inline-grid;
    width: var(--fm-space-4);
    height: var(--fm-space-4);
    place-items: center;
    align-self: start;
    border: 1px solid var(--fm-border-default);
    border-radius: 50%;
    background: var(--fm-bg-panel);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    line-height: 1;
  }
  .fm-simulation-startup__stages li[data-status="active"] .fm-simulation-startup__stage-marker {
    border-color: var(--fm-accent);
    color: var(--fm-accent);
  }
  .fm-simulation-startup__stages li[data-status="completed"] .fm-simulation-startup__stage-marker {
    border-color: var(--fm-success);
    color: var(--fm-success);
  }
  .fm-simulation-startup__stages li[data-status="failed"] .fm-simulation-startup__stage-marker {
    border-color: var(--fm-danger);
    color: var(--fm-danger);
  }
  .fm-simulation-startup__stages li[data-status="skipped"] .fm-simulation-startup__stage-marker {
    border-style: dashed;
    color: var(--fm-text-secondary);
  }
  .fm-simulation-startup__stage-copy {
    display: grid;
    gap: 2px;
  }
  .fm-simulation-startup__stage-title-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--fm-space-2);
  }
  .fm-simulation-startup__stage-title {
    overflow: hidden;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 560;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-simulation-startup__stage-title-row time {
    flex: 0 0 auto;
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-2xs);
    font-variant-numeric: tabular-nums;
  }
  .fm-simulation-startup__stage-state, .fm-simulation-startup__stage-detail {
    overflow: hidden;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-simulation-startup__stages li[data-status="active"] .fm-simulation-startup__stage-state {
    color: var(--fm-accent);
  }
  .fm-simulation-startup__stages li[data-status="failed"] .fm-simulation-startup__stage-state {
    color: var(--fm-danger);
  }
  .fm-simulation-startup__log-scroll {
    min-height: 0;
  }
  .fm-simulation-startup__log-entries {
    display: grid;
    align-content: start;
    padding: var(--fm-space-2) var(--fm-space-3);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-2xs);
    line-height: 1.45;
  }
  .fm-simulation-startup__log-entry {
    display: grid;
    grid-template-columns: 80px 52px 112px minmax(0, 1fr);
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    @supports (color: color-mix(in lab, red, red)) {
      border-bottom: 1px solid color-mix(in srgb, var(--fm-border-subtle) 62%, transparent);
    }
    padding: var(--fm-space-1) 0;
  }
  .fm-simulation-startup__log-entry time, .fm-simulation-startup__log-stage {
    overflow: hidden;
    color: var(--fm-text-muted);
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-simulation-startup__log-level {
    color: var(--fm-text-secondary);
    text-transform: uppercase;
  }
  .fm-simulation-startup__log-entry[data-level="warning"] .fm-simulation-startup__log-level {
    color: var(--fm-warning);
  }
  .fm-simulation-startup__log-entry[data-level="error"] .fm-simulation-startup__log-level {
    color: var(--fm-danger);
  }
  .fm-simulation-startup__log-message {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--fm-text-primary);
  }
  .fm-simulation-startup__empty-stages, .fm-simulation-startup__empty-log {
    padding: var(--fm-space-4);
  }
  .fm-simulation-startup__footer {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-4);
    border-top: 1px solid var(--fm-border-subtle);
    padding-top: var(--fm-space-3);
  }
  .fm-simulation-startup__actions {
    display: flex;
    flex: 0 0 auto;
    gap: var(--fm-space-2);
  }
  .fm-simulation-startup__diagnostics-dock {
    position: fixed;
    inset-inline: var(--fm-space-6);
    bottom: var(--fm-space-6);
    z-index: var(--fm-z-dialog-content);
    height: min(360px, calc(100vh - (2 * var(--fm-space-6))));
    min-height: 240px;
    overflow: hidden;
    border-radius: var(--fm-radius-lg);
    box-shadow: var(--fm-shadow-panel);
  }
  .fm-simulation-startup__diagnostics-dock[hidden] {
    display: none;
  }
  @keyframes fm-simulation-startup-progress-indeterminate {
    0% {
      transform: translateX(-115%);
    }
    50% {
      transform: translateX(70%);
    }
    100% {
      transform: translateX(240%);
    }
  }
  @media (max-width: 720px) {
    .fm-simulation-startup {
      padding: var(--fm-space-3);
    }
    .fm-simulation-startup__panel {
      width: calc(100vw - (2 * var(--fm-space-3)));
      min-height: 0;
      max-height: calc(100vh - (2 * var(--fm-space-3)));
      overflow-y: auto;
      padding: var(--fm-space-4);
    }
    .fm-simulation-startup__body {
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: auto minmax(220px, 1fr);
    }
    .fm-simulation-startup__timeline {
      max-height: 340px;
    }
    .fm-simulation-startup__log {
      min-height: 220px;
    }
    .fm-simulation-startup__heading-row, .fm-simulation-startup__footer {
      align-items: stretch;
      flex-direction: column;
    }
    .fm-simulation-startup__elapsed {
      justify-items: start;
    }
    .fm-simulation-startup__log-entry {
      grid-template-columns: 76px 48px minmax(0, 1fr);
    }
    .fm-simulation-startup__log-stage {
      display: none;
    }
    .fm-simulation-startup__actions {
      flex-wrap: wrap;
    }
    .fm-simulation-startup__diagnostics-dock {
      inset-inline: var(--fm-space-3);
      bottom: var(--fm-space-3);
      height: min(50vh, calc(100vh - (2 * var(--fm-space-3))));
      min-height: 220px;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .fm-simulation-startup__progress[data-kind="indeterminate"] .fm-progress__indicator {
      width: 42%;
      animation: none;
      transform: translateX(70%) !important;
    }
  }
}
@layer fm-primitives {
  .fm-communication-policy {
    width: min(720px, calc(100vw - var(--fm-space-8)));
  }
  .fm-communication-policy__section {
    display: grid;
    gap: var(--fm-space-3);
    min-width: 0;
  }
  .fm-communication-policy__section h3 {
    margin: 0;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-communication-policy__toggles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fm-space-2);
  }
  .fm-communication-policy__toggle {
    display: flex;
    gap: var(--fm-space-2);
    align-items: center;
    min-width: 0;
    padding: var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
  }
  .fm-communication-policy__toggle span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-communication-policy__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fm-space-2);
  }
  .fm-communication-policy__number {
    display: grid;
    gap: var(--fm-space-1);
    min-width: 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-communication-policy__number input {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
    color: var(--fm-text-primary);
    font: inherit;
    padding: var(--fm-space-2);
  }
  .fm-communication-policy__error {
    padding: var(--fm-space-2) var(--fm-space-3);
    border: 1px solid var(--fm-danger);
    border-radius: var(--fm-radius-md);
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 10%, var(--fm-bg-panel));
    }
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
  }
  @media (max-width: 720px) {
    .fm-communication-policy__toggles, .fm-communication-policy__grid {
      grid-template-columns: 1fr;
    }
  }
}
@layer fm-primitives {
  .fm-notifications {
    position: fixed;
    right: var(--fm-space-4);
    bottom: calc(var(--fm-space-4) + 28px);
    z-index: var(--fm-z-overlay);
    display: grid;
    gap: var(--fm-space-2);
    width: min(360px, calc(100vw - (var(--fm-space-4) * 2)));
    pointer-events: none;
  }
  .fm-notifications__toast {
    display: grid;
    gap: var(--fm-space-1);
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-default);
    border-left: 3px solid var(--fm-success);
    border-radius: var(--fm-radius-md);
    background: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-success) 8%, var(--fm-bg-panel));
    }
    box-shadow: var(--fm-shadow-panel);
    color: var(--fm-text-primary);
    pointer-events: auto;
  }
  .fm-notifications__toast-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
  }
  .fm-notifications__close {
    flex: 0 0 auto;
    color: var(--fm-text-muted);
  }
  .fm-notifications__toast strong {
    font-size: var(--fm-font-size-sm);
  }
  .fm-notifications__toast span {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
}
@layer fm-primitives {
  .fm-accordion-item {
    border-bottom: 1px solid var(--fm-border-subtle);
  }
  .fm-accordion-item:last-child {
    border-bottom: 0;
  }
  .fm-accordion-header {
    display: flex;
  }
  .fm-accordion-trigger {
    display: flex;
    flex: 1 1 0%;
    align-items: center;
    justify-content: space-between;
    padding: var(--fm-space-2) var(--fm-space-3);
    font-weight: 500;
    min-height: var(--fm-inspector-tab-height);
    transition-property: background-color, color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: var(--fm-duration-moderate);
  }
  .fm-accordion-trigger:focus-visible {
    outline: none;
    box-shadow: inset var(--fm-focus-ring);
  }
  .fm-accordion-trigger:hover {
    background-color: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in srgb, var(--fm-bg-panel-raised) 60%, var(--fm-bg-chrome));
    }
  }
  .fm-accordion-trigger[data-state=open] > svg {
    transform: rotate(90deg);
  }
  .fm-accordion-trigger > svg {
    height: var(--fm-space-4);
    width: var(--fm-space-4);
    flex-shrink: 0;
    transition-property: transform;
    transition-duration: var(--fm-duration-slow);
    color: var(--fm-text-muted);
  }
  .fm-accordion-content {
    overflow: hidden;
    font-size: var(--fm-font-size-sm);
  }
  .fm-accordion-content[data-state=closed] {
    animation: accordion-up 0.2s ease-out;
  }
  .fm-accordion-content[data-state=open] {
    animation: accordion-down 0.2s ease-out;
  }
  @media (prefers-reduced-motion: reduce) {
    .fm-accordion-content[data-state=closed], .fm-accordion-content[data-state=open] {
      animation: none;
    }
    .fm-accordion-trigger > svg {
      transition: none;
    }
  }
  .fm-accordion-content-inner {
    padding-bottom: var(--fm-space-3);
    padding-top: 0;
  }
}
@layer fm-primitives {
  .fm-context-menu-content {
    min-width: 180px;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-overlay);
    box-shadow: var(--fm-shadow-panel);
    color: var(--fm-text-primary);
    padding: var(--fm-space-1);
    z-index: var(--fm-z-overlay);
  }
  .fm-context-menu-item {
    position: relative;
    display: flex;
    min-height: var(--fm-control-height-compact);
    align-items: center;
    gap: var(--fm-space-2);
    border-radius: var(--fm-radius-sm);
    color: var(--fm-text-secondary);
    cursor: default;
    font-size: var(--fm-font-size-sm);
    outline: none;
    padding: 0 var(--fm-space-2);
    user-select: none;
  }
  .fm-context-menu-item[data-highlighted] {
    background: var(--fm-bg-selected);
    color: var(--fm-text-primary);
  }
  .fm-context-menu-item[data-disabled] {
    color: var(--fm-text-muted);
    opacity: 0.55;
  }
  .fm-context-menu-item[data-active="true"] {
    color: var(--fm-accent);
  }
  .fm-context-menu-item--inset {
    padding-left: var(--fm-space-5);
  }
  .fm-context-menu-label {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    font-weight: 700;
    padding: var(--fm-space-1) var(--fm-space-2);
    text-transform: uppercase;
  }
  .fm-context-menu-separator {
    height: 1px;
    margin: var(--fm-space-1);
    background: var(--fm-border-subtle);
  }
  .fm-context-menu-item__indicator {
    position: absolute;
    left: var(--fm-space-2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .fm-context-menu-item__chevron {
    margin-left: auto;
  }
  .fm-context-menu-item__meta {
    margin-left: auto;
    color: var(--fm-accent);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
}
@layer fm-primitives {
  .fm-tabs-list {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: var(--fm-space-1);
    min-height: var(--fm-inspector-tab-height);
  }
  .fm-tabs-trigger {
    display: inline-flex;
    height: var(--fm-control-height-regular);
    min-width: 0;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: var(--fm-radius-md);
    background: transparent;
    color: var(--fm-text-muted);
    cursor: pointer;
    font-size: var(--fm-font-size-xs);
    font-weight: 560;
    padding-inline: var(--fm-space-2);
    transition: background-color var(--fm-transition-fast), border-color var(--fm-transition-fast), color var(--fm-transition-fast);
    white-space: nowrap;
  }
  .fm-tabs-trigger:hover {
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
  }
  .fm-tabs-trigger[data-state="active"] {
    border-color: var(--fm-border-default);
    background: var(--fm-bg-selected);
    color: var(--fm-accent);
  }
  .fm-tabs-trigger:focus-visible {
    outline: none;
    box-shadow: var(--fm-focus-ring);
  }
  .fm-tabs-trigger:disabled {
    cursor: not-allowed;
    opacity: 0.5;
  }
  .fm-tabs-content {
    min-width: 0;
    min-height: 0;
  }
  .fm-tabs-content:focus-visible {
    outline: none;
  }
}
@layer fm-primitives {
  .fm-command {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }
  .fm-command-input-wrap {
    display: flex;
    height: var(--fm-inspector-tab-height);
    align-items: center;
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-muted);
    padding-inline: var(--fm-space-3);
  }
  .fm-command-input {
    min-width: 0;
    flex: 1;
    border: 0;
    background: transparent;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-md);
    outline: none;
  }
  .fm-command-input::placeholder {
    color: var(--fm-text-muted);
  }
  .fm-command-list {
    max-height: min(440px, 58vh);
    overflow-y: auto;
    padding: var(--fm-space-2);
  }
  .fm-command-empty {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
    padding: var(--fm-space-4);
    text-align: center;
  }
  .fm-command-group {
    padding-block: var(--fm-space-1);
  }
  .fm-command-group [cmdk-group-heading] {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    font-weight: 700;
    padding: var(--fm-space-2);
    text-transform: uppercase;
  }
  .fm-command-item {
    display: flex;
    min-height: var(--fm-control-height-regular);
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-3);
    border-radius: var(--fm-radius-sm);
    color: var(--fm-text-secondary);
    cursor: pointer;
    font-size: var(--fm-font-size-sm);
    padding: 0 var(--fm-space-2);
  }
  .fm-command-item[data-selected="true"] {
    background: var(--fm-bg-selected);
    color: var(--fm-text-primary);
  }
}
@layer fm-primitives {
  ::-webkit-scrollbar {
    width: var(--fm-space-1);
    height: var(--fm-space-1);
  }
  ::-webkit-scrollbar-track {
    background: transparent;
  }
  ::-webkit-scrollbar-thumb {
    background: var(--fm-border-default);
    border-radius: var(--fm-radius-pill);
    transition: background var(--fm-transition-fast);
  }
  ::-webkit-scrollbar-thumb:hover {
    background: var(--fm-border-strong);
  }
  * {
    scrollbar-width: thin;
    scrollbar-color: var(--fm-border-default) transparent;
  }
  .fm-tooltip {
    z-index: var(--fm-z-portal);
    max-width: 280px;
    overflow: hidden;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-overlay);
    box-shadow: var(--fm-shadow-md);
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
    line-height: 1.4;
    padding: var(--fm-space-2) var(--fm-space-3);
    animation: fm-tooltip-in var(--fm-duration-normal) ease-out;
    pointer-events: none;
  }
  @keyframes fm-tooltip-in {
    from {
      opacity: 0;
      transform: scale(0.96);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .fm-tooltip {
      animation: none;
    }
  }
  .fm-switch {
    display: inline-flex;
    height: var(--fm-space-5);
    width: var(--fm-control-height-regular);
    flex-shrink: 0;
    cursor: pointer;
    align-items: center;
    border-radius: var(--fm-radius-pill);
    border: 1px solid var(--fm-border-default);
    background: var(--fm-bg-canvas);
    padding: 1px;
    transition: background-color var(--fm-transition-fast), border-color var(--fm-transition-fast);
  }
  .fm-switch:hover:not(:disabled) {
    border-color: var(--fm-border-strong);
  }
  .fm-switch[data-state="checked"] {
    border-color: var(--fm-accent);
    background: var(--fm-accent);
  }
  .fm-switch:focus-visible {
    outline: none;
    box-shadow: var(--fm-focus-ring);
  }
  .fm-switch:disabled {
    cursor: not-allowed;
    opacity: 0.45;
  }
  .fm-switch__thumb {
    display: block;
    width: var(--fm-space-3);
    height: var(--fm-space-3);
    border-radius: 50%;
    background: var(--fm-text-muted);
    transition: transform var(--fm-transition-fast), background-color var(--fm-transition-fast);
    box-shadow: var(--fm-shadow-sm);
  }
  .fm-switch[data-state="checked"] .fm-switch__thumb {
    transform: translateX(14px);
    background: white;
  }
  .fm-progress {
    position: relative;
    height: var(--fm-space-1);
    width: 100%;
    overflow: hidden;
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-canvas);
  }
  .fm-progress__indicator {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: var(--fm-accent);
    transition: transform var(--fm-transition-fast);
  }
  .fm-separator--horizontal {
    height: 1px;
    width: 100%;
    background: var(--fm-border-subtle);
  }
  .fm-separator--vertical {
    width: 1px;
    height: 100%;
    background: var(--fm-border-subtle);
  }
  .fm-badge {
    display: inline-flex;
    align-items: center;
    border-radius: var(--fm-radius-xs);
    font-size: var(--fm-font-size-2xs);
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.03em;
    padding: 2px var(--fm-space-1);
    white-space: nowrap;
    user-select: none;
  }
  .fm-badge--default {
    border: 1px solid var(--fm-border-subtle);
    background: transparent;
    color: var(--fm-text-muted);
  }
  .fm-badge--secondary {
    border: 1px solid var(--fm-border-default);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-secondary);
  }
  .fm-badge--success {
    border: 1px solid var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-success) 35%, var(--fm-border-subtle));
    }
    background: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-success) 10%, transparent);
    }
    color: var(--fm-success);
  }
  .fm-badge--warning {
    border: 1px solid var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-warning) 35%, var(--fm-border-subtle));
    }
    background: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-warning) 10%, transparent);
    }
    color: var(--fm-warning);
  }
  .fm-badge--danger {
    border: 1px solid var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-danger) 35%, var(--fm-border-subtle));
    }
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 10%, transparent);
    }
    color: var(--fm-danger);
  }
  .fm-badge--accent {
    border: 1px solid var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-accent) 35%, var(--fm-border-subtle));
    }
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 10%, transparent);
    }
    color: var(--fm-accent);
  }
  .fm-panel-header {
    display: flex;
    min-height: var(--fm-panel-header-height);
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-chrome);
    padding: var(--fm-space-2) var(--fm-space-3);
  }
  .fm-panel-header__left {
    display: flex;
    align-items: baseline;
    gap: var(--fm-space-2);
    min-width: 0;
  }
  .fm-panel-header__title {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-md);
    font-weight: var(--fm-font-weight-semibold);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-panel-header__subtitle {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    flex-shrink: 0;
  }
  .fm-panel-header__trailing {
    display: flex;
    align-items: center;
    gap: var(--fm-space-1);
    flex-shrink: 0;
  }
  .fm-status-badge {
    display: inline-flex;
    align-items: center;
    border-radius: var(--fm-radius-xs);
    border: 1px solid var(--fm-border-subtle);
    font-size: var(--fm-font-size-2xs);
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1;
    padding: 2px var(--fm-space-1);
    text-transform: uppercase;
    white-space: nowrap;
    user-select: none;
    color: var(--fm-text-muted);
  }
  .fm-status-badge[data-status="ready"], .fm-status-badge[data-status="completed"], .fm-status-badge[data-status="success"] {
    border-color: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-success) 35%, var(--fm-border-subtle));
    }
    color: var(--fm-success);
  }
  .fm-status-badge[data-status="running"], .fm-status-badge[data-status="building"], .fm-status-badge[data-status="pending"] {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 35%, var(--fm-border-subtle));
    }
    color: var(--fm-accent);
  }
  .fm-status-badge[data-status="stale"], .fm-status-badge[data-status="queued"], .fm-status-badge[data-status="warning"] {
    border-color: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-warning) 35%, var(--fm-border-subtle));
    }
    color: var(--fm-warning);
  }
  .fm-status-badge[data-status="failed"], .fm-status-badge[data-status="error"], .fm-status-badge[data-status="degraded"] {
    border-color: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-danger) 35%, var(--fm-border-subtle));
    }
    color: var(--fm-danger);
  }
  .fm-status-badge[data-status="info"] {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 25%, var(--fm-border-subtle));
    }
    color: var(--fm-text-secondary);
  }
  .fm-metric-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--fm-space-1);
    background: var(--fm-bg-panel-raised);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    padding: var(--fm-space-2) var(--fm-space-3);
    min-width: 0;
    min-height: var(--fm-inspector-icon-size);
    transition: border-color var(--fm-transition-fast), background-color var(--fm-transition-fast), transform var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
  }
  .fm-metric-card:hover {
    border-color: var(--fm-accent);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 92%, var(--fm-accent));
    }
    transform: translateY(-1px);
    box-shadow: var(--fm-shadow-md);
  }
  .fm-metric-card__label {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    font-weight: var(--fm-font-weight-medium);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-metric-card__value {
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-lg);
    font-weight: var(--fm-font-weight-bold);
    line-height: var(--fm-line-height-tight);
    font-variant-numeric: tabular-nums;
  }
  .fm-metric-card__unit {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    font-weight: var(--fm-font-weight-normal);
    margin-left: var(--fm-space-1);
  }
  .fm-metric-card[data-status="success"] {
    border-color: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-success) 25%, var(--fm-border-subtle));
    }
  }
  .fm-metric-card[data-status="warning"] {
    border-color: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-warning) 25%, var(--fm-border-subtle));
    }
  }
  .fm-metric-card[data-status="error"] {
    border-color: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-danger) 25%, var(--fm-border-subtle));
    }
  }
  .fm-metric-card[data-status="success"] .fm-metric-card__value {
    color: var(--fm-success);
  }
  .fm-metric-card[data-status="warning"] .fm-metric-card__value {
    color: var(--fm-warning);
  }
  .fm-metric-card[data-status="error"] .fm-metric-card__value {
    color: var(--fm-danger);
  }
  .fm-scroll-area {
    position: relative;
    overflow: hidden;
  }
  .fm-scroll-area__viewport {
    width: 100%;
    height: 100%;
    border-radius: inherit;
  }
  .fm-scroll-area__scrollbar {
    display: flex;
    touch-action: none;
    user-select: none;
    padding: 1px;
    transition: background var(--fm-transition-fast);
  }
  .fm-scroll-area__scrollbar:hover {
    background: var(--fm-bg-canvas);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-canvas) 50%, transparent);
    }
  }
  .fm-scroll-area__scrollbar--vertical {
    width: var(--fm-space-2);
    border-left: 1px solid transparent;
  }
  .fm-scroll-area__scrollbar--horizontal {
    height: var(--fm-space-2);
    flex-direction: column;
    border-top: 1px solid transparent;
  }
  .fm-scroll-area__thumb {
    position: relative;
    flex: 1;
    border-radius: var(--fm-radius-pill);
    background: var(--fm-border-default);
    transition: background var(--fm-transition-fast);
  }
  .fm-scroll-area__thumb:hover {
    background: var(--fm-border-strong);
  }
  .fm-popover {
    z-index: var(--fm-z-overlay-raised);
    min-width: 200px;
    max-width: 360px;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-overlay);
    box-shadow: var(--fm-shadow-lg);
    color: var(--fm-text-primary);
    padding: var(--fm-space-3);
    animation: fm-popover-in 120ms ease-out;
    outline: none;
  }
  @keyframes fm-popover-in {
    from {
      opacity: 0;
      transform: scale(0.96) translateY(-2px);
    }
    to {
      opacity: 1;
      transform: scale(1) translateY(0);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .fm-popover {
      animation: none;
    }
  }
  .fm-slider {
    position: relative;
    display: flex;
    width: 100%;
    touch-action: none;
    user-select: none;
    align-items: center;
    min-height: var(--fm-slider-hit-height);
    padding-inline: 2px;
  }
  .fm-slider__track {
    position: relative;
    height: var(--fm-slider-track-height);
    width: 100%;
    flex-grow: 1;
    overflow: hidden;
    border-radius: var(--fm-radius-pill);
    border: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-disabled);
  }
  .fm-slider__range {
    position: absolute;
    height: 100%;
    background: var(--fm-accent);
    border-radius: inherit;
  }
  .fm-slider__thumb {
    display: block;
    width: var(--fm-slider-thumb-size);
    height: var(--fm-slider-thumb-size);
    border-radius: 50%;
    border: 1.5px solid var(--fm-accent);
    background: var(--fm-bg-panel);
    box-shadow: var(--fm-shadow-sm);
    cursor: pointer;
    transition: border-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
    outline: none;
  }
  .fm-slider__thumb:hover {
    border-color: var(--fm-accent);
    box-shadow: 0 0 0 4px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 4px color-mix(in srgb, var(--fm-accent) 12%, transparent);
    }
  }
  .fm-slider__thumb:focus-visible {
    box-shadow: var(--fm-focus-ring);
  }
  .fm-slider[data-disabled] {
    pointer-events: none;
  }
  .fm-slider[data-disabled] .fm-slider__track {
    border-color: var(--fm-border-disabled);
    background: var(--fm-bg-disabled);
  }
  .fm-slider[data-disabled] .fm-slider__range {
    background: var(--fm-text-disabled);
  }
  .fm-slider[data-disabled] .fm-slider__thumb {
    border-color: var(--fm-border-disabled);
    background: var(--fm-bg-disabled);
    box-shadow: none;
  }
  .fm-sheet__overlay {
    position: fixed;
    inset: 0;
    z-index: var(--fm-z-portal);
    background: var(--fm-scrim);
    animation: fm-sheet-overlay-in var(--fm-duration-moderate) ease-out;
  }
  @keyframes fm-sheet-overlay-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  .fm-sheet__content {
    position: fixed;
    z-index: var(--fm-z-portal-top);
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-3);
    background: var(--fm-bg-overlay);
    border: 1px solid var(--fm-border-default);
    color: var(--fm-text-primary);
    box-shadow: var(--fm-shadow-elevated);
    outline: none;
    overflow-y: auto;
  }
  .fm-sheet__content--right {
    inset: 0 0 0 auto;
    width: min(380px, 85vw);
    padding: var(--fm-space-4);
    animation: fm-sheet-slide-right var(--fm-duration-slow) ease-out;
  }
  .fm-sheet__content--left {
    inset: 0 auto 0 0;
    width: min(380px, 85vw);
    padding: var(--fm-space-4);
    animation: fm-sheet-slide-left var(--fm-duration-slow) ease-out;
  }
  .fm-sheet__content--top {
    inset: 0 0 auto 0;
    max-height: 60vh;
    padding: var(--fm-space-4);
    animation: fm-sheet-slide-top var(--fm-duration-slow) ease-out;
  }
  .fm-sheet__content--bottom {
    inset: auto 0 0 0;
    max-height: 60vh;
    padding: var(--fm-space-4);
    animation: fm-sheet-slide-bottom var(--fm-duration-slow) ease-out;
  }
  @keyframes fm-sheet-slide-right {
    from {
      transform: translateX(100%);
    }
    to {
      transform: translateX(0);
    }
  }
  @keyframes fm-sheet-slide-left {
    from {
      transform: translateX(-100%);
    }
    to {
      transform: translateX(0);
    }
  }
  @keyframes fm-sheet-slide-top {
    from {
      transform: translateY(-100%);
    }
    to {
      transform: translateY(0);
    }
  }
  @keyframes fm-sheet-slide-bottom {
    from {
      transform: translateY(100%);
    }
    to {
      transform: translateY(0);
    }
  }
  .fm-sheet__close {
    position: absolute;
    top: var(--fm-space-3);
    right: var(--fm-space-3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--fm-space-6);
    height: var(--fm-control-height-compact);
    border: none;
    border-radius: var(--fm-radius-sm);
    background: transparent;
    color: var(--fm-text-muted);
    cursor: pointer;
    transition: color var(--fm-transition-fast), background var(--fm-transition-fast);
  }
  .fm-sheet__close:hover {
    color: var(--fm-text-primary);
    background: var(--fm-bg-panel-raised);
  }
  .fm-sheet__header {
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-1);
  }
  .fm-sheet__title {
    margin: 0;
    font-size: var(--fm-font-size-md);
    font-weight: var(--fm-font-weight-semibold);
    color: var(--fm-text-primary);
  }
  .fm-sheet__description {
    font-size: var(--fm-font-size-sm);
    color: var(--fm-text-muted);
  }
  @media (prefers-reduced-motion: reduce) {
    .fm-sheet__overlay, .fm-sheet__content--right, .fm-sheet__content--left, .fm-sheet__content--top, .fm-sheet__content--bottom {
      animation: none;
    }
  }
  .fm-toast-viewport {
    position: fixed;
    bottom: var(--fm-space-4);
    right: var(--fm-space-4);
    z-index: var(--fm-z-toast);
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-2);
    max-height: 100vh;
    width: 360px;
    max-width: calc(100vw - 2 * var(--fm-space-4));
    padding: 0;
    margin: 0;
    list-style: none;
    outline: none;
  }
  .fm-toast {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--fm-space-2);
    align-items: center;
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-overlay);
    color: var(--fm-text-primary);
    box-shadow: var(--fm-shadow-lg);
    animation: fm-toast-in var(--fm-duration-slow) ease-out;
  }
  .fm-toast[data-variant="success"] {
    border-color: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-success) 30%, var(--fm-border-default));
    }
  }
  .fm-toast[data-variant="warning"] {
    border-color: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-warning) 30%, var(--fm-border-default));
    }
  }
  .fm-toast[data-variant="error"] {
    border-color: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-danger) 30%, var(--fm-border-default));
    }
  }
  .fm-toast[data-state="closed"] {
    animation: fm-toast-out var(--fm-duration-normal) ease-in;
  }
  @keyframes fm-toast-in {
    from {
      opacity: 0;
      transform: translateX(100%);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
  @keyframes fm-toast-out {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 0;
      transform: translateX(100%);
    }
  }
  .fm-toast__title {
    font-size: var(--fm-font-size-sm);
    font-weight: var(--fm-font-weight-semibold);
  }
  .fm-toast__description {
    font-size: var(--fm-font-size-xs);
    color: var(--fm-text-muted);
    grid-column: 1 / -1;
  }
  .fm-toast__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--fm-control-height-compact);
    padding: 0 var(--fm-space-2);
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-sm);
    background: transparent;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    cursor: pointer;
    transition: background var(--fm-transition-fast);
  }
  .fm-toast__action:hover {
    background: var(--fm-bg-panel-raised);
  }
  .fm-toast__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--fm-control-height-compact);
    height: var(--fm-control-height-compact);
    border: none;
    border-radius: var(--fm-radius-sm);
    background: transparent;
    color: var(--fm-text-muted);
    cursor: pointer;
  }
  .fm-toast__close:hover {
    color: var(--fm-text-primary);
  }
  .fm-toast[data-variant="success"] .fm-toast__title {
    color: var(--fm-success);
  }
  .fm-toast[data-variant="warning"] .fm-toast__title {
    color: var(--fm-warning);
  }
  .fm-toast[data-variant="error"] .fm-toast__title {
    color: var(--fm-danger);
  }
  @media (prefers-reduced-motion: reduce) {
    .fm-toast, .fm-toast[data-state="closed"] {
      animation: none;
    }
  }
  .fm-draggable-panel {
    position: fixed;
    z-index: var(--fm-z-overlay);
    display: grid;
    width: min(620px, calc(100vw - 16px));
    max-height: min(620px, calc(100vh - 16px));
    overflow: hidden;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-lg);
    background: var(--fm-bg-overlay);
    box-shadow: var(--fm-shadow-panel);
    color: var(--fm-text-primary);
  }
  .fm-draggable-panel__handle {
    display: grid;
    grid-template-columns: var(--fm-icon-sm) minmax(0, 1fr) auto auto;
    gap: var(--fm-space-2);
    align-items: center;
    cursor: grab;
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel);
    padding: var(--fm-space-3);
    user-select: none;
  }
  .fm-draggable-panel__handle:active {
    cursor: grabbing;
  }
  .fm-draggable-panel__heading {
    display: flex;
    gap: var(--fm-space-3);
    align-items: baseline;
    min-width: 0;
  }
  .fm-draggable-panel__heading h2 {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
    line-height: 1.2;
  }
  .fm-draggable-panel__heading span {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-draggable-panel__content {
    overflow: auto;
  }
  .fm-overlay-toolbar {
    position: absolute;
    z-index: var(--fm-z-panel);
    display: flex;
    align-items: center;
    gap: var(--fm-space-1);
    padding: var(--fm-space-1);
    background: var(--fm-bg-overlay);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-overlay) 80%, transparent);
    }
    backdrop-filter: blur(8px);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    box-shadow: var(--fm-shadow-md);
  }
  .fm-overlay-toolbar--top-left {
    top: var(--fm-space-3);
    left: var(--fm-space-3);
  }
  .fm-overlay-toolbar--top-right {
    top: var(--fm-space-3);
    right: var(--fm-space-3);
  }
  .fm-overlay-toolbar--bottom-left {
    bottom: var(--fm-space-3);
    left: var(--fm-space-3);
  }
  .fm-overlay-toolbar--bottom-right {
    bottom: var(--fm-space-3);
    right: var(--fm-space-3);
  }
  .fm-overlay-toolbar--top-center {
    top: var(--fm-space-3);
    left: 50%;
    transform: translateX(-50%);
  }
  .fm-overlay-toolbar--bottom-center {
    bottom: var(--fm-space-3);
    left: 50%;
    transform: translateX(-50%);
  }
  .fm-select-trigger {
    display: inline-flex;
    height: var(--fm-field-row-min-height);
    width: 100%;
    align-items: center;
    justify-content: space-between;
    border-radius: var(--fm-radius-sm);
    border: 1px solid var(--fm-border-default);
    background: var(--fm-bg-surface);
    padding: 0 var(--fm-space-2);
    font-size: var(--fm-font-size-xs);
    color: var(--fm-text-primary);
    box-shadow: var(--fm-shadow-sm);
    outline: none;
    cursor: pointer;
    transition: border-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
  }
  .fm-select-trigger:hover:not(:disabled) {
    border-color: var(--fm-border-strong);
  }
  .fm-select-trigger:focus-visible {
    border-color: var(--fm-accent);
    box-shadow: var(--fm-focus-ring);
  }
  .fm-select-trigger:disabled {
    cursor: not-allowed;
    opacity: 0.45;
  }
  .fm-select-scroll-button {
    display: flex;
    cursor: default;
    align-items: center;
    justify-content: center;
    height: var(--fm-control-height-compact);
    background: var(--fm-bg-overlay);
    color: var(--fm-text-muted);
  }
  .fm-select-content {
    position: relative;
    z-index: var(--fm-z-floating);
    max-height: 280px;
    min-width: var(--fm-panel-section-min-width);
    overflow: hidden;
    border-radius: var(--fm-radius-md);
    border: 1px solid var(--fm-border-default);
    background: var(--fm-bg-overlay);
    color: var(--fm-text-primary);
    box-shadow: var(--fm-shadow-md);
    animation: fm-select-in var(--fm-duration-normal) ease-out;
  }
  @keyframes fm-select-in {
    from {
      opacity: 0;
      transform: scale(0.97);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
  .fm-select-content--popper {
    min-width: var(--radix-select-trigger-width);
  }
  .fm-select-viewport {
    padding: var(--fm-space-1);
  }
  .fm-select-viewport--popper {
    height: var(--radix-select-content-available-height);
    min-height: 0;
    width: 100%;
  }
  .fm-select-label {
    padding: var(--fm-space-1) var(--fm-space-2) var(--fm-space-1) var(--fm-space-7);
    font-size: var(--fm-font-size-2xs);
    font-weight: 600;
    color: var(--fm-text-muted);
  }
  .fm-select-item {
    position: relative;
    display: flex;
    width: 100%;
    cursor: pointer;
    user-select: none;
    align-items: center;
    border-radius: var(--fm-radius-sm);
    padding: calc(var(--fm-space-1) * 1.5) var(--fm-space-2) calc(var(--fm-space-1) * 1.5) var(--fm-space-7);
    font-size: var(--fm-font-size-xs);
    color: var(--fm-text-secondary);
    outline: none;
    transition: background-color var(--fm-transition-fast), color var(--fm-transition-fast);
  }
  .fm-select-item:hover, .fm-select-item[data-highlighted] {
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
  }
  .fm-select-item[data-disabled] {
    pointer-events: none;
    opacity: 0.45;
  }
  .fm-select-item__indicator {
    position: absolute;
    left: var(--fm-space-2);
    display: flex;
    height: var(--fm-space-3);
    width: var(--fm-space-3);
    align-items: center;
    justify-content: center;
    color: var(--fm-accent);
  }
  .fm-select-separator {
    margin: var(--fm-space-1) calc(-1 * var(--fm-space-1));
    height: 1px;
    background: var(--fm-border-subtle);
  }
}
@layer fm-components {
  .fm-header {
    display: flex;
    height: var(--fm-menu-height);
    align-items: center;
    gap: var(--fm-space-1);
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-chrome);
    padding-inline: var(--fm-space-3);
    user-select: none;
    -webkit-app-region: drag;
  }
  .fm-header :is(button, input, [role="button"]) {
    -webkit-app-region: no-drag;
  }
  .fm-header__brand {
    display: flex;
    align-items: center;
    gap: var(--fm-space-2);
    margin-right: var(--fm-space-1);
    -webkit-app-region: no-drag;
  }
  .fm-header__logo {
    width: var(--fm-control-height-compact);
    height: var(--fm-control-height-compact);
    border-radius: var(--fm-radius-sm);
    background: linear-gradient(135deg, var(--fm-accent), var(--fm-accent-strong));
    flex-shrink: 0;
    box-shadow: var(--fm-shadow-sm);
  }
  .fm-header__title {
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-md);
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
  }
  .fm-header__brand-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
    line-height: 1;
  }
  .fm-header__subtitle {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    letter-spacing: 0.02em;
    white-space: nowrap;
  }
  .fm-header__app-trigger {
    height: var(--fm-control-height-compact);
    margin-right: var(--fm-space-1);
  }
  .fm-header__nav {
    display: flex;
    align-items: center;
    gap: var(--fm-space-1);
    -webkit-app-region: no-drag;
  }
  .fm-header__nav-item {
    display: flex;
    align-items: center;
    height: var(--fm-control-height-compact);
    padding-inline: var(--fm-space-3);
    border: none;
    border-radius: var(--fm-radius-sm);
    background: transparent;
    color: var(--fm-text-secondary);
    cursor: pointer;
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-sm);
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1;
    transition: background-color var(--fm-transition-fast), color var(--fm-transition-fast), transform var(--fm-duration-fast) ease-out;
    white-space: nowrap;
  }
  .fm-header__nav-item:hover {
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
  }
  .fm-header__nav-item:active {
    transform: scale(0.97);
    transition-duration: var(--fm-duration-instant);
  }
  .fm-header__nav-item[data-active="true"] {
    background: var(--fm-bg-selected);
    color: var(--fm-accent);
  }
  .fm-header__spacer {
    flex: 1;
  }
  .fm-header__quick-actions {
    display: flex;
    align-items: center;
    gap: var(--fm-space-1);
    margin-left: var(--fm-space-2);
    padding-left: var(--fm-space-2);
    border-left: 1px solid var(--fm-border-subtle);
    -webkit-app-region: no-drag;
  }
  .fm-header__quick-action {
    height: var(--fm-control-height-compact);
    gap: var(--fm-space-1);
    color: var(--fm-text-muted);
  }
  .fm-header__search {
    display: flex;
    width: min(280px, 20vw);
    height: var(--fm-control-height-compact);
    align-items: center;
    gap: var(--fm-space-2);
    margin-left: var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
    color: var(--fm-text-muted);
    cursor: pointer;
    padding-inline: var(--fm-space-2);
    transition: border-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast), background var(--fm-transition-fast);
    -webkit-app-region: no-drag;
  }
  .fm-header__search:hover {
    border-color: var(--fm-border-default);
    background: var(--fm-bg-hover);
  }
  .fm-header__search:focus-within {
    border-color: var(--fm-accent);
    box-shadow: 0 0 0 2px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--fm-accent) 15%, transparent);
    }
  }
  .fm-header__search input {
    min-width: 0;
    flex: 1;
    border: 0;
    background: transparent;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    outline: none;
  }
  .fm-header__search input::placeholder {
    color: var(--fm-text-muted);
  }
  .fm-header__actions {
    display: flex;
    align-items: center;
    gap: var(--fm-space-1);
    -webkit-app-region: no-drag;
  }
  .fm-header__action-btn {
    display: inline-flex;
    width: var(--fm-control-height-regular);
    height: var(--fm-control-height-regular);
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: var(--fm-radius-sm);
    background: transparent;
    color: var(--fm-text-muted);
    cursor: pointer;
    font-size: var(--fm-font-size-lg);
    line-height: 1;
    transition: background-color var(--fm-transition-fast), color var(--fm-transition-fast), transform var(--fm-duration-fast) ease-out;
  }
  .fm-header__action-btn:hover {
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
  }
  .fm-header__action-btn:active {
    transform: scale(0.92);
    transition-duration: var(--fm-duration-instant);
  }
  .fm-header__separator {
    width: 1px;
    height: var(--fm-space-5);
    margin-inline: var(--fm-space-2);
    background: var(--fm-border-subtle);
  }
  .fm-header__session-indicator {
    border: 0;
    padding: 0;
    background: transparent;
    cursor: default;
    display: flex;
    align-items: center;
    gap: var(--fm-space-1);
    margin-left: auto;
    color: var(--fm-text-muted);
    font: inherit;
    font-size: var(--fm-font-size-sm);
    white-space: nowrap;
    -webkit-app-region: no-drag;
  }
  .fm-header__session-indicator[data-clickable="true"] {
    cursor: pointer;
  }
  .fm-header__session-indicator[data-clickable="true"]:hover {
    color: var(--fm-text-primary);
  }
  .fm-header__session-indicator:focus-visible {
    outline: none;
    box-shadow: var(--fm-focus-ring);
  }
  .fm-header__session-dot {
    width: var(--fm-space-1);
    height: var(--fm-space-1);
    border-radius: 50%;
    background: var(--fm-text-muted);
    flex-shrink: 0;
    transition: background-color var(--fm-transition-normal);
  }
  .fm-header__session-dot[data-status="connected"] {
    background: var(--fm-success);
  }
  .fm-header__session-dot[data-status="error"] {
    background: var(--fm-danger);
  }
  .fm-header__session-badge {
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-xs);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    letter-spacing: 0.08em;
    margin-left: var(--fm-space-1);
    padding: 1px var(--fm-space-1);
    text-transform: uppercase;
  }
  .fm-header__run-controls {
    display: flex;
    align-items: center;
    gap: 1px;
    -webkit-app-region: no-drag;
  }
  .fm-header__run-btn {
    width: var(--fm-control-height-compact);
    min-width: var(--fm-control-height-compact);
    height: var(--fm-control-height-compact);
    transition: transform var(--fm-duration-fast) ease-out, background-color var(--fm-transition-fast);
  }
  .fm-header__run-btn:active {
    transform: scale(0.92);
  }
  .fm-header__run-btn[data-run-control="run"] {
    color: var(--fm-success);
  }
  .fm-header__run-btn[data-run-control="pause"] {
    color: var(--fm-warning);
  }
  .fm-header__run-btn[data-run-control="stop"] {
    color: var(--fm-danger);
  }
  .fm-header__run-btn[data-run-control="skip"] {
    color: var(--fm-stale);
  }
  @media (width < 1180px) {
    .fm-header__quick-actions, .fm-header__search {
      display: none;
    }
  }
  @media (width < 900px) {
    .fm-header__nav {
      display: none;
    }
  }
}
@layer fm-components {
  .fm-ribbon {
    --fm-ribbon-action-width: 60px;
    --fm-ribbon-group-accent: var(--fm-border-default);
    display: flex;
    height: var(--fm-ribbon-height);
    flex-direction: column;
    overflow: hidden;
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-chrome);
  }
  .fm-ribbon__tabs {
    display: flex;
    height: var(--fm-ribbon-tabs-height);
    flex-shrink: 0;
    align-items: flex-end;
    gap: 2px;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
    border-bottom: 1px solid var(--fm-border-subtle);
    padding-inline: var(--fm-space-3);
  }
  .fm-ribbon__tabs::-webkit-scrollbar {
    display: none;
  }
  .fm-ribbon__tab {
    position: relative;
    display: flex;
    height: var(--fm-control-height-regular);
    align-items: center;
    padding-inline: var(--fm-space-3);
    border: none;
    border-radius: var(--fm-radius-sm) var(--fm-radius-sm) 0 0;
    background: transparent;
    color: var(--fm-text-muted);
    cursor: pointer;
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: background-color var(--fm-transition-fast), color var(--fm-transition-fast);
    white-space: nowrap;
    user-select: none;
  }
  .fm-ribbon__tab:hover {
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-secondary);
  }
  .fm-ribbon__tab[data-active="true"] {
    background: var(--fm-bg-app);
    color: var(--fm-text-primary);
  }
  .fm-ribbon__tab[data-active="true"]::after {
    position: absolute;
    right: var(--fm-space-1);
    bottom: -1px;
    left: var(--fm-space-1);
    height: 2px;
    border-radius: var(--fm-radius-xs) var(--fm-radius-xs) 0 0;
    background: var(--fm-accent);
    content: "";
    z-index: var(--fm-z-base);
  }
  .fm-ribbon__groups {
    display: flex;
    flex: 1;
    align-items: stretch;
    gap: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding-inline: var(--fm-space-2);
  }
  .fm-ribbon__groups::-webkit-scrollbar {
    display: none;
  }
  .fm-ribbon-group {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    padding-inline: calc(var(--fm-space-2) + 1px);
    padding-bottom: 2px;
    border-right: 1px solid var(--fm-ribbon-group-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-right: 1px solid color-mix(in srgb, var(--fm-ribbon-group-accent) 34%, var(--fm-border-subtle));
    }
    transition: background-color var(--fm-transition-fast);
  }
  .fm-ribbon-group:last-child {
    border-right: none;
  }
  .fm-ribbon-group::before {
    position: absolute;
    top: var(--fm-space-2);
    bottom: var(--fm-ribbon-tab-indicator-bottom);
    left: 0;
    width: 2px;
    border-radius: var(--fm-radius-xs);
    background: var(--fm-ribbon-group-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-ribbon-group-accent) 72%, transparent);
    }
    content: "";
    opacity: 0.65;
  }
  .fm-ribbon-group[data-tone="authoring"], .fm-ribbon-group[data-tone="compose"] {
    --fm-ribbon-group-accent: var(--fm-success);
    background: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-success) 5%, transparent);
    }
  }
  .fm-ribbon-group[data-tone="compute"] {
    --fm-ribbon-group-accent: var(--fm-accent);
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 6%, transparent);
    }
  }
  .fm-ribbon-group[data-tone="selection"] {
    --fm-ribbon-group-accent: var(--fm-warning);
    background: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-warning) 5%, transparent);
    }
  }
  .fm-ribbon-group[data-tone="sync"] {
    --fm-ribbon-group-accent: var(--fm-stale);
    background: var(--fm-stale);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-stale) 5%, transparent);
    }
  }
  .fm-ribbon-group__label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1;
    padding-block: 3px;
    text-transform: uppercase;
  }
  .fm-ribbon-group__label > span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-ribbon-group__label small {
    display: block;
    max-width: 100%;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: none;
    white-space: nowrap;
  }
  .fm-ribbon-group__actions {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 2px;
    padding-block: var(--fm-space-1);
    padding-inline: 2px;
  }
  .fm-ribbon-action-shell {
    display: inline-flex;
    width: var(--fm-ribbon-action-width);
    min-width: var(--fm-ribbon-action-width);
    flex-shrink: 0;
    align-items: stretch;
  }
  .fm-ribbon-action {
    --fm-ribbon-icon-color: currentColor;
    position: relative;
    display: flex;
    width: var(--fm-ribbon-action-width);
    min-width: var(--fm-ribbon-action-width);
    height: var(--fm-inspector-icon-size);
    flex-shrink: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    overflow: hidden;
    border: none;
    border-radius: var(--fm-radius-sm);
    background: transparent;
    color: var(--fm-text-secondary);
    cursor: pointer;
    padding: 4px var(--fm-space-1) 6px;
    transition: background-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast), color var(--fm-transition-fast), transform var(--fm-transition-fast);
  }
  .fm-ribbon-action:hover {
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
    transform: translateY(-1px);
    box-shadow: 0 1px 0 var(--fm-ribbon-icon-color) inset;
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 1px 0 color-mix(in srgb, var(--fm-ribbon-icon-color) 34%, transparent) inset;
    }
  }
  .fm-ribbon-action[data-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.35;
    pointer-events: none;
  }
  .fm-ribbon-action[data-active="true"] {
    --fm-ribbon-icon-color: var(--fm-accent);
    background: var(--fm-accent-soft);
    color: var(--fm-accent);
  }
  .fm-ribbon-action[data-accent="true"] {
    --fm-ribbon-icon-color: var(--fm-accent);
    color: var(--fm-accent);
  }
  .fm-ribbon-action[data-accent="true"]:not([data-disabled="true"]):hover {
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 15%, transparent);
    }
  }
  .fm-ribbon-action[data-has-menu="true"] {
    padding-right: var(--fm-space-3);
  }
  .fm-ribbon-action-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
  }
  .fm-ribbon-action-stack .fm-ribbon-action-shell {
    width: auto;
    min-width: 0;
  }
  .fm-ribbon-action-detail {
    max-width: var(--fm-ribbon-action-width);
    overflow: hidden;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-xs);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-secondary);
    cursor: pointer;
    font-size: var(--fm-font-size-2xs);
    letter-spacing: 0;
    line-height: 1;
    padding: 2px 5px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-ribbon-action-detail:hover {
    border-color: var(--fm-accent);
    color: var(--fm-accent);
  }
  .fm-ribbon-action__icon {
    position: relative;
    display: flex;
    width: var(--fm-space-6);
    height: var(--fm-control-height-compact);
    align-items: center;
    justify-content: center;
    color: var(--fm-ribbon-icon-color);
    line-height: 1;
    transition: color var(--fm-transition-fast), transform var(--fm-transition-fast);
  }
  .fm-ribbon-action:hover .fm-ribbon-action__icon {
    transform: translateY(-1px);
  }
  .fm-ribbon-action__icon::before {
    position: absolute;
    top: 3px;
    bottom: 3px;
    left: -7px;
    width: 2px;
    border-radius: var(--fm-radius-xs);
    background: var(--fm-ribbon-icon-color);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-ribbon-icon-color) 62%, transparent);
    }
    content: "";
    opacity: 0.72;
    transition: opacity var(--fm-transition-fast), transform var(--fm-transition-fast);
  }
  .fm-ribbon-action:hover .fm-ribbon-action__icon::before, .fm-ribbon-action[data-active="true"] .fm-ribbon-action__icon::before {
    opacity: 1;
    transform: scaleY(1.18);
  }
  .fm-ribbon-action__icon svg {
    width: var(--fm-ribbon-chevron-size);
    height: var(--fm-control-height-compact);
  }
  .fm-ribbon-action__label {
    display: -webkit-box;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: inherit;
    font-size: var(--fm-font-size-2xs);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.05;
    overflow-wrap: anywhere;
    text-align: center;
    text-overflow: ellipsis;
  }
  .fm-ribbon-action__chevron {
    position: absolute;
    top: 3px;
    right: 3px;
    color: var(--fm-text-muted);
  }
  .fm-ribbon-menu {
    min-width: var(--fm-ribbon-dropdown-min-width);
  }
  .fm-ribbon-menu-status {
    display: flex;
    min-height: var(--fm-field-row-min-height);
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-3);
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-sm);
    padding: var(--fm-space-2);
  }
  .fm-ribbon-menu-status[data-tone="success"] span:last-child {
    color: var(--fm-success);
  }
  .fm-ribbon-menu-status[data-tone="warning"] span:last-child {
    color: var(--fm-warning);
  }
  .fm-ribbon-menu-status[data-tone="danger"] span:last-child {
    color: var(--fm-danger);
  }
  .fm-ribbon-separator {
    width: 1px;
    height: var(--fm-control-height-compact);
    margin-inline: var(--fm-space-1);
    background: var(--fm-border-subtle);
    flex-shrink: 0;
    align-self: center;
  }
  @media (max-width: 1400px) {
    .fm-ribbon {
      --fm-ribbon-action-width: var(--fm-control-height-regular);
    }
    .fm-ribbon-action-shell {
      width: var(--fm-ribbon-action-width);
      min-width: var(--fm-ribbon-action-width);
    }
    .fm-ribbon-action {
      width: var(--fm-ribbon-action-width);
      min-width: var(--fm-ribbon-action-width);
      padding-inline: 0;
    }
    .fm-ribbon-action__label {
      display: none;
    }
    .fm-ribbon-group__label {
      font-size: var(--fm-font-size-2xs);
    }
    .fm-ribbon-group__label small {
      display: none;
    }
  }
}
@layer fm-components {
  .fm-explorer {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    height: 100%;
    min-height: 0;
    background: var(--fm-bg-panel);
  }
  .fm-explorer-tabs {
    border-bottom: 1px solid var(--fm-border-subtle);
    padding: 0 var(--fm-space-2);
    overflow-x: auto;
    scrollbar-width: none;
  }
  .fm-explorer-tabs::-webkit-scrollbar {
    display: none;
  }
  .fm-explorer-tabs .fm-tabs-list {
    gap: 0;
    min-height: var(--fm-panel-header-height);
    border: 0;
    background: transparent;
  }
  .fm-explorer-tabs .fm-tabs-trigger {
    height: var(--fm-panel-header-height);
    padding-inline: var(--fm-space-2);
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
    font-weight: 500;
    letter-spacing: 0.01em;
    transition: color var(--fm-transition-fast), border-color var(--fm-transition-fast);
  }
  .fm-explorer-tabs .fm-tabs-trigger:hover {
    background: transparent;
    color: var(--fm-text-secondary);
  }
  .fm-explorer-tabs .fm-tabs-trigger[data-state="active"] {
    border-bottom-color: var(--fm-accent);
    background: transparent;
    color: var(--fm-accent);
    font-weight: 600;
  }
  .fm-explorer-filter {
    display: flex;
    align-items: center;
    gap: var(--fm-space-2);
    margin: var(--fm-space-2) var(--fm-space-2);
    height: var(--fm-control-height-regular);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    padding-inline: var(--fm-space-2);
    color: var(--fm-text-muted);
    transition: border-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
  }
  .fm-explorer-filter:focus-within {
    border-color: var(--fm-accent);
    box-shadow: 0 0 0 2px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--fm-accent) 12%, transparent);
    }
    color: var(--fm-text-secondary);
  }
  .fm-explorer-filter input {
    min-width: 0;
    flex: 1;
    border: 0;
    background: transparent;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-sm);
    outline: none;
  }
  .fm-explorer-filter input::placeholder {
    color: var(--fm-text-muted);
  }
  .fm-explorer-filter input::-webkit-search-cancel-button {
    display: none;
  }
  .fm-explorer-filter__search-icon {
    flex-shrink: 0;
    color: var(--fm-text-muted);
  }
  .fm-explorer-filter__options-icon {
    flex-shrink: 0;
    color: var(--fm-text-muted);
    cursor: pointer;
    transition: color var(--fm-transition-fast);
  }
  .fm-explorer-filter__options-icon:hover {
    color: var(--fm-text-secondary);
  }
  .fm-explorer-tree {
    min-height: 0;
    overflow: auto;
    padding: var(--fm-space-1) var(--fm-space-1);
    scrollbar-width: thin;
    scrollbar-color: var(--fm-border-default) transparent;
  }
  .fm-explorer-tree-row {
    --fm-tree-depth: 0;
    position: relative;
    display: grid;
    grid-template-columns: var(--fm-space-4) var(--fm-icon-sm) minmax(0, 1fr) auto auto;
    min-height: var(--fm-control-height-compact);
    align-items: center;
    gap: var(--fm-space-1);
    border: 1px solid transparent;
    border-radius: var(--fm-radius-sm);
    color: var(--fm-text-secondary);
    cursor: default;
    font-size: var(--fm-font-size-sm);
    font-family: var(--fm-font-ui);
    padding-left: calc(var(--fm-space-1) + var(--fm-tree-depth) * var(--fm-tree-indent));
    padding-right: var(--fm-space-1);
    transition: background-color var(--fm-transition-fast), border-color var(--fm-transition-fast), color var(--fm-transition-fast);
    user-select: none;
  }
  .fm-explorer-tree-row:hover, .fm-explorer-tree-row:focus-visible {
    border-color: var(--fm-border-subtle);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
    outline: none;
  }
  .fm-explorer-tree-row[data-active="true"] {
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 10%, var(--fm-bg-panel));
    }
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 24%, transparent);
    }
    color: var(--fm-text-primary);
    box-shadow: inset 2px 0 0 var(--fm-accent);
  }
  .fm-explorer-tree-row--active-analysis-field {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 42%, transparent);
    }
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 11%, transparent);
    }
    color: var(--fm-text-primary);
  }
  .fm-explorer-tree-row[data-active="true"].fm-explorer-tree-row--active-analysis-field {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 58%, var(--fm-border-default));
    }
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 16%, var(--fm-bg-selected));
    }
  }
  .fm-explorer-tree-guide {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--fm-border-subtle);
    pointer-events: none;
  }
  .fm-explorer-tree-row__icon[data-icon="layers"] {
    color: #6366f1;
  }
  .fm-explorer-tree-row__icon[data-icon="box"] {
    color: #f97316;
  }
  .fm-explorer-tree-row__icon[data-icon="mesh"], .fm-explorer-tree-row__icon[data-icon="triangle"] {
    color: #f59e0b;
  }
  .fm-explorer-tree-row__icon[data-icon="wave"] {
    color: #0d9488;
  }
  .fm-explorer-tree-row__icon[data-icon="sparkles"] {
    color: #06b6d4;
  }
  .fm-explorer-tree-row__icon[data-icon="activity"] {
    color: #8b5cf6;
  }
  .fm-explorer-tree-row__icon[data-icon="magnet"] {
    color: #f43f5e;
  }
  .fm-explorer-tree-row__icon[data-icon="settings"] {
    color: #10b981;
  }
  .fm-explorer-tree-row__icon[data-icon="braces"] {
    color: #38bdf8;
  }
  .fm-explorer-tree-row__icon[data-icon="circle"] {
    color: #a855f7;
  }
  .fm-explorer-tree-row__icon[data-icon="shield"] {
    color: #22c55e;
  }
  .fm-explorer-tree-row__icon[data-icon="gauge"] {
    color: #64748b;
  }
  .fm-explorer-tree-row__icon[data-icon="play"] {
    color: #22c55e;
  }
  .fm-explorer-tree-row__icon[data-icon="folder"] {
    color: #f59e0b;
  }
  .fm-explorer-tree-row__icon[data-icon="database"] {
    color: #64748b;
  }
  .fm-explorer-tree-row[data-status="unavailable"] .fm-explorer-tree-row__icon, .fm-explorer-tree-row[data-status="cancelled"] .fm-explorer-tree-row__icon {
    opacity: 0.4;
  }
  .fm-explorer-tree-row[data-active="true"] .fm-explorer-tree-row__icon {
    filter: brightness(1.15) saturate(1.1);
  }
  .fm-explorer-tree-row[data-status="stale"] {
    color: var(--fm-stale);
  }
  .fm-explorer-node--warning {
    color: var(--fm-warning);
  }
  .fm-explorer-node--failed {
    color: var(--fm-danger);
  }
  .fm-explorer-node--active {
    color: var(--fm-accent);
  }
  .fm-explorer-node--done {
    color: var(--fm-success);
  }
  .fm-explorer-node--muted {
    color: var(--fm-text-muted);
  }
  .fm-explorer-tree-row[data-status="failed"], .fm-explorer-tree-row[data-status="unsupported"] {
    color: var(--fm-danger);
  }
  .fm-explorer-tree-row[data-status="running"] {
    color: var(--fm-accent);
  }
  .fm-explorer-tree-row[data-status="degraded"] {
    color: var(--fm-degraded);
  }
  .fm-explorer-tree-row[data-status="completed"], .fm-explorer-tree-row[data-status="mesh-ready"] {
    color: var(--fm-success);
  }
  .fm-explorer-tree-row[data-status="queued"], .fm-explorer-tree-row[data-status="skipped"], .fm-explorer-tree-row[data-status="cancelled"], .fm-explorer-tree-row[data-status="unavailable"] {
    color: var(--fm-text-muted);
  }
  .fm-explorer-tree-row[data-status="mesh-building"] {
    color: var(--fm-accent);
  }
  .fm-explorer-tree-row[data-status="mesh-stale"], .fm-explorer-tree-row[data-status="primitive-only"], .fm-explorer-tree-row[data-status="warning"] {
    color: var(--fm-warning);
  }
  .fm-explorer-tree-row[data-status="mesh-failed"], .fm-explorer-tree-row[data-status="validation-blocked"] {
    color: var(--fm-danger);
  }
  .fm-explorer-tree-row__branch, .fm-explorer-tree-row__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .fm-explorer-tree-row__branch svg {
    transition: transform var(--fm-transition-fast);
  }
  .fm-explorer-tree-row__branch svg[data-expanded="true"] {
    transform: rotate(90deg);
  }
  .fm-explorer-tree-row__label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--fm-font-size-sm);
    font-family: var(--fm-font-ui);
  }
  .fm-explorer-tree-row__status {
    display: inline-flex;
    align-items: center;
    height: var(--fm-space-5);
    padding: 0 6px;
    border-radius: var(--fm-radius-pill);
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-2xs);
    font-weight: 500;
    white-space: nowrap;
    letter-spacing: 0.01em;
    border: 1px solid var(--fm-border-subtle);
    background: transparent;
    color: var(--fm-text-muted);
  }
  .fm-explorer-tree-row__badge {
    display: inline-flex;
    align-items: center;
    height: var(--fm-space-5);
    padding: 0 6px;
    border-radius: var(--fm-radius-xs);
    border: 1px solid var(--fm-border-subtle);
    background: transparent;
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-2xs);
    white-space: nowrap;
  }
  .fm-explorer-tree-row__active-field {
    display: inline-flex;
    align-items: center;
    height: var(--fm-space-5);
    padding: 0 6px;
    border-radius: var(--fm-radius-pill);
    border: 1px solid var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-accent) 54%, var(--fm-border-subtle));
    }
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 14%, transparent);
    }
    color: var(--fm-accent);
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-2xs);
    font-weight: 500;
    white-space: nowrap;
  }
  .fm-explorer-tree-row[data-status="mesh-ready"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="completed"] .fm-explorer-tree-row__status {
    border-color: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-success) 40%, transparent);
    }
    background: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-success) 12%, transparent);
    }
    color: var(--fm-success);
  }
  .fm-explorer-tree-row[data-status="running"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="mesh-building"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="display"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="current"] .fm-explorer-tree-row__status {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 40%, transparent);
    }
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 12%, transparent);
    }
    color: var(--fm-accent);
  }
  .fm-explorer-tree-row[data-status="warning"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="stale"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="mesh-stale"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="primitive-only"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="degraded"] .fm-explorer-tree-row__status {
    border-color: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-warning) 40%, transparent);
    }
    background: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-warning) 10%, transparent);
    }
    color: var(--fm-warning);
  }
  .fm-explorer-tree-row[data-status="failed"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="unsupported"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="mesh-failed"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="validation-blocked"] .fm-explorer-tree-row__status {
    border-color: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-danger) 40%, transparent);
    }
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 10%, transparent);
    }
    color: var(--fm-danger);
  }
  .fm-explorer-tree-row[data-status="queued"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="skipped"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="cancelled"] .fm-explorer-tree-row__status, .fm-explorer-tree-row[data-status="unavailable"] .fm-explorer-tree-row__status {
    border-color: var(--fm-border-subtle);
    background: transparent;
    color: var(--fm-text-muted);
    opacity: 0.7;
  }
  .fm-explorer-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--fm-space-1);
    padding: var(--fm-space-1) var(--fm-space-2);
    border-top: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel);
    min-height: var(--fm-control-height-regular);
    flex-shrink: 0;
  }
  .fm-explorer-toolbar__action {
    display: inline-flex;
    align-items: center;
    gap: var(--fm-space-1);
    height: var(--fm-control-height-compact);
    padding: 0 var(--fm-space-2);
    border: 1px solid transparent;
    border-radius: var(--fm-radius-sm);
    background: transparent;
    color: var(--fm-text-muted);
    cursor: pointer;
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-xs);
    font-weight: 500;
    white-space: nowrap;
    transition: background-color var(--fm-transition-fast), border-color var(--fm-transition-fast), color var(--fm-transition-fast), transform var(--fm-duration-fast) ease-out;
  }
  .fm-explorer-toolbar__action:hover {
    background: var(--fm-bg-panel-raised);
    border-color: var(--fm-border-subtle);
    color: var(--fm-text-primary);
  }
  .fm-explorer-toolbar__action:active {
    transform: scale(0.96);
    transition-duration: var(--fm-duration-instant);
  }
  .fm-explorer-toolbar__action:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--fm-accent) 30%, transparent);
    }
  }
}
@layer fm-modules {
  .fm-inspector__body {
    min-height: 0;
    padding: var(--fm-inspector-group-gap) var(--fm-inspector-padding-inline);
  }
  .fm-inspector__empty {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
  }
  .fm-inspector-panel {
    display: grid;
    gap: var(--fm-inspector-group-gap);
  }
  .fm-inspector-field-row {
    display: grid;
    grid-template-columns: minmax(104px, 0.8fr) minmax(0, 1fr);
    min-height: var(--fm-control-height-regular);
    align-items: center;
    gap: var(--fm-space-2);
    border-radius: var(--fm-radius-md);
    padding: 0 var(--fm-space-2);
    transition: background-color var(--fm-transition-fast);
  }
  .fm-inspector-field-row:hover {
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 60%, transparent);
    }
  }
  .fm-inspector-field-row__label {
    overflow: hidden;
    color: var(--fm-text-muted);
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-xs);
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: 0.01em;
  }
  .fm-inspector-field-row__value {
    display: inline-flex;
    min-width: 0;
    justify-content: flex-end;
    gap: var(--fm-space-1);
    color: var(--fm-text-primary);
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-xs);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-inspector-field-row__value--mono {
    font-family: var(--fm-font-mono);
    font-weight: 400;
    font-size: var(--fm-font-size-xs);
    letter-spacing: 0.02em;
    color: var(--fm-text-secondary);
  }
  .fm-inspector-field-row__value small {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-ui);
    font-weight: 400;
  }
  .fm-inspector-field-row__value[data-status="completed"], .fm-inspector-field-row__value[data-status="success"], .fm-inspector-field-row__value[data-status="ready"] {
    color: var(--fm-success);
    font-weight: 600;
  }
  .fm-inspector-field-row__value[data-status="running"], .fm-inspector-field-row__value[data-status="loading"], .fm-inspector-field-row__value[data-status="pending"] {
    color: var(--fm-accent);
    font-weight: 600;
  }
  .fm-inspector-field-row__value[data-status="error"], .fm-inspector-field-row__value[data-status="failed"] {
    color: var(--fm-danger);
    font-weight: 600;
  }
  .fm-inspector-field-row__value[data-status="stale"], .fm-inspector-field-row__value[data-status="warning"], .fm-inspector-field-row__value[data-status="degraded"] {
    color: var(--fm-warning);
    font-weight: 600;
  }
  .fm-inspector-form-field {
    display: grid;
    gap: var(--fm-inspector-row-gap);
    padding: var(--fm-space-1) var(--fm-space-2);
  }
  .fm-inspector-form-field--inline {
    display: grid;
    grid-template-columns: minmax(104px, 0.8fr) minmax(0, 1fr);
    min-height: var(--fm-control-height-regular);
    align-items: center;
    gap: var(--fm-space-2);
    padding: var(--fm-inspector-row-gap) var(--fm-space-2);
  }
  .fm-inspector-form-field__label {
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    font-weight: 500;
    user-select: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.2;
    letter-spacing: 0.01em;
  }
  .fm-inspector-form-field__label-row {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: var(--fm-space-1);
  }
  .fm-inspector-form-field--inline .fm-inspector-form-field__label {
    white-space: nowrap;
  }
  .fm-inspector-form-field__help {
    display: inline-flex;
    width: var(--fm-space-5);
    height: var(--fm-space-5);
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: var(--fm-radius-md);
    background: transparent;
    color: var(--fm-text-muted);
    cursor: pointer;
  }
  .fm-inspector-form-field__help:hover, .fm-inspector-form-field__help:focus-visible {
    background: var(--fm-bg-elevated);
    color: var(--fm-text-primary);
    outline: none;
  }
  .fm-inspector-field-help__list {
    display: grid;
    gap: var(--fm-space-2);
    margin: 0;
    padding-inline-start: var(--fm-space-4);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
  }
  .fm-inspector-form-field__control {
    display: flex;
    align-items: center;
    gap: var(--fm-space-1);
    min-width: 0;
  }
  .fm-inspector-form-field__unit {
    flex-shrink: 0;
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    line-height: 1;
    user-select: none;
  }
  .fm-inspector-form-field__hint {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    line-height: 1.35;
    padding-inline: var(--fm-space-1);
  }
  .fm-inspector-form-field__hint--error {
    color: var(--fm-danger);
  }
  .fm-inspector-input {
    flex: 1;
    min-width: 0;
    height: var(--fm-control-height-compact);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-xs);
    font-weight: 500;
    padding: 0 var(--fm-space-2);
    outline: none;
    transition: border-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast), background-color var(--fm-transition-fast);
  }
  .fm-inspector-input:hover:not(:disabled) {
    border-color: var(--fm-border-default);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 100%, var(--fm-bg-hover));
    }
  }
  .fm-inspector-input:focus-visible {
    border-color: var(--fm-accent);
    background: var(--fm-bg-panel-raised);
    box-shadow: 0 0 0 2px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--fm-accent) 18%, transparent);
    }
  }
  .fm-inspector-input[aria-invalid="true"], .fm-inspector-select[aria-invalid="true"], .fm-inspector-textarea[aria-invalid="true"] {
    border-color: var(--fm-danger);
    box-shadow: 0 0 0 2px var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--fm-danger) 18%, transparent);
    }
  }
  .fm-inspector-input:disabled {
    border-color: var(--fm-border-disabled);
    background: var(--fm-bg-disabled);
    color: var(--fm-text-disabled);
    opacity: 1;
    cursor: not-allowed;
  }
  .fm-inspector-input--mono {
    font-family: var(--fm-font-mono);
    letter-spacing: 0.02em;
  }
  .fm-inspector-vector3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--fm-space-2);
    width: 100%;
  }
  .fm-inspector-vector3-item {
    display: flex;
    align-items: center;
    position: relative;
    min-width: 0;
    height: var(--fm-control-height-regular);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-canvas);
    box-shadow: var(--fm-shadow-sm);
    transition: border-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
  }
  .fm-inspector-vector3-item[data-disabled="true"] {
    border-color: var(--fm-border-disabled);
    background: var(--fm-bg-disabled);
    color: var(--fm-text-disabled);
    opacity: 1;
    cursor: not-allowed;
  }
  .fm-inspector-vector3-item:hover:not([data-disabled="true"]) {
    border-color: var(--fm-border-default);
  }
  .fm-inspector-vector3-item:focus-within:not([data-disabled="true"]) {
    border-color: var(--fm-accent);
    box-shadow: 0 0 0 2px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--fm-accent) 20%, transparent);
    }
  }
  .fm-inspector-vector3-item__badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--fm-space-5);
    height: 100%;
    font-size: var(--fm-font-size-2xs);
    font-weight: 850;
    user-select: none;
    border-top-left-radius: calc(var(--fm-radius-md) - 1px);
    border-bottom-left-radius: calc(var(--fm-radius-md) - 1px);
    border-right: 1px solid var(--fm-border-subtle);
  }
  .fm-inspector-vector3-item__badge[data-axis="x"] {
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 15%, transparent);
    }
    color: var(--fm-danger);
  }
  .fm-inspector-vector3-item__badge[data-axis="y"] {
    background: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-success) 15%, transparent);
    }
    color: var(--fm-success);
  }
  .fm-inspector-vector3-item__badge[data-axis="z"] {
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 15%, transparent);
    }
    color: var(--fm-accent);
  }
  .fm-inspector-vector3-item input.fm-inspector-input, .fm-inspector-vector3-item .fm-inspector-input {
    border: 0;
    background: transparent;
    box-shadow: none;
    height: 100%;
    padding-inline: var(--fm-space-2);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    text-align: right;
    min-width: 0;
    flex: 1;
  }
  .fm-inspector-vector3-item input.fm-inspector-input:hover, .fm-inspector-vector3-item input.fm-inspector-input:focus-visible {
    border: 0;
    box-shadow: none;
  }
  .fm-inspector-vector3-item input::-webkit-outer-spin-button, .fm-inspector-vector3-item input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
  .fm-inspector-vector3-item input[type=number] {
    -moz-appearance: textfield;
    appearance: textfield;
  }
  .fm-inspector-textarea {
    flex: 1;
    min-width: 0;
    min-height: 72px;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-canvas);
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    line-height: 1.5;
    padding: var(--fm-space-1) var(--fm-space-2);
    outline: none;
    resize: vertical;
    transition: border-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
  }
  .fm-inspector-textarea:hover:not(:disabled) {
    border-color: var(--fm-border-default);
  }
  .fm-inspector-textarea:focus-visible {
    border-color: var(--fm-accent);
    box-shadow: 0 0 0 1px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 1px color-mix(in srgb, var(--fm-accent) 30%, transparent);
    }
  }
  .fm-inspector-textarea:disabled {
    border-color: var(--fm-border-disabled);
    background: var(--fm-bg-disabled);
    color: var(--fm-text-disabled);
    opacity: 1;
    cursor: not-allowed;
    resize: none;
  }
  .fm-inspector-textarea[readonly] {
    color: var(--fm-text-secondary);
    cursor: default;
    resize: none;
    opacity: 0.8;
  }
  .fm-inspector-select {
    flex: none;
    min-width: 0;
    height: var(--fm-control-height-compact);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c7086' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 8px center;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-xs);
    font-weight: 500;
    padding: 0 26px 0 var(--fm-space-2);
    outline: none;
    cursor: pointer;
    transition: border-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast), background-color var(--fm-transition-fast);
  }
  .fm-inspector-select:hover:not(:disabled) {
    border-color: var(--fm-border-default);
    background-color: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in srgb, var(--fm-bg-panel-raised) 100%, var(--fm-bg-hover));
    }
  }
  .fm-inspector-select:focus-visible {
    border-color: var(--fm-accent);
    box-shadow: 0 0 0 2px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--fm-accent) 18%, transparent);
    }
    outline: none;
  }
  .fm-inspector-select:disabled {
    border-color: var(--fm-border-disabled);
    background-color: var(--fm-bg-disabled);
    color: var(--fm-text-disabled);
    opacity: 1;
    cursor: not-allowed;
  }
  .fm-inspector-checkbox {
    appearance: none;
    width: var(--fm-space-3);
    height: var(--fm-space-3);
    flex-shrink: 0;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-xs);
    background: var(--fm-bg-canvas);
    cursor: pointer;
    position: relative;
    transition: border-color var(--fm-transition-fast), background-color var(--fm-transition-fast);
    outline: none;
  }
  .fm-inspector-checkbox:hover:not(:disabled) {
    border-color: var(--fm-accent);
  }
  .fm-inspector-checkbox:checked {
    border-color: var(--fm-accent);
    background: var(--fm-accent-soft);
  }
  .fm-inspector-checkbox:checked::after {
    content: "";
    position: absolute;
    inset: 2px;
    background: var(--fm-accent);
    border-radius: 1px;
  }
  .fm-inspector-checkbox:focus-visible {
    box-shadow: var(--fm-focus-ring);
  }
  .fm-inspector-checkbox:disabled {
    border-color: var(--fm-border-disabled);
    background: var(--fm-bg-disabled);
    opacity: 1;
    cursor: not-allowed;
  }
  .fm-inspector-checkbox-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: var(--fm-space-2);
    align-items: center;
    min-height: var(--fm-control-height-regular);
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
  }
  .fm-inspector-checkbox-row input {
    margin: 0;
  }
  .fm-inspector-checkbox-row__meta {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-inspector-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--fm-space-1);
    padding: var(--fm-space-2) var(--fm-space-2) var(--fm-space-1);
    border-top: 1px solid var(--fm-border-subtle);
    margin-top: var(--fm-space-1);
    flex-wrap: wrap;
  }
  .fm-inspector-toolbar__spacer {
    flex: 1;
  }
  .fm-mode-field-diagnostics__toolbar {
    display: flex;
    justify-content: flex-end;
    padding: var(--fm-space-1) var(--fm-space-2);
  }
  .fm-mode-field-diagnostics__button.fm-button {
    gap: var(--fm-space-1);
  }
  .fm-mode-field-diagnostics {
    display: grid;
    gap: var(--fm-space-1);
    margin: 0 var(--fm-space-2) var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 72%, transparent);
    }
    padding: var(--fm-space-1) 0;
  }
  .fm-mode-field-diagnostics .fm-inspector-field-row__value {
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: right;
  }
  .fm-inspector-form-section {
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-2);
    padding: var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-surface);
  }
  .fm-inspector-form-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
    min-width: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
  }
  .fm-inspector {
    display: grid;
    grid-template-rows: auto 44px minmax(0, 1fr) 56px;
    height: 100%;
    min-height: 0;
    background: var(--fm-bg-panel);
    container-type: inline-size;
  }
  .fm-inspector:not(:has(> .fm-inspector__tabs)) {
    grid-template-rows: auto minmax(0, 1fr) 56px;
  }
  .fm-inspector__header {
    display: grid;
    align-items: stretch;
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-chrome);
    padding: var(--fm-space-3) var(--fm-inspector-padding-inline) var(--fm-space-2);
    gap: var(--fm-inspector-group-gap);
  }
  .fm-inspector__metadata-grid {
    display: none;
  }
  .fm-inspector__breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    min-width: 0;
  }
  .fm-inspector__breadcrumb-item {
    display: inline-flex;
    align-items: center;
    font-size: var(--fm-font-size-xs);
    color: var(--fm-text-muted);
  }
  .fm-inspector__breadcrumb-separator {
    color: var(--fm-text-muted);
    margin-inline: var(--fm-space-1);
  }
  .fm-inspector__breadcrumb {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-inspector__identity {
    display: flex;
    align-items: center;
    gap: var(--fm-space-2);
    min-width: 0;
  }
  .fm-inspector__identity-icon {
    display: grid;
    width: var(--fm-inspector-icon-size);
    height: var(--fm-inspector-icon-size);
    flex: 0 0 var(--fm-inspector-icon-size);
    place-items: center;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-segment);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-accent);
    box-shadow: var(--fm-shadow-sm);
  }
  .fm-inspector__identity-copy {
    display: grid;
    flex: 1;
    gap: var(--fm-space-1);
    min-width: 0;
  }
  .fm-inspector__title {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xl);
    font-weight: 700;
    letter-spacing: -0.02em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-inspector__badges {
    display: flex;
    align-items: center;
    gap: var(--fm-space-1);
  }
  .fm-inspector__options-button {
    flex: 0 0 auto;
    opacity: 0.5;
    transition: opacity var(--fm-transition-fast);
  }
  .fm-inspector__identity:hover .fm-inspector__options-button {
    opacity: 1;
  }
  .fm-inspector__metadata-grid {
    display: none;
  }
  .fm-inspector__metadata-item {
    display: grid;
    gap: var(--fm-space-1);
    min-width: 0;
  }
  .fm-inspector__metadata-item dt {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-inspector__metadata-item dd {
    margin: 0;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    font-variant-numeric: tabular-nums;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-inspector__tabs {
    min-width: 0;
    min-height: var(--fm-inspector-tab-height);
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-chrome);
  }
  .fm-inspector__tab-list {
    display: grid;
    grid-template-columns: repeat(var(--fm-inspector-tab-count, 4), minmax(0, 1fr));
    width: 100%;
    height: var(--fm-inspector-tab-height);
    padding: 0 var(--fm-inspector-padding-inline);
    border: 0;
    border-radius: 0;
    background: transparent;
    min-height: var(--fm-inspector-tab-height);
  }
  .fm-inspector__tab-list:has(> :nth-child(3):last-child) {
    --fm-inspector-tab-count: 3;
  }
  .fm-inspector__tab-list:has(> :nth-child(2):last-child) {
    --fm-inspector-tab-count: 2;
  }
  .fm-inspector__tab-list .fm-tabs-trigger {
    min-width: 0;
    height: var(--fm-inspector-tab-height);
    border-radius: 0;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--fm-text-muted);
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-sm);
    font-weight: 500;
    transition: color var(--fm-transition-fast), border-color var(--fm-transition-fast), transform var(--fm-duration-fast) ease-out;
  }
  .fm-inspector__tab-list .fm-tabs-trigger:hover {
    background: transparent;
    color: var(--fm-text-secondary);
  }
  .fm-inspector__tab-list .fm-tabs-trigger[data-state="active"] {
    border-bottom-color: var(--fm-accent);
    background: transparent;
    color: var(--fm-accent);
    font-weight: 650;
  }
  .fm-inspector__diagnostic-warning {
    border: 1px solid var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-danger) 38%, var(--fm-border-subtle));
    }
    border-radius: var(--fm-radius-md);
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 8%, var(--fm-bg-panel-raised));
    }
    color: var(--fm-danger);
    font-size: var(--fm-font-size-sm);
    line-height: 1.4;
    padding: var(--fm-space-3);
  }
  .fm-inspector__content {
    min-height: 0;
  }
  .fm-inspector__content > .fm-scroll-area__viewport > div {
    min-height: 100%;
  }
  .fm-inspector__action-bar {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1.4fr;
    align-items: center;
    gap: var(--fm-space-2);
    min-width: 0;
    min-height: var(--fm-inspector-icon-size);
    padding: 8px var(--fm-inspector-padding-inline);
    border-top: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-chrome);
  }
  .fm-inspector__action-tooltip-target {
    display: flex;
    width: 100%;
  }
  .fm-inspector__action-tooltip-target > .fm-inspector__action-btn, .fm-inspector__action-tooltip-target > button {
    width: 100%;
  }
  .fm-inspector__action-btn--apply.fm-button--primary {
    background: var(--fm-accent) !important;
    border-color: var(--fm-accent) !important;
    color: white !important;
    font-weight: 650;
  }
  .fm-inspector__action-btn--apply.fm-button--primary:hover:not(:disabled) {
    box-shadow: 0 0 12px var(--fm-accent) !important;
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 12px color-mix(in srgb, var(--fm-accent) 35%, transparent) !important;
    }
  }
  @container (max-width: 390px) {
    .fm-inspector__header {
      padding-inline: var(--fm-space-3);
    }
    .fm-inspector__metadata-grid {
      grid-template-columns: minmax(0, 1fr);
    }
    .fm-inspector__action-bar {
      gap: var(--fm-space-1);
      padding-inline: var(--fm-space-2);
    }
  }
}
@layer fm-modules {
  .fm-sinc-preview {
    display: grid;
    gap: var(--fm-space-3);
    margin-top: var(--fm-space-2);
  }
  .fm-sinc-preview__plot {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 88%, transparent);
    }
  }
  .fm-sinc-preview__plot figcaption {
    display: flex;
    justify-content: space-between;
    gap: var(--fm-space-2);
    padding: var(--fm-space-2) var(--fm-space-3) 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-sinc-preview__plot figcaption strong {
    color: var(--fm-text-primary);
    font-weight: 600;
  }
  .fm-sinc-preview__plot svg {
    display: block;
    width: 100%;
    min-height: 7rem;
  }
  .fm-sinc-preview__axis {
    stroke: var(--fm-border-strong);
    stroke-width: 1;
  }
  .fm-sinc-preview__marker {
    stroke: var(--fm-accent);
    stroke-dasharray: 3 3;
    stroke-width: 1;
  }
  .fm-sinc-preview__line {
    stroke: var(--fm-chart-blue);
    stroke-linejoin: round;
    stroke-width: 1.5;
  }
  .fm-sinc-preview__marker-label, .fm-sinc-preview__tick {
    fill: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    font-variant-numeric: tabular-nums;
  }
  .fm-sinc-preview__marker-label {
    fill: var(--fm-accent);
    font-weight: 650;
  }
  .fm-sinc-preview__metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fm-space-1);
    overflow: hidden;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-border-subtle);
  }
  .fm-sinc-preview__metrics > span {
    display: grid;
    gap: var(--fm-space-1);
    padding: var(--fm-space-2);
    background: var(--fm-bg-panel-raised);
  }
  .fm-sinc-preview__metrics small {
    color: var(--fm-text-muted);
  }
  .fm-sinc-preview__metrics strong {
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
    font-variant-numeric: tabular-nums;
  }
  .fm-sinc-preview__message {
    margin: 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-sinc-preview__message--unavailable {
    color: var(--fm-danger);
  }
  .fm-sinc-preview__message--preview_only {
    color: var(--fm-warning);
  }
  .fm-sampling-plan {
    display: grid;
    gap: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    padding: var(--fm-space-3);
  }
  .fm-sampling-plan--ready {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 28%, var(--fm-border-subtle));
    }
    background: linear-gradient( 135deg, var(--fm-accent), var(--fm-bg-panel-raised) 48% );
    @supports (color: color-mix(in lab, red, red)) {
      background: linear-gradient( 135deg, color-mix(in srgb, var(--fm-accent) 7%, var(--fm-bg-panel-raised)), var(--fm-bg-panel-raised) 48% );
    }
  }
  .fm-sampling-plan--warning {
    border-color: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-warning) 58%, var(--fm-border-subtle));
    }
    background: linear-gradient( 135deg, var(--fm-warning), var(--fm-bg-panel-raised) 48% );
    @supports (color: color-mix(in lab, red, red)) {
      background: linear-gradient( 135deg, color-mix(in srgb, var(--fm-warning) 8%, var(--fm-bg-panel-raised)), var(--fm-bg-panel-raised) 48% );
    }
  }
  .fm-sampling-plan__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fm-space-2);
  }
  .fm-sampling-plan__header p, .fm-sampling-plan__header h4, .fm-sampling-plan__group h5 {
    margin: 0;
  }
  .fm-sampling-plan__header p, .fm-sampling-plan__group h5 {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .fm-sampling-plan__header h4 {
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-sampling-plan__status {
    flex: 0 0 auto;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-pill);
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    line-height: 1;
    padding: var(--fm-space-1) var(--fm-space-2);
    text-transform: capitalize;
  }
  .fm-sampling-plan--ready .fm-sampling-plan__status {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 42%, var(--fm-border-subtle));
    }
    color: var(--fm-accent);
  }
  .fm-sampling-plan--warning .fm-sampling-plan__status {
    border-color: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-warning) 52%, var(--fm-border-subtle));
    }
    color: var(--fm-warning);
  }
  .fm-sampling-plan__groups {
    display: grid;
    gap: var(--fm-space-3);
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  }
  .fm-sampling-plan__group {
    display: grid;
    gap: var(--fm-space-2);
  }
  .fm-sampling-plan__metrics {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--fm-space-1);
    overflow: hidden;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-border-subtle);
  }
  .fm-sampling-plan__metrics > span {
    display: grid;
    gap: var(--fm-space-1);
    min-width: 0;
    padding: var(--fm-space-2);
    background: var(--fm-bg-canvas);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-canvas) 68%, var(--fm-bg-panel-raised));
    }
  }
  .fm-sampling-plan__metrics small {
    overflow: hidden;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-sampling-plan__metrics strong {
    overflow: hidden;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
@layer fm-modules {
  .fm-topological-charge-method {
    display: grid;
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    padding: var(--fm-space-2);
  }
  .fm-topological-charge-method__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--fm-space-2);
    align-items: start;
  }
  .fm-topological-charge-method__header h4 {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 600;
  }
  .fm-topological-charge-method__header p {
    margin: var(--fm-space-1) 0 0;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    line-height: 1.45;
  }
  .fm-topological-charge-method__header span {
    justify-self: start;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-xs);
    background: var(--fm-bg-chrome);
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-2xs);
    padding: 2px var(--fm-space-1);
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .fm-topological-charge-method__equations {
    display: grid;
    gap: var(--fm-space-1);
  }
  .fm-topological-charge-method__equation {
    display: grid;
    gap: var(--fm-space-1);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
    padding: var(--fm-space-2);
  }
  .fm-topological-charge-method__equation > span {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    font-weight: 600;
    text-transform: uppercase;
  }
  .fm-topological-charge-method__equation math {
    overflow-x: auto;
    max-width: 100%;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
  }
  .fm-topological-charge-method__terms {
    display: grid;
    gap: var(--fm-space-1);
    margin: 0;
  }
  .fm-topological-charge-method__terms div {
    display: grid;
    grid-template-columns: minmax(84px, 0.5fr) minmax(0, 1fr);
    gap: var(--fm-space-2);
    border-radius: var(--fm-radius-md);
    padding: 2px var(--fm-space-1);
  }
  .fm-topological-charge-method__terms dt {
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-topological-charge-method__terms dd {
    margin: 0;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    line-height: 1.35;
  }
  .fm-topological-charge-method__notes {
    display: grid;
    gap: var(--fm-space-1);
    margin: 0;
    padding-left: var(--fm-space-3);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    line-height: 1.35;
  }
  .fm-topological-charge-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    padding: var(--fm-space-2);
    flex-wrap: wrap;
  }
  .fm-topological-charge-controls .fm-tabs-list {
    gap: var(--fm-space-1);
  }
  .fm-topological-charge-controls .fm-tabs-trigger {
    min-width: var(--fm-inspector-topo-charge-min-width);
    font-size: var(--fm-font-size-xs);
  }
  .fm-topological-charge-profile {
    overflow-x: auto;
    padding: var(--fm-space-2);
  }
  .fm-topological-charge-profile h4 {
    margin: 0 0 var(--fm-space-1);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-topological-charge-profile table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--fm-font-size-xs);
  }
  .fm-topological-charge-profile th, .fm-topological-charge-profile td {
    border-bottom: 1px solid var(--fm-border-subtle);
    padding: 3px var(--fm-space-1);
    text-align: right;
    white-space: nowrap;
  }
  .fm-topological-charge-profile th:last-child, .fm-topological-charge-profile td:last-child {
    text-align: left;
  }
  .fm-study-command-link {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: var(--fm-space-1);
    border: 0;
    background: transparent;
    color: var(--fm-accent);
    cursor: pointer;
    font: inherit;
    overflow: hidden;
    padding: 0;
  }
  .fm-study-command-link span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-study-command-link:hover {
    color: var(--fm-accent-strong);
  }
  .fm-study-command-link:focus-visible {
    border-radius: var(--fm-radius-md);
    outline: none;
    box-shadow: var(--fm-focus-ring);
    outline-offset: 2px;
  }
}
@layer fm-modules {
  .fm-hysteresis-inspector-step-list {
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-1);
    width: 100%;
    margin-top: var(--fm-space-2);
  }
  .fm-hysteresis-inspector-step {
    padding: var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-surface);
    font-size: var(--fm-font-size-xs);
  }
  .fm-hysteresis-inspector-step__header {
    display: flex;
    justify-content: space-between;
    gap: var(--fm-space-2);
    margin-bottom: var(--fm-space-1);
    font-weight: 600;
  }
  .fm-hysteresis-inspector-step__title {
    min-width: 0;
    overflow: hidden;
    color: var(--fm-text-primary);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-hysteresis-inspector-step__method {
    flex: none;
    color: var(--fm-accent);
    font-variant-numeric: tabular-nums;
  }
  .fm-hysteresis-inspector-step__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fm-space-1);
    color: var(--fm-text-muted);
    font-variant-numeric: tabular-nums;
  }
  .fm-hysteresis-inspector-empty {
    margin-top: var(--fm-space-1);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    font-style: italic;
  }
  .fm-hysteresis-inspector-table-wrap {
    width: 100%;
    margin-top: var(--fm-space-2);
    overflow-x: auto;
  }
  .fm-hysteresis-inspector-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
    text-align: left;
  }
  .fm-hysteresis-inspector-table th, .fm-hysteresis-inspector-table td {
    padding: var(--fm-space-1) var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }
  .fm-hysteresis-inspector-table th {
    border-bottom-color: var(--fm-border-strong);
    color: var(--fm-text-muted);
    font-weight: 600;
  }
  .fm-hysteresis-inspector-table tr[data-status="warning"] {
    background: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-warning) 7%, transparent);
    }
  }
  .fm-hysteresis-inspector-point-source {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-accent) 35%, var(--fm-border-subtle));
    }
    border-radius: var(--fm-radius-xs);
    color: var(--fm-accent-strong);
    font-size: var(--fm-font-size-2xs);
    line-height: 1.4;
    padding: 0 var(--fm-space-1);
  }
  .fm-hysteresis-inspector-table__actions-heading {
    text-align: right;
  }
  .fm-hysteresis-inspector-table__actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--fm-space-1);
  }
  .fm-hysteresis-inspector-action.fm-button {
    min-height: var(--fm-control-height-regular);
    padding: 0 var(--fm-space-1);
    font-size: var(--fm-font-size-2xs);
  }
}
@layer fm-modules {
  .fm-region-list {
    display: grid;
    gap: var(--fm-space-1);
    padding: var(--fm-space-1) var(--fm-space-2) var(--fm-space-2);
  }
  .fm-region-list__empty {
    border: 1px dashed var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    padding: var(--fm-space-2);
  }
  .fm-region-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    width: 100%;
    gap: var(--fm-space-2);
    align-items: start;
    appearance: none;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
    color: inherit;
    cursor: pointer;
    font: inherit;
    padding: var(--fm-space-2);
    text-align: left;
  }
  .fm-region-card:hover {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 42%, var(--fm-border-subtle));
    }
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 72%, var(--fm-bg-panel));
    }
  }
  .fm-region-card:focus-visible {
    outline: none;
    box-shadow: var(--fm-focus-ring);
  }
  .fm-region-card__dot {
    width: var(--fm-space-3);
    height: var(--fm-space-3);
    border-radius: 50%;
    margin-top: 3px;
    background: var(--fm-accent);
    box-shadow: 0 0 0 3px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-accent) 16%, transparent);
    }
  }
  .fm-region-card__dot--0 {
    background: var(--fm-region-overlay-0);
    box-shadow: 0 0 0 3px var(--fm-region-overlay-0);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-region-overlay-0) 16%, transparent);
    }
  }
  .fm-region-card__dot--1 {
    background: var(--fm-region-overlay-1);
    box-shadow: 0 0 0 3px var(--fm-region-overlay-1);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-region-overlay-1) 16%, transparent);
    }
  }
  .fm-region-card__dot--2 {
    background: var(--fm-region-overlay-2);
    box-shadow: 0 0 0 3px var(--fm-region-overlay-2);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-region-overlay-2) 16%, transparent);
    }
  }
  .fm-region-card__dot--3 {
    background: var(--fm-region-overlay-3);
    box-shadow: 0 0 0 3px var(--fm-region-overlay-3);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-region-overlay-3) 16%, transparent);
    }
  }
  .fm-region-card__dot--4 {
    background: var(--fm-region-overlay-4);
    box-shadow: 0 0 0 3px var(--fm-region-overlay-4);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-region-overlay-4) 16%, transparent);
    }
  }
  .fm-region-card__dot--5 {
    background: var(--fm-region-overlay-5);
    box-shadow: 0 0 0 3px var(--fm-region-overlay-5);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-region-overlay-5) 16%, transparent);
    }
  }
  .fm-region-card__dot--6 {
    background: var(--fm-region-overlay-6);
    box-shadow: 0 0 0 3px var(--fm-region-overlay-6);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-region-overlay-6) 16%, transparent);
    }
  }
  .fm-region-card__dot--7 {
    background: var(--fm-region-overlay-7);
    box-shadow: 0 0 0 3px var(--fm-region-overlay-7);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-region-overlay-7) 16%, transparent);
    }
  }
  .fm-region-card__body {
    display: grid;
    min-width: 0;
    gap: var(--fm-space-1);
  }
  .fm-region-card__title-row {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
  }
  .fm-region-card__title {
    overflow: hidden;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 550;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-region-card__status {
    flex-shrink: 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-region-card__meta {
    overflow: hidden;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-inspector-feedback {
    display: flex;
    align-items: flex-start;
    gap: var(--fm-space-2);
    border-radius: var(--fm-radius-md);
    border-left: 2px solid var(--fm-border-subtle);
    background: transparent;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    line-height: 1.4;
    margin: var(--fm-space-1) var(--fm-space-2);
    padding: var(--fm-space-2);
  }
  .fm-inspector-feedback[data-kind="error"] {
    border-left-color: var(--fm-danger);
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 7%, transparent);
    }
    color: var(--fm-danger);
  }
  .fm-inspector-feedback[data-kind="success"] {
    border-left-color: var(--fm-success);
    background: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-success) 7%, transparent);
    }
    color: var(--fm-success);
  }
  .fm-inspector-feedback[data-kind="warning"] {
    border-left-color: var(--fm-warning);
    background: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-warning) 7%, transparent);
    }
    color: var(--fm-warning);
  }
  .fm-inspector-feedback__icon {
    flex-shrink: 0;
    margin-top: 1px;
  }
  .fm-inspector-feedback__message {
    flex: 1;
    min-width: 0;
    overflow-wrap: break-word;
  }
  .fm-region-inline-diagnostics {
    display: grid;
    gap: var(--fm-space-1);
    margin-bottom: var(--fm-space-2);
  }
  .fm-inspector-validation-list {
    display: grid;
    gap: var(--fm-space-1);
    margin: 0;
    color: var(--fm-warning);
    font-size: var(--fm-font-size-xs);
    padding: var(--fm-space-1) var(--fm-space-3);
  }
}
@layer fm-modules {
  .fm-inspector-colorbar-control {
    display: grid;
    gap: var(--fm-space-2);
  }
  .fm-inspector-colorbar {
    display: grid;
    grid-template-columns: max-content minmax(96px, 1fr) max-content;
    align-items: center;
    gap: var(--fm-space-2);
    padding-inline: var(--fm-space-1);
  }
  .fm-inspector-colorbar__limit {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    line-height: 1;
  }
  .fm-inspector-colorbar__ramp {
    height: var(--fm-space-3);
    min-width: var(--fm-inspector-mesh-type-icon-min-width);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-xs);
  }
  .fm-mesh-json-preview {
    max-height: 260px;
    overflow: auto;
    margin: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-canvas);
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    line-height: 1.45;
    padding: var(--fm-space-2);
    white-space: pre-wrap;
  }
  .fm-mesh-empty {
    margin: 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    line-height: 1.4;
    padding: var(--fm-space-2);
  }
  .fm-mesh-detail-table {
    display: grid;
    gap: var(--fm-space-1);
    padding: var(--fm-space-1);
  }
  .fm-mesh-detail-table__row {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) 80px minmax(0, 0.8fr);
    min-height: var(--fm-control-height-regular);
    align-items: center;
    gap: var(--fm-space-2);
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    padding: 2px var(--fm-space-2);
  }
  .fm-mesh-detail-table__row:first-child {
    color: var(--fm-text-muted);
    font-weight: 600;
  }
  .fm-mesh-detail-table__row[data-status="pass"], .fm-mesh-detail-table__row[data-status="ready"], .fm-mesh-detail-table__row[data-status="applied"] {
    color: var(--fm-success);
  }
  .fm-mesh-detail-table__row[data-status="warning"], .fm-mesh-detail-table__row[data-status="unknown"] {
    color: var(--fm-warning);
  }
  .fm-mesh-detail-table__row[data-status="failed"], .fm-mesh-detail-table__row[data-status="error"] {
    color: var(--fm-danger);
  }
  .fm-mesh-detail-list {
    display: grid;
    gap: var(--fm-space-1);
    padding: var(--fm-space-1);
  }
  .fm-mesh-detail-list__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--fm-space-1) var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-left: 2px solid var(--fm-border-default);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 70%, transparent);
    }
    padding: var(--fm-space-2);
  }
  button.fm-mesh-detail-list__item {
    cursor: pointer;
    text-align: left;
  }
  button.fm-mesh-detail-list__item:hover, button.fm-mesh-detail-list__item:focus-visible {
    border-color: var(--fm-border-strong);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 88%, transparent);
    }
  }
  .fm-mesh-detail-list__item[data-status="pass"], .fm-mesh-detail-list__item[data-status="ready"], .fm-mesh-detail-list__item[data-status="applied"] {
    border-left-color: var(--fm-success);
  }
  .fm-mesh-detail-list__item[data-status="warning"], .fm-mesh-detail-list__item[data-status="requested"], .fm-mesh-detail-list__item[data-status="unknown"] {
    border-left-color: var(--fm-warning);
  }
  .fm-mesh-detail-list__item[data-status="failed"], .fm-mesh-detail-list__item[data-status="error"] {
    border-left-color: var(--fm-danger);
  }
  .fm-mesh-detail-list__item strong {
    min-width: 0;
    overflow: hidden;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-mesh-detail-list__item span {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mesh-detail-list__item small {
    grid-column: 1 / -1;
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    line-height: 1.35;
  }
  .fm-mesh-build-history {
    display: grid;
    gap: var(--fm-space-2);
  }
  .fm-mesh-build-history__comparison {
    display: grid;
    gap: var(--fm-space-2);
    padding: var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 72%, transparent);
    }
  }
  .fm-mesh-build-history__comparison header {
    display: grid;
    gap: var(--fm-space-1);
  }
  .fm-mesh-build-history__controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fm-space-2);
  }
  .fm-mesh-build-history__controls label {
    display: grid;
    gap: var(--fm-space-1);
    min-width: 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mesh-build-history__comparison h4 {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-mesh-build-history__comparison header span {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mesh-build-comparison {
    display: grid;
    gap: var(--fm-space-1);
  }
  .fm-mesh-build-comparison__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) repeat(3, minmax(64px, max-content));
    min-height: var(--fm-control-height-regular);
    align-items: center;
    gap: var(--fm-space-2);
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    padding: 2px var(--fm-space-2);
  }
  .fm-mesh-build-comparison__row:first-child {
    color: var(--fm-text-muted);
    font-weight: 600;
  }
  .fm-mesh-build-comparison__row span {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .fm-mesh-quality-view {
    display: grid;
    gap: var(--fm-space-3);
  }
  .fm-mesh-quality-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--fm-space-2);
    margin: 0;
  }
  .fm-mesh-quality-summary div {
    min-width: 0;
    padding: var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 72%, transparent);
    }
  }
  .fm-mesh-quality-summary dt {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mesh-quality-summary dd {
    margin: var(--fm-space-1) 0 0;
    overflow-wrap: anywhere;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mesh-quality-metrics {
    display: grid;
    gap: var(--fm-space-2);
  }
  .fm-mesh-quality-metric, .fm-mesh-size-distribution {
    display: grid;
    gap: var(--fm-space-2);
    min-width: 0;
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
    box-shadow: var(--fm-shadow-md);
    transition: border-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
  }
  .fm-mesh-quality-metric:hover, .fm-mesh-size-distribution:hover {
    border-color: var(--fm-border-default);
    box-shadow: var(--fm-shadow-lg);
  }
  .fm-mesh-quality-metric__header {
    display: grid;
    gap: var(--fm-space-1);
  }
  .fm-mesh-quality-metric__header h4, .fm-mesh-quality-refinement h4, .fm-mesh-quality-worst h4 {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-mesh-quality-metric__header span {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mesh-quality-metric__header .fm-mesh-quality-metric__threshold {
    color: var(--fm-warning);
  }
  .fm-mesh-quality-band-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fm-space-2);
  }
  .fm-mesh-quality-band {
    display: grid;
    gap: var(--fm-space-1);
    min-width: 0;
    padding: var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-left: 2px solid var(--fm-border-default);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 68%, transparent);
    }
  }
  .fm-mesh-quality-band[data-status="warning"] {
    border-left-color: var(--fm-warning);
  }
  .fm-mesh-quality-band[data-status="ready"] {
    border-left-color: var(--fm-success);
  }
  .fm-mesh-quality-band span, .fm-mesh-quality-band small {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mesh-quality-band strong {
    overflow-wrap: anywhere;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-sm);
  }
  .fm-mesh-quality-metric__action {
    justify-self: start;
    padding: var(--fm-space-1) var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-elevated);
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mesh-quality-metric__action:hover, .fm-mesh-quality-metric__action:focus-visible {
    border-color: var(--fm-border-strong);
    background: var(--fm-bg-hover);
  }
  .fm-mesh-quality-chart {
    width: 100%;
    min-height: var(--fm-chart-height-xs);
  }
  .fm-mesh-chart-tooltip {
    display: grid;
    gap: var(--fm-space-1);
    padding: var(--fm-space-2) var(--fm-space-3);
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 85%, transparent);
    }
    backdrop-filter: blur(8px);
    box-shadow: var(--fm-shadow-elevated);
    pointer-events: none;
  }
  .fm-mesh-chart-tooltip__label {
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
  }
  .fm-mesh-chart-tooltip__value {
    color: var(--fm-accent);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    font-weight: 550;
  }
  .fm-mesh-size-distributions {
    display: grid;
    gap: var(--fm-space-3);
    margin-top: var(--fm-space-3);
  }
  .fm-mesh-size-distributions__header {
    display: grid;
    gap: var(--fm-space-1);
    padding-bottom: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    margin-bottom: var(--fm-space-1);
  }
  .fm-mesh-size-distribution__header {
    display: grid;
    gap: var(--fm-space-1);
  }
  .fm-mesh-size-distributions__header h4, .fm-mesh-size-distribution__header h4 {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-mesh-size-distributions__header span, .fm-mesh-size-distribution__header span, .fm-mesh-size-distribution__empty {
    margin: 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    line-height: 1.35;
  }
  .fm-mesh-size-distribution__header span {
    font-family: var(--fm-font-mono);
  }
  .fm-mesh-size-distribution__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fm-space-2);
    margin: 0;
  }
  .fm-mesh-size-distribution__stats div {
    min-width: 0;
    padding: var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 62%, transparent);
    }
  }
  .fm-mesh-size-distribution__stats dt {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mesh-size-distribution__stats dd {
    margin: var(--fm-space-1) 0 0;
    overflow-wrap: anywhere;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-mesh-size-distribution__bins {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: var(--fm-space-1);
    padding: 0;
    margin: var(--fm-space-2) 0 0;
    list-style: none;
  }
  .fm-mesh-size-distribution__bins li {
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-1);
    padding: var(--fm-space-1) var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 40%, transparent);
    }
  }
  .fm-mesh-size-distribution__bins li span {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    font-family: var(--fm-font-mono);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-mesh-size-distribution__bins li strong {
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-2xs);
    font-family: var(--fm-font-mono);
  }
  .fm-mesh-quality-warnings {
    display: grid;
    gap: var(--fm-space-1);
    margin: 0;
    color: var(--fm-warning);
    font-size: var(--fm-font-size-xs);
    padding: 0 var(--fm-space-4);
  }
  .fm-mesh-quality-refinement {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--fm-space-2);
    align-items: center;
    padding: var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-left: 2px solid var(--fm-border-default);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 72%, transparent);
    }
  }
  .fm-mesh-quality-refinement[data-status="ready"] {
    border-left-color: var(--fm-warning);
  }
  .fm-mesh-quality-refinement[data-status="not_required"] {
    border-left-color: var(--fm-success);
  }
  .fm-mesh-quality-refinement[data-status="unavailable"] {
    border-left-color: var(--fm-border-strong);
  }
  .fm-mesh-quality-refinement p {
    margin: var(--fm-space-1) 0 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    line-height: 1.35;
  }
  .fm-mesh-quality-refinement__action {
    padding: var(--fm-space-1) var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-elevated);
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
    white-space: nowrap;
  }
  .fm-mesh-quality-refinement__action:hover, .fm-mesh-quality-refinement__action:focus-visible {
    border-color: var(--fm-border-strong);
    background: var(--fm-bg-hover);
  }
  .fm-mesh-quality-worst {
    display: grid;
    gap: var(--fm-space-2);
  }
}
@layer fm-modules {
  .fm-frequency-domain-chart {
    display: grid;
    gap: var(--fm-space-2);
    width: 100%;
    min-height: 160px;
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-lg);
    background: var(--fm-bg-panel-raised);
  }
  .fm-frequency-domain-chart__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--fm-space-2);
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-frequency-domain-chart__header small {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    font-weight: 500;
  }
  .fm-frequency-domain-chart__canvas {
    width: 100%;
    min-height: 180px;
  }
  .fm-frequency-domain-chart__summary {
    display: grid;
    gap: var(--fm-space-2);
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    max-height: var(--fm-inspector-freq-domain-max-height);
    overflow: auto;
    padding-right: var(--fm-space-1);
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-frequency-domain-chart__summary span, .fm-frequency-domain-chart__mode {
    padding: var(--fm-space-1) var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-lg);
    background: var(--fm-bg-surface);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-surface) 72%, transparent);
    }
  }
  .fm-frequency-domain-chart__controls {
    display: grid;
    grid-column: 1 / -1;
    gap: var(--fm-space-2);
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
  .fm-frequency-domain-chart__control {
    display: grid;
    gap: var(--fm-space-1);
    min-width: 0;
    color: var(--fm-text-muted);
    font-family: var(--fm-font-sans);
    font-size: var(--fm-font-size-xs);
    font-weight: 550;
  }
  .fm-frequency-domain-chart__control span {
    padding: 0;
    border: 0;
    background: transparent;
  }
  .fm-frequency-domain-chart__mode {
    display: grid;
    gap: var(--fm-space-1);
    color: var(--fm-text-muted);
    cursor: pointer;
    font: inherit;
    text-align: left;
  }
  .fm-frequency-domain-chart__mode span {
    overflow: hidden;
    color: var(--fm-text-primary);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-frequency-domain-chart__mode small {
    overflow: hidden;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-frequency-domain-chart__mode:hover {
    border-color: var(--fm-border-strong);
    color: var(--fm-text-primary);
  }
  .fm-frequency-domain-chart__mode[data-selected="true"] {
    border-color: var(--fm-accent);
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 14%, var(--fm-bg-surface));
    }
    color: var(--fm-text-primary);
  }
  .fm-frequency-domain-chart__mode:focus-visible {
    outline: none;
    box-shadow: var(--fm-focus-ring);
  }
  .fm-frequency-domain-chart__empty {
    display: grid;
    min-height: var(--fm-chart-height-sm);
    place-items: center;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
  }
  .fm-frequency-domain-active-peak {
    display: grid;
    gap: var(--fm-space-2);
    margin-top: var(--fm-space-3);
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
  }
  .fm-frequency-domain-active-peak__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
  }
  .fm-frequency-domain-active-peak__header h4 {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-frequency-domain-peak-browser {
    display: grid;
    gap: var(--fm-space-2);
    margin-top: var(--fm-space-2);
  }
  .fm-frequency-domain-peak-card {
    display: grid;
    gap: var(--fm-space-2);
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
  }
  .fm-frequency-domain-peak-card[data-source="modal"] {
    border-left: 3px solid var(--fm-accent);
  }
  .fm-frequency-domain-peak-card[data-source="driven_response"] {
    border-left: 3px solid var(--fm-success);
  }
  .fm-frequency-domain-peak-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fm-space-2);
  }
  .fm-frequency-domain-peak-card__header h4 {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-frequency-domain-peak-card__eyebrow {
    display: block;
    margin-bottom: 2px;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-frequency-domain-peak-card__grid {
    display: grid;
    gap: var(--fm-space-1);
  }
  .fm-frequency-domain-peak-card__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--fm-space-1);
  }
  .fm-frequency-domain-peak-card__actions .fm-inspector-action-button {
    min-height: var(--fm-control-height-regular);
    padding: 0 var(--fm-space-2);
    font-size: var(--fm-font-size-2xs);
  }
  .fm-frequency-domain-resonance-browser {
    display: grid;
    gap: var(--fm-space-2);
    margin-top: var(--fm-space-2);
  }
  .fm-frequency-domain-resonance-card {
    display: grid;
    gap: var(--fm-space-2);
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-left: 3px solid var(--fm-accent);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
  }
  .fm-frequency-domain-resonance-card[data-status="missing"] {
    border-left-color: var(--fm-warning);
  }
  .fm-frequency-domain-resonance-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fm-space-2);
  }
  .fm-frequency-domain-resonance-card__header h4 {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-frequency-domain-resonance-card__eyebrow {
    display: block;
    margin-bottom: 2px;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-frequency-domain-resonance-card__grid {
    display: grid;
    gap: var(--fm-space-1);
  }
  .fm-frequency-domain-resonance-card__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--fm-space-1);
  }
  .fm-frequency-domain-resonance-card__actions .fm-inspector-action-button {
    min-height: var(--fm-control-height-regular);
    padding: 0 var(--fm-space-2);
    font-size: var(--fm-font-size-2xs);
  }
  .fm-frequency-domain-response-browser {
    display: grid;
    gap: var(--fm-space-2);
    margin-top: var(--fm-space-2);
  }
  .fm-frequency-domain-response-card {
    display: grid;
    gap: var(--fm-space-2);
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-left: 3px solid var(--fm-success);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
  }
  .fm-frequency-domain-response-card[data-status="missing"] {
    border-left-color: var(--fm-warning);
  }
  .fm-frequency-domain-response-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fm-space-2);
  }
  .fm-frequency-domain-response-card__header h4 {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-frequency-domain-response-card__eyebrow {
    display: block;
    margin-bottom: 2px;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-frequency-domain-response-card__grid {
    display: grid;
    gap: var(--fm-space-1);
  }
  .fm-frequency-domain-response-card__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--fm-space-1);
  }
  .fm-frequency-domain-response-card__actions .fm-inspector-action-button {
    min-height: var(--fm-control-height-regular);
    padding: 0 var(--fm-space-2);
    font-size: var(--fm-font-size-2xs);
  }
  .fm-frequency-domain-comparison-browser {
    display: grid;
    gap: var(--fm-space-2);
    margin-top: var(--fm-space-2);
  }
  .fm-frequency-domain-comparison-card {
    display: grid;
    gap: var(--fm-space-2);
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-left: 3px solid var(--fm-accent);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
  }
  .fm-frequency-domain-comparison-card[data-status="partial"] {
    border-left-color: var(--fm-warning);
  }
  .fm-frequency-domain-comparison-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fm-space-2);
  }
  .fm-frequency-domain-comparison-card__header h4 {
    margin: 0;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-frequency-domain-comparison-card__eyebrow {
    display: block;
    margin-bottom: 2px;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-frequency-domain-comparison-card__grid {
    display: grid;
    gap: var(--fm-space-1);
  }
  .fm-frequency-domain-comparison-card__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--fm-space-1);
  }
  .fm-frequency-domain-comparison-card__actions .fm-inspector-action-button {
    min-height: var(--fm-control-height-regular);
    padding: 0 var(--fm-space-2);
    font-size: var(--fm-font-size-2xs);
  }
  .fm-frequency-domain-table-wrap {
    width: 100%;
    margin-top: var(--fm-space-2);
    overflow-x: auto;
  }
  .fm-frequency-domain-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
    text-align: left;
  }
  .fm-frequency-domain-table th, .fm-frequency-domain-table td {
    padding: var(--fm-space-1) var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }
  .fm-frequency-domain-table th {
    border-bottom-color: var(--fm-border-strong);
    color: var(--fm-text-muted);
    font-weight: 650;
  }
  .fm-frequency-domain-table tr[data-status="missing"] {
    background: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-warning) 7%, transparent);
    }
  }
  .fm-frequency-domain-table__actions-heading {
    text-align: right;
  }
  .fm-frequency-domain-table__actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--fm-space-1);
    flex-wrap: wrap;
  }
  .fm-frequency-domain-table__actions .fm-inspector-action-button {
    min-height: var(--fm-control-height-regular);
    padding: 0 var(--fm-space-2);
    font-size: var(--fm-font-size-2xs);
  }
  .fm-frequency-domain-visualization-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fm-space-1);
    padding: var(--fm-space-1) var(--fm-space-2);
  }
  .fm-frequency-domain-visualization-actions .fm-inspector-action-button {
    min-width: 76px;
  }
  .fm-frequency-domain-visualization-actions .fm-frequency-domain-mode-data-preview-button {
    flex: 0 0 auto;
    min-height: var(--fm-control-height-regular);
  }
  .fm-frequency-domain-table-empty {
    display: grid;
    min-height: var(--fm-chart-height-xs);
    margin-top: var(--fm-space-2);
    place-items: center;
    border: 1px dashed var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-fd-alert__title {
    font-weight: var(--fm-font-weight-bold);
    font-size: var(--fm-font-size-sm);
    margin-bottom: var(--fm-space-1);
  }
  .fm-fd-alert__row {
    font-size: var(--fm-font-size-xs);
    margin: var(--fm-space-1) 0;
  }
}
@layer fm-modules {
  .fm-study-progress {
    position: relative;
    display: grid;
    min-height: var(--fm-space-5);
    overflow: hidden;
    align-items: center;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-canvas);
    margin: var(--fm-space-1) var(--fm-space-2);
  }
  .fm-study-progress__bar {
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    width: 0;
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 45%, transparent);
    }
    transition: width var(--fm-transition-fast);
  }
  .fm-study-progress--indeterminate .fm-study-progress__bar {
    width: 42%;
    animation: fm-study-progress-indeterminate 1.4s ease-in-out infinite;
  }
  @keyframes fm-study-progress-indeterminate {
    0% {
      transform: translateX(-100%);
    }
    100% {
      transform: translateX(240%);
    }
  }
  .fm-study-progress__label {
    position: relative;
    justify-self: end;
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    padding-inline: var(--fm-space-2);
  }
  .fm-study-stage-list {
    display: grid;
    gap: var(--fm-space-1);
    padding: var(--fm-space-1);
  }
  .fm-study-stage-card {
    display: grid;
    gap: var(--fm-space-1);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-canvas);
    color: inherit;
    padding: var(--fm-space-2);
    text-align: left;
  }
  button.fm-study-stage-card {
    cursor: pointer;
  }
  button.fm-study-stage-card:hover, button.fm-study-stage-card:focus-visible {
    border-color: var(--fm-border-default);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 78%, transparent);
    }
    outline: none;
  }
  .fm-study-stage-card[data-active="true"] {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 55%, var(--fm-border-subtle));
    }
    box-shadow: inset 2px 0 0 var(--fm-accent);
  }
  .fm-study-stage-card[data-selected="true"] {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 72%, var(--fm-border-subtle));
    }
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 7%, var(--fm-bg-canvas));
    }
  }
  .fm-study-stage-card[data-status="completed"] {
    border-color: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-success) 45%, var(--fm-border-subtle));
    }
  }
  .fm-study-stage-card[data-status="failed"] {
    border-color: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-danger) 45%, var(--fm-border-subtle));
    }
  }
  .fm-study-stage-card__header, .fm-study-stage-card__meta {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-1);
  }
  .fm-study-stage-card__header span {
    overflow: hidden;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-study-stage-card__header small {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-2xs);
    text-transform: uppercase;
  }
  .fm-study-stage-card__meta {
    justify-content: flex-start;
    flex-wrap: wrap;
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-2xs);
  }
  .fm-study-stage-card__meta span {
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-xs);
    padding: 1px var(--fm-space-1);
  }
  .fm-study-stage-empty {
    margin: var(--fm-space-1);
    border: 1px dashed var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    padding: var(--fm-space-3);
    text-align: center;
  }
  .fm-study-stage-editor {
    display: grid;
    gap: 0;
    margin: var(--fm-space-1);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    overflow: hidden;
    background: var(--fm-bg-panel-raised);
  }
  .fm-study-stage-editor__header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
    padding: 8px var(--fm-space-2);
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 6%, var(--fm-bg-panel-raised));
    }
    border-bottom: 1px solid var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-bottom: 1px solid color-mix(in srgb, var(--fm-accent) 18%, var(--fm-border-subtle));
    }
  }
  .fm-study-stage-editor__header strong {
    min-width: 0;
    overflow: hidden;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    font-family: var(--fm-font-ui);
    letter-spacing: 0.01em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-study-stage-editor__header span {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    height: var(--fm-space-5);
    padding: 0 6px;
    border-radius: var(--fm-radius-pill);
    font-size: var(--fm-font-size-2xs);
    font-weight: 500;
    font-family: var(--fm-font-ui);
    letter-spacing: 0.01em;
    white-space: nowrap;
    border: 1px solid var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-success) 35%, transparent);
    }
    background: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-success) 10%, transparent);
    }
    color: var(--fm-success);
  }
  .fm-study-stage-editor__header span[data-has-issues="true"] {
    border-color: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-warning) 40%, transparent);
    }
    background: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-warning) 10%, transparent);
    }
    color: var(--fm-warning);
  }
  .fm-study-stage-note {
    margin: var(--fm-space-1) var(--fm-space-2);
    padding: var(--fm-space-1) 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    line-height: 1.45;
    border-bottom: 1px solid var(--fm-border-subtle);
  }
  .fm-stage-autosave {
    display: grid;
    gap: var(--fm-space-2);
    margin: var(--fm-space-2);
    padding: var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 70%, transparent);
    }
  }
  .fm-stage-autosave__heading, .fm-stage-autosave__fields-heading, .fm-stage-autosave__field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
  }
  .fm-stage-autosave__heading p, .fm-stage-autosave__notice {
    margin: var(--fm-space-1) 0 0;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    line-height: 1.4;
  }
  .fm-stage-autosave__body, .fm-stage-autosave__subsection, .fm-stage-autosave__fields {
    display: grid;
    gap: var(--fm-space-2);
  }
  .fm-stage-autosave__subsection, .fm-stage-autosave__fields {
    padding-top: var(--fm-space-2);
    border-top: 1px solid var(--fm-border-subtle);
  }
  .fm-stage-autosave__field {
    align-items: end;
  }
  .fm-stage-autosave__field > .fm-inspector-form-field {
    flex: 1 1 0;
    min-width: 0;
  }
  .fm-study-stage-card__meta span {
    display: inline-flex;
    align-items: center;
    height: var(--fm-space-4);
    padding: 0 5px;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-pill);
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-2xs);
    font-weight: 500;
    letter-spacing: 0.01em;
    color: var(--fm-text-muted);
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 60%, transparent);
    }
  }
  .fm-study-checkpoint-list {
    display: grid;
    gap: var(--fm-space-1);
    margin-bottom: var(--fm-space-3);
  }
  .fm-study-checkpoint-list__item {
    display: grid;
    min-width: 0;
    gap: var(--fm-space-1);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
    padding: var(--fm-space-2);
    text-align: left;
  }
  .fm-study-checkpoint-list__item[data-selected="true"] {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 60%, var(--fm-border-subtle));
    }
    box-shadow: inset 2px 0 0 var(--fm-accent);
  }
  .fm-study-checkpoint-list__item span, .fm-study-checkpoint-list__item small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-study-checkpoint-list__item small {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-2xs);
  }
  .fm-study-file-input {
    width: 100%;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
    padding: var(--fm-space-2);
  }
  .fm-study-select {
    display: grid;
    gap: var(--fm-space-1);
    margin-top: var(--fm-space-3);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-study-select select {
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
    padding: var(--fm-space-2);
  }
}
@layer fm-modules {
  .fm-visualization-toggle-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--fm-space-1);
  }
  .fm-visualization-toggle {
    justify-content: center;
    gap: var(--fm-space-1);
    padding-inline: var(--fm-space-1);
    height: var(--fm-control-height-compact);
    min-height: var(--fm-control-height-compact);
    font-size: var(--fm-font-size-xs);
    font-family: var(--fm-font-ui);
    font-weight: 500;
    letter-spacing: 0.01em;
    border-radius: var(--fm-radius-md);
    border-color: var(--fm-border-subtle) !important;
    background: var(--fm-bg-panel-raised) !important;
    color: var(--fm-text-secondary) !important;
    transition: background var(--fm-transition-fast), border-color var(--fm-transition-fast), color var(--fm-transition-fast) !important;
  }
  .fm-visualization-toggle:hover:not(:disabled) {
    border-color: var(--fm-border-default) !important;
    background: var(--fm-bg-hover) !important;
    color: var(--fm-text-primary) !important;
  }
  .fm-visualization-toggle[data-active="true"], .fm-visualization-toggle[aria-pressed="true"] {
    border-color: var(--fm-accent) !important;
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 40%, var(--fm-border-subtle)) !important;
    }
    background: var(--fm-accent) !important;
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 12%, var(--fm-bg-panel-raised)) !important;
    }
    color: var(--fm-accent) !important;
    font-weight: 600;
  }
  .fm-visualization-toggle-grid--vectors {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fm-visualization-color-field__control {
    display: grid;
    grid-template-columns: var(--fm-space-8) minmax(0, 1fr);
    align-items: center;
    gap: var(--fm-space-2);
  }
  .fm-visualization-color-field__picker {
    width: var(--fm-control-height-regular);
    height: var(--fm-control-height-regular);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-canvas);
    cursor: pointer;
    padding: 2px;
  }
  .fm-visualization-color-field__value {
    min-width: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-canvas);
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    padding: var(--fm-space-1) var(--fm-space-2);
  }
  .fm-visualization-part-toggles {
    display: grid;
    gap: var(--fm-space-1);
    min-inline-size: 0;
    margin: 0;
    border: 0;
    padding: var(--fm-space-1) var(--fm-space-2);
  }
  .fm-visualization-part-toggles__label {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    padding-bottom: var(--fm-space-1);
  }
  .fm-visualization-part-toggle {
    display: flex;
    align-items: center;
    gap: var(--fm-space-2);
    padding: 2px 0;
    cursor: pointer;
    user-select: none;
  }
  .fm-visualization-part-toggle input[type="checkbox"] {
    appearance: none;
    width: var(--fm-space-3);
    height: var(--fm-space-3);
    flex-shrink: 0;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-xs);
    background: var(--fm-bg-canvas);
    cursor: pointer;
    position: relative;
    transition: border-color var(--fm-transition-fast), background-color var(--fm-transition-fast);
  }
  .fm-visualization-part-toggle input[type="checkbox"]:checked {
    border-color: var(--fm-accent);
    background: var(--fm-accent-soft);
  }
  .fm-visualization-part-toggle input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    inset: 2px;
    background: var(--fm-accent);
    border-radius: 1px;
  }
  .fm-visualization-part-toggle input[type="checkbox"]:disabled {
    opacity: 0.45;
    cursor: not-allowed;
  }
  .fm-visualization-part-toggle span {
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-visualization-scope-note {
    margin: 0;
    padding: var(--fm-space-1) var(--fm-space-2) var(--fm-space-1) 10px;
    border-radius: var(--fm-radius-sm);
    background: transparent;
    border: 0;
    border-left: 2px solid var(--fm-border-default);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    font-style: italic;
    line-height: 1.4;
    letter-spacing: 0.01em;
  }
  .fm-viz-vector-accounting {
    display: grid;
    gap: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    overflow: hidden;
  }
  .fm-viz-vector-accounting .fm-inspector-field-row {
    border-radius: 0;
    padding: var(--fm-space-1) var(--fm-space-2);
    min-height: var(--fm-control-height-compact);
  }
  .fm-viz-vector-accounting .fm-inspector-field-row:not(:last-child) {
    border-bottom: 1px solid var(--fm-border-subtle);
  }
  .fm-viz-vector-accounting .fm-inspector-field-row:hover {
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 5%, transparent);
    }
  }
  .fm-viz-vector-subgroup {
    display: grid;
    gap: var(--fm-space-2);
    padding: var(--fm-space-3) var(--fm-space-3);
    border-top: 1px solid var(--fm-border-subtle);
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 3%, var(--fm-bg-panel-raised));
    }
    border-radius: 0 0 var(--fm-radius-md) var(--fm-radius-md);
    margin-inline: -1px;
  }
  .fm-inspector-axis-tabs {
    min-width: 0;
  }
  .fm-inspector-axis-tabs .fm-tabs-list {
    gap: var(--fm-space-1);
  }
  .fm-inspector-axis-tab {
    position: relative;
    min-width: var(--fm-inspector-nav-icon-size);
    padding: var(--fm-space-1) var(--fm-space-2);
    font-size: var(--fm-font-size-xs);
    font-weight: 650;
    letter-spacing: 0.04em;
  }
  .fm-inspector-axis-tab[data-axis="x"][data-state="active"] {
    box-shadow: inset 0 -2px 0 var(--fm-danger);
  }
  .fm-inspector-axis-tab[data-axis="y"][data-state="active"] {
    box-shadow: inset 0 -2px 0 var(--fm-success);
  }
  .fm-inspector-axis-tab[data-axis="z"][data-state="active"] {
    box-shadow: inset 0 -2px 0 var(--fm-accent);
  }
  .fm-inspector-range-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: var(--fm-slider-track-height);
    border-radius: 2px;
    outline: none;
    cursor: pointer;
    border: none;
    margin: var(--fm-space-1) 0;
    background: linear-gradient( to right, var(--fm-accent) 0%, var(--fm-accent) var(--pct, 50%), var(--fm-border-default) var(--pct, 50%), var(--fm-border-default) 100% );
  }
  .fm-inspector-range-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: var(--fm-slider-thumb-size);
    height: var(--fm-slider-thumb-size);
    border-radius: 50%;
    background: var(--fm-accent);
    cursor: pointer;
    box-shadow: 0 0 0 2px var(--fm-bg-panel-raised), var(--fm-shadow-sm);
    transition: transform var(--fm-transition-fast);
  }
  .fm-inspector-range-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
  }
  .fm-inspector-range-slider::-moz-range-thumb {
    width: var(--fm-slider-thumb-size);
    height: var(--fm-slider-thumb-size);
    border: none;
    border-radius: 50%;
    background: var(--fm-accent);
    cursor: pointer;
    box-shadow: 0 0 0 2px var(--fm-bg-panel-raised), var(--fm-shadow-sm);
  }
  .fm-viz-render-mode-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--fm-space-1);
  }
  .fm-viz-render-mode-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--fm-space-1);
    min-height: var(--fm-inspector-icon-size);
    padding: var(--fm-space-2) var(--fm-space-1);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-secondary);
    cursor: pointer;
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-2xs);
    font-weight: 500;
    text-align: center;
    line-height: 1.2;
    transition: background var(--fm-transition-fast), border-color var(--fm-transition-fast), color var(--fm-transition-fast), transform var(--fm-duration-normal) ease;
    will-change: transform;
  }
  .fm-viz-render-mode-tile:hover:not(:disabled) {
    border-color: var(--fm-border-default);
    background: var(--fm-bg-hover);
    transform: translateY(-1px);
  }
  .fm-viz-render-mode-tile:active:not(:disabled) {
    transform: scale(0.97);
  }
  .fm-viz-render-mode-tile--active {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 50%, var(--fm-border-subtle));
    }
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 10%, var(--fm-bg-panel-raised));
    }
    color: var(--fm-accent);
    font-weight: 600;
  }
  .fm-viz-render-mode-tile--active:hover:not(:disabled) {
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 16%, var(--fm-bg-panel-raised));
    }
    transform: translateY(-1px);
  }
  .fm-viz-render-mode-tile:disabled {
    opacity: 0.45;
    cursor: not-allowed;
  }
  .fm-viz-render-mode-tile__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--fm-control-height-compact);
    height: var(--fm-control-height-compact);
    transition: transform var(--fm-duration-moderate) ease;
  }
  .fm-viz-render-mode-tile:hover .fm-viz-render-mode-tile__icon {
    transform: scale(1.1);
  }
  .fm-viz-render-mode-tile__label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--fm-space-1);
  }
  .fm-viz-render-mode-tile__sub-label {
    display: block;
    font-weight: 400;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
  }
  .fm-viz-render-mode-tile--active .fm-viz-render-mode-tile__sub-label {
    color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in srgb, var(--fm-accent) 70%, var(--fm-text-muted));
    }
  }
  .fm-viz-layer-strip {
    display: flex;
    gap: var(--fm-space-2);
    padding: var(--fm-space-2) 0 var(--fm-space-3);
  }
  .fm-viz-layer-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--fm-space-1);
    flex: 1;
    height: var(--fm-panel-header-height);
    padding: 0 var(--fm-space-2);
    border: 1.5px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-muted);
    font-family: var(--fm-font-ui);
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    letter-spacing: 0.01em;
    cursor: pointer;
    user-select: none;
    transition: background var(--fm-transition-fast), border-color var(--fm-transition-fast), color var(--fm-transition-fast), box-shadow var(--fm-transition-fast), transform var(--fm-duration-fast) ease-out;
  }
  .fm-viz-layer-chip:hover:not(:disabled) {
    border-color: var(--fm-border-default);
    color: var(--fm-text-secondary);
    background: var(--fm-bg-hover);
  }
  .fm-viz-layer-chip:active:not(:disabled) {
    transform: scale(0.95);
  }
  .fm-viz-layer-chip:disabled {
    opacity: 0.4;
    cursor: not-allowed;
  }
  .fm-viz-layer-chip--on {
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 12%, var(--fm-bg-panel-raised));
    }
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 40%, transparent);
    }
    color: var(--fm-accent);
    box-shadow: 0 0 0 0px var(--fm-accent-soft);
  }
  .fm-viz-layer-chip--on:hover:not(:disabled) {
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 18%, var(--fm-bg-panel-raised));
    }
    border-color: var(--fm-accent);
    box-shadow: 0 0 0 2px var(--fm-accent-soft);
  }
  .fm-inspector-group-nav-trigger {
    display: flex;
    align-items: center;
    min-height: var(--fm-inspector-group-nav-height);
  }
  .fm-inspector-group-nav-icon {
    flex-shrink: 0;
    width: var(--fm-inspector-nav-icon-size);
    height: var(--fm-inspector-nav-icon-size);
    border-radius: 50%;
    border: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .fm-viz-display-card {
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-lg);
    background: var(--fm-bg-surface);
    padding: var(--fm-space-1) 0 var(--fm-space-3);
    overflow: hidden;
  }
  .fm-viz-display-card [data-slot="inspector-group-trigger"] {
    padding: var(--fm-space-3) var(--fm-inspector-padding-inline);
    height: auto;
    min-height: var(--fm-inspector-tab-height);
    border-radius: var(--fm-radius-lg) var(--fm-radius-lg) 0 0;
  }
  .fm-viz-display-card [data-slot="inspector-group-trigger"] h3 {
    font-size: var(--fm-font-size-lg);
    font-weight: 650;
  }
  .fm-viz-display-card [data-slot="inspector-group-trigger"] .fm-inspector-group-icon-box {
    width: var(--fm-panel-header-height);
    height: var(--fm-panel-header-height);
    border-radius: var(--fm-radius-md);
    border: 1px solid var(--fm-border-subtle);
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 12%, var(--fm-bg-panel-raised));
    }
    color: var(--fm-accent);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .fm-viz-display-card [data-slot="inspector-group-content"] {
    padding: 0 14px;
    gap: var(--fm-space-3);
  }
  .fm-viz-nav-sections {
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-lg);
    background: var(--fm-bg-surface);
    overflow: hidden;
  }
  .fm-viz-nav-sections > [data-variant="nav"] {
    border-radius: 0;
  }
  .fm-inspector__action-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--fm-space-1);
    flex: 1;
    justify-content: center;
    font-size: var(--fm-font-size-sm);
  }
  .fm-inspector__action-btn--apply {
    flex: 1.4;
    font-size: var(--fm-font-size-md);
    font-weight: 650;
  }
  .fm-inspector__identity-icon {
    background: var(--fm-accent) !important;
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 8%, var(--fm-bg-panel-raised)) !important;
    }
    border-color: var(--fm-accent) !important;
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 24%, var(--fm-border-subtle)) !important;
    }
    transition: background var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
  }
  .fm-inspector__identity-icon:hover {
    box-shadow: 0 0 0 3px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-accent) 12%, transparent);
    }
  }
  .fm-inspector-group-icon-box {
    width: var(--fm-field-row-min-height);
    height: var(--fm-field-row-min-height);
    border-radius: var(--fm-radius-md);
    border: 1px solid var(--fm-border-subtle);
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 10%, var(--fm-bg-panel-raised));
    }
    color: var(--fm-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
  }
  [data-slot="inspector-group-content"] {
    transition: opacity var(--fm-duration-moderate) ease;
  }
  [data-collapsible="true"][data-open="false"] [data-slot="inspector-group-content"] {
    opacity: 0;
  }
  [data-collapsible="true"][data-open="true"] [data-slot="inspector-group-content"] {
    opacity: 1;
  }
  .fm-inspector-group-nav-trigger {
    transition: background var(--fm-transition-fast), transform var(--fm-duration-normal) ease;
  }
  .fm-inspector-group-nav-trigger:hover {
    transform: none;
  }
  .fm-inspector-group-nav-trigger:hover .fm-inspector-group-nav-icon {
    border-color: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-accent) 30%, var(--fm-border-subtle));
    }
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 8%, var(--fm-bg-panel-raised));
    }
    color: var(--fm-accent);
    transition: all var(--fm-transition-fast);
  }
  .fm-inspector-group-nav-trigger:hover > svg:last-child {
    transform: translateX(2px);
    transition: transform var(--fm-duration-moderate) ease;
  }
  .fm-visualization-toggle:active:not(:disabled) {
    transform: scale(0.96) !important;
  }
  .fm-inspector-metric-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
    height: 58px;
    padding: var(--fm-space-1) var(--fm-space-2);
    border-radius: var(--fm-radius-md);
    border: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel-raised);
    overflow: hidden;
    transition: background var(--fm-transition-fast), border-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast), transform 120ms ease;
  }
  .fm-inspector-metric-card__label {
    display: block;
    font-size: var(--fm-font-size-2xs);
    font-weight: 500;
    line-height: 1.2;
    color: var(--fm-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
  }
  .fm-inspector-metric-card__value {
    display: block;
    margin-top: var(--fm-space-1);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--fm-font-size-sm);
    font-weight: 600;
    line-height: 1.3;
    flex-shrink: 0;
  }
  .fm-inspector-metric-card:hover {
    transform: translateY(-1px);
    box-shadow: var(--fm-shadow-sm);
  }
  .fm-inspector__action-btn:active:not(:disabled) {
    transform: scale(0.96) translateY(1px);
    transition: transform var(--fm-duration-fast) ease;
  }
  button:hover > .fm-inspector-group-icon-box {
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 16%, var(--fm-bg-panel-raised));
    }
    box-shadow: 0 0 0 2px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--fm-accent) 14%, transparent);
    }
  }
  @keyframes fm-slide-down {
    from {
      opacity: 0;
      transform: translateY(-4px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  .fm-viz-display-card [data-slot="inspector-group-content"]:not([hidden]) {
    animation: fm-slide-down 180ms ease;
  }
  @keyframes fm-fade-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  .fm-viz-vector-accounting .fm-inspector-field-row__value {
    animation: fm-fade-in var(--fm-duration-slow) ease;
  }
  .fm-visualization-scope-note {
    animation: fm-slide-down var(--fm-duration-slow) ease;
  }
  .fm-viz-vector-subgroup {
    animation: fm-fade-in var(--fm-duration-moderate) ease;
  }
  .fm-visualization-toggle-grid > :nth-child(1) {
    animation-delay: 0ms;
  }
  .fm-visualization-toggle-grid > :nth-child(2) {
    animation-delay: 30ms;
  }
  .fm-visualization-toggle-grid > :nth-child(3) {
    animation-delay: var(--fm-duration-instant);
  }
  @keyframes fm-rise {
    from {
      opacity: 0;
      transform: translateY(6px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  .fm-object-visualization-overview > * {
    animation: fm-rise 220ms ease both;
  }
  .fm-object-visualization-overview > :nth-child(1) {
    animation-delay: 0ms;
  }
  .fm-object-visualization-overview > :nth-child(2) {
    animation-delay: 40ms;
  }
  .fm-object-visualization-overview > :nth-child(3) {
    animation-delay: var(--fm-duration-fast);
  }
  .fm-viz-display-card select:focus-visible {
    box-shadow: 0 0 0 2px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--fm-accent) 30%, transparent);
    }
    border-color: var(--fm-accent);
    outline: none;
    transition: box-shadow var(--fm-duration-moderate) ease, border-color var(--fm-duration-moderate) ease;
  }
  .fm-viz-render-mode-label {
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    color: var(--fm-text-secondary);
    margin-bottom: var(--fm-space-1);
    letter-spacing: 0.01em;
  }
  @media (prefers-reduced-motion: reduce) {
    .fm-object-visualization-overview > *, .fm-viz-display-card [data-slot="inspector-group-content"]:not([hidden]), .fm-viz-vector-accounting .fm-inspector-field-row__value, .fm-visualization-scope-note, .fm-viz-vector-subgroup {
      animation: none !important;
    }
    .fm-viz-render-mode-tile, .fm-viz-render-mode-tile__icon, .fm-inspector-metric-card, .fm-visualization-toggle {
      transition: none !important;
      transform: none !important;
    }
  }
  [data-slot="visualization-number-control"] ~ .fm-slider .fm-slider__track, .fm-viz-vector-subgroup .fm-slider .fm-slider__track, .fm-viz-vector-subgroup .fm-slider + .fm-slider__track {
    height: var(--fm-space-1);
    border: 0;
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 10%, var(--fm-bg-disabled));
    }
    border-radius: var(--fm-radius-pill);
  }
  [data-slot="inspector-property-row"] [data-slot="visualization-number-control"] .fm-slider__track {
    height: var(--fm-space-1);
    border: 0;
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 10%, var(--fm-bg-disabled));
    }
  }
  [data-slot="inspector-property-row"] [data-slot="visualization-number-control"] .fm-slider__range {
    background: linear-gradient( to right, var(--fm-accent), var(--fm-accent) );
    @supports (color: color-mix(in lab, red, red)) {
      background: linear-gradient( to right, var(--fm-accent), color-mix(in srgb, var(--fm-accent) 80%, var(--fm-text-primary)) );
    }
  }
  [data-slot="inspector-property-row"] [data-slot="visualization-number-control"] .fm-slider__thumb {
    width: var(--fm-space-3);
    height: var(--fm-space-3);
    border: 2px solid var(--fm-accent);
    background: var(--fm-bg-panel);
    box-shadow: inset 0 0 0 2.5px var(--fm-bg-panel), inset 0 0 0 5px var(--fm-accent), var(--fm-shadow-sm);
  }
  [data-slot="inspector-property-row"] [data-slot="visualization-number-control"] .fm-slider__thumb:hover {
    box-shadow: inset 0 0 0 2.5px var(--fm-bg-panel), inset 0 0 0 5px var(--fm-accent), 0 0 0 5px var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: inset 0 0 0 2.5px var(--fm-bg-panel), inset 0 0 0 5px var(--fm-accent), 0 0 0 5px color-mix(in srgb, var(--fm-accent) 14%, transparent);
    }
  }
  [data-slot="inspector-property-row"][data-layout="stacked"] output {
    display: inline-flex;
    align-items: center;
    padding: 1px 6px;
    border-radius: var(--fm-radius-sm);
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 10%, var(--fm-bg-panel-raised));
    }
    border: 1px solid var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-accent) 20%, var(--fm-border-subtle));
    }
    color: var(--fm-accent);
    font-size: var(--fm-font-size-2xs);
    font-weight: 600;
    font-family: var(--fm-font-mono);
    line-height: 1.5;
    letter-spacing: 0.02em;
    transition: background var(--fm-transition-fast);
  }
  .fm-visualization-toggle-grid:not(.fm-visualization-toggle-grid--vectors) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--fm-space-1);
  }
}
@layer fm-modules {
  .fm-viewport-3d {
    position: relative;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: var(--fm-bg-viewport);
  }
  .fm-viewport-3d__canvas {
    display: block;
    width: 100%;
    height: 100%;
  }
  .fm-viewport-3d__hud {
    position: absolute;
    z-index: var(--fm-z-base);
    top: var(--fm-space-2);
    left: var(--fm-space-2);
    display: flex;
    max-width: calc(100% - var(--fm-space-4));
    gap: var(--fm-space-2);
    align-items: center;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    pointer-events: none;
  }
  .fm-viewport-3d__hud > span {
    min-width: 0;
    max-width: 12rem;
    overflow: hidden;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-chrome);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-chrome) 88%, transparent);
    }
    padding: var(--fm-space-1) var(--fm-space-2);
    text-overflow: ellipsis;
    white-space: nowrap;
    backdrop-filter: blur(4px);
  }
  .fm-viewport-3d__hud > span:empty {
    display: none;
  }
  .fm-viewport-3d__region-modes {
    display: inline-flex;
    gap: 2px;
    min-inline-size: 0;
    margin: 0;
    border: 0;
    padding: 0;
    pointer-events: auto;
  }
  .fm-viewport-3d__region-modes .fm-button {
    min-inline-size: 0;
  }
  .fm-viewport-3d__refresh-countdown {
    display: inline-flex;
    width: 11rem;
    max-width: min(11rem, calc(100vw - var(--fm-space-4)));
    align-items: center;
    gap: var(--fm-space-2);
    color: var(--fm-text-secondary);
    font-variant-numeric: tabular-nums;
  }
  .fm-viewport-3d__refresh-countdown-ring {
    position: relative;
    display: inline-grid;
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    place-items: center;
    border-radius: var(--fm-radius-pill);
    background: conic-gradient( var(--fm-accent) var(--fm-refresh-progress, 0deg), var(--fm-border-default) 0 );
    @supports (color: color-mix(in lab, red, red)) {
      background: conic-gradient( var(--fm-accent) var(--fm-refresh-progress, 0deg), color-mix(in srgb, var(--fm-border-default) 70%, transparent) 0 );
    }
    box-shadow: inset 0 0 0 1px var(--fm-border-strong);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fm-border-strong) 55%, transparent);
    }
  }
  .fm-viewport-3d__refresh-countdown-core {
    width: 0.42rem;
    height: 0.42rem;
    border-radius: var(--fm-radius-pill);
    background: var(--fm-bg-viewport);
    box-shadow: 0 0 0 1px var(--fm-bg-chrome);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 1px color-mix(in srgb, var(--fm-bg-chrome) 80%, transparent);
    }
  }
  .fm-viewport-3d__refresh-countdown-copy {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--fm-space-2);
    align-items: baseline;
  }
  .fm-viewport-3d__refresh-countdown-title {
    min-width: 0;
    overflow: hidden;
    color: var(--fm-text-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-viewport-3d__refresh-countdown-detail {
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-weight: 650;
    white-space: nowrap;
  }
  .fm-viewport-3d__refresh-countdown[data-refresh-state="syncing"] .fm-viewport-3d__refresh-countdown-ring {
    animation: fm-viewport-refresh-spin 860ms linear infinite;
  }
  .fm-viewport-3d__refresh-countdown[data-refresh-state="updated"] {
    color: var(--fm-success);
  }
  .fm-viewport-3d__refresh-countdown[data-refresh-state="updated"] .fm-viewport-3d__refresh-countdown-ring {
    animation: fm-viewport-refresh-flash 650ms ease-out both;
    background: conic-gradient(var(--fm-success) 360deg, transparent 0);
  }
  .fm-viewport-3d__refresh-countdown[data-refresh-state="waiting"] {
    color: var(--fm-stale);
  }
  .fm-viewport-3d__refresh-countdown[data-refresh-state="error"] {
    color: var(--fm-danger);
  }
  @keyframes fm-viewport-pulse {
    0%, 100% {
      opacity: 0.45;
    }
    50% {
      opacity: 0.85;
    }
  }
  @keyframes fm-viewport-refresh-spin {
    to {
      transform: rotate(360deg);
    }
  }
  @keyframes fm-viewport-refresh-flash {
    0% {
      box-shadow: 0 0 0 0 color-mix(in srgb, var(--fm-success) 60%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--fm-success) 70%, transparent);
      transform: scale(0.9);
    }
    55% {
      box-shadow: 0 0 0 5px color-mix(in srgb, var(--fm-success) 0%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--fm-success) 70%, transparent);
      transform: scale(1.05);
    }
    100% {
      box-shadow: 0 0 0 0 transparent, inset 0 0 0 1px color-mix(in srgb, var(--fm-success) 55%, transparent);
      transform: scale(1);
    }
  }
  .fm-viewport-3d__placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--fm-space-3);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
    animation: fm-viewport-pulse 2s ease-in-out infinite;
  }
  @media (prefers-reduced-motion: reduce) {
    .fm-viewport-3d__placeholder {
      animation: none;
      opacity: 0.6;
    }
    .fm-viewport-3d__refresh-countdown-ring {
      animation: none !important;
      transform: none !important;
    }
  }
  .fm-viewport-3d__method-badge {
    position: absolute;
    z-index: 2;
    left: var(--fm-space-3);
    bottom: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-border-subtle) 50%, transparent);
    }
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-chrome);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-chrome) 55%, transparent);
    }
    color: var(--fm-text-muted);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in srgb, var(--fm-text-muted) 65%, transparent);
    }
    font-family: var(--fm-font-mono, monospace);
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    letter-spacing: 0.08em;
    padding: var(--fm-space-1) var(--fm-space-2);
    pointer-events: none;
    backdrop-filter: blur(4px);
    user-select: none;
  }
  .fm-viewport-3d__colorbar-stack {
    position: absolute;
    z-index: 2;
    left: var(--fm-space-3);
    bottom: calc( var(--fm-space-3) + var(--fm-control-height-compact) + var(--fm-space-2) );
    display: grid;
    width: min(18rem, calc(100% - var(--fm-space-6)));
    gap: var(--fm-space-1);
    max-height: min(18rem, calc(100% - var(--fm-space-6)));
    overflow: hidden;
    pointer-events: none;
  }
  .fm-viewport-3d__colorbar {
    display: grid;
    gap: var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-surface);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-surface) 94%, transparent);
    }
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
    padding: var(--fm-space-2);
    pointer-events: none;
    user-select: none;
  }
  .fm-viewport-3d__colorbar-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fm-space-2);
    min-width: 0;
  }
  .fm-viewport-3d__colorbar-identity {
    display: grid;
    min-width: 0;
    gap: 1px;
  }
  .fm-viewport-3d__colorbar-context, .fm-viewport-3d__colorbar-component, .fm-viewport-3d__colorbar-range-label {
    overflow: hidden;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    letter-spacing: 0.025em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-viewport-3d__colorbar-quantity {
    min-width: 0;
    overflow: hidden;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-viewport-3d__colorbar-unit {
    flex: 0 0 auto;
    max-width: 6rem;
    min-height: var(--fm-control-height-compact);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-xs);
    background: var(--fm-bg-panel);
    color: var(--fm-text-primary);
    font: inherit;
    font-family: var(--fm-font-mono);
    font-variant-numeric: tabular-nums;
    line-height: var(--fm-control-height-compact);
    padding: 0 var(--fm-space-1);
    pointer-events: auto;
  }
  .fm-viewport-3d__colorbar-range {
    display: grid;
    gap: var(--fm-space-1);
    padding-top: var(--fm-space-1);
    border-top: 1px solid var(--fm-border-subtle);
  }
  .fm-viewport-3d__colorbar-row {
    display: grid;
    grid-template-columns: minmax(3.5rem, auto) minmax(4rem, 1fr) minmax(3.5rem, auto);
    gap: var(--fm-space-2);
    align-items: center;
  }
  .fm-viewport-3d__colorbar-limit {
    overflow: hidden;
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-viewport-3d__colorbar-limit:last-child {
    text-align: right;
  }
  .fm-viewport-3d__colorbar-ramp {
    display: block;
    height: 0.55rem;
    min-width: 0;
    border: 1px solid var(--fm-border-strong);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-border-strong) 55%, transparent);
    }
    border-radius: var(--fm-radius-xs);
    background: linear-gradient(90deg, #2c115f, #1f77b4, #2ca25f, #f6e944);
    box-shadow: inset 0 0 0 1px var(--fm-bg-chrome);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fm-bg-chrome) 25%, transparent);
    }
  }
  .fm-viewport-3d__inspect-tooltip {
    position: absolute;
    z-index: 4;
    display: grid;
    min-width: 10rem;
    max-width: min(18rem, calc(100% - var(--fm-space-6)));
    gap: var(--fm-space-2);
    border: 1px solid var(--fm-border-strong);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-chrome);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-chrome) 92%, transparent);
    }
    box-shadow: var(--fm-shadow-panel);
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
    pointer-events: none;
    padding: var(--fm-space-2);
    transform: translateZ(0);
    user-select: none;
    backdrop-filter: blur(6px);
  }
  .fm-viewport-3d__inspect-tooltip-header {
    display: flex;
    min-width: 0;
    justify-content: space-between;
    gap: var(--fm-space-3);
    color: var(--fm-text-secondary);
    font-weight: 650;
  }
  .fm-viewport-3d__inspect-tooltip-header > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-viewport-3d__inspect-tooltip-values {
    display: grid;
    gap: var(--fm-space-1);
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono, monospace);
    font-variant-numeric: tabular-nums;
  }
  .fm-viewport-3d__primitive-label {
    display: inline-flex;
    max-width: 9rem;
    align-items: center;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-chrome);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-chrome) 88%, transparent);
    }
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    padding: var(--fm-space-1) var(--fm-space-2);
    pointer-events: none;
    white-space: nowrap;
    backdrop-filter: blur(4px);
  }
  .fm-viewport-3d__orbit-debug {
    position: absolute;
    z-index: 3;
    bottom: var(--fm-space-3);
    right: var(--fm-space-3);
    display: grid;
    width: min(18rem, calc(100% - var(--fm-space-6)));
    gap: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-chrome);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-chrome) 88%, transparent);
    }
    box-shadow: var(--fm-shadow-panel);
    color: var(--fm-text-primary);
    padding: var(--fm-space-3);
    backdrop-filter: blur(8px);
  }
  .fm-viewport-3d__orbit-debug-header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
  }
  .fm-viewport-3d__orbit-debug-header strong {
    min-width: 0;
    overflow: hidden;
    font-size: var(--fm-font-size-xs);
    font-weight: 700;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .fm-viewport-3d__orbit-debug-header span {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-viewport-3d__orbit-debug-field {
    display: grid;
    grid-template-columns: minmax(4.5rem, 1fr) auto;
    gap: var(--fm-space-2);
    align-items: center;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    font-weight: 650;
  }
  .fm-viewport-3d__orbit-debug-field output {
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-weight: 600;
  }
  .fm-viewport-3d__orbit-debug-field input {
    grid-column: 1 / -1;
    width: 100%;
    accent-color: var(--fm-accent);
  }
  .fm-viewport-camera-dialog.fm-dialog {
    width: min(520px, calc(100vw - 24px));
    max-height: min(760px, calc(100vh - 24px));
    transform: none;
  }
  .fm-viewport-camera-dialog__header {
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    cursor: grab;
    user-select: none;
  }
  .fm-viewport-camera-dialog__header:active {
    cursor: grabbing;
  }
  .fm-viewport-camera-dialog__close {
    width: 2rem;
    height: 2rem;
  }
  .fm-viewport-camera-dialog__body {
    display: grid;
    gap: var(--fm-space-4);
    min-width: 0;
    overflow: auto;
    padding: 0 var(--fm-space-5);
  }
  .fm-viewport-camera-dialog__live {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--fm-space-2);
  }
  .fm-viewport-camera-dialog__live-item {
    display: grid;
    min-width: 0;
    gap: var(--fm-space-1);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
    padding: var(--fm-space-2);
  }
  .fm-viewport-camera-dialog__live-item span {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-viewport-camera-dialog__live-item strong {
    min-width: 0;
    overflow: hidden;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    text-overflow: ellipsis;
  }
  .fm-viewport-camera-dialog__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fm-space-3);
  }
  .fm-viewport-camera-dialog__vector {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--fm-space-2);
    min-width: 0;
    margin: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    padding: var(--fm-space-3);
  }
  .fm-viewport-camera-dialog__vector legend {
    padding: 0 var(--fm-space-1);
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    font-weight: 650;
  }
  .fm-viewport-camera-dialog__axis-field, .fm-viewport-camera-dialog__field {
    display: grid;
    min-width: 0;
    gap: var(--fm-space-1);
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
  }
  .fm-viewport-camera-dialog__field {
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
    padding: var(--fm-space-3);
  }
  .fm-viewport-camera-dialog__axis-field input, .fm-viewport-camera-dialog__field input, .fm-viewport-camera-dialog__field select {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-canvas);
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    padding: var(--fm-space-2);
  }
  .fm-viewport-camera-dialog__input-with-unit {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--fm-space-2);
    align-items: center;
  }
  .fm-viewport-camera-dialog__input-with-unit small {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-viewport-camera-dialog__error {
    border: 1px solid var(--fm-danger);
    border-radius: var(--fm-radius-md);
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 12%, var(--fm-bg-panel));
    }
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    padding: var(--fm-space-3);
  }
  @media (max-width: 720px) {
    .fm-viewport-camera-dialog__live, .fm-viewport-camera-dialog__form {
      grid-template-columns: minmax(0, 1fr);
    }
    .fm-viewport-camera-dialog__vector {
      grid-template-columns: minmax(0, 1fr);
    }
  }
  .fm-viewport-3d__settings-body {
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-3);
    margin-top: var(--fm-space-3);
  }
  .fm-viewport-3d__settings-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--fm-space-3);
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: transparent;
    transition: border-color var(--fm-transition-fast), background-color var(--fm-transition-fast);
  }
  .fm-viewport-3d__settings-toggle[data-enabled="true"] {
    border-color: var(--fm-accent);
    background: var(--fm-accent-soft);
  }
  .fm-viewport-3d__settings-toggle-info {
    display: grid;
    gap: 2px;
    min-width: 0;
  }
  .fm-viewport-3d__settings-toggle-label {
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 600;
  }
  .fm-viewport-3d__settings-toggle[data-enabled="false"] .fm-viewport-3d__settings-toggle-label {
    color: var(--fm-text-muted);
  }
  .fm-viewport-3d__settings-toggle-desc {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    line-height: 1.35;
  }
  .fm-viewport-3d__settings-switch {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
    cursor: pointer;
  }
  .fm-viewport-3d__settings-switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
  }
  .fm-viewport-3d__settings-switch-track {
    width: var(--fm-inspector-nav-icon-size);
    height: var(--fm-control-height-compact);
    border-radius: var(--fm-radius-lg);
    background: var(--fm-border-default);
    transition: background-color var(--fm-transition-fast);
    position: relative;
  }
  .fm-viewport-3d__settings-switch-track::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: var(--fm-space-4);
    height: var(--fm-space-4);
    border-radius: 50%;
    background: var(--fm-text-primary);
    transition: transform var(--fm-transition-fast);
  }
  .fm-viewport-3d__settings-switch input:checked + .fm-viewport-3d__settings-switch-track {
    background: var(--fm-accent);
  }
  .fm-viewport-3d__settings-switch input:checked + .fm-viewport-3d__settings-switch-track::after {
    transform: translateX(16px);
  }
  .fm-viewport-3d__settings-switch input:focus-visible + .fm-viewport-3d__settings-switch-track {
    box-shadow: var(--fm-focus-ring);
  }
  .fm-viewport-3d__settings-footer {
    margin-top: var(--fm-space-3);
  }
}
@layer fm-modules {
  .fm-field-map {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 0;
    height: 100%;
    color: var(--fm-text-primary);
    background: var(--fm-bg-canvas);
    grid-template-rows: auto minmax(0, 1fr);
  }
  .fm-field-map--status, .fm-field-map--error {
    place-items: center;
    padding: var(--fm-space-6);
    color: var(--fm-text-secondary);
  }
  .fm-field-map--error {
    color: var(--fm-danger);
  }
  .fm-field-map__toolbar {
    display: flex;
    gap: var(--fm-space-3);
    align-items: center;
    min-height: var(--fm-inspector-nav-icon-size);
    padding: 0 var(--fm-space-3);
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel);
    font-variant-numeric: tabular-nums;
  }
  .fm-field-map__diagnostic {
    margin-left: auto;
    color: var(--fm-warning);
  }
  .fm-field-map__stage {
    position: relative;
    min-width: 0;
    min-height: 0;
    padding: var(--fm-space-6);
  }
  .fm-field-map__canvas-stack {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    max-height: 100%;
  }
  .fm-field-map__canvas {
    display: block;
    width: 100%;
    height: 100%;
    outline: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-viewport);
  }
  .fm-field-map__canvas--overlay {
    position: absolute;
    inset: 0;
    color: var(--fm-text-primary);
    background: transparent;
    pointer-events: none;
  }
  .fm-field-map__probe {
    position: absolute;
    right: var(--fm-space-2);
    bottom: var(--fm-space-2);
    padding: var(--fm-space-1) var(--fm-space-2);
    color: var(--fm-text-primary);
    background: var(--fm-bg-overlay);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
  }
  .fm-field-map__pinned-probe {
    position: absolute;
    right: var(--fm-space-3);
    bottom: var(--fm-space-3);
    padding: var(--fm-space-2);
    color: var(--fm-text-primary);
    background: var(--fm-bg-overlay);
    font-size: var(--fm-font-size-xs);
    font-variant-numeric: tabular-nums;
  }
  .fm-field-map__axis, .fm-field-map__colorbar {
    position: absolute;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    font-variant-numeric: tabular-nums;
  }
  .fm-field-map__axis--u {
    right: 50%;
    bottom: var(--fm-space-2);
  }
  .fm-field-map__axis--v {
    top: 50%;
    left: var(--fm-space-2);
    transform: rotate(-90deg);
  }
  .fm-field-map__colorbar {
    top: var(--fm-space-7);
    right: var(--fm-space-2);
    bottom: var(--fm-space-7);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-left: var(--fm-space-2);
    border-left: 8px solid var(--fm-accent);
  }
}
@layer fm-modules {
  .fm-analysis-plots {
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-3);
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    background: var(--fm-bg-panel);
    padding: var(--fm-space-3);
  }
  .fm-analysis-plots__tabs {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: var(--fm-space-1);
    min-width: 0;
    min-height: var(--fm-control-height-compact);
    overflow-x: auto;
    padding-bottom: var(--fm-space-1);
  }
  .fm-analysis-plots__tab {
    flex: 0 0 auto;
    min-height: 28px;
  }
  .fm-analysis-plots__panel {
    display: grid;
    grid-template-rows: auto auto auto minmax(280px, 1fr) auto;
    min-width: 0;
    min-height: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-surface);
  }
  .fm-analysis-plots__panel--primary {
    min-height: clamp(420px, 55vh, 580px);
  }
  .fm-analysis-plots__panel--columns {
    grid-template-rows: auto minmax(0, 1fr);
    min-height: var(--fm-chart-height-md);
  }
  .fm-analysis-plots__header, .fm-analysis-plots__range {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
    min-width: 0;
    padding: var(--fm-space-2) var(--fm-space-3);
  }
  .fm-analysis-plots__header {
    border-bottom: 1px solid var(--fm-border-subtle);
    flex-wrap: wrap;
  }
  .fm-analysis-plots__header h3, .fm-analysis-plots__header > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-analysis-plots__status {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: var(--fm-space-2);
    min-width: 0;
    padding: var(--fm-space-2) var(--fm-space-3);
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel);
  }
  .fm-analysis-plots__sampling-warning {
    margin: 0;
    padding: var(--fm-space-2) var(--fm-space-3);
    border: 1px solid var(--fm-danger);
    border-radius: var(--fm-radius-md);
    color: var(--fm-danger);
    font-size: var(--fm-font-size-xs);
  }
  .fm-analysis-plots__status-pill {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    gap: var(--fm-space-1);
    min-width: 0;
    min-height: var(--fm-control-height-compact);
    padding: 0 var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-surface);
    font-size: var(--fm-font-size-xs);
  }
  .fm-analysis-plots__status-label {
    color: var(--fm-text-muted);
    font-weight: 600;
  }
  .fm-analysis-plots__status-value {
    min-width: 0;
    overflow: hidden;
    color: var(--fm-text-secondary);
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-analysis-plots__workbench {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--fm-space-2);
    min-width: 0;
    padding: var(--fm-space-2) var(--fm-space-3);
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-surface);
  }
  .fm-analysis-plots__workbench .fm-analysis-plots__status-pill {
    background: var(--fm-bg-panel);
  }
  .fm-analysis-plots__legend {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fm-space-2);
    min-width: 0;
    padding: var(--fm-space-2) var(--fm-space-3);
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-surface);
  }
  .fm-analysis-plots__legend-item {
    display: grid;
    grid-template-columns: var(--fm-space-2) minmax(var(--fm-space-6), auto) auto minmax(48px, auto);
    align-items: center;
    gap: var(--fm-space-1);
    min-width: 0;
    max-width: 100%;
    min-height: var(--fm-control-height-compact);
    padding: 0 var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    appearance: none;
    background: var(--fm-bg-surface);
    color: var(--fm-text-secondary);
    cursor: pointer;
    font: inherit;
    font-size: var(--fm-font-size-xs);
    text-align: left;
  }
  .fm-analysis-plots__legend-item:hover {
    border-color: var(--fm-border-strong);
    color: var(--fm-text-primary);
  }
  .fm-analysis-plots__legend-item:focus-visible {
    outline: 2px solid var(--fm-focus-ring);
    outline-offset: 2px;
  }
  .fm-analysis-plots__legend-swatch {
    width: var(--fm-space-2);
    height: var(--fm-space-2);
    border-radius: 50%;
  }
  .fm-analysis-plots__legend-swatch--0 {
    background: var(--fm-chart-blue);
  }
  .fm-analysis-plots__legend-swatch--1 {
    background: var(--fm-chart-green);
  }
  .fm-analysis-plots__legend-swatch--2 {
    background: var(--fm-chart-yellow);
  }
  .fm-analysis-plots__legend-swatch--3 {
    background: var(--fm-chart-red);
  }
  .fm-analysis-plots__legend-swatch--4 {
    background: var(--fm-chart-mauve);
  }
  .fm-analysis-plots__legend-label, .fm-analysis-plots__legend-unit, .fm-analysis-plots__legend-latest {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-analysis-plots__legend-label {
    color: var(--fm-text-primary);
    font-weight: 600;
  }
  .fm-analysis-plots__legend-unit {
    color: var(--fm-text-muted);
  }
  .fm-analysis-plots__legend-latest {
    color: var(--fm-text-secondary);
    font-variant-numeric: tabular-nums;
  }
  .fm-analysis-plots__header h3 {
    margin: 0;
    overflow: hidden;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-analysis-plots__header span, .fm-analysis-plots__range {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-analysis-plots__chart-frame {
    display: flex;
    flex-direction: column;
    position: relative;
    min-width: 0;
    height: var(--fm-chart-height-analysis, 360px);
    min-height: var(--fm-chart-height-analysis, 360px);
    flex-shrink: 0;
    overflow: hidden;
  }
  .fm-analysis-chart-surface {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
  }
  .fm-analysis-plots__echarts {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  .fm-analysis-plots__heatmap {
    display: grid;
    align-content: stretch;
    min-height: var(--fm-chart-height-md);
    overflow: auto;
    background: var(--fm-bg-surface);
  }
  .fm-analysis-plots__heatmap-cell {
    min-width: 2px;
    min-height: 2px;
    background: var(--fm-accent);
  }
  .fm-analysis-plots__empty, .fm-analysis-plots__chart-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
  }
  .fm-analysis-plots__chart-empty {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .fm-analysis-plots__range {
    position: relative;
    z-index: var(--fm-z-base);
    border-top: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-surface);
  }
  .fm-analysis-plots__subchart {
    display: grid;
    grid-template-rows: auto auto minmax(180px, 240px);
    min-width: 0;
    min-height: var(--fm-chart-height-md);
    border-top: 1px solid var(--fm-border-subtle);
  }
  .fm-analysis-plots__subchart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
    min-width: 0;
    padding: var(--fm-space-2) var(--fm-space-3);
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel);
  }
  .fm-analysis-plots__subchart-header h4 {
    margin: 0;
    overflow: hidden;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-analysis-plots__subchart-header span {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-analysis-plots__range-clear {
    flex: 0 0 auto;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-panel);
    color: var(--fm-text-secondary);
    font: inherit;
    padding: var(--fm-space-1) var(--fm-space-2);
  }
  .fm-analysis-plots__range-clear:hover {
    border-color: var(--fm-border-strong);
    color: var(--fm-text-primary);
  }
  .fm-analysis-plots__columns {
    display: grid;
    align-content: start;
    min-width: 0;
    overflow: auto;
  }
  .fm-analysis-plots__column-header {
    display: grid;
    grid-template-columns: var(--fm-space-6) var(--fm-space-6) minmax(0, 1fr) 56px;
    gap: var(--fm-space-2);
    align-items: center;
    padding: var(--fm-space-2) var(--fm-space-3);
    border-bottom: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
  }
  .fm-analysis-plots__column-header span {
    text-align: left;
  }
  .fm-analysis-plots__column-row {
    display: grid;
    grid-template-columns: var(--fm-space-6) var(--fm-space-6) minmax(0, 1fr) 56px;
    gap: var(--fm-space-2);
    align-items: center;
    min-height: var(--fm-control-height-regular);
    padding: 0 var(--fm-space-3);
    border-bottom: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
  }
  .fm-analysis-plots__column-row span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-analysis-plots__column-id {
    margin-left: var(--fm-space-1);
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-2xs);
  }
  .fm-analysis-plots__column-row:hover {
    background: var(--fm-bg-panel);
  }
  .fm-analysis-plots__radio, .fm-analysis-plots__checkbox {
    margin: 0;
    width: var(--fm-space-3);
    height: var(--fm-space-3);
    cursor: pointer;
    accent-color: var(--fm-accent);
  }
  .fm-analysis-plots__radio:disabled, .fm-analysis-plots__checkbox:disabled {
    cursor: not-allowed;
    opacity: 0.45;
  }
  .fm-analysis-plots__select {
    min-height: var(--fm-field-row-min-height);
    max-width: 180px;
    padding: 0 var(--fm-space-2);
    border: 1px solid var(--fm-border-strong);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-surface);
    color: var(--fm-text-primary);
    font: inherit;
    font-size: var(--fm-font-size-xs);
  }
  .fm-analysis-plots__select:focus-visible {
    outline: none;
    box-shadow: var(--fm-focus-ring);
  }
  .fm-hysteresis-container {
    --fm-hysteresis-active: var(--fm-danger);
    --fm-hysteresis-axis: var(--fm-text-muted);
    --fm-hysteresis-branch-ascending: var(--fm-success);
    --fm-hysteresis-branch-descending: var(--fm-accent);
    --fm-hysteresis-metric: var(--fm-danger);
    --fm-hysteresis-remanence: var(--fm-info);
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-3);
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
  }
  .fm-hysteresis-container:focus-visible {
    outline: none;
    box-shadow: var(--fm-focus-ring);
  }
  .fm-hysteresis-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
    min-width: 0;
  }
  .fm-hysteresis-control-group, .fm-hysteresis-player-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--fm-space-2);
    min-width: 0;
  }
  .fm-hysteresis-play-button {
    gap: var(--fm-space-1);
  }
  .fm-hysteresis-status {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    line-height: var(--fm-line-height-tight);
  }
  .fm-hysteresis-chart-canvas {
    width: 100%;
    height: 360px;
    min-height: var(--fm-chart-height-md);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-surface);
  }
  .fm-hysteresis-scrubber-panel {
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-2);
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-surface);
  }
  .fm-hysteresis-scrubber-readout {
    display: flex;
    justify-content: space-between;
    gap: var(--fm-space-2);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-hysteresis-scrubber-active {
    color: var(--fm-text-primary);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }
  .fm-hysteresis-scrubber {
    width: 100%;
    accent-color: var(--fm-hysteresis-active);
    cursor: pointer;
  }
  .fm-quick-chart {
    min-height: 152px;
    position: relative;
  }
  .fm-quick-chart__canvas {
    height: 148px;
    min-width: 0;
    width: 100%;
  }
  .fm-analysis-quick-chart-dock {
    display: grid;
    gap: var(--fm-space-2);
    grid-template-columns: minmax(160px, 0.24fr) minmax(0, 1fr);
    min-height: 180px;
    padding: var(--fm-space-2) var(--fm-space-3);
  }
  .fm-analysis-quick-chart-dock__header {
    align-content: start;
    display: grid;
    gap: var(--fm-space-1);
  }
  .fm-analysis-quick-chart-dock__header span {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-analysis-chart-export {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: var(--fm-space-1);
    justify-content: flex-end;
    padding-block: var(--fm-space-1);
  }
  .fm-chart-section {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    min-height: calc(var(--fm-chart-height-analysis, 360px) + 80px);
    min-width: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-surface);
    overflow: hidden;
    flex-shrink: 0;
  }
  .fm-chart-section__header {
    display: flex;
    align-items: center;
    gap: var(--fm-space-2);
    min-width: 0;
    padding: var(--fm-space-2) var(--fm-space-3);
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel);
  }
  .fm-chart-section__title-group {
    display: flex;
    flex-direction: column;
    gap: 1px;
    flex: 1;
    min-width: 0;
  }
  .fm-chart-section__title {
    margin: 0;
    overflow: hidden;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-chart-section__subtitle {
    overflow: hidden;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-chart-section__status-group {
    display: flex;
    align-items: center;
    gap: var(--fm-space-2);
    flex-shrink: 0;
  }
  .fm-chart-section__status {
    padding: 1px var(--fm-space-2);
    border-radius: var(--fm-radius-sm);
    font-size: var(--fm-font-size-xs);
    font-weight: 500;
  }
  .fm-chart-section__status--ok {
    background: var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-success) 14%, transparent);
    }
    color: var(--fm-success);
  }
  .fm-chart-section__status--stale {
    background: var(--fm-stale);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-stale) 14%, transparent);
    }
    color: var(--fm-stale);
  }
  .fm-chart-section__status--degraded {
    background: var(--fm-degraded);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-degraded) 14%, transparent);
    }
    color: var(--fm-degraded);
  }
  .fm-chart-section__status--error {
    background: var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-danger) 14%, transparent);
    }
    color: var(--fm-danger);
  }
  .fm-chart-section__point-count, .fm-chart-section__revision {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    font-variant-numeric: tabular-nums;
  }
  .fm-chart-section__toolbar {
    display: flex;
    align-items: center;
    gap: var(--fm-space-1);
    flex-shrink: 0;
  }
  .fm-chart-section__legend {
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-surface);
  }
  .fm-analysis-quantity-availability {
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel);
  }
  .fm-analysis-quantity-availability > summary {
    display: flex;
    align-items: center;
    gap: var(--fm-space-2);
    min-height: var(--fm-control-height-compact);
    padding: var(--fm-space-1) var(--fm-space-3);
    color: var(--fm-text-secondary);
    cursor: pointer;
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    list-style-position: inside;
  }
  .fm-analysis-quantity-availability > summary:hover, .fm-analysis-quantity-availability > summary:focus-visible {
    color: var(--fm-text-primary);
  }
  .fm-analysis-quantity-availability__count {
    color: var(--fm-text-muted);
    font-variant-numeric: tabular-nums;
  }
  .fm-analysis-quantity-availability__empty {
    margin: 0;
    padding: var(--fm-space-2) var(--fm-space-3);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-analysis-quantity-availability .fm-analysis-plots__columns {
    max-height: min(42vh, 320px);
    overflow: auto;
    border-top: 1px solid var(--fm-border-subtle);
  }
  .fm-chart-section__body {
    position: relative;
    min-width: 0;
    min-height: var(--fm-chart-height-analysis, 360px);
    overflow: hidden;
  }
  .fm-chart-section__footer {
    border-top: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel);
  }
  .fm-chart-section__footer-row {
    display: flex;
    align-items: center;
    gap: var(--fm-space-3);
    padding: var(--fm-space-1) var(--fm-space-3);
    min-height: var(--fm-control-height-compact);
  }
  .fm-analysis-plots__range-cursor, .fm-analysis-plots__range-zoom {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    font-variant-numeric: tabular-nums;
  }
  .fm-chart-legend {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0 var(--fm-space-3);
    padding: var(--fm-space-1) var(--fm-space-3) var(--fm-space-2);
  }
  .fm-chart-legend__item {
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--fm-space-2);
    min-width: 0;
    min-height: var(--fm-control-height-regular);
    padding: 0 var(--fm-space-2);
    border: 0;
    border-bottom: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: transparent;
    color: var(--fm-text-secondary);
    cursor: pointer;
    font: inherit;
    font-size: var(--fm-font-size-xs);
    text-align: left;
    transition: background-color var(--fm-transition-fast), opacity var(--fm-transition-fast);
  }
  .fm-chart-legend__item:hover {
    background: var(--fm-bg-panel-raised);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-panel-raised) 60%, transparent);
    }
  }
  .fm-chart-legend__item:focus-visible {
    outline: 2px solid var(--fm-accent);
    outline-offset: 2px;
  }
  .fm-chart-legend__item--hidden {
    opacity: 0.4;
  }
  .fm-chart-legend__swatch {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-radius: var(--fm-radius-pill);
  }
  .fm-chart-legend__swatch--blue {
    background: var(--fm-chart-blue);
  }
  .fm-chart-legend__swatch--green {
    background: var(--fm-chart-green);
  }
  .fm-chart-legend__swatch--yellow {
    background: var(--fm-chart-yellow);
  }
  .fm-chart-legend__swatch--red {
    background: var(--fm-chart-red);
  }
  .fm-chart-legend__swatch--mauve {
    background: var(--fm-chart-mauve);
  }
  .fm-chart-legend__swatch--peach {
    background: var(--fm-chart-peach);
  }
  .fm-chart-legend__swatch--teal {
    background: var(--fm-chart-teal);
  }
  .fm-chart-legend__swatch--sky {
    background: var(--fm-chart-sky);
  }
  .fm-chart-legend__swatch--pink {
    background: var(--fm-chart-pink);
  }
  .fm-chart-legend__swatch--lavender {
    background: var(--fm-chart-lavender);
  }
  .fm-chart-legend__swatch--flamingo {
    background: var(--fm-chart-flamingo);
  }
  .fm-chart-legend__swatch--rosewater {
    background: var(--fm-chart-rosewater);
  }
  .fm-chart-legend__identity {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: var(--fm-space-1);
  }
  .fm-chart-legend__label {
    overflow: hidden;
    color: var(--fm-text-secondary);
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: 0.01em;
  }
  .fm-chart-legend__unit {
    flex-shrink: 0;
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-2xs);
    font-variant-numeric: tabular-nums;
  }
  .fm-chart-legend__latest {
    flex-shrink: 0;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
  }
  @media (max-width: 540px) {
    .fm-chart-legend {
      grid-template-columns: minmax(0, 1fr);
      padding-inline: var(--fm-space-2);
    }
  }
  .fm-chart-control-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--fm-space-2);
    min-width: 0;
    max-width: 100%;
    padding: var(--fm-space-1) 0;
  }
  .fm-chart-control-bar__live-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--fm-space-1);
  }
  .fm-chart-control-bar__pulse {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .fm-chart-control-bar__pulse--live {
    background: var(--fm-success);
    animation: fm-pulse-live 2s ease-in-out infinite;
  }
  .fm-chart-control-bar__pulse--paused {
    background: var(--fm-text-muted);
  }
  @keyframes fm-pulse-live {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: 0.3;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .fm-chart-control-bar__pulse--live {
      animation: none;
    }
  }
  .fm-chart-control-bar__points {
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
    font-variant-numeric: tabular-nums;
  }
  .fm-chart-control-bar__points-total {
    color: var(--fm-text-muted);
  }
  .fm-chart-control-bar__range-badge {
    padding: 1px var(--fm-space-2);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
  }
  .fm-chart-control-bar__range-select, .fm-chart-control-bar__points-select {
    width: auto;
    min-width: 132px;
    max-width: 190px;
  }
  .fm-chart-control-bar__points-select {
    min-width: 92px;
  }
  .fm-chart-section__trust {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }
  @media (max-width: 900px) {
    .fm-analysis-plots {
      padding: var(--fm-space-2);
    }
    .fm-analysis-plots__header {
      align-items: flex-start;
      flex-direction: column;
    }
    .fm-analysis-plots__header > span {
      max-width: 100%;
    }
    .fm-chart-section__header {
      align-items: flex-start;
      flex-wrap: wrap;
    }
    .fm-chart-section__title-group, .fm-chart-section__status-group {
      min-width: 0;
    }
    .fm-chart-section__status-group {
      flex-wrap: wrap;
    }
    .fm-chart-section__toolbar {
      flex: 1 1 100%;
      min-width: 0;
      order: 3;
    }
    .fm-chart-control-bar {
      width: 100%;
    }
  }
  @media (max-width: 620px) {
    .fm-analysis-plots__tabs {
      padding-inline: 0;
    }
    .fm-chart-control-bar__range-select, .fm-chart-control-bar__points-select {
      flex: 1 1 130px;
      max-width: none;
    }
    .fm-chart-control-bar__live-btn, .fm-chart-control-bar__fit-btn {
      flex: 1 1 auto;
    }
    .fm-chart-control-bar__points {
      flex: 1 1 100%;
      order: 5;
    }
    .fm-analysis-plots__chart-frame {
      min-width: 0;
      overflow: hidden;
    }
    .fm-chart-section__legend {
      max-width: 100%;
      overflow-x: auto;
    }
    .fm-analysis-quantity-availability .fm-analysis-plots__columns {
      max-height: 38vh;
    }
  }
  .fm-chart-control-bar__fit-btn {
    flex-shrink: 0;
  }
  .fm-points-table-dialog {
    position: fixed;
    inset: 0;
    margin: auto;
    width: min(90vw, 760px);
    max-height: min(85vh, 720px);
    display: flex;
    flex-direction: column;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-lg);
    background: var(--fm-bg-panel);
    color: var(--fm-text-primary);
    box-shadow: var(--fm-shadow-panel);
    padding: 0;
    overflow: hidden;
  }
  .fm-points-table-dialog::backdrop {
    background: var(--fm-scrim);
    backdrop-filter: blur(4px);
  }
  .fm-points-table-dialog__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--fm-space-3) var(--fm-space-4);
    border-bottom: 1px solid var(--fm-border-subtle);
    flex-shrink: 0;
  }
  .fm-points-table-dialog__title {
    margin: 0;
    font-size: var(--fm-font-size-base);
    font-weight: 600;
    color: var(--fm-text-primary);
  }
  .fm-points-table-dialog__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: var(--fm-radius-sm);
    background: transparent;
    color: var(--fm-text-muted);
    cursor: pointer;
    font-size: var(--fm-font-size-sm);
    transition: background 0.1s ease, color 0.1s ease;
  }
  .fm-points-table-dialog__close:hover {
    background: var(--fm-surface-hover);
    color: var(--fm-text-primary);
  }
  .fm-points-table-dialog__provenance {
    padding: var(--fm-space-2) var(--fm-space-4);
    border-bottom: 1px solid var(--fm-border-subtle);
    flex-shrink: 0;
    font-size: var(--fm-font-size-xs);
  }
  .fm-points-table-dialog__meta {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 2px var(--fm-space-3);
    margin: 0;
  }
  .fm-points-table-dialog__meta dt {
    color: var(--fm-text-muted);
    font-weight: 500;
  }
  .fm-points-table-dialog__meta dd {
    margin: 0;
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
  }
  .fm-points-table-dialog__query {
    word-break: break-all;
  }
  .fm-points-table-dialog__trust-warning {
    margin-top: var(--fm-space-2);
    padding: var(--fm-space-2) var(--fm-space-3);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-chart-yellow);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-chart-yellow) 15%, transparent);
    }
    border: 1px solid var(--fm-chart-yellow);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-chart-yellow) 40%, transparent);
    }
    color: var(--fm-chart-yellow);
    font-size: var(--fm-font-size-xs);
  }
  .fm-points-table-dialog__body {
    flex: 1;
    overflow-y: auto;
    padding: var(--fm-space-3) var(--fm-space-4);
    display: flex;
    flex-direction: column;
    gap: var(--fm-space-4);
  }
  .fm-points-table-dialog__empty {
    color: var(--fm-text-muted);
    text-align: center;
    padding: var(--fm-space-6);
  }
  .fm-points-table-dialog__series-title {
    margin: 0 0 var(--fm-space-2);
    font-size: var(--fm-font-size-sm);
    font-weight: 600;
    color: var(--fm-text-primary);
  }
  .fm-points-table-dialog__series-unit {
    font-weight: 400;
    color: var(--fm-text-muted);
  }
  .fm-points-table-dialog__truncation {
    margin: 0 0 var(--fm-space-2);
    color: var(--fm-chart-yellow);
    font-size: var(--fm-font-size-xs);
  }
  .fm-points-table-dialog__table-scroll {
    overflow-x: auto;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
  }
  .fm-points-table-dialog__table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--fm-font-size-xs);
  }
  .fm-points-table-dialog__table th {
    position: sticky;
    top: 0;
    background: var(--fm-bg-surface);
    color: var(--fm-text-muted);
    font-weight: 600;
    text-align: left;
    padding: var(--fm-space-2) var(--fm-space-3);
    border-bottom: 1px solid var(--fm-border-subtle);
    white-space: nowrap;
  }
  .fm-points-table-dialog__table td {
    padding: 3px var(--fm-space-3);
    border-bottom: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-secondary);
  }
  .fm-points-table-dialog__table tr:last-child td {
    border-bottom: none;
  }
  .fm-points-table-dialog__table tr:hover td {
    background: var(--fm-surface-hover);
  }
  .fm-points-table-dialog__numeric {
    font-family: var(--fm-font-mono);
    font-variant-numeric: tabular-nums;
    text-align: right;
  }
  .fm-points-table-dialog__footer {
    display: flex;
    justify-content: flex-end;
    padding: var(--fm-space-3) var(--fm-space-4);
    border-top: 1px solid var(--fm-border-subtle);
    flex-shrink: 0;
  }
  .fm-points-table-dialog__close-btn {
    padding: var(--fm-space-2) var(--fm-space-4);
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-surface);
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    cursor: pointer;
    transition: background 0.1s ease;
  }
  .fm-points-table-dialog__close-btn:hover {
    background: var(--fm-surface-hover);
  }
  .fm-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
}
@layer fm-modules {
  .fm-footer {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100%;
    min-width: 0;
    min-height: 0;
    background: var(--fm-bg-panel);
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xs);
  }
  .fm-footer__bar {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-3);
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-chrome);
    padding: var(--fm-space-1) var(--fm-space-2);
  }
  .fm-footer__tabs {
    min-width: 0;
  }
  .fm-footer__tab {
    gap: var(--fm-space-1);
    border-radius: 0;
    border-bottom: 2px solid transparent;
    padding-block: var(--fm-space-1);
    transition: color var(--fm-transition-fast), border-color var(--fm-transition-fast);
  }
  .fm-footer__tab[data-state="active"] {
    color: var(--fm-accent);
    border-bottom-color: var(--fm-accent);
    background: transparent;
    box-shadow: none;
  }
  .fm-footer__summary {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: var(--fm-space-2);
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    white-space: nowrap;
  }
  .fm-footer__summary-item {
    color: var(--fm-text-secondary);
  }
  .fm-footer__content {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    min-height: 0;
  }
  .fm-footer__filters {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: var(--fm-space-1);
    border-bottom: 1px solid var(--fm-border-subtle);
    padding: var(--fm-space-1) var(--fm-space-2);
    overflow-x: auto;
  }
  .fm-footer__filter {
    height: var(--fm-control-height-compact);
    border: 1px solid transparent;
    border-radius: var(--fm-radius-sm);
    background: transparent;
    color: var(--fm-text-muted);
    cursor: pointer;
    font: inherit;
    padding-inline: var(--fm-space-2);
    white-space: nowrap;
  }
  .fm-footer__filter:hover, .fm-footer__filter[data-active="true"] {
    border-color: var(--fm-border-default);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-primary);
  }
  .fm-footer__filter[data-active="true"] {
    color: var(--fm-accent);
  }
  .fm-footer__filter-sep {
    width: 1px;
    height: var(--fm-space-3);
    margin-inline: var(--fm-space-1);
    background: var(--fm-border-subtle);
    flex-shrink: 0;
  }
  .fm-footer__log-content {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
  }
  @media (max-width: 1180px) {
    .fm-footer-diagnostics {
      grid-template-columns: minmax(0, 1fr);
      overflow: auto;
    }
  }
  @media (max-width: 760px) {
    .fm-footer-recorder {
      grid-template-columns: 1fr;
    }
    .fm-footer-recorder__actions {
      justify-content: flex-start;
    }
  }
}
@layer fm-modules {
  .fm-footer-command-audit {
    display: grid;
    min-width: 0;
    border-bottom: 1px solid var(--fm-border-default);
  }
  .fm-footer-command-audit__row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 150px 92px minmax(220px, 1fr);
    min-width: var(--fm-panel-command-audit-min-width);
    align-items: center;
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    padding: var(--fm-space-1) var(--fm-space-2);
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
  }
  .fm-footer-command-audit__row--header {
    background: var(--fm-bg-panel-raised);
    color: var(--fm-text-muted);
    font-family: var(--fm-font-ui);
    font-weight: 600;
  }
  .fm-footer-command-audit__row > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-footer-command-audit__row [data-status="disabled"], .fm-footer-command-audit__row [data-status="failed"], .fm-footer-command-audit__row [data-status="missing"] {
    color: var(--fm-danger);
  }
  .fm-footer-command-audit__row [data-status="completed"] {
    color: var(--fm-success);
  }
  .fm-footer-command-audit__row [data-status="submitted"] {
    color: var(--fm-accent);
  }
}
@layer fm-modules {
  .fm-footer-traffic {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(6, max-content) minmax(260px, 1fr);
    align-items: stretch;
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-panel-raised);
    padding: var(--fm-space-1) var(--fm-space-2);
    overflow-x: auto;
  }
  .fm-footer-traffic__metric {
    display: grid;
    min-width: 72px;
    gap: 1px;
    border-right: 1px solid var(--fm-border-subtle);
    padding-right: var(--fm-space-2);
  }
  .fm-footer-traffic__metric > span, .fm-footer-traffic__top > li > span {
    min-width: 0;
    overflow: hidden;
    color: var(--fm-text-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-footer-traffic__metric > strong, .fm-footer-traffic__top > li > strong {
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-weight: 600;
    white-space: nowrap;
  }
  .fm-footer-traffic__top {
    display: grid;
    min-width: 260px;
    gap: 1px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .fm-footer-traffic__top > li {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(120px, 1fr) max-content;
    gap: var(--fm-space-2);
  }
  .fm-footer-log {
    display: grid;
    min-width: 0;
    min-height: 0;
    align-content: start;
    overflow: auto;
  }
  .fm-footer-log__row {
    display: grid;
    grid-template-columns: 92px minmax(280px, 1fr) 62px 78px 90px 84px 78px;
    min-width: var(--fm-panel-transport-log-min-width);
    align-items: center;
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    padding: var(--fm-space-1) var(--fm-space-2);
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
  }
  .fm-footer-log__row--header {
    position: sticky;
    top: 0;
    z-index: var(--fm-z-base);
    background: var(--fm-bg-panel);
    color: var(--fm-text-muted);
    font-family: var(--fm-font-ui);
    font-weight: 600;
  }
  .fm-footer-log__sort {
    display: inline-flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-1);
    border: 1px solid transparent;
    border-radius: var(--fm-radius-sm);
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    padding: 2px var(--fm-space-1);
    text-align: left;
  }
  .fm-footer-log__sort:hover, .fm-footer-log__sort:focus-visible, .fm-footer-log__sort[data-active="true"] {
    border-color: var(--fm-border-default);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-accent);
    outline: none;
  }
  .fm-footer-log__sort > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-footer-log__row > span, .fm-footer-log__row > time {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-footer-log__message-cell {
    display: flex;
    align-items: center;
  }
  .fm-footer-log__message {
    display: inline-flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
    border: 1px solid transparent;
    border-radius: var(--fm-radius-sm);
    background: transparent;
    color: var(--fm-text-primary);
    cursor: pointer;
    font: inherit;
    padding: 2px var(--fm-space-1);
    text-align: left;
  }
  .fm-footer-log__message:hover, .fm-footer-log__message:focus-visible {
    border-color: var(--fm-border-default);
    background: var(--fm-bg-panel-raised);
    color: var(--fm-accent);
    outline: none;
  }
  .fm-footer-log__message > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-footer-log__direction {
    display: inline-flex;
    width: var(--fm-thread-progress-width);
    align-items: center;
    justify-content: center;
    gap: var(--fm-space-1);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    color: var(--fm-text-secondary);
  }
  .fm-footer-log__direction[data-direction="rx"] {
    color: var(--fm-success);
  }
  .fm-footer-log__direction[data-direction="tx"] {
    color: var(--fm-accent);
  }
  .fm-footer__empty, .fm-footer__placeholder {
    display: flex;
    min-width: 0;
    min-height: 0;
    align-items: center;
    justify-content: center;
    color: var(--fm-text-muted);
  }
  .fm-footer-log-dialog {
    width: min(760px, calc(100vw - var(--fm-space-8)));
  }
  .fm-footer-log-dialog__raw {
    margin: 0;
    max-height: 260px;
    overflow: auto;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-canvas);
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    line-height: 1.45;
    padding: var(--fm-space-3);
    white-space: pre-wrap;
  }
}
@layer fm-modules {
  .fm-footer-diagnostics {
    display: grid;
    grid-template-columns: minmax(320px, 1.15fr) minmax(360px, 1fr) minmax(260px, 0.75fr) minmax(280px, 0.7fr);
    min-width: 0;
    min-height: 0;
    gap: var(--fm-space-2);
    overflow: hidden;
    padding: var(--fm-space-2);
  }
  .fm-footer-diagnostics__panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    min-height: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel);
  }
  .fm-footer-diagnostics__heading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-primary);
    font-weight: 600;
    padding: var(--fm-space-2);
  }
  .fm-footer-diagnostics__heading > span:first-of-type {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-footer-diagnostics__meta {
    margin-left: auto;
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-weight: 400;
  }
  .fm-footer-diagnostics__log {
    display: grid;
    min-width: 0;
    min-height: 0;
    align-content: start;
    overflow: auto;
  }
  .fm-footer-diagnostics__log-row {
    display: grid;
    grid-template-columns: var(--fm-footer-diag-label-col-width) var(--fm-footer-diag-value-col-width) minmax(0, 1fr);
    min-width: 0;
    align-items: center;
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    padding: var(--fm-space-1) var(--fm-space-2);
  }
  .fm-footer-diagnostics__log-row > * {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-footer-diagnostics__log-row [data-level="error"] {
    color: var(--fm-danger);
  }
  .fm-footer-diagnostics__log-row [data-level="warn"], .fm-footer-diagnostics__log-row [data-level="warning"] {
    color: var(--fm-warning);
  }
  .fm-footer-diagnostics__profile {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    min-width: 0;
    min-height: 0;
    gap: var(--fm-space-2);
    overflow: hidden;
    padding: var(--fm-space-2);
  }
  .fm-footer-diagnostics__threading, .fm-footer-diagnostics__warning {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: var(--fm-space-1);
    overflow: hidden;
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
  }
  .fm-footer-diagnostics__threading > span, .fm-footer-diagnostics__warning > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-footer-diagnostics__warning {
    border: 1px solid var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-warning) 42%, var(--fm-border-subtle));
    }
    border-radius: var(--fm-radius-sm);
    background: var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-warning) 9%, var(--fm-bg-panel));
    }
    color: var(--fm-warning);
    padding: var(--fm-space-1) var(--fm-space-2);
  }
  .fm-footer-diagnostics__profile-table {
    display: grid;
    border-spacing: 0;
    min-width: 0;
    min-height: 0;
    align-content: start;
    overflow: auto;
  }
  .fm-footer-diagnostics__profile-table thead, .fm-footer-diagnostics__profile-table tbody {
    display: contents;
  }
  .fm-footer-diagnostics__profile-row {
    display: grid;
    grid-template-columns: var(--fm-footer-freq-indicator-col-width) repeat(22, minmax(58px, auto));
    min-width: 0;
    align-items: center;
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    padding: var(--fm-space-1) 0;
  }
  .fm-footer-diagnostics__profile-row--header {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    text-transform: uppercase;
  }
  .fm-footer-diagnostics__profile-row > * {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
    font-weight: inherit;
  }
  .fm-footer-diagnostics__phase-stack {
    display: flex;
    width: 100%;
    min-width: 0;
    height: var(--fm-space-2);
    overflow: hidden;
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-canvas);
  }
  .fm-footer-diagnostics__phase {
    min-width: 2px;
  }
  .fm-footer-diagnostics__phase[data-phase-index="0"] {
    background: var(--fm-accent);
  }
  .fm-footer-diagnostics__phase[data-phase-index="1"] {
    background: var(--fm-success);
  }
  .fm-footer-diagnostics__phase[data-phase-index="2"] {
    background: var(--fm-warning);
  }
  .fm-footer-diagnostics__phase[data-phase-index="3"] {
    background: var(--fm-danger);
  }
  .fm-footer-diagnostics__phase[data-phase-index="4"] {
    background: var(--fm-text-muted);
  }
  .fm-footer-diagnostics__cpu-list, .fm-footer-diagnostics__gpu-list {
    display: grid;
    min-width: 0;
    align-content: start;
    overflow: auto;
  }
  .fm-footer-diagnostics__cpu, .fm-footer-diagnostics__gpu {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 68px 132px;
    min-width: 0;
    align-items: center;
    gap: var(--fm-space-2);
    border-bottom: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    padding: var(--fm-space-1) var(--fm-space-2);
  }
  .fm-footer-diagnostics__cpu > span, .fm-footer-diagnostics__gpu > span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: var(--fm-space-1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
@layer fm-modules {
  .fm-footer-telemetry {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: var(--fm-bg-panel);
    color: var(--fm-text-primary);
  }
  .fm-footer-telemetry__strip {
    display: flex;
    align-items: center;
    gap: var(--fm-space-2);
    height: 28px;
    min-width: 0;
    flex-shrink: 0;
    overflow: hidden;
    border-bottom: 1px solid var(--fm-border-subtle);
    background: var(--fm-bg-chrome);
    padding-inline: var(--fm-inspector-padding-inline);
  }
  .fm-footer-telemetry__strip-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
    background: var(--fm-text-muted);
    transition: background-color var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
  }
  .fm-footer-telemetry__strip-dot[data-state="running"] {
    background: var(--fm-success);
    box-shadow: 0 0 0 3px var(--fm-success), 0 0 8px var(--fm-success);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-success) 12%, transparent), 0 0 8px color-mix(in srgb, var(--fm-success) 50%, transparent);
    }
  }
  .fm-footer-telemetry__strip-dot[data-state="paused"] {
    background: var(--fm-warning);
    box-shadow: 0 0 0 3px var(--fm-warning);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-warning) 12%, transparent);
    }
  }
  .fm-footer-telemetry__strip-dot[data-state="error"], .fm-footer-telemetry__strip-dot[data-state="failed"] {
    background: var(--fm-danger);
    box-shadow: 0 0 0 3px var(--fm-danger);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-danger) 12%, transparent);
    }
  }
  .fm-footer-telemetry__freq-strip {
    display: flex;
    align-items: center;
    gap: var(--fm-space-2);
    min-width: 0;
    max-width: 320px;
    flex-shrink: 1;
  }
  .fm-footer-telemetry__freq-strip-title {
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-2xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .fm-footer-telemetry__freq-strip-chip {
    overflow: hidden;
    max-width: 80px;
    border: 1px solid var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--fm-accent) 22%, var(--fm-border-subtle));
    }
    border-radius: var(--fm-radius-xs);
    background: var(--fm-bg-canvas);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-canvas) 75%, var(--fm-accent));
    }
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-2xs);
    font-weight: 650;
    line-height: 1;
    padding: 2px 5px;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex-shrink: 1;
  }
  .fm-footer-telemetry__freq-strip-track {
    position: relative;
    flex: 1 1 60px;
    min-width: 40px;
    overflow: hidden;
    height: 4px;
    border-radius: var(--fm-radius-sm);
    background: var(--fm-bg-canvas);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-canvas) 68%, var(--fm-border-default));
    }
  }
  .fm-footer-telemetry__freq-strip-bar {
    position: absolute;
    inset-block: 0;
    left: 0;
    border-radius: inherit;
    background: linear-gradient( 90deg, var(--fm-accent), var(--fm-success) );
    @supports (color: color-mix(in lab, red, red)) {
      background: linear-gradient( 90deg, var(--fm-accent), color-mix(in srgb, var(--fm-success) 70%, var(--fm-accent)) );
    }
  }
  .fm-footer-telemetry__freq-strip-track--indeterminate .fm-footer-telemetry__freq-strip-bar {
    width: 42%;
    animation: fm-freq-strip-indeterminate 1.4s ease-in-out infinite;
  }
  .fm-footer-telemetry__freq-strip-percent {
    color: var(--fm-accent);
    font-size: var(--fm-font-size-2xs);
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
  }
  @keyframes fm-freq-strip-indeterminate {
    0% {
      transform: translateX(-110%);
    }
    50% {
      transform: translateX(70%);
    }
    100% {
      transform: translateX(240%);
    }
  }
  .fm-footer-telemetry__metrics-grid {
    container-type: size;
    container-name: footer-metrics;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    grid-auto-rows: auto;
    align-content: start;
    gap: var(--fm-space-2);
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: var(--fm-space-2) var(--fm-space-3);
    scrollbar-width: thin;
    scrollbar-color: var(--fm-border-default) transparent;
  }
  .fm-footer-telemetry__metric {
    --fm-metric-color: var(--fm-accent);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    min-height: 72px;
    overflow: hidden;
    border: 1px solid var(--fm-border-subtle);
    border-top: 2px solid var(--fm-metric-color);
    @supports (color: color-mix(in lab, red, red)) {
      border-top: 2px solid color-mix(in srgb, var(--fm-metric-color) 55%, var(--fm-border-subtle));
    }
    border-radius: var(--fm-radius-md);
    background: linear-gradient( 160deg, var(--fm-bg-panel-raised) 0%, var(--fm-bg-panel-raised) 100% );
    @supports (color: color-mix(in lab, red, red)) {
      background: linear-gradient( 160deg, color-mix(in srgb, var(--fm-bg-panel-raised) 94%, var(--fm-metric-color)) 0%, var(--fm-bg-panel-raised) 100% );
    }
    padding: var(--fm-space-2) var(--fm-space-3);
    box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 5%, transparent), 0 1px 2px color-mix(in srgb, #000 18%, transparent);
    transition: border-color var(--fm-transition-fast), background var(--fm-transition-fast), transform var(--fm-transition-fast), box-shadow var(--fm-transition-fast);
  }
  .fm-footer-telemetry__metric:hover {
    border-color: var(--fm-metric-color);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--fm-metric-color) 55%, var(--fm-border-default));
    }
    background: linear-gradient( 160deg, var(--fm-bg-panel-raised) 0%, var(--fm-bg-panel-raised) 100% );
    @supports (color: color-mix(in lab, red, red)) {
      background: linear-gradient( 160deg, color-mix(in srgb, var(--fm-bg-panel-raised) 82%, var(--fm-metric-color)) 0%, color-mix(in srgb, var(--fm-bg-panel-raised) 94%, var(--fm-metric-color)) 100% );
    }
    transform: translateY(-1px);
    box-shadow: inset 0 1px 0 var(--fm-metric-color), var(--fm-shadow-md);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: inset 0 1px 0 color-mix(in srgb, var(--fm-metric-color) 22%, transparent), var(--fm-shadow-md);
    }
  }
  .fm-footer-telemetry__metric-label {
    display: flex;
    align-items: center;
    gap: var(--fm-space-1);
    min-width: 0;
    overflow: hidden;
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
  }
  .fm-footer-telemetry__metric-label > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .fm-footer-telemetry__metric-label svg {
    flex-shrink: 0;
    color: var(--fm-metric-color);
    opacity: 0.9;
  }
  .fm-footer-telemetry__metric-value {
    display: flex;
    align-items: baseline;
    min-width: 0;
    gap: 3px;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-lg);
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.1;
    margin-block: var(--fm-space-1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .fm-footer-telemetry__metric-unit {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-2xs);
    font-weight: 500;
    flex-shrink: 0;
    letter-spacing: 0;
  }
  .fm-footer-telemetry__metric-detail {
    display: flex;
    flex-direction: column;
    min-width: 0;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-2xs);
    font-weight: 500;
    line-height: 1.3;
  }
  .fm-footer-telemetry__metric-detail span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  @container footer-metrics (height <= 40px) {
    .fm-footer-telemetry__metrics-grid {
      display: none;
    }
  }
  @container footer-metrics (40px < height <= 112px) {
    .fm-footer-telemetry__metrics-grid {
      grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
      grid-auto-rows: auto;
      gap: var(--fm-space-1);
      padding: var(--fm-space-1) var(--fm-space-2);
    }
    .fm-footer-telemetry__metric {
      flex-direction: row;
      align-items: center;
      min-height: 0;
      padding: 3px var(--fm-space-2);
      gap: var(--fm-space-2);
      border-radius: var(--fm-radius-sm);
    }
    .fm-footer-telemetry__metric-value {
      font-size: var(--fm-font-size-xs);
      flex: 1;
      min-width: 0;
      margin-block: 0;
    }
    .fm-footer-telemetry__metric-detail {
      display: none;
    }
  }
  @container footer-metrics (112px < height <= 172px) {
    .fm-footer-telemetry__metrics-grid {
      grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
      grid-auto-rows: auto;
      gap: var(--fm-space-1);
      padding: var(--fm-space-1) var(--fm-space-2);
    }
    .fm-footer-telemetry__metric {
      min-height: 52px;
      padding: var(--fm-space-1) var(--fm-space-2);
    }
    .fm-footer-telemetry__metric-value {
      font-size: var(--fm-font-size-sm);
      margin-block: 2px;
    }
    .fm-footer-telemetry__metric-detail span + span {
      display: none;
    }
  }
  .fm-footer-telemetry__metric[data-group="runtime"] {
    --fm-metric-color: #89b4fa;
  }
  .fm-footer-telemetry__metric[data-group="solver"] {
    --fm-metric-color: #a6e3a1;
  }
  .fm-footer-telemetry__metric[data-group="magnetization"] {
    --fm-metric-color: #cba6f7;
  }
  .fm-footer-telemetry__metric[data-group="energy"] {
    --fm-metric-color: #fab387;
  }
  [data-fm-theme="light"] .fm-footer-telemetry__metric[data-group="runtime"] {
    --fm-metric-color: #1e66f5;
  }
  [data-fm-theme="light"] .fm-footer-telemetry__metric[data-group="solver"] {
    --fm-metric-color: #40a02b;
  }
  [data-fm-theme="light"] .fm-footer-telemetry__metric[data-group="magnetization"] {
    --fm-metric-color: #8839ef;
  }
  [data-fm-theme="light"] .fm-footer-telemetry__metric[data-group="energy"] {
    --fm-metric-color: #fe640b;
  }
  @container footer-metrics (height <= 112px) {
    .fm-footer-telemetry__metric {
      border-top-width: 1px;
    }
  }
}
@layer fm-modules {
  .fm-footer-recorder {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--fm-space-2);
    align-items: start;
    min-width: 0;
    padding: var(--fm-space-2);
    overflow: auto;
  }
  .fm-footer-recorder__metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: var(--fm-space-2);
    min-width: 0;
  }
  .fm-footer-recorder__metric {
    display: grid;
    min-width: 0;
    gap: 2px;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-panel-raised);
    padding: var(--fm-space-2);
  }
  .fm-footer-recorder__metric > span {
    color: var(--fm-text-muted);
  }
  .fm-footer-recorder__metric > strong {
    min-width: 0;
    overflow: hidden;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-footer-recorder__metric[data-tone="critical"] > strong {
    color: var(--fm-danger);
  }
  .fm-footer-recorder__actions {
    display: inline-flex;
    gap: var(--fm-space-1);
  }
  .fm-footer-recorder__actions .fm-button {
    gap: var(--fm-space-1);
    white-space: nowrap;
  }
}
@layer fm-modules {
  @keyframes fm-palette-in {
    from {
      opacity: 0;
      transform: translateX(-50%) scale(0.97);
    }
    to {
      opacity: 1;
      transform: translateX(-50%) scale(1);
    }
  }
  @keyframes fm-overlay-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  .fm-command-palette__overlay {
    position: fixed;
    inset: 0;
    background: var(--fm-bg-app);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-app) 76%, transparent);
    }
    z-index: var(--fm-z-dialog);
    animation: fm-overlay-in var(--fm-duration-normal) ease-out both;
  }
  .fm-command-palette {
    position: fixed;
    top: 12vh;
    left: 50%;
    width: min(640px, calc(100vw - var(--fm-space-8)));
    max-height: min(560px, calc(100vh - 96px));
    overflow: hidden;
    border: 1px solid var(--fm-border-default);
    border-radius: var(--fm-radius-lg);
    background: var(--fm-bg-overlay);
    box-shadow: var(--fm-shadow-panel);
    transform: translateX(-50%);
    z-index: var(--fm-z-dialog-content);
    animation: fm-palette-in var(--fm-duration-moderate) ease-out both;
  }
  .fm-command-palette__title, .fm-command-palette__description {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  @media (prefers-reduced-motion: reduce) {
    .fm-command-palette, .fm-command-palette__overlay {
      animation: none;
    }
  }
  .fm-command-palette__item-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-command-palette__item-meta {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    white-space: nowrap;
  }
  .fm-command-item[data-active="true"] .fm-command-palette__item-meta {
    color: var(--fm-accent);
  }
}
@layer fm-modules {
  .fm-registry-inspector.fm-dialog {
    width: min(860px, calc(100vw - var(--fm-space-8)));
    max-height: min(780px, calc(100vh - 80px));
    grid-template-rows: auto auto 1fr;
    gap: 0;
  }
  .fm-registry-inspector__close {
    position: absolute;
    top: var(--fm-space-4);
    right: var(--fm-space-4);
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--fm-space-6);
    height: var(--fm-control-height-compact);
    padding: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-sm);
    background: transparent;
    color: var(--fm-text-muted);
    cursor: pointer;
    transition: background 120ms, color 120ms;
  }
  .fm-registry-inspector__close:hover {
    background: var(--fm-bg-muted);
    color: var(--fm-text-primary);
  }
  .fm-registry-inspector__tabs {
    display: flex;
    gap: var(--fm-space-1);
    padding: var(--fm-space-3) var(--fm-space-5) 0;
    border-bottom: 1px solid var(--fm-border-subtle);
  }
  .fm-registry-inspector__tab {
    display: flex;
    align-items: center;
    gap: var(--fm-space-2);
    padding: var(--fm-space-2) var(--fm-space-3);
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: var(--fm-radius-sm) var(--fm-radius-sm) 0 0;
    background: transparent;
    color: var(--fm-text-muted);
    cursor: pointer;
    font-size: var(--fm-font-size-sm);
    font-weight: 500;
    margin-bottom: -1px;
    transition: color 120ms, background 120ms;
  }
  .fm-registry-inspector__tab:hover {
    background: var(--fm-bg-muted);
    color: var(--fm-text-secondary);
  }
  .fm-registry-inspector__tab[data-active="true"] {
    border-bottom-color: var(--fm-accent);
    color: var(--fm-text-primary);
  }
  .fm-registry-inspector__tab-badge {
    padding: 1px 6px;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-pill);
    background: var(--fm-bg-muted);
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono, monospace);
    font-size: var(--fm-font-size-2xs);
    font-weight: 600;
    line-height: 1.4;
  }
  .fm-registry-inspector__body {
    overflow-y: auto;
    padding: var(--fm-space-4) var(--fm-space-5);
    min-height: 0;
  }
  .fm-registry-tree {
    font-family: var(--fm-font-mono, monospace);
    font-size: var(--fm-font-size-xs);
    line-height: 1.6;
    color: var(--fm-text-secondary);
  }
  .fm-registry-tree__row {
    display: flex;
    align-items: baseline;
    gap: 0.4em;
    padding: 1px 0;
    padding-left: calc(var(--depth, 0) * var(--fm-space-4));
  }
  .fm-registry-tree__row[data-depth="0"] {
    padding-left: 0;
  }
  .fm-registry-tree__row[data-depth="1"] {
    padding-left: var(--fm-space-4);
  }
  .fm-registry-tree__row[data-depth="2"] {
    padding-left: calc(var(--fm-space-4) * 2);
  }
  .fm-registry-tree__row[data-depth="3"] {
    padding-left: calc(var(--fm-space-4) * 3);
  }
  .fm-registry-tree__row[data-depth="4"] {
    padding-left: calc(var(--fm-space-4) * 4);
  }
  .fm-registry-tree__row[data-depth="5"] {
    padding-left: calc(var(--fm-space-4) * 5);
  }
  .fm-registry-tree__node {
    display: block;
  }
  .fm-registry-tree__summary {
    display: flex;
    align-items: baseline;
    gap: 0.4em;
    padding: 1px 0;
    cursor: pointer;
    list-style: none;
    user-select: none;
  }
  .fm-registry-tree__summary::-webkit-details-marker {
    display: none;
  }
  .fm-registry-tree__summary[data-depth="0"] {
    padding-left: 0;
  }
  .fm-registry-tree__summary[data-depth="1"] {
    padding-left: var(--fm-space-4);
  }
  .fm-registry-tree__summary[data-depth="2"] {
    padding-left: calc(var(--fm-space-4) * 2);
  }
  .fm-registry-tree__summary[data-depth="3"] {
    padding-left: calc(var(--fm-space-4) * 3);
  }
  .fm-registry-tree__summary[data-depth="4"] {
    padding-left: calc(var(--fm-space-4) * 4);
  }
  .fm-registry-tree__summary[data-depth="5"] {
    padding-left: calc(var(--fm-space-4) * 5);
  }
  .fm-registry-tree__summary::before {
    content: "▶";
    display: inline-block;
    width: 0.9em;
    font-size: var(--fm-font-size-2xs);
    color: var(--fm-text-muted);
    transition: transform var(--fm-duration-normal);
    flex-shrink: 0;
  }
  details[open] > .fm-registry-tree__summary::before {
    transform: rotate(90deg);
  }
  .fm-registry-tree__children {
    border-left: 1px solid var(--fm-border-subtle);
    margin-left: 0.45em;
  }
  .fm-registry-tree__close-bracket {
    padding-left: 0;
  }
  .fm-registry-tree__close-bracket[data-depth="0"] {
    padding-left: 0;
  }
  .fm-registry-tree__close-bracket[data-depth="1"] {
    padding-left: var(--fm-space-4);
  }
  .fm-registry-tree__close-bracket[data-depth="2"] {
    padding-left: calc(var(--fm-space-4) * 2);
  }
  .fm-registry-tree__close-bracket[data-depth="3"] {
    padding-left: calc(var(--fm-space-4) * 3);
  }
  .fm-registry-tree__close-bracket[data-depth="4"] {
    padding-left: calc(var(--fm-space-4) * 4);
  }
  .fm-registry-tree__close-bracket[data-depth="5"] {
    padding-left: calc(var(--fm-space-4) * 5);
  }
  .fm-registry-tree__key {
    color: var(--fm-text-secondary);
    font-weight: 600;
    flex-shrink: 0;
  }
  .fm-registry-tree__bracket {
    color: var(--fm-text-muted);
    font-weight: 400;
  }
  .fm-registry-tree__count {
    padding: 0 4px;
    border-radius: 3px;
    background: var(--fm-bg-muted);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
  }
  details[open] > .fm-registry-tree__summary .fm-registry-tree__compact {
    display: none;
  }
  .fm-registry-tree__empty {
    color: var(--fm-text-muted);
  }
  .fm-registry-tree__string {
    color: var(--fm-success);
    word-break: break-all;
  }
  .fm-registry-tree__number {
    color: var(--fm-info);
  }
  .fm-registry-tree__bool {
    color: var(--fm-warning);
    font-weight: 600;
  }
  .fm-registry-tree__null {
    color: var(--fm-text-muted);
    font-style: italic;
  }
}
@layer fm-modules {
  .fm-thread-manager.fm-dialog {
    width: min(960px, calc(100vw - var(--fm-space-8)));
    max-height: min(760px, calc(100vh - var(--fm-space-8)));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
  .fm-thread-manager__close {
    display: inline-grid;
    width: var(--fm-field-row-min-height);
    height: var(--fm-field-row-min-height);
    place-items: center;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-muted);
    background: var(--fm-bg-elevated);
  }
  .fm-thread-manager__close:hover {
    color: var(--fm-text-primary);
    border-color: var(--fm-border-strong);
  }
  .fm-thread-manager__summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--fm-space-2);
  }
  .fm-thread-manager__metric {
    display: grid;
    gap: var(--fm-space-1);
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-surface);
  }
  .fm-thread-manager__metric span, .fm-thread-manager__toolbar, .fm-thread-manager__worker small {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
  }
  .fm-thread-manager__metric strong {
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xl);
    font-weight: 650;
  }
  .fm-thread-manager__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-3);
    margin-top: var(--fm-space-3);
  }
  .fm-thread-manager__toolbar-actions {
    display: inline-flex;
    align-items: center;
    gap: var(--fm-space-2);
  }
  .fm-thread-manager__toolbar-actions .fm-button {
    gap: var(--fm-space-1);
    white-space: nowrap;
  }
  .fm-thread-manager__section {
    display: grid;
    gap: var(--fm-space-2);
    margin-top: var(--fm-space-4);
  }
  .fm-thread-manager__section-title {
    display: inline-flex;
    align-items: center;
    gap: var(--fm-space-1);
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-md);
    font-weight: 650;
  }
  .fm-thread-manager__table {
    display: grid;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-surface);
  }
  .fm-thread-manager__row {
    display: grid;
    grid-template-columns: minmax(160px, 1.4fr) 92px 72px 84px 84px 84px minmax(110px, 1fr);
    gap: var(--fm-space-2);
    align-items: center;
    min-height: var(--fm-panel-header-height);
    padding: var(--fm-space-1) var(--fm-space-3);
    border-top: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-sm);
  }
  .fm-thread-manager__row:first-child {
    border-top: 0;
  }
  .fm-thread-manager__row--header {
    color: var(--fm-text-muted);
    background: var(--fm-bg-elevated);
    font-size: var(--fm-font-size-xs);
    font-weight: 650;
    text-transform: uppercase;
  }
  .fm-thread-manager__row [role="cell"]:first-child {
    overflow: hidden;
    color: var(--fm-text-primary);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-thread-manager__row [data-lane] {
    width: max-content;
    padding: 2px 6px;
    border-radius: var(--fm-radius-pill);
    border: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-muted);
    background: var(--fm-bg-app);
  }
  .fm-thread-manager__row [data-lane="main"] {
    color: var(--fm-warning);
  }
  .fm-thread-manager__row [data-lane="aggregate"] {
    color: var(--fm-info);
  }
  .fm-thread-manager__row [data-lane="worker-io"] {
    color: var(--fm-success);
  }
  .fm-thread-manager__row [data-lane="react"] {
    color: var(--fm-accent);
  }
  .fm-thread-manager__share {
    display: inline-block;
    width: var(--fm-thread-progress-width);
    height: var(--fm-space-1);
    margin-right: var(--fm-space-2);
    overflow: hidden;
    border-radius: var(--fm-radius-pill);
    background: var(--fm-bg-app);
    vertical-align: middle;
  }
  .fm-thread-manager__share-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--fm-accent);
  }
  .fm-thread-manager__row--activity {
    grid-template-columns: minmax(160px, 1.4fr) 92px 72px 84px 84px minmax(110px, 1fr);
  }
  .fm-thread-manager__row--memory {
    grid-template-columns: minmax(180px, 1.4fr) 96px 96px 72px 74px minmax(120px, 1fr);
  }
  .fm-thread-manager__row--memory[data-status="over-budget"] [role="cell"]:last-child, .fm-thread-manager__row--memory[data-status="unbounded-high"] [role="cell"]:last-child {
    color: var(--fm-warning);
    font-weight: 650;
  }
  .fm-thread-manager__workers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--fm-space-2);
  }
  .fm-thread-manager__worker {
    display: grid;
    gap: var(--fm-space-1);
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-surface);
  }
  .fm-thread-manager__worker span {
    color: var(--fm-text-primary);
    font-weight: 600;
  }
  .fm-thread-manager__worker strong {
    width: max-content;
    padding: 2px 6px;
    border-radius: var(--fm-radius-pill);
    color: var(--fm-text-muted);
    background: var(--fm-bg-app);
    font-size: var(--fm-font-size-xs);
    text-transform: uppercase;
  }
  .fm-thread-manager__worker[data-status="active"] strong {
    color: var(--fm-success);
  }
  .fm-thread-manager__empty {
    padding: var(--fm-space-5);
    border: 1px dashed var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-muted);
    background: var(--fm-bg-surface);
    font-size: var(--fm-font-size-md);
  }
  @media (max-width: 760px) {
    .fm-thread-manager__summary {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .fm-thread-manager__toolbar {
      align-items: flex-start;
      flex-direction: column;
    }
    .fm-thread-manager__row {
      grid-template-columns: minmax(140px, 1.2fr) 88px 64px 76px 76px 76px 100px;
      overflow-x: auto;
    }
    .fm-thread-manager__row--activity {
      grid-template-columns: minmax(140px, 1.2fr) 88px 64px 76px 76px 100px;
    }
    .fm-thread-manager__row--memory {
      grid-template-columns: minmax(150px, 1.2fr) 88px 88px 64px 64px 110px;
    }
  }
}
@layer fm-modules {
  .fm-diagnostic-recorder.fm-dialog {
    width: min(1120px, calc(100vw - var(--fm-space-8)));
    max-height: min(820px, calc(100vh - var(--fm-space-8)));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
  .fm-diagnostic-recorder__close {
    display: inline-grid;
    width: var(--fm-field-row-min-height);
    height: var(--fm-field-row-min-height);
    place-items: center;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-muted);
    background: var(--fm-bg-elevated);
  }
  .fm-diagnostic-recorder__close:hover {
    color: var(--fm-text-primary);
    border-color: var(--fm-border-strong);
  }
  .fm-diagnostic-recorder__summary, .fm-diagnostic-recorder__panel {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    gap: var(--fm-space-2);
  }
  .fm-diagnostic-recorder__metric {
    display: grid;
    gap: var(--fm-space-1);
    min-width: 0;
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-surface);
  }
  .fm-diagnostic-recorder__metric span, .fm-diagnostic-recorder__profile span {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-sm);
  }
  .fm-diagnostic-recorder__metric strong {
    overflow: hidden;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-xl);
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-diagnostic-recorder__metric[data-tone="critical"] strong {
    color: var(--fm-danger);
  }
  .fm-diagnostic-recorder__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-3);
    margin-top: var(--fm-space-3);
  }
  .fm-diagnostic-recorder__toolbar-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--fm-space-2);
  }
  .fm-diagnostic-recorder__toolbar-actions .fm-button {
    gap: var(--fm-space-1);
    white-space: nowrap;
  }
  .fm-diagnostic-recorder__profile {
    display: grid;
    gap: var(--fm-space-1);
  }
  .fm-diagnostic-recorder__profile select {
    min-width: 150px;
    height: var(--fm-control-height-regular);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-primary);
    background: var(--fm-bg-surface);
    font: inherit;
    font-size: var(--fm-font-size-md);
  }
  .fm-diagnostic-recorder__tabs {
    display: grid;
    gap: var(--fm-space-3);
    margin-top: var(--fm-space-3);
  }
  .fm-diagnostic-recorder__table {
    display: grid;
    max-height: 360px;
    overflow: auto;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-surface);
  }
  .fm-diagnostic-recorder__row {
    display: grid;
    grid-template-columns: minmax(178px, 0.9fr) 110px 82px minmax(220px, 1.4fr) 92px;
    gap: var(--fm-space-2);
    align-items: center;
    min-width: var(--fm-dialog-recorder-min-width);
    min-height: var(--fm-ribbon-tabs-height);
    padding: var(--fm-space-1) var(--fm-space-3);
    border-top: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-sm);
  }
  .fm-diagnostic-recorder__row:first-child {
    border-top: 0;
  }
  .fm-diagnostic-recorder__row--header {
    position: sticky;
    top: 0;
    z-index: var(--fm-z-base);
    color: var(--fm-text-muted);
    background: var(--fm-bg-elevated);
    font-size: var(--fm-font-size-xs);
    font-weight: 650;
    text-transform: uppercase;
  }
  .fm-diagnostic-recorder__row [role="cell"]:nth-child(4) {
    overflow: hidden;
    color: var(--fm-text-primary);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-diagnostic-recorder__row[data-severity="critical"] [role="cell"]:nth-child(3) {
    color: var(--fm-danger);
    font-weight: 650;
  }
  .fm-diagnostic-recorder__row[data-severity="warning"] [role="cell"]:nth-child(3) {
    color: var(--fm-warning);
    font-weight: 650;
  }
  .fm-diagnostic-recorder__empty, .fm-diagnostic-recorder__json, .fm-diagnostic-recorder__report {
    padding: var(--fm-space-3);
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-secondary);
    background: var(--fm-bg-surface);
    font-size: var(--fm-font-size-sm);
  }
  .fm-diagnostic-recorder__json, .fm-diagnostic-recorder__report {
    max-height: 360px;
    overflow: auto;
    white-space: pre-wrap;
  }
  @media (max-width: 760px) {
    .fm-diagnostic-recorder__summary, .fm-diagnostic-recorder__panel {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .fm-diagnostic-recorder__toolbar {
      align-items: flex-start;
      flex-direction: column;
    }
    .fm-diagnostic-recorder__toolbar-actions {
      justify-content: flex-start;
    }
  }
}
@layer fm-modules {
  .fm-material-library.fm-dialog {
    width: min(1180px, calc(100vw - var(--fm-space-8)));
    max-height: min(780px, calc(100vh - var(--fm-space-8)));
    overflow: hidden;
  }
  .fm-material-library__close {
    position: absolute;
    top: var(--fm-space-4);
    right: var(--fm-space-4);
    display: inline-grid;
    width: var(--fm-field-row-min-height);
    height: var(--fm-field-row-min-height);
    place-items: center;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-muted);
    background: var(--fm-bg-elevated);
  }
  .fm-material-library__close:hover {
    color: var(--fm-text-primary);
    border-color: var(--fm-border-strong);
  }
  .fm-material-library__layout {
    display: grid;
    grid-template-columns: minmax(190px, 0.8fr) minmax(420px, 1.7fr) minmax(220px, 0.9fr);
    gap: var(--fm-space-3);
    min-height: 520px;
    margin-top: var(--fm-space-3);
  }
  .fm-material-library__panel, .fm-material-library__editor {
    min-width: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    background: var(--fm-bg-surface);
  }
  .fm-material-library__panel {
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
  }
  .fm-material-library__panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-space-2);
    padding: var(--fm-space-3);
    border-bottom: 1px solid var(--fm-border-subtle);
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
  }
  .fm-material-library__panel-header .fm-button, .fm-material-library__actions .fm-button {
    gap: var(--fm-space-1);
  }
  .fm-material-library__list {
    display: grid;
    align-content: start;
    gap: var(--fm-space-1);
    overflow-y: auto;
    padding: var(--fm-space-2);
  }
  .fm-material-library__item {
    display: grid;
    gap: 3px;
    width: 100%;
    min-width: 0;
    padding: var(--fm-space-2);
    border: 1px solid transparent;
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-secondary);
    text-align: left;
    background: transparent;
  }
  .fm-material-library__item:hover {
    border-color: var(--fm-border-subtle);
    background: var(--fm-bg-elevated);
  }
  .fm-material-library__item[data-active="true"] {
    border-color: var(--fm-accent);
    color: var(--fm-text-primary);
    background: var(--fm-accent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-accent) 12%, transparent);
    }
  }
  .fm-material-library__item strong {
    overflow: hidden;
    color: var(--fm-text-primary);
    font-size: var(--fm-font-size-sm);
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fm-material-library__item span, .fm-material-library__empty, .fm-material-library__feedback {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    line-height: 1.35;
  }
  .fm-material-library__editor {
    display: grid;
    grid-template-rows: 1fr auto;
    gap: var(--fm-space-3);
    overflow-y: auto;
    padding: var(--fm-space-3);
  }
  .fm-material-library__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fm-space-3);
  }
  .fm-material-library__grid label {
    display: grid;
    gap: var(--fm-space-1);
    min-width: 0;
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-sm);
  }
  .fm-material-library__grid span {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    font-weight: 650;
    text-transform: uppercase;
  }
  .fm-material-library__grid input, .fm-material-library__grid textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--fm-border-subtle);
    border-radius: var(--fm-radius-md);
    color: var(--fm-text-primary);
    background: var(--fm-bg-elevated);
    font: inherit;
  }
  .fm-material-library__grid input {
    height: var(--fm-control-height-regular);
    padding: 0 8px;
  }
  .fm-material-library__grid textarea {
    min-height: 72px;
    resize: vertical;
    padding: var(--fm-space-2) var(--fm-space-2);
  }
  .fm-material-library__grid input:disabled {
    color: var(--fm-text-muted);
    background: var(--fm-bg-elevated);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--fm-bg-elevated) 65%, transparent);
    }
  }
  .fm-material-library__grid small {
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-2xs);
  }
  .fm-material-library__wide {
    grid-column: 1 / -1;
  }
  .fm-material-library__actions {
    display: flex;
    align-items: center;
    gap: var(--fm-space-2);
    min-height: var(--fm-panel-header-height);
    padding-top: var(--fm-space-3);
    border-top: 1px solid var(--fm-border-subtle);
  }
  .fm-material-library__feedback[data-kind="error"] {
    color: var(--fm-danger);
  }
  .fm-material-library__feedback[data-kind="success"] {
    color: var(--fm-success);
  }
  @media (max-width: 960px) {
    .fm-material-library.fm-dialog {
      overflow-y: auto;
    }
    .fm-material-library__layout {
      grid-template-columns: 1fr;
      min-height: auto;
    }
  }
}
@layer fm-modules {
  .fm-visualization-debug-panel {
    display: grid;
    gap: var(--fm-space-2);
    min-width: 0;
    font-variant-numeric: tabular-nums;
  }
  .fm-visualization-debug-health, .fm-visualization-debug-state {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: baseline;
    gap: var(--fm-space-2);
    min-height: 28px;
    padding: var(--fm-space-1) var(--fm-space-2);
    color: var(--fm-text-secondary);
    font-size: var(--fm-font-size-xs);
  }
  .fm-visualization-debug-health strong, .fm-visualization-debug-state strong {
    color: var(--fm-text-primary);
    text-transform: uppercase;
  }
  .fm-visualization-debug-health[data-disposition="ready"] strong {
    color: var(--fm-success);
  }
  .fm-visualization-debug-health[data-disposition="degraded"] strong, .fm-visualization-debug-health[data-disposition="unknown"] strong {
    color: var(--fm-warning);
  }
  .fm-visualization-debug-health[data-disposition="blocked"] strong {
    color: var(--fm-danger);
  }
  .fm-visualization-debug-subsection {
    display: grid;
    gap: 1px;
    min-width: 0;
    border-bottom: 1px solid var(--fm-border-subtle);
    padding-block: var(--fm-space-1);
  }
  .fm-visualization-debug-subsection:last-child {
    border-bottom: 0;
  }
  .fm-visualization-debug-subsection h4 {
    margin: 0;
    padding: 2px var(--fm-space-2);
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-xs);
    font-weight: 600;
    overflow-wrap: anywhere;
  }
  .fm-visualization-debug-table-wrap {
    max-width: 100%;
    overflow: auto;
  }
  .fm-visualization-debug-table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
    color: var(--fm-text-primary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-2xs);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }
  .fm-visualization-debug-table th, .fm-visualization-debug-table td {
    border-bottom: 1px solid var(--fm-border-subtle);
    padding: var(--fm-space-1) var(--fm-space-2);
    text-align: right;
    vertical-align: top;
  }
  .fm-visualization-debug-table th:first-child, .fm-visualization-debug-table td:first-child, .fm-visualization-debug-table td:nth-child(2) {
    max-width: 240px;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
  }
  .fm-visualization-debug-table thead th {
    position: sticky;
    top: 0;
    z-index: var(--fm-z-base);
    background: var(--fm-bg-chrome);
    color: var(--fm-text-muted);
    font-family: var(--fm-font-ui);
    font-weight: 600;
  }
  .fm-visualization-debug-caption, .fm-visualization-debug-empty {
    margin: 0;
    padding: var(--fm-space-1) var(--fm-space-2);
    color: var(--fm-text-muted);
    font-size: var(--fm-font-size-xs);
    line-height: 1.4;
  }
  .fm-visualization-debug-issues {
    display: grid;
    gap: var(--fm-space-1);
    margin: 0;
    padding: var(--fm-space-1);
    list-style: none;
  }
  .fm-visualization-debug-issues li {
    display: grid;
    gap: 2px;
    border-left: 3px solid var(--fm-border-strong);
    background: var(--fm-bg-panel);
    padding: var(--fm-space-1) var(--fm-space-2);
    font-size: var(--fm-font-size-xs);
  }
  .fm-visualization-debug-issues li[data-severity="error"] {
    border-left-color: var(--fm-danger);
  }
  .fm-visualization-debug-issues li[data-severity="warning"] {
    border-left-color: var(--fm-warning);
  }
  .fm-visualization-debug-issues li strong {
    color: var(--fm-text-primary);
    text-transform: uppercase;
  }
  .fm-visualization-debug-issues li span {
    color: var(--fm-text-secondary);
  }
  .fm-visualization-debug-issues li code {
    color: var(--fm-text-muted);
    font-family: var(--fm-font-mono);
    overflow-wrap: anywhere;
  }
  .fm-visualization-debug-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fm-space-1);
    padding: var(--fm-space-1);
  }
  .fm-visualization-debug-action:focus-visible {
    box-shadow: var(--fm-focus-ring);
  }
  .fm-visualization-debug-json {
    max-height: 240px;
    margin: 0;
    overflow: auto;
    background: var(--fm-bg-panel);
    color: var(--fm-text-secondary);
    font-family: var(--fm-font-mono);
    font-size: var(--fm-font-size-2xs);
    line-height: 1.45;
    padding: var(--fm-space-2);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }
  @media (prefers-reduced-motion: reduce) {
    .fm-visualization-debug-action {
      transition: none;
    }
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}

