@pygmalionjs/pygmalion 0.6.26 → 0.6.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist-lib/{FrozenRoutePreview-BQDZOtJG.js → FrozenRoutePreview-Xm7o3urC.js} +3287 -2670
  2. package/dist-lib/pygmalion.js +9923 -9530
  3. package/dist-lib/style.css +1 -1
  4. package/dist-lib/testing.js +1 -1
  5. package/dist-lib/types/canvas/SectionBoxes.d.ts +2 -3
  6. package/dist-lib/types/canvas/useFlowSession.d.ts +3 -1
  7. package/dist-lib/types/editor/designImport.d.ts +42 -3
  8. package/dist-lib/types/editor/flowSessionScheduler.d.ts +54 -5
  9. package/dist-lib/types/editor/flowSessions.d.ts +49 -9
  10. package/dist-lib/types/editor/frameLabels.d.ts +9 -0
  11. package/dist-lib/types/editor/geometryStability.d.ts +122 -0
  12. package/dist-lib/types/editor/heldPseudoStates.d.ts +22 -0
  13. package/dist-lib/types/editor/interactiveSessionSurface.d.ts +13 -0
  14. package/dist-lib/types/editor/interactiveStates.d.ts +26 -14
  15. package/dist-lib/types/editor/previewBootstrap.d.ts +7 -1
  16. package/dist-lib/types/editor/projectRuntime.d.ts +5 -0
  17. package/dist-lib/types/editor/routePreview.d.ts +5 -0
  18. package/dist-lib/types/editor/stateSwitchMetrics.d.ts +150 -0
  19. package/dist-lib/types/editor/store.d.ts +57 -2
  20. package/dist-lib/types/editor/storyboardDiscovery.d.ts +1 -0
  21. package/dist-lib/types/editor/variantPrefetch.d.ts +69 -0
  22. package/dist-lib/types/lib.d.ts +67 -1
  23. package/docs/screen-state-contract.md +58 -9
  24. package/node/dev-mirror.mjs +80 -8
  25. package/node/preview-artifact-plugin.mjs +14 -1
  26. package/node/preview-artifact-store.mjs +39 -3
  27. package/node/storyboard-capture-runtime.mjs +40 -0
  28. package/node/vite.mjs +1 -0
  29. package/package.json +1 -1
@@ -1 +1 @@
1
- /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-emerald-300:oklch(84.5% .143 164.978);--color-sky-300:oklch(82.8% .111 230.318);--color-neutral-100:oklch(97% 0 none);--color-neutral-200:oklch(92.2% 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-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-8{top:calc(var(--spacing) * 8)}.top-\[-30px\]{top:-30px}.top-\[4px\]{top:4px}.right-0{right:0}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-11{bottom:calc(var(--spacing) * 11)}.bottom-\[-4px\]{bottom:-4px}.left-0{left:0}.left-1\/2{left:50%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-\[4px\]{left:4px}.left-\[7px\]{left:7px}.left-\[9px\]{left:9px}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:var(--spacing)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-\[2px\]{margin-top:2px}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\/5{height:40%}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-24{height:calc(var(--spacing) * 24)}.h-\[3px\]{height:3px}.h-\[5px\]{height:5px}.h-\[9px\]{height:9px}.h-\[18px\]{height:18px}.h-\[20px\]{height:20px}.h-\[22px\]{height:22px}.h-\[26px\]{height:26px}.h-\[40px\]{height:40px}.h-\[180px\]{height:180px}.h-\[844px\]{height:844px}.h-\[calc\(100\%-1\.25rem\)\]{height:calc(100% - 1.25rem)}.h-full{height:100%}.h-px{height:1px}.max-h-28{max-height:calc(var(--spacing) * 28)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[min\(720px\,calc\(100vh-72px\)\)\]{max-height:min(720px,100vh - 72px)}.min-h-0{min-height:0}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-\[200px\]{min-height:200px}.min-h-full{min-height:100%}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-44{width:calc(var(--spacing) * 44)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-\[3px\]{width:3px}.w-\[5px\]{width:5px}.w-\[9px\]{width:9px}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[100px\]{width:100px}.w-\[320px\]{width:320px}.w-\[390px\]{width:390px}.w-\[560px\]{width:560px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-28{max-width:calc(var(--spacing) * 28)}.max-w-32{max-width:calc(var(--spacing) * 32)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-60{max-width:calc(var(--spacing) * 60)}.max-w-\[110px\]{max-width:110px}.max-w-\[196px\]{max-width:196px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-52{min-width:calc(var(--spacing) * 52)}.min-w-\[4rem\]{min-width:4rem}.min-w-\[20px\]{min-width:20px}.min-w-\[24px\]{min-width:24px}.min-w-\[26px\]{min-width:26px}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[1fr_1fr_32px\]{grid-template-columns:1fr 1fr 32px}.grid-cols-\[1fr_2fr\]{grid-template-columns:1fr 2fr}.grid-cols-\[1fr_36px_36px\]{grid-template-columns:1fr 36px 36px}.grid-cols-\[18px_minmax\(0\,1fr\)_58px\]{grid-template-columns:18px minmax(0,1fr) 58px}.grid-cols-\[32px_minmax\(0\,1fr\)_32px\]{grid-template-columns:32px minmax(0,1fr) 32px}.grid-cols-\[56px_minmax\(0\,1fr\)_82px\]{grid-template-columns:56px minmax(0,1fr) 82px}.grid-cols-\[72px_minmax\(0\,1fr\)\]{grid-template-columns:72px minmax(0,1fr)}.grid-cols-\[88px_minmax\(0\,1fr\)\]{grid-template-columns:88px minmax(0,1fr)}.grid-cols-\[90px_minmax\(0\,1fr\)_58px\]{grid-template-columns:90px minmax(0,1fr) 58px}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[repeat\(4\,32px\)_minmax\(0\,1fr\)\]{grid-template-columns:repeat(4,32px) minmax(0,1fr)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[3px\]{gap:3px}.gap-\[12px\]{gap:12px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[13px\]{border-radius:13px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-lg{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-\[\#0d99ff\]{border-color:#0d99ff}.border-\[\#7c3aed\]{border-color:#7c3aed}.border-\[\#3182f6\]{border-color:#3182f6}.border-\[\#9747ff\]{border-color:#9747ff}.border-\[\#a78bfa\]{border-color:#a78bfa}.border-\[\#b7d6ff\]{border-color:#b7d6ff}.border-\[\#b7d7ff\]{border-color:#b7d7ff}.border-\[\#b8d7ff\]{border-color:#b8d7ff}.border-\[\#bfdbfe\]{border-color:#bfdbfe}.border-\[\#c4b5fd\]{border-color:#c4b5fd}.border-\[\#cfe8d8\]{border-color:#cfe8d8}.border-\[\#d1d6db\]{border-color:#d1d6db}.border-\[\#d4d4d8\]{border-color:#d4d4d8}.border-\[\#d8ecff\]{border-color:#d8ecff}.border-\[\#d9d9d9\]{border-color:#d9d9d9}.border-\[\#d9e8fb\]{border-color:#d9e8fb}.border-\[\#d9ecfb\]{border-color:#d9ecfb}.border-\[\#dbe1e8\]{border-color:#dbe1e8}.border-\[\#dedee3\]{border-color:#dedee3}.border-\[\#e4e4e7\]{border-color:#e4e4e7}.border-\[\#e5e8eb\]{border-color:#e5e8eb}.border-\[\#e6e6e6\]{border-color:#e6e6e6}.border-\[\#e879f9\]{border-color:#e879f9}.border-\[\#ead9a7\]{border-color:#ead9a7}.border-\[\#ececec\]{border-color:#ececec}.border-\[\#eceff1\]{border-color:#eceff1}.border-\[\#edf0f2\]{border-color:#edf0f2}.border-\[\#f0dfad\]{border-color:#f0dfad}.border-\[\#f0f0f0\]{border-color:#f0f0f0}.border-\[\#f2d4a7\]{border-color:#f2d4a7}.border-\[\#f2f4f6\]{border-color:#f2f4f6}.border-\[\#f6d9a5\]{border-color:#f6d9a5}.border-\[\#fecaca\]{border-color:#fecaca}.border-\[\#fed7aa\]{border-color:#fed7aa}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.border-black\/5{border-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.border-black\/10{border-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.border-current{border-color:currentColor}.border-neutral-700{border-color:var(--color-neutral-700)}.border-neutral-800{border-color:var(--color-neutral-800)}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-\[\#0d99ff\]{background-color:#0d99ff}.bg-\[\#1e1e1e\]{background-color:#1e1e1e}.bg-\[\#6d28d9\]{background-color:#6d28d9}.bg-\[\#20c56d\]{background-color:#20c56d}.bg-\[\#3182f6\]{background-color:#3182f6}.bg-\[\#9747ff\]{background-color:#9747ff}.bg-\[\#18181b\]{background-color:#18181b}.bg-\[\#a1a1aa\]{background-color:#a1a1aa}.bg-\[\#c9c9c9\]{background-color:#c9c9c9}.bg-\[\#d1d6db\]{background-color:#d1d6db}.bg-\[\#d4d4d8\]{background-color:#d4d4d8}.bg-\[\#dbe1e8\]{background-color:#dbe1e8}.bg-\[\#dbeafe\]{background-color:#dbeafe}.bg-\[\#dcfce7\]{background-color:#dcfce7}.bg-\[\#e5e8eb\]{background-color:#e5e8eb}.bg-\[\#e5f4ff\]{background-color:#e5f4ff}.bg-\[\#e6e6e6\]{background-color:#e6e6e6}.bg-\[\#e6e9ec\]{background-color:#e6e9ec}.bg-\[\#e8f3ff\]{background-color:#e8f3ff}.bg-\[\#eaf4ff\]{background-color:#eaf4ff}.bg-\[\#eceafd\]{background-color:#eceafd}.bg-\[\#ecfdf3\]{background-color:#ecfdf3}.bg-\[\#ede9fe\]{background-color:#ede9fe}.bg-\[\#eff6ff\]{background-color:#eff6ff}.bg-\[\#eff8ff\]{background-color:#eff8ff}.bg-\[\#f0f0f0\]{background-color:#f0f0f0}.bg-\[\#f1f7ff\]{background-color:#f1f7ff}.bg-\[\#f2f4f6\]{background-color:#f2f4f6}.bg-\[\#f2f7ff\]{background-color:#f2f7ff}.bg-\[\#f3e8ff\]{background-color:#f3e8ff}.bg-\[\#f4f4f5\]{background-color:#f4f4f5}.bg-\[\#f4faff\]{background-color:#f4faff}.bg-\[\#f4fbf6\]{background-color:#f4fbf6}.bg-\[\#f5f0ff\]{background-color:#f5f0ff}.bg-\[\#f5f3ff\]{background-color:#f5f3ff}.bg-\[\#f5f5f5\]{background-color:#f5f5f5}.bg-\[\#f5f9ff\]{background-color:#f5f9ff}.bg-\[\#f7f7f8\]{background-color:#f7f7f8}.bg-\[\#f7f8fa\]{background-color:#f7f8fa}.bg-\[\#f8f8fa\]{background-color:#f8f8fa}.bg-\[\#f9fafb\]{background-color:#f9fafb}.bg-\[\#f24822\]{background-color:#f24822}.bg-\[\#faf5ff\]{background-color:#faf5ff}.bg-\[\#fafafa\]{background-color:#fafafa}.bg-\[\#fafbfc\]{background-color:#fafbfc}.bg-\[\#fdeaea\]{background-color:#fdeaea}.bg-\[\#fef2f2\]{background-color:#fef2f2}.bg-\[\#fef3c7\]{background-color:#fef3c7}.bg-\[\#ffedd5\]{background-color:#ffedd5}.bg-\[\#fff1d6\]{background-color:#fff1d6}.bg-\[\#fff1f2\]{background-color:#fff1f2}.bg-\[\#fff2df\]{background-color:#fff2df}.bg-\[\#fff4f4\]{background-color:#fff4f4}.bg-\[\#fff7ed\]{background-color:#fff7ed}.bg-\[\#fff7f7\]{background-color:#fff7f7}.bg-\[\#fff8e8\]{background-color:#fff8e8}.bg-\[\#fff9ef\]{background-color:#fff9ef}.bg-\[\#fffaf1\]{background-color:#fffaf1}.bg-\[\#fffdf5\]{background-color:#fffdf5}.bg-\[\#ffffff\]{background-color:#fff}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-current{background-color:currentColor}.bg-neutral-700{background-color:var(--color-neutral-700)}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-900\/70{background-color:#171717b3}@supports (color:color-mix(in lab,red,red)){.bg-neutral-900\/70{background-color:color-mix(in oklab,var(--color-neutral-900) 70%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.fill-none{fill:none}.stroke-\[\#8b95a1\]{stroke:#8b95a1}.object-cover{object-fit:cover}.object-top{object-position:top}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-\[16px\]{padding:16px}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-\[1px\]{padding-block:1px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[24px\]{font-size:24px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-\[\#0d99ff\]{color:#0d99ff}.text-\[\#1b64da\]{color:#1b64da}.text-\[\#1d4ed8\]{color:#1d4ed8}.text-\[\#4b30f3\]{color:#4b30f3}.text-\[\#4e5968\]{color:#4e5968}.text-\[\#5b21b6\]{color:#5b21b6}.text-\[\#6b7684\]{color:#6b7684}.text-\[\#6d28d9\]{color:#6d28d9}.text-\[\#007be5\]{color:#007be5}.text-\[\#7c3aed\]{color:#7c3aed}.text-\[\#8a5a00\]{color:#8a5a00}.text-\[\#8a6714\]{color:#8a6714}.text-\[\#8b95a1\]{color:#8b95a1}.text-\[\#9a5a00\]{color:#9a5a00}.text-\[\#9a3412\]{color:#9a3412}.text-\[\#191f28\]{color:#191f28}.text-\[\#237a42\]{color:#237a42}.text-\[\#333\]{color:#333}.text-\[\#333d4b\]{color:#333d4b}.text-\[\#444\]{color:#444}.text-\[\#555\]{color:#555}.text-\[\#666\]{color:#666}.text-\[\#755b16\]{color:#755b16}.text-\[\#777\]{color:#777}.text-\[\#888\]{color:#888}.text-\[\#999\]{color:#999}.text-\[\#1677b8\]{color:#1677b8}.text-\[\#3182f6\]{color:#3182f6}.text-\[\#5794e8\]{color:#5794e8}.text-\[\#9747ff\]{color:#9747ff}.text-\[\#15803d\]{color:#15803d}.text-\[\#16884a\]{color:#16884a}.text-\[\#18181b\]{color:#18181b}.text-\[\#27272a\]{color:#27272a}.text-\[\#52525b\]{color:#52525b}.text-\[\#64748b\]{color:#64748b}.text-\[\#71717a\]{color:#71717a}.text-\[\#111111\]{color:#111}.text-\[\#166534\]{color:#166534}.text-\[\#333333\]{color:#333}.text-\[\#a1a1aa\]{color:#a1a1aa}.text-\[\#a21caf\]{color:#a21caf}.text-\[\#b0b8c1\]{color:#b0b8c1}.text-\[\#b3b3b3\]{color:#b3b3b3}.text-\[\#b91c1c\]{color:#b91c1c}.text-\[\#b45309\]{color:#b45309}.text-\[\#c4c4c8\]{color:#c4c4c8}.text-\[\#c0392b\]{color:#c0392b}.text-\[\#c2410c\]{color:#c2410c}.text-\[\#d92d3a\]{color:#d92d3a}.text-\[\#e4e4e7\]{color:#e4e4e7}.text-\[\#e5484d\]{color:#e5484d}.text-\[\#f04452\]{color:#f04452}.text-amber-300{color:var(--color-amber-300)}.text-amber-600{color:var(--color-amber-600)}.text-emerald-300{color:var(--color-emerald-300)}.text-neutral-100{color:var(--color-neutral-100)}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-red-300{color:var(--color-red-300)}.text-sky-300{color:var(--color-sky-300)}.text-white{color:var(--color-white)}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-\[\#1677b8\]\/30{text-decoration-color:#1677b84d}.underline-offset-2{text-underline-offset:2px}.accent-\[\#0d99ff\]{accent-color:#0d99ff}.accent-\[\#3182f6\]{accent-color:#3182f6}.opacity-40{opacity:.4}.opacity-65{opacity:.65}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(0\,0\,0\,\.08\)\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_4px_rgba\(0\,0\,0\,\.08\)\]{--tw-shadow:0 1px 4px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_6px_rgba\(0\,0\,0\,\.12\)\]{--tw-shadow:0 1px 6px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_8px_rgba\(0\,0\,0\,\.08\)\]{--tw-shadow:0 2px 8px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_8px_rgba\(0\,0\,0\,\.15\)\]{--tw-shadow:0 2px 8px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_12px_rgba\(79\,70\,229\,\.2\)\]{--tw-shadow:0 2px 12px var(--tw-shadow-color,#4f46e533);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_14px_rgba\(0\,0\,0\,\.08\)\]{--tw-shadow:0 2px 14px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_14px_rgba\(0\,0\,0\,\.12\)\]{--tw-shadow:0 2px 14px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_16px_rgba\(0\,0\,0\,\.14\)\]{--tw-shadow:0 4px 16px var(--tw-shadow-color,#00000024);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_20px_rgba\(0\,0\,0\,\.3\)\]{--tw-shadow:0 4px 20px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_20px_rgba\(0\,0\,0\,\.25\)\]{--tw-shadow:0 4px 20px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_40px_rgba\(0\,0\,0\,\.25\)\]{--tw-shadow:0 8px 40px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_16px_48px_rgba\(15\,23\,42\,\.22\)\]{--tw-shadow:0 16px 48px var(--tw-shadow-color,#0f172a38);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_0_0_3px_rgba\(245\,158\,11\,\.85\)\]{--tw-shadow:inset 0 0 0 3px var(--tw-shadow-color,#f59e0bd9);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[\#b7d6ff\]{--tw-ring-color:#b7d6ff}.ring-\[\#d8e9ff\]{--tw-ring-color:#d8e9ff}.ring-\[\#dedee3\]{--tw-ring-color:#dedee3}.ring-\[\#e5e8eb\]{--tw-ring-color:#e5e8eb}.ring-\[\#ececec\]{--tw-ring-color:#ececec}.outline,.outline-1{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-\[\#0d99ff\]\/30{outline-color:#0d99ff4d}.outline-\[\#4f46e5\]{outline-color:#4f46e5}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:bg-\[\#3182f6\]:is(:where(.group):hover *){background-color:#3182f6}.group-hover\:text-\[\#6b7684\]:is(:where(.group):hover *){color:#6b7684}}.placeholder\:text-\[\#a1a1aa\]::placeholder{color:#a1a1aa}.placeholder\:text-\[\#b0b8c1\]::placeholder{color:#b0b8c1}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:bg-white:focus-within{background-color:var(--color-white)}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-\[\#0d99ff\]:focus-within{--tw-ring-color:#0d99ff}.focus-within\:ring-\[\#3182f6\]:focus-within{--tw-ring-color:#3182f6}.focus-within\:ring-inset:focus-within{--tw-ring-inset:inset}@media(hover:hover){.hover\:border-\[\#a78bfa\]:hover{border-color:#a78bfa}.hover\:border-\[\#e5e8eb\]:hover{border-color:#e5e8eb}.hover\:bg-\[\#0b87e0\]:hover{background-color:#0b87e0}.hover\:bg-\[\#0d99ff\]\/10:hover{background-color:#0d99ff1a}.hover\:bg-\[\#0d99ff\]\/20:hover{background-color:#0d99ff33}.hover\:bg-\[\#1b64da\]:hover{background-color:#1b64da}.hover\:bg-\[\#5b21b6\]:hover{background-color:#5b21b6}.hover\:bg-\[\#e5e8eb\]:hover{background-color:#e5e8eb}.hover\:bg-\[\#e5f4ff\]:hover{background-color:#e5f4ff}.hover\:bg-\[\#e9e9ee\]:hover{background-color:#e9e9ee}.hover\:bg-\[\#eaf4ff\]:hover{background-color:#eaf4ff}.hover\:bg-\[\#ececec\]:hover{background-color:#ececec}.hover\:bg-\[\#f0f7ff\]:hover{background-color:#f0f7ff}.hover\:bg-\[\#f1f7ff\]:hover{background-color:#f1f7ff}.hover\:bg-\[\#f2f4f6\]:hover{background-color:#f2f4f6}.hover\:bg-\[\#f2f7ff\]:hover{background-color:#f2f7ff}.hover\:bg-\[\#f3e8ff\]:hover{background-color:#f3e8ff}.hover\:bg-\[\#f4f4f5\]:hover{background-color:#f4f4f5}.hover\:bg-\[\#f5f3ff\]:hover{background-color:#f5f3ff}.hover\:bg-\[\#f5f5f5\]:hover{background-color:#f5f5f5}.hover\:bg-\[\#f5f9ff\]:hover{background-color:#f5f9ff}.hover\:bg-\[\#f7f7f7\]:hover{background-color:#f7f7f7}.hover\:bg-\[\#f7f8fa\]:hover{background-color:#f7f8fa}.hover\:bg-\[\#f8fafc\]:hover{background-color:#f8fafc}.hover\:bg-\[\#f9fafb\]:hover{background-color:#f9fafb}.hover\:bg-\[\#faf8ff\]:hover{background-color:#faf8ff}.hover\:bg-\[\#fafafa\]:hover{background-color:#fafafa}.hover\:bg-\[\#fafbfc\]:hover{background-color:#fafbfc}.hover\:bg-\[\#fee2e2\]:hover{background-color:#fee2e2}.hover\:bg-\[\#fef2f2\]:hover{background-color:#fef2f2}.hover\:bg-\[\#ffe4e7\]:hover{background-color:#ffe4e7}.hover\:bg-\[\#fff4dc\]:hover{background-color:#fff4dc}.hover\:bg-\[\#fff9e8\]:hover{background-color:#fff9e8}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-black:hover{background-color:var(--color-black)}.hover\:bg-neutral-600:hover{background-color:var(--color-neutral-600)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.hover\:bg-white\/70:hover{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/70:hover{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.hover\:text-\[\#1b64da\]:hover{color:#1b64da}.hover\:text-\[\#4e5968\]:hover{color:#4e5968}.hover\:text-\[\#333\]:hover{color:#333}.hover\:text-\[\#333d4b\]:hover{color:#333d4b}.hover\:text-\[\#555\]:hover{color:#555}.hover\:text-\[\#18181b\]:hover{color:#18181b}.hover\:text-\[\#f04452\]:hover{color:#f04452}.hover\:ring-1:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:ring-\[\#b7d6ff\]:hover{--tw-ring-color:#b7d6ff}.hover\:ring-\[\#d8dce1\]:hover{--tw-ring-color:#d8dce1}.hover\:ring-\[\#e6e6e6\]:hover{--tw-ring-color:#e6e6e6}.hover\:ring-inset:hover{--tw-ring-inset:inset}}.focus\:border-\[\#90c2ff\]:focus{border-color:#90c2ff}.focus\:border-\[\#3182f6\]:focus{border-color:#3182f6}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[\#0d99ff\]:focus{--tw-ring-color:#0d99ff}.focus\:ring-\[\#3182f6\]\/10:focus{--tw-ring-color:oklab(62.0117% -.0389794 -.186554/.1)}.focus\:ring-\[\#e8f3ff\]:focus{--tw-ring-color:#e8f3ff}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\:bg-\[\#0d99ff\]\/10:focus-visible{background-color:#0d99ff1a}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[\#90c2ff\]:focus-visible{--tw-ring-color:#90c2ff}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-\[-2px\]:focus-visible{outline-offset:-2px}.focus-visible\:outline-\[\#3182f6\]:focus-visible{outline-color:#3182f6}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}@media(hover:hover){.enabled\:hover\:bg-\[\#0d99ff\]:enabled:hover{background-color:#0d99ff}.hover\:enabled\:ring-1:hover:enabled{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:enabled\:ring-\[\#e6e6e6\]:hover:enabled{--tw-ring-color:#e6e6e6}.hover\:enabled\:ring-inset:hover:enabled{--tw-ring-inset:inset}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-\[\#e4e4e7\]:disabled{border-color:#e4e4e7}.disabled\:bg-\[\#c9c9c9\]:disabled{background-color:#c9c9c9}.disabled\:bg-\[\#d4d4d8\]:disabled{background-color:#d4d4d8}.disabled\:bg-\[\#e6e6e6\]:disabled{background-color:#e6e6e6}.disabled\:bg-\[\#f4f4f5\]:disabled{background-color:#f4f4f5}.disabled\:text-\[\#999\]:disabled{color:#999}.disabled\:text-\[\#a1a1aa\]:disabled{color:#a1a1aa}.disabled\:text-\[\#aaa\]:disabled{color:#aaa}.disabled\:text-\[\#c4c4c8\]:disabled{color:#c4c4c8}.disabled\:text-\[\#c9c9c9\]:disabled{color:#c9c9c9}.disabled\:text-white\/30:disabled{color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.disabled\:text-white\/30:disabled{color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}@media(hover:hover){.disabled\:hover\:bg-\[\#fafafa\]:disabled:hover{background-color:#fafafa}.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}@media(min-width:40rem){.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}}.pyg-root{-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Pretendard,Noto Sans KR,sans-serif}.pyg-root input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pyg-root input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pyg-root input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.pyg-root input[type=color]::-webkit-color-swatch-wrapper{padding:0}.pyg-root input[type=color]::-webkit-color-swatch{border:none;border-radius:3px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-emerald-300:oklch(84.5% .143 164.978);--color-sky-300:oklch(82.8% .111 230.318);--color-neutral-100:oklch(97% 0 none);--color-neutral-200:oklch(92.2% 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-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-8{top:calc(var(--spacing) * 8)}.top-\[-30px\]{top:-30px}.top-\[4px\]{top:4px}.right-0{right:0}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-11{bottom:calc(var(--spacing) * 11)}.bottom-\[-4px\]{bottom:-4px}.left-0{left:0}.left-1\/2{left:50%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-\[4px\]{left:4px}.left-\[7px\]{left:7px}.left-\[9px\]{left:9px}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:var(--spacing)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-\[2px\]{margin-top:2px}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\/5{height:40%}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-24{height:calc(var(--spacing) * 24)}.h-\[3px\]{height:3px}.h-\[5px\]{height:5px}.h-\[9px\]{height:9px}.h-\[18px\]{height:18px}.h-\[20px\]{height:20px}.h-\[22px\]{height:22px}.h-\[26px\]{height:26px}.h-\[40px\]{height:40px}.h-\[180px\]{height:180px}.h-\[844px\]{height:844px}.h-\[calc\(100\%-1\.25rem\)\]{height:calc(100% - 1.25rem)}.h-full{height:100%}.h-px{height:1px}.max-h-28{max-height:calc(var(--spacing) * 28)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[min\(720px\,calc\(100vh-72px\)\)\]{max-height:min(720px,100vh - 72px)}.min-h-0{min-height:0}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-\[200px\]{min-height:200px}.min-h-full{min-height:100%}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-44{width:calc(var(--spacing) * 44)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-\[3px\]{width:3px}.w-\[5px\]{width:5px}.w-\[9px\]{width:9px}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[100px\]{width:100px}.w-\[320px\]{width:320px}.w-\[390px\]{width:390px}.w-\[560px\]{width:560px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-28{max-width:calc(var(--spacing) * 28)}.max-w-32{max-width:calc(var(--spacing) * 32)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-60{max-width:calc(var(--spacing) * 60)}.max-w-\[110px\]{max-width:110px}.max-w-\[196px\]{max-width:196px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-52{min-width:calc(var(--spacing) * 52)}.min-w-\[4rem\]{min-width:4rem}.min-w-\[20px\]{min-width:20px}.min-w-\[24px\]{min-width:24px}.min-w-\[26px\]{min-width:26px}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[1fr_1fr_32px\]{grid-template-columns:1fr 1fr 32px}.grid-cols-\[1fr_2fr\]{grid-template-columns:1fr 2fr}.grid-cols-\[1fr_36px_36px\]{grid-template-columns:1fr 36px 36px}.grid-cols-\[18px_minmax\(0\,1fr\)_58px\]{grid-template-columns:18px minmax(0,1fr) 58px}.grid-cols-\[32px_minmax\(0\,1fr\)_32px\]{grid-template-columns:32px minmax(0,1fr) 32px}.grid-cols-\[56px_minmax\(0\,1fr\)_82px\]{grid-template-columns:56px minmax(0,1fr) 82px}.grid-cols-\[72px_minmax\(0\,1fr\)\]{grid-template-columns:72px minmax(0,1fr)}.grid-cols-\[88px_minmax\(0\,1fr\)\]{grid-template-columns:88px minmax(0,1fr)}.grid-cols-\[90px_minmax\(0\,1fr\)_58px\]{grid-template-columns:90px minmax(0,1fr) 58px}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[repeat\(4\,32px\)_minmax\(0\,1fr\)\]{grid-template-columns:repeat(4,32px) minmax(0,1fr)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[3px\]{gap:3px}.gap-\[12px\]{gap:12px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[13px\]{border-radius:13px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-lg{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-\[\#0d99ff\]{border-color:#0d99ff}.border-\[\#7c3aed\]{border-color:#7c3aed}.border-\[\#3182f6\]{border-color:#3182f6}.border-\[\#9747ff\]{border-color:#9747ff}.border-\[\#a78bfa\]{border-color:#a78bfa}.border-\[\#b7d6ff\]{border-color:#b7d6ff}.border-\[\#b7d7ff\]{border-color:#b7d7ff}.border-\[\#b8d7ff\]{border-color:#b8d7ff}.border-\[\#bfdbfe\]{border-color:#bfdbfe}.border-\[\#c4b5fd\]{border-color:#c4b5fd}.border-\[\#cfe8d8\]{border-color:#cfe8d8}.border-\[\#d1d6db\]{border-color:#d1d6db}.border-\[\#d4d4d8\]{border-color:#d4d4d8}.border-\[\#d8ecff\]{border-color:#d8ecff}.border-\[\#d9d9d9\]{border-color:#d9d9d9}.border-\[\#d9e8fb\]{border-color:#d9e8fb}.border-\[\#d9ecfb\]{border-color:#d9ecfb}.border-\[\#dbe1e8\]{border-color:#dbe1e8}.border-\[\#dedee3\]{border-color:#dedee3}.border-\[\#e4e4e7\]{border-color:#e4e4e7}.border-\[\#e5e8eb\]{border-color:#e5e8eb}.border-\[\#e6e6e6\]{border-color:#e6e6e6}.border-\[\#e879f9\]{border-color:#e879f9}.border-\[\#ead9a7\]{border-color:#ead9a7}.border-\[\#ececec\]{border-color:#ececec}.border-\[\#eceff1\]{border-color:#eceff1}.border-\[\#edf0f2\]{border-color:#edf0f2}.border-\[\#f0dfad\]{border-color:#f0dfad}.border-\[\#f0f0f0\]{border-color:#f0f0f0}.border-\[\#f2d4a7\]{border-color:#f2d4a7}.border-\[\#f2f4f6\]{border-color:#f2f4f6}.border-\[\#f6d9a5\]{border-color:#f6d9a5}.border-\[\#fecaca\]{border-color:#fecaca}.border-\[\#fed7aa\]{border-color:#fed7aa}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.border-black\/5{border-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.border-black\/10{border-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.border-current{border-color:currentColor}.border-neutral-700{border-color:var(--color-neutral-700)}.border-neutral-800{border-color:var(--color-neutral-800)}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-\[\#0d99ff\]{background-color:#0d99ff}.bg-\[\#1e1e1e\]{background-color:#1e1e1e}.bg-\[\#6d28d9\]{background-color:#6d28d9}.bg-\[\#20c56d\]{background-color:#20c56d}.bg-\[\#3182f6\]{background-color:#3182f6}.bg-\[\#9747ff\]{background-color:#9747ff}.bg-\[\#18181b\]{background-color:#18181b}.bg-\[\#a1a1aa\]{background-color:#a1a1aa}.bg-\[\#c9c9c9\]{background-color:#c9c9c9}.bg-\[\#d1d6db\]{background-color:#d1d6db}.bg-\[\#d4d4d8\]{background-color:#d4d4d8}.bg-\[\#dbe1e8\]{background-color:#dbe1e8}.bg-\[\#dbeafe\]{background-color:#dbeafe}.bg-\[\#dcfce7\]{background-color:#dcfce7}.bg-\[\#e5e8eb\]{background-color:#e5e8eb}.bg-\[\#e5f4ff\]{background-color:#e5f4ff}.bg-\[\#e6e6e6\]{background-color:#e6e6e6}.bg-\[\#e6e9ec\]{background-color:#e6e9ec}.bg-\[\#e8f3ff\]{background-color:#e8f3ff}.bg-\[\#eaf4ff\]{background-color:#eaf4ff}.bg-\[\#eceafd\]{background-color:#eceafd}.bg-\[\#ecfdf3\]{background-color:#ecfdf3}.bg-\[\#ede9fe\]{background-color:#ede9fe}.bg-\[\#eff6ff\]{background-color:#eff6ff}.bg-\[\#eff8ff\]{background-color:#eff8ff}.bg-\[\#f0f0f0\]{background-color:#f0f0f0}.bg-\[\#f1f7ff\]{background-color:#f1f7ff}.bg-\[\#f2f4f6\]{background-color:#f2f4f6}.bg-\[\#f2f7ff\]{background-color:#f2f7ff}.bg-\[\#f3e8ff\]{background-color:#f3e8ff}.bg-\[\#f4f4f5\]{background-color:#f4f4f5}.bg-\[\#f4faff\]{background-color:#f4faff}.bg-\[\#f4fbf6\]{background-color:#f4fbf6}.bg-\[\#f5f0ff\]{background-color:#f5f0ff}.bg-\[\#f5f3ff\]{background-color:#f5f3ff}.bg-\[\#f5f5f5\]{background-color:#f5f5f5}.bg-\[\#f5f9ff\]{background-color:#f5f9ff}.bg-\[\#f7f7f8\]{background-color:#f7f7f8}.bg-\[\#f7f8fa\]{background-color:#f7f8fa}.bg-\[\#f8f8fa\]{background-color:#f8f8fa}.bg-\[\#f9fafb\]{background-color:#f9fafb}.bg-\[\#f24822\]{background-color:#f24822}.bg-\[\#faf5ff\]{background-color:#faf5ff}.bg-\[\#fafafa\]{background-color:#fafafa}.bg-\[\#fafbfc\]{background-color:#fafbfc}.bg-\[\#fdeaea\]{background-color:#fdeaea}.bg-\[\#fef2f2\]{background-color:#fef2f2}.bg-\[\#fef3c7\]{background-color:#fef3c7}.bg-\[\#ffedd5\]{background-color:#ffedd5}.bg-\[\#fff1d6\]{background-color:#fff1d6}.bg-\[\#fff1f2\]{background-color:#fff1f2}.bg-\[\#fff2df\]{background-color:#fff2df}.bg-\[\#fff4f4\]{background-color:#fff4f4}.bg-\[\#fff7ed\]{background-color:#fff7ed}.bg-\[\#fff7f7\]{background-color:#fff7f7}.bg-\[\#fff8e8\]{background-color:#fff8e8}.bg-\[\#fff9ef\]{background-color:#fff9ef}.bg-\[\#fffaf1\]{background-color:#fffaf1}.bg-\[\#fffdf5\]{background-color:#fffdf5}.bg-\[\#ffffff\]{background-color:#fff}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-current{background-color:currentColor}.bg-neutral-700{background-color:var(--color-neutral-700)}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-900\/70{background-color:#171717b3}@supports (color:color-mix(in lab,red,red)){.bg-neutral-900\/70{background-color:color-mix(in oklab,var(--color-neutral-900) 70%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.fill-none{fill:none}.stroke-\[\#8b95a1\]{stroke:#8b95a1}.object-cover{object-fit:cover}.object-top{object-position:top}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-\[16px\]{padding:16px}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-\[1px\]{padding-block:1px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[24px\]{font-size:24px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-\[\#0d99ff\]{color:#0d99ff}.text-\[\#1b64da\]{color:#1b64da}.text-\[\#1d4ed8\]{color:#1d4ed8}.text-\[\#4b30f3\]{color:#4b30f3}.text-\[\#4e5968\]{color:#4e5968}.text-\[\#5b21b6\]{color:#5b21b6}.text-\[\#6b7684\]{color:#6b7684}.text-\[\#6d28d9\]{color:#6d28d9}.text-\[\#007be5\]{color:#007be5}.text-\[\#7c3aed\]{color:#7c3aed}.text-\[\#8a5a00\]{color:#8a5a00}.text-\[\#8a6714\]{color:#8a6714}.text-\[\#8b95a1\]{color:#8b95a1}.text-\[\#9a5a00\]{color:#9a5a00}.text-\[\#9a3412\]{color:#9a3412}.text-\[\#191f28\]{color:#191f28}.text-\[\#237a42\]{color:#237a42}.text-\[\#333\]{color:#333}.text-\[\#333d4b\]{color:#333d4b}.text-\[\#444\]{color:#444}.text-\[\#555\]{color:#555}.text-\[\#666\]{color:#666}.text-\[\#755b16\]{color:#755b16}.text-\[\#777\]{color:#777}.text-\[\#888\]{color:#888}.text-\[\#999\]{color:#999}.text-\[\#1677b8\]{color:#1677b8}.text-\[\#3182f6\]{color:#3182f6}.text-\[\#5794e8\]{color:#5794e8}.text-\[\#9747ff\]{color:#9747ff}.text-\[\#15803d\]{color:#15803d}.text-\[\#16884a\]{color:#16884a}.text-\[\#18181b\]{color:#18181b}.text-\[\#27272a\]{color:#27272a}.text-\[\#52525b\]{color:#52525b}.text-\[\#64748b\]{color:#64748b}.text-\[\#71717a\]{color:#71717a}.text-\[\#111111\]{color:#111}.text-\[\#166534\]{color:#166534}.text-\[\#333333\]{color:#333}.text-\[\#a1a1aa\]{color:#a1a1aa}.text-\[\#a21caf\]{color:#a21caf}.text-\[\#b0b8c1\]{color:#b0b8c1}.text-\[\#b3b3b3\]{color:#b3b3b3}.text-\[\#b91c1c\]{color:#b91c1c}.text-\[\#b45309\]{color:#b45309}.text-\[\#c4c4c8\]{color:#c4c4c8}.text-\[\#c0392b\]{color:#c0392b}.text-\[\#c2410c\]{color:#c2410c}.text-\[\#d92d3a\]{color:#d92d3a}.text-\[\#e4e4e7\]{color:#e4e4e7}.text-\[\#e5484d\]{color:#e5484d}.text-\[\#f04452\]{color:#f04452}.text-amber-300{color:var(--color-amber-300)}.text-amber-600{color:var(--color-amber-600)}.text-emerald-300{color:var(--color-emerald-300)}.text-neutral-100{color:var(--color-neutral-100)}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-red-300{color:var(--color-red-300)}.text-sky-300{color:var(--color-sky-300)}.text-white{color:var(--color-white)}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-\[\#1677b8\]\/30{text-decoration-color:#1677b84d}.underline-offset-2{text-underline-offset:2px}.accent-\[\#0d99ff\]{accent-color:#0d99ff}.accent-\[\#3182f6\]{accent-color:#3182f6}.opacity-40{opacity:.4}.opacity-65{opacity:.65}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(0\,0\,0\,\.08\)\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_4px_rgba\(0\,0\,0\,\.08\)\]{--tw-shadow:0 1px 4px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_6px_rgba\(0\,0\,0\,\.12\)\]{--tw-shadow:0 1px 6px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_8px_rgba\(0\,0\,0\,\.08\)\]{--tw-shadow:0 2px 8px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_8px_rgba\(0\,0\,0\,\.15\)\]{--tw-shadow:0 2px 8px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_12px_rgba\(79\,70\,229\,\.2\)\]{--tw-shadow:0 2px 12px var(--tw-shadow-color,#4f46e533);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_14px_rgba\(0\,0\,0\,\.08\)\]{--tw-shadow:0 2px 14px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_14px_rgba\(0\,0\,0\,\.12\)\]{--tw-shadow:0 2px 14px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_16px_rgba\(0\,0\,0\,\.14\)\]{--tw-shadow:0 4px 16px var(--tw-shadow-color,#00000024);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_20px_rgba\(0\,0\,0\,\.3\)\]{--tw-shadow:0 4px 20px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_20px_rgba\(0\,0\,0\,\.25\)\]{--tw-shadow:0 4px 20px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_40px_rgba\(0\,0\,0\,\.25\)\]{--tw-shadow:0 8px 40px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_16px_48px_rgba\(15\,23\,42\,\.22\)\]{--tw-shadow:0 16px 48px var(--tw-shadow-color,#0f172a38);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_0_0_3px_rgba\(245\,158\,11\,\.85\)\]{--tw-shadow:inset 0 0 0 3px var(--tw-shadow-color,#f59e0bd9);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[\#b7d6ff\]{--tw-ring-color:#b7d6ff}.ring-\[\#d8e9ff\]{--tw-ring-color:#d8e9ff}.ring-\[\#dedee3\]{--tw-ring-color:#dedee3}.ring-\[\#e5e8eb\]{--tw-ring-color:#e5e8eb}.ring-\[\#ececec\]{--tw-ring-color:#ececec}.outline,.outline-1{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-\[\#0d99ff\]\/30{outline-color:#0d99ff4d}.outline-\[\#4f46e5\]{outline-color:#4f46e5}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:bg-\[\#3182f6\]:is(:where(.group):hover *){background-color:#3182f6}.group-hover\:text-\[\#6b7684\]:is(:where(.group):hover *){color:#6b7684}}.placeholder\:text-\[\#a1a1aa\]::placeholder{color:#a1a1aa}.placeholder\:text-\[\#b0b8c1\]::placeholder{color:#b0b8c1}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:bg-white:focus-within{background-color:var(--color-white)}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-\[\#0d99ff\]:focus-within{--tw-ring-color:#0d99ff}.focus-within\:ring-\[\#3182f6\]:focus-within{--tw-ring-color:#3182f6}.focus-within\:ring-inset:focus-within{--tw-ring-inset:inset}@media(hover:hover){.hover\:border-\[\#a78bfa\]:hover{border-color:#a78bfa}.hover\:border-\[\#e5e8eb\]:hover{border-color:#e5e8eb}.hover\:bg-\[\#0b87e0\]:hover{background-color:#0b87e0}.hover\:bg-\[\#0d99ff\]\/10:hover{background-color:#0d99ff1a}.hover\:bg-\[\#0d99ff\]\/20:hover{background-color:#0d99ff33}.hover\:bg-\[\#1b64da\]:hover{background-color:#1b64da}.hover\:bg-\[\#5b21b6\]:hover{background-color:#5b21b6}.hover\:bg-\[\#e5e8eb\]:hover{background-color:#e5e8eb}.hover\:bg-\[\#e5f4ff\]:hover{background-color:#e5f4ff}.hover\:bg-\[\#e9e9ee\]:hover{background-color:#e9e9ee}.hover\:bg-\[\#eaf4ff\]:hover{background-color:#eaf4ff}.hover\:bg-\[\#ececec\]:hover{background-color:#ececec}.hover\:bg-\[\#f0f7ff\]:hover{background-color:#f0f7ff}.hover\:bg-\[\#f1f7ff\]:hover{background-color:#f1f7ff}.hover\:bg-\[\#f2f4f6\]:hover{background-color:#f2f4f6}.hover\:bg-\[\#f2f7ff\]:hover{background-color:#f2f7ff}.hover\:bg-\[\#f3e8ff\]:hover{background-color:#f3e8ff}.hover\:bg-\[\#f4f4f5\]:hover{background-color:#f4f4f5}.hover\:bg-\[\#f5f3ff\]:hover{background-color:#f5f3ff}.hover\:bg-\[\#f5f5f5\]:hover{background-color:#f5f5f5}.hover\:bg-\[\#f5f9ff\]:hover{background-color:#f5f9ff}.hover\:bg-\[\#f7f7f7\]:hover{background-color:#f7f7f7}.hover\:bg-\[\#f7f8fa\]:hover{background-color:#f7f8fa}.hover\:bg-\[\#f8fafc\]:hover{background-color:#f8fafc}.hover\:bg-\[\#f9fafb\]:hover{background-color:#f9fafb}.hover\:bg-\[\#faf8ff\]:hover{background-color:#faf8ff}.hover\:bg-\[\#fafafa\]:hover{background-color:#fafafa}.hover\:bg-\[\#fafbfc\]:hover{background-color:#fafbfc}.hover\:bg-\[\#fee2e2\]:hover{background-color:#fee2e2}.hover\:bg-\[\#fef2f2\]:hover{background-color:#fef2f2}.hover\:bg-\[\#ffe4e7\]:hover{background-color:#ffe4e7}.hover\:bg-\[\#fff4dc\]:hover{background-color:#fff4dc}.hover\:bg-\[\#fff9e8\]:hover{background-color:#fff9e8}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-black:hover{background-color:var(--color-black)}.hover\:bg-neutral-600:hover{background-color:var(--color-neutral-600)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.hover\:bg-white\/70:hover{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/70:hover{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.hover\:text-\[\#1b64da\]:hover{color:#1b64da}.hover\:text-\[\#4e5968\]:hover{color:#4e5968}.hover\:text-\[\#333\]:hover{color:#333}.hover\:text-\[\#333d4b\]:hover{color:#333d4b}.hover\:text-\[\#555\]:hover{color:#555}.hover\:text-\[\#18181b\]:hover{color:#18181b}.hover\:text-\[\#f04452\]:hover{color:#f04452}.hover\:ring-1:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:ring-\[\#b7d6ff\]:hover{--tw-ring-color:#b7d6ff}.hover\:ring-\[\#d8dce1\]:hover{--tw-ring-color:#d8dce1}.hover\:ring-\[\#e6e6e6\]:hover{--tw-ring-color:#e6e6e6}.hover\:ring-inset:hover{--tw-ring-inset:inset}}.focus\:border-\[\#90c2ff\]:focus{border-color:#90c2ff}.focus\:border-\[\#3182f6\]:focus{border-color:#3182f6}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[\#0d99ff\]:focus{--tw-ring-color:#0d99ff}.focus\:ring-\[\#3182f6\]\/10:focus{--tw-ring-color:oklab(62.0117% -.0389794 -.186554/.1)}.focus\:ring-\[\#e8f3ff\]:focus{--tw-ring-color:#e8f3ff}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\:bg-\[\#0d99ff\]\/10:focus-visible{background-color:#0d99ff1a}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[\#90c2ff\]:focus-visible{--tw-ring-color:#90c2ff}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-\[-2px\]:focus-visible{outline-offset:-2px}.focus-visible\:outline-\[\#3182f6\]:focus-visible{outline-color:#3182f6}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}@media(hover:hover){.enabled\:hover\:bg-\[\#0d99ff\]:enabled:hover{background-color:#0d99ff}.hover\:enabled\:ring-1:hover:enabled{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:enabled\:ring-\[\#e6e6e6\]:hover:enabled{--tw-ring-color:#e6e6e6}.hover\:enabled\:ring-inset:hover:enabled{--tw-ring-inset:inset}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-\[\#e4e4e7\]:disabled{border-color:#e4e4e7}.disabled\:bg-\[\#c9c9c9\]:disabled{background-color:#c9c9c9}.disabled\:bg-\[\#d4d4d8\]:disabled{background-color:#d4d4d8}.disabled\:bg-\[\#e6e6e6\]:disabled{background-color:#e6e6e6}.disabled\:bg-\[\#f4f4f5\]:disabled{background-color:#f4f4f5}.disabled\:text-\[\#999\]:disabled{color:#999}.disabled\:text-\[\#a1a1aa\]:disabled{color:#a1a1aa}.disabled\:text-\[\#aaa\]:disabled{color:#aaa}.disabled\:text-\[\#c4c4c8\]:disabled{color:#c4c4c8}.disabled\:text-\[\#c9c9c9\]:disabled{color:#c9c9c9}.disabled\:text-white\/30:disabled{color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.disabled\:text-white\/30:disabled{color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}@media(hover:hover){.disabled\:hover\:bg-\[\#fafafa\]:disabled:hover{background-color:#fafafa}.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}@media(min-width:40rem){.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}}.pyg-root{-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Pretendard,Noto Sans KR,sans-serif}.pyg-root input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pyg-root input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pyg-root input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.pyg-root input[type=color]::-webkit-color-swatch-wrapper{padding:0}.pyg-root input[type=color]::-webkit-color-swatch{border:none;border-radius:3px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
@@ -1,4 +1,4 @@
1
- import { F as s, N as a, e as r, s as i, a as t } from "./FrozenRoutePreview-BQDZOtJG.js";
1
+ import { F as s, N as a, e as r, s as i, a as t } from "./FrozenRoutePreview-Xm7o3urC.js";
2
2
  export {
3
3
  s as FrozenRoutePreviewView,
4
4
  a as NodeModel,
@@ -5,9 +5,8 @@ export declare const SECTION_PAD = 28;
5
5
  * can still be dropped onto one.
6
6
  *
7
7
  * A frame's box is measured to `resolveFrameHeight`, which is the frame
8
- * itself; the rendered element is taller because its label banner sits in
9
- * flow above it (63 canvas units on this project, font-metric dependent). Do
10
- * not widen these bounds to match: they decide which section a dropped frame
8
+ * itself; the rendered label is an overlay above it. Do not widen these bounds
9
+ * to match the label: they decide which section a dropped frame
11
10
  * joins, the search takes the first section it intersects, and lanes sit 210
12
11
  * apart while sections sit 120 plus the header reserve — so a taller box
13
12
  * would start overlapping its neighbour and reassign frames to the wrong
@@ -29,6 +29,7 @@ export declare function useInteractiveSessionPending(page: {
29
29
  interactiveStateId?: string;
30
30
  interactiveOptionId?: string;
31
31
  interactiveOptionIds?: readonly string[];
32
+ interactiveStateUsesDesiredState?: boolean;
32
33
  }, targetCacheKey?: string): boolean;
33
34
  /** The runner-owned live document currently reproducing this state. */
34
35
  export declare function useInteractiveSessionSurface(page: {
@@ -36,7 +37,8 @@ export declare function useInteractiveSessionSurface(page: {
36
37
  interactiveStateId?: string;
37
38
  interactiveOptionId?: string;
38
39
  interactiveOptionIds?: readonly string[];
39
- }): InteractiveSessionSurface | null;
40
+ interactiveStateUsesDesiredState?: boolean;
41
+ }, preparedSurfaceId?: string | null): InteractiveSessionSurface | null;
40
42
  /**
41
43
  * True while this frame holds one of the host's live screen slots, meaning it
42
44
  * renders the running app rather than its frozen capture.
@@ -64,11 +64,27 @@ export interface DesignScreenInteraction {
64
64
  export interface DesignScreenInteractionRunOptions {
65
65
  /**
66
66
  * Fallback pause after click, focus, hover, fill, check, and press steps.
67
- * The capture default is 600ms. A step's explicit `settleMs` always wins.
67
+ * The capture default is 600ms. A step's explicit `settleMs` wins unless
68
+ * target-driven replay can synchronize on the following observed wait.
68
69
  */
69
70
  defaultActionSettleMs?: number;
71
+ /**
72
+ * Uses observable wait steps as the synchronization point for the action
73
+ * immediately before them. This removes the action's fixed settle and the
74
+ * matched wait's implicit 500ms pause; an explicit settle on the wait and a
75
+ * timer-only wait remain authoritative. Capture replay keeps the default
76
+ * `authored` policy, while an already-visible interactive transition can use
77
+ * `target-driven` and let the final stability pass protect serialization.
78
+ */
79
+ settlePolicy?: 'authored' | 'target-driven';
70
80
  /** Called after boot presets succeed and immediately before actions begin. */
71
81
  onBeforeInteractions?: () => void;
82
+ /**
83
+ * Called as soon as every interaction succeeds, before capture assertions.
84
+ * Presentation can therefore hand over the live document while validation
85
+ * and snapshot persistence continue in the background.
86
+ */
87
+ onAfterInteractions?: () => void | Promise<void>;
72
88
  }
73
89
  /** A JSON-compatible value that conveys host-specific meaning without Pygmalion interpreting it. */
74
90
  export type DesignSerializable = string | number | boolean | null | readonly DesignSerializable[] | {
@@ -80,6 +96,15 @@ export type DesignSerializable = string | number | boolean | null | readonly Des
80
96
  * The meaning of keys and values ​​is entirely owned by the host adapter.
81
97
  */
82
98
  export type DesignScreenPreset = Readonly<Record<string, DesignSerializable>>;
99
+ /**
100
+ * Complete host-owned UI state for a rendered preview document.
101
+ *
102
+ * Unlike an interaction recipe, this is applied after the application mounts
103
+ * and asks React to render the requested state directly. Every application is
104
+ * a full replacement — including an empty object — so a reused preview cannot
105
+ * retain an override from the frame that occupied it previously.
106
+ */
107
+ export type DesignScreenDesiredState = Readonly<Record<string, DesignSerializable>>;
83
108
  export type StoryboardPermissionState = 'granted' | 'denied' | 'prompt';
84
109
  export type StoryboardMediaFailure = 'not-allowed' | 'not-found' | 'not-readable' | 'overconstrained';
85
110
  export interface StoryboardMediaDevice {
@@ -231,6 +256,8 @@ export interface DesignImportPage {
231
256
  */
232
257
  scenarioIds?: readonly string[];
233
258
  interactions?: readonly DesignScreenInteraction[];
259
+ /** Host-owned post-mount UI state rendered directly instead of replaying gestures. */
260
+ desiredState?: DesignScreenDesiredState;
234
261
  environment?: StoryboardEnvironment;
235
262
  preset?: DesignScreenPreset;
236
263
  assertions?: readonly DesignScreenAssertion[];
@@ -352,6 +379,8 @@ export interface DesignImportInitialPage {
352
379
  /** Every authored scenario this initial screen demonstrates. */
353
380
  scenarioIds?: readonly string[];
354
381
  interactions?: DesignScreenInteraction[];
382
+ /** Host-owned post-mount UI state rendered directly instead of replaying gestures. */
383
+ desiredState?: DesignScreenDesiredState;
355
384
  environment?: StoryboardEnvironment;
356
385
  preset?: DesignScreenPreset;
357
386
  assertions?: DesignScreenAssertion[];
@@ -375,8 +404,8 @@ export interface DesignScreenInteractionReport {
375
404
  failedLabel?: string;
376
405
  error?: string;
377
406
  }
378
- export type DesignScreenCaptureFailureStage = 'preset' | 'interaction' | 'assertion';
379
- export type DesignScreenCaptureFailureCode = 'preset_executor_missing' | 'preset_rejected' | 'preset_error' | 'interaction_failed' | 'invalid_selector' | 'existence_mismatch' | 'text_mismatch' | 'attribute_mismatch' | 'visibility_mismatch';
407
+ export type DesignScreenCaptureFailureStage = 'preset' | 'state' | 'interaction' | 'assertion';
408
+ export type DesignScreenCaptureFailureCode = 'preset_executor_missing' | 'preset_rejected' | 'preset_error' | 'state_executor_missing' | 'state_rejected' | 'state_error' | 'interaction_failed' | 'invalid_selector' | 'existence_mismatch' | 'text_mismatch' | 'attribute_mismatch' | 'visibility_mismatch';
380
409
  export interface DesignScreenCaptureFailure {
381
410
  stage: DesignScreenCaptureFailureStage;
382
411
  code: DesignScreenCaptureFailureCode;
@@ -434,10 +463,18 @@ export interface DesignScreenPresetExecutionResult {
434
463
  details?: DesignSerializable;
435
464
  }
436
465
  export type DesignScreenPresetExecutor = (request: DesignScreenPresetRequest, context: DesignScreenPresetContext) => Promise<DesignScreenPresetExecutionResult | void> | DesignScreenPresetExecutionResult | void;
466
+ /** Serializable desired-state transport. The host alone owns the key semantics. */
467
+ export interface DesignScreenDesiredStateRequest {
468
+ pageId: string;
469
+ route?: string;
470
+ state: DesignScreenDesiredState;
471
+ }
472
+ export type DesignScreenDesiredStateExecutor = (request: DesignScreenDesiredStateRequest, context: DesignScreenPresetContext) => Promise<DesignScreenPresetExecutionResult | void> | DesignScreenPresetExecutionResult | void;
437
473
  export interface DesignScreenCaptureSpec {
438
474
  pageId: string;
439
475
  route?: string;
440
476
  preset?: DesignScreenPreset;
477
+ desiredState?: DesignScreenDesiredState;
441
478
  interactions?: readonly DesignScreenInteraction[];
442
479
  assertions?: readonly DesignScreenAssertion[];
443
480
  }
@@ -495,6 +532,8 @@ export interface CreateDesignImportOptions {
495
532
  layerOptions?: DomImportOptions;
496
533
  /** The only boundary that enforces the host-specific semantics of the preset. The package does not interpret the payload. */
497
534
  executeScreenPreset?: DesignScreenPresetExecutor;
535
+ /** Applies complete host-owned UI state after mount and before gesture replay. */
536
+ executeDesiredState?: DesignScreenDesiredStateExecutor;
498
537
  /**
499
538
  * How screen pages spread across canvases. `single` (default) keeps every
500
539
  * screen on one canvas. `section` gives each section its own canvas
@@ -1,5 +1,5 @@
1
1
  import { type DesignImportController, type DesignScreenCaptureSpec } from './designImport';
2
- import type { ResolvedFlowPath } from './flowSessions';
2
+ import type { FlowSessionRunner, ResolvedFlowPath } from './flowSessions';
3
3
  import type { ScreenFlowPath } from './screenFlows';
4
4
  import { type PageModel } from './store';
5
5
  /** Applies the active frame's own boot condition to a path-specific session. */
@@ -70,18 +70,31 @@ export declare function subscribeViewportSessions(listener: () => void): () => v
70
70
  type InteractivePreparationController = Pick<DesignImportController, 'prepareScreenCapture' | 'prepareScreenState'>;
71
71
  /**
72
72
  * Reproduces an editor-controlled state without capture-only quiescence.
73
- * The runner still waits for a trailing paint and stable geometry before it
74
- * serializes, but presentation begins only after the state recipe has
75
- * finished. Showing a runner before its clicks and fills finish makes the
76
- * reviewer watch the script operate the product instead of reviewing a state.
73
+ * Direct desired state is presented as soon as the host commits React; replay
74
+ * states remain hidden until their gestures finish. Frozen persistence may
75
+ * continue afterward without delaying either live presentation path.
77
76
  */
78
77
  export declare function prepareInteractiveSessionState(iframe: HTMLIFrameElement, spec: DesignScreenCaptureSpec, controller?: InteractivePreparationController | null, onStateReady?: () => void): Promise<import("./designImport").DesignScreenCaptureReport>;
78
+ /**
79
+ * Test seam: replaces the interactive runner with one whose boot/prepare/
80
+ * publish are injected fakes, so the variant-and-repark queueing can run
81
+ * headless. Passing null restores the default runner on next use.
82
+ */
83
+ export declare function __setInteractiveSessionRunnerForTests(runner: FlowSessionRunner | null): void;
79
84
  export declare function interactiveSessionScreenId(page: {
80
85
  id: string;
81
86
  interactiveStateId?: string;
82
87
  interactiveOptionId?: string;
83
88
  interactiveOptionIds?: readonly string[];
84
89
  }): string;
90
+ /** Direct sibling options render through one persistent React document. */
91
+ export declare function interactiveSessionSurfaceId(page: {
92
+ id: string;
93
+ interactiveStateId?: string;
94
+ interactiveOptionId?: string;
95
+ interactiveOptionIds?: readonly string[];
96
+ interactiveStateUsesDesiredState?: boolean;
97
+ }): string;
85
98
  /**
86
99
  * Materializes one screen in its declared interactive state through the
87
100
  * screen's flow path. The prefix walks as pass-through; the target publishes
@@ -97,15 +110,51 @@ export declare function interactiveSessionWillDeliver(page: {
97
110
  interactiveStateId?: string;
98
111
  interactiveOptionId?: string;
99
112
  interactiveOptionIds?: readonly string[];
113
+ interactiveStateUsesDesiredState?: boolean;
100
114
  }, targetCacheKey?: string): boolean;
101
115
  /** Subscribe to interactive-state delivery changes. */
102
116
  export declare function subscribeInteractiveSessions(listener: () => void): () => void;
117
+ /** How one speculative enqueue attempt ended. */
118
+ export type InteractiveVariantPrefetchOutcome = 'queued' | 'busy' | 'tracked' | 'unavailable';
119
+ /** True when the interactive runner has nothing queued or walking. */
120
+ export declare function interactiveSessionRunnerIsIdle(): boolean;
121
+ /**
122
+ * True when the interactive runner already tracks this variant's delivery in
123
+ * any status. Unlike interactiveSessionWillDeliver, an untracked variant
124
+ * reads as false here: the prefetch policy asks "is anyone already on it",
125
+ * not "should the frame wait".
126
+ */
127
+ export declare function interactiveSessionTracksVariant(variantPage: {
128
+ importPageId?: string;
129
+ id: string;
130
+ interactiveStateId?: string;
131
+ interactiveOptionId?: string;
132
+ }): boolean;
133
+ /**
134
+ * Queues one speculative walk for a hypothetical variant identity — a shallow
135
+ * page clone carrying the interactions/environment/state fields the store's
136
+ * applyInteractiveState would produce for the option (variantPrefetch.ts
137
+ * derives it). Sibling of materializePageInteractiveState, kept separate so
138
+ * speculation never changes the real request path.
139
+ *
140
+ * The user must never wait behind speculation: the runner is concurrency-1
141
+ * FIFO, so this enqueues only into an EMPTY runner ('busy' otherwise). At
142
+ * most one speculative walk is therefore ever queued or running, and a real
143
+ * selection made meanwhile queues behind that single walk at worst.
144
+ */
145
+ export declare function prefetchPageInteractiveVariant(variantPage: PageModel, previewRevision: string): InteractiveVariantPrefetchOutcome;
103
146
  /** Diagnostic counters for the interactive-state path. */
104
147
  export declare const __interactiveSessionDebug: {
105
148
  requested: number;
106
149
  noPath: number;
107
150
  resolvedNull: number;
108
151
  queued: number;
152
+ /** Base-prefix re-park warming walks queued behind variant deliveries. */
153
+ reparkQueued: number;
154
+ /** Re-parks skipped because a parked base instance already serves the prefix. */
155
+ reparkAlreadyParked: number;
156
+ /** Re-parks skipped because the option adds no steps over the base screen. */
157
+ reparkNoExtraSteps: number;
109
158
  };
110
159
  /** Interactive-runner delivery states for the headless debug surface. */
111
160
  export declare function __debugInteractiveSessionStates(): Record<string, unknown>;
@@ -1,4 +1,4 @@
1
- import type { DesignScreenAssertion, DesignScreenCaptureReport, DesignScreenInteraction, DesignScreenPreset } from './designImport';
1
+ import type { DesignScreenAssertion, DesignScreenCaptureReport, DesignScreenDesiredState, DesignScreenInteraction, DesignScreenPreset } from './designImport';
2
2
  export interface ResolvedFlowWaypoint {
3
3
  screenId: string;
4
4
  /**
@@ -12,6 +12,19 @@ export interface ResolvedFlowWaypoint {
12
12
  width: number;
13
13
  height: number;
14
14
  steps: readonly DesignScreenInteraction[];
15
+ /** Complete host-owned UI state applied before this waypoint's steps. */
16
+ desiredState?: DesignScreenDesiredState;
17
+ /**
18
+ * This waypoint is a synchronous host render over an already reproduced
19
+ * screen. Interactive supply may publish it after paint without repeating
20
+ * capture-only assertions and geometry waits. Authoritative capture still
21
+ * performs the full contract.
22
+ */
23
+ fastDesiredState?: boolean;
24
+ /** Stable live-presentation slot; sibling direct states share one document. */
25
+ interactiveSurfaceId?: string;
26
+ /** Activation warm-up may prepare a surface before an option is selected. */
27
+ prewarmSurfacePageId?: string;
15
28
  /** The waypoint's own capture assertions, checked after its steps settle. */
16
29
  assertions?: readonly DesignScreenAssertion[];
17
30
  /**
@@ -77,14 +90,16 @@ export interface FlowSessionRunnerOptions {
77
90
  /** Navigates the instance and resolves when the document loaded. */
78
91
  boot?: (iframe: HTMLIFrameElement, url: string) => Promise<void>;
79
92
  /**
80
- * Prepares one waypoint on the instance: preset (host executor) ->
81
- * interactions -> assertions, exactly the capture pipeline's contract.
93
+ * Prepares one waypoint on the instance: preset (host executor) -> desired
94
+ * state (host executor) -> interactions -> assertions, exactly the capture
95
+ * pipeline's contract.
82
96
  * Defaults to the design-import controller's prepareScreenCapture.
83
97
  */
84
98
  prepare?: (iframe: HTMLIFrameElement, spec: {
85
99
  pageId: string;
86
100
  route?: string;
87
101
  preset?: DesignScreenPreset;
102
+ desiredState?: DesignScreenDesiredState;
88
103
  interactions?: readonly DesignScreenInteraction[];
89
104
  assertions?: readonly DesignScreenAssertion[];
90
105
  }, waypoint: ResolvedFlowWaypoint) => Promise<DesignScreenCaptureReport>;
@@ -97,15 +112,21 @@ export interface FlowSessionRunnerOptions {
97
112
  publish?: (cacheKey: string, snapshot: string) => boolean;
98
113
  /** Releases a live document after its delivery finishes or is abandoned. */
99
114
  onWaypointFinish?: (iframe: HTMLIFrameElement, waypoint: ResolvedFlowWaypoint, outcome: 'completed' | 'failed' | 'cancelled') => void;
115
+ /** Keeps a parked document alive while another surface is presenting it. */
116
+ keepWarmInstanceAlive?: (iframe: HTMLIFrameElement) => boolean;
100
117
  onError?: (pathId: string, error: unknown) => void;
101
118
  }
102
119
  /**
103
120
  * Resolves when the document's layout stops moving: two consecutive
104
- * animation frames with an identical element-geometry hash. JS-driven
105
- * entrance animations (rAF springs writing inline transforms) are invisible
106
- * to the frozen stylesheet's animation:none — serializing mid-flight pins
121
+ * animation frames whose element geometry matches. JS-driven entrance
122
+ * animations (rAF springs writing inline transforms) are invisible to the
123
+ * frozen stylesheet's animation:none — serializing mid-flight pins
107
124
  * intermediate rects as overlapping boxes, so the walk waits them out.
108
- * Perpetual animations hit the timeout and serialize best-effort.
125
+ * Movement owned by effectively-infinite animations (spinners, pulses,
126
+ * loops) is exempt from the convergence check instead of blocking it, so
127
+ * screens with perpetual motion settle as fast as still ones; the timeout
128
+ * stays as the backstop for documents that never converge either way.
129
+ * The policy lives in ./geometryStability, where it is tested as pure data.
109
130
  */
110
131
  export declare function waitForGeometryStability(iframe: HTMLIFrameElement, timeoutMs?: number): Promise<void>;
111
132
  export declare function createFlowSessionIframe(): HTMLIFrameElement;
@@ -117,23 +138,35 @@ export declare const __flowSessionWarmDebug: {
117
138
  reuses: number;
118
139
  parks: number;
119
140
  evictions: number;
141
+ /** Warming walks answered by renewing an already-parked instance's lease. */
142
+ refreshes: number;
120
143
  /** Which supply booted, so a stray second boot is attributable. */
121
144
  bootsByRunner: Record<string, number>;
122
145
  };
123
- /** Drops every parked instance identity change, canvas change, teardown. */
124
- export declare function evictFlowSessionWarmInstances(): void;
146
+ /** Drops parked instances globally, or only those owned by one runner. */
147
+ export declare function evictFlowSessionWarmInstances(ownerLabel?: string): void;
125
148
  /**
126
149
  * True when a walk of this path would resume on a parked instance. Activation
127
150
  * warming reads it to decide whether the frame already has a resumable
128
151
  * instance or one has to be walked in the background.
129
152
  */
130
153
  export declare function warmInstanceServesPath(path: ResolvedFlowPath): boolean;
154
+ /** Returns an idle document already parked at this path's exact endpoint. */
155
+ export declare function warmInstanceAtPathEnd(path: ResolvedFlowPath): HTMLIFrameElement | null;
131
156
  export declare function createFlowSessionRunner(options?: FlowSessionRunnerOptions): {
132
157
  /**
133
158
  * Queues paths for materialization. Screens already delivered, failed, or
134
159
  * claimed by a queued path are skipped — callers re-request freely.
135
160
  */
136
161
  materialize(paths: readonly ResolvedFlowPath[]): number;
162
+ /**
163
+ * Applies a path's terminal state on a known live document. The caller
164
+ * guarantees that this iframe already reached the path's route and base
165
+ * prefix; all gesture steps are therefore skipped and only the target's
166
+ * complete desired-state map is prepared. FIFO ordering keeps a document
167
+ * exposed by the current walk from being mutated until that walk finishes.
168
+ */
169
+ materializeOnInstance(path: ResolvedFlowPath, iframe: HTMLIFrameElement): number;
137
170
  /**
138
171
  * Drops queued paths the predicate rejects, releasing their pending
139
172
  * screens so a later materialize can queue them again. Running walks are
@@ -153,6 +186,13 @@ export declare function createFlowSessionRunner(options?: FlowSessionRunnerOptio
153
186
  forgetScreen(screenId: string): boolean;
154
187
  /** True while the session still owes this screen its snapshot. */
155
188
  willDeliver(screenId: string): boolean;
189
+ /**
190
+ * True when nothing is queued or walking. Speculative callers read this
191
+ * before enqueueing: the runner is FIFO, so speculative work queued ahead
192
+ * of a designer's real request would delay it — speculation may only
193
+ * enter an empty runner.
194
+ */
195
+ isIdle(): boolean;
156
196
  subscribe(listener: () => void): () => void;
157
197
  /**
158
198
  * Drops all session state. Running paths notice the round change at their
@@ -108,6 +108,15 @@ export declare const FRAME_LABEL_STYLE: {
108
108
  readonly meta: "#bebecb";
109
109
  readonly purpose: "#c4ccd8";
110
110
  };
111
+ /**
112
+ * The full label's maximum height and the room it consumes above a viewport.
113
+ *
114
+ * The label is an overlay, so this does not change a frame's own coordinates.
115
+ * Section titles and lane captions read the same clearance to stack above it
116
+ * instead of being painted across the label on the first frame of a section.
117
+ */
118
+ export declare const FRAME_LABEL_HEIGHT: number;
119
+ export declare const FRAME_LABEL_OVERLAY_CLEARANCE: number;
111
120
  /**
112
121
  * Below this zoom the label keeps only its rule and code.
113
122
  *