/*! 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-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:"Space Grotesk Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--color-lime-400:oklch(84.1% .238 128.85);--color-lime-700:oklch(53.2% .157 131.589);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--spacing:.25rem;--container-lg:32rem;--container-3xl:48rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xs:.125rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Space Grotesk Variable", ui-sans-serif, system-ui, sans-serif;--color-foreground:var(--foreground);--color-border:var(--border)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:0}.top-0{top:0}.top-\[68px\]{top:68px}.top-full{top:100%}.\!-right-2{right:calc(var(--spacing) * -2)!important}.right-3{right:calc(var(--spacing) * 3)}.\!-left-2{left:calc(var(--spacing) * -2)!important}.z-20{z-index:20}.z-30{z-index:30}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-5{margin-inline:calc(var(--spacing) * -5)}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mb-1{margin-bottom:var(--spacing)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.\!size-3\.5{width:calc(var(--spacing) * 3.5)!important;height:calc(var(--spacing) * 3.5)!important}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-4\.5{width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-\[26px\]{width:26px;height:26px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7\.5{height:calc(var(--spacing) * 7.5)}.h-8{height:calc(var(--spacing) * 8)}.h-8\.5{height:calc(var(--spacing) * 8.5)}.h-\[68px\]{height:68px}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-\[calc\(100dvh-128px\)\]{max-height:calc(100dvh - 128px)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-15{min-height:calc(var(--spacing) * 15)}.min-h-\[300px\]{min-height:300px}.min-h-\[330px\]{min-height:330px}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-\[calc\(100\%\+2\.5rem\)\]{width:calc(100% + 2.5rem)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-65{max-width:calc(var(--spacing) * 65)}.max-w-\[12ch\]{max-width:12ch}.max-w-\[13ch\]{max-width:13ch}.max-w-\[34ch\]{max-width:34ch}.max-w-\[37ch\]{max-width:37ch}.max-w-\[40ch\]{max-width:40ch}.max-w-\[52ch\]{max-width:52ch}.max-w-\[58ch\]{max-width:58ch}.max-w-\[68ch\]{max-width:68ch}.max-w-\[1280px\]{max-width:1280px}.max-w-\[1440px\]{max-width:1440px}.max-w-lg{max-width:var(--container-lg)}.min-w-0{min-width:0}.min-w-50{min-width:calc(var(--spacing) * 50)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.\!cursor-crosshair{cursor:crosshair!important}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.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-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}: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-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-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-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:calc(var(--radius) * 1.25)}.rounded-md{border-radius:var(--radius)}.rounded-sm{border-radius:calc(var(--radius) * .75)}.rounded-xs{border-radius:var(--radius-xs)}.\!border-2{border-style:var(--tw-border-style)!important;border-width:2px!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\!border-destructive{border-color:var(--destructive)!important}.\!border-input{border-color:var(--input)!important}.\!border-primary{border-color:var(--primary)!important}.border-border{border-color:var(--border)}.border-chart-4,.border-chart-4\/30{border-color:var(--chart-4)}@supports (color:color-mix(in lab, red, red)){.border-chart-4\/30{border-color:color-mix(in oklab, var(--chart-4) 30%, transparent)}}.border-destructive,.border-destructive\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/20{border-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.border-info,.border-info\/30{border-color:var(--info)}@supports (color:color-mix(in lab, red, red)){.border-info\/30{border-color:color-mix(in oklab, var(--info) 30%, transparent)}}.border-primary,.border-primary\/30{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.border-slate-800{border-color:var(--color-slate-800)}.border-slate-800\/80{border-color:#1d293dcc}@supports (color:color-mix(in lab, red, red)){.border-slate-800\/80{border-color:color-mix(in oklab, var(--color-slate-800) 80%, transparent)}}.\!bg-background{background-color:var(--background)!important}.\!bg-destructive\/20{background-color:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.\!bg-destructive\/20{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)!important}}.\!bg-primary\/20{background-color:var(--primary)!important}@supports (color:color-mix(in lab, red, red)){.\!bg-primary\/20{background-color:color-mix(in oklab, var(--primary) 20%, transparent)!important}}.bg-\[\#0d0f0a\]{background-color:#0d0f0a}.bg-\[\#0f172a\]{background-color:#0f172a}.bg-\[\#1e293b\]\/70{background-color:oklab(27.9495% -.00637898 -.0362918/.7)}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-card{background-color:var(--card)}.bg-chart-4\/10{background-color:var(--chart-4)}@supports (color:color-mix(in lab, red, red)){.bg-chart-4\/10{background-color:color-mix(in oklab, var(--chart-4) 10%, transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-info\/10{background-color:var(--info)}@supports (color:color-mix(in lab, red, red)){.bg-info\/10{background-color:color-mix(in oklab, var(--info) 10%, transparent)}}.bg-muted{background-color:var(--muted)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-900{background-color:var(--color-slate-900)}.stroke-2{stroke-width:2px}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.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-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pr-1{padding-right:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pl-1{padding-left:var(--spacing)}.text-center{text-align:center}.text-left{text-align:left}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[clamp\(4rem\,7\.5vw\,7\.5rem\)\]{font-size:clamp(4rem,7.5vw,7.5rem)}.leading-\[0\.9\]{--tw-leading:.9;line-height:.9}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.08\]{--tw-leading:1.08;line-height:1.08}.leading-\[1\.85\]{--tw-leading:1.85;line-height:1.85}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-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-\[-0\.08em\]{--tw-tracking:-.08em;letter-spacing:-.08em}.tracking-\[-0\.055em\]{--tw-tracking:-.055em;letter-spacing:-.055em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-\[\#365314\]{color:#365314}.text-accent-foreground{color:var(--accent-foreground)}.text-chart-4{color:var(--chart-4)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-info{color:var(--info)}.text-lime-400{color:var(--color-lime-400)}.text-lime-700{color:var(--color-lime-700)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-400{color:var(--color-slate-400)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.shadow-\[0_8px_12px_-8px_rgba\(0\,0\,0\,0\.22\)\]{--tw-shadow:0 8px 12px -8px var(--tw-shadow-color,#00000038);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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--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)}.shadow-destructive\/10{--tw-shadow-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.shadow-destructive\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--destructive) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/10{--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.shadow-primary\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--primary) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-destructive\/25{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.ring-destructive\/25{--tw-ring-color:color-mix(in oklab, var(--destructive) 25%, transparent)}}.ring-primary\/40{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/40{--tw-ring-color:color-mix(in oklab, var(--primary) 40%, transparent)}}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-\[var\(--duration-fast\)\]{--tw-duration:var(--duration-fast);transition-duration:var(--duration-fast)}.ease-\[var\(--ease-smooth-out\)\]{--tw-ease:var(--ease-smooth-out);transition-timing-function:var(--ease-smooth-out)}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:text-primary:is(:where(.group):hover *){color:var(--primary)}}.selection\:bg-primary\/20 ::selection{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.selection\:bg-primary\/20 ::selection{background-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.selection\:bg-primary\/20::selection{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.selection\:bg-primary\/20::selection{background-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.selection\:text-primary ::selection{color:var(--primary)}.selection\:text-primary::selection{color:var(--primary)}.before\:pointer-events-auto:before{content:var(--tw-content);pointer-events:auto}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:-inset-3:before{content:var(--tw-content);inset:calc(var(--spacing) * -3)}.before\:rounded-full:before{content:var(--tw-content);border-radius:2147483647px}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}@media (hover:hover){.hover\:\!scale-125:hover{--tw-scale-x:125%!important;--tw-scale-y:125%!important;--tw-scale-z:125%!important;scale:var(--tw-scale-x) var(--tw-scale-y)!important}.hover\:\!border-primary:hover{border-color:var(--primary)!important}.hover\:border-foreground\/40:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:border-foreground\/40:hover{border-color:color-mix(in oklab, var(--foreground) 40%, transparent)}}.hover\:\!bg-destructive:hover{background-color:var(--destructive)!important}.hover\:\!bg-primary:hover{background-color:var(--primary)!important}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-slate-200:hover{color:var(--color-slate-200)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-offset-\[-2px\]:focus-visible{outline-offset:-2px}.focus-visible\:outline-lime-400:focus-visible{outline-color:var(--color-lime-400)}.focus-visible\:outline-primary:focus-visible{outline-color:var(--primary)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (width>=40rem){.sm\:grid-cols-\[0\.42fr_0\.58fr\]{grid-template-columns:.42fr .58fr}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:gap-6{gap:calc(var(--spacing) * 6)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-7{padding-inline:calc(var(--spacing) * 7)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-16{padding-block:calc(var(--spacing) * 16)}.sm\:py-28{padding-block:calc(var(--spacing) * 28)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-\[13px\]{font-size:13px}}@media (width>=48rem){.md\:static{position:static}.md\:sticky{position:sticky}.md\:top-24{top:calc(var(--spacing) * 24)}.md\:mx-0{margin-inline:0}.md\:block{display:block}.md\:hidden{display:none}.md\:w-60{width:calc(var(--spacing) * 60)}.md\:flex-row{flex-direction:row}.md\:gap-10{gap:calc(var(--spacing) * 10)}.md\:self-stretch{align-self:stretch}.md\:bg-transparent{background-color:#0000}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:py-14{padding-block:calc(var(--spacing) * 14)}}@media (width>=64rem){.lg\:min-h-\[620px\]{min-height:620px}.lg\:grid-cols-\[0\.65fr_1\.35fr\]{grid-template-columns:.65fr 1.35fr}.lg\:grid-cols-\[0\.85fr_1\.15fr\]{grid-template-columns:.85fr 1.15fr}.lg\:grid-cols-\[1\.06fr_0\.94fr\]{grid-template-columns:1.06fr .94fr}.lg\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:gap-16{gap:calc(var(--spacing) * 16)}.lg\:gap-20{gap:calc(var(--spacing) * 20)}.lg\:gap-24{gap:calc(var(--spacing) * 24)}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}.lg\:py-16{padding-block:calc(var(--spacing) * 16)}}@media (width>=80rem){.xl\:px-20{padding-inline:calc(var(--spacing) * 20)}}}.iot-widget-host{box-sizing:border-box;width:100%;height:100%;color:var(--color-text,#171717);-webkit-user-select:none;user-select:none;font-family:system-ui,sans-serif;display:block;container-type:size}.iot-value .card{box-sizing:border-box;background:var(--color-bg-elevated,white);border:1px solid var(--color-border,#e5e5e5);border-radius:4px;grid-template-rows:auto 1fr;width:100%;height:100%;padding:clamp(10px,7cqmin,20px);transition:border-color .12s,box-shadow .12s;display:grid;overflow:hidden}.iot-value .card:hover{border-color:var(--color-border-strong,#d4d4d4)}.iot-value .title{color:var(--color-text-muted,#525252);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden}.iot-value .reading{justify-content:center;align-items:center;gap:.25em;min-width:0;min-height:0;line-height:1;display:flex}.iot-value .value{letter-spacing:-.02em;color:var(--color-text,#171717);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(20px,28cqmin,64px);font-weight:700;line-height:1;overflow:hidden}.iot-value .unit{color:var(--color-text-subtle,#737373);font-size:clamp(10px,8cqmin,18px);font-weight:500}.iot-value .ts{display:none}.iot-gauge .card{box-sizing:border-box;background:var(--color-bg-elevated,white);border:1px solid var(--color-border,#e5e5e5);border-radius:4px;grid-template-rows:auto 1fr;width:100%;height:100%;padding:clamp(10px,7cqmin,20px);transition:border-color .12s;display:grid;overflow:hidden}.iot-gauge .ts{display:none}.iot-gauge .card:hover{border-color:var(--color-border-strong,#d4d4d4)}.iot-gauge .title{color:var(--color-text-muted,#525252);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.iot-gauge .gauge{justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative}.iot-gauge svg{width:100%;max-width:100%;height:100%;max-height:100%;display:block;transform:translateY(-5%)}.iot-gauge svg .track{stroke:var(--color-border,#e5e5e5);opacity:.6}.iot-gauge svg .arc{stroke:var(--primary,#84cc16);transition:stroke-dasharray .28s,stroke .2s}.iot-gauge .center{text-align:center;pointer-events:none;width:70%;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.iot-gauge .value{letter-spacing:-.02em;color:var(--color-text,#171717);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(16px,18cqmin,40px);font-weight:700;line-height:1;overflow:hidden}.iot-gauge .bounds{display:none}.iot-toggle .card{box-sizing:border-box;background:var(--color-bg-elevated,white);border:1px solid var(--color-border,#e5e5e5);border-radius:4px;grid-template-rows:auto 1fr;gap:clamp(6px,3cqmin,10px);width:100%;height:100%;padding:clamp(10px,4cqmin,14px);transition:border-color .12s;display:grid;overflow:hidden}.iot-toggle .card:hover{border-color:var(--color-border-strong,#d4d4d4)}.iot-toggle .title{color:var(--color-text-muted,#525252);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.iot-toggle .switch-wrap{justify-content:stretch;align-items:stretch;width:100%;min-width:0;height:100%;min-height:0;display:flex}.iot-toggle .square-switch-track{box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;outline:none;align-items:center;width:100%;height:100%;padding:3px;transition:background-color .22s,border-color .22s,box-shadow .22s;display:flex;position:relative}.dark .iot-toggle .square-switch-track,:root.dark .iot-toggle .square-switch-track{background:#262626;border-color:#ffffff14}.iot-toggle .square-switch-track.on{background:#84cc16;border-color:#65a30d;box-shadow:inset 0 1px 2px #0000001f,0 0 0 1px #84cc164d}.dark .iot-toggle .square-switch-track.on,:root.dark .iot-toggle .square-switch-track.on{background:#a3e635;border-color:#bef264;box-shadow:inset 0 1px 3px #0000004d,0 0 14px #a3e63566}.iot-toggle .square-switch-thumb{z-index:1;background:#fff;border:1px solid #cbd5e1;border-radius:3px;justify-content:center;align-items:center;width:calc(50% - 3px);transition:transform .22s cubic-bezier(.16,1,.3,1),background-color .2s;display:flex;position:absolute;top:3px;bottom:3px;left:3px;box-shadow:0 1px 4px #0000001f,inset 0 1px #ffffffe6}.dark .iot-toggle .square-switch-thumb,:root.dark .iot-toggle .square-switch-thumb{background:#171717;border:1px solid #ffffff1f;box-shadow:0 2px 5px #00000080}.dark .iot-toggle .square-switch-track.on .square-switch-thumb,:root.dark .iot-toggle .square-switch-track.on .square-switch-thumb{color:#292524;background:#f5f5f4;border-color:#fff;box-shadow:0 2px 6px #00000047}.iot-toggle .square-switch-thumb.off{transform:translate(0)}.iot-toggle .square-switch-thumb.on{transform:translate(100%)}.iot-toggle .thumb-grip{opacity:.35;align-items:center;gap:3px;display:flex}.iot-toggle .thumb-grip span{background:currentColor;border-radius:1px;width:2px;height:clamp(10px,40%,18px)}.iot-toggle .square-switch-track.on .square-switch-thumb{box-shadow:0 2px 6px #00000040}.iot-slider .card{box-sizing:border-box;background:var(--color-bg-elevated,white);border:1px solid var(--color-border,#e5e5e5);border-radius:4px;grid-template-rows:auto 1fr;gap:clamp(6px,3cqmin,12px);width:100%;height:100%;padding:clamp(10px,5cqmin,18px);transition:border-color .12s;display:grid;overflow:hidden}.iot-slider .card:hover{border-color:var(--color-border-strong,#d4d4d4)}.iot-slider .head{justify-content:space-between;align-items:baseline;gap:.5em;min-width:0;display:flex}.iot-slider .title{color:var(--color-text-muted,#525252);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.iot-slider .reading{font-variant-numeric:tabular-nums;color:var(--color-text,#171717);white-space:nowrap;align-items:baseline;gap:.2em;line-height:1;display:inline-flex}.iot-slider .value{letter-spacing:-.02em;font-size:18px;font-weight:700}.iot-slider .unit{color:var(--color-text-subtle,#737373);font-size:clamp(10px,min(8cqh,4cqw),14px);font-weight:500}.iot-slider .control{justify-content:center;align-items:center;min-width:0;min-height:0;padding:clamp(4px,2cqmin,8px);display:flex}.iot-slider .track-wrap{justify-content:center;align-items:center;width:100%;height:clamp(18px,min(14cqh,7cqw),28px);display:flex;position:relative}.iot-slider .track{background:var(--color-border,#e5e5e5);border-radius:9999px;width:100%;height:clamp(8px,min(6cqh,3cqw),14px);position:relative;overflow:hidden}.iot-slider .fill{width:var(--fill-pct,0%);background:var(--primary,#84cc16);transition:width 80ms linear,height 80ms linear;position:absolute;inset:0 auto 0 0}.iot-slider .range{opacity:0;cursor:grab;appearance:none;background:0 0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.iot-slider .range:active{cursor:grabbing}.iot-slider .thumb{top:50%;left:var(--thumb-pos,0%);background:var(--color-bg-elevated,white);border:2px solid var(--primary,#84cc16);pointer-events:none;border-radius:9999px;width:clamp(18px,min(14cqh,7cqw),28px);height:clamp(18px,min(14cqh,7cqw),28px);transition:box-shadow .14s,transform 80ms;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px -1px #00000026}.iot-slider .range:hover~.thumb{box-shadow:0 2px 6px -1px #0000002e,0 0 0 4px #84cc1633}.iot-slider .range:active~.thumb{transform:translate(-50%,-50%)scale(1.08);box-shadow:0 2px 8px -1px #0003,0 0 0 6px #84cc1659}.iot-slider .range:focus-visible~.thumb{box-shadow:0 2px 6px -1px #0000002e,0 0 0 4px #84cc1659}.iot-slider[data-orientation=vertical] .track-wrap{flex-direction:column;width:clamp(18px,min(14cqh,7cqw),28px);height:100%}.iot-slider[data-orientation=vertical] .track{width:clamp(8px,min(3cqw,6cqh),14px);height:100%}.iot-slider[data-orientation=vertical] .fill{width:100%;height:var(--fill-pct,0%);inset:auto 0 0}.iot-slider[data-orientation=vertical] .thumb{top:var(--thumb-pos,0%);left:50%}.iot-slider[data-orientation=vertical] .range{writing-mode:vertical-lr;direction:rtl}.iot-slider .footer{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:.5em;display:flex}.iot-slider .bounds{color:var(--color-text-faint,#a3a3a3);gap:.4em;font-size:clamp(9px,min(6cqh,3cqw),12px);display:flex}.iot-slider .ts{color:var(--color-text-faint,#a3a3a3);white-space:nowrap;font-size:9px}.iot-push .card{box-sizing:border-box;background:var(--color-bg-elevated,white);border:1px solid var(--color-border,#e5e5e5);border-radius:4px;grid-template-rows:auto 1fr;gap:clamp(6px,3cqmin,10px);width:100%;height:100%;padding:clamp(10px,4cqmin,14px);transition:border-color .12s;display:grid;overflow:hidden}.iot-push .card:hover{border-color:var(--color-border-strong,#d4d4d4)}.iot-push .title{color:var(--color-text-muted,#525252);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.iot-push .button-wrap{justify-content:stretch;align-items:stretch;width:100%;min-width:0;height:100%;min-height:0;display:flex}.iot-push .button{border:1px solid var(--color-border-strong,#d4d4d4);background:var(--color-bg-elevated,#fff);width:100%;height:100%;color:var(--color-text,#171717);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:3px;flex-direction:row;justify-content:center;align-items:center;gap:8px;padding:6px 14px;font-family:inherit;font-size:clamp(11px,min(14cqh,6cqw),15px);font-weight:700;transition:transform 60ms,background .1s,box-shadow .1s,border-color .1s,color .1s;display:flex;box-shadow:0 1px 3px #00000014}.iot-push .button:hover{background:var(--accent,#f7fee7);border-color:var(--primary,#84cc16);color:var(--foreground,#171717)}.iot-push .button:active,.iot-push .button.pressing{background:var(--primary,#84cc16);color:#000;border-color:var(--primary,#84cc16);transform:translateY(1px)scale(.99);box-shadow:0 0 0 2px #84cc1659,inset 0 2px 4px #00000026}.dark .iot-push .button,:root.dark .iot-push .button{border-color:var(--color-border-strong,#384230)}.dark .iot-push .button:hover,:root.dark .iot-push .button:hover{color:#a3e635;background:#a3e6351f;border-color:#a3e635}.dark .iot-push .button:active,.dark .iot-push .button.pressing,:root.dark .iot-push .button:active,:root.dark .iot-push .button.pressing{color:#09090b;background:#a3e635;border-color:#a3e635;box-shadow:0 0 16px #a3e63566,inset 0 2px 4px #0003}.iot-push .label{text-align:center;overflow-wrap:anywhere;white-space:nowrap;text-overflow:ellipsis;max-width:100%;line-height:1.2;overflow:hidden}.iot-push .label:empty,.iot-push .ts{display:none}.iot-percent .card{box-sizing:border-box;background:var(--color-bg-elevated,white);border:1px solid var(--color-border,#e5e5e5);border-radius:4px;grid-template-rows:auto 1fr;gap:clamp(6px,3cqmin,12px);width:100%;height:100%;padding:clamp(10px,7cqmin,20px);transition:border-color .12s;display:grid;overflow:hidden}.iot-percent .card:hover{border-color:var(--color-border-strong,#d4d4d4)}.iot-percent .title{color:var(--color-text-muted,#525252);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.iot-percent .percent-ring{justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative}.iot-percent svg{width:100%;max-width:100%;height:100%;max-height:100%;display:block}.iot-percent svg .track{stroke:var(--color-border,#e5e5e5);opacity:.55}.iot-percent svg .arc{stroke:var(--arc-color,var(--color-foreground,#171717));transition:stroke-dasharray .32s,stroke .2s}.iot-percent .center{text-align:center;pointer-events:none;width:64%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.iot-percent .value{letter-spacing:-.02em;color:var(--color-text,#171717);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(15px,17cqmin,40px);font-weight:700;line-height:1;overflow:hidden}.iot-percent .unit{color:var(--color-text-subtle,#737373);margin-top:.25em;font-size:clamp(9px,7cqmin,15px);font-weight:600}.iot-percent .ts{display:none}.iot-color .card{box-sizing:border-box;background:var(--color-bg-elevated,white);border:1px solid var(--color-border,#e5e5e5);border-radius:4px;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:clamp(5px,2cqh,11px);width:100%;height:100%;padding:clamp(10px,5cqmin,18px);transition:border-color .12s;display:grid;overflow:hidden}.iot-color .card:hover{border-color:var(--color-border-strong,#d4d4d4)}.iot-color .head{justify-content:space-between;align-items:baseline;gap:.5em;min-width:0;display:flex}.iot-color .title{color:var(--color-text-muted,#525252);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.iot-color .stage{place-items:center;min-width:0;min-height:0;display:grid;container-type:size}.iot-color .wheel{cursor:crosshair;touch-action:none;background:radial-gradient(circle closest-side,#fff 0%,#fff0 70%),conic-gradient(from 90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:50%;width:min(100cqw,100cqh);height:min(100cqw,100cqh);position:relative;box-shadow:inset 0 0 0 1px #00000014}.iot-color .handle{top:var(--handle-top,50%);left:var(--handle-left,50%);background:var(--handle-bg,#fff);pointer-events:none;border:2.5px solid #fff;border-radius:50%;width:clamp(16px,10cqmin,26px);height:clamp(16px,10cqmin,26px);transition:box-shadow .14s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000040,0 2px 6px -1px #0000004d}.iot-color .bright{align-items:center;gap:clamp(5px,2.5cqmin,9px);min-width:0;display:flex}.iot-color .bicon{width:clamp(13px,5.5cqh,18px);height:clamp(13px,5.5cqh,18px);color:var(--color-text-subtle,#737373);flex:none;display:inline-flex}.iot-color .bicon svg{width:100%;height:100%}.iot-color .track-wrap{flex:1;align-items:center;height:clamp(12px,5cqh,18px);display:flex;position:relative}.iot-color .track{background:linear-gradient(to right, #000, var(--hue-color,#fff));border-radius:9999px;width:100%;height:clamp(5px,2.4cqh,9px);position:relative;box-shadow:inset 0 0 0 1px #0000001a}.iot-color .brange{opacity:0;cursor:grab;appearance:none;touch-action:none;background:0 0;width:100%;height:100%;margin:0;position:absolute;inset:0}.iot-color .brange:active{cursor:grabbing}.iot-color .bthumb{top:50%;left:var(--thumb-left,0%);pointer-events:none;background:#fff;border:1.5px solid #0000002e;border-radius:9999px;width:clamp(11px,4.5cqh,16px);height:clamp(11px,4.5cqh,16px);position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 3px -1px #00000047}.iot-color .presets{gap:clamp(4px,2cqmin,7px);min-width:0;display:flex}.iot-color .swatch{cursor:pointer;background:var(--swatch-color,#fff);border:1px solid #0000001f;border-radius:6px;flex:1;min-width:0;height:clamp(14px,6cqh,24px);padding:0;transition:transform .1s,box-shadow .12s}.iot-color .swatch:hover{transform:translateY(-1px);box-shadow:0 2px 6px -1px #00000040}.iot-color .swatch:active{transform:translateY(0)}.iot-color .foot{justify-content:space-between;align-items:center;gap:.5em;min-width:0;display:flex}.iot-color .hex{box-sizing:border-box;letter-spacing:.02em;text-transform:uppercase;width:clamp(70px,38cqmin,104px);color:var(--color-text,#171717);background:var(--color-bg,#fff);border:1px solid var(--color-border,#e5e5e5);border-radius:6px;outline:none;padding:clamp(3px,1.6cqh,6px) clamp(5px,2cqmin,8px);font-family:ui-monospace,monospace;font-size:clamp(10px,4cqh,13px)}.iot-color .hex:focus{border-color:var(--color-foreground,#171717)}.iot-color .ts{display:none}.iot-chart .card{box-sizing:border-box;background:var(--color-bg-elevated,white);border:1px solid var(--color-border,#e5e5e5);border-radius:4px;flex-direction:column;width:100%;height:100%;padding:12px 14px 10px;transition:border-color .12s;display:flex;overflow:hidden}.iot-chart .card:hover{border-color:var(--color-border-strong,#d4d4d4)}.iot-chart .header{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.iot-chart .title{min-height:16px;color:var(--color-text-muted,#525252);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden}.iot-chart .chart-host{touch-action:none;width:100%;min-width:0;height:100%;min-height:0;position:relative}.iot-chart .ts{color:var(--color-text-faint,#a3a3a3);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:9px;line-height:1}.dark .iot-widget-host,:root[class~=dark] .iot-widget-host{color:#e5e5e5}.dark .iot-toggle .switch,:root[class~=dark] .iot-toggle .switch{color:#d4d4d4;background:#1f1f1f;border-color:#333}.dark .iot-toggle .switch:hover,:root[class~=dark] .iot-toggle .switch:hover{color:#fff;background:#262626;border-color:#525252}.dark .iot-toggle .switch .dot,:root[class~=dark] .iot-toggle .switch .dot{background:#525252}.dark .iot-toggle .switch:hover .dot,:root[class~=dark] .iot-toggle .switch:hover .dot{background:#888}.dark .iot-toggle .switch.on,:root[class~=dark] .iot-toggle .switch.on{color:#000;background:#fff;border-color:#fff;box-shadow:0 0 0 4px #ffffff26}.dark .iot-toggle .switch.on:hover,:root[class~=dark] .iot-toggle .switch.on:hover{color:#000;background:#e5e5e5;border-color:#e5e5e5}.dark .iot-toggle .switch.on .dot,:root[class~=dark] .iot-toggle .switch.on .dot,.dark .iot-toggle .switch.on:hover .dot,:root[class~=dark] .iot-toggle .switch.on:hover .dot{background:#000}.dark .iot-push .button,:root[class~=dark] .iot-push .button{color:#000;background:#fff;box-shadow:0 4px 14px -2px #0009,inset 0 -2px #00000026}.dark .iot-push .button:hover,:root[class~=dark] .iot-push .button:hover{color:#000;background:#e5e5e5}.dark .iot-push .button:active,.dark .iot-push .button.pressing,:root[class~=dark] .iot-push .button:active,:root[class~=dark] .iot-push .button.pressing{color:#000;background:#ccc;box-shadow:0 2px 6px -1px #0009,inset 0 2px #00000040}.dark .iot-slider .track,:root[class~=dark] .iot-slider .track{background:#2e2e2e}.dark .iot-slider .fill,:root[class~=dark] .iot-slider .fill{background:#fff}.dark .iot-slider .thumb,:root[class~=dark] .iot-slider .thumb{background:#171717;border:2px solid #fff;box-shadow:0 2px 6px -1px #0006}.dark .iot-slider .range:hover~.thumb,:root[class~=dark] .iot-slider .range:hover~.thumb{box-shadow:0 2px 6px -1px #00000080,0 0 0 4px #ffffff26}.dark .iot-gauge svg .track,:root[class~=dark] .iot-gauge svg .track,.dark .iot-percent svg .track,:root[class~=dark] .iot-percent svg .track{stroke:#2e2e2e}.dark .iot-gauge svg .arc,:root[class~=dark] .iot-gauge svg .arc,.dark .iot-percent svg .arc,:root[class~=dark] .iot-percent svg .arc{stroke:var(--primary,#a3e635)}.dark .iot-gauge .value,:root[class~=dark] .iot-gauge .value,.dark .iot-percent .value,:root[class~=dark] .iot-percent .value{color:#fff}.dark .iot-color .hex,:root[class~=dark] .iot-color .hex{color:#fff;background:#181818;border-color:#333}.dark .iot-color .hex:focus,:root[class~=dark] .iot-color .hex:focus{border-color:#fff}:root{--duration-quick:.15s;--duration-fast:.25s;--duration-very-slow:.5s;--ease-smooth-out:cubic-bezier(.22, 1, .36, 1);--dropdown-open-dur:.25s;--dropdown-close-dur:.15s;--dropdown-pre-scale:.97;--dropdown-closing-scale:.99;--dropdown-ease:cubic-bezier(.22, 1, .36, 1);--learn-shift:2px;--learn-spread:8deg;--learn-in:.35s;--learn-out:.35s;--learn-ease:cubic-bezier(.22, 1, .36, 1)}.t-dropdown{transform-origin:0 0;transform:scale(var(--dropdown-pre-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-open-dur) var(--dropdown-ease), opacity var(--dropdown-open-dur) var(--dropdown-ease);will-change:transform, opacity}.t-dropdown[data-origin=top-right]{transform-origin:100% 0}.t-dropdown[data-origin=top-center]{transform-origin:top}.t-dropdown[data-origin=bottom-left]{transform-origin:0 100%}.t-dropdown[data-origin=bottom-center]{transform-origin:bottom}.t-dropdown[data-origin=bottom-right]{transform-origin:100% 100%}.t-dropdown.is-open{opacity:1;pointer-events:auto;transform:scale(1)}.t-dropdown.is-closing{transform:scale(var(--dropdown-closing-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-close-dur) var(--dropdown-ease), opacity var(--dropdown-close-dur) var(--dropdown-ease)}@media (prefers-reduced-motion:reduce){.t-dropdown{transition:none!important}}.t-learn-chevron{transition:transform var(--learn-out) var(--learn-ease);display:inline-flex;transform:translate(0)}.t-learn-arm{transform-box:view-box;transform-origin:10px 8px;vector-effect:non-scaling-stroke;transition:transform var(--learn-out) var(--learn-ease)}.t-learn:hover .t-learn-chevron{transform:translateX(var(--learn-shift));transition-duration:var(--learn-in)}.t-learn:hover .t-learn-arm{transition-duration:var(--learn-in)}.t-learn:hover .t-learn-arm-top{transform:rotate(var(--learn-spread))}.t-learn:hover .t-learn-arm-bot{transform:rotate(calc(var(--learn-spread) * -1))}@media (prefers-reduced-motion:reduce){.t-learn-chevron,.t-learn-arm{transition:none!important}}@keyframes site-fade-in{0%{opacity:0}to{opacity:1}}.site-hero-copy,.site-hero-scene .site-hero-demo{animation:site-fade-in var(--duration-very-slow) var(--ease-smooth-out) both}.site-capability-widget{transition:transform var(--duration-fast) var(--ease-smooth-out)}@media (hover:hover) and (pointer:fine){.site-capability-widget:hover{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.site-hero-copy,.site-hero-scene .site-hero-demo{animation:none!important}.site-capability-widget{transition:none!important}}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-weight:300 700;font-display:block;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-weight:300 700;font-display:block;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-weight:300 700;font-display:block;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}:root{--radius:.25rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:#84cc16;--primary-foreground:#09090b;--secondary:#ecfccb;--secondary-foreground:#365314;--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:#f7fee7;--accent-foreground:#365314;--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:#84cc16;--info:oklch(60% .18 240);--chart-4:#8b5cf6;--accent-50:#f7fee7;--accent-100:#ecfccb;--accent-200:#d9f99d;--accent-300:#bef264;--accent-400:#a3e635;--accent-500:#84cc16;--accent-600:#65a30d;--accent-700:#4d7c0f;--accent-800:#3f6212;--accent-900:#365314;--accent-950:#1a2e05;--color-bg:#f8fafc;--color-bg-elevated:#fff;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#0f172a;--color-text-muted:#64748b;--color-text-subtle:#94a3b8;--canvas-bg:#f8fafc;--canvas-dot:#64748b2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--radius:.25rem;--background:#141612;--foreground:#f4f7ed;--card:#1a1e16;--card-foreground:#f4f7ed;--popover:#1a1e16;--popover-foreground:#f4f7ed;--primary:#a3e635;--primary-foreground:#141612;--secondary:#28331e;--secondary-foreground:#e4f6cf;--muted:#252a20;--muted-foreground:#b1bca5;--accent:#28331e;--accent-foreground:#e4f6cf;--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.5% 0 0);--border:#30382a;--input:#3b4734;--ring:#a3e635;--accent-50:#f7fee7;--accent-100:#ecfccb;--accent-200:#d9f99d;--accent-300:#bef264;--accent-400:#a3e635;--accent-500:#84cc16;--accent-600:#65a30d;--accent-700:#4d7c0f;--accent-800:#3f6212;--accent-900:#365314;--accent-950:#1a2e05;--color-bg:#141612;--color-bg-elevated:#1a1e16;--color-border:#30382a;--color-border-strong:#4b5940;--color-text:#f4f7ed;--color-text-muted:#b1bca5;--color-text-subtle:#89947f;--canvas-bg:#141612;--canvas-dot:#a3e63521;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{min-height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.site-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbfcf9e0}.dark .site-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#141612f0}.site-nav-link{color:var(--muted-foreground);white-space:nowrap;transition:color var(--duration-fast) var(--ease-smooth-out);font-size:.8rem;font-weight:500}.site-nav-link:hover,.site-nav-link[aria-current=page]{color:var(--foreground)}.site-nav-link:focus-visible{outline:2px solid var(--primary);outline-offset:5px}.site-button-primary{background:var(--primary);color:var(--primary-foreground);border:1px solid var(--primary);border-radius:var(--radius);transition:background var(--duration-fast) var(--ease-smooth-out), border-color var(--duration-fast) var(--ease-smooth-out), transform var(--duration-fast) var(--ease-smooth-out);font-weight:700;box-shadow:0 1px 2px #0000000d}.site-button-primary:hover{background:var(--accent-400);border-color:var(--accent-400);transform:translateY(-2px)}.site-button-secondary{border:1px solid var(--border);color:var(--foreground);background:var(--card);border-radius:var(--radius);transition:border-color var(--duration-fast) var(--ease-smooth-out), background var(--duration-fast) var(--ease-smooth-out), color var(--duration-fast) var(--ease-smooth-out), transform var(--duration-fast) var(--ease-smooth-out);font-weight:600;box-shadow:0 1px 2px #00000008}.site-button-secondary:hover{border-color:var(--accent-300);background:var(--accent);color:var(--accent-foreground);transform:translateY(-2px)}.site-button-primary:active,.site-button-secondary:active{transform:scale(.98)}.site-button-primary svg,.site-button-secondary svg{transition:transform var(--duration-fast) var(--ease-smooth-out)}.site-button-primary:hover svg,.site-button-secondary:hover svg{transform:translate(2px,-2px)}footer nav a{transition:color var(--duration-fast) var(--ease-smooth-out)}.site-docs-guide{transition:background-color var(--duration-fast) var(--ease-smooth-out)}.site-docs-guide svg{transition:transform var(--duration-fast) var(--ease-smooth-out)}.site-docs-guide:hover{background-color:var(--accent)}.site-docs-guide:hover svg{transform:translate(2px,-2px)}@media (prefers-reduced-motion:reduce){.site-nav-link,.site-button-primary,.site-button-secondary,.site-button-primary svg,.site-button-secondary svg,.site-text-link,.site-docs-guide,.site-docs-guide svg,footer nav a{transition:none!important}}.site-hero{background:var(--color-bg)}.site-hero-accent{color:#4d7c0f}.site-hero-scene{background:#f4fbdc}.site-hero-demo{width:min(100%,470px);height:355px;position:relative}.site-hero-demo-accent{background:#dcf29b;position:absolute;inset:34px 18px 43px 42px}.site-hero-demo-value,.site-hero-demo-toggle{width:min(48%,215px);height:168px;position:absolute;box-shadow:5px 5px #3753151f}.site-hero-demo-value{top:16px;left:0}.site-hero-demo-toggle{top:139px;right:0}.site-hero-demo-toggle .iot-toggle .switch-wrap{justify-content:center;align-items:center}.site-hero-demo-toggle .iot-toggle .square-switch-track{width:88px;height:44px}.site-hero-demo-toggle .iot-toggle .square-switch-thumb{width:40px}.site-features{background:#fcfdf9}.site-feature-list{border-top:1px solid #c8d7b3}.site-feature-row{border-bottom:1px solid #c8d7b3;grid-template-columns:minmax(0,1fr) minmax(15rem,.34fr);align-items:end;gap:2rem;padding:clamp(1.75rem,3vw,2.5rem) 0;display:grid}.site-feature-row h2{color:var(--foreground);font-family:var(--font-display);letter-spacing:-.06em;font-size:clamp(4rem,8vw,8.5rem);font-weight:700;line-height:.92}.site-feature-row:nth-child(2) h2{color:#4d7c0f;padding-left:clamp(0rem,5vw,5rem)}.site-feature-row:nth-child(3) h2{padding-left:clamp(0rem,10vw,10rem)}.site-feature-row p{color:#365314;justify-self:end;max-width:22ch;padding-bottom:.35rem;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.4}.site-section-heading{letter-spacing:-.04em;text-wrap:balance;font-size:clamp(3.2rem,5.2vw,5.5rem);line-height:.98}.site-sharing{background:#e9f7c5}.site-share-list{border-top:1px solid #afca76}.site-share-row{color:#365314;border-bottom:1px solid #afca76;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:18px;padding:24px 0;display:grid}.site-share-row svg{margin-top:4px}.site-share-row h3{color:#17220e;font-size:1.3rem;font-weight:700;line-height:1.2}.site-share-row p{margin-top:5px;font-size:.95rem;line-height:1.45}.site-text-link:focus-visible{outline-offset:3px;outline:2px solid #365314}.site-text-link{text-underline-offset:5px;transition:color var(--duration-fast) var(--ease-smooth-out), text-underline-offset var(--duration-fast) var(--ease-smooth-out);-webkit-text-decoration:underline #84cc16;text-decoration:underline #84cc16;text-decoration-thickness:2px}.site-text-link:hover{color:#4d7c0f;text-underline-offset:8px}.site-self-host{background:#f5f9eb}.site-install-terminal{background:#fff;border:1px solid #c9dfa9;border-radius:4px;min-width:0;padding:26px}.site-install-terminal>p{color:#365314;margin-bottom:18px;font-size:.85rem;font-weight:700}.site-install-terminal pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#17220e;font-size:.92rem;line-height:1.65}.site-install-terminal code{font-family:var(--font-mono)}.site-simple-flow{background:#fcfdf9}.site-capabilities{border-top:1px solid #c8d7b3}.site-capability{border-bottom:1px solid #c8d7b3;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(2rem,8vw,7rem);padding:clamp(2rem,4vw,3.5rem) 0;display:grid}.site-capability-copy>h3{color:#17220e;font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.7rem,3vw,2.65rem);font-weight:700;line-height:1.08}.site-capability-copy>p{color:#365314;max-width:42ch;margin-top:12px;font-size:1rem;line-height:1.55}.site-capability-methods{color:#365314;font-family:var(--font-display);letter-spacing:-.035em;flex-wrap:wrap;align-items:baseline;gap:.65rem 1.5rem;font-size:clamp(1.2rem,2vw,1.75rem);font-weight:600;display:flex}.site-capability-methods span:not(:last-child):after{content:"/";color:#a4b78d;margin-left:1.5rem;font-weight:400}.site-capability-automation{align-items:start}.site-capability-widgets{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:520px;display:grid}.site-capability-widget{min-width:0;height:170px}.site-capability-widgets .iot-toggle .switch-wrap{justify-content:center;align-items:center}.site-capability-widgets .iot-toggle .square-switch-track{width:88px;height:44px}.site-capability-widgets .iot-toggle .square-switch-thumb{width:40px}.site-automation-preview{background:#f9fdf1;border:1px solid #c2d697;min-width:0;height:180px;position:relative;overflow:hidden}.site-automation-preview .react-flow{background:0 0}.site-automation-preview .react-flow__node{cursor:default}@media (width<=560px){.site-hero-demo{height:305px}.site-hero-demo-accent{inset:25px 10px 36px 25px}.site-hero-demo-value,.site-hero-demo-toggle{height:145px}.site-hero-demo-value{top:7px}.site-hero-demo-toggle{top:118px}.site-share-row{padding:18px 0}.site-install-terminal{padding:20px}}@media (width<=767px){.site-feature-row{grid-template-columns:1fr;gap:.75rem;padding:2rem 0}.site-feature-row h2{font-size:clamp(3rem,8vw,5.5rem)}.site-feature-row:nth-child(2) h2,.site-feature-row:nth-child(3) h2{padding-left:0}.site-feature-row p{justify-self:start;max-width:32ch;padding-bottom:0}}@media (width<=720px){.site-capability{grid-template-columns:1fr;gap:24px}.site-capability-widget{height:155px}.site-automation-preview{height:235px}}.site-hero-image{aspect-ratio:1.17;background:var(--card)}.site-preview{background:var(--color-bg-elevated)}.site-preview-tab,.site-code-tab{color:var(--muted-foreground);white-space:nowrap;border-radius:0;padding:.55rem .95rem;font-size:.8125rem;font-weight:600;transition:color .18s,background .18s}.site-preview-tab:hover,.site-code-tab:hover{color:var(--foreground)}.site-preview-tab.is-active,.site-code-tab.is-active{color:var(--foreground);background:#fff;box-shadow:0 1px 2px #0000000f}.dark .site-preview-tab.is-active,.dark .site-code-tab.is-active{color:var(--foreground);box-shadow:none;background:#2b3828}.site-preview-tab:focus-visible,.site-code-tab:focus-visible,.site-relay-switch:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.site-relay-switch{border:1px solid var(--border-strong);width:3.25rem;height:3.25rem;color:var(--muted-foreground);border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,color .18s,transform .18s;display:inline-flex}.site-relay-switch:hover{color:var(--foreground)}.site-relay-switch:active{transform:scale(.96)}.site-relay-switch.is-on{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.site-rule-row{border-bottom:1px solid var(--border);color:var(--foreground);font-family:var(--font-mono);grid-template-columns:minmax(6rem,.34fr) minmax(0,.66fr);align-items:baseline;gap:1rem;padding:1.4rem 0;font-size:.9rem;display:grid}.site-rule-row:first-child{border-top:1px solid var(--border)}.site-rule-key{color:var(--primary);font-family:var(--font-sans);font-size:.8125rem;font-weight:600}.site-eyebrow{color:var(--primary);font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;font-size:.72rem;font-weight:700}.site-hero-stage{overflow:hidden}.site-hero-widget-grid{grid-template-rows:190px 190px auto;grid-template-columns:1.05fr .95fr;gap:10px;display:grid}.site-widget-frame{min-width:0;min-height:0}.site-widget-value{grid-area:1/1}.site-widget-gauge{grid-area:1/2/3}.site-widget-toggle{grid-area:2/1}.site-stage-note{color:#166534;min-height:56px;font-family:var(--font-mono);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:4px;grid-column:1/-1;justify-content:center;align-items:center;gap:.75rem;font-size:clamp(.7rem,1.1vw,.85rem);font-weight:700;display:flex}.site-stage-note svg{color:#16a34a}.dark .site-stage-note{border-color:var(--primary);color:var(--foreground);background:#202c18}.dark .site-stage-note svg{color:var(--primary)}.site-playground{border:1px solid var(--color-border);background:var(--card);border-radius:6px;box-shadow:0 1px 3px #0000000d}.site-playground-bar,.site-flow-top{border-bottom:1px solid var(--border);min-height:48px;color:var(--foreground);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;background:#f8fafc;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;font-size:.68rem;font-weight:700;display:flex}.dark .site-playground-bar,.dark .site-flow-top{background:0 0}.site-playground-grid{grid-template-rows:205px 205px;grid-template-columns:1.05fr .85fr .85fr 1fr;gap:10px;padding:10px;display:grid}.site-play-widget{min-width:0;min-height:0;position:relative}.site-play-widget-value{grid-column:1/3}.site-play-widget-percent{grid-column:3}.site-play-widget-toggle{grid-column:4}.site-play-widget-slider{grid-column:1/3}.site-play-widget-push{grid-column:3}.site-widget-tag{z-index:1;color:#365314;font-family:var(--font-mono);background:#ecfccb;border:1px solid #bef264;border-radius:2px;padding:2px 5px;font-size:9px;font-weight:700;line-height:1;position:absolute;top:7px;right:7px}.dark .site-widget-tag{background:var(--primary);color:var(--primary-foreground);border:none}.site-play-status{border:1px solid var(--color-border);font-family:var(--font-mono);background:#f8fafc;border-radius:4px;flex-direction:column;justify-content:space-between;gap:.7rem;padding:18px;font-size:.75rem;display:flex}.site-play-status>div{border-top:1px solid var(--color-border);justify-content:space-between;gap:.5rem;padding-top:.6rem;display:flex}.site-play-status>div span{color:var(--muted-foreground)}.site-play-status>div strong{color:#166534}.dark .site-play-status{background:#222c18}.dark .site-play-status>div strong{color:var(--primary)}.site-architecture{color:var(--foreground);background:#f8fafc}.site-architecture .site-eyebrow{color:#4d7c0f}.site-flow-panel{border:1px solid var(--color-border);background-color:var(--card);background-image:radial-gradient(var(--canvas-dot) 1px, transparent 1px);background-size:16px 16px;border-radius:6px;box-shadow:0 1px 3px #0000000d}.site-flow-top span:last-child{color:#166534}.dark .site-flow-top span:last-child{color:var(--primary)}.site-flow-body{max-width:540px;margin:0 auto;padding:28px 20px}.site-flow-node{border:1px solid var(--color-border);background:#fff;border-radius:4px;grid-template-columns:62px minmax(0,1fr);min-height:104px;display:grid;position:relative;box-shadow:3px 3px #e2e8f0}.site-flow-icon{border-right:1px solid var(--color-border);color:#166534;background:#f8fafc;border-top-left-radius:3px;border-bottom-left-radius:3px;justify-content:center;align-items:center;display:flex}.site-flow-node>div:nth-child(2){padding:16px 18px}.site-flow-label{color:#166534;font-family:var(--font-mono);letter-spacing:.12em;font-size:.63rem;font-weight:700}.site-flow-node h3{letter-spacing:-.04em;color:var(--foreground);margin-top:4px;font-size:1.15rem;font-weight:700}.site-flow-node p{color:var(--muted-foreground);margin-top:3px;font-size:.8rem}.site-flow-port{background:var(--card);border:2px solid #16a34a;width:10px;height:10px;position:absolute;top:calc(50% - 5px);right:-5px}.site-flow-node-condition .site-flow-icon{color:#b45309;background:#fffbeb}.site-flow-node-condition .site-flow-label{color:#b45309}.site-flow-node-action{border-color:#86efac}.site-flow-node-action .site-flow-icon{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.site-flow-connector{color:#16a34a;flex-direction:column;align-items:center;height:38px;display:flex}.site-flow-connector span{border-left:2px dashed #86efac;height:22px}.site-flow-bottom{border-top:1px solid var(--border);color:var(--muted-foreground);font-family:var(--font-mono);align-items:center;gap:.5rem;padding:14px 18px;font-size:.7rem;display:flex}.dark .site-flow-node{background:#1d2419;box-shadow:6px 6px #0f140d}@media (width<=900px){.site-playground-grid{grid-template-rows:repeat(3,195px);grid-template-columns:repeat(3,minmax(0,1fr))}.site-play-widget-value{grid-column:1/3}.site-play-widget-percent{grid-column:3}.site-play-widget-toggle{grid-column:1}.site-play-widget-slider{grid-column:2/4}.site-play-widget-push{grid-column:1}.site-play-status{grid-column:2/4}}@media (width<=560px){.site-hero-widget-grid{grid-template-rows:150px 150px auto}.site-playground-bar span:last-child{display:none}.site-playground-grid{grid-template-rows:185px 185px 185px 170px;grid-template-columns:repeat(2,minmax(0,1fr))}.site-play-widget-value{grid-column:1/3}.site-play-widget-percent{grid-column:1}.site-play-widget-toggle{grid-column:2}.site-play-widget-slider{grid-column:1/3}.site-play-widget-push{grid-column:1}.site-play-status{grid-column:2;padding:12px}.site-stage-note{flex-wrap:wrap;gap:.45rem;padding:.8rem}.site-flow-body{padding:24px 14px}}.docs-content article{max-width:54rem}.docs-content article h1{font-family:var(--font-display);letter-spacing:-.055em;font-size:clamp(2.25rem,4vw,3rem);font-weight:600;line-height:1.08}.docs-content article h2{font-family:var(--font-display);letter-spacing:-.035em;padding-bottom:.65rem;font-size:1.35rem;font-weight:600;line-height:1.25}.docs-content article h3,.docs-content article h4{font-size:1rem;line-height:1.4}.docs-content article p,.docs-content article li{font-size:.925rem;line-height:1.7}.docs-content article>div:first-child>p{margin-top:.75rem;font-size:1rem}.docs-content article pre,.docs-content article table{font-size:.82rem;line-height:1.65}.docs-content article section{margin-top:2rem}@media (width<=767px){.site-hero-image{aspect-ratio:1.28}.site-rule-row{grid-template-columns:1fr;gap:.5rem}}button:not(:disabled),[role=button]:not([aria-disabled=true]){cursor:pointer}.canvas-dots{background-color:var(--canvas-bg);background-image:radial-gradient(var(--canvas-dot) 1.2px, transparent 1.2px);background-position:0 0;background-size:16px 16px}pre,code{font-family:var(--font-mono)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#64748b40;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#64748b73}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-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-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
