@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,700;12..96,800&family=Open+Sans:wght@400;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--font-sans:"Open Sans", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--brand-purple-950:#2b0660;--brand-purple-900:#4f0e94;--brand-purple-700:#8017e1;--brand-purple-600:#8017e1;--brand-purple-500:#8017e1;--brand-lilac-200:#dfc9ff;--brand-pink-500:#f10096;--brand-amber-500:#e08b00;--brand-green-500:#118d57;--surface-card:#fff;--surface-stroke:#e2d6f2;--surface-stroke-strong:#d2bce9;--ink-primary:#2f1a4a;--ink-secondary:#4c336a;--ink-muted:#725f8f;--ink-on-brand:#fff}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans), sans-serif;margin:0;overflow:hidden}code,pre,textarea{font-family:var(--font-mono)}@layer theme{@theme default{--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-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --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-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 none); --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-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --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-neutral-50: oklch(98.5% 0 none); --color-neutral-100: oklch(97% 0 none); --color-neutral-200: oklch(92.2% 0 none); --color-neutral-300: oklch(87% 0 none); --color-neutral-400: oklch(70.8% 0 none); --color-neutral-500: oklch(55.6% 0 none); --color-neutral-600: oklch(43.9% 0 none); --color-neutral-700: oklch(37.1% 0 none); --color-neutral-800: oklch(26.9% 0 none); --color-neutral-900: oklch(20.5% 0 none); --color-neutral-950: oklch(14.5% 0 none); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-mauve-50: oklch(98.5% 0 none); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: calc(1.5 / 1); --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: calc(2.25 / 1.875); --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px #0000000d; --shadow-xs: 0 1px 2px 0 #0000000d; --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a; --shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a; --shadow-xl: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a; --shadow-2xl: 0 25px 50px -12px #00000040; --inset-shadow-2xs: inset 0 1px #0000000d; --inset-shadow-xs: inset 0 1px 1px #0000000d; --inset-shadow-sm: inset 0 2px 4px #0000000d; --drop-shadow-xs: 0 1px 1px #0000000d; --drop-shadow-sm: 0 1px 2px #00000026; --drop-shadow-md: 0 3px 3px #0000001f; --drop-shadow-lg: 0 4px 4px #00000026; --drop-shadow-xl: 0 9px 7px #0000001a; --drop-shadow-2xl: 0 25px 25px #00000026; --text-shadow-2xs: 0px 1px 0px #00000026; --text-shadow-xs: 0px 1px 1px #0003; --text-shadow-sm: 0px 1px 0px #00000013, 0px 1px 1px #00000013, 0px 2px 2px #00000013; --text-shadow-md: 0px 1px 1px #0000001a, 0px 1px 2px #0000001a, 0px 2px 4px #0000001a; --text-shadow-lg: 0px 1px 2px #0000001a, 0px 3px 2px #0000001a, 0px 4px 8px #0000001a; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme(--font-sans--font-feature-settings, initial); --default-font-variation-settings: --theme(--font-sans--font-variation-settings, initial); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme(--font-mono--font-feature-settings, initial); --default-mono-font-variation-settings: --theme(--font-mono--font-variation-settings, initial);}@theme default inline reference{--blur: 8px; --shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; --shadow-inner: inset 0 2px 4px 0 #0000000d; --drop-shadow: 0 1px 2px #0000001a, 0 1px 1px #0000000f; --radius: .25rem; --max-width-prose: 65ch;}}@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:--theme(--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:--theme(--default-font-feature-settings, normal);font-variation-settings:--theme(--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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:--theme(--default-mono-font-feature-settings, normal);font-variation-settings:--theme(--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: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}*{@apply border-border outline-ring/50;}body{@apply bg-background text-foreground;}a,button,[role=button],[type=button],[type=submit],[type=reset],select,summary,[tabindex]:not([tabindex="-1"]){cursor:pointer}[data-slot=dialog-content]{border:1px solid var(--border);border-radius:var(--radius-lg);--tw-ring-shadow:none;max-width:32rem;padding:1.5rem;box-shadow:0 10px 15px -3px oklch(0% 0 0/.1),0 4px 6px -4px oklch(0% 0 0/.1)}[data-slot=dialog-header]{text-align:left}[data-slot=dialog-title]{font-size:1.125rem;font-weight:600}}@layer components;@layer utilities{@tailwind utilities;}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@theme inline{--animation-delay-0: 0s; --animation-delay-75: 75ms; --animation-delay-100: .1s; --animation-delay-150: .15s; --animation-delay-200: .2s; --animation-delay-300: .3s; --animation-delay-500: .5s; --animation-delay-700: .7s; --animation-delay-1000: 1s; --animation-repeat-0: 0; --animation-repeat-1: 1; --animation-repeat-infinite: infinite; --animation-direction-normal: normal; --animation-direction-reverse: reverse; --animation-direction-alternate: alternate; --animation-direction-alternate-reverse: alternate-reverse; --animation-fill-mode-none: none; --animation-fill-mode-forwards: forwards; --animation-fill-mode-backwards: backwards; --animation-fill-mode-both: both; --percentage-0: 0; --percentage-5: .05; --percentage-10: .1; --percentage-15: .15; --percentage-20: .2; --percentage-25: .25; --percentage-30: .3; --percentage-35: .35; --percentage-40: .4; --percentage-45: .45; --percentage-50: .5; --percentage-55: .55; --percentage-60: .6; --percentage-65: .65; --percentage-70: .7; --percentage-75: .75; --percentage-80: .8; --percentage-85: .85; --percentage-90: .9; --percentage-95: .95; --percentage-100: 1; --percentage-translate-full: 1; --animate-in: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-out: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes enter { from { opacity: var(--tw-enter-opacity,1); transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0)); filter: blur(var(--tw-enter-blur,0)); }}@keyframes exit { to { opacity: var(--tw-exit-opacity,1); transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0)); filter: blur(var(--tw-exit-blur,0)); }}--animate-accordion-down: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-accordion-up: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-down: collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-up: collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }to { height: 0; }}@keyframes collapsible-down { from { height: 0; }to { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }}@keyframes collapsible-up { from { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }to { height: 0; }}--animate-caret-blink: caret-blink 1.25s ease-out infinite; @keyframes caret-blink { 0%,70%,100% { opacity: 1; }20%,50% { opacity: 0; }}}@utility animation-duration-*{--tw-animation-duration: calc(--value(number)*1ms); --tw-animation-duration: --value(--animation-duration-*,[duration],"initial",[*]); animation-duration: calc(--value(number)*1ms); animation-duration: --value(--animation-duration-*,[duration],"initial",[*]);}@utility delay-*{animation-delay: calc(--value(number)*1ms); animation-delay: --value(--animation-delay-*,[duration],"initial",[*]); --tw-animation-delay: calc(--value(number)*1ms); --tw-animation-delay: --value(--animation-delay-*,[duration],"initial",[*]);}@utility repeat-*{animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]); --tw-animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]);}@utility direction-*{animation-direction: --value(--animation-direction-*,"initial",[*]); --tw-animation-direction: --value(--animation-direction-*,"initial",[*]);}@utility fill-mode-*{animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]); --tw-animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]);}@utility running{animation-play-state: running;}@utility paused{animation-play-state: paused;}@utility play-state-*{animation-play-state: --value("initial",[*]);}@utility blur-in{--tw-enter-blur: 20px;}@utility blur-in-*{--tw-enter-blur: calc(--value(number)*1px); --tw-enter-blur: --value(--blur-*,[*]);}@utility blur-out{--tw-exit-blur: 20px;}@utility blur-out-*{--tw-exit-blur: calc(--value(number)*1px); --tw-exit-blur: --value(--blur-*,[*]);}@utility fade-in{--tw-enter-opacity: 0;}@utility fade-in-*{--tw-enter-opacity: calc(--value(number)/100); --tw-enter-opacity: --value(--percentage-*,[*]);}@utility fade-out{--tw-exit-opacity: 0;}@utility fade-out-*{--tw-exit-opacity: calc(--value(number)/100); --tw-exit-opacity: --value(--percentage-*,[*]);}@utility zoom-in{--tw-enter-scale: 0;}@utility zoom-in-*{--tw-enter-scale: calc(--value(number)*1%); --tw-enter-scale: calc(--value(ratio)); --tw-enter-scale: --value(--percentage-*,[*]);}@utility -zoom-in-*{--tw-enter-scale: calc(--value(number)*-1%); --tw-enter-scale: calc(--value(ratio)*-1); --tw-enter-scale: --value(--percentage-*,[*]);}@utility zoom-out{--tw-exit-scale: 0;}@utility zoom-out-*{--tw-exit-scale: calc(--value(number)*1%); --tw-exit-scale: calc(--value(ratio)); --tw-exit-scale: --value(--percentage-*,[*]);}@utility -zoom-out-*{--tw-exit-scale: calc(--value(number)*-1%); --tw-exit-scale: calc(--value(ratio)*-1); --tw-exit-scale: --value(--percentage-*,[*]);}@utility spin-in{--tw-enter-rotate: 30deg;}@utility spin-in-*{--tw-enter-rotate: calc(--value(number)*1deg); --tw-enter-rotate: calc(--value(ratio)*360deg); --tw-enter-rotate: --value(--rotate-*,[*]);}@utility -spin-in{--tw-enter-rotate: -30deg;}@utility -spin-in-*{--tw-enter-rotate: calc(--value(number)*-1deg); --tw-enter-rotate: calc(--value(ratio)*-360deg); --tw-enter-rotate: --value(--rotate-*,[*]);}@utility spin-out{--tw-exit-rotate: 30deg;}@utility spin-out-*{--tw-exit-rotate: calc(--value(number)*1deg); --tw-exit-rotate: calc(--value(ratio)*360deg); --tw-exit-rotate: --value(--rotate-*,[*]);}@utility -spin-out{--tw-exit-rotate: -30deg;}@utility -spin-out-*{--tw-exit-rotate: calc(--value(number)*-1deg); --tw-exit-rotate: calc(--value(ratio)*-360deg); --tw-exit-rotate: --value(--rotate-*,[*]);}@utility slide-in-from-top{--tw-enter-translate-y: -100%;}@utility slide-in-from-top-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-y: calc(--value(ratio)*-100%); --tw-enter-translate-y: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-in-from-bottom{--tw-enter-translate-y: 100%;}@utility slide-in-from-bottom-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-y: calc(--value(ratio)*100%); --tw-enter-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-left{--tw-enter-translate-x: -100%;}@utility slide-in-from-left-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-in-from-right{--tw-enter-translate-x: 100%;}@utility slide-in-from-right-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-start{&:dir(ltr){ --tw-enter-translate-x: -100%; }&:dir(rtl){ --tw-enter-translate-x: 100%; }}@utility slide-in-from-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-in-from-end{&:dir(ltr){ --tw-enter-translate-x: 100%; }&:dir(rtl){ --tw-enter-translate-x: -100%; }}@utility slide-in-from-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }}@utility slide-out-to-top{--tw-exit-translate-y: -100%;}@utility slide-out-to-top-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-y: calc(--value(ratio)*-100%); --tw-exit-translate-y: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-out-to-bottom{--tw-exit-translate-y: 100%;}@utility slide-out-to-bottom-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-y: calc(--value(ratio)*100%); --tw-exit-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-left{--tw-exit-translate-x: -100%;}@utility slide-out-to-left-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-out-to-right{--tw-exit-translate-x: 100%;}@utility slide-out-to-right-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-start{&:dir(ltr){ --tw-exit-translate-x: -100%; }&:dir(rtl){ --tw-exit-translate-x: 100%; }}@utility slide-out-to-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-out-to-end{&:dir(ltr){ --tw-exit-translate-x: 100%; }&:dir(rtl){ --tw-exit-translate-x: -100%; }}@utility slide-out-to-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }}@theme inline{@keyframes accordion-down { from { height: 0; } to { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } } @keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } to { height: 0; } }}@custom-variant data-open{&:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) { @slot; }}@custom-variant data-closed{&:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) { @slot; }}@custom-variant data-checked{&:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) { @slot; }}@custom-variant data-unchecked{&:where([data-state="unchecked"]), &:where([data-unchecked]:not([data-unchecked="false"])) { @slot; }}@custom-variant data-selected{&:where([data-selected="true"]) { @slot; }}@custom-variant data-disabled{&:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) { @slot; }}@custom-variant data-active{&:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) { @slot; }}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]) { @slot; }}@custom-variant data-vertical{&:where([data-orientation="vertical"]) { @slot; }}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar { display: none; }}@custom-variant dark (&:is(.dark *));@theme inline{--color-background: var(--background); --color-foreground: var(--foreground); --font-sans: var(--font-lato); --font-mono: var(--font-fira-code); --color-sidebar-ring: var(--sidebar-ring); --color-sidebar-border: var(--sidebar-border); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar: var(--sidebar); --color-chart-5: var(--chart-5); --color-chart-4: var(--chart-4); --color-chart-3: var(--chart-3); --color-chart-2: var(--chart-2); --color-chart-1: var(--chart-1); --color-ring: var(--ring); --color-input: var(--input); --color-border: var(--border); --color-destructive: var(--destructive); --color-accent-foreground: var(--accent-foreground); --color-accent: var(--accent); --color-muted-foreground: var(--muted-foreground); --color-muted: var(--muted); --color-secondary-foreground: var(--secondary-foreground); --color-secondary: var(--secondary); --color-primary-foreground: var(--primary-foreground); --color-primary: var(--primary); --color-popover-foreground: var(--popover-foreground); --color-popover: var(--popover); --color-card-foreground: var(--card-foreground); --color-card: var(--card); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --radius-2xl: calc(var(--radius) + 8px); --radius-3xl: calc(var(--radius) + 12px); --radius-4xl: calc(var(--radius) + 16px);  --color-precisely-purple: var(--precisely-purple); --color-precisely-purple-light: var(--precisely-purple-light); --color-precisely-purple-xlight: var(--precisely-purple-xlight); --color-precisely-purple-dark: var(--precisely-purple-dark); --color-precisely-pink: #c52b92; --color-precisely-pink-light: #f787d1; --color-precisely-pink-xlight: #ffc9ed; --color-precisely-teal: #0081a1; --color-precisely-teal-light: #66dff3; --color-precisely-teal-xlight: #c1f6ff;  --color-grey-0: #fff; --color-grey-10: #f2f2f2; --color-grey-20: #dedede; --color-grey-30: #c4c4c4; --color-grey-40: #a3a3a3; --color-grey-50: #606060; --color-grey-60: #4d4d4d; --color-grey-70: #3e3e3e; --color-grey-80: #2e2e2e; --color-grey-90: #262626; --color-grey-100: #121212;  --color-status-success: #2f9301; --color-status-warning: #ffc709; --color-status-error: #ab0545; --color-status-info: #1b70d7;}:root{--radius:.375rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--precisely-purple:#5b1cb5;--precisely-purple-light:#ac72f9;--precisely-purple-xlight:#eadbff;--precisely-purple-dark:#2c0066;--background:#f2f2f2;--foreground:#121212;--card:#fff;--card-foreground:#121212;--popover:#fff;--popover-foreground:#121212;--primary:#5b1cb5;--primary-foreground:#fff;--secondary:#f2f2f2;--secondary-foreground:#121212;--muted:#f2f2f2;--muted-foreground:#606060;--accent:#eadbff;--accent-foreground:#2c0066;--destructive:#ab0545;--border:#dedede;--input:#dedede;--ring:#5b1cb5;--chart-1:#5b1cb5;--chart-2:#c52b92;--chart-3:#0081a1;--chart-4:#ac72f9;--chart-5:#66dff3;--sidebar:#fff;--sidebar-foreground:#121212;--sidebar-primary:#5b1cb5;--sidebar-primary-foreground:#fff;--sidebar-accent:#eadbff;--sidebar-accent-foreground:#2c0066;--sidebar-border:#dedede;--sidebar-ring:#5b1cb5}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--precisely-purple:#b88aef;--precisely-purple-light:#d4b5ff;--precisely-purple-xlight:#3d2066;--precisely-purple-dark:#d4b5ff;--background:#1e1e1e;--foreground:#f2f2f2;--card:#2a2a2a;--card-foreground:#f2f2f2;--popover:#2a2a2a;--popover-foreground:#f2f2f2;--primary:#ac72f9;--primary-foreground:#1e1e1e;--secondary:#2e2e2e;--secondary-foreground:#f2f2f2;--muted:#2e2e2e;--muted-foreground:#a3a3a3;--accent:#3d2066;--accent-foreground:#d4b5ff;--destructive:#cb0350;--border:#3e3e3e;--input:#3e3e3e;--ring:#ac72f9;--chart-1:#ac72f9;--chart-2:#f787d1;--chart-3:#66dff3;--chart-4:#5b1cb5;--chart-5:#0081a1;--sidebar:#1e1e1e;--sidebar-foreground:#f2f2f2;--sidebar-primary:#ac72f9;--sidebar-primary-foreground:#1e1e1e;--sidebar-accent:#3d2066;--sidebar-accent-foreground:#d4b5ff;--sidebar-border:#3e3e3e;--sidebar-ring:#ac72f9}[data-slot=dialog-overlay][data-slot=dialog-overlay]{background-color:color-mix(in oklch, var(--background) 70%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}[data-slot=dialog-footer][data-slot=dialog-footer]{background-color:#0000;border-radius:0;margin:0}.kt-section-node{box-sizing:border-box;pointer-events:all;border:2px solid;border-left-width:5px;border-radius:8px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:visible}.kt-section-violet{background:#8b5cf61a;border-color:#7c3aed8c;box-shadow:0 0 0 1px #7c3aed26,inset 0 0 40px #8b5cf60a}.kt-section-teal{background:#14b8a61a;border-color:#0d94888c;box-shadow:0 0 0 1px #0d948826,inset 0 0 40px #14b8a60a}.kt-section-amber{background:#f59e0b1a;border-color:#d977068c;box-shadow:0 0 0 1px #d9770626,inset 0 0 40px #f59e0b0a}.kt-section-rose{background:#f43f5e1a;border-color:#e11d488c;box-shadow:0 0 0 1px #e11d4826,inset 0 0 40px #f43f5e0a}.kt-section-sky{background:#0ea5e91a;border-color:#0284c78c;box-shadow:0 0 0 1px #0284c726,inset 0 0 40px #0ea5e90a}.kt-section-header{background:#ffffff59;border-bottom:1px solid #00000014;flex-shrink:0;align-items:center;gap:4px;padding:7px 10px 6px;display:flex}.kt-section-title{color:#1e1040;letter-spacing:.01em;cursor:text;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;flex:1;min-width:0;font-size:.8rem;font-weight:700;display:block;overflow:hidden}.kt-section-title-input{color:#1e1040;background:0 0;border:none;border-bottom:1.5px solid #7c3aed;outline:none;width:100%;padding:0;font-family:inherit;font-size:.8rem;font-weight:700}.kt-section-body{flex-direction:column;flex:1;gap:4px;min-height:0;padding:8px 10px 6px;display:flex}.kt-section-desc{color:#4a3f6b;word-break:break-word;white-space:pre-wrap;background:0 0;border:none;outline:none;flex:1;min-height:40px;font-family:inherit;font-size:.74rem;line-height:1.5;overflow-y:auto}.kt-section-desc:empty:before{content:attr(data-placeholder);color:#7864a066;pointer-events:none;font-style:italic}.kt-section-desc ul,.kt-section-desc ol{margin:2px 0;padding-left:18px}.kt-section-desc li{margin:1px 0}.kt-section-node.kt-section-resizing{background:#8b5cf60d!important;border-style:dashed!important}.kt-section-node.kt-section-resizing .kt-section-header{opacity:.55}.kt-section-node.kt-section-resizing .kt-section-body{opacity:.3}.kt-section-node.kt-section-resizing~.react-flow__resize-control.line,.kt-section-resizing .kt-resizer-line{border-style:dashed!important}.kt-note-node.kt-note-resizing{opacity:.55;outline-offset:2px;outline:2px dashed #503c1459}.kt-note-node.kt-note-resizing:before{display:none}.kt-resizer-line{opacity:0;transition:opacity .15s;border-color:#7c3aed4d!important}.kt-resizer-handle{opacity:0;transition:opacity .15s;background:#7c3aed!important;border-color:#fff!important;border-radius:2px!important;width:8px!important;height:8px!important}.react-flow__node-ktNote:hover .kt-resizer-handle,.react-flow__node-ktNote:hover .kt-resizer-line,.react-flow__node-ktNote.selected .kt-resizer-handle,.react-flow__node-ktNote.selected .kt-resizer-line,.react-flow__node-ktSection:hover .kt-resizer-handle,.react-flow__node-ktSection:hover .kt-resizer-line,.react-flow__node-ktSection.selected .kt-resizer-handle,.react-flow__node-ktSection.selected .kt-resizer-line{opacity:1}.kt-note-node{width:100%;min-width:120px;height:100%;min-height:80px;transform:rotate(var(--rot,0deg));pointer-events:all;box-sizing:border-box;border-radius:3px 3px 0;flex-direction:column;padding-bottom:26px;display:flex;position:relative;overflow:visible;box-shadow:3px 5px 14px #0000002e,0 1px 3px #0000001a}.kt-note-node:before{content:"";filter:drop-shadow(-2px -2px 4px #00000038);pointer-events:none;z-index:2;background:linear-gradient(135deg,#0000 44%,#5037141a 46%,#eee8d8 48%,#e2dbc8 100%);width:26px;height:26px;position:absolute;bottom:0;right:0}.kt-note-yellow{background:#fef08a}.kt-note-blue{background:#bae6fd}.kt-note-pink{background:#fda4af}.kt-note-green{background:#a7f3d0}.kt-note-textarea{color:#1e1a10;word-break:break-word;white-space:pre-wrap;background:0 0;border:none;outline:none;flex:1;padding:10px 12px 4px;font-family:Geist Mono,IBM Plex Mono,Courier New,monospace;font-size:.76rem;line-height:1.6;overflow-y:auto}.kt-note-textarea:empty:before{content:attr(data-placeholder);color:#503c1459;pointer-events:none;font-style:italic}.kt-note-textarea ul,.kt-note-textarea ol{margin:2px 0;padding-left:18px}.kt-note-textarea li{margin:1px 0}.kt-note-actions,.kt-section-actions{opacity:0;pointer-events:none;flex-shrink:0;align-items:center;gap:6px;padding:3px 10px 5px;transition:opacity .15s;display:flex}.kt-note-node:hover .kt-note-actions,.kt-note-node:focus-within .kt-note-actions,.kt-section-node:hover .kt-section-actions,.kt-section-node:focus-within .kt-section-actions{opacity:1;pointer-events:all}.kt-font-controls{align-items:center;gap:2px;display:flex}.kt-format-controls{border-left:1px solid #0000001f;align-items:center;gap:2px;margin-left:2px;padding-left:6px;display:flex}.kt-fmt-btn{min-width:22px;padding:2px 4px;font-size:.75rem}.kt-list-controls{border-left:1px solid #0000001f;align-items:center;gap:2px;margin-left:2px;padding-left:6px;display:flex}.kt-font-btn{color:#4a3f6b;cursor:pointer;background:#0000000f;border:1px solid #0000001a;border-radius:4px;justify-content:center;align-items:center;padding:1px 5px;line-height:1;transition:background .1s;display:flex}.kt-font-btn:hover:not(:disabled){background:#0000001f}.kt-font-btn:disabled{opacity:.35;cursor:not-allowed}.kt-font-a-small{font-family:inherit;font-size:.6rem;font-weight:700;line-height:1}.kt-font-a-large{font-family:inherit;font-size:.9rem;font-weight:700;line-height:1}.kt-paraphrase-btn{color:#7c3aed;cursor:pointer;background:#7c3aed12;border:1px solid #7c3aed33;border-radius:5px;flex-shrink:0;align-self:flex-start;align-items:center;gap:4px;margin:0;padding:3px 8px;font-size:.68rem;font-weight:500;transition:background .12s;display:flex}.kt-paraphrase-btn:hover:not(:disabled){background:#7c3aed24}.kt-paraphrase-btn:disabled{opacity:.45;cursor:not-allowed}.kt-selection-overlay{pointer-events:all;background:#1e1040;border:1px solid #8b5cf666;border-radius:10px;gap:8px;padding:6px 8px;display:flex;box-shadow:0 8px 24px #00000040}.kt-selection-overlay:after{content:"";border:6px solid #0000;border-top-color:#8b5cf666;position:absolute;top:100%;left:50%;transform:translate(-50%)}.kt-overlay-btn{color:#e2d9f3;cursor:pointer;white-space:nowrap;background:#ffffff12;border:1px solid #ffffff1f;border-radius:7px;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:600;transition:background .12s;display:flex}.kt-overlay-btn:hover{background:#ffffff26}.kt-toolbar{z-index:10;background:#1e1040;border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:12px;height:44px;padding:0 14px;display:flex;position:relative}.kt-toolbar-trigger-wrap{flex-shrink:0;position:relative}.kt-toolbar-badge{color:#a78bfa;letter-spacing:.08em;text-transform:uppercase;background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:5px;flex-shrink:0;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;font-weight:700;display:flex}.kt-toolbar-trigger{cursor:pointer;transition:background .12s,border-color .12s}.kt-toolbar-trigger:hover,.kt-toolbar-trigger-open{background:#8b5cf647;border-color:#8b5cf68c}.kt-dropdown{z-index:100;background:#1e1040;border:1px solid #8b5cf659;border-radius:10px;flex-direction:column;gap:2px;min-width:240px;padding:8px 6px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 32px #00000080}.kt-dropdown-section-label{color:#a78bfa8c;text-transform:uppercase;letter-spacing:.1em;padding:4px 10px 2px;font-size:.64rem;font-weight:700}.kt-dropdown-divider{background:#ffffff14;height:1px;margin:4px 6px}.kt-dropdown-row{align-items:center;gap:8px;padding-right:8px;display:flex}.kt-dropdown-swatches{align-items:center;gap:5px;margin-left:auto;display:flex}.kt-dropdown-action-btn{color:#e2d9f3;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:.8rem;font-weight:500;transition:background .12s;display:flex}.kt-dropdown-action-btn:hover:not(:disabled){background:#ffffff14}.kt-dropdown-action-btn:disabled{opacity:.4;cursor:not-allowed}.kt-dropdown-action-active{color:#a78bfa}.kt-dropdown-check{color:#a78bfa;margin-left:auto;font-size:.8rem}.kt-dropdown-add-btn{color:#c4b5fd;font-weight:600}.kt-dropdown-present-btn{color:#93c5fd}.kt-dropdown-export-btn{color:#6ee7b7}.kt-dropdown-hint{color:#b4a5d273;padding:4px 10px 2px;font-size:.68rem;font-style:italic;line-height:1.5}.kt-dropdown-hint-error{color:#f87171;font-style:normal}.kt-toolbar-color-group{flex-shrink:0;align-items:center;gap:5px;display:flex}.kt-toolbar-color-label{color:#c8b9e6b3;text-transform:uppercase;letter-spacing:.06em;margin-right:2px;font-size:.68rem;font-weight:600}.kt-toolbar-divider{background:#ffffff1f;flex-shrink:0;width:1px;height:20px}.kt-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:18px;height:18px;padding:0;transition:transform .12s,border-color .12s}.kt-color-swatch:hover{transform:scale(1.2)}.kt-color-swatch-active{transform:scale(1.15);border-color:#fff!important}.kt-color-swatch-violet{background:#7c3aed}.kt-color-swatch-teal{background:#0d9488}.kt-color-swatch-amber{background:#d97706}.kt-color-swatch-rose{background:#e11d48}.kt-color-swatch-sky{background:#0284c7}.kt-color-swatch-yellow{background:#f59e0b}.kt-color-swatch-blue{background:#3b82f6}.kt-color-swatch-pink{background:#ec4899}.kt-color-swatch-green{background:#10b981}.kt-toolbar-hint{color:#b4a5d28c;text-align:center;flex:1;font-size:.69rem;font-style:italic}.kt-add-btn{color:#c4b5fd;background:#8b5cf62e;border-color:#8b5cf666;align-items:center;gap:5px;font-weight:600;display:flex}.kt-add-btn:hover{background:#8b5cf647!important}.kt-toolbar-btn{color:#e2d9f3;cursor:pointer;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;flex-shrink:0;padding:5px 12px;font-size:.76rem;font-weight:500;transition:background .12s}.kt-toolbar-btn:hover{background:#ffffff24}.kt-exit-btn{color:#fca5a5;background:#ef444426;border-color:#ef44444d}.kt-exit-btn:hover{background:#ef444440}.kt-export-btn{color:#6ee7b7;background:#10b9811f;border-color:#10b9814d;align-items:center;gap:5px;display:flex}.kt-export-btn:hover:not(:disabled){background:#10b98138}.kt-export-btn:disabled{opacity:.5;cursor:not-allowed}.kt-color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.kt-color-dot-violet{background:#7c3aed}.kt-color-dot-teal{background:#0d9488}.kt-color-dot-amber{background:#d97706}.kt-color-dot-rose{background:#e11d48}.kt-color-dot-sky{background:#0284c7}.kt-color-dot-yellow{background:#f59e0b}.kt-color-dot-blue{background:#3b82f6}.kt-color-dot-pink{background:#ec4899}.kt-color-dot-green{background:#10b981}.kt-delete-btn{color:#0000004d;cursor:pointer;opacity:0;background:#ef444400;border:1px solid #0000001f;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:.9rem;line-height:1;transition:opacity .12s,background .12s,color .12s;display:flex}.kt-section-node:hover .kt-delete-btn,.kt-note-node:hover .kt-delete-btn{opacity:1}.kt-delete-btn:hover{color:#dc2626!important;background:#ef44441f!important;border-color:#ef44444d!important}.kt-note-delete-btn{z-index:2;background:#ffffff80;border-color:#0000001a;position:absolute;top:6px;right:6px}.kt-note-handle{opacity:0;transition:opacity .15s;background:#a78bfa!important;border:2px solid #fff!important;border-radius:50%!important;width:10px!important;height:10px!important}.kt-note-node:hover .kt-note-handle{opacity:1}.kt-nav-btn-active{color:#c4b5fd!important;background:#8b5cf640!important;border-color:#8b5cf680!important}.kt-present-btn{align-items:center;gap:5px;display:flex}.kt-present-btn:disabled{opacity:.4;cursor:not-allowed}.kt-navigator-panel{z-index:20;background:#1e1040;border:1px solid #8b5cf659;border-radius:10px;width:220px;position:absolute;top:12px;right:56px;overflow:hidden;box-shadow:0 8px 32px #0000004d}.kt-navigator-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:10px 12px 8px;display:flex}.kt-navigator-heading{color:#a78bfa;text-transform:uppercase;letter-spacing:.07em;font-size:.75rem;font-weight:700}.kt-navigator-close{color:#c8b9e680;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.1rem;line-height:1;transition:color .12s}.kt-navigator-close:hover{color:#e2d9f3}.kt-navigator-empty{color:#c8b9e673;text-align:center;padding:16px 12px;font-size:.72rem;font-style:italic;line-height:1.4}.kt-navigator-list{max-height:320px;padding:6px 0;overflow-y:auto}.kt-navigator-card{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 12px;transition:background .1s;display:flex}.kt-navigator-card:hover{background:#8b5cf61f}.kt-navigator-title{color:#e2d9f3;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.kt-presentation-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0a051ebf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.kt-presentation-card{background:#1e1040;border:1px solid #8b5cf666;border-radius:16px;width:min(560px,90vw);padding:0;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}.kt-presentation-color-bar{width:100%;height:6px}.kt-presentation-counter{color:#a78bfab3;letter-spacing:.06em;text-transform:uppercase;padding:16px 24px 0;font-size:.72rem;font-weight:600}.kt-presentation-title{color:#e2d9f3;margin:0;padding:10px 24px 0;font-size:1.5rem;font-weight:700;line-height:1.25}.kt-presentation-desc{color:#c8b9e6bf;margin:0;padding:10px 24px 0;font-size:.88rem;line-height:1.6}.kt-presentation-desc ul,.kt-presentation-desc ol{margin:4px 0;padding-left:22px}.kt-presentation-desc li{margin:2px 0}.kt-presentation-nav{justify-content:center;gap:8px;padding:20px 24px 24px;display:flex}.kt-presentation-nav-btn{color:#c4b5fd;cursor:pointer;background:#8b5cf62e;border:1px solid #8b5cf659;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;transition:background .12s;display:flex}.kt-presentation-nav-btn:hover:not(:disabled){background:#8b5cf652}.kt-presentation-nav-btn:disabled{opacity:.3;cursor:not-allowed}.kt-presentation-exit{color:#fca5a5;cursor:pointer;background:#ef444426;border:1px solid #ef44444d;border-radius:7px;padding:6px 14px;font-size:.76rem;font-weight:600;transition:background .12s;position:absolute;top:20px;right:20px}.kt-presentation-exit:hover{background:#ef444447}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{flex-direction:column;flex-shrink:0;width:260px;min-width:260px;height:100vh;transition:width .2s,min-width .2s;display:flex;position:relative;overflow:hidden}.sidebar.sidebar-resizing{-webkit-user-select:none;user-select:none;transition:none}.sidebar-resize-handle{cursor:col-resize;z-index:201;border-radius:3px;width:6px;height:100%;transition:background .12s;position:absolute;top:0;right:-3px}.sidebar-resize-handle:hover{background:#7c3aed2e}.sidebar-resizing .sidebar-resize-handle{background:#7c3aed40}.sidebar.sidebar-collapsed{width:56px;min-width:56px}.sidebar-brand{flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;padding:13px 12px;display:flex}.sidebar-logo{align-items:center;gap:9px;min-width:0;display:flex;overflow:hidden}.sidebar-toggle{background:var(--secondary);color:var(--secondary-foreground);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;line-height:0;transition:background .12s,color .12s;display:flex;border-radius:7px!important;padding:4px 5px!important}.sidebar-toggle:hover{background:var(--input)}.sidebar-nav{flex-direction:column;flex:1;padding:6px 0;display:flex;overflow:hidden auto}.sidebar-nav.sidebar-nav--flows-open{padding:0;overflow:hidden}.sidebar-nav-top{flex-direction:column;padding-top:6px;display:flex}.sidebar-nav--flows-open .sidebar-nav-top{flex:1;min-height:0;overflow:hidden}.sidebar-nav-bottom{flex-shrink:0}.sidebar-nav--flows-open .sidebar-nav-bottom{border-top:1px solid var(--border);padding-top:4px;padding-bottom:4px}.sidebar-nav-item{width:100%;color:var(--foreground);cursor:pointer;text-align:left;white-space:nowrap;outline:none;align-items:center;gap:10px;padding:9px 14px;font-size:.865rem;font-weight:500;transition:background .1s,color .1s;display:flex;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.sidebar-nav-item:hover:not(.disabled){background-color:var(--input)!important}.sidebar-nav-item:focus{outline:none!important}.sidebar-nav-item.active{background-color:var(--accent)!important}.sidebar-nav-item.disabled{color:var(--muted-foreground)}.sidebar-nav-icon{color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-nav-label{text-overflow:ellipsis;align-items:center;gap:5px;min-width:0;display:flex;overflow:hidden}.sidebar-external-icon{opacity:.45;align-items:center;display:flex}.sidebar-divider{height:1px;margin:2px 0}.sidebar-bottom{flex-shrink:0;padding:4px 0 8px}.main-area{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.app-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:52px;padding:0 20px;display:flex}.app-header-breadcrumb{flex-shrink:0;align-items:center;gap:4px;font-size:.85rem;display:flex}.breadcrumb-sep{align-items:center;display:flex}.breadcrumb-current{font-weight:600}.app-header-right{align-items:center;gap:10px;display:flex}.app-header-actions{align-items:center;gap:7px;display:flex}.header-chip{color:#3d2c5a;white-space:nowrap;background:#f3eeff;border:1px solid #ddd0f5;border-radius:7px;flex-shrink:0;align-items:center;gap:5px;padding:3px 9px;font-size:.78rem;display:inline-flex}.header-chip-label{text-transform:uppercase;letter-spacing:.04em;color:#7c3aed;flex-shrink:0;font-size:.7rem;font-weight:700}.header-btn{border-radius:8px!important;padding:5px 12px!important;font-size:.82rem!important;font-weight:600!important}.header-btn.primary{background:var(--primary);color:var(--primary-foreground)}.header-btn.save{transition:background .2s,opacity .2s;color:#fff!important;background:#0f766e!important;border-color:#0f766e!important}.header-btn.save:disabled{opacity:.45!important;cursor:not-allowed!important}.header-btn.save.save-success{background:#16a34a!important;border-color:#16a34a!important}.header-btn.delete{transition:background .2s,opacity .2s;color:#fff!important;background:#b91c1c!important;border-color:#b91c1c!important}.header-btn.delete:disabled{opacity:.45!important;cursor:not-allowed!important}.save-notification{z-index:100;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;font-size:.83rem;font-weight:500;display:flex}.save-notification-success{color:#166534;background:#dcfce7;border-color:#bbf7d0}.save-notification-error{color:#991b1b;background:#fee2e2;border-color:#fecaca}.save-notification-warning{color:#854d0e;background:#fef9c3;border-color:#fef08a}.save-notification-close{cursor:pointer;opacity:.6;color:inherit!important;background:0 0!important;border:none!important;padding:0 4px!important;font-size:1.1rem!important;line-height:1!important}.save-notification-close:hover{opacity:1}.version-select-chip{cursor:pointer;gap:5px}.version-select{appearance:none;font-family:var(--font-sans);color:#3d2c5a;cursor:pointer;background:0 0;border:none;outline:none;max-width:100px;padding:0;font-size:.78rem}.version-select:disabled{opacity:.5;cursor:default}.version-select-chip svg{color:#7c3aed;pointer-events:none;flex-shrink:0}.page-content{flex:1;min-height:0;padding:16px 18px;overflow:hidden auto}.page-content.page-content-designer{flex-direction:column;padding:10px;display:flex;overflow:hidden}.page-shell{flex-direction:column;gap:30px;display:flex}.home-hero{background:var(--card);border:1px solid #8017e124;border-radius:20px;grid-template-columns:1fr 360px;align-items:center;gap:40px;padding:44px 40px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 40px #8017e11a,0 2px 8px #0000000a}.hero-grid{pointer-events:none;z-index:0;background-image:radial-gradient(circle,#8017e117 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.hero-glow{pointer-events:none;filter:blur(80px);z-index:0;border-radius:50%;position:absolute}.hero-glow-1{background:radial-gradient(circle,#8017e11f 0%,#0000 70%);width:520px;height:520px;animation:12s ease-in-out infinite alternate heroGlow1;top:-55%;left:-8%}.hero-glow-2{background:radial-gradient(circle,#f100961a 0%,#0000 70%);width:360px;height:360px;animation:15s ease-in-out infinite alternate heroGlow2;bottom:-40%;right:5%}@keyframes heroGlow1{0%{transform:translate(0)}to{transform:translate(40px,-20px)}}@keyframes heroGlow2{0%{transform:translate(0)}to{transform:translate(-25px,20px)}}.hero-content{z-index:1;position:relative}.hero-badge{background:var(--primary);color:var(--primary-foreground);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;gap:7px;margin-bottom:20px;padding:4px 13px;font-size:.68rem;font-weight:700;display:inline-flex}.hero-badge:before{content:"";background:var(--primary-foreground);border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 8px #8017e199}.hero-title{letter-spacing:-.035em;margin:0 0 20px;font-size:clamp(2.4rem,4vw,3.4rem);font-weight:800;line-height:1.25}.hero-title-accent{color:var(--precisely-purple)}.hero-subtitle{max-width:400px;margin:0 0 30px;font-size:.97rem;line-height:1.65}.hero-actions{align-items:center;gap:12px;margin-bottom:28px;display:flex}.hero-btn-primary{background-color:var(--primary);color:var(--primary-foreground);border-radius:10px;align-items:center;gap:8px;padding:12px;display:inline-flex}.hero-btn-primary:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}.hero-btn-primary:focus{outline:2px solid var(--primary);outline-offset:3px}.hero-btn-icon{margin-top:-1px;font-size:1.3rem;font-weight:300;line-height:1}.hero-btn-secondary{background:var(--input);border-radius:10px;align-items:center;padding:12px;display:inline-flex}.hero-btn-secondary:hover{background-color:color-mix(in oklab, var(--input) 80%, transparent)}.hero-btn-secondary:focus{outline-offset:3px;outline:2px solid #8017e166}.hero-stats{align-items:center;gap:10px;font-size:.72rem;display:flex}.hero-stat-dot{background:#8017e159;border-radius:50%;flex-shrink:0;width:3px;height:3px}.hero-canvas-wrap{z-index:1;position:relative}.hero-canvas-label{letter-spacing:.12em;text-transform:uppercase;color:#5a427266;font-size:.65rem;font-weight:700;font-family:var(--font-mono);margin-bottom:8px}.hero-canvas-frame{background:#faf7ff;border:1px solid #8017e126;border-radius:14px;overflow:hidden;box-shadow:0 4px 20px #8017e114,inset 0 1px #fffc}.hero-flow-svg{width:100%;height:auto;display:block}.hero-edge{stroke-dasharray:5 4;animation:2s linear infinite flowEdge}.hero-edge-1{animation-delay:0s}.hero-edge-2{animation-delay:.5s}.hero-edge-3{animation-delay:1s}.hero-edge-4{animation-delay:1.5s}@keyframes flowEdge{0%{stroke-dashoffset:9px}to{stroke-dashoffset:0}}.hero-node-rect{animation:4s ease-in-out infinite nodePulse}.hero-node-g:first-child .hero-node-rect{animation-delay:0s}.hero-node-g:nth-child(2) .hero-node-rect{animation-delay:1s}.hero-node-g:nth-child(3) .hero-node-rect{animation-delay:2s}.hero-node-g:nth-child(4) .hero-node-rect{animation-delay:3s}@keyframes nodePulse{0%,to{opacity:1}50%{opacity:.78}}.home-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.home-step{background:var(--card);border-radius:14px;padding:20px;transition:border-color .2s,box-shadow .2s;position:relative}.home-step:hover{border-color:#8017e152;box-shadow:0 4px 22px #8017e112}.home-step-num{letter-spacing:.12em;opacity:.55;margin-bottom:10px}.home-step h3{margin:0 0 6px;font-size:.93rem;font-weight:700}.home-step p{margin:0;font-size:.83rem;line-height:1.55}.designer-topbar{background:#8017e1;border:1px solid #a275db8c;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;display:flex}.designer-brand h1{color:#fff;margin:2px 0 0;font-size:1rem;line-height:1.2}.designer-meta{color:#f2e8ff;flex-wrap:wrap;align-items:center;gap:10px;font-size:.84rem;display:flex}.designer-topbar button:not(.primary){color:#fff;background:#ffffff24;border-color:#ffffff61}.designer-topbar button.primary{color:#8017e1;background:#fff;border-color:#fff}.page-shell.designer{flex:1;min-height:0;overflow:hidden}.page-shell.designer>.canvas-layout{flex:1;min-height:0}h1{margin:0;font-size:1.8rem}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.panel-grid-with-json{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.panel-grid-single{grid-template-columns:minmax(0,1fr)}.panel-grid-wide{grid-template-columns:1.1fr .9fr}.canvas-layout{grid-template-columns:1fr;gap:10px;min-height:0;display:grid;position:relative}.panel{border-radius:14px;padding:12px;box-shadow:0 6px 14px #411c6614}.panel h2{margin:0 0 12px;font-size:1.05rem}.panel h3{margin:14px 0 8px;font-size:.92rem}.hint{color:var(--muted-foreground);font-size:.85rem;line-height:1.4}label,fieldset{gap:8px;margin-bottom:12px;font-size:.9rem;display:grid}fieldset{border:1px solid var(--surface-stroke);border-radius:10px;padding:10px}legend{padding:0 6px}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--border);resize:vertical;box-sizing:border-box;border-radius:10px;width:100%;padding:10px 11px}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-purple-500);outline-offset:1px}button.primary{background:var(--primary);color:var(--primary-foreground);border-radius:10px;padding:6px 10px}button:disabled{opacity:.62;cursor:not-allowed}.check-grid{gap:8px;display:grid}.checkbox-row{align-items:center;gap:8px;margin:0;display:flex}.checkbox-row input{width:16px;height:16px}.inline-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.operator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.canvas-panel{background:var(--card);flex-direction:column;min-height:0;display:flex}.canvas-panel-full{min-width:0}.canvas-toolbar-actions{align-items:center;gap:6px;display:flex}.canvas-toolbar-left{align-items:center;gap:8px;min-width:0;display:flex}.operator-add-controls{align-items:center;gap:5px;display:flex}.operator-add-controls select{min-width:124px;padding:5px 7px;font-size:.82rem}.operator-add-controls button{padding:5px 8px;font-size:.82rem}.canvas-toolbar h2{margin:0;font-size:.95rem;line-height:1}.canvas-toolbar{background:var(--background);border:1px solid var(--background);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px;display:flex}.canvas-toolbar-actions button{border-radius:8px;padding:5px 8px;font-size:.8rem}.canvas-toolbar-actions .hint{font-size:.78rem}button.danger{color:#9b1f33;background:#fff1f3;border-color:#f5bac3;border-radius:10px;padding:6px 10px}.canvas-frame{border-radius:12px;flex:1;min-height:460px;overflow:hidden}.side-panel{flex-direction:column;min-width:0;display:flex;overflow:hidden}.inspector-scroll-body{scrollbar-width:thin;flex:1;min-height:0;padding-bottom:4px;overflow-y:auto}.inspector-scroll-body::-webkit-scrollbar{width:5px}.inspector-scroll-body::-webkit-scrollbar-track{background:0 0}.inspector-scroll-body::-webkit-scrollbar-thumb{border-radius:10px}.side-panel-active{background-color:var(--card)}.inspector-panel-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.inspector-panel-header h2{margin:0}.inspector-form{gap:8px;display:grid}.inspector-form label{min-width:0}.inspector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.field-half{grid-column:span 1}.field-full{grid-column:1/-1}.hint-block{background:var(--background);border-radius:10px;gap:8px;padding:10px;display:grid}.hint-block h3{margin:0}.curl-import-input{box-sizing:border-box;width:100%;font-family:var(--font-mono,monospace);border:1px solid var(--surface-stroke);color:var(--ink-primary);resize:vertical;background:#fff;border-radius:7px;min-height:72px;padding:7px 9px;font-size:.72rem;line-height:1.5}.curl-import-input:focus{border-color:var(--brand-purple-400,#a855f7);outline:none;box-shadow:0 0 0 2px #7c3aed1f}.curl-import-input:disabled{opacity:.6}.curl-import-btn{color:#fff;cursor:pointer;font-size:.75rem;font-weight:700;font-family:var(--font-sans);white-space:nowrap;background:linear-gradient(135deg,#7c3aed,#9b44f5);border:none;border-radius:7px;align-self:flex-start;align-items:center;gap:5px;padding:5px 12px;transition:opacity .15s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 8px #7c3aed47}.curl-import-btn:hover:not(:disabled){opacity:.9;box-shadow:0 3px 12px #7c3aed61}.curl-import-btn:disabled{opacity:.45;cursor:not-allowed}.curl-import-progress{color:var(--ink-muted);word-break:break-word;font-size:.72rem;font-style:italic}.curl-import-error{color:#c0392b;word-break:break-word;white-space:pre-wrap;background:#fff5f5;border:1px solid #f5c6cb;border-radius:6px;padding:6px 8px;font-size:.72rem}.curl-import-success{color:#1a7f4b;background:#f0faf5;border:1px solid #b7dfc8;border-radius:6px;padding:6px 8px;font-size:.72rem}.jsonata-assist{gap:6px;margin-top:6px;display:grid}.jsonata-assist .hint-field select,.jsonata-assist .hint-field input{padding:8px 9px;font-size:.82rem}.hint-field{gap:6px;min-width:0;margin:0;font-size:.84rem}.inspector-form textarea,.inspector-form input,.inspector-form select{min-width:0}.code-textarea{white-space:pre;tab-size:2;line-height:1.6;overflow-x:auto;background:var(--background)!important;border-color:var(--border)!important;font-family:IBM Plex Mono,Fira Mono,Cascadia Code,monospace!important;font-size:.8rem!important}.code-textarea:focus{background:#f3eeff!important}.inspector-form textarea{overflow-wrap:anywhere;word-break:break-word}.inspector-field-label-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.expand-field-btn{border:1px solid var(--surface-stroke);background:var(--surface-bg,#f8fbfe);color:var(--brand-purple-500,#8017e1);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:500;line-height:1.6;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.expand-field-btn:hover{background:var(--brand-purple-50,#f3e8ff);border-color:var(--brand-purple-500,#8017e1);color:var(--brand-purple-700,#5b0fa3)}.expand-field-btn:focus{outline:2px solid var(--brand-purple-500,#8017e1);outline-offset:1px}.field-expand-modal{flex-direction:column;gap:0;width:min(1100px,96vw);height:min(720px,88vh);padding:0;display:flex;overflow:hidden}.field-expand-modal .modal-header{border-bottom:1px solid var(--surface-stroke);flex-shrink:0;padding:14px 16px 12px}.field-expand-title{align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;display:flex}.field-expand-operator-badge{background:var(--brand-purple-50,#f3e8ff);border:1px solid var(--brand-purple-200,#c984f7);color:var(--brand-purple-700,#5b0fa3);letter-spacing:.03em;text-transform:uppercase;border-radius:5px;padding:2px 9px;font-size:.75rem;font-weight:600;display:inline-block}.field-expand-body{flex-direction:column;flex:1;min-height:0;padding:12px 16px;display:flex}.field-expand-textarea{resize:none;border:1px solid var(--surface-stroke-strong);width:100%;height:100%;color:var(--ink-primary);overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;tab-size:2;background:#fafbff;border-radius:10px;flex:1;padding:12px 14px;font-size:.88rem;line-height:1.6;overflow:auto;font-family:IBM Plex Mono,Fira Mono,Cascadia Code,monospace!important}.field-expand-textarea:focus{outline:2px solid var(--brand-purple-500,#8017e1);border-color:var(--brand-purple-500,#8017e1)}.field-expand-footer{border-top:1px solid var(--surface-stroke);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px 14px;display:flex}.field-expand-footer .hint{margin:0;font-size:.8rem}.field-expand-footer kbd{border:1px solid var(--surface-stroke-strong);background:var(--surface-bg,#f8fbfe);color:var(--ink-secondary);border-radius:4px;padding:1px 5px;font-family:inherit;font-size:.75rem;display:inline-block}.field-row{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.operator-card{border:1px solid var(--surface-stroke-strong);border-left:4px solid var(--brand-purple-700);background:var(--surface-card);box-sizing:border-box;border-radius:10px;flex-direction:column;justify-content:center;min-width:210px;max-width:260px;height:72px;padding:9px 11px;transition:box-shadow .12s,border-color .12s;display:flex;overflow:hidden;box-shadow:0 3px 10px #5029791a}.operator-card.selected{background:#ede4ff;border-color:#6d28d9;box-shadow:0 0 0 4px #6d28d973,0 8px 20px #49217b59}.operator-card.predicate{border-left-color:var(--brand-amber-500)}.operator-card.terminal{border-left-color:var(--brand-green-500)}.operator-header{gap:6px;display:grid}.operator-pill-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.operator-pill{color:var(--brand-purple-700);text-transform:uppercase;font-size:.7rem;font-weight:800}.operator-title{color:var(--ink-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.83rem;overflow:hidden}.operator-icon-node{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:0;display:flex}.operator-icon-box{background:var(--surface-card);border:2px solid var(--brand-purple-700);border-radius:12px;justify-content:center;align-items:center;width:60px;height:60px;transition:box-shadow .12s,border-color .12s;display:flex;box-shadow:0 3px 10px #5029791f}.operator-icon-box.selected{background:#ede4ff;border-color:#6d28d9;box-shadow:0 0 0 4px #6d28d973,0 8px 20px #49217b59}.operator-icon-box.predicate{border-color:var(--brand-amber-500)}.operator-icon-box.terminal{border-color:var(--brand-green-500)}.operator-icon-img{object-fit:contain;pointer-events:none;width:36px;height:36px}.operator-icon-label{text-align:center;white-space:normal;word-break:break-word;max-width:120px;margin-top:6px;font-size:.65rem;font-weight:600}.operator-open-tag{letter-spacing:.04em;color:#fff;background:#8017e1;border-radius:999px;padding:2px 6px;font-size:.64rem;font-weight:800}.action-row{gap:8px;margin-bottom:12px;display:flex}.action-row.compact{margin-bottom:10px}.action-row.compact button{width:100%}pre{border:1px solid var(--surface-stroke);color:var(--ink-secondary);white-space:pre-wrap;word-break:break-word;background:#f9f4ff;border-radius:10px;max-height:180px;margin:0;padding:10px;overflow:auto}.error-text{color:#b52f2f;font-size:.85rem}.active-operator-badge{color:#4f0e94;background:#f3e7ff;border-radius:999px;margin:0 0 10px;padding:6px 10px;font-size:.82rem;font-weight:700;display:inline-block}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:30;background:#1a102c70;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-card{background:var(--card);border:1px solid var(--border);border-radius:14px;gap:10px;width:min(960px,96vw);max-height:90vh;padding:14px;display:grid;overflow:auto;box-shadow:0 18px 44px #22143a52}.modal-card-wide{width:min(1200px,98vw)}.modal-card-json{flex-direction:column;min-height:82vh;display:flex}.modal-card-json .modal-header{flex-shrink:0}.json-panel{border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:1;gap:0;min-height:0;display:flex;overflow:hidden}.json-panel-toolbar{background:var(--border);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;display:flex}.json-panel-toolbar-label{letter-spacing:.04em;text-transform:uppercase;flex:1;font-size:.7rem;font-weight:500}.json-panel-btn{font-family:var(--font-sans);border:1px solid var(--surface-stroke-strong);color:var(--ink-secondary);cursor:pointer;letter-spacing:.01em;background:#fff;border-radius:20px;align-items:center;gap:5px;padding:4px 11px;font-size:.72rem;font-weight:600;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.json-panel-btn:hover{background:var(--brand-purple-700);color:#fff;border-color:var(--brand-purple-700);box-shadow:0 2px 8px #8017e140}.json-panel-btn.copied{background:var(--brand-green-500);color:#fff;border-color:var(--brand-green-500)}.json-panel-body{background:var(--background);scrollbar-width:thin;flex:1;min-height:0;padding:16px 20px;overflow-y:auto}.json-panel-body::-webkit-scrollbar{width:6px}.json-panel-body::-webkit-scrollbar-thumb{background:var(--surface-stroke-strong);border-radius:3px}.json-raw{font-family:var(--font-mono);color:var(--ink-primary);white-space:pre;margin:0;font-size:.8rem;line-height:1.7}.json-tree{white-space:pre-wrap;word-break:break-all;font-size:.8rem;line-height:1.7}.jt-block{display:inline}.jt-children{border-left:1.5px solid #8017e124;margin-left:4px;padding-left:1.5em}.jt-row{border-radius:3px;margin:0 -3px;padding:0 3px;transition:background 80ms;display:block}.jt-row:hover{background:color-mix(in oklab, var(--card) 80%, transparent)}.jt-toggle{width:16px;height:16px;color:var(--precisely-purple-light);cursor:pointer;vertical-align:middle;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin-right:2px;padding:0;font-size:.5rem;line-height:1;transition:color .1s,background .1s;display:inline-flex}.jt-toggle:hover{background:var(--precisely-purple-xlight)}.jt-summary{color:var(--brand-lilac-200);cursor:pointer;letter-spacing:.01em;vertical-align:middle;background:#8017e114;border:1px solid #8017e12e;border-radius:20px;margin:0 2px;padding:0 7px;font-size:.7rem;font-weight:600;transition:background .1s,color .1s;display:inline-block}.jt-summary:hover{background:var(--brand-purple-700);color:#fff;border-color:var(--brand-purple-700)}.jt-key{color:var(--precisely-purple);font-weight:500}.jt-string{color:var(--chart-5)}.jt-number{color:var(--brand-amber-500)}.jt-bool{color:var(--destructive);font-weight:500}.jt-null{color:var(--chart-1);font-style:italic}.jt-bracket{color:var(--precisely-purple-light)}.jt-punct{color:#b09fca}.jt-match{color:inherit;background:#ffd50059;border-radius:2px}.jt-match-current{color:#1a1a1a;background:#ffa000b3;border-radius:2px;outline:1.5px solid #c8780099}.json-search-bar{border-bottom:1px solid var(--surface-stroke);background:#f7f4ff;flex-shrink:0;align-items:center;gap:4px;padding:6px 10px;display:flex}.json-search-input{min-width:0;font-family:var(--font-mono);border:1px solid var(--surface-stroke-strong);color:var(--ink-primary);background:#fff;border-radius:6px;outline:none;flex:1;padding:4px 8px;font-size:.78rem;transition:border-color .12s,box-shadow .12s}.json-search-input:focus{border-color:var(--brand-purple-700);box-shadow:0 0 0 2px #8017e126}.json-search-input.no-match{background:#fff5f5;border-color:#d9534f}.json-search-count{font-family:var(--font-mono);color:var(--ink-muted);white-space:nowrap;text-align:center;min-width:62px;font-size:.72rem}.json-search-nav{border:1px solid var(--surface-stroke-strong);width:24px;height:24px;color:var(--ink-secondary);cursor:pointer;background:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.json-search-nav:hover:not(:disabled){background:var(--brand-purple-700);color:#fff;border-color:var(--brand-purple-700)}.json-search-nav:disabled{opacity:.35;cursor:default}.json-search-close{color:var(--ink-muted);font-size:.65rem}.modal-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.modal-header h2{margin:0}.modal-body{gap:10px;display:grid}.hint-error{color:#dc2626;margin:0;font-size:.78rem}.exec-request-panel{border:1px solid var(--border);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.exec-request-toolbar{background:var(--border);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;display:flex}.exec-request-textarea{color:var(--foreground);background:var(--background);resize:vertical;scrollbar-width:thin;scrollbar-color:var(--border) transparent;border:none;outline:none;width:100%;min-height:140px;padding:14px 16px;font-size:.8rem;line-height:1.7}.exec-request-textarea:focus{outline:none}.modal-body .json-panel-body{min-height:140px;max-height:38vh}.json-placeholder{font-family:var(--font-mono);color:#b09fca;font-size:.8rem;font-style:italic}.debug-unreachable-banner{color:#854d0e;background:#fef9c3;border:1px solid #fef08a;border-radius:6px;margin-bottom:8px;padding:8px 12px;font-size:.85rem;line-height:1.4}.curl-warning-overlay{z-index:1100}.curl-warning-card{width:100%;max-width:440px}.curl-warning-text{color:var(--text-secondary,#c9b8e8);margin:0 0 8px;font-size:.9rem;line-height:1.5}.curl-warning-placeholder{font-family:var(--font-mono);color:#f59e0b;word-break:break-all;background:#1e1a2e;border:1px solid #3d3460;border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:.8rem;display:block}.validation-issues{border:1px solid var(--surface-stroke);background:#fcf9ff;border-radius:10px;gap:8px;padding:10px;display:grid}.validation-issues h3{margin:0;font-size:.92rem}.issue-list{flex-wrap:wrap;gap:6px;display:flex}.issue-list button{border-radius:999px;padding:5px 8px;font-size:.78rem}.react-flow__controls{border:1px solid var(--surface-stroke);border-radius:10px;overflow:hidden;box-shadow:0 4px 10px #5a268f24}.react-flow__controls-button{border-bottom:1px solid var(--surface-stroke);color:var(--ink-secondary);background:#fff}.react-flow__controls-button:hover{background:#f8f1ff}@media (width<=1240px){.canvas-layout{grid-template-columns:1fr!important}.canvas-frame{height:62vh;min-height:480px}}@media (width<=980px){.home-hero{grid-template-columns:1fr;padding:32px 24px}.hero-canvas-wrap{display:none}.home-steps{grid-template-columns:1fr}.designer-topbar{flex-direction:column;align-items:flex-start}.panel-grid,.panel-grid-wide,.inline-fields{grid-template-columns:1fr}.page-shell{width:min(100%,96vw);margin:12px auto 20px}.canvas-frame{height:58vh;min-height:430px}.inspector-grid{grid-template-columns:1fr}.field-half,.field-full{grid-column:1}.operator-add-controls{flex-direction:row;align-items:center}.operator-add-controls select{width:auto;min-width:120px}.modal-card{width:min(100%,98vw);max-height:94vh;padding:12px}.modal-card-wide{width:min(100%,99vw)}}.flows-section{flex-direction:column;min-height:0;display:flex}.sidebar-nav--flows-open .flows-section{flex:1;overflow:hidden}.flows-toggle{align-items:center;gap:10px;width:100%;display:flex!important}.flows-count{color:#7c3aed;background:#ede9f4;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:.7rem;font-weight:700;line-height:1.6}.flows-toggle.flows-open .flows-count{background:#ddd0f5}.flows-chevron{color:#b3a8c8;flex-shrink:0;align-items:center;transition:transform .18s;display:flex}.flows-chevron.open{transform:rotate(180deg)}.flows-toggle.flows-open{background:var(--accent)!important}.flows-panel{background:var(--card);border-top:1px solid var(--border);border-bottom:none;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.flows-toolbar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;padding:7px 10px 6px;display:flex}.flows-filter{flex:1;min-width:0;color:var(--ink-primary)!important;background:#fff!important;border:1px solid #ddd0f5!important;border-radius:7px!important;width:auto!important;padding:5px 8px!important;font-size:.78rem!important}.flows-filter:focus{outline-offset:0px!important;outline:2px solid #7c3aed!important}.flows-refresh{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .1s;display:flex;color:#7a6a96!important;box-shadow:none!important;background:#fff!important;border:1px solid #ddd0f5!important;border-radius:7px!important;padding:5px 6px!important}.flows-refresh:hover:not(:disabled){color:#3b1a6e!important;background:#ede9f4!important}.flows-refresh:disabled{opacity:.5;cursor:default}.flows-refresh.spinning svg{transform-origin:50%;animation:.7s linear infinite spin}.flows-state{color:var(--ink-muted);flex-shrink:0;align-items:center;gap:6px;padding:10px 12px;font-size:.77rem;display:flex}.flows-state-error{color:#9f1239;word-break:break-word;white-space:normal;background:#fff1f2;border-bottom:1px solid #fecdd3;line-height:1.4}.flows-list{flex:1;min-height:0;padding:4px 0;overflow:hidden auto}.flows-tag-group{border-top:1px solid var(--border)}.flows-tag-group.flows-tag-group-first{border-top:none}.flows-tag-header{cursor:pointer;text-transform:uppercase;letter-spacing:.06em;text-align:left;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:5px;width:100%;padding:4px 10px 4px 8px;font-size:.67rem;font-weight:700;transition:background .1s,color .1s;display:flex;box-shadow:none!important}.flows-tag-header:hover{background:var(--background);color:var(--foreground)}.flows-tag-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.flows-tag-count{color:#7c3aed;background:#ede9f4;border-radius:999px;flex-shrink:0;padding:0 5px;font-size:.65rem;font-weight:700;line-height:1.6}.flows-tag-chevron{color:#b3a8c8;flex-shrink:0;align-items:center;transition:transform .15s;display:flex;transform:rotate(-90deg)}.flows-tag-chevron.open{transform:rotate(0)}.flows-tag-items{padding-left:6px}.flows-item{cursor:pointer;min-width:0;transition:background 80ms;text-align:left!important;width:100%!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;align-items:center!important;gap:7px!important;padding:6px 12px 6px 14px!important;font-size:.78rem!important;font-weight:500!important;display:flex!important}.flows-item.active{background:var(--background)!important;color:var(--foreground)!important;font-weight:700!important}.flows-item:hover{background:var(--background)!important;color:var(--foreground)!important}.flows-item-icon{flex-shrink:0;align-items:center;display:flex}.flows-item-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.flows-item.opening{cursor:wait;color:#7c3aed!important;background:#f3eeff!important}.flows-item.opening .flows-item-icon{color:#7c3aed}.flows-item.open-error{color:#9f1239!important;background:#fff1f2!important}.flows-item:disabled{opacity:.6;cursor:default}.flows-item-row{align-items:stretch;display:flex;position:relative}.flows-item-row .flows-item{flex:1;min-width:0;padding-right:28px!important}.flows-item-dots{letter-spacing:-1px;cursor:pointer;opacity:0;z-index:1;justify-content:center;align-items:center;width:22px;height:22px;font-size:1rem;line-height:1;transition:opacity 80ms,background 80ms;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%);color:#9b77cc!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:6px!important;padding:0!important}.flows-item-row:hover .flows-item-dots,.flows-item-dots.active{opacity:1}.flows-item-dots:hover,.flows-item-dots.active{color:#5b21b6!important;background:#ddd0f5!important}.flows-menu-backdrop{z-index:99;position:fixed;inset:0}.flows-item-dropdown{z-index:100;background:var(--background);border:1px solid var(--border);border-radius:10px;min-width:180px;padding:4px;position:absolute;top:calc(100% + 2px);right:0;overflow:hidden}.flows-item-dropdown-option{cursor:pointer;transition:background 80ms;text-align:left!important;width:100%!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:7px!important;align-items:center!important;gap:8px!important;padding:7px 10px!important;font-size:.8rem!important;font-weight:600!important;display:flex!important}.flows-item-dropdown-option.delete{color:#b91c1c!important}.flows-item-dropdown-option.delete:hover{background:#fff1f2!important}.flows-item-dropdown-icon{flex-shrink:0;font-size:.9rem}.flows-item-dropdown-count{color:#9f1239;background:#fecdd3;border-radius:5px;margin-left:auto;padding:1px 6px;font-size:.72rem;font-weight:700}.copy-modal-overlay{z-index:2000;background:#1e143273;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.copy-modal{background:#fff;border-radius:14px;flex-direction:column;width:460px;max-width:calc(100vw - 40px);display:flex;overflow:hidden;box-shadow:0 8px 40px #5028a02e}.copy-modal-header{border-bottom:1px solid #ede9f4;align-items:center;padding:16px 18px 14px;display:flex}.copy-modal-title{color:#2d1a5e;letter-spacing:-.01em;flex:1;font-size:1rem;font-weight:700}.copy-modal-close{cursor:pointer;color:#9b87b3;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:1rem;line-height:1;transition:color .1s,background .1s;box-shadow:none!important}.copy-modal-close:hover{color:#7c3aed;background:#f3eeff}.copy-modal-body{flex-direction:column;gap:10px;padding:16px 18px;display:flex}.copy-modal-section-label{text-transform:uppercase;letter-spacing:.06em;color:#9b87b3;margin-bottom:2px;font-size:.68rem;font-weight:700}.copy-modal-field{flex-direction:column;gap:4px;display:flex}.copy-modal-label{color:#5a4a7a;font-size:.75rem;font-weight:600}.copy-modal-input,.copy-modal-select{color:#2d1a5e;box-sizing:border-box;background:#fff;border:1px solid #ddd0f5;border-radius:7px;outline:none;width:100%;padding:6px 9px;font-size:.82rem;transition:border-color .12s,box-shadow .12s}.copy-modal-input:focus,.copy-modal-select:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.copy-modal-input:disabled,.copy-modal-select:disabled{opacity:.55;cursor:not-allowed}.copy-modal-row{align-items:flex-end;gap:8px;display:flex}.copy-modal-divider{background:#ede9f4;height:1px;margin:2px 0}.copy-modal-preview{color:#7a6a96;background:#f3eeff;border-radius:6px;padding:6px 10px;font-size:.75rem}.copy-modal-preview strong{color:#5b21b6;font-family:monospace}.copy-modal-error{color:#b91c1c;background:#fff1f2;border-radius:6px;padding:7px 10px;font-size:.78rem}.copy-modal-footer{border-top:1px solid #ede9f4;justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px 16px;display:flex}.copy-modal-btn{cursor:pointer;border:none;border-radius:8px;padding:7px 16px;font-size:.82rem;font-weight:600;transition:background .1s,color .1s,opacity .1s;box-shadow:none!important}.copy-modal-btn:disabled{opacity:.45;cursor:not-allowed}.copy-modal-btn-ghost{color:#7a6a96;background:0 0}.copy-modal-btn-ghost:hover:not(:disabled){color:#5b21b6;background:#f3eeff}.copy-modal-btn-outline{color:#7c3aed;background:#fff;border:1px solid #c4b5fd}.copy-modal-btn-outline:hover:not(:disabled){background:#f3eeff}.copy-modal-btn-primary{color:#fff;background:#7c3aed}.copy-modal-btn-primary:hover:not(:disabled){background:#6d28d9}.account-btn{cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;transition:background .12s,border-color .12s,color .12s;display:flex;position:relative;color:#5b3fa0!important;box-shadow:none!important;background:#f7f5fc!important;border:1.5px solid #ddd0f5!important;border-radius:50%!important;padding:0!important}.account-btn:hover{color:#3b1a6e!important;background:#ede9f4!important;border-color:#b89fe0!important}.account-btn-connected{color:#166534!important;background:#f0fdf4!important;border-color:#86efac!important}.account-btn-connected:hover{background:#dcfce7!important}.account-btn-dot{background:#22c55e;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:0;right:0}.sso-user-chip{text-overflow:ellipsis;white-space:nowrap;color:#6b7280;cursor:default;-webkit-user-select:none;user-select:none;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;align-items:center;max-width:200px;padding:2px 10px;font-size:11px;display:inline-flex;overflow:hidden}.sso-session-row{justify-content:space-between;align-items:center;gap:12px;padding:10px 0 6px;display:flex}.sso-session-info{flex-direction:column;gap:2px;min-width:0;display:flex}.sso-session-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.sso-session-email{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.sso-logout-btn{color:#6b7280;background:0 0;border:1px solid #e5e7eb;border-radius:6px;flex-shrink:0;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.sso-logout-btn:hover{color:#ef4444;background:#fef2f2;border-color:#fca5a5}.account-modal-card{gap:0!important;width:min(420px,96vw)!important;padding:0!important;overflow:hidden!important}.account-modal-header{border-bottom:1px solid var(--surface-stroke);align-items:center;gap:12px;padding:18px 18px 14px;display:flex}.account-modal-icon-wrap{color:#7c3aed;background:linear-gradient(135deg,#f3eeff,#e9d8ff);border:1.5px solid #ddd0f5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.account-modal-title-block{flex:1;min-width:0}.account-modal-title{color:var(--ink-primary);margin:0;font-size:1rem;font-weight:700}.account-modal-subtitle{color:var(--ink-muted);margin:2px 0 0;font-size:.8rem}.account-modal-close{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex;border:1px solid var(--border)!important;background:0 0!important;border-radius:8px!important;padding:5px!important}.account-status-badge{border-bottom:1px solid var(--surface-stroke);align-items:center;gap:7px;padding:8px 18px;font-size:.8rem;font-weight:600;display:flex}.account-status-badge.connected{color:#15803d;background:#f0fdf4}.account-status-badge.disconnected{color:#92400e;background:#fefce8}.account-modal-body{gap:12px;padding:16px 18px 18px;display:grid}.account-field-label{gap:7px!important;margin:0!important;display:grid!important}.account-key-input-wrap{background:#f8fbfe;border-radius:10px;align-items:center;gap:0;display:flex;overflow:hidden}.account-key-input{flex:1;min-width:0;width:auto!important;padding:9px 11px!important;font-size:.82rem!important}.account-key-input:focus{outline:none!important}.account-key-toggle{cursor:pointer;flex-shrink:0;align-items:center;height:38px;display:flex;border:none!important;border-left:1px solid var(--surface-stroke)!important;color:var(--ink-muted)!important;box-shadow:none!important;background:0 0!important;border-radius:0!important;padding:0 10px!important}.account-key-toggle:hover{background:var(--surface-stroke)!important;color:var(--ink-primary)!important}.account-feedback{border-radius:8px;align-items:flex-start;gap:7px;padding:9px 11px;font-size:.82rem;line-height:1.4;display:flex}.account-feedback.success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.account-feedback.error{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3}.account-feedback svg{flex-shrink:0;margin-top:1px}.account-modal-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-validate-btn{align-items:center;gap:6px;display:flex}.account-clear-btn{color:#9b1f33!important;background:#fff1f2!important;border-color:#fecdd3!important}.account-clear-btn:hover{background:#fecdd3!important}@keyframes spin{to{transform:rotate(360deg)}}.spinner-icon{transform-origin:50%;animation:.8s linear infinite spin}.delete-confirm-modal{gap:0!important;width:min(420px,96vw)!important;padding:0!important;overflow:hidden!important}.delete-confirm-header{border-bottom:1px solid var(--border);background:var(--card);align-items:center;gap:10px;padding:18px 24px 14px;display:flex}.delete-confirm-icon{font-size:1.4rem;line-height:1}.delete-confirm-title{margin:0;font-size:1rem;font-weight:700}.delete-confirm-desc{margin:0;padding:14px 18px 0;font-size:.85rem;line-height:1.55}.delete-confirm-form{gap:12px;padding:14px 18px 18px;display:grid}.account-field{gap:6px;display:grid}.account-label{font-size:.82rem;font-weight:650}.account-input-row{border:1px solid var(--surface-stroke-strong);background:#f8fbfe;border-radius:10px;align-items:center;display:flex;overflow:hidden}.account-input{width:100%;border:1px solid var(--surface-stroke-strong)!important;color:var(--ink-primary)!important;background:#f8fbfe!important;border-radius:10px!important;padding:9px 11px!important;font-size:.85rem!important}.account-input-row .account-input{flex:1;width:auto;background:0 0!important;border:none!important;border-radius:0!important}.account-eye-btn{cursor:pointer;flex-shrink:0;align-self:stretch;align-items:center;display:flex;color:var(--ink-muted)!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0 10px!important}.account-eye-btn:hover{color:var(--ink-primary)!important}.delete-confirm-error{color:#b91c1c;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;margin:0;padding:7px 10px;font-size:.82rem;font-weight:600}.delete-confirm-actions{justify-content:flex-end;align-items:center;gap:8px;padding-top:4px;display:flex}.delete-file-body{gap:14px;padding:20px 24px 8px;display:grid}.delete-file-text{color:var(--ink-secondary);margin:0;font-size:.88rem;line-height:1.6}.delete-file-chip{border:1px solid var(--surface-stroke);background:#faf8ff;border-left:3px solid #b91c1c;border-radius:8px;gap:2px;min-width:0;padding:10px 14px;display:grid}.delete-file-chip-name{color:var(--ink-primary);overflow-wrap:anywhere;font-size:.88rem;font-weight:700}.delete-file-chip-id{color:var(--ink-secondary);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.delete-file-footer{justify-content:flex-end;gap:10px;padding:16px 24px 20px;display:flex}.delete-file-footer .header-btn.delete,.delete-file-footer .account-cancel-btn{border-radius:8px!important;padding:8px 18px!important;font-size:.85rem!important}.account-cancel-btn{cursor:pointer;border:1px solid var(--border)!important;background:0 0!important;border-radius:8px!important;padding:5px 14px!important;font-size:.82rem!important;font-weight:600!important}.account-section-divider{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);align-items:center;gap:10px;margin:18px 0 12px;font-size:.72rem;font-weight:700;display:flex}.account-section-divider:before,.account-section-divider:after{content:"";background:var(--surface-stroke);flex:1;height:1px}.hero-btn-ai{background-color:var(--input);border-radius:10px;align-items:center;gap:7px;padding:12px;display:inline-flex}.hero-btn-ai:hover{background-color:color-mix(in oklab, var(--input) 80%, transparent)}.ai-header-btn{align-items:center;gap:5px;display:inline-flex}.ai-header-btn.active{background:var(--brand-purple-700)!important;color:#fff!important;border-color:var(--brand-purple-700)!important}.kt-header-btn{align-items:center;gap:5px;display:inline-flex;color:#0d9488!important;border-color:#0d9488!important}.kt-header-btn.active{color:#fff!important;background:#0d9488!important;border-color:#0d9488!important}.ai-panel{background:var(--card);border:1px solid var(--border);border-radius:14px;flex-direction:column;min-width:0;display:flex;overflow:hidden;box-shadow:0 6px 14px #411c6614}.ai-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px 13px;display:flex}.ai-panel-title{align-items:center;gap:7px;font-size:.88rem;font-weight:700;display:flex}.ai-panel-close{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;display:flex}.ai-panel-close:hover{background:var(--border)}.ai-panel-tabs{border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.ai-tab-btn{cursor:pointer;color:var(--ink-muted);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:9px 0;font-size:.8rem;font-weight:600;transition:color .12s,border-color .12s}.ai-tab-btn:hover{color:var(--ink-primary)}.ai-tab-btn.active{color:var(--brand-purple-700);border-bottom-color:var(--brand-purple-700)}.ai-tab-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.ai-tab-hint{color:var(--ink-muted);flex-shrink:0;margin:0;padding:12px 14px 0;font-size:.78rem;line-height:1.55}.ai-label{color:var(--ink-secondary);flex-direction:column;flex-shrink:0;gap:5px;padding:12px 14px 0;font-size:.78rem;font-weight:600;display:flex}.ai-textarea{font-family:var(--font-sans);border:1px solid var(--surface-stroke-strong);resize:vertical;color:var(--ink-primary);background:#faf9fd;border-radius:8px;min-height:90px;padding:9px 10px;font-size:.82rem;line-height:1.5}.ai-textarea:focus{border-color:var(--brand-purple-700);outline:none}.ai-curl-input{font-family:var(--font-mono);font-size:.75rem}.ai-action-btn{align-self:flex-start;margin:12px 14px 0}.ai-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;flex-shrink:0;margin:8px 14px 0;padding:7px 10px;font-size:.78rem}.ai-progress{border:1px solid var(--surface-stroke);background:var(--surface-raised,#f8f9fb);border-radius:8px;margin:12px 14px 0;padding:10px 12px}.ai-progress-label{color:var(--text-secondary,#64748b);align-items:center;gap:8px;font-size:.8rem;font-weight:500;display:flex}.ai-progress-error-preview{color:#b91c1c;white-space:pre-wrap;word-break:break-word;background:#fef2f2;border:1px solid #fecaca;border-radius:5px;max-height:80px;margin-top:6px;padding:5px 8px;font-size:.73rem;overflow-y:auto}.ai-generate-tab,.ai-curl-tab{padding-bottom:16px;overflow-y:auto}.ai-result-block{border:1px solid var(--surface-stroke);border-radius:10px;margin:12px 14px 0;overflow:hidden}.ai-result-header{border-bottom:1px solid var(--surface-stroke);background:#f5f3fb;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.ai-result-label{color:var(--brand-purple-700);align-items:center;gap:6px;font-size:.78rem;font-weight:600;display:flex}.ai-result-json{font-family:var(--font-mono);max-height:260px;color:var(--ink-secondary);border-bottom:1px solid var(--surface-stroke);background:#fff;margin:0;padding:10px 12px;font-size:.7rem;overflow:auto}.ai-apply-btn{background:var(--brand-purple-700);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:9px 12px;font-size:.82rem;font-weight:700;transition:background .12s;display:flex}.ai-apply-btn:hover{background:var(--brand-purple-900)}.ai-chat-tab{overflow:hidden}.ai-chat-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:12px;padding:16px 14px 10px;display:flex;overflow-y:auto}.ai-flow-context-badge{background:var(--surface-tint,#f5f0fd);border-bottom:1px solid var(--surface-stroke);flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:.72rem;display:flex}.ai-flow-context-label{color:var(--ink-muted);font-weight:500}.ai-flow-context-id{color:var(--brand-purple-700);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-family:monospace;font-weight:600;overflow:hidden}.ai-flow-context-meta{color:var(--ink-muted);white-space:nowrap;margin-left:auto}.ai-chat-empty{color:var(--ink-muted);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:32px 20px;display:flex}.ai-chat-empty p{margin:0;font-size:.8rem;line-height:1.6}.ai-chat-empty svg{color:var(--brand-purple-700);opacity:.5}.ai-message{flex-direction:column;gap:6px;max-width:94%;display:flex}.ai-message-user{align-self:flex-end}.ai-message-assistant{align-self:flex-start;width:100%;max-width:100%}.ai-message-content{white-space:pre-wrap;word-break:break-word;border-radius:12px;padding:10px 14px;font-size:.83rem;line-height:1.6}.ai-message-user .ai-message-content{background:var(--brand-purple-700);color:#fff;border-bottom-right-radius:4px}.ai-message-assistant .ai-message-content{background:var(--background);border:1px solid var(--border);color:var(--foreground);border-bottom-left-radius:4px}.ai-flow-card{background:#fff;border:1px solid #d8cfef;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 1px 6px #2b066012}.ai-flow-card-header{background:linear-gradient(135deg,#f0e8ff 0%,#ede4fc 100%);border-bottom:1px solid #d8cfef;align-items:center;gap:8px;padding:10px 14px;display:flex}.ai-flow-card-title{color:var(--brand-purple-900,#3b0764);flex:1;align-items:center;gap:6px;min-width:0;font-size:.82rem;font-weight:700;display:flex}.ai-flow-card-id{font-family:var(--font-mono);color:#7c6ba0;white-space:nowrap;text-overflow:ellipsis;background:#fff9;border-radius:4px;max-width:160px;padding:1px 6px;font-size:.7rem;overflow:hidden}.ai-flow-card-stats{background:#faf8ff;border-bottom:1px solid #ede9f8;flex-wrap:wrap;gap:6px;padding:8px 14px;display:flex}.ai-flow-stat{color:#6b5f85;background:#fff;border:1px solid #e4daf5;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.73rem;font-weight:500;display:flex}.ai-flow-stat-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.ai-exec-badge{border-bottom:1px solid #ede9f8;align-items:center;gap:7px;padding:8px 14px;font-size:.78rem;font-weight:600;display:flex}.ai-exec-badge--passed{color:#15803d;background:#f0fdf4;border-bottom-color:#bbf7d0}.ai-exec-badge--warn{color:#92400e;background:#fffbeb;border-bottom-color:#fde68a}.ai-exec-badge--skipped{color:#9d96b8;background:#f8f7fb;border-bottom-color:#e5e0f0;font-style:italic}.ai-exec-error-detail{font-family:var(--font-mono);opacity:.8;white-space:pre-wrap;word-break:break-word;margin-top:4px;font-size:.69rem;font-weight:400;line-height:1.5}.ai-flow-card-actions{border-top:1px solid #ede9f8;gap:0;display:flex}.ai-flow-action-btn{color:var(--ink-secondary);cursor:pointer;background:#fff;border:none;border-right:1px solid #ede9f8;flex:1;justify-content:center;align-items:center;gap:5px;padding:9px 10px;font-size:.77rem;font-weight:600;transition:background .1s,color .1s;display:flex}.ai-flow-action-btn:last-child{border-right:none}.ai-flow-action-btn:hover:not(:disabled){color:var(--brand-purple-700);background:#f5f0ff}.ai-flow-action-btn--primary{background:var(--brand-purple-700);color:#fff}.ai-flow-action-btn--primary:hover:not(:disabled){background:var(--brand-purple-900,#3b0764);color:#fff}.ai-flow-json-preview{font-family:var(--font-mono);max-height:280px;color:var(--ink-secondary);background:#fafafa;border-top:1px solid #ede9f8;margin:0;padding:10px 14px;font-size:.69rem;line-height:1.55;overflow:auto}.ai-flow-banner{border:1px solid var(--brand-lilac-200);background:#f0e8ff;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.ai-flow-banner-label{color:var(--brand-purple-900);align-items:center;gap:5px;font-size:.76rem;font-weight:600;display:flex}.ai-flow-banner .ai-apply-btn{border-radius:6px;width:auto;padding:5px 10px;font-size:.76rem}.ai-chat-progress{background:#f8f6ff;border:1px solid #e4daf5;border-radius:10px 10px 10px 3px;align-items:flex-start;gap:8px;width:100%;padding:10px 12px;display:flex}.ai-chat-progress-dot{background:var(--brand-purple-700);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px;animation:1.4s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.ai-chat-progress-body{flex:1;min-width:0}.ai-chat-progress-label{color:var(--brand-purple-700);font-size:.8rem;font-weight:600;line-height:1.4}.ai-chat-progress-sub{color:var(--ink-muted);margin-top:1px;font-size:.74rem}.ai-chat-progress-error{color:#b91c1c;white-space:pre-wrap;word-break:break-word;max-height:70px;font-size:.72rem;font-family:var(--font-mono);background:#fef2f2;border:1px solid #fecaca;border-radius:5px;margin-top:5px;padding:4px 8px;overflow-y:auto}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.ai-streaming-cursor{vertical-align:text-bottom;background:currentColor;width:2px;height:13px;margin-left:2px;animation:.9s step-start infinite blink;display:inline-block}.ai-gen-target-bar{border-bottom:1px solid var(--border);background:var(--background);flex-shrink:0;padding:10px 12px 9px}.ai-gen-target-label{letter-spacing:.07em;text-transform:uppercase;color:#a899c0;margin-bottom:8px;font-size:.65rem;font-weight:700}.ai-gen-target-grid{grid-template-columns:1fr 1fr 1fr;gap:5px;margin-bottom:8px;display:grid}.ai-gen-target-col{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;background:#fff;border:1.5px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:7px 4px 6px;transition:background .1s,border-color .1s;display:flex}.ai-gen-target-col:hover{background:#ede8fc;border-color:#d4c6f4}.ai-gen-target-col.selected{border-color:var(--brand-purple-700,#6d28d9);background:#ede4fc}.ai-gen-target-col input[type=radio]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.ai-gen-target-col-icon{color:#a899c0;justify-content:center;align-items:center;transition:color .1s;display:flex}.ai-gen-target-col.selected .ai-gen-target-col-icon{color:var(--brand-purple-700,#6d28d9)}.ai-gen-target-col-label{color:#7a6a9a;white-space:nowrap;font-size:.71rem;font-weight:500;line-height:1.2}.ai-gen-target-col.selected .ai-gen-target-col-label{color:var(--brand-purple-700,#6d28d9);font-weight:700}.ai-gen-target-detail{flex-direction:column;gap:5px;min-height:26px;display:flex}.ai-gen-target-pill{background:var(--brand-purple-700,#6d28d9);color:#fff;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;align-items:center;max-width:200px;padding:2px 9px;font-size:.72rem;font-weight:600;display:inline-flex;overflow:hidden}.ai-gen-target-pill--empty{color:#7a6a9a;background:#d5ceed}.ai-gen-target-select{width:100%;font-family:var(--font-sans);color:var(--brand-purple-700,#6d28d9);cursor:pointer;background:#fff;border:1.5px solid #c4b5e8;border-radius:7px;outline:none;padding:5px 8px;font-size:.78rem;font-weight:500;transition:border-color .12s}.ai-gen-target-select:focus{border-color:var(--brand-purple-700,#6d28d9);box-shadow:0 0 0 2px #6d28d91a}.ai-gen-target-hint{color:#b0a4c8;font-size:.67rem}.ai-complexity-row{align-items:center;gap:6px;margin-top:2px;display:flex}.ai-complexity-badge{border:1px solid;border-radius:10px;align-items:center;padding:2px 7px;font-size:.67rem;font-weight:600;display:inline-flex}.ai-complexity-badge--medium{color:#92400e;background:#fef3c7;border-color:#fcd34d}.ai-complexity-badge--high{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.ai-complexity-improve-btn{color:var(--brand-purple-700,#6d28d9);cursor:pointer;white-space:nowrap;background:#ede8fc;border:1px solid #c4b5e8;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:.67rem;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.ai-complexity-improve-btn:hover:not(:disabled){border-color:var(--brand-purple-700,#6d28d9);background:#ddd6fe}.ai-complexity-improve-btn:disabled{opacity:.45;cursor:not-allowed}.ai-chat-compose{border-top:1px solid var(--border);background:var(--background);flex-shrink:0}.ai-chat-input-row{align-items:flex-end;gap:8px;padding:10px 14px 8px;display:flex}.ai-chat-input{font-family:var(--font-sans);resize:none;color:var(--ink-primary);background:#faf8ff;border:1.5px solid #d0c8e8;border-radius:12px;flex:1;min-height:88px;max-height:200px;padding:11px 13px;font-size:.84rem;line-height:1.5;transition:border-color .15s,box-shadow .15s;overflow-y:auto}.ai-chat-input:focus{border-color:var(--brand-purple-700);background:#fff;outline:none;box-shadow:0 0 0 3px #6d28d91a}.ai-chat-input:disabled{opacity:.55;background:#f3f0f9}.ai-chat-input::placeholder{color:#a899c0}.ai-send-btn{background:var(--brand-purple-700);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:background .12s,transform .1s;display:flex;box-shadow:0 2px 8px #6d28d959}.ai-send-btn:hover:not(:disabled){background:var(--brand-purple-900,#3b0764);transform:translateY(-1px);box-shadow:0 4px 12px #6d28d966}.ai-send-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #6d28d94d}.ai-send-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.ai-chat-hint{color:#b0a4c8;align-items:center;gap:4px;padding:0 14px 10px;font-size:.71rem;display:flex}.ai-plan-card{background:#fff;border:1px solid #c4b5e8;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 1px 6px #2b066014}.ai-plan-header{background:linear-gradient(135deg,#ede4fc 0%,#e8dff8 100%);border-bottom:1px solid #c4b5e8;align-items:flex-start;gap:9px;padding:11px 14px;display:flex}.ai-plan-icon{flex-shrink:0;margin-top:1px;font-size:1.05rem}.ai-plan-header-text{flex:1}.ai-plan-title{color:#3b0764;font-size:.82rem;font-weight:700;line-height:1.3}.ai-plan-summary{color:#6b5f85;margin-top:2px;font-size:.77rem;line-height:1.4}.ai-plan-changes{background:#faf8ff;border-bottom:1px solid #ede9f8;flex-direction:column;gap:7px;margin:0;padding:10px 14px;list-style:none;display:flex}.ai-plan-change{color:var(--ink-secondary);align-items:flex-start;gap:8px;font-size:.79rem;line-height:1.45;display:flex}.ai-plan-change-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:4px;flex-shrink:0;margin-top:1px;padding:1px 6px;font-size:.64rem;font-weight:700}.ai-plan-change-badge--add{color:#166534;background:#dcfce7}.ai-plan-change-badge--modify{color:#1e40af;background:#dbeafe}.ai-plan-change-badge--remove{color:#991b1b;background:#fee2e2}.ai-plan-change-badge--reorder{color:#854d0e;background:#fef9c3}.ai-plan-api-note{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;align-items:center;gap:6px;padding:7px 14px;font-size:.76rem;font-weight:500;display:flex}.ai-plan-actions{gap:0;display:flex}.ai-plan-action-btn{color:var(--ink-secondary);cursor:pointer;background:#fff;border:none;border-right:1px solid #ede9f8;flex:1;justify-content:center;align-items:center;gap:5px;padding:10px 12px;font-size:.8rem;font-weight:600;transition:background .1s,color .1s;display:flex}.ai-plan-action-btn:last-child{border-right:none}.ai-plan-action-btn:hover:not(:disabled){color:var(--brand-purple-700);background:#f5f0ff}.ai-plan-action-btn--confirm{background:var(--brand-purple-700);color:#fff}.ai-plan-action-btn--confirm:hover:not(:disabled){color:#fff;background:#3b0764}.ai-confirm-card{background:#fff;border:1px solid #d0c8e8;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 1px 6px #2b066012}.ai-confirm-body{color:var(--ink-primary);background:#faf8ff;border-bottom:1px solid #ede9f8;padding:12px 14px;font-size:.81rem;line-height:1.55}.ai-confirm-actions{gap:0;display:flex}.ai-confirm-btn{color:var(--ink-secondary);cursor:pointer;background:#fff;border:none;border-right:1px solid #ede9f8;flex:1;justify-content:center;align-items:center;gap:5px;padding:9px 10px;font-size:.79rem;font-weight:600;transition:background .1s,color .1s;display:flex}.ai-confirm-btn:last-child{border-right:none}.ai-confirm-btn:hover{color:var(--brand-purple-700);background:#f5f0ff}.ai-confirm-btn--yes{background:var(--brand-purple-700);color:#fff}.ai-confirm-btn--yes:hover{color:#fff;background:#3b0764}.ai-fill-trigger{color:var(--brand-purple-700);border:1px solid var(--brand-lilac-200);cursor:pointer;background:#f0e8ff;border-radius:7px;justify-content:center;align-items:center;gap:5px;width:100%;padding:5px 11px;font-size:.77rem;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.ai-fill-trigger:hover{border-color:var(--brand-purple-700);background:#e4d4ff}.ai-fill-panel{border:1px solid var(--brand-lilac-200);background:#f9f6ff;border-radius:9px;flex-direction:column;gap:8px;padding:10px;display:flex}.ai-fill-header{justify-content:space-between;align-items:center;display:flex}.ai-fill-title{color:var(--brand-purple-700);font-size:.77rem;font-weight:700}.ai-fill-close{cursor:pointer;color:var(--ink-muted);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:.78rem}.ai-fill-close:hover{background:var(--surface-stroke)}.ai-fill-input{font-family:var(--font-sans);border:1px solid var(--surface-stroke-strong);resize:vertical;color:var(--ink-primary);background:#fff;border-radius:7px;padding:7px 9px;font-size:.8rem;line-height:1.45}.ai-fill-input:focus{border-color:var(--brand-purple-700);outline:none}.ai-fill-error{color:#b91c1c;margin:0;font-size:.76rem}.ai-fill-actions{align-items:center;gap:10px;display:flex}.node--debug-muted{opacity:.28;filter:grayscale();pointer-events:none}.predicate-edge-label{white-space:nowrap;background:#fff;border:1.5px solid;border-radius:4px;padding:1px 7px;font-size:11px;font-weight:700}.predicate-edge-label--success{color:#118d57;border-color:#118d57}.predicate-edge-label--failure{color:#e08b00;border-color:#e08b00}.debug-edge-breakpoint{background:#dc2626;border:2.5px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 2px #dc2626,0 2px 8px #dc262680}.edge-context-backdrop{z-index:499;position:fixed;inset:0}.edge-context-menu{z-index:500;border:1px solid var(--surface-stroke-strong);background:#fff;border-radius:10px;min-width:190px;padding:4px;position:fixed;box-shadow:0 6px 22px #22143a29}.edge-context-option{width:100%;color:var(--ink-secondary);cursor:pointer;text-align:left;box-shadow:none;background:0 0;border:none;border-radius:7px;align-items:center;padding:8px 12px;font-size:.82rem;font-weight:600;transition:background 80ms,color 80ms;display:flex}.edge-context-option:hover{color:var(--brand-purple-700);background:#f3eeff}.edge-context-remove{color:#b91c1c}.edge-context-remove:hover{color:#991b1b;background:#fff1f2}.header-btn.debug-active{color:#fff!important;background:#d97706!important;border-color:#d97706!important}.complexity-meter-row{align-items:center;gap:7px;margin-top:4px;display:flex}.complexity-meter-label{letter-spacing:.02em;text-transform:uppercase;flex-shrink:0;font-size:.69rem;font-weight:600}.complexity-bar-track{background:#e2d6f2;border-radius:999px;flex:1;max-width:90px;height:5px;overflow:hidden}.complexity-bar-fill{border-radius:999px;min-width:3px;height:100%;transition:width .35s,background-color .35s}.complexity-level{font-size:.69rem;font-weight:700;font-family:var(--font-mono);flex-shrink:0;min-width:38px}.complexity-improve-btn{border:1px solid var(--brand-lilac-200);color:var(--brand-purple-700);cursor:pointer;white-space:nowrap;background:#f0e8ff;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;padding:2px 9px;font-size:.72rem;font-weight:600;line-height:1.7;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.complexity-improve-btn:hover:not(:disabled){border-color:var(--brand-purple-700);color:var(--brand-purple-900,#3b0764);background:#e4d4ff}.complexity-improve-btn:disabled{opacity:.42;cursor:not-allowed}.complexity-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:3px 0 0;padding:4px 8px;font-size:.74rem;line-height:1.4}.complexity-why-btn{color:#b91c1c;cursor:pointer;white-space:nowrap;letter-spacing:.01em;background:#fef2f2;border:1px solid #fecaca;border-radius:5px;flex-shrink:0;align-items:center;gap:3px;padding:1px 7px;font-size:.69rem;font-weight:700;line-height:1.7;transition:background .12s,border-color .12s;display:inline-flex}.complexity-why-btn:hover:not(:disabled){background:#fee2e2;border-color:#f87171}.complexity-why-btn:disabled{opacity:.5;cursor:not-allowed}.complexity-suggestion-panel{background:#fffbeb;border:1px solid #fde8b4;border-radius:8px;margin-top:5px;overflow:hidden}.complexity-suggestion-header{background:#fef3c7;border-bottom:1px solid #fde8b4;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.complexity-suggestion-title{color:#92400e;letter-spacing:.01em;align-items:center;gap:5px;font-size:.72rem;font-weight:700;display:flex}.complexity-suggestion-close{cursor:pointer;opacity:.7;color:#b45309!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:4px!important;padding:0 3px!important;font-size:.75rem!important;font-weight:400!important;line-height:1!important}.complexity-suggestion-close:hover{opacity:1;background:#fde68a!important}.complexity-suggestion-loading{color:#92400e;margin:0;padding:8px 10px;font-size:.74rem;font-style:italic}.complexity-suggestion-body{font-family:var(--font-sans);color:#78350f;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;max-height:200px;margin:0;padding:8px 10px;font-size:.74rem;line-height:1.6;overflow-y:auto}.ai-modal-body{gap:12px;display:grid}.ai-modal-body label{gap:4px;display:grid}.ai-prompt-textarea{resize:vertical;width:100%;font-family:var(--font-sans);border:1px solid var(--surface-stroke,#e2e8f0);color:var(--text-primary,#1a0a3b);box-sizing:border-box;background:#fff;border-radius:6px;padding:8px 10px;font-size:.875rem;line-height:1.5}.ai-prompt-textarea:focus{outline-offset:1px;border-color:#8017e166;outline:2px solid #8017e166}.ai-prompt-textarea:disabled{opacity:.6;background:#f9f8fc}.ai-modal-actions{align-items:center;gap:8px;display:flex}.ai-generating-status{color:#6b7280;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.ai-operator-preview-list{gap:8px;max-height:50vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.ai-operator-preview-item{background:#f9f7ff;border:1px solid #8017e126;border-radius:8px;gap:5px;padding:10px 12px;display:grid}.ai-preview-item-header{align-items:center;gap:8px;display:flex}.ai-type-pill{letter-spacing:.03em;color:#fff;border-radius:100px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.ai-preview-id{font-family:var(--font-mono);color:#4b5563;font-size:.8rem;font-weight:500}.ai-preview-description{color:#374151;margin:0;font-size:.82rem}.ai-preview-fields{gap:2px;margin:0;display:grid}.ai-preview-field{grid-template-columns:110px 1fr;gap:4px;font-size:.76rem;display:grid}.ai-preview-field dt{color:#9ca3af;font-weight:500}.ai-preview-field dd{color:#374151;word-break:break-all;font-family:var(--font-mono);margin:0;font-size:.73rem}.node-context-backdrop{z-index:499;position:fixed;inset:0}.node-context-menu{z-index:500;border:1px solid var(--surface-stroke-strong);background:#fff;border-radius:10px;min-width:220px;padding:4px;position:fixed;box-shadow:0 6px 22px #22143a29}.node-context-option{width:100%;color:var(--ink-secondary);cursor:pointer;text-align:left;box-shadow:none;background:0 0;border:none;border-radius:7px;align-items:center;padding:8px 12px;font-size:.82rem;font-weight:600;transition:background 80ms,color 80ms;display:flex}.node-context-option:hover{color:var(--brand-purple-700);background:#f3eeff}.node-context-hint{color:var(--ink-muted);padding:8px 12px;font-size:.79rem;font-style:italic}.extract-modal-body{gap:16px;padding:0 0 4px;display:grid}.extract-modal-actions{align-items:center;gap:8px;display:flex}.extract-operator-list{gap:8px;max-height:44vh;display:grid;overflow-y:auto}.extract-operator-item{background:#f9f7ff;border:1px solid #8017e126;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.extract-operator-item-header{align-items:center;gap:8px;display:flex}.extract-operator-id{color:var(--ink-primary);font-size:.82rem;font-weight:600;font-family:var(--font-mono)}.extract-operator-desc{color:var(--ink-muted);padding-left:2px;font-size:.78rem}.extract-error{color:#b91c1c;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;padding:10px 12px;font-size:.82rem}.setup-panel{background:var(--card);position:relative;overflow:hidden;padding:0!important}.setup-dot-grid{pointer-events:none;z-index:0;background-image:radial-gradient(circle,#8017e10b 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0}.setup-bar{z-index:1;flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;padding:24px 16px 10px;display:flex;position:relative}.setup-bar-brand{flex-shrink:0;align-items:center;gap:8px;display:flex}.setup-eyebrow{background:var(--primary);color:var(--primary-foreground);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:2px 8px 2px 6px;font-size:.57rem;font-weight:700;display:inline-flex}.setup-eyebrow:before{content:"";background:var(--primary-foreground);border-radius:50%;flex-shrink:0;width:5px;height:5px;box-shadow:0 0 6px #8017e199}.setup-bar-slash{color:#d4c5f0;flex-shrink:0;font-size:.95rem;font-weight:300;line-height:1}.setup-title-inline{letter-spacing:-.02em;white-space:nowrap;flex-shrink:0;font-size:.92rem}.setup-bar-rule{background:#e2d4f8;flex-shrink:0;width:1px;height:24px;margin:0 4px}.setup-bar-section-label{text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;flex-shrink:0;font-size:.6rem}.setup-id-fields{flex-shrink:0;align-items:center;gap:8px;display:flex}.setup-id-field{position:relative}.setup-id-field-label{white-space:nowrap;pointer-events:none;font-size:.72rem;line-height:1;position:absolute;top:-17px;left:2px}.setup-id-field-input{width:100px;display:block;color:#4c336a!important;font-size:.83rem!important;font-weight:500!important;font-family:var(--font-sans)!important;box-shadow:none!important;background:#fff!important;border:1.5px solid #c4b5fd!important;border-radius:9px!important;outline:none!important;padding:6px 10px!important;transition:border-color .14s,box-shadow .14s!important}.setup-id-field-input.field-name{width:168px}.setup-id-field-input.field-version{width:68px}.setup-id-field-input.field-input-key{width:100px}.setup-id-field-input:focus{border-color:#8b5cf6!important;box-shadow:0 0 0 3px #7c3aed1f!important}.setup-id-field-input::placeholder{color:#d4c5f0!important;font-weight:400!important}.setup-id-sep{font-family:var(--font-mono);color:#c4b5fd;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:1rem;font-weight:700;line-height:1}.setup-id-preview{background:#f5f0ff;border:1px solid #e2d4f8;border-radius:7px;flex-shrink:0;align-items:center;gap:6px;max-width:280px;padding:4px 10px;display:inline-flex;overflow:hidden}.setup-id-preview-arrow{color:#c4b5fd;flex-shrink:0;font-size:.72rem}.setup-id-preview-value{font-family:var(--font-mono);color:#5b21b6;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:600;overflow:hidden}.setup-bar-error{color:#b91c1c;white-space:nowrap;background:#fff1f2;border:1px solid #fecdd3;border-radius:6px;flex-shrink:0;padding:4px 9px;font-size:.72rem}.setup-import-btn{cursor:pointer;white-space:nowrap;background:0 0;border:1px dashed #c4b5fd;border-radius:7px;flex-shrink:0;align-items:center;gap:5px;padding:5px 11px;font-size:.75rem;font-weight:600;display:inline-flex;box-shadow:none!important}.setup-import-btn:hover{color:#5b21b6;background:#f3eeff;border-style:solid;border-color:#8b5cf6}.ai-setup-btn{color:#fff;cursor:pointer;font-size:.75rem;font-weight:700;font-family:var(--font-sans);white-space:nowrap;letter-spacing:.01em;background:linear-gradient(135deg,#7c3aed,#9b44f5);border:none;border-radius:7px;flex-shrink:0;align-items:center;gap:5px;padding:5px 12px;transition:opacity .15s,box-shadow .15s,transform .12s;display:inline-flex;box-shadow:0 2px 10px #7c3aed4d!important}.ai-setup-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 16px #7c3aed6b!important}.file-picker-root{flex-wrap:nowrap;align-items:center;gap:10px;display:flex}.file-picker-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#7c3aed;border:none;border-radius:7px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 4px #7c3aed33}.file-picker-btn:hover:not(:disabled){background:#6d28d9;box-shadow:0 2px 10px #7c3aed5c}.file-picker-btn:disabled{opacity:.5;cursor:not-allowed}.file-picker-icon{flex-shrink:0;width:14px;height:14px}.file-picker-filename{color:#9ca3af;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:240px;font-size:.8rem;font-style:italic;overflow:hidden}.file-picker-filename-set{color:#374151;font-style:normal;font-weight:500}.file-picker-clear{cursor:pointer;color:#9ca3af;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:1.1rem;line-height:1;transition:color .12s}.file-picker-clear:hover{color:#b91c1c}.execute-dropdown{display:inline-flex;position:relative}.execute-dropdown-menu{border:1px solid var(--surface-stroke);z-index:100;background:#fff;border-radius:8px;min-width:130px;position:absolute;top:calc(100% + 5px);right:0;overflow:hidden;box-shadow:0 6px 20px #00000024}.execute-dropdown-menu button{text-align:left;cursor:pointer;width:100%;color:var(--ink-primary);background:0 0;border:none;border-radius:0;padding:9px 14px;font-size:.83rem;font-weight:500;display:block}.execute-dropdown-menu button+button{border-top:1px solid var(--surface-stroke)}.execute-dropdown-menu button:hover{color:#7c3aed;background:#f3e7ff}.bulk-saved-upload{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.bulk-saved-upload-info{flex-direction:column;gap:2px;min-width:0;display:flex}.bulk-saved-upload-tag{letter-spacing:.06em;text-transform:uppercase;color:#7c3aed;font-size:.72rem;font-weight:700}.bulk-saved-upload-name{color:#1f1335;white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:600;overflow:hidden}.bulk-saved-upload-id{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-family:monospace;font-size:.75rem;overflow:hidden}.bulk-saved-upload-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.bulk-saved-upload-use{color:#fff;cursor:pointer;white-space:nowrap;background:#7c3aed;border:none;border-radius:6px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:background .15s}.bulk-saved-upload-use:hover:not(:disabled){background:#6d28d9}.bulk-saved-upload-use:disabled{opacity:.5;cursor:not-allowed}.bulk-saved-upload-forget{cursor:pointer;color:#9ca3af;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.78rem;text-decoration:underline}.bulk-saved-upload-forget:hover{color:#b91c1c}.bulk-steps{flex-wrap:wrap;align-items:center;gap:14px;padding:4px 0 18px;display:flex}.bulk-step{color:#9ca3af;font-size:.8rem;font-weight:500}.bulk-step-active{color:#7c3aed;font-weight:700}.bulk-step-done{color:#16a34a;font-weight:600}.bulk-section{flex-direction:column;gap:4px;display:flex}.bulk-label{font-size:.82rem;font-weight:600}.bulk-label-inline{white-space:nowrap;flex-shrink:0;min-width:72px;font-size:.82rem;font-weight:600}.bulk-text-input{border:1px solid var(--border);box-sizing:border-box;background:var(--card);border-radius:6px;width:100%;padding:6px 10px;font-size:.85rem}.bulk-text-input-sm{width:auto;min-width:80px}.bulk-file-input{padding:4px 0;font-size:.84rem}.bulk-meta-row{align-items:flex-start;gap:10px;margin-bottom:4px;display:flex}.bulk-value-mono{color:var(--ink-primary);word-break:break-all;font-family:monospace;font-size:.82rem}.bulk-value-wrap{word-break:break-all}.bulk-mapping-table{border-collapse:collapse;width:100%;margin-top:4px;font-size:.83rem}.bulk-mapping-table th{text-align:left;border-bottom:1px solid var(--border);padding:5px 8px;font-size:.78rem;font-weight:600}.bulk-mapping-table td{vertical-align:middle;padding:4px 8px}.bulk-mapping-table td:first-child{width:44%}.bulk-mapping-table td:nth-child(2){width:48%}.bulk-mapping-table td:last-child{text-align:center;width:8%}.bulk-remove-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:0 2px;font-size:1.1rem;line-height:1}.bulk-remove-btn:hover:not(:disabled){color:#b91c1c}.bulk-add-btn{border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;margin-top:8px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:background .15s}.bulk-add-btn:hover{background:var(--card)}.bulk-status-badge{letter-spacing:.04em;border-radius:999px;padding:5px 14px;font-size:.83rem;font-weight:700;display:inline-block}.bulk-status-running{color:#92400e;background:#fef3c7}.bulk-status-done{color:#065f46;background:#d1fae5}.bulk-status-fail{color:#991b1b;background:#fee2e2}.bulk-download{align-items:center;gap:10px;margin-top:6px;display:flex}.bulk-download-link{color:#7c3aed;word-break:break-all;font-size:.85rem;font-weight:600;text-decoration:underline}.bulk-notify-row{margin-top:12px}.bulk-notify-btn{color:#7c3aed;cursor:pointer;background:0 0;border:1.5px solid #7c3aed;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:.83rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.bulk-notify-btn:hover{color:#fff;background:#7c3aed}.bulk-notify-active{color:#166534;background:#f0fdf4;border:1.5px solid #86efac;border-radius:6px;align-items:center;gap:8px;padding:7px 12px;font-size:.82rem;font-weight:500;display:flex}.bulk-notify-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.8s ease-in-out infinite bulk-pulse}@keyframes bulk-pulse{0%,to{opacity:1}50%{opacity:.35}}.bulk-notify-stop{color:#166534;cursor:pointer;background:0 0;border:1px solid #86efac;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:.78rem}.bulk-notify-stop:hover{background:#dcfce7}.bulk-csv-columns{background:#faf5ff;border:1px solid #ddd6fe;border-radius:8px;flex-direction:column;gap:4px;margin-top:14px;padding:10px 12px;display:flex}.bulk-csv-hint{color:#9ca3af;font-size:.75rem;font-style:italic;font-weight:400}.bulk-csv-chips{flex-wrap:wrap;gap:6px;display:flex}.bulk-csv-chip{color:#5b21b6;cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#ede9fe;border:1px solid #c4b5fd;border-radius:999px;align-items:center;padding:3px 10px;font-size:.78rem;font-weight:600;transition:background .12s,box-shadow .12s,transform .1s;display:inline-flex}.bulk-csv-chip:hover{background:#ddd6fe;box-shadow:0 2px 6px #7c3aed33}.bulk-csv-chip:active{cursor:grabbing;transform:scale(.96)}.bulk-drop-active{box-shadow:0 0 0 2px #7c3aed40;background:#f3e8ff!important;border-color:#7c3aed!important}.page-content-datasets{flex-direction:column;display:flex;overflow:hidden;padding:0!important}.dsv-root{flex:1;height:100%;display:flex;overflow:hidden}.dsv-list-pane{border-right:1px solid var(--border);background:var(--card);flex-direction:column;flex-shrink:0;width:300px;min-width:220px;max-width:380px;display:flex;overflow:hidden}.dsv-list-toolbar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:14px 16px 10px;display:flex}.dsv-list-title{flex:1;align-items:center;gap:7px;font-size:.85rem;font-weight:700;display:flex}.dsv-list-count{color:#7c3aed;background:#ede9f4;border-radius:999px;padding:1px 7px;font-size:.7rem;font-weight:700;line-height:1.6}.dsv-refresh{border:1px solid var(--border);color:var(--foreground);cursor:pointer;background:0 0;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:background .1s;display:flex}.dsv-refresh:hover:not(:disabled){color:#3d2c5a;background:#ede9f4}.dsv-refresh:disabled{opacity:.45;cursor:default}.dsv-refresh.spinning svg{transform-origin:50%;animation:.7s linear infinite spin}.dsv-list-search-wrap{border-bottom:1px solid var(--border);flex-shrink:0;padding:8px 10px}.dsv-list-search{box-sizing:border-box;width:100%;border:1px solid var(--border)!important;color:var(--ink-primary)!important;background:#fff!important;border-radius:7px!important;padding:5px 8px!important;font-size:.78rem!important}.dsv-list-search:focus{outline-offset:0!important;outline:2px solid #7c3aed!important}.dsv-list-scroll{flex:1;overflow-y:auto;margin-top:0!important}.dsv-list-table{border-collapse:collapse;width:100%}.dsv-list-table thead th{color:#7a6a96;text-transform:uppercase;letter-spacing:.06em;text-align:left;white-space:nowrap;background:#f0ecf8;border-bottom:1px solid #ddd0f5;padding:6px 14px;font-size:.68rem;font-weight:700;position:sticky;top:0}.dsv-list-row{cursor:pointer}.dsv-list-row:hover td{background:#ede9f4}.dsv-list-row.selected td{background:#d9ccf5;border-left:3px solid #7c3aed;font-weight:700}.dsv-list-cell{vertical-align:middle;border-bottom:1px solid #f0ecf8;align-items:center;gap:8px;padding:7px 14px;display:flex}.dsv-list-dot{background:#c4b5fd;border-radius:50%;flex-shrink:0;width:6px;height:6px}.dsv-list-row.selected .dsv-list-dot{background:#7c3aed}.dsv-list-name{text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;overflow:hidden}.dsv-detail-pane{background:var(--background);flex-direction:column;flex:1;display:flex;overflow:hidden}.dsv-empty-detail{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:.85rem;display:flex}.dsv-empty-detail svg{opacity:.4;width:32px;height:32px}.dsv-detail{flex-direction:column;flex:1;display:flex;overflow:hidden}.dsv-detail-header{background:linear-gradient(#faf8ff 0%,#fff 100%);border-bottom:1px solid #e8e2f4;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px 16px;display:flex}.dsv-detail-title-row{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.dsv-detail-prefix{font-family:var(--font-mono);color:#c4b5fd;flex-shrink:0;margin-top:1px;font-size:1.1rem;font-weight:700;line-height:1}.dsv-detail-id{font-family:var(--font-mono);color:#1e1040;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;font-size:1.05rem;font-weight:700;overflow:hidden}.dsv-col-count-badge{color:#7c3aed;white-space:nowrap;letter-spacing:.02em;background:#ede9f4;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.68rem;font-weight:700}.dsv-row-count-badge{color:#16a34a;white-space:nowrap;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.68rem;font-weight:600}.dsv-detail-header-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.dsv-version-pill{background:#fff;border:1px solid #ddd0f5;border-radius:8px;align-items:center;gap:0;display:flex;overflow:hidden}.dsv-version-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#9d8fb8;white-space:nowrap;background:#faf8ff;border-right:1px solid #ede9f4;align-items:center;height:100%;padding:0 8px;font-size:.62rem;font-weight:700;display:flex}.dsv-version-select{font-size:.82rem;font-weight:600;font-family:var(--font-mono);color:#3d2c5a;cursor:pointer;appearance:auto;background:#fff;border:none;outline:none;padding:6px 10px 6px 8px}.dsv-version-select:focus{outline-offset:-1px;outline:2px solid #7c3aed}.dsv-version-controls{align-items:center;gap:6px;display:flex}.dsv-version-delete-wrap{align-items:center;gap:5px;display:flex}.dsv-version-delete-btn{color:#c4b5d4;cursor:pointer;background:#faf8ff;border:1px solid #ede9f4;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:color .14s,border-color .14s,background .14s;display:flex}.dsv-version-delete-btn:hover{color:#be123c;background:#fff1f2;border-color:#fca5a5}.dsv-version-confirm{background:#fff1f2;border:1px solid #fca5a5;border-radius:6px;align-items:center;gap:3px;height:28px;padding:0 6px 0 8px;display:flex}.dsv-version-confirm-text{color:#be123c;white-space:nowrap;letter-spacing:.01em;padding-right:3px;font-size:.71rem;font-weight:700}.dsv-version-confirm-yes{color:#fff;cursor:pointer;background:#be123c;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:20px;font-size:.7rem;font-weight:700;transition:background .12s;display:flex}.dsv-version-confirm-yes:hover:not(:disabled){background:#9f1239}.dsv-version-confirm-yes:disabled{opacity:.55;cursor:not-allowed}.dsv-version-confirm-no{color:#9d8fb8;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:20px;font-size:.75rem;transition:color .12s,background .12s;display:flex}.dsv-version-confirm-no:hover{color:#3d2c5a;background:#ede9f4}.dsv-version-delete-error{color:#be123c;white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:.68rem;overflow:hidden}.dsv-chip-loading{color:var(--ink-muted);align-items:center;gap:5px;font-size:.78rem;display:flex}.dsv-chip-error{color:#c0392b;font-size:.78rem}.dsv-tabs{background:#fff;border-bottom:1px solid #e8e2f4;flex-shrink:0;align-items:center;gap:0;padding:0 20px;display:flex}.dsv-tab-group{background:#f3f0f9;border-radius:8px;align-items:center;gap:2px;margin:8px 0;padding:4px;display:flex}.dsv-tab{color:#7a6a96;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:.8rem;font-weight:500;transition:background .12s,color .12s}.dsv-tab:hover:not(.active){color:#3d2c5a;background:#e9e4f5}.dsv-tab.active{color:#3d2c5a;background:#fff;font-weight:600;box-shadow:0 1px 3px #643cb41f,0 0 0 1px #b4a0dc33}.dsv-tabs-spacer{flex:1}.dsv-load-btn{color:#fff;cursor:pointer;letter-spacing:.01em;background:#7c3aed;border:none;border-radius:7px;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:600;transition:background .12s,box-shadow .12s;display:flex}.dsv-load-btn:hover:not(:disabled){background:#6d28d9;box-shadow:0 2px 8px #6d28d959}.dsv-load-btn:disabled{opacity:.45;cursor:default}.dsv-load-btn.loading{background:#a78bfa}.dsv-detail-body,.dsv-schema,.dsv-data{flex-direction:column;flex:1;display:flex;overflow:hidden}.dsv-state{color:var(--ink-muted);align-items:center;gap:8px;padding:32px 24px;font-size:.82rem;display:flex}.dsv-state-error{color:#be123c}.dsv-state-hint{color:var(--ink-muted)}.dsv-state-materializing{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:flex-start;gap:8px;padding:14px 16px;font-size:.83rem;line-height:1.5;display:flex}.dsv-materializing-icon{flex-shrink:0;margin-top:1px;font-size:1rem}.dsv-description{color:var(--ink-muted);margin:14px 24px 0;font-size:.82rem;line-height:1.5}.dsv-data-meta{flex-shrink:0;align-items:center;gap:12px;padding:10px 24px 6px;display:flex}.dsv-data-count{color:#7c3aed;background:#f3eeff;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:700}.dsv-data-cols{color:#7a6a96;background:#f3f0f9;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:600}.dsv-table-scroll{flex:1;overflow:auto}.dsv-table{border-collapse:collapse;width:100%;font-size:.8rem}.dsv-schema-table thead th{z-index:1;color:#8b7aab;text-align:left;white-space:nowrap;text-transform:uppercase;letter-spacing:.08em;background:#f8f6fc;border-bottom:2px solid #e8e2f4;padding:9px 20px;font-size:.65rem;font-weight:700;position:sticky;top:0}.dsv-schema-table .dsv-th-idx{text-align:right;color:#c4b5fd;width:52px;padding-right:16px}.dsv-th-nullable{text-align:center;width:80px}.dsv-schema-row{transition:background 80ms}.dsv-schema-row:hover td{background:#faf8ff}.dsv-schema-row:hover .dsv-td-idx{color:#9d8fb8}.dsv-idx-row td{background:#7c3aed0a!important}.dsv-idx-row .dsv-td-idx{border-left:3px solid #7c3aed;color:#9d8fb8!important;padding-left:17px!important}.dsv-idx-row:hover td{background:#7c3aed11!important}.dsv-idx-badge{color:#c4b5fd;font-family:var(--font-mono);letter-spacing:.05em;vertical-align:middle;-webkit-user-select:none;user-select:none;background:#1e1040;border-radius:3px;align-items:center;margin-left:6px;padding:1px 5px 2px;font-size:.58rem;font-weight:700;line-height:1.4;display:inline-flex}.dsv-th-indexed{white-space:nowrap;color:#4c1d95!important;background:#7c3aed0f!important;border-left:3px solid #7c3aed!important}.dsv-th-indexed .dsv-idx-badge{margin-left:5px}.dsv-td-indexed{color:#3d2c5a;font-weight:500;background:#7c3aed06!important;border-left:3px solid #7c3aed33!important}.dsv-data-idx-note{color:#9d8fb8;align-items:center;gap:4px;margin-left:4px;font-size:.72rem;display:inline-flex}.dsv-schema-table td{vertical-align:middle;border-bottom:1px solid #f0ecf8;padding:10px 20px}.dsv-schema-table tr:last-child td{border-bottom:none}.dsv-td-idx{font-family:var(--font-mono);color:#d4c8ea;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.02em;-webkit-user-select:none;user-select:none;font-size:.68rem;padding-right:16px!important}.dsv-td-name{font-family:var(--font-mono);color:#1e1040;letter-spacing:-.01em;font-size:.82rem;font-weight:600}.dsv-td-type{padding-left:12px!important}.dsv-td-nullable{text-align:center}.dsv-nullable-yes{color:#86efac;font-size:.55rem;line-height:1;display:inline-block}.dsv-nullable-no{color:#d4c8ea;font-size:.65rem;line-height:1;display:inline-block}.dsv-type-chip{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;text-transform:uppercase;border-style:solid;border-width:1px;border-radius:5px;align-items:center;padding:2px 7px 3px;font-size:.68rem;font-weight:700;display:inline-flex}.chip-string{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.chip-numeric{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.chip-int{color:#92400e;background:#fffbeb;border-color:#fde68a}.chip-bool{color:#5b21b6;background:#f5f3ff;border-color:#ddd6fe}.chip-date{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.chip-geo{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.chip-json{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.chip-binary{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.chip-other{color:#7c3aed;background:#faf8ff;border-color:#ddd0f5}.dsv-data-table thead th{z-index:1;color:#8b7aab;font-family:var(--font-mono);text-transform:none;letter-spacing:.02em;text-align:left;white-space:nowrap;background:#f8f6fc;border-bottom:2px solid #e8e2f4;padding:9px 14px;font-size:.68rem;font-weight:700;position:sticky;top:0}.dsv-data-table td{vertical-align:middle;border-bottom:1px solid #f0ecf8;padding:7px 14px}.dsv-data-table tr:last-child td{border-bottom:none}.dsv-data-table tbody tr:hover td{background:#faf8ff}.dsv-th-rownum{width:48px;background:#f8f6fc!important}.dsv-td-rownum{font-family:var(--font-mono);color:#d4c8ea;text-align:right;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;font-size:.65rem;padding-right:10px!important}.dsv-td-data{font-family:var(--font-mono);color:#2d1f4a;text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:.75rem;overflow:hidden}.dsv-null{color:#c4b5fd;font-size:.7rem;font-style:italic}.dsv-add-btn{color:#7c3aed;cursor:pointer;white-space:nowrap;letter-spacing:.01em;background:#f3eeff;border:1px solid #ddd0f5;border-radius:6px;padding:3px 9px;font-size:.72rem;font-weight:700;transition:background .1s,box-shadow .1s}.dsv-add-btn:hover{background:#ede9f4;box-shadow:0 1px 4px #7c3aed2e}.rds-overlay{z-index:2200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f08238c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rds-modal{background:var(--card);border-radius:14px;flex-direction:column;width:min(92vw,520px);display:flex;overflow:hidden;box-shadow:0 12px 48px #14083c38,0 2px 8px #14083c1a}.rds-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.rds-title{font-size:.95rem;font-weight:700}.rds-close{color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px 6px;font-size:.95rem;line-height:1;transition:background .1s}.rds-close:hover{color:#3d2c5a;background:#f3eeff}.rds-close:disabled{opacity:.4;cursor:default}.rds-steps{align-items:center;padding:16px 24px 12px;display:flex}.rds-step-item{flex:1;align-items:center;gap:8px;display:flex}.rds-step-item:last-child{flex:0}.rds-step-bubble{color:#b3a8c8;background:#fff;border:2px solid #ddd0f5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.72rem;font-weight:700;transition:all .2s;display:flex}.rds-step-bubble.active{border-color:var(--accent-foreground);background:var(--accent-foreground);color:var(--accent)}.rds-step-bubble.done{border-color:var(--brand-green-500);background:var(--brand-green-500);color:var(--foreground)}.rds-step-label{color:#b3a8c8;white-space:nowrap;font-size:.72rem;font-weight:600}.rds-step-label.active{color:var(--accent-foreground)}.rds-step-label.done{color:var(--brand-green-500)}.rds-step-connector{background:#ede9f4;border-radius:1px;flex:1;height:2px;margin:0 8px;transition:background .2s}.rds-step-connector.done{background:var(--brand-green-500)}.rds-body{flex-direction:column;gap:14px;padding:16px 22px 20px;display:flex}.rds-field{flex-direction:column;flex:1;gap:5px;display:flex}.rds-label{text-transform:uppercase;letter-spacing:.05em;font-size:.71rem;font-weight:700}.rds-label-hint{text-transform:none;letter-spacing:0;color:#9d8fb8;font-size:.7rem;font-weight:400}.rds-input{box-sizing:border-box;width:100%;color:var(--foreground)!important;background:var(--background)!important;outline:none!important}.rds-hint{color:#b3a8c8;font-size:.68rem}.rds-row{gap:12px;display:flex}.rds-format-badge{background:var(--background);border:1px solid var(--border);color:var(--foreground);text-transform:uppercase;border-radius:10px;align-items:center;padding:10px 12px;display:inline-flex}.rds-upload-info{background:#faf8ff;border:1px solid #ede9f4;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.rds-upload-info-label{text-transform:uppercase;letter-spacing:.07em;color:#9d8fb8;font-size:.65rem;font-weight:700}.rds-upload-url{font-family:var(--font-mono);color:#5c4a7a;word-break:break-all;font-size:.68rem;line-height:1.4}.rds-dropzone{cursor:pointer;background:#faf8ff;border:2px dashed #ddd0f5;border-radius:10px;justify-content:center;align-items:center;padding:28px 16px;transition:border-color .15s,background .15s;display:flex}.rds-dropzone:hover{background:#f5f0ff;border-color:#7c3aed}.rds-dropzone-has-file{cursor:default;background:#f0fdf4;border-color:#a7f3d0;padding:16px}.rds-dropzone-prompt{color:#9d8fb8;text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.rds-dropzone-icon{font-size:1.6rem;line-height:1}.rds-dropzone-text{font-size:.8rem;line-height:1.4}.rds-file-selected{align-items:center;gap:12px;width:100%;display:flex}.rds-file-icon{flex-shrink:0;font-size:1.4rem}.rds-file-name{font-family:var(--font-mono);color:#1e1040;word-break:break-all;font-size:.8rem;font-weight:600}.rds-file-size{color:#7a6a96;margin-top:2px;font-size:.7rem}.rds-file-remove{color:#9d8fb8;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px 5px;font-size:.85rem}.rds-file-remove:hover{color:#7c3aed;background:#f3eeff}.rds-progress-wrap{background:#ede9f4;border-radius:999px;height:6px;position:relative;overflow:visible}.rds-progress-bar{background:linear-gradient(90deg,#7c3aed,#a855f7);border-radius:999px;height:100%;transition:width .2s}.rds-progress-label{color:#7c3aed;font-size:.68rem;font-weight:700;position:absolute;top:-20px;right:0}.rds-tag-input-wrap{cursor:text;background:#faf8ff;border:1px solid #ddd0f5;border-radius:8px;flex-wrap:wrap;align-items:center;gap:5px;min-height:42px;padding:6px 10px;transition:border-color .12s,box-shadow .12s;display:flex}.rds-tag-input-wrap:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.rds-index-tag{color:#3d2c5a;font-family:var(--font-mono);background:#ede9f4;border-radius:5px;align-items:center;gap:4px;padding:2px 7px 2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.rds-tag-remove{color:#9d8fb8;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;line-height:1}.rds-tag-remove:hover{color:#be123c}.rds-tag-input{flex:1;min-width:100px;font-size:.82rem!important;font-family:var(--font-mono)!important;color:#1e1040!important;background:0 0!important;border:none!important;outline:none!important;padding:2px 0!important}.rds-col-chips{background:#f5f3ff;border:1px solid #ddd0f5;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;padding:8px 10px;display:flex}.rds-col-chip{color:#5b21b6;font-size:.78rem;font-weight:600;font-family:var(--font-mono);cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#ede9fe;border:1px solid #c4b5fd;border-radius:999px;align-items:center;padding:3px 10px;transition:background .12s,box-shadow .12s,transform .1s;display:inline-flex}.rds-col-chip:hover{background:#ddd6fe;box-shadow:0 2px 6px #7c3aed33}.rds-col-chip:active{cursor:grabbing;transform:scale(.96)}.rds-col-chips-empty{color:#b3a8c8;font-size:.75rem;font-style:italic}.rds-tag-input-wrap.rds-drop-active{box-shadow:0 0 0 2px #7c3aed40;background:#f3e8ff!important;border-color:#7c3aed!important}.rds-finalize-summary{background:#faf8ff;border:1px solid #ede9f4;border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.rds-summary-row{align-items:baseline;gap:10px;display:flex}.rds-summary-key{text-transform:uppercase;letter-spacing:.06em;color:#9d8fb8;flex-shrink:0;width:80px;font-size:.68rem;font-weight:700}.rds-summary-val{font-family:var(--font-mono);color:#1e1040;font-size:.78rem;font-weight:600}.rds-summary-val em{color:#b3a8c8;font-style:italic;font-weight:400}.rds-error{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:7px;padding:8px 11px;font-size:.78rem;line-height:1.4}.rds-footer{justify-content:flex-end;align-items:center;gap:8px;padding-top:4px;display:flex}.rds-footer-center{justify-content:center}.rds-btn-ghost{color:#7a6a96;cursor:pointer;background:#fff;border:1px solid #ddd0f5;border-radius:7px;padding:7px 14px;font-size:.8rem;font-weight:600;transition:background .1s}.rds-btn-ghost:hover:not(:disabled){background:#f3f0f9}.rds-btn-ghost:disabled{opacity:.45;cursor:default}.rds-btn-primary{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:7px;align-items:center;gap:6px;padding:7px 18px;font-size:.8rem;font-weight:700;transition:background .12s,box-shadow .12s;display:flex}.rds-btn-primary:hover:not(:disabled){background:#6d28d9;box-shadow:0 2px 8px #6d28d959}.rds-btn-primary:disabled{opacity:.45;cursor:default}.rds-done{text-align:center;align-items:center;padding:32px 24px 28px}.rds-done-icon{color:#fff;background:#16a34a;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:12px;font-size:1.4rem;font-weight:700;display:flex}.rds-done-title{color:#1e1040;margin:0 0 6px;font-size:1rem;font-weight:700}.rds-done-sub{color:#7a6a96;margin:0 0 20px;font-size:.82rem;line-height:1.5}.rds-exists-block{flex-direction:column;gap:10px;animation:.18s rds-fade-in;display:flex}@keyframes rds-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.rds-exists-banner{background:#fffbeb;border:1px solid #fde68a;border-radius:9px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.rds-exists-icon{color:#d97706;flex-shrink:0;margin-top:1px;font-size:1rem}.rds-exists-title{color:#92400e;margin-bottom:3px;font-size:.82rem;font-weight:700}.rds-exists-sub{color:#78350f;font-size:.77rem;font-family:var(--font-mono);line-height:1.4}.rds-exists-warning{color:#7c3aed;background:#f5f0ff;border:1px solid #ddd6fe;border-radius:8px;padding:9px 12px;font-size:.77rem;line-height:1.5}.rds-btn-overwrite{color:#fff;cursor:pointer;background:#d97706;border:none;border-radius:7px;align-items:center;gap:6px;padding:7px 18px;font-size:.8rem;font-weight:700;transition:background .12s,box-shadow .12s;display:flex}.rds-btn-overwrite:hover:not(:disabled){background:#b45309;box-shadow:0 2px 8px #b4530959}.subflow-version-control{flex-direction:column;gap:7px;margin-top:8px;display:flex}.subflow-version-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.subflow-version-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.07em;margin-right:2px;font-size:.75rem;font-weight:600}.subflow-version-toggle{border:1px solid var(--surface-stroke-strong);background:#f7f4fc;border-radius:8px;flex-shrink:0;display:inline-flex;overflow:hidden}.subflow-version-pill{color:var(--ink-secondary);cursor:pointer;white-space:nowrap;letter-spacing:.01em;background:0 0;border:none;border-radius:0;padding:5px 13px;font-size:.78rem;font-weight:600;line-height:1.4;transition:background .14s,color .14s}.subflow-version-pill:focus{z-index:1;box-shadow:inset 0 0 0 2px var(--brand-purple-500);outline:none;position:relative}.subflow-version-pill.active{background:var(--brand-purple-700);color:#fff}.subflow-version-pill:not(.active):hover{background:#ede8f8}.subflow-version-badge{color:var(--brand-purple-700);letter-spacing:.025em;background:#8017e117;border:1px solid #8017e12e;border-radius:20px;align-items:center;padding:2px 8px;font-size:.73rem;font-weight:700;display:inline-flex}.subflow-specific-select{appearance:none;border:1px solid var(--surface-stroke-strong);color:var(--ink-primary);cursor:pointer;background:#f8f6fc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%238017e1' stroke-width='1.7' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 9px center no-repeat;border-radius:7px;min-width:72px;padding:5px 28px 5px 10px;font-size:.8rem;font-weight:600;transition:border-color .12s}.subflow-specific-select:focus{outline:2px solid var(--brand-purple-500);outline-offset:1px}.subflow-specific-select:hover{border-color:var(--brand-purple-700)}.subflow-specific-input{border:1px solid var(--surface-stroke-strong);color:var(--ink-primary);background:#f8f6fc;border-radius:7px;width:72px;padding:5px 10px;font-size:.8rem;font-weight:600;transition:border-color .12s}.subflow-specific-input:focus{outline:2px solid var(--brand-purple-500);outline-offset:1px}.subflow-resolved-chip{font-family:var(--font-mono);background:#f5f1fc;border:1px solid #8017e126;border-radius:8px;align-items:center;gap:8px;padding:7px 11px;font-size:.74rem;display:flex;overflow:hidden}.subflow-resolved-arrow{color:var(--brand-purple-700);opacity:.7;flex-shrink:0;font-weight:700}.subflow-resolved-id{color:var(--ink-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.subflow-resolved-tag{color:var(--ink-muted);letter-spacing:.03em;text-transform:uppercase;background:#8017e112;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:.7rem;font-weight:600}@keyframes sfmap-edge-march{0%{stroke-dashoffset:28px}to{stroke-dashoffset:0}}.sfmap-edge-flow{animation:1.6s linear infinite sfmap-edge-march}.sfmap-modal{flex-direction:column;max-height:90vh;display:flex}.sfmap-modal-wide{max-width:min(1200px,96vw)!important}.sfmap-modal .modal-header{border-bottom:1px solid var(--surface-stroke);flex-shrink:0;margin-bottom:0;padding-bottom:14px}.sfmap-header{align-items:flex-start!important;gap:12px!important;display:flex!important}.sfmap-header-text{flex:1;min-width:0}.sfmap-view-toggle{background:var(--surface-2,#f5f5f7);border:1px solid var(--surface-stroke);border-radius:22px;flex-shrink:0;align-self:center;gap:2px;padding:3px;display:flex}.sfmap-view-btn{color:var(--ink-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:18px;padding:5px 14px;font-size:.78rem;font-weight:600;transition:background .12s,color .12s,box-shadow .12s}.sfmap-view-btn-active{color:var(--ink-primary);background:#fff;box-shadow:0 1px 3px #0000001f}.sfmap-view-btn:not(.sfmap-view-btn-active):hover{color:var(--ink-primary);background:#0000000a}.sfmap-l2-bar{color:var(--ink-secondary);background:var(--surface-2,#f8f8fa);border-bottom:1px solid var(--surface-stroke);flex-shrink:0;align-items:center;gap:8px;padding:7px 20px;font-size:.81rem;display:flex}.sfmap-l2-bar-error{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.sfmap-l2-bar-hint{color:var(--ink-muted);font-style:italic}@keyframes sfmap-l2-spin{to{transform:rotate(360deg)}}.sfmap-l2-spinner{border:2px solid var(--surface-stroke-strong);border-top-color:var(--brand-purple-700);border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite sfmap-l2-spin;display:inline-block}.sfmap-target-has-l2{border-width:2px!important}.sfmap-l2-target{opacity:.92}.sfmap-canvas{flex:1;min-height:220px;padding:16px 20px 4px;overflow:auto}.sfmap-node{box-sizing:border-box;border-radius:10px;flex-direction:column;justify-content:center;gap:3px;height:100%;padding:8px 11px;display:flex;overflow:hidden}.sfmap-node-type{text-transform:uppercase;letter-spacing:.09em;opacity:.65;font-size:.62rem;font-weight:700;line-height:1}.sfmap-node-name{font-size:.75rem;font-weight:700;font-family:var(--font-mono);line-height:1.25;overflow:hidden}.sfmap-node-desc{white-space:nowrap;text-overflow:ellipsis;opacity:.7;font-size:.65rem;line-height:1.2;overflow:hidden}.sfmap-node-badges{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.sfmap-node-name-row{align-items:center;gap:6px;min-width:0;display:flex}.sfmap-node-name-row .sfmap-node-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0}.sfmap-node-name-row .sfmap-node-badges{flex-shrink:0;margin-top:0}.sfmap-node-orch{background:var(--brand-purple-700);color:#fff;border:2px solid var(--brand-purple-900);box-shadow:0 0 18px #8017e147}.sfmap-node-orch .sfmap-node-type{opacity:.7}.sfmap-node-orch .sfmap-node-name{font-size:.78rem}.sfmap-node-op{border:1.5px solid var(--surface-stroke-strong);color:var(--ink-primary);background:#f6f2fd}.sfmap-node-empty{opacity:.6;background:#fafafa;border:1.5px dashed #ccc}.sfmap-unset{color:var(--ink-muted);opacity:1;font-style:italic}.sfmap-node-target{color:var(--ink-primary)}.sfmap-target-latest{background:#fffbeb;border:1.5px solid #f59e0b;box-shadow:0 0 10px #f59e0b1f}.sfmap-target-pinned{background:#f0fdf4;border:1.5px solid #10b981;box-shadow:0 0 10px #10b9811a}.sfmap-node-op-dataset{color:var(--ink-primary);background:#eff6ff;border:1.5px solid #93c5fd}.sfmap-target-dataset{background:#ecfeff;border:1.5px solid #06b6d4;box-shadow:0 0 10px #06b6d41a}.sfmap-badge{letter-spacing:.04em;border-radius:20px;align-items:center;padding:1px 7px;font-size:.67rem;font-weight:700;line-height:1.5;display:inline-flex}.sfmap-badge-latest{color:#b45309;background:#f59e0b24;border:1px solid #f59e0b61}.sfmap-badge-pinned{color:#047857;background:#10b9811c;border:1px solid #10b98152}.sfmap-badge-dataset{color:#0e7490;background:#06b6d41c;border:1px solid #06b6d452}.sfmap-col-label{font-size:10px;font-family:var(--font-sans);fill:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.sfmap-legend{border-top:1px solid var(--surface-stroke);flex-wrap:wrap;flex-shrink:0;gap:24px;padding:12px 20px 16px;display:flex}.sfmap-legend-item{color:var(--ink-secondary);align-items:center;gap:8px;font-size:.79rem;display:flex}.sfmap-orch-chip{font-family:var(--font-mono);color:var(--brand-purple-700);font-size:.82rem;font-weight:600}.sfmap-stat{font-weight:600}.sfmap-stat-latest{color:#b45309}.sfmap-stat-pinned{color:#047857}.sfmap-stat-dataset{color:#0e7490}.sfmap-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:60px 20px;display:flex}.sfmap-empty p{margin:0}.sfmap-empty-icon{opacity:.35;margin-bottom:4px}.rds-btn-overwrite:disabled{opacity:.45;cursor:default}.export-opts-modal{width:540px;max-width:96vw}.export-opts-body{flex-direction:column;gap:20px;padding:20px 24px;display:flex}.export-opts-deps{background:var(--surface-2,#f8f8fa);border:1px solid var(--surface-stroke);border-radius:10px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.export-opts-dep-row{color:var(--ink-secondary);align-items:center;gap:10px;font-size:.86rem;display:flex}.export-opts-dep-badge{letter-spacing:.04em;border-radius:20px;flex-shrink:0;align-items:center;padding:2px 9px;font-size:.67rem;font-weight:700;display:inline-flex}.export-opts-dep-badge-sf{color:var(--brand-purple-700);background:#8017e11a;border:1px solid #8017e140}.export-opts-dep-badge-ds{color:#0e7490;background:#06b6d41c;border:1px solid #06b6d452}.export-opts-options{flex-direction:column;gap:12px;display:flex}.export-opts-option{border:1px solid var(--surface-stroke);background:var(--surface-1,#fff);border-radius:10px;padding:12px 14px}.export-opts-option-label{color:var(--ink-primary);margin-bottom:4px;font-size:.88rem;font-weight:600}.export-opts-option-hint{color:var(--ink-secondary);font-size:.8rem;line-height:1.5}.export-opts-option-hint code{font-family:var(--font-mono);background:#0000000d;border-radius:4px;padding:1px 5px;font-size:.78rem}.export-opts-dataset-note{color:#0e7490}.export-opts-progress{color:var(--ink-secondary);font-size:.82rem;font-family:var(--font-mono);align-items:center;gap:8px;display:flex}@keyframes export-spin{to{transform:rotate(360deg)}}.export-opts-spinner{border:2px solid var(--surface-stroke-strong);border-top-color:var(--brand-purple-700);border-radius:50%;flex-shrink:0;width:13px;height:13px;animation:.7s linear infinite export-spin;display:inline-block}.export-opts-error{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:10px 12px;font-size:.82rem;line-height:1.5}.export-opts-footer{border-top:1px solid var(--surface-stroke);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 24px 18px;display:flex}.page-content-jobs{flex-direction:column;display:flex;overflow:hidden;padding:0!important}.jobs-view{flex-direction:column;height:100%;display:flex;overflow:hidden}.jobs-tabs{border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0;gap:0;padding:0 20px;display:flex}.jobs-tab{cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 18px;font-size:.85rem;font-weight:600;transition:color .12s,border-color .12s}.jobs-tab:hover{color:var(--accent-foreground)}.jobs-tab-active{color:var(--accent-foreground);border-bottom-color:var(--accent-foreground)}.jobs-sync-badge{white-space:nowrap;border-radius:10px;align-self:center;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:500}.jobs-sync-badge-syncing{color:#6d28d9;background:#ede9fe}.jobs-sync-badge-done{color:#065f46;background:#d1fae5}.jobs-sync-badge-error{color:#991b1b;background:#fee2e2}.jobs-tab-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.jobs-connectors-layout{flex:1;height:100%;display:flex;overflow:hidden}.jobs-connector-rail{border-right:1px solid var(--border);background:var(--card);flex-direction:column;flex-shrink:0;gap:2px;width:180px;min-width:160px;padding:16px 0;display:flex}.jobs-connector-rail-label{text-transform:uppercase;letter-spacing:.05em;padding:0 14px 8px;font-size:.72rem;font-weight:700}.jobs-connector-btn{text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:6px;padding:8px 14px;font-size:.83rem;font-weight:500;transition:background .1s;display:flex}.jobs-connector-btn:hover:not(:disabled){background:var(--background)}.jobs-connector-btn-active{background:var(--background);border-left:2px solid var(--border);padding-left:12px;font-weight:700}.jobs-connector-btn-disabled{color:var(--muted-foreground)}.jobs-connector-soon{color:#9985c0;text-transform:uppercase;letter-spacing:.04em;background:#f0ecfb;border-radius:999px;padding:1px 6px;font-size:.66rem;font-weight:700}.jobs-connector-content,.jobs-config-layout,.jobs-status-layout{flex-direction:column;flex:1;padding:24px 28px;display:flex;overflow-y:auto}.jobs-section-header{margin-bottom:18px}.jobs-section-header h3{margin:0 0 4px;font-size:1rem;font-weight:700}.jobs-section-header .hint{margin:0}.jobs-upload-form{max-width:540px;margin-bottom:28px}.jobs-config-form{max-width:600px;margin-bottom:28px}.jobs-flow-select-row{align-items:center;gap:8px;display:flex}.jobs-refresh-btn{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:10px 8px;transition:background .1s;display:flex}.jobs-refresh-btn:hover:not(:disabled){background:var(--background);color:var(--foreground)}.jobs-refresh-btn:disabled{opacity:.45;cursor:default}.jobs-table-section{margin-top:8px}.jobs-table-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.jobs-table-header h4{margin:0;font-size:.88rem;font-weight:700}.jobs-table-count{color:#7c3aed;background:#ede9f4;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700;line-height:1.6}.jobs-filter-badge{opacity:.75;font-weight:500}.jobs-context-banner{color:#3d2c5a;background:#f0edfa;border:1px solid #d8d0f0;border-radius:6px;margin-bottom:14px;padding:8px 12px;font-size:.78rem;line-height:1.5}.jobs-context-banner-hint{color:#7c3aed;font-style:italic}.jobs-status-header-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.jobs-status-header-row h3{margin:0 0 2px}.jobs-status-header-controls{flex-shrink:0;align-items:center;gap:8px;padding-top:4px;display:flex}.jobs-time-filter-wrap{background:#f3eeff;border:1px solid #d8c8f5;border-radius:7px;align-items:center;gap:0;height:30px;padding:0 8px 0 7px;transition:border-color .15s,box-shadow .15s;display:flex}.jobs-time-filter-wrap:focus-within{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1f}.jobs-time-filter-icon{color:#7c3aed;opacity:.85;flex-shrink:0;width:13px;height:13px;margin-right:5px}.jobs-time-filter-select{color:#4c2e8a;cursor:pointer;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237c3aed' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 0 center no-repeat;border:none;outline:none;padding:0 16px 0 0;font-size:.77rem;font-weight:500}.jobs-time-filter-select option{color:#3d2c5a;background:#fff}.jobs-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.jobs-sort-icon{margin-left:3px;font-size:.7rem}.jobs-sort-icon-idle{color:#b0a0cc}.jobs-pagination{justify-content:center;align-items:center;gap:12px;padding:12px 0 4px;display:flex}.jobs-page-btn{color:#3d2c5a;cursor:pointer;background:#f7f5fc;border:1px solid #d4c8ea;border-radius:6px;padding:4px 12px;font-size:.8rem}.jobs-page-btn:hover:not(:disabled){background:#ede9f4}.jobs-page-btn:disabled{opacity:.4;cursor:default}.jobs-page-info{color:#7a6899;font-size:.78rem}.jobs-cell-id{text-overflow:ellipsis;white-space:nowrap;cursor:default;max-width:120px;overflow:hidden}.jobs-table-scroll{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.jobs-table{border-collapse:collapse;border-radius:8px;width:100%;font-size:.82rem;overflow:hidden;box-shadow:0 1px 3px #3c1e640f}.jobs-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--card-foreground);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--card);padding:8px 12px;font-size:.72rem;font-weight:700}.jobs-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 12px}.jobs-table tr:last-child td{border-bottom:none}.jobs-table-full{min-width:700px}.jobs-cell-name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:500;overflow:hidden}.jobs-cell-mono{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.76rem;overflow:hidden}.jobs-cell-cols{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.78rem;overflow:hidden}.jobs-cell-date{white-space:nowrap;font-size:.78rem}.jobs-cell-progress{min-width:130px}.jobs-progress-wrap{align-items:center;gap:8px;display:flex}.jobs-progress-track{background:#ede8f8;border-radius:99px;flex:1;height:5px;overflow:hidden}.jobs-progress-fill{background:linear-gradient(90deg,#6d28d9 0%,#a78bfa 100%);border-radius:99px;height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.jobs-progress-fill--running:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff8c 50%,#0000 100%);animation:1.6s ease-in-out infinite jobs-shimmer;position:absolute;inset:0}@keyframes jobs-shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.jobs-progress-fill--completed{background:linear-gradient(90deg,#059669 0%,#34d399 100%)}.jobs-progress-pct{color:#7c3aed;font-variant-numeric:tabular-nums;text-align:right;letter-spacing:-.01em;white-space:nowrap;min-width:30px;font-size:.7rem;font-weight:700}.jobs-progress-pct--completed{color:#059669}.jobs-cell-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.jobs-action-btn{color:#5b3fa8;cursor:pointer;white-space:nowrap;background:#f0ecfb;border:1px solid #ddd0f5;border-radius:6px;padding:4px 10px;font-size:.77rem;font-weight:600;transition:background .1s,color .1s}.jobs-action-btn:hover:not(:disabled){color:#3d2c5a;background:#ddd6fe}.jobs-action-btn:disabled{opacity:.45;cursor:default}.jobs-action-btn-danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca;padding:4px 8px}.jobs-action-btn-danger:hover:not(:disabled){color:#991b1b;background:#fee2e2}.jobs-file-id-display{background:#f5f3fb;border:1px solid #e4ddf5;border-radius:7px;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;display:flex}.jobs-file-id-label{text-transform:uppercase;letter-spacing:.04em;color:#9985c0;white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:700}.jobs-file-id-value{color:#5b3fa8;word-break:break-all;font-size:.76rem}.inspector-fieldset{border:0;min-width:0;margin:0;padding:0}.time-travel-icon-btn{color:#5b3fa0;cursor:pointer;background:#f7f5fc;border:1.5px solid #ddd0f5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background .12s,border-color .12s,color .12s;display:flex}.time-travel-icon-btn:hover{color:#3b1a6e;background:#ede9f4;border-color:#b89fe0}.time-travel-icon-btn.active{color:#fff;background:#7c3aed;border-color:#7c3aed}.snapshot-banner{color:#78350f;background:#fef3c7;border-bottom:1px solid #f5d37a;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;display:flex}.tt-modal{gap:12px;width:min(520px,94vw)}.tt-header{justify-content:space-between;align-items:flex-start;display:flex}.tt-title{margin:0;font-size:1.1rem}.tt-subtitle{color:#7a6a96;margin:2px 0 0;font-size:.8rem}.tt-hint{color:#6b5d85;margin:0;font-size:.8rem}.tt-list{border:1px solid var(--surface-stroke);border-radius:10px;max-height:46vh;margin:0;padding:0;list-style:none;overflow-y:auto}.tt-row{border-bottom:1px solid #f0eaf8;align-items:center;gap:8px;padding:8px 12px;display:flex}.tt-row:last-child{border-bottom:0}.tt-row-viewing{background:#f8f3ff}.tt-version{min-width:52px;font-weight:600}.tt-badge{border-radius:999px;padding:1px 7px;font-size:.68rem;font-weight:700}.tt-badge-latest{color:#166534;background:#dcfce7}.tt-badge-viewing{color:#5b21b6;background:#ede9fe}.tt-badge-old{color:#6b7280;background:#f3f4f6}.tt-view-btn{border-radius:8px;padding:3px 12px;font-size:.8rem}.tt-vacuum{background:#fff7f7;border:1px solid #f3c9c9;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.tt-vacuum-text{color:#6b5d85;flex:1;gap:2px;font-size:.78rem;display:grid}.tt-protected{color:#6b5d85;margin:0;padding-left:18px;font-size:.8rem}.vtt-row{align-items:center;gap:12px;margin:0 0 10px;display:flex}.vtt-row-label{letter-spacing:.12em;text-transform:uppercase;font-size:.64rem;font-weight:600}.vtt{background:#efe8fa;border:1px solid #ddd0f2;border-radius:999px;grid-template-columns:1fr 1fr;padding:2px;display:inline-grid;position:relative;box-shadow:inset 0 1px 2px #531e9114}.vtt-thumb{background:linear-gradient(135deg,#8a3df0,#6d28d9);border-radius:999px;width:calc(50% - 2px);transition:transform .28s cubic-bezier(.34,1.4,.5,1);position:absolute;top:2px;bottom:2px;left:2px;box-shadow:0 2px 8px #6d28d959}.vtt[data-pos=recent] .vtt-thumb{transform:translate(100%)}.vtt .vtt-opt{z-index:1;min-width:58px;line-height:1.2;font-family:var(--font-sans);letter-spacing:.01em;color:#6d28d9;cursor:pointer;justify-content:center;align-items:center;gap:5px;font-size:.72rem;font-weight:600;transition:color .2s;display:inline-flex;position:relative;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:999px!important;padding:4px 11px!important}.vtt .vtt-opt[aria-checked=true]{color:#fff}.vtt .vtt-opt:disabled{opacity:.4;cursor:not-allowed}.vtt-dot{opacity:.9;background:currentColor;border-radius:50%;width:5px;height:5px;animation:2.4s ease-in-out infinite vtt-pulse}.vtt-opt[aria-checked=false] .vtt-dot{opacity:.45;animation:none}@keyframes vtt-pulse{50%{opacity:.4;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.vtt-thumb{transition:none}.vtt-dot{animation:none}}.header-btn.preview-active{color:#fff!important;background:#0f766e!important;border-color:#0f766e!important}.preview-row{grid-column:1/-1;min-width:0;min-height:0}.preview-panel{background:var(--card);border-top:1px solid #d4c5ee;flex-direction:column;flex:none;height:280px;min-height:0;display:flex;position:relative}.preview-resize-handle{cursor:ns-resize;z-index:6;touch-action:none;height:9px;position:absolute;top:-4px;left:0;right:0}.preview-resize-handle:hover,.preview-resize-handle:active{background:linear-gradient(#0000 3px,#7c3aed 3px 6px,#0000 6px)}.preview-row--max{z-index:30;flex-direction:column;display:flex;position:absolute;inset:0}.preview-panel--max{flex:1;height:100%}.preview-table th.preview-vh{text-align:left;vertical-align:top;white-space:nowrap}.preview-panel--collapsed{height:auto}.preview-header{border-bottom:1px solid #ece4f7;justify-content:space-between;align-items:center;gap:8px;padding:4px 10px;display:flex}.preview-tabs,.preview-actions,.preview-filters{align-items:center;gap:6px;display:flex}.preview-title{margin-right:6px;font-size:.85rem;font-weight:700}.preview-tabs button,.preview-actions button,.preview-filters button{border-radius:6px;padding:3px 9px;font-size:.78rem}.preview-tabs button.active,.preview-filters button.active{color:#fff;background:#0f766e;border-color:#0f766e}.preview-status,.preview-muted{color:#6b7280;font-size:.75rem}.preview-body{flex-direction:column;flex:1;min-height:0;display:flex}.preview-banner{background:#f3f4f6;padding:4px 10px;font-size:.78rem}.preview-banner--warn{color:#92400e;background:#fef3c7}.preview-banner--error{color:#991b1b;background:#fee2e2}.preview-link{color:#0f766e;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.preview-filters{padding:4px 10px}.preview-empty{color:#6b7280;padding:18px;font-size:.85rem}.preview-scroll{flex:1;min-height:0;display:flex;position:relative}.preview-scroll:before,.preview-scroll:after{content:"";pointer-events:none;z-index:3;opacity:0;width:28px;transition:opacity .2s;position:absolute;top:0;bottom:12px}.preview-scroll:before{background:linear-gradient(90deg,#0f766e24,#0000);left:0}.preview-scroll:after{background:linear-gradient(270deg,#0f766e24,#0000);right:0}.preview-scroll:has(.preview-scroll-btn--left):before{opacity:1}.preview-scroll:has(.preview-scroll-btn--right):after{opacity:1}.preview-scroll-btn{z-index:4;color:#0f766e;cursor:pointer;background:#fff;border:1px solid #0f766e;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;font-size:1.1rem;line-height:1;transition:background .15s,color .15s,transform .15s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0f766e40}.preview-scroll-btn:hover{color:#fff;background:#0f766e;transform:translateY(-50%)scale(1.1)}.preview-scroll-btn--left{left:36px}.preview-scroll-btn--right{right:14px}.preview-table-wrap{scrollbar-width:thin;scrollbar-color:#0f766e #f3eefb;flex:1;min-width:0;min-height:0;overflow:auto}.preview-table-wrap::-webkit-scrollbar{width:12px;height:12px}.preview-table-wrap::-webkit-scrollbar-track{background:#f3eefb}.preview-table-wrap::-webkit-scrollbar-thumb{background:#0f766e;border:3px solid #f3eefb;border-radius:6px}.preview-table-wrap::-webkit-scrollbar-thumb:hover{background:#0b5d57}.preview-tone-0{--alt:#c2410c;--alt-bg:#fde9dd;--alt-soft:#fff6f0;--tone:#0f766e;--tone-bg:#e6f4f2;--tone-soft:#f4fbfa}.preview-tone-1{--alt:#0f766e;--alt-bg:#dff3f0;--alt-soft:#f2fbf9;--tone:#6d4aba;--tone-bg:#efe8fb;--tone-soft:#f9f6fe}.preview-tone-2{--alt:#2563a8;--alt-bg:#e0ecf9;--alt-soft:#f3f8fd;--tone:#b45309;--tone-bg:#fdf0dc;--tone-soft:#fffaf1}.preview-tone-3{--alt:#b45309;--alt-bg:#fbecd3;--alt-soft:#fffaf0;--tone:#2563a8;--tone-bg:#e5eefa;--tone-soft:#f5f9fe}.preview-table thead th{box-sizing:border-box;height:26px}.preview-table th.preview-h{background:var(--tone-soft);color:#374151;text-align:center;font-size:.75rem;font-weight:500}.preview-table th.preview-h--l0{background:var(--tone);color:#fff;letter-spacing:.04em;border-right-color:#ffffff40;font-size:.8rem;font-weight:700}.preview-table th.preview-h--l1:not(.preview-h--leaf){background:var(--tone-bg);color:var(--tone);border-bottom:2px solid var(--tone);font-weight:700}.preview-table th.preview-h--leaf{border-bottom:2px solid var(--tone)}.preview-table th.preview-h--l0.preview-h--leaf{text-align:left}.preview-table td.preview-tone-0,.preview-table td.preview-tone-1,.preview-table td.preview-tone-2,.preview-table td.preview-tone-3{background:var(--tone-soft)}.preview-table td.preview-group-start,.preview-table th.preview-group-start{border-left:2px solid var(--tone)!important}.preview-table td.preview-sub-start{border-left:1px dashed var(--tone)}.preview-table tbody tr:hover td{filter:brightness(.96)}.preview-table th.preview-rownum,.preview-table td.preview-rownum{z-index:2;position:sticky;left:0}.preview-table th.preview-rownum{z-index:4}.preview-table{border-collapse:collapse;min-width:100%;font-size:.8rem}.preview-table th,.preview-table td{text-align:left;white-space:nowrap;text-overflow:ellipsis;vertical-align:top;border-bottom:1px solid #ece4f7;border-right:1px solid #f3eefb;max-width:360px;padding:3px 8px;overflow:hidden}.preview-table th{z-index:1;font-weight:600;position:sticky;top:0}.preview-rownum{color:#9ca3af;width:32px;text-align:right!important}.preview-cell--obj{cursor:pointer}.preview-cell pre{white-space:pre-wrap;margin:0;font-size:.75rem}.preview-caret{color:#6b7280;margin-right:4px}.preview-row--unreached td,.preview-row--pending td{color:#9ca3af;font-style:italic}.preview-branch{font-size:.72rem;font-weight:700}.preview-branch--success{color:#118d57}.preview-branch--failure{color:#e08b00}.preview-input,.preview-addcol input{background:0 0;border:1px solid #0000;border-radius:4px;width:100%;min-width:90px;padding:2px 4px;font-size:.78rem}.preview-input:focus,.preview-addcol input:focus{background:#fff;border-color:#0f766e}.preview-rowactions button{cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:.72rem}.preview-tone-0,.preview-tone-1,.preview-tone-2,.preview-tone-3{--tone-line:color-mix(in srgb, var(--tone) 32%, #fff);--tone-deep:color-mix(in srgb, var(--tone) 16%, #fff)}.preview-table th.preview-h--l1:not(.preview-h--leaf){border:1px solid var(--tone);border-bottom-width:2px}.preview-table th.preview-h--l2{background:var(--tone-deep);color:var(--tone);border-left:1px solid var(--tone-line);border-right:1px solid var(--tone-line);border-bottom:2px solid var(--tone);font-weight:600}.preview-table td.preview-tone-0,.preview-table td.preview-tone-1,.preview-table td.preview-tone-2,.preview-table td.preview-tone-3{border-right:1px solid var(--tone-line);border-bottom:1px solid var(--tone-deep)}.preview-table td.preview-lv3{background:var(--tone-soft)}.preview-table td.preview-lv3.preview-sub-start,.preview-table td.preview-sub-start{border-left:1px solid var(--tone)}.preview-json-badge{color:var(--tone,#0f766e);background:var(--tone-bg,#e6f4f2);border:1px solid var(--tone,#0f766e);border-radius:4px;margin-right:6px;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;font-weight:700;line-height:1.5;display:inline-block}.preview-cell--obj:hover .preview-json-badge{background:var(--tone,#0f766e);color:#fff}.cfg-modal{grid-template-columns:220px 1fr;min-height:460px;gap:0!important;width:min(760px,96vw)!important;padding:0!important;display:grid!important;overflow:hidden!important}.cfg-rail{background:var(--card);border-right:1px solid var(--border);flex-direction:column;gap:18px;padding:20px 12px;display:flex}.cfg-rail-title h2{margin:0;font-size:1rem}.cfg-rail-title p{margin:2px 0 0;font-size:.75rem}.cfg-rail-nav{gap:4px;display:grid}.cfg-rail-item{text-align:left;cursor:pointer;border:1px solid #0000;border-radius:9px;align-items:center;gap:9px;width:100%;padding:9px 10px;font-size:.85rem;font-weight:600;display:flex}.cfg-rail-item:hover,.cfg-rail-item.active{background:var(--background)}.cfg-rail-icon{place-items:center;width:18px;height:18px;display:grid}.cfg-rail-icon svg{width:16px;height:16px}.cfg-dot{background:#d1d5db;border-radius:50%;width:8px;height:8px;margin-left:auto}.cfg-dot.on{background:#118d57;box-shadow:0 0 0 3px #118d5726}.cfg-content{background-color:var(--background);max-height:80vh;padding:22px 24px;position:relative;overflow-y:auto}.cfg-close{position:absolute;top:14px;right:14px}.cfg-pane{align-content:start;gap:12px;display:grid}.cfg-heading{margin:0;font-size:1.1rem}.cfg-sub{margin:-6px 0 4px;font-size:.82rem}.cfg-label{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.cfg-empty{text-align:center;border:1px dashed #d4c5ee;border-radius:10px;padding:22px;font-size:.85rem}.cfg-env-grid{gap:8px;display:grid}.cfg-env{text-align:left;cursor:pointer;background:#fff;border:1px solid #e4dcf3;border-radius:10px;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:11px 14px;transition:border-color .15s,background .15s;display:grid}.cfg-env:hover:not(:disabled){border-color:#0f766e}.cfg-env.selected{background:#f4fbfa;border-color:#0f766e;box-shadow:inset 3px 0 #0f766e}.cfg-env.soon{opacity:.55;cursor:not-allowed}.cfg-env-radio{background:#fff;border:2px solid #b9aedb;border-radius:50%;width:16px;height:16px}.cfg-env.selected .cfg-env-radio{background:radial-gradient(#0f766e 45%,#fff 50%);border-color:#0f766e}.cfg-env-name{color:var(--ink-primary);align-items:center;gap:8px;font-size:.88rem;font-weight:700;display:flex}.cfg-env-name em{letter-spacing:.05em;text-transform:uppercase;color:#0f766e;background:#e6f4f2;border-radius:999px;padding:1px 6px;font-size:.65rem;font-style:normal;font-weight:700}.cfg-env.soon .cfg-env-name em{color:#6b7280;background:#f3f4f6}.cfg-env-url{font-family:var(--font-mono);color:var(--ink-muted);font-size:.75rem}.cfg-endpoint{font-family:var(--font-mono);color:var(--ink-secondary);-webkit-user-select:all;user-select:all;background:#f6f3fb;border:1px solid #e4dcf3;border-radius:10px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:.82rem;display:flex}.cfg-endpoint span{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;-webkit-user-select:none;user-select:none;font-family:inherit;font-size:.65rem;font-weight:700}.cfg-switch{color:#92400e;background:#fef3c7;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;font-size:.82rem;display:flex}.cfg-switch svg{vertical-align:-3px;margin-right:4px}.cfg-provider-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.cfg-provider{background:#fff;border:1px solid #e4dcf3;border-radius:10px;gap:2px;padding:12px;display:grid}.cfg-provider.selected{background:#f4fbfa;border-color:#0f766e;box-shadow:inset 0 -3px #0f766e}.cfg-provider.soon{opacity:.5}.cfg-provider-name{color:var(--ink-primary);font-size:.88rem;font-weight:700}.cfg-provider-sub{color:var(--ink-muted);font-size:.72rem}@media (width<=640px){.cfg-modal{grid-template-columns:1fr}.cfg-rail{border-bottom:1px solid #ece4f7;border-right:none}.cfg-rail-nav,.cfg-provider-grid{grid-template-columns:repeat(2,1fr)}}.cfg-keymode{border:1px solid var(--border);background:var(--card);border-radius:8px;gap:2px;margin-bottom:12px;padding:3px;display:inline-flex}.cfg-keymode button{font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 12px;font-size:12.5px}.cfg-keymode button.active{background:var(--precisely-purple-dark);opacity:1;color:var(--secondary);font-weight:600}.cfg-hint{opacity:.65;margin:4px 0 0;font-size:12px}.profile-photo-row{background:#faf7ff;border:1px solid #ece4f7;border-radius:12px;align-items:center;gap:16px;padding:12px;display:flex}.profile-photo-actions{flex-wrap:wrap;gap:8px;display:flex}.profile-input{width:100%}.profile-input[readOnly]{color:var(--ink-muted);cursor:not-allowed;background:#f6f3fa}.profile-actions{border-top:1px solid #ece4f7;align-items:center;gap:12px;margin-top:6px;padding-top:14px;display:flex}.profile-saved{color:#118d57;align-items:center;gap:4px;font-size:.8rem;font-weight:600;display:inline-flex}.cfg-error{color:#b42318;font-size:.8rem}.avatar{background:linear-gradient(135deg, var(--brand-purple-600), var(--brand-pink-500));color:#fff;letter-spacing:.02em;-webkit-user-select:none;user-select:none;box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--surface-stroke);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.user-menu{position:relative}.user-menu-btn{cursor:pointer;border:1px solid var(--surface-stroke);color:var(--ink-secondary);font:inherit;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:3px 10px 3px 4px;font-size:.8rem;font-weight:600;transition:border-color .15s,box-shadow .15s;display:inline-flex}.user-menu-btn:hover,.user-menu-btn.open{border-color:var(--brand-purple-600);box-shadow:0 2px 10px #8017e126}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.user-menu-caret{color:var(--ink-muted);transition:transform .15s}.user-menu-btn.open .user-menu-caret{transform:rotate(180deg)}.user-menu-pop{z-index:1000;border:1px solid var(--surface-stroke);background:#fff;border-radius:14px;width:280px;padding:8px;animation:.14s ease-out user-menu-in;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #2b06602e}@keyframes user-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.user-menu-card{background:#faf7ff;border-radius:10px;align-items:center;gap:12px;margin-bottom:6px;padding:10px;display:flex}.user-menu-id{min-width:0;line-height:1.35;display:grid}.user-menu-id strong{color:var(--ink-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.user-menu-title{color:var(--brand-purple-700);font-size:.76rem;font-weight:600}.user-menu-email{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.user-menu-item{width:100%;color:var(--ink-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:9px 10px;font-size:.84rem;font-weight:600;text-decoration:none;display:flex}.user-menu-item svg{width:16px;height:16px}.user-menu-item:hover{background:#f1eafb}.user-menu-item.danger{color:#b42318}.user-menu-item.danger:hover{background:#fef3f2}.jobs-table-resizable th{text-overflow:ellipsis;position:relative;overflow:hidden}.jobs-table-resizable td{text-overflow:ellipsis;max-width:none;overflow:hidden}.jobs-table-resizable .jobs-cell-name,.jobs-table-resizable .jobs-cell-mono,.jobs-table-resizable .jobs-cell-cols{max-width:none}.col-resizer{cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:1;width:8px;height:100%;position:absolute;top:0;right:0}.col-resizer:after{content:"";background:0 0;border-radius:2px;width:2px;transition:background .12s;position:absolute;top:20%;bottom:20%;right:3px}.jobs-table-resizable th:hover .col-resizer:after{background:#d3c6ee}.col-resizer:hover:after,body.col-resizing .col-resizer:after{background:#7c3aed}body.col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.jobs-action-btn-error{color:#b91c1c;border-color:#fca5a5}.jobs-action-btn-error:hover:not(:disabled){background:#fef2f2}.jobs-table tr.jobs-error-row td,.jobs-table tr.jobs-error-row:hover td{white-space:normal;background:#fff7f7}.jobs-error-box{color:#991b1b;word-break:break-word;padding:4px;font-size:.8rem;line-height:1.45}.jobs-error-code{background:#fee2e2;border-radius:99px;margin-right:8px;padding:1px 7px;font-size:.74rem;font-weight:600;display:inline-block}.import-bundle-list{flex-direction:column;gap:4px;max-height:220px;margin-top:12px;display:flex;overflow-y:auto}.import-bundle-row{color:#7a6a96;flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;display:flex}.import-bundle-new{color:#5b3fa8;font-weight:600}.import-bundle-warn{color:#92400e;background:#fef3c7;border-radius:99px;padding:1px 7px;font-size:.7rem}
