/*! tailwindcss v4.2.4 | 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-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-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-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:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-teal-700:oklch(51.1% .096 186.391);--color-teal-800:oklch(43.7% .078 188.216);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-600:oklch(58.8% .158 241.966);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--drop-shadow-md:0 3px 3px #0000001f;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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{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}.collapse{visibility:collapse}.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}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.inset-y-3{inset-block:calc(var(--spacing) * 3)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.-top-2{top:calc(var(--spacing) * -2)}.top-1{top:calc(var(--spacing) * 1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-4{top:calc(var(--spacing) * 4)}.top-12{top:calc(var(--spacing) * 12)}.top-full{top:100%}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-12{right:calc(var(--spacing) * 12)}.-bottom-1\.5{bottom:calc(var(--spacing) * -1.5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-1{bottom:calc(var(--spacing) * 1)}.-left-1\.5{left:calc(var(--spacing) * -1.5)}.left-0{left:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.left-1\.5{left:calc(var(--spacing) * 1.5)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.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}}.m-4{margin:calc(var(--spacing) * 4)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.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-6{margin-top:calc(var(--spacing) * 6)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-7{margin-left:calc(var(--spacing) * 7)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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}.table{display:table}.aspect-\[4\/3\]{aspect-ratio:4/3}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.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-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-\[60px\]{height:60px}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.max-h-20{max-height:calc(var(--spacing) * 20)}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-28{max-height:calc(var(--spacing) * 28)}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[78vh\]{max-height:78vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[480px\]{max-height:480px}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[60px\]{min-height:60px}.min-h-\[96px\]{min-height:96px}.min-h-\[500px\]{min-height:500px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.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-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-\[min\(92vw\,340px\)\]{width:min(92vw,340px)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[60\%\]{max-width:60%}.max-w-\[85\%\]{max-width:85%}.max-w-\[180px\]{max-width:180px}.max-w-\[240px\]{max-width:240px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[180px\]{min-width:180px}.min-w-\[220px\]{min-width:220px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-e-resize{cursor:e-resize}.cursor-grab{cursor:grab}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-nw-resize{cursor:nw-resize}.cursor-pointer{cursor:pointer}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-w-resize{cursor:w-resize}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.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-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-\[1fr_82px_150px\]{grid-template-columns:1fr 82px 150px}.grid-cols-\[150px_1fr_90px_82px_150px_44px\]{grid-template-columns:150px 1fr 90px 82px 150px 44px}.grid-cols-\[150px_minmax\(0\,1fr\)_90px_82px_150px_86px\]{grid-template-columns:150px minmax(0,1fr) 90px 82px 150px 86px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * 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)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.space-x-1\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing) * 1)}: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-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}:where(.divide-slate-100>:not(:last-child)){border-color:var(--color-slate-100)}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-br-md{border-bottom-right-radius:var(--radius-md)}.rounded-bl-md{border-bottom-left-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-200\/30{border-color:#bedbff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-200\/30{border-color:color-mix(in oklab, var(--color-blue-200) 30%, transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/20{border-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.border-blue-600{border-color:var(--color-blue-600)}.border-cyan-500\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab, red, red)){.border-cyan-500\/30{border-color:color-mix(in oklab, var(--color-cyan-500) 30%, transparent)}}.border-emerald-100{border-color:var(--color-emerald-100)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/30{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-700{border-color:var(--color-gray-700)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-green-500{border-color:var(--color-green-500)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-orange-500\/20{border-color:#fe6e0033}@supports (color:color-mix(in lab, red, red)){.border-orange-500\/20{border-color:color-mix(in oklab, var(--color-orange-500) 20%, transparent)}}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab, red, red)){.border-orange-500\/30{border-color:color-mix(in oklab, var(--color-orange-500) 30%, transparent)}}.border-purple-500\/20{border-color:#ac4bff33}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/20{border-color:color-mix(in oklab, var(--color-purple-500) 20%, transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-500{border-color:var(--color-red-500)}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-500{border-color:var(--color-slate-500)}.border-slate-600{border-color:var(--color-slate-600)}.border-slate-800{border-color:var(--color-slate-800)}.border-teal-100{border-color:var(--color-teal-100)}.border-yellow-400{border-color:var(--color-yellow-400)}.border-yellow-500\/20{border-color:#edb20033}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/20{border-color:color-mix(in oklab, var(--color-yellow-500) 20%, transparent)}}.border-b-blue-500{border-bottom-color:var(--color-blue-500)}.bg-\[\#0d1117\]{background-color:#0d1117}.bg-\[\#edf6fb\]{background-color:#edf6fb}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black{background-color:var(--color-black)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-black\/75{background-color:#000000bf}@supports (color:color-mix(in lab, red, red)){.bg-black\/75{background-color:color-mix(in oklab, var(--color-black) 75%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\/50{background-color:#eff6ff80}@supports (color:color-mix(in lab, red, red)){.bg-blue-50\/50{background-color:color-mix(in oklab, var(--color-blue-50) 50%, transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-200{background-color:var(--color-blue-200)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-cyan-500\/20{background-color:#00b7d733}@supports (color:color-mix(in lab, red, red)){.bg-cyan-500\/20{background-color:color-mix(in oklab, var(--color-cyan-500) 20%, transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/20{background-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/10{background-color:color-mix(in oklab, var(--color-orange-500) 10%, transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/20{background-color:color-mix(in oklab, var(--color-orange-500) 20%, transparent)}}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/10{background-color:color-mix(in oklab, var(--color-purple-500) 10%, transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/5{background-color:color-mix(in oklab, var(--color-red-500) 5%, transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-sky-100{background-color:var(--color-sky-100)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/60{background-color:#f8fafc99}@supports (color:color-mix(in lab, red, red)){.bg-slate-50\/60{background-color:color-mix(in oklab, var(--color-slate-50) 60%, transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-200\/50{background-color:#e2e8f080}@supports (color:color-mix(in lab, red, red)){.bg-slate-200\/50{background-color:color-mix(in oklab, var(--color-slate-200) 50%, transparent)}}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-slate-500\/40{background-color:#62748e66}@supports (color:color-mix(in lab, red, red)){.bg-slate-500\/40{background-color:color-mix(in oklab, var(--color-slate-500) 40%, transparent)}}.bg-slate-700{background-color:var(--color-slate-700)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-900\/45{background-color:#0f172b73}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/45{background-color:color-mix(in oklab, var(--color-slate-900) 45%, transparent)}}.bg-slate-900\/95{background-color:#0f172bf2}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/95{background-color:color-mix(in oklab, var(--color-slate-900) 95%, transparent)}}.bg-teal-50{background-color:var(--color-teal-50)}.bg-teal-100{background-color:var(--color-teal-100)}.bg-teal-600{background-color:var(--color-teal-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/10{background-color:color-mix(in oklab, var(--color-yellow-500) 10%, transparent)}}.bg-yellow-600{background-color:var(--color-yellow-600)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/70{--tw-gradient-from:#000000b3}@supports (color:color-mix(in lab, red, red)){.from-black\/70{--tw-gradient-from:color-mix(in oklab, var(--color-black) 70%, transparent)}}.from-black\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black\/80{--tw-gradient-from:#000c}@supports (color:color-mix(in lab, red, red)){.from-black\/80{--tw-gradient-from:color-mix(in oklab, var(--color-black) 80%, transparent)}}.from-black\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-gray-100{--tw-gradient-from:var(--color-gray-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-slate-100{--tw-gradient-from:var(--color-slate-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-slate-200{--tw-gradient-from:var(--color-slate-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-black\/40{--tw-gradient-via:#0006}@supports (color:color-mix(in lab, red, red)){.via-black\/40{--tw-gradient-via:color-mix(in oklab, var(--color-black) 40%, transparent)}}.via-black\/40{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\/45{--tw-gradient-via:#00000073}@supports (color:color-mix(in lab, red, red)){.via-black\/45{--tw-gradient-via:color-mix(in oklab, var(--color-black) 45%, transparent)}}.via-black\/45{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-cyan-400{--tw-gradient-via:var(--color-cyan-400);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white{--tw-gradient-via:var(--color-white);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-blue-500{--tw-gradient-to:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-50{--tw-gradient-to:var(--color-cyan-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-gray-200{--tw-gradient-to:var(--color-gray-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-slate-200{--tw-gradient-to:var(--color-slate-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:calc(var(--spacing) * 1)}.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-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)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.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-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.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-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pr-24{padding-right:calc(var(--spacing) * 24)}.pb-px{padding-bottom:1px}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.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-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--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-\[13px\]{font-size:13px}.text-\[30px\]{font-size:30px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.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-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#e6edf3\]{color:#e6edf3}.text-amber-200{color:var(--color-amber-200)}.text-amber-300{color:var(--color-amber-300)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-blue-100{color:var(--color-blue-100)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-cyan-300{color:var(--color-cyan-300)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-orange-200{color:var(--color-orange-200)}.text-orange-300{color:var(--color-orange-300)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.text-purple-200{color:var(--color-purple-200)}.text-purple-300{color:var(--color-purple-300)}.text-purple-400{color:var(--color-purple-400)}.text-purple-600{color:var(--color-purple-600)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-sky-600{color:var(--color-sky-600)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-teal-500{color:var(--color-teal-500)}.text-teal-600{color:var(--color-teal-600)}.text-teal-700{color:var(--color-teal-700)}.text-teal-800{color:var(--color-teal-800)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.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)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.text-yellow-200{color:var(--color-yellow-200)}.text-yellow-300{color:var(--color-yellow-300)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.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,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.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_0_8px_rgba\(59\,130\,246\,\.5\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#3b82f680);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_2px_0_0_rgba\(59\,130\,246\,0\.6\)\]{--tw-shadow:inset 0 2px 0 0 var(--tw-shadow-color,#3b82f699);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 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)}.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-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)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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-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-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-blue-500\/20{--tw-shadow-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.shadow-blue-500\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-emerald-500\/20{--tw-shadow-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.shadow-emerald-500\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/20{--tw-shadow-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.shadow-red-500\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-amber-200{--tw-ring-color:var(--color-amber-200)}.ring-blue-100{--tw-ring-color:var(--color-blue-100)}.ring-blue-200{--tw-ring-color:var(--color-blue-200)}.ring-emerald-200{--tw-ring-color:var(--color-emerald-200)}.ring-slate-200{--tw-ring-color:var(--color-slate-200)}.ring-slate-900\/5{--tw-ring-color:#0f172b0d}@supports (color:color-mix(in lab, red, red)){.ring-slate-900\/5{--tw-ring-color:color-mix(in oklab, var(--color-slate-900) 5%, transparent)}}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.drop-shadow-md{--tw-drop-shadow-size:drop-shadow(0 3px 3px var(--tw-drop-shadow-color,#0000001f));--tw-drop-shadow:drop-shadow(var(--drop-shadow-md));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,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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{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-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-shadow{transition-property:box-shadow;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-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:hidden:is(:where(.group):hover *){display:none}.group-hover\:inline:is(:where(.group):hover *){display:inline}.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-0\.5:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-blue-600:is(:where(.group):hover *){color:var(--color-blue-600)}}.peer-checked\:bg-blue-600:is(:where(.peer):checked~*){background-color:var(--color-blue-600)}.peer-focus\:ring-4:is(:where(.peer):focus~*){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + 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)}.peer-focus\:ring-blue-300:is(:where(.peer):focus~*){--tw-ring-color:var(--color-blue-300)}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.file\:mr-2::file-selector-button{margin-right:calc(var(--spacing) * 2)}.file\:mr-3::file-selector-button{margin-right:calc(var(--spacing) * 3)}.file\:rounded::file-selector-button{border-radius:.25rem}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-blue-50::file-selector-button{background-color:var(--color-blue-50)}.file\:bg-slate-100::file-selector-button{background-color:var(--color-slate-100)}.file\:bg-teal-50::file-selector-button{background-color:var(--color-teal-50)}.file\:px-2::file-selector-button{padding-inline:calc(var(--spacing) * 2)}.file\:px-3::file-selector-button{padding-inline:calc(var(--spacing) * 3)}.file\:py-1::file-selector-button{padding-block:calc(var(--spacing) * 1)}.file\:py-1\.5::file-selector-button{padding-block:calc(var(--spacing) * 1.5)}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:text-xs::file-selector-button{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.file\:text-blue-700::file-selector-button{color:var(--color-blue-700)}.file\:text-slate-700::file-selector-button{color:var(--color-slate-700)}.file\:text-teal-700::file-selector-button{color:var(--color-teal-700)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing) * 5)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing) * 5)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);border-color:var(--color-gray-300)}.after\:border-slate-300:after{content:var(--tw-content);border-color:var(--color-slate-300)}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-checked\:after\:border-white:is(:where(.peer):checked~*):after{content:var(--tw-content);border-color:var(--color-white)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:ring-2:focus-within{--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-within\:ring-blue-500:focus-within{--tw-ring-color:var(--color-blue-500)}@media (hover:hover){.hover\:border-blue-300:hover{border-color:var(--color-blue-300)}.hover\:border-blue-400:hover{border-color:var(--color-blue-400)}.hover\:border-blue-500:hover{border-color:var(--color-blue-500)}.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:border-purple-300:hover{border-color:var(--color-purple-300)}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.hover\:border-red-500\/50:hover{border-color:#fb2c3680}@supports (color:color-mix(in lab, red, red)){.hover\:border-red-500\/50:hover{border-color:color-mix(in oklab, var(--color-red-500) 50%, transparent)}}.hover\:bg-\[\#edf6fb\]:hover{background-color:#edf6fb}.hover\:bg-amber-50:hover{background-color:var(--color-amber-50)}.hover\:bg-amber-100:hover{background-color:var(--color-amber-100)}.hover\:bg-amber-400:hover{background-color:var(--color-amber-400)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-blue-400:hover{background-color:var(--color-blue-400)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-emerald-100:hover{background-color:var(--color-emerald-100)}.hover\:bg-emerald-400:hover{background-color:var(--color-emerald-400)}.hover\:bg-emerald-600:hover{background-color:var(--color-emerald-600)}.hover\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-green-50:hover{background-color:var(--color-green-50)}.hover\:bg-green-100:hover{background-color:var(--color-green-100)}.hover\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\:bg-indigo-100:hover{background-color:var(--color-indigo-100)}.hover\:bg-indigo-600:hover{background-color:var(--color-indigo-600)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-slate-200\/50:hover{background-color:#e2e8f080}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-200\/50:hover{background-color:color-mix(in oklab, var(--color-slate-200) 50%, transparent)}}.hover\:bg-slate-300:hover{background-color:var(--color-slate-300)}.hover\:bg-slate-700:hover{background-color:var(--color-slate-700)}.hover\:bg-slate-700\/50:hover{background-color:#31415880}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-700\/50:hover{background-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.hover\:bg-teal-100:hover{background-color:var(--color-teal-100)}.hover\:bg-teal-700:hover{background-color:var(--color-teal-700)}.hover\:bg-yellow-700:hover{background-color:var(--color-yellow-700)}.hover\:from-blue-600:hover{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:to-cyan-600:hover{--tw-gradient-to:var(--color-cyan-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:text-amber-600:hover{color:var(--color-amber-600)}.hover\:text-blue-500:hover{color:var(--color-blue-500)}.hover\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-900:hover{color:var(--color-blue-900)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-purple-600:hover{color:var(--color-purple-600)}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-800:hover{color:var(--color-red-800)}.hover\:text-slate-200:hover{color:var(--color-slate-200)}.hover\:text-slate-500:hover{color:var(--color-slate-500)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--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)}.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)}.hover\:file\:bg-blue-100:hover::file-selector-button{background-color:var(--color-blue-100)}.hover\:file\:bg-teal-100:hover::file-selector-button{background-color:var(--color-teal-100)}}.focus\:border-blue-400:focus{border-color:var(--color-blue-400)}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:border-emerald-500:focus{border-color:var(--color-emerald-500)}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:border-red-500:focus{border-color:var(--color-red-500)}.focus\:border-teal-500:focus{border-color:var(--color-teal-500)}.focus\:border-transparent:focus{border-color:#0000}.focus\:bg-white:focus{background-color:var(--color-white)}.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-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + 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-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-blue-500\/10:focus{--tw-ring-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.focus\:ring-blue-500\/10:focus{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.focus\:ring-emerald-500:focus{--tw-ring-color:var(--color-emerald-500)}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-teal-500:focus{--tw-ring-color:var(--color-teal-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.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-cyan-400:focus-visible{--tw-ring-color:var(--color-cyan-400)}.active\:scale-\[0\.98\]:active{scale:.98}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-400:disabled{background-color:var(--color-gray-400)}.disabled\:bg-slate-50:disabled{background-color:var(--color-slate-50)}.disabled\:bg-slate-100:disabled{background-color:var(--color-slate-100)}.disabled\:bg-slate-200:disabled{background-color:var(--color-slate-200)}.disabled\:text-slate-400:disabled{color:var(--color-slate-400)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (width>=40rem){.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:w-auto{width:auto}.sm\:max-w-\[420px\]{max-width:420px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:grid-cols-\[160px_220px_1fr_auto\]{grid-template-columns:160px 220px 1fr auto}.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:p-8{padding:calc(var(--spacing) * 8)}}@media (width>=64rem){.lg\:block{display:block}.lg\:h-full{height:100%}.lg\:h-screen{height:100vh}.lg\:min-h-0{min-height:calc(var(--spacing) * 0)}.lg\:w-\[320px\]{width:320px}.lg\:max-w-\[260px\]{max-width:260px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:overflow-hidden{overflow:hidden}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media (width>=80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-\[420px_1fr\]{grid-template-columns:420px 1fr}}}body{color:#0f172a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#edf6fb;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@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-space-x-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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@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-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-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:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.app-shell *,.app-shell :before,.app-shell :after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{color:#102033;background:#edf6fb}.app-shell{background:linear-gradient(#f7fcff 0%,#edf6fb 52%,#eaf7f3 100%);flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{-webkit-backdrop-filter:blur(12px);background:#0a0f24f2;border-bottom:1px solid #007aff33;flex-direction:column;flex-shrink:0;gap:0;padding:0;display:flex;box-shadow:0 2px 14px #0000004d}.app-header__top{align-items:center;gap:14px;min-height:60px;padding:8px 24px;display:flex}.brand-mark{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.brand-mark__logo{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.brand-mark__svg{color:#007aff;width:100%;height:100%}.brand-mark__glow{filter:blur(12px);background:#007aff33;border-radius:50%;position:absolute;inset:0}.brand-copy{align-items:center;gap:12px;min-width:0;display:flex}.brand-copy__title{background:linear-gradient(135deg,#e2e8f0 0%,#00bfff 50%,#007aff 100%);-webkit-text-fill-color:transparent;text-shadow:none;white-space:nowrap;-webkit-background-clip:text;background-clip:text;margin:0;font-size:30px;font-weight:700;line-height:1}.brand-copy__right{flex-direction:column;display:flex}.brand-copy__subtitle{color:#0ff;opacity:.8;letter-spacing:.05em;font-family:Fira Code,monospace;font-size:12px}.brand-copy__tagline{color:#94a3b8;white-space:nowrap;margin-top:-2px;font-size:12px}.cloud-status{color:#047857;white-space:nowrap;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;margin-left:16px;padding:8px 13px;font-size:14px;font-weight:800;display:inline-flex}.cloud-status__dot{background:#10b981;border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 5px #10b98126}.serial-toolbar{background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;padding:0;display:flex}.toolbar-group{align-items:center;gap:8px;display:flex}.toolbar-label{color:#64748b;white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.toolbar-label svg{width:16px;height:16px}.toolbar-select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;min-width:150px;height:32px;padding:0 8px;font-size:13px;font-weight:600}.toolbar-select:focus{border-color:#007aff;box-shadow:0 0 0 3px #0284c71a}.toolbar-select--small{min-width:90px}.toolbar-checkbox{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.toolbar-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px}.toolbar-button{color:#e2e8f0;white-space:nowrap;cursor:pointer;background:#007aff1a;border:1px solid #007aff4d;border-radius:6px;align-items:center;gap:5px;height:32px;padding:0 10px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.toolbar-button:hover:not(:disabled){color:#0ff;background:#007aff33;border-color:#007aff80}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.toolbar-button--primary{color:#fff;background:#007aff;border-color:#007aff}.toolbar-button--primary:hover:not(:disabled){background:#005ec4;border-color:#005ec4}.toolbar-button--success{color:#fff;cursor:default;background:#16a34a;border-color:#16a34a}.toolbar-button--success:hover:not(:disabled){background:#16a34a;border-color:#16a34a}.toolbar-button--danger{color:#fff;background:#dc2626;border-color:#dc2626}.toolbar-button--danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.toolbar-icon-button{color:#94a3b8;cursor:pointer;background:#007aff1a;border:1px solid #007aff4d;border-radius:6px;place-items:center;width:32px;height:32px;transition:all .2s;display:grid}.toolbar-icon-button:hover:not(:disabled){color:#0ff;background:#007aff33}.toolbar-icon-button--active{color:#fff;background:#007aff;border-color:#007aff}.toolbar-icon-button--active:hover:not(:disabled){background:#0369a1;border-color:#0369a1}.toolbar-icon-button:disabled{opacity:.5;cursor:not-allowed}.toolbar-icon-button svg{width:16px;height:16px}.toolbar-status{color:#047857;align-items:center;gap:6px;padding:0 8px;font-size:13px;font-weight:700;display:flex}.toolbar-status__dot{background:#10b981;border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 4px #10b98126}.toolbar-chip-inline{color:#0f8;white-space:nowrap;align-items:center;gap:3px;font-size:12px;font-weight:700;display:inline-flex}.toolbar-board-label{color:#94a3b8;white-space:nowrap;font-size:11px;font-weight:700}.toolbar-board-select{color:#e2e8f0;background:#007aff1a;border:1px solid #007aff4d;border-radius:6px;outline:none;max-width:180px;height:28px;padding:0 6px;font-size:12px;font-weight:600}.toolbar-board-select:focus{border-color:#007aff;box-shadow:0 0 0 3px #007aff33}.toolbar-popover-host{position:relative}.toolbar-popover{z-index:200;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:260px;margin-top:8px;padding:14px;position:absolute;top:100%;right:0;box-shadow:0 12px 40px #00000026}.toolbar-popover__title{color:#0f172a;margin-bottom:12px;font-size:13px;font-weight:800}.toolbar-popover__label{color:#64748b;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.toolbar-popover__select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;height:32px;margin-bottom:6px;padding:0 8px;font-size:12px;font-weight:600}.toolbar-popover__row{align-items:center;gap:6px;display:flex}.advanced-bar{display:none}.toolbar-button--disabled{opacity:.6;cursor:not-allowed}.toolbar-button--cancel{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.serial-monitor-panel{background:#0f172a;border:1px solid #d9e6f2;border-radius:12px;flex-basis:100%;margin-top:4px;overflow:hidden;box-shadow:0 4px 16px #0000001f}.serial-monitor__header{background:#1e293b;border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.serial-monitor__title{color:#94a3b8;font-size:12px;font-weight:600}.serial-monitor__close{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.serial-monitor__close:hover{color:#f1f5f9;background:#334155}.serial-monitor__output{color:#e2e8f0;white-space:pre-wrap;word-break:break-all;max-height:200px;margin:0;padding:10px 12px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.6;overflow-y:auto}.serial-monitor__waiting{color:#64748b;font-style:italic}.serial-monitor__actions{border-top:1px solid #334155;justify-content:flex-end;padding:6px 12px;display:flex}.toolbar-button--active-monitor{color:#e2e8f0;background:#0f172a;border-color:#334155}.toolbar-button--active-monitor:hover{background:#1e293b}.toolbar-button--sm{min-height:28px;padding:4px 10px;font-size:12px}.board-compact{color:#0f172a;background:#fff;border:1px solid #d9e6f2;border-radius:14px;align-items:center;gap:9px;min-width:290px;max-width:390px;height:44px;padding:6px 8px 6px 12px;font-size:13px;font-weight:900;display:flex;box-shadow:0 5px 16px #1f547812}.board-compact>svg{color:#007aff;flex:none;width:22px;height:22px}.board-compact--error{color:#be123c;background:#fff1f2;border-color:#fecdd3}.board-compact__label{color:#334155;flex:none;align-items:center;gap:6px;display:inline-flex}.board-compact__label svg{color:#007aff;width:20px;height:20px}.board-compact__select{color:#0f172a;text-align:center;text-align-last:center;background-color:#f8fafc;border:0;border-radius:9px;outline:none;flex:1;min-width:0;height:32px;font-size:13px;font-weight:900}.board-compact__select:focus{box-shadow:0 0 0 3px #0ea5e924}.studio-layout{flex:1;gap:0;width:min(100%,1480px);min-height:0;margin:0 auto;padding:8px 20px 16px;display:flex;overflow:hidden}.editor-pane{flex:1;min-width:0;min-height:0}.studio-resize-handle{cursor:col-resize;background:0 0;flex-shrink:0;width:6px;margin:0 4px;transition:background .15s}.studio-resize-handle:hover{background:#cbd5e1;border-radius:3px}.studio-sidebar{flex-direction:column;flex-shrink:0;gap:8px;width:360px;min-height:0;padding-right:2px;display:flex;overflow:hidden}.side-card,.success-card,.result-card,.error-card{background:#fffffff2;border:1px solid #d9e6f2;border-radius:14px;box-shadow:0 8px 24px #1f547814}.side-card{padding:13px 14px}.side-card__title{align-items:center;gap:8px;margin-bottom:9px;display:flex}.side-card__title svg{color:#007aff;width:21px;height:21px}.side-card__title h3{color:#0f172a;font-size:16px;font-weight:800}.side-card__title--split{justify-content:space-between}.side-card__title--split span{color:#64748b;background:#f1f5f9;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.board-select{color:#0f172a;background-color:#fff;border:1px solid #bfdbfe;border-radius:10px;outline:none;width:100%;height:40px;font-size:15px;font-weight:800;box-shadow:inset 0 1px 2px #0f172a0d}.board-select:focus{border-color:#007aff;box-shadow:0 0 0 4px #0ea5e929}.board-card{text-align:center}.board-card .side-card__title{justify-content:center}.board-card .board-select{text-align:center;text-align-last:center}.board-card .hint-line{justify-content:center}.device-card{background:#fffffff2;border:1px solid #d9e6f2;border-radius:14px;padding:13px 14px 10px;box-shadow:0 8px 24px #1f547814}.device-card--warning{background:#fffbeb;border-color:#fde68a}.device-compact{background:#fff;border:1px solid #d9e6f2;border-radius:14px;align-items:center;gap:8px;min-width:0;padding:7px;display:flex;box-shadow:0 5px 16px #1f547812}.device-compact--warning{background:#fffbeb;border-color:#fde68a}.device-compact__status{align-items:center;gap:8px;min-width:132px;padding:0 4px 0 2px;display:flex}.device-compact__status>svg{color:#059669;flex:none;width:24px;height:24px}.device-compact__status span{color:#64748b;font-size:11px;font-weight:800;line-height:1.1;display:block}.device-compact__status strong{color:#334155;white-space:nowrap;margin-top:2px;font-size:13px;font-weight:900;line-height:1.1;display:block}.device-compact__status strong.is-ready{color:#047857}.device-compact__icon-button{color:#007aff;cursor:pointer;background:#f0f9ff;border:0;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.device-compact__icon-button svg{width:19px;height:19px}.device-compact__detect{color:#fff;white-space:nowrap;cursor:pointer;background:#007aff;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex;box-shadow:0 6px 14px #0284c72e}.device-compact__detect:disabled{cursor:not-allowed;box-shadow:none;background:#cbd5e1}.device-compact__detect svg{width:17px;height:17px}.device-warning{color:#92400e;align-items:center;gap:8px;font-size:14px;font-weight:800;display:flex}.device-warning svg{width:20px;height:20px}.device-card__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.device-card__title{align-items:center;gap:8px;display:flex}.device-card__title svg{color:#059669;width:21px;height:21px}.device-card__title h3{color:#0f172a;font-size:16px;font-weight:900}.device-refresh{color:#007aff;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:6px 8px;font-size:14px;font-weight:900;display:inline-flex}.device-refresh svg{width:18px;height:18px}.device-refresh:hover{background:#f0f9ff}.device-empty{text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;padding:18px 16px;display:flex}.device-empty svg{color:#94a3b8;width:48px;height:48px;margin-bottom:10px;display:block}.device-empty p{color:#334155;font-size:16px;font-weight:900}.device-empty span{color:#64748b;margin-top:6px;font-size:14px;line-height:1.4}.device-list{gap:10px;display:grid}.device-item{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.device-item__main{align-items:center;gap:10px;display:flex}.device-item__dot{background:#10b981;border-radius:999px;width:11px;height:11px}.device-item__name{color:#064e3b;font-size:14px;font-weight:900}.device-item__meta{color:#047857;margin-top:2px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:11px}.device-item__badge{color:#047857;background:#d1fae5;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900}.device-footnote{border-top:1px solid #e2e8f0;margin-top:9px;padding-top:9px}.device-footnote p{color:#64748b;justify-content:center;align-items:center;gap:5px;font-size:13px;display:flex}.device-footnote svg{color:#94a3b8;width:16px;height:16px}.hint-line,.action-note p{color:#64748b;align-items:center;gap:6px;font-size:13px;display:flex}.hint-line{margin-top:7px}.hint-line svg,.action-note svg{color:#007aff;flex:none;width:17px;height:17px}.action-stack{gap:8px;display:grid}.action-button{color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:46px;font-size:16px;font-weight:900;display:inline-flex;box-shadow:0 10px 18px #0284c72e}.action-button svg{width:22px;height:22px}.action-button--compile{background:#007aff}.action-button--upload{box-shadow-color:#0596692e;background:#059669}.action-button--upload:disabled{box-shadow:none;background:#cbd5e1}.action-button--download{box-shadow-color:#d977062e;background:#d97706}.action-button--download:disabled{box-shadow:none;background:#cbd5e1}.action-button--download-project{box-shadow-color:#7c3aed2e;background:#7c3aed}.action-button--download-project:disabled{box-shadow:none;background:#cbd5e1}.arduino-warning-banner{color:#92400e;background:#fef3c7;border:1px solid #fbbf24;border-radius:10px;margin-top:10px;padding:10px 14px;font-size:12px;line-height:1.5}.action-button:disabled{cursor:not-allowed;box-shadow:none;background:#cbd5e1}.button-spinner{animation:1s linear infinite spin}.action-note{background:#f8fafc;border-radius:10px;margin-top:9px;padding:8px 10px}.process-card{border-radius:12px;margin-top:10px;padding:12px}.process-card p{text-align:center;margin-top:8px;font-size:13px;font-weight:700}.process-card--blue{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd}.process-card--green{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.success-card,.result-card,.error-card{padding:13px 14px}.success-card{background:#ecfdf5;border-color:#a7f3d0}.success-card h3,.result-card h3,.error-card h3{align-items:center;gap:8px;margin-bottom:10px;font-size:16px;font-weight:900;display:flex}.success-card svg,.result-card h3 svg,.error-card svg,.result-ready svg{width:20px;height:20px}.success-card h3,.success-card p,.result-card--success,.result-card--success h3{color:#047857}.error-card,.result-card--error{color:#be123c;background:#fff1f2;border-color:#fecdd3}.result-card--success{background:#ecfdf5;border-color:#a7f3d0}.result-metrics{gap:8px;font-size:14px;display:grid}.result-metrics>div{border-bottom:1px solid #04785726;justify-content:space-between;gap:12px;padding-bottom:8px;display:flex}.result-files{display:block}.result-files>span{color:#047857;margin-bottom:8px;font-weight:900;display:block}.result-files ul{margin:0;padding:0;list-style:none}.result-files li{background:#04785714;border-radius:8px;align-items:center;gap:8px;margin-bottom:4px;padding:6px 10px;font-size:13px;display:flex}.result-files code{color:#047857;background:#04785726;border-radius:4px;min-width:60px;padding:2px 6px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:12px;font-weight:900;display:inline-block}.result-files span{color:#047857;flex:1;font-weight:800}.result-files small{color:#059669;font-size:11px}.result-ready{padding-top:4px}.result-ready p{align-items:center;gap:6px;font-weight:800;display:flex}.tips-list{gap:8px;list-style:none;display:grid}.tips-list li{color:#475569;align-items:flex-start;gap:9px;font-size:14px;line-height:1.45;display:flex}.tips-list span{color:#0369a1;background:#e0f2fe;border-radius:999px;flex:none;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.code-editor{background:#fff;border:none;border-radius:0;flex-direction:column;height:100%;display:flex;overflow:hidden}.code-editor__header{background:#fff;border-bottom:1px solid #d9e6f2;justify-content:space-between;align-items:center;gap:16px;height:42px;padding:6px 14px;display:flex;position:relative}.code-editor__title{align-items:center;gap:11px;min-width:0;display:flex}.code-editor__file-icon{color:#007aff;background:#eff6ff;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.code-editor__file-icon svg{width:16px;height:16px}.code-editor__title span{color:#0f172a;font-size:14px;font-weight:700;line-height:1.2;display:block}.code-editor__toolbar{flex:none;align-items:center;gap:8px;display:flex}.code-editor__tab{cursor:pointer;color:#6b7280;-webkit-user-select:none;user-select:none;background:#f3f4f6;border:1px solid #e5e7eb;border-bottom:none;border-radius:6px 6px 0 0;flex-shrink:0;align-items:center;gap:5px;padding:3px 10px;transition:all .12s;display:flex}.code-editor__tab:hover{color:#374151;background:#e5e7eb}.code-editor__tab--active{color:#111827;background:#fff;border-color:#d1d5db;font-weight:600}.code-editor__add-tab{cursor:pointer;color:#9ca3af;background:0 0;border:1px dashed #d1d5db;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;line-height:1;transition:all .12s;display:flex}.code-editor__add-tab:hover{color:#6366f1;background:#eef2ff;border-color:#6366f1}.code-editor__tab-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-left:2px;padding:0;display:flex}.code-editor__tab-close:hover{color:#ef4444;background:#e5e7eb}.code-editor__header-hint{flex:1;justify-content:center;min-width:0;display:flex}.code-editor__conversion-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:6px 12px;font-size:12px;display:inline-flex}.code-editor__conversion-error span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.code-editor__conversion-error button{color:#9ca3af;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:4px;flex:none;min-width:max-content;margin-left:4px;padding:2px 8px;font-size:11px}.code-editor__conversion-error button:hover{color:#dc2626}.code-editor__user-edited{color:#b45309;background:#fffbeb;border-color:#fde68a;flex-shrink:0}.code-editor__user-edited button{color:#2563eb;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.code-editor__user-edited button:hover{color:#1d4ed8}.conversion-toast{z-index:30;color:#92400e;pointer-events:none;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;width:max-content;max-width:min(300px,100vw - 32px);padding:9px 12px;font-size:12px;font-weight:700;line-height:1.5;animation:.22s ease-out both conversion-toast-slide;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 30px #0f172a29}.conversion-toast span{white-space:normal;display:block}@keyframes conversion-toast-slide{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.icon-button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #dbeafe;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.icon-button svg{width:18px;height:18px}.icon-button:hover{color:#007aff;background:#f0f9ff}.icon-button--danger:hover{color:#e11d48;background:#fff1f2}.icon-button:disabled{opacity:.35;cursor:not-allowed}.code-count{color:#64748b;white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.code-count--near{color:#b45309;background:#fffbeb}.code-count--over{color:#be123c;background:#fff1f2}.copy-toast{z-index:3;color:#047857;align-items:center;gap:5px;font-size:13px;font-weight:800;display:flex;position:absolute;bottom:-30px;right:16px}.copy-toast svg{width:16px;height:16px}.code-editor__body{background:#070b19;flex:1;grid-template-columns:58px minmax(0,1fr);min-height:0;max-height:none;display:grid;position:relative}.code-editor__gutter{color:#64748b;text-align:right;-webkit-user-select:none;user-select:none;background:#0b1020;border-right:1px solid #243044;padding:16px 10px 16px 0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:14px;line-height:26px;overflow:hidden}.code-editor__textarea{resize:none;color:#eef4ff;white-space:pre;background:#070b19;border:0;outline:none;width:100%;min-width:0;height:100%;padding:16px 18px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:15px;line-height:26px;overflow:auto}.code-editor__textarea--focused{box-shadow:inset 0 0 0 3px #0ea5e942}.code-editor__textarea--readonly{opacity:.55;cursor:not-allowed}.focus-badge{color:#bae6fd;background:#0ea5e924;border-radius:999px;align-items:center;gap:7px;padding:6px 9px;font-size:12px;font-weight:800;display:flex;position:absolute;bottom:14px;right:14px}.focus-badge div{background:#00bfff;border-radius:999px;width:7px;height:7px}.code-editor__status{color:#64748b;background:#f8fafc;border-top:1px solid #d9e6f2;justify-content:space-between;align-items:center;gap:12px;height:38px;padding:8px 14px;font-size:13px;font-weight:700;display:flex}.code-editor__status>div:first-child{align-items:center;gap:14px;display:flex}.code-editor__warning{color:#be123c;align-items:center;gap:4px;display:inline-flex}.code-editor__warning svg{width:17px;height:17px}textarea{tab-size:2;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}textarea::-webkit-scrollbar{width:12px}textarea::-webkit-scrollbar-track{background:#0f172a}textarea::-webkit-scrollbar-thumb{background:#334155;border:3px solid #0f172a;border-radius:6px}textarea::-webkit-scrollbar-thumb:hover{background:#475569}.blockly-container ::-webkit-scrollbar{width:8px;height:8px}.blocklyFlyout ::-webkit-scrollbar{width:8px;height:8px}.blocklyScrollbarVertical ::-webkit-scrollbar{width:8px;height:8px}.blocklyScrollbarHorizontal ::-webkit-scrollbar{width:8px;height:8px}.blockly-container ::-webkit-scrollbar-track{background:0 0}.blocklyFlyout ::-webkit-scrollbar-track{background:0 0}.blockly-container ::-webkit-scrollbar-thumb{background:#64748b4d;border-radius:4px}.blocklyFlyout ::-webkit-scrollbar-thumb{background:#64748b4d;border-radius:4px}.blockly-container ::-webkit-scrollbar-thumb:hover{background:#64748b80}.blocklyFlyout ::-webkit-scrollbar-thumb:hover{background:#64748b80}.blocklyFlyout,.blocklyFlyoutBackground{pointer-events:auto}.blocklyFlyout{scrollbar-width:thin;scrollbar-color:#64748b4d transparent;overflow:hidden!important}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s ease-out fadeIn}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-slide-in{animation:.4s ease-out slideIn}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-shimmer{animation:2s infinite shimmer}button:not(:disabled):hover{transform:translateY(-1px)}button:not(:disabled):active{transform:translateY(0)}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%230284c7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.device-detect-section{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:12px}.device-detect-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#007aff 0% 100%);border:1px solid #bae6fd;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:42px;font-size:15px;font-weight:900;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #0ea5e940}.device-detect-button:hover:not(:disabled){background:linear-gradient(135deg,#007aff 0%,#0369a1 100%);transform:translateY(-1px);box-shadow:0 6px 16px #0ea5e959}.device-detect-button:active:not(:disabled){transform:translateY(0)}.device-detect-button:disabled{cursor:not-allowed;box-shadow:none;opacity:.6;background:#cbd5e1;border-color:#cbd5e1}.device-detect-button svg{width:20px;height:20px}.chip-info{border-radius:12px;margin-top:12px;padding:12px;animation:.3s ease-out fadeIn}.chip-info--success{background:#ecfdf5;border:1px solid #a7f3d0}.chip-info--error{background:#fff1f2;border:1px solid #fecdd3}.chip-info__header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.chip-info--success .chip-info__header{color:#047857}.chip-info--error .chip-info__header{color:#be123c}.chip-info__header svg{flex:none;width:20px;height:20px}.chip-info__title{font-size:15px;font-weight:900}.chip-info__details{gap:8px;margin-bottom:10px;display:grid}.chip-info__row{border-bottom:1px solid #04785726;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;font-size:14px;display:flex}.chip-info--error .chip-info__row{border-bottom-color:#be123c26}.chip-info__row span{color:#64748b}.chip-info--success .chip-info__row strong{color:#047857;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-weight:900}.chip-info__footer{border-top:1px solid #04785726;align-items:center;gap:6px;padding-top:8px;font-size:13px;display:flex}.chip-info--success .chip-info__footer{color:#047857}.chip-info--error .chip-info__footer{color:#be123c;border-top-color:#be123c26}.chip-info__footer svg{flex:none;width:16px;height:16px}.chip-info__error{color:#be123c;margin-bottom:10px;font-size:14px;line-height:1.5}.board-description{color:#475569;background:#f8fafc;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:13px;line-height:1.5}.board-description p{margin:0}.board-detection-empty{text-align:center;padding:8px 0}.board-detection-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#007aff 0% 100%);border:1px solid #bae6fd;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;font-size:16px;font-weight:900;transition:all .2s;display:inline-flex;box-shadow:0 6px 16px #0ea5e940}.board-detection-button:hover:not(:disabled){background:linear-gradient(135deg,#007aff 0%,#0369a1 100%);transform:translateY(-1px);box-shadow:0 8px 20px #0ea5e959}.board-detection-button:active:not(:disabled){transform:translateY(0)}.board-detection-button:disabled{cursor:not-allowed;box-shadow:none;opacity:.6;background:#cbd5e1;border-color:#cbd5e1}.board-detection-button svg{width:20px;height:20px}.board-detection-hint{color:#64748b;justify-content:center;align-items:center;gap:6px;margin-top:10px;font-size:13px;line-height:1.5;display:flex}.board-detection-hint svg{flex:none}.board-detection-success{gap:12px;display:grid}.board-detection-result{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:900;display:flex}.board-detection-result svg{flex:none;width:20px;height:20px}.board-detection-failed{gap:12px;display:grid}.board-detection-error{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:900;display:flex}.board-detection-error svg{flex:none;width:20px;height:20px}.board-detection-error-message{color:#64748b;text-align:center;font-size:13px;line-height:1.5}.board-redetect-button{color:#007aff;cursor:pointer;background:#fff;border:1px solid #dbeafe;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:38px;font-size:14px;font-weight:900;transition:all .2s;display:inline-flex}.board-redetect-button:hover:not(:disabled){background:#f0f9ff;border-color:#007aff}.board-redetect-button:disabled{opacity:.5;cursor:not-allowed}.board-redetect-button svg{width:16px;height:16px}.board-select optgroup{color:#0f172a;background:#f1f5f9;font-weight:900}.board-select option{color:#334155;padding:8px 12px;font-weight:700}.guided-dialog-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172abf;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.guided-dialog{background:#fff;border:1px solid #d9e6f2;border-radius:16px;width:min(90%,480px);animation:.3s ease-out slideIn;box-shadow:0 20px 60px #0f172a4d}.guided-dialog__header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.guided-dialog__header h3{color:#0f172a;font-size:18px;font-weight:900}.guided-dialog__close{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;transition:all .2s;display:grid}.guided-dialog__close:hover:not(:disabled){color:#0f172a;background:#f1f5f9}.guided-dialog__close:disabled{opacity:.4;cursor:not-allowed}.guided-dialog__body{padding:24px}.guided-step{align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.guided-step__icon{border-radius:12px;flex:none;place-items:center;width:48px;height:48px;font-size:18px;font-weight:900;display:grid}.guided-step__icon--warning{color:#92400e;background:#fef3c7}.guided-step__icon--success{color:#047857;background:#d1fae5}.guided-step__icon--detecting{color:#007aff;background:#dbeafe}.guided-step__icon svg{width:28px;height:28px}.guided-step__content{flex:1;min-width:0}.guided-step__content h4{color:#0f172a;margin-bottom:8px;font-size:16px;font-weight:900}.guided-step__content p{color:#64748b;font-size:14px;line-height:1.6}.guided-dialog__button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#007aff 0% 100%);border:0;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:48px;font-size:16px;font-weight:900;transition:all .2s;display:inline-flex;box-shadow:0 8px 20px #0ea5e94d}.guided-dialog__button:hover{background:linear-gradient(135deg,#007aff 0%,#0369a1 100%);transform:translateY(-1px);box-shadow:0 10px 24px #0ea5e966}.guided-dialog__button:active{transform:translateY(0)}.editor-tabs{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.editor-tabs__header{background:#f8fafc;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:8px 12px;display:flex}.editor-tabs__nav{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.editor-tabs__tab{color:#64748b;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;min-height:40px;padding:8px 16px;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex}.editor-tabs__tab--active{color:#007aff;background:#fff;border-color:#d9e6f2;font-weight:900;box-shadow:0 2px 8px #1f547814}.editor-tabs__tab svg{flex:none;width:20px;height:20px}.editor-tabs__badge{color:#fff;background:#007aff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:900;display:inline-flex}.editor-tabs__actions{flex:none;align-items:center;gap:8px;display:flex}.editor-tabs__upload-button{color:#007aff;cursor:pointer;background:#fff;border:1px solid #dbeafe;border-radius:10px;align-items:center;gap:6px;min-height:40px;padding:8px 16px;font-size:14px;font-weight:900;transition:all .2s;display:inline-flex}.editor-tabs__upload-button:hover{background:#f0f9ff;border-color:#007aff;box-shadow:0 2px 8px #0284c726}.editor-tabs__upload-button svg{width:16px;height:16px}.editor-tabs__download-button{color:#7c3aed;cursor:pointer;background:#fff;border:1px solid #ede9fe;border-radius:10px;align-items:center;gap:6px;min-height:40px;padding:8px 16px;font-size:14px;font-weight:900;transition:all .2s;display:inline-flex}.editor-tabs__download-button:hover{background:#f5f3ff;border-color:#7c3aed;box-shadow:0 2px 8px #7c3aed26}.editor-tabs__download-button svg{width:16px;height:16px}.editor-tabs__content{flex:1;min-height:0;position:relative;overflow:hidden}.editor-tabs__drop-hint{z-index:100;pointer-events:none;background:#f0f9fffa;border:3px dashed #007aff;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin:12px;display:none;position:absolute;inset:56px 0 0}.editor-tabs__drop-hint svg{color:#007aff;width:64px;height:64px}.editor-tabs__drop-hint p{color:#0f172a;font-size:18px;font-weight:900}.editor-tabs__drop-hint span{color:#64748b;font-size:14px}.editor-tabs.drag-over .editor-tabs__drop-hint{animation:.2s ease-out fadeIn;display:flex}.editor-tabs.drag-over .editor-tabs__content>*{opacity:.3;pointer-events:none}.blockly-warning{z-index:10;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 16px;animation:.3s ease-out slideDown;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000001a}.blockly-warning p{color:#92400e;margin:0;font-size:13px;font-weight:700}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.file-uploader{flex-direction:column;gap:8px;display:flex}.file-uploader__button{color:#007aff;cursor:pointer;background:#fff;border:1px solid #dbeafe;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:42px;font-size:15px;font-weight:900;transition:all .2s;display:inline-flex}.file-uploader__button:hover{background:#f0f9ff;border-color:#007aff}.file-uploader__button svg{width:20px;height:20px}.file-uploader__hint{color:#64748b;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex}.file-uploader__hint svg{width:14px;height:14px}.multi-file-editor{background:#fff;border:1px solid #d9e6f2;border-radius:14px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 10px 26px #1f547817}.multi-file-editor__tabs{background:#f8fafc;border-bottom:1px solid #d9e6f2;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:6px 8px;display:flex;overflow:auto hidden}.multi-file-editor__tabs-list{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.multi-file-editor__tab{color:#64748b;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:6px 10px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.multi-file-editor__tab:hover{color:#334155;background:#e2e8f0}.multi-file-editor__tab--active{color:#0f172a;background:#fff;border-color:#d9e6f2;font-weight:900;box-shadow:0 2px 8px #1f547814}.multi-file-editor__tab svg{flex:none}.multi-file-editor__tab-close{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:18px;height:18px;margin-left:4px;transition:all .15s;display:grid}.multi-file-editor__tab-close:hover{color:#dc2626;background:#fee2e2}.multi-file-editor__add-button{color:#64748b;cursor:pointer;background:0 0;border:1px dashed #cbd5e1;border-radius:8px;place-items:center;width:36px;height:36px;transition:all .2s;display:grid}.multi-file-editor__add-button:hover{color:#007aff;background:#f0f9ff;border-color:#007aff}.multi-file-editor__add-input{background:#fff;border:1px solid #007aff;border-radius:8px;align-items:center;gap:4px;padding:4px;display:flex;box-shadow:0 2px 8px #0284c726}.multi-file-editor__add-input input{border:0;outline:none;min-width:120px;padding:4px 8px;font-size:13px;font-weight:700}.multi-file-editor__add-input button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:24px;height:24px;font-size:14px;font-weight:900;transition:all .15s;display:grid}.multi-file-editor__add-input button:first-of-type:hover{color:#16a34a;background:#dcfce7}.multi-file-editor__add-input button:last-of-type:hover{color:#dc2626;background:#fee2e2}.multi-file-editor__actions{flex:none;align-items:center;gap:4px;display:flex}.multi-file-editor__action-button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #dbeafe;border-radius:6px;place-items:center;width:32px;height:32px;transition:all .2s;display:grid}.multi-file-editor__action-button:hover{color:#007aff;background:#f0f9ff;border-color:#007aff}.multi-file-editor__content{flex:1;min-height:0;overflow:hidden}.multi-file-editor__empty{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;height:100%;font-size:16px;font-weight:700;display:flex}.multi-file-editor__empty svg{margin-bottom:12px}.ai-assistant{background:#fffffff2;border:1px solid #d9e6f2;border-radius:14px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:0 8px 24px #1f547814}.ai-assistant__header{cursor:pointer;justify-content:space-between;align-items:center;padding:8px 14px;transition:background .2s;display:flex}.ai-assistant__header:hover{background:#f8fafc}.ai-assistant__title{color:#0f172a;align-items:center;gap:8px;display:flex}.ai-assistant__title svg{color:#8b5cf6}.ai-assistant__title h3{font-size:16px;font-weight:800}.ai-assistant__badge{color:#fff;background:#8b5cf6;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:900;display:inline-flex}.ai-assistant__toggle{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;transition:all .2s;display:grid}.ai-assistant__toggle:hover{color:#8b5cf6;background:#f1f5f9}.ai-assistant__body{background:#f8fafc;border-top:1px solid #e2e8f0;flex-direction:column;flex:1;min-height:200px;display:flex}.ai-assistant__messages{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px;display:flex;overflow-y:auto}.ai-assistant__messages::-webkit-scrollbar{width:6px}.ai-assistant__messages::-webkit-scrollbar-track{background:0 0}.ai-assistant__messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.ai-assistant__messages::-webkit-scrollbar-thumb:hover{background:#94a3b8}.ai-assistant__empty{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex}.ai-assistant__empty svg{color:#8b5cf6;margin-bottom:8px}.ai-assistant__empty p{color:#334155;margin-bottom:4px;font-size:15px;font-weight:900}.ai-assistant__empty span{max-width:240px;font-size:12px;line-height:1.5}.ai-message{flex-direction:column;gap:4px;max-width:85%;animation:.3s ease-out slideIn;display:flex}.ai-message--user{align-self:flex-end}.ai-message--assistant{align-self:flex-start}.ai-message__content{word-wrap:break-word;overflow-wrap:break-word;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.5;overflow:hidden}.ai-message__content pre{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;margin:8px 0}.ai-message__content p{margin:4px 0}.ai-message__content code:not(pre code){word-break:break-all;background:#f1f5f9;border-radius:3px;padding:1px 5px;font-size:12px}.ai-message--user .ai-message__content{color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);border-bottom-right-radius:4px}.ai-message--assistant .ai-message__content{color:#334155;background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.ai-message__time{color:#94a3b8;padding:0 4px;font-size:11px}.ai-message--user .ai-message__time{text-align:right}.ai-message__loading{align-items:center;gap:4px;display:flex;padding:12px 16px!important}.ai-message__loading span{background:#8b5cf6;border-radius:999px;width:8px;height:8px;animation:1.4s ease-in-out infinite both bounce}.ai-message__loading span:first-child{animation-delay:-.32s}.ai-message__loading span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.ai-assistant__input-area{background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;padding:12px}.ai-assistant__clear{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;margin-bottom:8px;padding:4px 8px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.ai-assistant__clear:hover{color:#ef4444;background:#f1f5f9}.ai-assistant__clear svg{width:14px;height:14px}.ai-assistant__input-wrapper{align-items:center;gap:8px;display:flex}.ai-assistant__input{color:#0f172a;resize:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;outline:none;flex:1;min-height:44px;max-height:100px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.5;transition:all .2s}.ai-assistant__input:focus{background:#fff;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.ai-assistant__input:disabled{opacity:.6;cursor:not-allowed}.ai-assistant__input::placeholder{color:#94a3b8}.ai-assistant__prompt-input{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;background-clip:padding-box;font-family:inherit;line-height:1.45;overflow-y:auto}.ai-assistant__prompt-input::-webkit-scrollbar{width:6px}.ai-assistant__prompt-input::-webkit-scrollbar-track{background:0 0;margin:10px 0}.ai-assistant__prompt-input::-webkit-scrollbar-corner{background:0 0}.ai-assistant__prompt-input::-webkit-scrollbar-thumb{background:#cbd5e1 padding-box content-box;border:2px solid #0000;border-radius:999px}.ai-assistant__prompt-input::-webkit-scrollbar-thumb:hover{background:#94a3b8 padding-box content-box;border:2px solid #0000}.ai-assistant__send{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);border:0;border-radius:10px;flex-shrink:0;place-items:center;width:44px;height:44px;transition:all .2s;display:grid}.ai-assistant__send:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.ai-assistant__send:active:not(:disabled){transform:translateY(0)}.ai-assistant__send:disabled{opacity:.5;cursor:not-allowed;background:#cbd5e1}.ai-code-card{background:#1e293b;border:1px solid #334155;border-radius:8px;margin:8px 12px;overflow:hidden}.ai-code-card__header{color:#94a3b8;background:#0f172a;border-bottom:1px solid #334155;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.ai-code-card__header svg{color:#60a5fa}.ai-code-card__lines{color:#64748b;margin-left:auto;font-weight:400}.ai-code-card__preview{color:#e2e8f0;white-space:pre;background:#1e293b;max-height:200px;margin:0;padding:10px 12px;font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.6;overflow-y:auto}.ai-deploy-error{background:#fef2f2;border-bottom:1px solid #fecaca;margin:0;padding:10px 12px}.ai-deploy-error__header{color:#dc2626;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.ai-deploy-error__actions{gap:4px;margin-left:auto;display:flex}.ai-deploy-error__btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:4px;align-items:center;gap:3px;padding:3px 8px;font-size:11px;display:inline-flex}.ai-deploy-error__btn:hover{color:#dc2626;background:#fef2f2}.ai-deploy-error__detail{color:#374151;white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid #fecaca;border-radius:6px;max-height:200px;margin:0;padding:8px;font-size:11px;line-height:1.6;overflow-y:auto}.ai-assistant__toolbar{background:#fff;border-top:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:4px 8px;display:flex}.ai-toolbar-btn{cursor:pointer;white-space:nowrap;white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;line-height:1.4;transition:all .15s;display:inline-flex}.ai-toolbar-btn--primary{color:#fff;background:#3b82f6;border-color:#3b82f6}.ai-toolbar-btn--primary:hover{background:#2563eb}.ai-toolbar-btn--ghost{color:#475569;background:#fff;border-color:#d1d5db}.ai-toolbar-btn--ghost:hover{background:#f1f5f9;border-color:#94a3b8}.ai-message__code-wrap{margin:8px 0;position:relative}.ai-message__code-copy{color:#94a3b8;cursor:pointer;opacity:0;background:#0f172acc;border:1px solid #334155;border-radius:4px;align-items:center;padding:3px 6px;transition:opacity .15s;display:flex;position:absolute;top:6px;right:6px}.ai-message__code-wrap:hover .ai-message__code-copy{opacity:1}.ai-message__code-copy:hover{color:#e2e8f0;background:#334155}.ai-message__deploy{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#0f766e);border:1px solid #1d4ed8;border-radius:0 0 6px 6px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:-1px;padding:8px 10px;font-size:12px;font-weight:800;transition:filter .15s,transform .15s;display:flex;box-shadow:0 8px 16px #2563eb38}.ai-message__deploy:hover{filter:brightness(1.05)}.ai-message__deploy:active{transform:translateY(1px)}.ai-mode-indicator{color:#92400e;background:#fef3c7;border-radius:12px;margin-bottom:8px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.ai-message__code-block{color:#e2e8f0;white-space:pre-wrap;background:#0f172a;border:1px solid #334155;border-radius:6px 6px 0 0;margin:0;padding:8px 10px;font-family:SF Mono,Fira Code,monospace;font-size:11px;line-height:1.5;overflow-x:auto}@media (width<=1024px){.app-shell{overflow:auto}.studio-layout{flex-direction:column;height:auto;overflow:visible}.studio-sidebar{width:100%}.studio-resize-handle{display:none}.studio-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.code-editor__body{height:520px}}@media (width<=640px){.app-header{align-items:flex-start;padding:12px 14px}.brand-mark{width:36px;height:36px}.brand-copy{gap:8px}.brand-copy__title{font-size:20px}.brand-copy__subtitle,.brand-copy__tagline{font-size:10px}.header-tools{display:none}.studio-layout{padding:12px}.studio-sidebar{width:100%}.code-editor__header,.code-editor__status{flex-direction:column;align-items:flex-start}.code-editor__body{grid-template-columns:48px minmax(0,1fr);height:420px;min-height:360px}.code-editor__textarea{padding:14px;font-size:14px;line-height:24px}.code-editor__gutter{font-size:13px;line-height:24px}}.editor-tabs{background:#fff;border-radius:12px;flex-direction:column;height:100%;display:flex;overflow:hidden}.editor-tabs__header{background:#fff;border-bottom:none;justify-content:space-between;align-items:center;min-height:48px;padding:0 16px 0 0;display:flex}.editor-tabs__nav{gap:8px;display:flex}.editor-tabs__tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.editor-tabs__tab:hover{color:#334155;background:#e2e8f0}.editor-tabs__tab--active{color:#007aff;background:#fff;box-shadow:0 1px 3px #0000001a}.editor-tabs__tab svg{width:20px;height:20px}.editor-tabs__error-banner{color:#dc2626;background:#fef2f2;border-bottom:1px solid #fecaca;align-items:center;gap:8px;padding:6px 16px;font-size:13px;display:flex}.editor-tabs__error-banner__close{color:#9ca3af;cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:12px;text-decoration:underline}.editor-tabs__error-banner__close:hover{color:#dc2626}.editor-tabs__hint-banner{background:#fffbeb;border-bottom:1px solid #fde68a;align-items:center;gap:8px;padding:6px 16px;font-size:13px;display:flex}.editor-tabs__hint-banner__action{color:#2563eb;cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:12px;text-decoration:underline}.editor-tabs__hint-banner__action:hover{color:#1d4ed8}.editor-tabs__content{flex:1;position:relative;overflow:hidden}.editor-tabs__content>*{width:100%;height:100%;position:absolute;top:0;left:0}.blockly-container{width:100%;height:100%;overflow:hidden;position:relative!important}.blockly-editor-container{width:100%;height:100%;position:relative;overflow:hidden}.blockly-workspace{width:100%;height:100%}.blockly-workspace svg{display:block}.blocklyScrollbarHandle,.blocklyScrollbarBackground{pointer-events:auto}.blockly-warning{color:#92400e;z-index:1000;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:12px 20px;font-size:14px;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 6px #0000001a}.blocklyToolboxDiv{scrollbar-width:thin;scrollbar-color:#64748b73 transparent;background-color:#f8fafc!important;border-right:1px solid #e2e8f0!important;max-height:100%!important;overflow:hidden auto!important}.blocklyFlyoutScrollbar,.blocklyFlyout .blocklyScrollbarVertical,.blocklyFlyout .blocklyScrollbarHorizontal{pointer-events:auto!important}.blocklyFlyout[style*="display: none"] .blocklyScrollbarVertical,.blocklyFlyout[style*="display: none"] .blocklyScrollbarHorizontal,.blocklyFlyout[style*="display: none"] .blocklyFlyoutScrollbar{visibility:hidden!important;display:none!important}.blocklyTreeRow{border-radius:6px!important;margin:4px 8px!important;padding:8px!important}.blocklyTreeRow:hover{background-color:#e2e8f0!important}.blocklyTreeSelected{background-color:#dbeafe!important}.blocklyMainBackground{stroke:none!important;fill:#fff!important}.blocklyGridPattern line{stroke:#e2e8f0!important}.blocklyScrollbarHandle{fill:#cbd5e1!important}.blocklyScrollbarHandle:hover{fill:#94a3b8!important}.blocklyTrash{opacity:.8}.blocklyTrash:hover{opacity:1}@media (width<=768px){.editor-tabs__tab span{display:none}.editor-tabs__tab{padding:8px 12px}.editor-tabs__error-banner,.editor-tabs__hint-banner{font-size:12px}}:is(body:not(:has(.blockly-container)) .blocklyWidgetDiv,body:not(:has(.blockly-container)) .blocklyDropDownDiv,body:not(:has(.blockly-container)) .blocklyTooltipDiv){visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}.blocklyTreeLabel{color:#6b7280!important;cursor:default!important;padding:6px 0 2px 8px!important;font-size:13px!important;font-weight:700!important}.toast{z-index:9999;background:#fff;border-radius:12px;align-items:center;gap:12px;max-width:400px;padding:16px 20px;animation:.3s ease-out slideInRight;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 10px 40px #00000026}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast__icon{flex-shrink:0;width:24px;height:24px}.toast--success{border-left:4px solid #10b981}.toast--success .toast__icon{color:#10b981}.toast--error{border-left:4px solid #ef4444}.toast--error .toast__icon{color:#ef4444}.toast--info{border-left:4px solid #3b82f6}.toast--info .toast__icon{color:#3b82f6}.toast__message{color:#1f2937;flex:1;font-size:14px;line-height:1.5}.toast__close{color:#9ca3af;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:24px;transition:color .2s;display:flex}.toast__close:hover{color:#4b5563}.execution-log{background:#fff;border-radius:12px;margin-bottom:16px;transition:all .3s;overflow:hidden;box-shadow:0 2px 8px #00000014}.execution-log__header{cursor:pointer;color:#374151;background:#f9fafb;border:none;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;transition:background .2s;display:flex}.execution-log__header:hover{background:#f3f4f6}.execution-log__icon{color:#6b7280;width:18px;height:18px}.execution-log__toggle{color:#9ca3af;width:18px;height:18px;margin-left:auto}.execution-log__content{border-top:1px solid #e5e7eb}.execution-log__toolbar{background:#fafafa;border-bottom:1px solid #e5e7eb;justify-content:flex-end;padding:8px 16px;display:flex}.execution-log__clear{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:4px 12px;font-size:12px;transition:all .2s}.execution-log__clear:hover{background:#f9fafb;border-color:#9ca3af}.execution-log__entries{max-height:160px;padding:8px;overflow-y:auto}.log-entry{border-radius:6px;gap:12px;margin-bottom:4px;padding:8px 12px;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;display:flex}.log-entry__time{color:#9ca3af;flex-shrink:0;font-size:12px}.log-entry__message{color:#374151;word-break:break-word;flex:1}.log-entry--info{background:#f0f9ff}.log-entry--info .log-entry__message{color:#0369a1}.log-entry--success{background:#f0fdf4}.log-entry--success .log-entry__message{color:#15803d}.log-entry--error{background:#fef2f2}.log-entry--error .log-entry__message{color:#dc2626}.log-entry--warning{background:#fffbeb}.log-entry--warning .log-entry__message{color:#d97706}.side-card--compact .side-card__title h3{font-size:14px}.side-card--compact{padding:10px 12px}.side-card--compact .side-card__title{margin-bottom:6px}.action-stack--compact{flex-direction:row;gap:8px;display:flex}.action-stack--compact .action-button{flex:1;gap:5px;min-width:0;min-height:40px;padding:8px 10px;font-size:13px}.action-stack--compact .action-button svg{width:16px;height:16px}.action-button--sm{padding:10px 16px;font-size:14px}.action-button--sm .w-5{width:18px;height:18px}.process-card--sm{margin-top:12px;padding:12px}.process-card--sm p{margin-top:8px;font-size:12px}.ai-context-bar{white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:6px;padding:5px 10px;font-size:11px;line-height:1.2;display:flex;overflow:hidden}.ai-context-bar__icon{color:#8b5cf6;flex-shrink:0}.ai-context-bar__value{color:#475569;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-context-bar__error-marker{color:#b91c1c;flex-shrink:0;align-items:center;gap:3px;margin-left:auto;font-weight:600;display:inline-flex}.ai-assistant__error-badge{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.ai-quick-actions{gap:8px;margin-top:12px;display:flex}.ai-quick-action{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:all .15s;display:inline-flex}.ai-quick-action:hover{background:#e2e8f0;border-color:#cbd5e1}.ai-quick-action--error{color:#b91c1c;background:#fef2f2;border-color:#fca5a5;font-weight:600}.ai-quick-action--error:hover{background:#fee2e2;border-color:#f87171}.ai-assistant__tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;display:flex}.ai-assistant__tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.ai-assistant__tab:hover{color:#334155;background:#f1f5f9}.ai-assistant__tab--active{color:#0d9488;background:#fff;border-bottom-color:#0d9488}.ai-assistant__logs{flex-direction:column;flex:1;display:flex;overflow-y:auto}.ai-logs__error-summary{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:10px 12px;padding:10px 12px}.ai-logs__error-summary-header{align-items:center;gap:6px;margin-bottom:8px;display:flex}.ai-logs__error-list{flex-direction:column;gap:4px;max-height:200px;display:flex;overflow-y:auto}.ai-logs__error-item{background:#fff;border-radius:4px;flex-wrap:wrap;gap:6px;padding:6px 8px;font-size:12px;display:flex}.ai-logs__error-line{color:#991b1b;flex-shrink:0;font-weight:600}.ai-logs__error-msg{color:#374151}.ai-logs__error-hint{color:#6b7280;width:100%;font-size:11px;font-style:italic}.ai-logs__list{flex-direction:column;flex:1;gap:3px;padding:8px 12px;display:flex;overflow-y:auto}.ai-logs__item{border-radius:4px;align-items:flex-start;gap:6px;padding:4px 8px;font-size:12px;display:flex}.ai-logs__item--error{background:#fef2f2}.ai-logs__item--success{background:#f0fdf4}.ai-logs__item--warning{background:#fffbeb}.ai-logs__item--info{background:#fff}.ai-logs__time{color:#94a3b8;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.ai-logs__msg{color:#374151;word-break:break-all}.firmware-card{cursor:pointer;color:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;text-decoration:none;transition:all .2s;display:flex;overflow:hidden}.firmware-card__badge svg{width:16px;height:16px}.firmware-card__content{flex-direction:column;gap:12px;padding:16px;display:flex}.firmware-card__title{color:#0f172a;flex:1;min-width:0;font-size:18px;font-weight:700;line-height:1.3}.firmware-card__version{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:6px;flex-shrink:0;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.firmware-card__description{color:#64748b;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.firmware-card__boards{border-top:1px solid #f1f5f9;align-items:center;gap:6px;padding:8px 0;display:flex}.firmware-card__tags{align-items:center;gap:8px;display:flex}.firmware-card__tags-list{flex-wrap:wrap;flex:1;gap:6px;display:flex}.firmware-card__tag{color:#1e40af;background:#eff6ff;border-radius:6px;align-items:center;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.firmware-card__footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.firmware-filter__search{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex;position:relative}.firmware-filter__search-input{color:#0f172a;background:0 0;border:none;outline:none;flex:1;font-size:15px}.firmware-filter__select-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex;position:relative}.firmware-filter__select{color:#0f172a;cursor:pointer;background:0 0;border:none;outline:none;padding-right:8px;font-size:14px}.firmware-filter__tags-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;transition:all .15s;display:flex}.firmware-filter__tags-count{color:#007aff;margin-left:4px;font-weight:600}.firmware-filter__clear-button{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.firmware-filter__active-filters{border-top:1px solid #f1f5f9;flex-wrap:wrap;gap:8px;padding-top:8px;display:flex}.firmware-filter__active-tag{color:#1e40af;background:#eff6ff;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}@media (width<=768px){.firmware-card__thumbnail{height:140px}.firmware-card__content{padding:12px}.firmware-card__title{font-size:16px}.firmware-filter{padding:16px}.firmware-filter__controls,.firmware-filter__controls-left{flex-direction:column;align-items:stretch}.firmware-filter__select-wrapper,.firmware-filter__tags-button{width:100%}}.firmware-card{cursor:pointer;height:100%;color:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;text-decoration:none;transition:all .2s;display:flex;overflow:hidden}.firmware-card:hover{border-color:#007aff;transform:translateY(-2px);box-shadow:0 8px 24px #0284c726}.firmware-card__thumbnail{background:#f8fafc;width:100%;height:180px;position:relative;overflow:hidden}.firmware-card__thumbnail-image{object-fit:cover;width:100%;height:100%}.firmware-card__thumbnail-placeholder{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.firmware-card__badge{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10b981f2;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:700;display:flex;position:absolute;top:12px;right:12px}.firmware-card__content{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.firmware-card__header{justify-content:space-between;align-items:start;gap:8px;display:flex}.firmware-card__title{color:#0f172a;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:18px;font-weight:800;line-height:1.3;display:-webkit-box;overflow:hidden}.firmware-card__version{color:#007aff;background:#eff6ff;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:12px;font-weight:700}.firmware-card__description{color:#64748b;text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.firmware-card__boards{align-items:center;gap:6px;display:flex}.firmware-card__tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.firmware-card__tags-list{flex-wrap:wrap;gap:6px;display:flex}.firmware-card__tag{color:#475569;background:#f1f5f9;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.firmware-card__tag--more{color:#0369a1;background:#e0f2fe}.firmware-card__footer{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.firmware-filter{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:16px;padding:20px;display:flex;box-shadow:0 4px 12px #0000000d}.firmware-filter__search{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;height:48px;padding:0 16px;transition:all .2s;display:flex;position:relative}.firmware-filter__search:focus-within{background:#fff;border-color:#007aff;box-shadow:0 0 0 3px #0284c71a}.firmware-filter__search-input{color:#0f172a;background:0 0;border:none;outline:none;flex:1;font-size:15px;font-weight:600}.firmware-filter__search-input::placeholder{color:#94a3b8}.firmware-filter__clear-search{color:#64748b;cursor:pointer;background:#e2e8f0;border:none;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.firmware-filter__clear-search:hover{color:#475569;background:#cbd5e1}.firmware-filter__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.firmware-filter__controls-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.firmware-filter__select-wrapper{background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;height:40px;padding:0 12px;display:flex;position:relative}.firmware-filter__select{color:#0f172a;cursor:pointer;background:0 0;border:none;outline:none;padding-right:24px;font-size:14px;font-weight:600}.firmware-filter__tags-wrapper{position:relative}.firmware-filter__tags-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;height:40px;padding:0 12px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.firmware-filter__tags-button:hover{background:#f0f9ff;border-color:#007aff}.firmware-filter__tags-count{color:#fff;background:#007aff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.firmware-filter__tags-dropdown{z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:200px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #0000001f}.firmware-filter__tag-option{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;transition:background .2s;display:flex}.firmware-filter__tag-option:hover{background:#f8fafc}.firmware-filter__tag-checkbox{cursor:pointer;width:16px;height:16px}.firmware-filter__clear-button{color:#be123c;cursor:pointer;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;align-items:center;gap:6px;height:40px;padding:0 12px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.firmware-filter__clear-button:hover{background:#ffe4e6;border-color:#fda4af}.firmware-filter__active-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.firmware-filter__active-tag{color:#0369a1;background:#eff6ff;border:1px solid #bae6fd;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.firmware-filter__active-tag-remove{color:#0369a1;cursor:pointer;background:#bae6fd;border:none;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;transition:all .2s;display:flex}.firmware-filter__active-tag-remove:hover{background:#7dd3fc}.firmware-grid{margin:0 auto}@media (width<=768px){.firmware-card__title{font-size:16px}.firmware-card__description{-webkit-line-clamp:2;font-size:13px}.firmware-filter{padding:16px}.firmware-filter__controls,.firmware-filter__controls-left{flex-direction:column;align-items:stretch}}.template-filter{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:16px;padding:20px;display:flex;box-shadow:0 4px 12px #0000000d}.template-filter__search{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;height:48px;padding:0 16px;transition:all .2s;display:flex;position:relative}.template-filter__search:focus-within{background:#fff;border-color:#007aff;box-shadow:0 0 0 3px #0284c71a}.template-filter__search-input{color:#0f172a;background:0 0;border:none;outline:none;flex:1;font-size:15px;font-weight:600}.template-filter__search-input::placeholder{color:#94a3b8}.template-filter__clear-search{color:#64748b;cursor:pointer;background:#e2e8f0;border:none;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.template-filter__clear-search:hover{color:#475569;background:#cbd5e1}.template-filter__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.template-filter__controls-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.template-filter__controls-right{align-items:center;gap:12px;display:flex}.template-filter__total-count{color:#64748b;white-space:nowrap;font-size:14px;font-weight:600}.template-filter__select-wrapper{background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;height:40px;padding:0 12px;display:flex;position:relative}.template-filter__select{color:#0f172a;cursor:pointer;background:0 0;border:none;outline:none;padding-right:24px;font-size:14px;font-weight:600}.template-filter__tags-wrapper{position:relative}.template-filter__tags-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;height:40px;padding:0 12px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.template-filter__tags-button:hover{background:#f0f9ff;border-color:#007aff}.template-filter__tags-count{color:#fff;background:#007aff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.template-filter__tags-dropdown{z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:200px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #0000001f}.template-filter__tag-option{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;transition:background .2s;display:flex}.template-filter__tag-option:hover{background:#f8fafc}.template-filter__tag-checkbox{cursor:pointer;width:16px;height:16px}.template-filter__tags-empty{text-align:center;color:#94a3b8;padding:12px;font-size:13px}.template-filter__clear-button{color:#be123c;cursor:pointer;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;align-items:center;gap:6px;height:40px;padding:0 12px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.template-filter__clear-button:hover{background:#ffe4e6;border-color:#fda4af}.template-filter__active-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.template-filter__active-tag{color:#0369a1;background:#eff6ff;border:1px solid #bae6fd;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.template-filter__active-tag-remove{color:#0369a1;cursor:pointer;background:#bae6fd;border:none;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;transition:all .2s;display:flex}.template-filter__active-tag-remove:hover{background:#7dd3fc}@media (width<=768px){.template-filter{padding:16px}.template-filter__controls,.template-filter__controls-left{flex-direction:column;align-items:stretch}.template-filter__controls-right{justify-content:space-between}.template-filter__select-wrapper,.template-filter__tags-button{width:100%}}.editor-tabs__nav{border-radius:10px;flex:none;gap:0;display:flex;overflow:hidden;box-shadow:0 2px 6px #0000000f}.editor-tabs__nav .editor-tabs__tab{border:none;border-radius:0;margin:0;padding:10px 22px;font-size:14px;font-weight:500;transition:all .2s;position:relative}.editor-tabs__nav .editor-tabs__tab:first-child{border-radius:10px 0 0 10px}.editor-tabs__nav .editor-tabs__tab:last-child{border-radius:0 10px 10px 0}.editor-tabs__tab--code{color:#075985;background:#e0f2fe}.editor-tabs__tab--code:hover{background:#bae6fd}.editor-tabs__tab--code.editor-tabs__tab--active{color:#fff;background:#007aff;font-weight:600}.editor-tabs__tab--blocks{color:#075985;background:#bae6fd}.editor-tabs__tab--blocks:hover{background:#7dd3fc}.editor-tabs__tab--blocks.editor-tabs__tab--active{color:#fff;background:#007aff;font-weight:600}.editor-tabs__tab--library{color:#075985;background:#a5d8ff}.editor-tabs__tab--library:hover{background:#7dd3fc}.editor-tabs__tab--library.editor-tabs__tab--active{color:#fff;background:#007aff;font-weight:600}.course-library-panel{background:#f8fafb;flex-direction:column;width:100%;height:100%;display:flex;position:absolute;top:0;left:0;overflow-y:auto}.course-library-panel__search{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;margin:12px 14px 0;padding:8px 12px;transition:border-color .2s;display:flex}.course-library-panel__search:focus-within{border-color:#14b8a6;box-shadow:0 0 0 2px #14b8a61a}.course-library-panel__search svg{color:#94a3b8;flex-shrink:0;width:16px;height:16px}.course-library-panel__search input{color:#0f172a;background:0 0;border:none;outline:none;flex:1;font-size:13px}.course-library-panel__search input::placeholder{color:#94a3b8}.course-library-panel__stats{color:#64748b;padding:8px 14px 4px;font-size:12px}.course-library-panel__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;gap:10px;padding:8px 14px 14px;display:grid}.course-library-panel__card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;padding:12px;transition:all .2s;display:flex}.course-library-panel__card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000f}.course-library-panel__card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.course-library-panel__badge{border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.course-library-panel__badge--source{color:#0d9488;background:#ccfbf1}.course-library-panel__badge--firmware{color:#c2410c;background:#ffedd5}.course-library-panel__category{color:#94a3b8;font-size:11px}.course-library-panel__card-title{color:#0f172a;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:13px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.course-library-panel__card-desc{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.course-library-panel__tags{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.course-library-panel__tag{color:#64748b;background:#f1f5f9;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-flex}.course-library-panel__card-action{margin-top:auto}.course-library-panel__btn{cursor:pointer;color:#fff;border:none;border-radius:6px;justify-content:center;align-items:center;gap:5px;width:100%;padding:6px 10px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.course-library-panel__btn:disabled{opacity:.6;cursor:not-allowed}.course-library-panel__btn--source{background:#0d9488}.course-library-panel__btn--source:hover:not(:disabled){background:#0f766e}.course-library-panel__btn--firmware{background:#ea580c}.course-library-panel__btn--firmware:hover:not(:disabled){background:#c2410c}.course-library-panel__btn svg{width:14px;height:14px}.course-library-panel__loading{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;font-size:14px;display:flex}.course-library-panel__spinner{border:3px solid #e2e8f0;border-top-color:#14b8a6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.course-library-panel__error{color:#be123c;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;font-size:14px;display:flex}.course-library-panel__retry-btn{color:#be123c;cursor:pointer;background:#fff1f2;border:1px solid #fecdd3;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:600;transition:all .2s}.course-library-panel__retry-btn:hover{background:#ffe4e6}.course-library-panel__empty{color:#94a3b8;justify-content:center;align-items:center;height:100%;font-size:14px;display:flex}.course-library-panel__detail{flex-direction:column;width:100%;height:100%;padding:12px 14px;display:flex;position:absolute;top:0;left:0;overflow:hidden}.course-article-content h1{color:#111827;margin:16px 0 8px;font-size:1.5em;font-weight:700}.course-article-content h2{color:#1f2937;margin:14px 0 6px;font-size:1.25em;font-weight:600}.course-article-content h3{color:#374151;margin:12px 0 4px;font-size:1.1em;font-weight:600}.course-article-content p{margin:6px 0}.course-article-content ul,.course-article-content ol{margin:6px 0;padding-left:20px}.course-article-content li{margin:3px 0}.course-article-content blockquote{color:#6b7280;background:#f0fdfa;border-left:3px solid #0d9488;border-radius:0 4px 4px 0;margin:8px 0;padding:6px 12px}.course-article-content hr{border:none;border-top:1px solid #e5e7eb;margin:12px 0}.course-article-content strong{color:#111827;font-weight:600}.course-resource-panel{padding:0;overflow-y:auto}.landing{color:#e2e8f0;selection-bg:#007aff4d;selection-color:#0ff;background:#050a1f;min-height:100vh;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}.landing *{box-sizing:border-box}.landing .glass{-webkit-backdrop-filter:blur(12px);background:#0a0f2499;border:1px solid #007aff33}.landing .glow-text{text-shadow:0 0 10px #00ffff80}.landing .hover-glow:hover{border-color:#00ffff80;box-shadow:0 0 20px #00ffff80}.landing .hover-glow-icon svg{transition:all .3s}.landing .hover-glow-icon:hover svg{filter:drop-shadow(0 0 8px #0ffc);color:#0ff!important}.landing-nav{z-index:50;-webkit-backdrop-filter:blur(12px);background:#0a0f2499;border-bottom:1px solid #007aff33;width:100%;position:fixed;top:0}.landing-nav__inner{justify-content:space-between;align-items:center;max-width:1280px;height:64px;margin:0 auto;padding:0 16px;display:flex}@media (width>=768px){.landing-nav__inner{height:80px;padding:0 24px}}.landing-nav__brand{align-items:center;gap:8px;min-width:0;display:flex}@media (width>=768px){.landing-nav__brand{gap:12px}}.landing-nav__logo{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative}@media (width>=768px){.landing-nav__logo{width:40px;height:40px}}.landing-nav__logo-svg{color:#007aff;width:100%;height:100%}.landing-nav__logo-glow{filter:blur(16px);background:#007aff33;border-radius:50%;position:absolute;inset:0}.landing-nav__title{letter-spacing:.05em;color:#e2e8f0;text-shadow:0 0 10px #00ffff80;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-size:18px;font-weight:600;display:flex;overflow:hidden}@media (width>=768px){.landing-nav__title{gap:8px;font-size:20px}}.landing-nav__subtitle{color:#0ff;font-family:Fira Code,monospace;font-size:12px}@media (width>=768px){.landing-nav__subtitle{font-size:14px}}.landing-nav__btn{color:#e2e8f0;cursor:pointer;white-space:nowrap;background:#007aff1a;border:1px solid #007aff80;align-items:center;gap:4px;padding:8px 16px;font-size:12px;transition:all .2s;display:flex;position:relative;overflow:hidden}@media (width>=768px){.landing-nav__btn{gap:8px;padding:8px 24px;font-size:14px}}.landing-nav__btn:hover{color:#0ff;background:#007aff33}.landing-nav__btn-label{opacity:.6;display:none}@media (width>=768px){.landing-nav__btn-label{display:inline}}.landing-nav__btn-icon{width:12px;height:12px}@media (width>=768px){.landing-nav__btn-icon{width:16px;height:16px}}.landing-nav__btn-glow{background:#0ff;height:1px;animation:2s infinite pulse;position:absolute;bottom:0;left:0;right:0;box-shadow:0 0 10px 2px #00ffffb3}.landing-particles{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.landing-particle{opacity:0;background:#0ff;border-radius:50%;position:absolute;box-shadow:0 0 8px 2px #0ff6}.landing-hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;margin-top:48px;padding:128px 24px 32px;display:flex;position:relative;overflow:hidden}@media (width>=768px){.landing-hero{margin-top:0;padding:160px 24px 64px}}.landing-hero__bg{opacity:.2;pointer-events:none;z-index:0;position:absolute;inset:0}.landing-hero__grid{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMSIgY3k9IjEiIHI9IjEiIGZpbGw9IiMwMDdBRkYiIG9wYWNpdHk9IjAuNSIvPjwvc3ZnPg==);background-size:24px 24px;position:absolute;inset:0}.landing-hero__stream{background:linear-gradient(#0000 0%,#007aff1a 50%,#0000 100%) 0 0/100% 200%;animation:8s linear infinite scanline;position:absolute;inset:0}@keyframes scanline{0%{background-position:0 -100%}to{background-position:0 200%}}.landing-hero__watermark{color:#007aff4d;z-index:0;font-family:Fira Code,monospace;font-size:10px;position:absolute}.landing-hero__watermark--left{top:25%;left:40px;transform:rotate(90deg)}.landing-hero__watermark--right{bottom:25%;right:40px;transform:rotate(-90deg)}.landing-hero__content{z-index:10;max-width:896px;margin:0 auto;padding:0 24px;position:relative}.landing-hero__badge{letter-spacing:.1em;color:#007aff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#007aff0d;border:1px solid #007aff4d;border-radius:9999px;margin-bottom:24px;padding:6px 16px;font-family:Fira Code,monospace;font-size:12px;display:inline-block}.landing-hero__title{letter-spacing:-.025em;margin-bottom:32px;font-size:48px;font-weight:700;line-height:1.1}@media (width>=768px){.landing-hero__title{font-size:72px}}.landing-hero__title-main{background:linear-gradient(to bottom right,#fff,#0ff,#007aff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.landing-hero__title-sub{color:#e2e8f0cc;letter-spacing:.1em;font-size:32px;font-weight:500}@media (width>=768px){.landing-hero__title-sub{font-size:48px}}.landing-hero__typewriter{white-space:pre-wrap;color:#e2e8f0b3;text-align:center;max-width:640px;min-height:120px;margin:0 auto;font-size:18px;font-weight:300;line-height:1.6}@media (width>=768px){.landing-hero__typewriter{font-size:20px}}.landing-hero__cta{flex-direction:column;justify-content:center;align-items:center;gap:24px;margin-top:40px;display:flex}@media (width>=768px){.landing-hero__cta{flex-direction:row}}.landing-hero__btn{width:100%;position:relative}@media (width>=768px){.landing-hero__btn{width:auto}}.landing-hero__btn:hover .landing-hero__btn-glow{opacity:.7}.landing-hero__btn-glow{filter:blur(24px);opacity:.4;background:#007aff;transition:opacity .2s;position:absolute;inset:0}.landing-hero__btn-inner{color:#050a1f;letter-spacing:.05em;background:#e2e8f0;justify-content:center;align-items:center;gap:12px;padding:16px 32px;font-weight:600;transition:background .2s;display:flex;position:relative}.landing-hero__btn-inner:hover{background:#fff}.landing-hero__btn-label{opacity:.6;font-family:Fira Code,monospace;font-size:12px}.landing-hero__btn-icon{width:20px;height:20px}.landing-pain{background:#050a1f;padding:48px 24px;position:relative;overflow:hidden}@media (width>=768px){.landing-pain{padding:80px 24px}}.landing-pain__watermark{opacity:.05;pointer-events:none;color:#007aff;white-space:nowrap;justify-content:center;align-items:center;font-family:Fira Code,monospace;font-size:48px;display:flex;position:absolute;inset:0;transform:rotate(-12deg)}@media (width>=768px){.landing-pain__watermark{font-size:96px}}.landing-pain__content{z-index:10;text-align:center;max-width:1280px;margin:0 auto;position:relative}.landing-pain__title{color:#e2e8f0;margin-bottom:40px;font-size:24px;font-weight:700}@media (width>=768px){.landing-pain__title{margin-bottom:64px;font-size:36px}}.landing-pain__grid{grid-template-columns:1fr;gap:24px;margin-bottom:64px;display:grid}@media (width>=768px){.landing-pain__grid{grid-template-columns:repeat(3,1fr)}}.landing-pain__card{background:#11182780;border:1px solid #1f2937;padding:24px;transition:all .7s;position:relative;overflow:hidden}.landing-pain__card--active{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0f2499;border-color:#007aff4d}.landing-pain__card-title{color:#6b7280;font-size:18px;font-weight:500;transition:color .7s}.landing-pain__card--active .landing-pain__card-title{color:#e2e8f0}.landing-pain__card-desc{color:#64748b;margin-top:8px;font-size:13px}.landing-pain__scanline{background:#0ff;width:4px;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 15px 3px #0ffc}.landing-pain__result{margin-top:32px}.landing-pain__result-text{color:#0ff;text-shadow:0 0 10px #00ffff80;letter-spacing:.05em;font-size:24px;font-weight:700;display:inline-block;position:relative}@media (width>=768px){.landing-pain__result-text{font-size:36px}}.landing-pain__result-code{color:#007affb3;letter-spacing:.15em;margin-top:8px;font-family:Fira Code,monospace;font-size:14px}.landing-bento{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0f2499;border:1px solid #007aff33;border-radius:12px;flex-direction:column;padding:24px;transition:all .3s;display:flex;position:relative;overflow:hidden}.landing-bento:hover{border-color:#00ffff80;box-shadow:0 0 20px #00ffff80}.landing-bento__header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.landing-bento__label{color:#007aff;letter-spacing:.1em;background:#007aff1a;border-radius:4px;padding:4px 8px;font-family:Fira Code,monospace;font-size:10px;font-weight:600}@media (width>=640px){.landing-bento__label{font-size:12px}}.landing-bento__icon{color:#0ff;opacity:.7;width:24px;height:24px;transition:opacity .3s}.landing-bento:hover .landing-bento__icon{opacity:1}.landing-bento__title{color:#e2e8f0;margin-bottom:8px;font-size:20px;font-weight:700}.landing-bento__desc{color:#e2e8f099;margin-bottom:24px;font-size:14px}.landing-bento__content{flex:1;margin-top:auto;position:relative}.landing-features{padding:80px 24px;position:relative}.landing-features__inner{max-width:1280px;margin:0 auto}.landing-features__header{margin-bottom:64px}.landing-features__title{margin-bottom:16px;font-size:24px;font-weight:700}@media (width>=768px){.landing-features__title{font-size:36px}}.landing-features__subtitle{color:#007aff;font-family:Fira Code,monospace;font-size:14px}.landing-features__grid{auto-rows:280px;grid-template-columns:1fr;gap:24px;display:grid}@media (width>=768px){.landing-features__grid{grid-template-columns:repeat(2,1fr)}}.landing-features__demo{justify-content:center;align-items:center;padding-top:32px;display:flex;position:absolute;inset:0}.landing-features__demo-bar{background:#050a1f80;border:1px solid #007aff33;border-radius:8px;width:100%;max-width:448px;padding:16px}.landing-features__demo-header{color:#007affcc;justify-content:space-between;margin-bottom:8px;font-family:Fira Code,monospace;font-size:12px;display:flex}.landing-features__demo-status{color:#0ff}.landing-features__demo-progress{background:#050a1f;border-radius:9999px;height:8px;overflow:hidden}.landing-features__demo-fill{background:linear-gradient(90deg,#007aff,#0ff);height:100%;position:relative}.landing-features__demo-fill:after{content:"";filter:blur(2px);background:#ffffff80;width:16px;position:absolute;top:0;bottom:0;right:0}.landing-features__demo-steps{justify-content:space-between;margin-top:16px;font-size:12px;display:flex}.landing-features__demo-step{color:#e2e8f099;align-items:center;gap:4px;display:flex}.landing-features__demo-step--active{color:#0ff;font-weight:700}.landing-features__demo-check{color:#4ade80;width:12px;height:12px}.landing-features__demo-bolt{width:12px;height:12px}.landing-features__ai{flex-direction:column;gap:12px;padding-top:16px;font-size:12px;display:flex;position:absolute;inset:0;overflow:hidden}.landing-features__ai-user{color:#e2e8f0e6;background:#007aff1a;border:1px solid #007aff33;border-radius:8px;align-self:flex-end;max-width:85%;padding:8px}.landing-features__ai-code{color:#e2e8f0b3;white-space:pre-wrap;background:#050a1f99;border:1px solid #007aff1a;border-radius:8px;flex:1;align-self:flex-start;max-width:90%;padding:8px;font-family:Fira Code,monospace;position:relative;overflow:hidden}.landing-features__ai-fade{background:linear-gradient(#0000,#050a1f);width:100%;height:32px;position:absolute;bottom:0;left:0}.landing-features__verify,.landing-features__assets{color:#e2e8f099;margin-top:8px;font-size:14px}.landing-comparison{background:#007aff0d;padding:96px 24px;position:relative}.landing-comparison__inner{max-width:1024px;margin:0 auto}.landing-comparison__header{text-align:center;margin-bottom:64px}.landing-comparison__title{margin-bottom:16px;font-size:24px;font-weight:700}@media (width>=768px){.landing-comparison__title{font-size:36px}}.landing-comparison__subtitle{color:#007aff;letter-spacing:.15em;font-family:Fira Code,monospace;font-size:14px}.landing-comparison__table{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#0a0f2499;border:1px solid #007aff33;border-radius:16px;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.landing-comparison__row{border-bottom:1px solid #007aff1a;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:4px;padding:16px 8px;transition:background .2s;display:grid}@media (width>=768px){.landing-comparison__row{gap:16px;padding:24px}}.landing-comparison__row:last-child{border-bottom:none}.landing-comparison__row:not(.landing-comparison__row--header):hover{background:#007aff0d}.landing-comparison__row--header{letter-spacing:.05em;background:#050a1fcc;border-bottom:1px solid #007aff33;padding:16px 8px;font-size:10px;font-weight:700}@media (width>=640px){.landing-comparison__row--header{font-size:12px}}@media (width>=768px){.landing-comparison__row--header{padding:16px 24px;font-size:14px}}.landing-comparison__row--header>div{color:#e2e8f080}.landing-comparison__highlight{white-space:nowrap;color:#0ff!important}.landing-comparison__cell-scene{font-size:10px;font-weight:500}@media (width>=640px){.landing-comparison__cell-scene{font-size:12px}}@media (width>=768px){.landing-comparison__cell-scene{font-size:14px}}.landing-comparison__cell-before{color:#e2e8f099;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;display:flex}@media (width>=640px){.landing-comparison__cell-before{flex-direction:row;font-size:12px}}@media (width>=768px){.landing-comparison__cell-before{gap:8px;font-size:14px}}.landing-comparison__cell-after{color:#007aff;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;font-weight:700;display:flex}@media (width>=640px){.landing-comparison__cell-after{flex-direction:row;font-size:12px}}@media (width>=768px){.landing-comparison__cell-after{gap:8px;font-size:14px}}.landing-comparison__x{color:#ef4444;flex-shrink:0;width:12px;height:12px}@media (width>=768px){.landing-comparison__x{width:16px;height:16px}}.landing-comparison__check{color:#22c55e;flex-shrink:0;width:12px;height:12px}@media (width>=768px){.landing-comparison__check{width:16px;height:16px}}.landing-footer{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:96px 24px;display:flex;position:relative;overflow:hidden}.landing-footer__glow{opacity:.1;position:absolute;inset:0}.landing-footer__glow:before{content:"";filter:blur(120px);background:#007aff;border-radius:50%;width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.landing-footer__content{z-index:10;padding:0 24px;position:relative}.landing-footer__title{background:linear-gradient(90deg,#e2e8f0,#0ff,#007aff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:36px;font-weight:700}@media (width>=768px){.landing-footer__title{font-size:60px}}.landing-footer__subtitle{color:#007aff;letter-spacing:.2em;margin-bottom:48px;font-family:Fira Code,monospace;font-size:14px}.landing-footer__btn{color:#050a1f;cursor:pointer;background:#e2e8f0;border:none;padding:20px 40px;font-size:18px;font-weight:700;transition:background .2s;position:relative;overflow:hidden}.landing-footer__btn:hover{background:#fff}.landing-footer__btn-inner{align-items:center;gap:12px;display:flex}.landing-footer__btn-label{opacity:.6;font-family:Fira Code,monospace;font-size:12px}.landing-footer__btn-icon{width:20px;height:20px;transition:transform .2s}.landing-footer__btn:hover .landing-footer__btn-icon{transform:translate(4px)}.landing-footer__copy{color:#e2e8f066;border-top:1px solid #007aff1a;margin-top:128px;padding-top:32px;font-size:14px}.local-firmware-panel{background:#f8fafc;height:100%;padding:18px;overflow:auto}.local-firmware-panel__hero{background:linear-gradient(#fff 0%,#eff6ff 100%);border:1px solid #dbeafe;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.local-firmware-panel__eyebrow{color:#2563eb;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:900;display:inline-flex}.local-firmware-panel__hero h2{color:#0f172a;margin:0;font-size:22px;font-weight:900}.local-firmware-panel__hero p{color:#475569;margin:6px 0 0;font-size:13px;line-height:1.6}.local-firmware-panel__replace{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #bfdbfe;border-radius:8px;flex:none;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.local-firmware-panel__summary,.local-firmware-panel__warnings,.local-firmware-panel__ai-message,.local-firmware-panel__note{border-radius:8px;margin-top:12px;padding:12px 14px;font-size:13px;line-height:1.6}.local-firmware-panel__summary{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;align-items:center;gap:10px;display:flex}.local-firmware-panel__summary--medium{color:#92400e;background:#fffbeb;border-color:#fde68a}.local-firmware-panel__summary--low{color:#991b1b;background:#fef2f2;border-color:#fecaca}.local-firmware-panel__presets{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.local-firmware-panel__presets button{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-height:36px;padding:0 12px;font-size:12px;font-weight:800}.local-firmware-panel__presets button:hover:not(:disabled){color:#2563eb;background:#eff6ff;border-color:#60a5fa}.local-firmware-panel__presets button:disabled{opacity:.55;cursor:not-allowed}.local-firmware-panel__presets .local-firmware-panel__ai{color:#047857;background:#ecfdf5;border-color:#a7f3d0;align-items:center;gap:6px;display:inline-flex}.local-firmware-panel__warnings{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.local-firmware-panel__warnings p{margin:0}.local-firmware-panel__warnings p+p{margin-top:6px}.local-firmware-panel__ai-message{white-space:pre-wrap;color:#075985;background:#f0f9ff;border:1px solid #bae6fd}.local-firmware-panel__table{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:14px;overflow:hidden}.local-firmware-panel__row{color:#334155;border-top:1px solid #f1f5f9;grid-template-columns:minmax(180px,1fr) 92px 110px 120px;align-items:center;gap:10px;min-height:48px;padding:8px 12px;font-size:13px;display:grid}.local-firmware-panel__row:first-child{border-top:0}.local-firmware-panel__row--head{color:#64748b;background:#f8fafc;min-height:38px;font-size:12px;font-weight:900}.local-firmware-panel__row span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.local-firmware-panel__row input{color:#0f172a;border:1px solid #cbd5e1;border-radius:7px;outline:none;width:100%;height:34px;padding:0 9px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.local-firmware-panel__row input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.local-firmware-panel__note{color:#475569;background:#fff;border:1px solid #e2e8f0}@media (width<=760px){.local-firmware-panel__hero{flex-direction:column;align-items:stretch}.local-firmware-panel__row{grid-template-columns:1fr;gap:6px;padding:12px}.local-firmware-panel__row--head{display:none}}
