/* generated by packages/suite-ui - do not edit */
/* Canonical suite roles, seeded from the byte-identical Plan/Arch3D tokens.
   Tokens do not restyle host markup. Chrome selectors live under .nd-workspace. */
:root, [data-nd-theme] {
  --nd-font: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --nd-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;
  --nd-fs-chip: 11px;
  --nd-fs-sm: 12px;
  --nd-fs: 14px;
  --nd-fs-lg: 16px;
  --nd-fs-title: 18px;
  --nd-fs-total: 24px;
  --nd-lh-sm: 18px;
  --nd-lh: 20px;
  --nd-lh-lg: 24px;
  --nd-lh-total: 32px;
  --nd-weight: 400;
  --nd-weight-strong: 600;
  --nd-weight-bold: 700;
  --nd-input-fs: 16px;
  --nd-space-1: 4px;
  --nd-space-2: 8px;
  --nd-space-3: 12px;
  --nd-space-4: 16px;
  --nd-space-5: 24px;
  --nd-space-6: 32px;
  --nd-space-7: 48px;
  --nd-gap: var(--nd-space-2);
  --nd-target: 44px;
  --nd-field-h: 44px;
  --nd-appbar-h: 48px;
  --nd-viewbar-h: 56px;
  --nd-view-count: 5;
  --nd-status-h: 32px;
  --nd-browser-w: 240px;
  --nd-props-w: 320px;
  --nd-radius-sm: 4px;
  --nd-radius: 8px;
  --nd-radius-lg: 12px;
  --nd-elev-flat: none;
  --nd-shadow: var(--nd-elev-overlay);
  --nd-dur-fast: 120ms;
  --nd-dur: 160ms;
  --nd-dur-sheet: 200ms;
  --nd-ease: cubic-bezier(.05,.7,.1,1);
  --nd-z-canvas: 0;
  --nd-z-chrome: 10;
  --nd-z-sheet: 20;
  --nd-z-popover: 30;
  --nd-z-modal: 40;
  --nd-z-toast: 50;
  /* Hosts can override reservations for embedded shell/status rows. */
  --nd-header-h: calc(var(--nd-appbar-h) + env(safe-area-inset-top, 0px));
  --nd-sheet-bottom: calc(var(--nd-viewbar-h) + env(safe-area-inset-bottom, 0px));
  --nd-sheet-h: 96px;
  --nd-keyboard-inset: 0px;
}

:root, [data-nd-theme="dark"], [data-nd-theme="auto"] {
  color-scheme: dark;
  --nd-bg: #0c0f17;
  --nd-surface: #141923;
  --nd-surface-raised: #1c2331;
  --nd-surface-sunken: #090b12;
  --nd-text: #f1f5f9;
  --nd-text-muted: #a3aebf;
  --nd-border: rgba(241, 245, 249, 0.10);
  --nd-border-strong: rgba(241, 245, 249, 0.24);
  --nd-accent: #ff7a33;
  --nd-on-accent: #1c1917;
  --nd-gold: #c5a059;
  --nd-ok: #34d399;
  --nd-warn: #fbbf24;
  --nd-danger: #f87171;
  --nd-info: #7ab8ff;
  --nd-canvas: #0b1220;
  --nd-grid: rgba(255, 255, 255, 0.08);
  --nd-selection: #ff7a33;
  --nd-focus: #7ab8ff;
  --nd-scrim: rgba(0, 0, 0, 0.55);
  --nd-honesty-conceptual: #7dd3fc;
  --nd-honesty-preliminary: #fbbf24;
  --nd-honesty-reviewed: #34d399;
  --nd-honesty-issued: #f1f5f9;
  --nd-border-control: #68768b;
  --nd-accent-soft: #322820;
  --nd-ok-soft: #14352e;
  --nd-warn-soft: #362c16;
  --nd-danger-soft: #3a2028;
  --nd-info-soft: #172d49;
  --nd-elev-popover: 0 2px 8px rgba(0,0,0,.35);
  --nd-elev-overlay: 0 12px 40px rgba(0,0,0,.6);
}

[data-nd-theme="light"] {
  color-scheme: light;
  --nd-bg: #fcfbf9;
  --nd-surface: #f5f3ef;
  --nd-surface-raised: #ffffff;
  --nd-surface-sunken: #ebe7e0;
  --nd-text: #1c1917;
  --nd-text-muted: #57534e;
  --nd-border: rgba(28, 25, 23, 0.12);
  --nd-border-strong: rgba(28, 25, 23, 0.28);
  --nd-accent: #c2410c;
  --nd-on-accent: #ffffff;
  --nd-gold: #9a4a08;
  --nd-ok: #166534;
  --nd-warn: #92400e;
  --nd-danger: #b91c1c;
  --nd-info: #1d4ed8;
  --nd-canvas: #e9eee6;
  --nd-grid: rgba(0, 0, 0, 0.10);
  --nd-selection: #c2410c;
  --nd-focus: #1d4ed8;
  --nd-scrim: rgba(28, 25, 23, 0.35);
  --nd-honesty-conceptual: #0369a1;
  --nd-honesty-preliminary: #92400e;
  --nd-honesty-reviewed: #166534;
  --nd-honesty-issued: #1c1917;
  --nd-border-control: #82776d;
  --nd-accent-soft: #fce9df;
  --nd-ok-soft: #e8f5ee;
  --nd-warn-soft: #fff3d8;
  --nd-danger-soft: #fdecea;
  --nd-info-soft: #e8f1ff;
  --nd-elev-popover: 0 2px 8px rgba(28,25,23,.14);
  --nd-elev-overlay: 0 12px 40px rgba(28,25,23,.18);
}

@media (prefers-color-scheme: light) {
  [data-nd-theme="auto"] {
  color-scheme: light;
  --nd-bg: #fcfbf9;
  --nd-surface: #f5f3ef;
  --nd-surface-raised: #ffffff;
  --nd-surface-sunken: #ebe7e0;
  --nd-text: #1c1917;
  --nd-text-muted: #57534e;
  --nd-border: rgba(28, 25, 23, 0.12);
  --nd-border-strong: rgba(28, 25, 23, 0.28);
  --nd-accent: #c2410c;
  --nd-on-accent: #ffffff;
  --nd-gold: #9a4a08;
  --nd-ok: #166534;
  --nd-warn: #92400e;
  --nd-danger: #b91c1c;
  --nd-info: #1d4ed8;
  --nd-canvas: #e9eee6;
  --nd-grid: rgba(0, 0, 0, 0.10);
  --nd-selection: #c2410c;
  --nd-focus: #1d4ed8;
  --nd-scrim: rgba(28, 25, 23, 0.35);
  --nd-honesty-conceptual: #0369a1;
  --nd-honesty-preliminary: #92400e;
  --nd-honesty-reviewed: #166534;
  --nd-honesty-issued: #1c1917;
  --nd-border-control: #82776d;
  --nd-accent-soft: #fce9df;
  --nd-ok-soft: #e8f5ee;
  --nd-warn-soft: #fff3d8;
  --nd-danger-soft: #fdecea;
  --nd-info-soft: #e8f1ff;
  --nd-elev-popover: 0 2px 8px rgba(28,25,23,.14);
  --nd-elev-overlay: 0 12px 40px rgba(28,25,23,.18);
  }
}

/* All component rules are opt-in within a workspace. No host-wide reset. */
.nd-workspace {
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  background: var(--nd-bg);
  color: var(--nd-text);
  font: var(--nd-weight) var(--nd-fs)/var(--nd-lh) var(--nd-font);
}
.nd-workspace *, .nd-workspace *::before, .nd-workspace *::after { box-sizing: border-box; }
.nd-workspace [hidden] { display: none !important; }
.nd-workspace :where(button, a, input, select, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--nd-focus);
  outline-offset: 2px;
}
.nd-workspace :where(.nd-button, .nd-step, .nd-sheet-handle, .nd-viewbar-item) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--nd-target);
  min-height: var(--nd-target);
  padding: var(--nd-space-2) var(--nd-space-3);
  border: 1px solid var(--nd-border-control);
  border-radius: var(--nd-radius);
  background: var(--nd-surface-raised);
  color: var(--nd-text);
  font: inherit;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
}
.nd-workspace .nd-button[data-primary] { background: var(--nd-accent); color: var(--nd-on-accent); border-color: var(--nd-accent); }
.nd-workspace .nd-button[data-danger] { color: var(--nd-danger); border-color: var(--nd-danger); }
.nd-workspace :where(.nd-button, .nd-step, .nd-sheet-handle, .nd-viewbar-item):hover:not(:disabled) { text-decoration: underline; }
.nd-workspace :where(.nd-button, .nd-step, .nd-sheet-handle, .nd-viewbar-item):active:not(:disabled) { box-shadow: inset 0 0 0 2px var(--nd-focus); }
.nd-workspace :where(button, input):disabled { opacity: .6; cursor: not-allowed; }
.nd-workspace [aria-busy="true"] { cursor: progress; }
.nd-workspace .nd-appbar {
  display: flex;
  align-items: center;
  gap: var(--nd-space-2);
  flex: none;
  height: calc(var(--nd-appbar-h) + env(safe-area-inset-top, 0px));
  padding: env(safe-area-inset-top, 0px) var(--nd-space-2) 0;
  background: var(--nd-surface);
  border-bottom: 1px solid var(--nd-border);
  z-index: var(--nd-z-chrome);
}
.nd-workspace .nd-appbar-title { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--nd-fs); font-weight: var(--nd-weight-strong); }
.nd-workspace .nd-appbar-actions { display: flex; align-items: center; gap: var(--nd-space-2); }
.nd-workspace .nd-workarea { flex: 1; min-height: 0; overflow: auto; }
.nd-workspace .nd-viewbar {
  display: grid;
  grid-template-columns: repeat(var(--nd-view-count, 5), minmax(0, 1fr));
  flex: none;
  height: calc(var(--nd-viewbar-h) + env(safe-area-inset-bottom, 0px));
  padding: 6px 0 calc(6px + env(safe-area-inset-bottom, 0px));
  background: var(--nd-surface);
  box-shadow: inset 0 1px var(--nd-border);
  z-index: var(--nd-z-chrome);
}
.nd-workspace .nd-viewbar-item {
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  height: var(--nd-target);
  padding: 0 var(--nd-space-1);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--nd-text-muted);
  font-size: var(--nd-fs-sm);
  line-height: 16px;
  overflow-wrap: anywhere;
}
.nd-workspace .nd-viewbar-item[aria-current="page"] { color: var(--nd-accent); font-weight: var(--nd-weight-bold); text-decoration: underline; text-underline-offset: 3px; }
.nd-workspace .nd-viewbar-icon { width: 20px; height: 20px; flex: none; }
.nd-workspace .nd-viewbar-label { max-width: 100%; }
/* Two-line labels use the full target height rather than clipping below the bar. */
.nd-workspace .nd-viewbar-item:has(.nd-viewbar-label[data-wrap]) .nd-viewbar-icon { display: none; }
.nd-workspace .nd-statusline { display: flex; align-items: center; justify-content: space-between; gap: var(--nd-space-2); min-height: var(--nd-status-h); padding: 0 var(--nd-space-2); border-top: 1px solid var(--nd-border); font-size: var(--nd-fs-sm); }
.nd-workspace .nd-result { display: inline-flex; align-items: center; flex-wrap: wrap; gap: var(--nd-space-2); font-variant-numeric: tabular-nums; }
.nd-workspace .nd-honesty {
  display: inline-flex;
  align-items: center;
  flex: none;
  height: 24px;
  padding: 2px 8px;
  border: 1px solid currentColor;
  border-radius: var(--nd-radius-sm);
  background: transparent;
  font-size: var(--nd-fs-chip);
  line-height: var(--nd-lh-sm);
  font-weight: var(--nd-weight-strong);
  white-space: nowrap;
}
.nd-workspace :is(.nd-trust-conceptual, .nd-honesty[data-level="conceptual"]) { color: var(--nd-honesty-conceptual); border-style: dashed; }
.nd-workspace :is(.nd-trust-preliminary, .nd-honesty[data-level="preliminary"]) { color: var(--nd-honesty-preliminary); border-style: dotted; }
.nd-workspace :is(.nd-trust-reviewed, .nd-honesty[data-level="reviewed"]) { color: var(--nd-honesty-reviewed); border-style: solid; }
.nd-workspace :is(.nd-trust-issued, .nd-honesty[data-level="issued"]) { color: var(--nd-bg); background: var(--nd-honesty-issued); border-color: var(--nd-honesty-issued); border-style: solid; }
.nd-workspace .nd-provenance { color: var(--nd-text-muted); font-size: var(--nd-fs-sm); }
.nd-workspace .nd-sheet {
  position: absolute;
  inset-inline: 0;
  bottom: calc(var(--nd-sheet-bottom) + var(--nd-keyboard-inset));
  display: flex;
  flex-direction: column;
  height: min(var(--nd-sheet-h), max(0px, calc(100% - var(--nd-header-h) - var(--nd-sheet-bottom) - var(--nd-keyboard-inset))));
  max-height: max(0px, calc(100% - var(--nd-header-h) - var(--nd-sheet-bottom) - var(--nd-keyboard-inset)));
  min-height: 0;
  overflow: hidden;
  border-radius: var(--nd-radius-lg) var(--nd-radius-lg) 0 0;
  background: var(--nd-surface-raised);
  box-shadow: var(--nd-elev-overlay);
  z-index: var(--nd-z-sheet);
  transition: transform var(--nd-dur-sheet) var(--nd-ease);
}
.nd-workspace .nd-sheet[data-state="closed"] { display: none; }
.nd-workspace .nd-sheet[data-state="peek"] { --nd-sheet-h: 96px; }
.nd-workspace .nd-sheet[data-state="half"] { --nd-sheet-h: 50vh; --nd-sheet-h: 50dvh; }
.nd-workspace .nd-sheet[data-state="full"] { --nd-sheet-h: max(0px, calc(100% - var(--nd-header-h) - var(--nd-sheet-bottom) - var(--nd-keyboard-inset))); }
.nd-workspace .nd-sheet[data-dragging] { transition: none; }
.nd-workspace .nd-sheet-header { display: flex; align-items: center; gap: var(--nd-space-2); padding-inline: var(--nd-space-2); flex: none; min-height: var(--nd-target); }
.nd-workspace .nd-sheet-handle { flex: 1; touch-action: none; border: 0; border-radius: 0; background: transparent; }
.nd-workspace .nd-sheet-body { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: var(--nd-space-4); scroll-padding: var(--nd-space-4); }
.nd-workspace .nd-sheet-footer { display: flex; flex-wrap: wrap; gap: var(--nd-space-2); flex: none; padding: var(--nd-space-2) var(--nd-space-4); background: var(--nd-surface-raised); }
.nd-workspace .nd-sheet[data-state="peek"] .nd-sheet-footer { display: none; }
.nd-workspace .nd-tooltray { display: flex; flex-wrap: wrap; gap: var(--nd-space-2); padding: var(--nd-space-3); max-height: 240px; overflow: auto; background: var(--nd-surface-raised); border-radius: var(--nd-radius); }
.nd-workspace .nd-tooltray:not([data-open]) { display: none; }
.nd-workspace .nd-number { display: flex; align-items: center; gap: var(--nd-space-2); min-width: 0; }
.nd-workspace .nd-number input {
  width: 100%;
  min-width: 96px;
  min-height: var(--nd-field-h);
  padding: var(--nd-space-2);
  border: 1px solid var(--nd-border-control);
  border-radius: var(--nd-radius);
  background: var(--nd-surface-raised);
  color: var(--nd-text);
  font: var(--nd-input-fs)/var(--nd-lh-lg) var(--nd-font);
  font-variant-numeric: tabular-nums;
}
.nd-workspace .nd-number input::placeholder { color: var(--nd-text-muted); opacity: 1; }
.nd-workspace .nd-number input[aria-invalid="true"] { border-color: var(--nd-danger); }
.nd-workspace .nd-step { width: var(--nd-target); height: var(--nd-target); flex: none; padding: 0; }
.nd-workspace .nd-unit { color: var(--nd-text-muted); flex: none; font-size: var(--nd-fs-sm); }
.nd-workspace .nd-field-error { color: var(--nd-danger); margin-block: var(--nd-space-1); }
.nd-workspace :is(.nd-empty, .nd-error) { padding: var(--nd-space-4); }
.nd-workspace .nd-empty { max-width: 36ch; }
.nd-workspace :is(.nd-empty, .nd-error, .nd-confirm) h2 { margin: 0 0 var(--nd-space-2); font-size: var(--nd-fs-title); line-height: var(--nd-lh-lg); }
.nd-workspace :is(.nd-empty, .nd-error, .nd-confirm) p { margin: 0 0 var(--nd-space-4); max-width: 65ch; }
.nd-workspace .nd-empty p { color: var(--nd-text-muted); }
.nd-workspace .nd-actions { display: flex; flex-wrap: wrap; gap: var(--nd-space-2); }
.nd-workspace .nd-error { background: var(--nd-danger-soft); color: var(--nd-text); border: 1px solid var(--nd-danger); border-radius: var(--nd-radius); }
.nd-workspace .nd-error h2 { color: var(--nd-danger); }
.nd-workspace .nd-error summary { min-height: var(--nd-target); display: flex; align-items: center; cursor: pointer; text-decoration: underline; }
.nd-workspace .nd-confirm { width: min(440px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: var(--nd-space-4); border: 0; border-radius: var(--nd-radius-lg); background: var(--nd-surface-raised); color: var(--nd-text); box-shadow: var(--nd-elev-overlay); overflow: auto; }
.nd-workspace .nd-confirm::backdrop { background: var(--nd-scrim); }
/* Keep feedback in a host-supplied region outside the active editor. */
.nd-workspace .nd-toast { display: flex; align-items: center; flex-wrap: wrap; gap: var(--nd-space-2); width: min(420px, calc(100% - 32px)); padding: var(--nd-space-3); margin: var(--nd-space-2) auto; border-radius: var(--nd-radius); background: var(--nd-surface-raised); color: var(--nd-text); box-shadow: var(--nd-elev-popover); z-index: var(--nd-z-toast); }
.nd-workspace .nd-toast-message { flex: 1; min-width: 12ch; overflow-wrap: anywhere; }
.nd-workspace .nd-sample { display: flex; align-items: center; flex-wrap: wrap; gap: var(--nd-space-2); min-height: 32px; padding: var(--nd-space-1) var(--nd-space-3); color: var(--nd-info); background: var(--nd-info-soft); font-size: var(--nd-fs-sm); line-height: var(--nd-lh-sm); }
.nd-workspace .nd-sample:has(button, a), .nd-workspace .nd-statusline:has(button, a) { min-height: var(--nd-target); }
@media (width > 768px) {
  .nd-workspace { --nd-appbar-h: 44px; --nd-status-h: 28px; --nd-sheet-bottom: 0px; --nd-header-h: calc(var(--nd-appbar-h) + var(--nd-viewbar-h) + env(safe-area-inset-top, 0px)); }
  .nd-workspace .nd-viewbar { order: -1; height: var(--nd-viewbar-h); padding: 6px 0; }
  .nd-workspace .nd-sheet { inset-inline-start: auto; inset-inline-end: 0; top: var(--nd-header-h); bottom: calc(var(--nd-sheet-bottom) + var(--nd-keyboard-inset)); width: min(var(--nd-props-w), 100%); height: auto; max-height: none; border-radius: 0; }
  .nd-workspace .nd-sheet[data-side="left"] { inset-inline-start: 0; inset-inline-end: auto; width: min(var(--nd-browser-w), 100%); }
  .nd-workspace .nd-toast { margin-inline-end: var(--nd-space-4); }
}
@media (prefers-reduced-motion: reduce) {
  .nd-workspace { --nd-dur-fast: 0ms; --nd-dur: 0ms; --nd-dur-sheet: 0ms; }
}
