/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: 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;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, 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-300: oklch(80.8% .114 19.571);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-emerald-300: oklch(84.5% .143 164.978);
    --color-indigo-200: oklch(87% .065 274.039);
    --color-indigo-300: oklch(78.5% .115 274.713);
    --color-indigo-400: oklch(67.3% .182 276.935);
    --color-indigo-500: oklch(58.5% .233 277.117);
    --color-indigo-600: oklch(51.1% .262 276.966);
    --color-indigo-950: oklch(25.7% .09 281.288);
    --color-zinc-100: oklch(96.7% .001 286.375);
    --color-zinc-200: oklch(92% .004 286.32);
    --color-zinc-300: oklch(87.1% .006 286.286);
    --color-zinc-400: oklch(70.5% .015 286.067);
    --color-zinc-700: oklch(37% .013 285.805);
    --color-zinc-800: oklch(27.4% .006 286.033);
    --color-zinc-900: oklch(21% .006 285.885);
    --color-zinc-950: oklch(14.1% .005 285.823);
    --color-white: #fff;
    --spacing: .25rem;
    --container-7xl: 80rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -.025em;
    --leading-relaxed: 1.625;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;
    -webkit-text-decoration: 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 {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :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)) {
      ::placeholder {
        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 {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-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"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .sticky {
    position: sticky;
  }

  .top-0 {
    top: 0;
  }

  .z-30 {
    z-index: 30;
  }

  .mx-auto {
    margin-inline: auto;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .max-h-\[600px\] {
    max-height: 600px;
  }

  .min-h-\[116px\] {
    min-height: 116px;
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-full {
    width: 100%;
  }

  .max-w-7xl {
    max-width: var(--container-7xl);
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-center {
    align-items: center;
  }

  .justify-between {
    justify-content: space-between;
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
    margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .rounded {
    border-radius: .25rem;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-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-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }

  .border-indigo-400 {
    border-color: var(--color-indigo-400);
  }

  .border-transparent {
    border-color: #0000;
  }

  .border-zinc-700 {
    border-color: var(--color-zinc-700);
  }

  .border-zinc-800 {
    border-color: var(--color-zinc-800);
  }

  .border-zinc-800\/70 {
    border-color: #27272ab3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-zinc-800\/70 {
      border-color: color-mix(in oklab, var(--color-zinc-800) 70%, transparent);
    }
  }

  .border-zinc-800\/80 {
    border-color: #27272acc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-zinc-800\/80 {
      border-color: color-mix(in oklab, var(--color-zinc-800) 80%, transparent);
    }
  }

  .bg-indigo-600 {
    background-color: var(--color-indigo-600);
  }

  .bg-indigo-600\/30 {
    background-color: #4f39f64d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-indigo-600\/30 {
      background-color: color-mix(in oklab, var(--color-indigo-600) 30%, transparent);
    }
  }

  .bg-indigo-950\/30 {
    background-color: #1e1a4d4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-indigo-950\/30 {
      background-color: color-mix(in oklab, var(--color-indigo-950) 30%, transparent);
    }
  }

  .bg-zinc-800 {
    background-color: var(--color-zinc-800);
  }

  .bg-zinc-900 {
    background-color: var(--color-zinc-900);
  }

  .bg-zinc-900\/90 {
    background-color: #18181be6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-zinc-900\/90 {
      background-color: color-mix(in oklab, var(--color-zinc-900) 90%, transparent);
    }
  }

  .bg-zinc-950 {
    background-color: var(--color-zinc-950);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: var(--spacing);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .pt-1 {
    padding-top: var(--spacing);
  }

  .text-left {
    text-align: left;
  }

  .align-top {
    vertical-align: top;
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .break-all {
    word-break: break-all;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-amber-300 {
    color: var(--color-amber-300);
  }

  .text-emerald-300 {
    color: var(--color-emerald-300);
  }

  .text-indigo-200 {
    color: var(--color-indigo-200);
  }

  .text-indigo-300 {
    color: var(--color-indigo-300);
  }

  .text-red-300 {
    color: var(--color-red-300);
  }

  .text-white {
    color: var(--color-white);
  }

  .text-zinc-100 {
    color: var(--color-zinc-100);
  }

  .text-zinc-200 {
    color: var(--color-zinc-200);
  }

  .text-zinc-300 {
    color: var(--color-zinc-300);
  }

  .text-zinc-400 {
    color: var(--color-zinc-400);
  }

  .uppercase {
    text-transform: uppercase;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -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-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));
  }

  .selection\:bg-indigo-500\/30 ::selection {
    background-color: #625fff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .selection\:bg-indigo-500\/30 ::selection {
      background-color: color-mix(in oklab, var(--color-indigo-500) 30%, transparent);
    }
  }

  .selection\:bg-indigo-500\/30::selection {
    background-color: #625fff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .selection\:bg-indigo-500\/30::selection {
      background-color: color-mix(in oklab, var(--color-indigo-500) 30%, transparent);
    }
  }

  .selection\:text-indigo-200 ::selection {
    color: var(--color-indigo-200);
  }

  .selection\:text-indigo-200::selection {
    color: var(--color-indigo-200);
  }

  @media (hover: hover) {
    .hover\:bg-indigo-500:hover {
      background-color: var(--color-indigo-500);
    }

    .hover\:bg-zinc-700:hover {
      background-color: var(--color-zinc-700);
    }

    .hover\:bg-zinc-800\/40:hover {
      background-color: #27272a66;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-zinc-800\/40:hover {
        background-color: color-mix(in oklab, var(--color-zinc-800) 40%, transparent);
      }
    }

    .hover\:text-zinc-200:hover {
      color: var(--color-zinc-200);
    }
  }

  .focus\:border-indigo-500:focus {
    border-color: var(--color-indigo-500);
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
}

:root, :root[data-theme="obsidian"], [data-theme="obsidian"], :root[data-theme="default"], [data-theme="default"] {
  color-scheme: dark;
  --theme-bg: #09090b;
  --theme-bg-gradient: radial-gradient(circle at 50% 0%, #151520 0%, #09090b 75%);
  --theme-surface: #18181b;
  --theme-elevated: #27272a;
  --theme-input: #09090b;
  --theme-glass: #18181bd9;
  --theme-border: #27272a;
  --theme-border-subtle: #18181b;
  --theme-grid: #27272a;
  --theme-text: #f4f4f5;
  --theme-text-secondary: #d4d4d8;
  --theme-text-muted: #a1a1aa;
  --theme-heading: #fff;
  --theme-accent: #6366f1;
  --theme-accent-hover: #4f46e5;
  --theme-accent-glow: #6366f159;
  --theme-success: #10b981;
  --theme-warning: #f59e0b;
  --theme-danger: #ef4444;
  --theme-info: #06b6d4;
  --theme-canvas-stroke: #09090b;
  --major-flow: #d4a373d9;
  --minor-flow: #90e0ef99;
  --node-bg: #18181b;
  --node-border: #3f3f46;
  --node-hover: #27272a;
  --region-plex: #ff595e;
  --region-warp: #8ac926;
  --region-archetypal: #9d4edd;
  --region-torque: #1982c4;
  --color-zinc-50: #fafafa;
  --color-zinc-100: #f4f4f5;
  --color-zinc-200: #e4e4e7;
  --color-zinc-300: #d4d4d8;
  --color-zinc-400: #a1a1aa;
  --color-zinc-500: #71717a;
  --color-zinc-600: #52525b;
  --color-zinc-700: #3f3f46;
  --color-zinc-800: #27272a;
  --color-zinc-900: #18181b;
  --color-zinc-950: #09090b;
  --color-gray-50: #f9fafb;
  --color-gray-100: #f3f4f6;
  --color-gray-200: #e5e7eb;
  --color-gray-300: #d1d5db;
  --color-gray-400: #9ca3af;
  --color-gray-500: #6b7280;
  --color-gray-600: #4b5563;
  --color-gray-700: #374151;
  --color-gray-800: #1f2937;
  --color-gray-900: #111827;
  --color-gray-950: #030712;
  --color-slate-50: #f8fafc;
  --color-slate-100: #f1f5f9;
  --color-slate-200: #e2e8f0;
  --color-slate-300: #cbd5e1;
  --color-slate-400: #94a3b8;
  --color-slate-500: #64748b;
  --color-slate-600: #475569;
  --color-slate-700: #334155;
  --color-slate-800: #1e293b;
  --color-slate-900: #0f172a;
  --color-slate-950: #020617;
  --color-indigo-200: #c7d2fe;
  --color-indigo-300: #a5b4fc;
  --color-indigo-400: #818cf8;
  --color-indigo-500: #6366f1;
  --color-indigo-600: #4f46e5;
  --color-indigo-700: #4338ca;
  --color-indigo-800: #3730a3;
  --color-indigo-900: #312e81;
  --color-indigo-950: #1e1b4b;
}

:root[data-theme="slate"], [data-theme="slate"] {
  color-scheme: dark;
  --theme-bg: #0d1117;
  --theme-bg-gradient: radial-gradient(circle at 50% 0%, #161b22 0%, #0d1117 75%);
  --theme-surface: #161b22;
  --theme-elevated: #21262d;
  --theme-input: #090d13;
  --theme-glass: #161b22e0;
  --theme-border: #30363d;
  --theme-border-subtle: #21262d;
  --theme-grid: #21262d;
  --theme-text: #e6edf3;
  --theme-text-secondary: #c9d1d9;
  --theme-text-muted: #8b949e;
  --theme-heading: #fff;
  --theme-accent: #58a6ff;
  --theme-accent-hover: #388bfd;
  --theme-accent-glow: #58a6ff4d;
  --theme-success: #2ea043;
  --theme-warning: #d29922;
  --theme-danger: #f85149;
  --theme-info: #58a6ff;
  --theme-canvas-stroke: #0d1117;
  --major-flow: #58a6ffd9;
  --minor-flow: #8b949e8c;
  --node-bg: #161b22;
  --node-border: #30363d;
  --node-hover: #21262d;
  --region-plex: #f85149;
  --region-warp: #3fb950;
  --region-archetypal: #bc8cff;
  --region-torque: #58a6ff;
  --color-zinc-50: #f0f6fc;
  --color-zinc-100: #e6edf3;
  --color-zinc-200: #c9d1d9;
  --color-zinc-300: #b1bac4;
  --color-zinc-400: #8b949e;
  --color-zinc-500: #6e7681;
  --color-zinc-600: #484f58;
  --color-zinc-700: #30363d;
  --color-zinc-800: #21262d;
  --color-zinc-900: #161b22;
  --color-zinc-950: #0d1117;
  --color-gray-50: #f0f6fc;
  --color-gray-100: #e6edf3;
  --color-gray-200: #c9d1d9;
  --color-gray-300: #b1bac4;
  --color-gray-400: #8b949e;
  --color-gray-500: #6e7681;
  --color-gray-600: #484f58;
  --color-gray-700: #30363d;
  --color-gray-800: #161b22;
  --color-gray-900: #12171e;
  --color-gray-950: #0d1117;
  --color-slate-50: #f0f6fc;
  --color-slate-100: #e6edf3;
  --color-slate-200: #c9d1d9;
  --color-slate-300: #b1bac4;
  --color-slate-400: #8b949e;
  --color-slate-500: #6e7681;
  --color-slate-600: #484f58;
  --color-slate-700: #30363d;
  --color-slate-800: #21262d;
  --color-slate-900: #161b22;
  --color-slate-950: #0d1117;
  --color-indigo-200: #cae8ff;
  --color-indigo-300: #a5d6ff;
  --color-indigo-400: #79c0ff;
  --color-indigo-500: #58a6ff;
  --color-indigo-600: #1f6feb;
  --color-indigo-700: #1158c7;
  --color-indigo-800: #0d419d;
  --color-indigo-900: #0c2d6b;
  --color-indigo-950: #051d4d;
}

:root[data-theme="solarized"], [data-theme="solarized"] {
  color-scheme: dark;
  --theme-bg: #002b36;
  --theme-bg-gradient: none;
  --theme-surface: #073642;
  --theme-elevated: #0b4351;
  --theme-input: #00212b;
  --theme-glass: #073642e0;
  --theme-border: #2a5460;
  --theme-border-subtle: #0d4654;
  --theme-grid: #0d4654;
  --theme-text: #eee8d5;
  --theme-text-secondary: #93a1a1;
  --theme-text-muted: #839496;
  --theme-heading: #fdf6e3;
  --theme-accent: #b58900;
  --theme-accent-hover: #cb4b16;
  --theme-accent-glow: #b5890059;
  --theme-success: #859900;
  --theme-warning: #b58900;
  --theme-danger: #dc322f;
  --theme-info: #2aa198;
  --theme-canvas-stroke: #002b36;
  --major-flow: #b58900d9;
  --minor-flow: #2aa19899;
  --node-bg: #002b36;
  --node-border: #586e75;
  --node-hover: #073642;
  --region-plex: #dc322f;
  --region-warp: #859900;
  --region-archetypal: #6c71c4;
  --region-torque: #268bd2;
  --color-zinc-50: #fdf6e3;
  --color-zinc-100: #eee8d5;
  --color-zinc-200: #d5cfc0;
  --color-zinc-300: #93a1a1;
  --color-zinc-400: #839496;
  --color-zinc-500: #657b83;
  --color-zinc-600: #586e75;
  --color-zinc-700: #2a5460;
  --color-zinc-800: #0d4654;
  --color-zinc-900: #073642;
  --color-zinc-950: #002b36;
  --color-gray-50: #fdf6e3;
  --color-gray-100: #eee8d5;
  --color-gray-200: #d5cfc0;
  --color-gray-300: #93a1a1;
  --color-gray-400: #839496;
  --color-gray-500: #657b83;
  --color-gray-600: #586e75;
  --color-gray-700: #0d4654;
  --color-gray-800: #073642;
  --color-gray-900: #04303b;
  --color-gray-950: #002b36;
  --color-slate-50: #fdf6e3;
  --color-slate-100: #eee8d5;
  --color-slate-200: #d5cfc0;
  --color-slate-300: #93a1a1;
  --color-slate-400: #839496;
  --color-slate-500: #657b83;
  --color-slate-600: #586e75;
  --color-slate-700: #2a5460;
  --color-slate-800: #0d4654;
  --color-slate-900: #073642;
  --color-slate-950: #002b36;
  --color-indigo-200: #a4e4de;
  --color-indigo-300: #6bd4cb;
  --color-indigo-400: #2aa198;
  --color-indigo-500: #b58900;
  --color-indigo-600: #9c7600;
  --color-indigo-700: #7f6000;
  --color-indigo-800: #5c4600;
  --color-indigo-900: #3d2f00;
  --color-indigo-950: #261e04;
}

:root[data-theme="monochrome"], [data-theme="monochrome"] {
  color-scheme: dark;
  --theme-bg: #000;
  --theme-bg-gradient: none;
  --theme-surface: #0c0c0c;
  --theme-elevated: #181818;
  --theme-input: #050505;
  --theme-glass: #0c0c0ce6;
  --theme-border: #333;
  --theme-border-subtle: #1f1f1f;
  --theme-grid: #222;
  --theme-text: #fff;
  --theme-text-secondary: #d4d4d4;
  --theme-text-muted: #999;
  --theme-heading: #fff;
  --theme-accent: #e5e5e5;
  --theme-accent-hover: #fff;
  --theme-accent-glow: #ffffff40;
  --theme-success: #d4d4d4;
  --theme-warning: #a3a3a3;
  --theme-danger: #f87171;
  --theme-info: #e5e5e5;
  --theme-canvas-stroke: #000;
  --major-flow: #ffffffd9;
  --minor-flow: #ffffff4d;
  --node-bg: #000;
  --node-border: #555;
  --node-hover: #222;
  --region-plex: #eee;
  --region-warp: #ccc;
  --region-archetypal: #999;
  --region-torque: #666;
  --color-zinc-50: #fff;
  --color-zinc-100: #f5f5f5;
  --color-zinc-200: #e5e5e5;
  --color-zinc-300: #ccc;
  --color-zinc-400: #999;
  --color-zinc-500: #737373;
  --color-zinc-600: #525252;
  --color-zinc-700: #333;
  --color-zinc-800: #1f1f1f;
  --color-zinc-900: #0c0c0c;
  --color-zinc-950: #000;
  --color-gray-50: #fff;
  --color-gray-100: #f5f5f5;
  --color-gray-200: #e5e5e5;
  --color-gray-300: #ccc;
  --color-gray-400: #999;
  --color-gray-500: #737373;
  --color-gray-600: #525252;
  --color-gray-700: #262626;
  --color-gray-800: #111;
  --color-gray-900: #080808;
  --color-gray-950: #000;
  --color-slate-50: #fff;
  --color-slate-100: #f5f5f5;
  --color-slate-200: #e5e5e5;
  --color-slate-300: #ccc;
  --color-slate-400: #999;
  --color-slate-500: #737373;
  --color-slate-600: #525252;
  --color-slate-700: #333;
  --color-slate-800: #1f1f1f;
  --color-slate-900: #0c0c0c;
  --color-slate-950: #000;
  --color-indigo-200: #fff;
  --color-indigo-300: #e5e5e5;
  --color-indigo-400: #d4d4d4;
  --color-indigo-500: #a3a3a3;
  --color-indigo-600: #404040;
  --color-indigo-700: #333;
  --color-indigo-800: #262626;
  --color-indigo-900: #1c1c1c;
  --color-indigo-950: #141414;
}

:root[data-theme="cyberpunk"], [data-theme="cyberpunk"] {
  color-scheme: dark;
  --theme-bg: #0d0221;
  --theme-bg-gradient: radial-gradient(circle at 50% 50%, #1a0442 0%, #0d0221 100%);
  --theme-surface: #150533;
  --theme-elevated: #21094e;
  --theme-input: #090118;
  --theme-glass: #150533e0;
  --theme-border: #3d1478;
  --theme-border-subtle: #250b52;
  --theme-grid: #2a0d5c;
  --theme-text: #0fc;
  --theme-text-secondary: #80ffea;
  --theme-text-muted: #00b39f;
  --theme-heading: #fff;
  --theme-accent: #f0f;
  --theme-accent-hover: #d900d9;
  --theme-accent-glow: #f0f6;
  --theme-success: #0f8;
  --theme-warning: #fcee09;
  --theme-danger: #f05;
  --theme-info: #0ff;
  --theme-canvas-stroke: #0d0221;
  --major-flow: #ff00ffd9;
  --minor-flow: #0fc9;
  --node-bg: #0d0221;
  --node-border: #0fc;
  --node-hover: #1a0442;
  --region-plex: #f05;
  --region-warp: #0f0;
  --region-archetypal: #9d00ff;
  --region-torque: #0ff;
  --color-zinc-50: #fff;
  --color-zinc-100: #d6fff6;
  --color-zinc-200: #99ffea;
  --color-zinc-300: #4dffdb;
  --color-zinc-400: #0ca;
  --color-zinc-500: #7b52ab;
  --color-zinc-600: #5a2d91;
  --color-zinc-700: #3d1478;
  --color-zinc-800: #240a52;
  --color-zinc-900: #150533;
  --color-zinc-950: #0d0221;
  --color-gray-50: #fff;
  --color-gray-100: #d6fff6;
  --color-gray-200: #99ffea;
  --color-gray-300: #4dffdb;
  --color-gray-400: #0ca;
  --color-gray-500: #7b52ab;
  --color-gray-600: #5a2d91;
  --color-gray-700: #2b0c61;
  --color-gray-800: #170638;
  --color-gray-900: #11032b;
  --color-gray-950: #0d0221;
  --color-slate-50: #fff;
  --color-slate-100: #d6fff6;
  --color-slate-200: #99ffea;
  --color-slate-300: #4dffdb;
  --color-slate-400: #0ca;
  --color-slate-500: #7b52ab;
  --color-slate-600: #5a2d91;
  --color-slate-700: #3d1478;
  --color-slate-800: #240a52;
  --color-slate-900: #150533;
  --color-slate-950: #0d0221;
  --color-indigo-200: #ffb3ff;
  --color-indigo-300: #f6f;
  --color-indigo-400: #ff26ff;
  --color-indigo-500: #f0f;
  --color-indigo-600: #c0c;
  --color-indigo-700: #909;
  --color-indigo-800: #606;
  --color-indigo-900: #404;
  --color-indigo-950: #2a0033;
}

:root[data-theme="ink"], [data-theme="ink"] {
  color-scheme: light;
  --theme-bg: #f4f1ea;
  --theme-bg-gradient: none;
  --theme-surface: #fff;
  --theme-elevated: #ebe6dc;
  --theme-input: #fff;
  --theme-glass: #ffffffeb;
  --theme-border: #d6cfc2;
  --theme-border-subtle: #e5dfd3;
  --theme-grid: #dcd6c8;
  --theme-text: #18181b;
  --theme-text-secondary: #27272a;
  --theme-text-muted: #57534e;
  --theme-heading: #09090b;
  --theme-accent: #4f46e5;
  --theme-accent-hover: #4338ca;
  --theme-accent-glow: #4f46e533;
  --theme-success: #059669;
  --theme-warning: #d97706;
  --theme-danger: #dc2626;
  --theme-info: #0284c7;
  --theme-canvas-stroke: #fff;
  --major-flow: #18181bd9;
  --minor-flow: #18181b66;
  --node-bg: #fff;
  --node-border: #18181b;
  --node-hover: #ebe6dc;
  --region-plex: #b91c1c;
  --region-warp: #15803d;
  --region-archetypal: #6d28d9;
  --region-torque: #0369a1;
  --color-zinc-50: #09090b;
  --color-zinc-100: #18181b;
  --color-zinc-200: #27272a;
  --color-zinc-300: #3f3f46;
  --color-zinc-400: #57534e;
  --color-zinc-500: #78716c;
  --color-zinc-600: #a8a29e;
  --color-zinc-700: #d6cfc2;
  --color-zinc-800: #e5dfd3;
  --color-zinc-900: #fff;
  --color-zinc-950: #f4f1ea;
  --color-gray-50: #09090b;
  --color-gray-100: #18181b;
  --color-gray-200: #27272a;
  --color-gray-300: #3f3f46;
  --color-gray-400: #57534e;
  --color-gray-500: #78716c;
  --color-gray-600: #a8a29e;
  --color-gray-700: #e5dfd3;
  --color-gray-800: #fff;
  --color-gray-900: #f8f6f0;
  --color-gray-950: #f4f1ea;
  --color-slate-50: #09090b;
  --color-slate-100: #18181b;
  --color-slate-200: #27272a;
  --color-slate-300: #3f3f46;
  --color-slate-400: #57534e;
  --color-slate-500: #78716c;
  --color-slate-600: #a8a29e;
  --color-slate-700: #d6cfc2;
  --color-slate-800: #e5dfd3;
  --color-slate-900: #fff;
  --color-slate-950: #f4f1ea;
  --color-indigo-200: #312e81;
  --color-indigo-300: #3730a3;
  --color-indigo-400: #4338ca;
  --color-indigo-500: #4f46e5;
  --color-indigo-600: #4f46e5;
  --color-indigo-700: #4338ca;
  --color-indigo-800: #c7d2fe;
  --color-indigo-900: #e0e7ff;
  --color-indigo-950: #eef2ff;
}

:root, [data-theme] {
  --bg-main: var(--theme-bg);
  --bg-color: var(--theme-bg);
  --bg: var(--theme-bg);
  --bg-gradient: var(--theme-bg-gradient);
  --bg-card: var(--theme-surface);
  --bg-panel: var(--theme-surface);
  --panel-bg: var(--theme-glass);
  --bg-sidebar: var(--theme-glass);
  --bg-elevated: var(--theme-elevated);
  --bg-input: var(--theme-input);
  --input-bg: var(--theme-input);
  --text-main: var(--theme-text);
  --text-muted: var(--theme-text-muted);
  --text-dim: var(--theme-text-muted);
  --primary: var(--theme-accent);
  --primary-hover: var(--theme-accent-hover);
  --primary-glow: var(--theme-accent-glow);
  --accent: var(--theme-accent);
  --accent-hover: var(--theme-accent-hover);
  --accent-glow: var(--theme-accent-glow);
  --border: var(--theme-border);
  --border-color: var(--theme-border);
  --error: var(--theme-danger);
  --danger: var(--theme-danger);
  --warning: var(--theme-warning);
  --success: var(--theme-success);
  --info: var(--theme-info);
}

[data-theme="ink"] .text-white:not(button):not(.bg-indigo-600):not(.bg-indigo-500):not(.bg-blue-600):not(.bg-blue-500):not(.bg-red-600):not(.bg-red-500):not(.bg-emerald-600):not(.bg-emerald-500):not(.bg-green-600):not(.bg-purple-600):not(.btn-primary):not(.btn-danger) {
  color: var(--theme-heading) !important;
}

body {
  background-color: var(--theme-bg, #09090b);
  color: var(--theme-text, #f4f4f5);
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@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-tracking {
  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
}

  .platform-theme-picker.svelte-aniw5h {
    position: relative;
    display: inline-flex;
    align-items: center;
    font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif;
  }

  .platform-theme-trigger.svelte-aniw5h {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.65rem;
    border-radius: 0.5rem;
    border: 1px solid var(--theme-border, #27272a);
    background-color: var(--theme-surface, #18181b);
    color: var(--theme-text, #f4f4f5);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
    white-space: nowrap;
  }

  .platform-theme-trigger.svelte-aniw5h:hover {
    background-color: var(--theme-elevated, #27272a);
    border-color: var(--theme-accent, #6366f1);
  }

  .platform-theme-swatch.svelte-aniw5h {
    display: inline-flex;
    width: 14px;
    height: 14px;
    border-radius: 9999px;
    overflow: hidden;
    border: 1px solid rgba(128, 128, 128, 0.45);
    flex-shrink: 0;
  }

  .platform-theme-swatch-bg.svelte-aniw5h {
    width: 50%;
    height: 100%;
  }

  .platform-theme-swatch-accent.svelte-aniw5h {
    width: 50%;
    height: 100%;
  }

  .platform-theme-label.svelte-aniw5h {
    color: var(--theme-text, #f4f4f5);
  }

  .platform-theme-chevron.svelte-aniw5h {
    width: 12px;
    height: 12px;
    filter: none;
    color: var(--theme-text-muted, #a1a1aa);
    flex-shrink: 0;
  }

  .platform-theme-menu.svelte-aniw5h {
    position: absolute;
    z-index: 1000;
    min-width: 185px;
    padding: 0.35rem;
    border-radius: 0.65rem;
    border: 1px solid var(--theme-border, #27272a);
    background-color: var(--theme-surface, #18181b);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
  }

  .platform-theme-menu.dir-down.svelte-aniw5h {
    top: calc(100% + 0.4rem);
  }

  .platform-theme-menu.dir-up.svelte-aniw5h {
    bottom: calc(100% + 0.4rem);
  }

  .platform-theme-menu.align-right.svelte-aniw5h {
    right: 0;
  }

  .platform-theme-menu.align-left.svelte-aniw5h {
    left: 0;
  }

  .platform-theme-option.svelte-aniw5h {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.45rem 0.55rem;
    border-radius: 0.45rem;
    border: 1px solid transparent;
    background: transparent;
    color: var(--theme-text, #f4f4f5);
    font-size: 0.75rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.12s ease;
  }

  .platform-theme-option.svelte-aniw5h:hover {
    background-color: var(--theme-elevated, #27272a);
  }

  .platform-theme-option.is-selected.svelte-aniw5h {
    background-color: var(--theme-elevated, #27272a);
    border-color: var(--theme-accent, #6366f1);
    font-weight: 600;
  }

  .platform-theme-option-name.svelte-aniw5h {
    flex: 1;
  }

  .platform-theme-option-mode.svelte-aniw5h {
    font-size: 0.65rem;
    color: var(--theme-text-muted, #a1a1aa);
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  .platform-theme-check.svelte-aniw5h {
    color: var(--theme-accent, #6366f1);
    font-size: 0.75rem;
    font-weight: 700;
  }
