*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:271 79% 20%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:271 79% 20%;--radius:0.5rem}.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:271 79% 60%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:271 79% 60%}*{border-color:#e2e8f0;border-color:hsl(var(--border))}body{background-color:#fff;background-color:hsl(var(--background));color:#020817;color:hsl(var(--foreground))}.\!container{margin-left:auto!important;margin-right:auto!important;padding-left:2rem!important;padding-right:2rem!important;width:100%!important}.container{margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;width:100%}@media (min-width:1400px){.\!container{max-width:1400px!important}.container{max-width:1400px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-3{left:.75rem}.left-4{left:1rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-4{right:1rem}.top-1{top:.25rem}.top-4{top:1rem}.top-8{top:2rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem}.mb-1,.my-1{margin-bottom:.25rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[3\/2\]{aspect-ratio:3/2}.aspect-video{aspect-ratio:16/9}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[300px\]{height:300px}.h-\[600px\]{height:600px}.h-\[60px\]{height:60px}.h-\[90vh\]{height:90vh}.h-full{height:100%}.h-px{height:1px}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[100px\]{width:100px}.w-\[1200px\]{width:1200px}.w-\[1px\]{width:1px}.w-\[450px\]{width:450px}.w-\[900px\]{width:900px}.w-full{width:100%}.w-screen{width:100vw}.min-w-\[400px\]{min-width:400px}.min-w-\[48px\]{min-width:48px}.min-w-\[8rem\]{min-width:8rem}.max-w-2xl{max-width:42rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[80\%\]{max-width:80%}.max-w-\[90vw\]{max-width:90vw}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.rotate-90{--tw-rotate:90deg}.rotate-90,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.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))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem;border-radius:var(--radius)}.rounded-md{border-radius:calc(.5rem - 2px);border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(.5rem - 4px);border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-left-radius:.5rem;border-bottom-left-radius:var(--radius);border-bottom-right-radius:.5rem;border-bottom-right-radius:var(--radius)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-100{--tw-border-opacity:1;border-color:#dbeafe;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:#93c5fd;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-500\/50{border-color:#3b82f680}.border-border{border-color:#e2e8f0;border-color:hsl(var(--border))}.border-destructive\/50{border-color:#ef444480;border-color:hsl(var(--destructive)/.5)}.border-gray-100{--tw-border-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-100{--tw-border-opacity:1;border-color:#dcfce7;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:#22c55e;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-green-500\/50{border-color:#22c55e80}.border-indigo-100{--tw-border-opacity:1;border-color:#e0e7ff;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-input{border-color:#e2e8f0;border-color:hsl(var(--input))}.border-muted-foreground{border-color:#64748b;border-color:hsl(var(--muted-foreground))}.border-muted-foreground\/25{border-color:#64748b40;border-color:hsl(var(--muted-foreground)/.25)}.border-muted-foreground\/50{border-color:#64748b80;border-color:hsl(var(--muted-foreground)/.5)}.border-orange-100{--tw-border-opacity:1;border-color:#ffedd5;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.border-primary{border-color:#340b5b;border-color:hsl(var(--primary))}.border-primary\/20{border-color:#340b5b33;border-color:hsl(var(--primary)/.2)}.border-primary\/50{border-color:#340b5b80;border-color:hsl(var(--primary)/.5)}.border-purple-100{--tw-border-opacity:1;border-color:#f3e8ff;border-color:rgb(243 232 255/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:#fee2e2;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:#fca5a5;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-yellow-500\/50{border-color:#eab30880}.border-t-transparent{border-top-color:#0000}.bg-accent{background-color:#f1f5f9;background-color:hsl(var(--accent))}.bg-background{background-color:#fff;background-color:hsl(var(--background))}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-border{background-color:#e2e8f0;background-color:hsl(var(--border))}.bg-card{background-color:#fff;background-color:hsl(var(--card))}.bg-destructive{background-color:#ef4444;background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:#22c55e;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-muted{background-color:#f1f5f9;background-color:hsl(var(--muted))}.bg-muted\/20{background-color:#f1f5f933;background-color:hsl(var(--muted)/.2)}.bg-muted\/30{background-color:#f1f5f94d;background-color:hsl(var(--muted)/.3)}.bg-muted\/50{background-color:#f1f5f980;background-color:hsl(var(--muted)/.5)}.bg-orange-50{--tw-bg-opacity:1;background-color:#fff7ed;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-popover{background-color:#fff;background-color:hsl(var(--popover))}.bg-primary{background-color:#340b5b;background-color:hsl(var(--primary))}.bg-primary\/10{background-color:#340b5b1a;background-color:hsl(var(--primary)/.1)}.bg-primary\/20{background-color:#340b5b33;background-color:hsl(var(--primary)/.2)}.bg-primary\/5{background-color:#340b5b0d;background-color:hsl(var(--primary)/.05)}.bg-primary\/90{background-color:#340b5be6;background-color:hsl(var(--primary)/.9)}.bg-purple-50{--tw-bg-opacity:1;background-color:#faf5ff;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:#ef4444;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-secondary{background-color:#f1f5f9;background-color:hsl(var(--secondary))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/90{background-color:#ffffffe6}.bg-white\/95{background-color:#fffffff2}.bg-yellow-100{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-background\/90{--tw-gradient-from:hsl(var(--background)/0.9) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--background)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:#eff6ff00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-background\/0{--tw-gradient-to:hsl(var(--background)/0) var(--tw-gradient-to-position)}.to-indigo-100{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pt-0{padding-top:0}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.text-amber-500{--tw-text-opacity:1;color:#f59e0b;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-card-foreground{color:#020817;color:hsl(var(--card-foreground))}.text-destructive{color:#ef4444;color:hsl(var(--destructive))}.text-destructive-foreground{color:#f8fafc;color:hsl(var(--destructive-foreground))}.text-foreground{color:#020817;color:hsl(var(--foreground))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:#22c55e;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:#4f46e5;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-900{--tw-text-opacity:1;color:#312e81;color:rgb(49 46 129/var(--tw-text-opacity,1))}.text-muted-foreground{color:#64748b;color:hsl(var(--muted-foreground))}.text-orange-600{--tw-text-opacity:1;color:#ea580c;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-popover-foreground{color:#020817;color:hsl(var(--popover-foreground))}.text-primary{color:#340b5b;color:hsl(var(--primary))}.text-primary-foreground{color:#f8fafc;color:hsl(var(--primary-foreground))}.text-purple-600{--tw-text-opacity:1;color:#9333ea;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-secondary-foreground{color:#0f172a;color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/90{color:#ffffffe6}.text-yellow-700{--tw-text-opacity:1;color:#a16207;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:#854d0e;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px)}.blur,.invert{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)}.invert{--tw-invert:invert(100%)}.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-sm{--tw-backdrop-blur:blur(4px);-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-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:initial}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::placeholder{color:#64748b;color:hsl(var(--muted-foreground))}.last\:hidden:last-child{display:none}.last\:pb-0:last-child{padding-bottom:0}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-muted-foreground\/50:hover{border-color:#64748b80;border-color:hsl(var(--muted-foreground)/.5)}.hover\:border-primary:hover{border-color:#340b5b;border-color:hsl(var(--primary))}.hover\:border-primary\/50:hover{border-color:#340b5b80;border-color:hsl(var(--primary)/.5)}.hover\:bg-accent:hover{background-color:#f1f5f9;background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:#ef4444e6;background-color:hsl(var(--destructive)/.9)}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:#15803d;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-muted\/50:hover{background-color:#f1f5f980;background-color:hsl(var(--muted)/.5)}.hover\:bg-primary\/5:hover{background-color:#340b5b0d;background-color:hsl(var(--primary)/.05)}.hover\:bg-primary\/90:hover{background-color:#340b5be6;background-color:hsl(var(--primary)/.9)}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-secondary\/80:hover{background-color:#f1f5f9cc;background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:#0f172a;color:hsl(var(--accent-foreground))}.hover\:text-amber-600:hover{--tw-text-opacity:1;color:#d97706;color:rgb(217 119 6/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-green-600:hover{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.hover\:text-indigo-800:hover{--tw-text-opacity:1;color:#3730a3;color:rgb(55 48 163/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow-sm:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.focus\:bg-accent:focus{background-color:#f1f5f9;background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:#0f172a;color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid #0000;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-primary{background-color:#340b5b;background-color:hsl(var(--primary))}.group:hover .group-hover\:bg-primary\/20{background-color:#340b5b33;background-color:hsl(var(--primary)/.2)}.group:hover .group-hover\:text-primary-foreground{color:#f8fafc;color:hsl(var(--primary-foreground))}.group:hover .group-hover\:opacity-100{opacity:1}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem}.data-\[state\=checked\]\:translate-x-5[data-state=checked],.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:#fff;background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:#340b5b;background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:#f1f5f9;background-color:hsl(var(--accent))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:#e2e8f0;background-color:hsl(var(--input))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:#020817;color:hsl(var(--foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:#64748b;color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-duration:.15s;animation-name:exit}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.dark\:border-blue-500:is(.dark *){--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.dark\:border-destructive:is(.dark *){border-color:#ef4444;border-color:hsl(var(--destructive))}.dark\:border-green-500:is(.dark *){--tw-border-opacity:1;border-color:#22c55e;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.dark\:border-yellow-500:is(.dark *){--tw-border-opacity:1;border-color:#eab308;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}@media (min-width:640px){.sm\:inline{display:inline}.sm\:w-\[280px\]{width:280px}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\:rounded-lg{border-radius:.5rem;border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:text-blue-600>svg{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.\[\&\>svg\]\:text-destructive>svg{color:#ef4444;color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:#020817;color:hsl(var(--foreground))}.\[\&\>svg\]\:text-green-600>svg{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.\[\&\>svg\]\:text-yellow-600>svg{--tw-text-opacity:1;color:#ca8a04;color:rgb(202 138 4/var(--tw-text-opacity,1))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}:root{--primary-color:#06f;--text-color:#333;--error-color:#f44;--border-color:#e5e5e5;--background-color:#fff;--violet-primary:#470b59}.auth-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-content{display:flex;flex-direction:column;gap:2rem;max-width:480px;width:100%}.auth-header{text-align:center}.auth-header h1{color:#333;color:var(--text-color);font-size:48px;font-weight:400;line-height:1.2;margin-bottom:1rem}.auth-header h1 strong{font-weight:700}.auth-header p{color:#666;font-size:18px;margin:0}.auth-box{background-color:#fff;background-color:var(--background-color);border:2px solid #470b59;border:2px solid var(--violet-primary);border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.auth-toggle{border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.toggle-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1rem;padding:.5rem 1rem;position:relative;transition:color .3s}.toggle-btn.active{color:#470b59;color:var(--violet-primary);font-weight:600}.toggle-btn.active:after{background-color:#470b59;background-color:var(--violet-primary);bottom:-1rem;content:"";height:2px;left:0;position:absolute;width:100%}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;color:var(--text-color);display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid #e5e5e5;border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;font-size:1rem;padding:.875rem;transition:all .3s;width:100%}.form-group input:focus{border-color:#470b59;border-color:var(--violet-primary);box-shadow:0 0 0 3px #470b591a;outline:none}.form-group .input-hint,.form-group .password-requirements{color:#666;font-size:.875rem;margin-top:.5rem}.form-group .password-requirements{list-style-type:none;padding-left:1.25rem}.form-group .password-requirements li{margin-bottom:.25rem;position:relative}.form-group .password-requirements li:before{content:"•";left:-1rem;position:absolute}.form-group .password-requirements li.met{color:#2da44e}.auth-button{background-color:#470b59;background-color:var(--violet-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.875rem;transition:background-color .3s;width:100%}.auth-button:hover{background-color:#5c0c73}.auth-button:disabled{background-color:#ccc;cursor:not-allowed}.auth-button.loading{position:relative}.auth-button.loading:after{animation:spin 1s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;content:"";height:1rem;margin-left:.5rem;position:absolute;width:1rem}.error-message{background-color:#ff44441a;border-radius:6px;color:#f44;color:var(--error-color);font-size:.875rem;margin-bottom:1.5rem;padding:.75rem}.google-auth-button{align-items:center;background-color:#fff;border:1px solid #dadce0;border-radius:6px;box-shadow:0 1px 2px #0000000d;box-sizing:border-box;color:#3c4043;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.75rem;height:48px;justify-content:center;margin-bottom:1.5rem;padding:.875rem;transition:all .3s;width:100%}.google-auth-button:hover{background-color:#f8f9fa;border-color:#dadce0;box-shadow:0 1px 3px #0000001a}.google-auth-button:active{background-color:#f1f3f4}.google-auth-button:disabled{background-color:#f1f3f4;cursor:not-allowed;opacity:.7}.google-auth-button.loading{color:#0000;position:relative}.google-auth-button.loading:after{animation:spin 1s linear infinite;border:2px solid #3c4043;border-radius:50%;border-top-color:#0000;content:"";height:1rem;position:absolute;width:1rem}.google-icon{flex-shrink:0;height:18px;width:18px}.auth-separator{align-items:center;display:flex;margin-bottom:1.5rem;text-align:center}.auth-separator:after,.auth-separator:before{border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--border-color);content:"";flex:1 1}.auth-separator span{color:#666;font-size:.875rem;padding:0 1rem;text-transform:uppercase}@media (max-width:480px){.auth-container{display:block;min-height:auto;padding:1rem}.auth-content{gap:1.5rem;padding-top:1.5rem}.auth-box{padding:1.25rem}.auth-header h1{font-size:36px;margin-bottom:.75rem}.auth-header p{font-size:1rem}.form-group{margin-bottom:1rem}.form-group input{font-size:16px;padding:.75rem}.google-auth-button{font-size:.875rem;margin-bottom:1rem;padding:.75rem}.auth-separator{margin-bottom:1rem}.auth-toggle{margin-bottom:1.5rem}}.password-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.forgot-password-btn{background:none;border:none;color:#470b59;color:var(--violet-primary);cursor:pointer;font-size:.875rem;padding:0;text-decoration:none;transition:opacity .3s}.forgot-password-btn:hover{opacity:.8}.forgot-password-btn:disabled{cursor:not-allowed;opacity:.5}.success-message{background-color:#2da44e1a;border-radius:6px;color:#2da44e;font-size:.875rem;margin-bottom:1.5rem;padding:.75rem}:root{--green-500:#45503b;--violet-primary-normal:#470b59;--brown-600:#30070d;--brown-50:#ebe6e7;--green-400:#6a7362;--violet-light-100:#ebe6e7}.section_start{overflow:hidden}.padding-global{padding:2rem}.padding-section-medium{padding-bottom:4rem;padding-top:2rem}.container-medium{display:flex;flex-direction:column;gap:3rem;margin:0 auto;max-width:1200px;width:100%}.section-header{margin-bottom:0;margin-top:0;text-align:center}.section-header h1{color:var(--text-color);font-size:48px;font-weight:400;line-height:1.2;margin-bottom:1rem}.section-header h1 strong{font-weight:700}.margin-bottom-2{margin-left:0;margin-right:0;margin-top:0}.margin-large{margin:3rem}.header_subtext{color:#666;font-size:18px;font-weight:400;line-height:1.5;margin:0}.final_layout{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.pricing_layout{flex:1 1;max-width:400px;min-width:300px}.pricing_card{border:2px solid #470b59;border:2px solid var(--violet-primary-normal);border-radius:1rem;box-shadow:0 2px 10px #0003;padding:2rem;text-align:left}.margin-top{margin-top:1.5rem}.margin-small{margin-top:1rem}.flex{display:flex}.flex.align_center{align-items:baseline;justify-content:flex-start;margin:0;padding:0}.dollar,.number{font-size:4rem;font-weight:700;line-height:1;margin:0;padding:0}.text-size-medium{font-size:1.25rem;line-height:1.2;margin:0;padding:0}.prcing_permonth_text{color:#666;margin-left:4px;padding-bottom:.2rem}.margin-xxsmall{margin-top:.5rem}.button{background:#470b59;background:var(--violet-primary-normal);border:none;border-radius:.625rem;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:1.5rem;padding:1rem 2rem;text-decoration:none;transition:background .3s ease;width:100%}.button,.button.is-fullwidth{display:block;text-align:center}.button.is-fullwidth.is-monthly{display:none}.button.is-cta{background-image:linear-gradient(229deg,#8719a8 3%,#470b59 27%,#470b59 66%,#30070d 98%);background-image:linear-gradient(229deg,#8719a8 3%,var(--violet-primary-normal) 27%,var(--violet-primary-normal) 66%,var(--brown-600) 98%);box-shadow:0 2px 5px #0003}.header-benefit_list{list-style:none;margin:2rem 0 0;padding:0}.header-benefits_list-item{align-items:center;background-image:url(/static/media/checkmark.721f5270874a1f607d33.svg);background-position:0;background-repeat:no-repeat;background-size:24px 24px;color:#45503b;color:var(--green-500);display:flex;font-size:16px;height:24px;line-height:24px;list-style-type:none;margin:0 0 .5em;padding:.5rem 0 .5rem 2em}.benefit_list__spacing-medium{margin-top:1.5rem}.billed_yearly{display:block}.billed__monthly,.billed_yearly{color:#666;font-size:14px;margin-top:.5rem;padding:0}.billed__monthly,.hide{display:none}@media (max-width:768px){.padding-global{padding:1rem}.padding-section-medium{padding-bottom:3rem;padding-top:1.5rem}.container-medium{gap:2rem}.pricing_layout{min-width:100%}.section-header h1{font-size:36px;margin-bottom:.75rem}.header_subtext{font-size:1rem}.pricing_card{padding:1.25rem}}.button.loading{color:#0000;position:relative}.button.loading:after{animation:spin 1s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;content:"";height:1rem;left:calc(50% - .5rem);position:absolute;top:calc(50% - .5rem);width:1rem}.button:disabled{cursor:not-allowed;opacity:.7}.loading-container{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;text-align:center}.loading-spinner{animation:spin 1s ease-in-out infinite;border:5px solid #0000001a;border-top-color:#007bff;height:50px;margin-bottom:20px;width:50px}.error-message{color:#dc3545;font-weight:700;margin-top:15px;text-align:center}.popular_badge{background-color:#f8b500;border-radius:4px;color:#fff;font-size:12px;font-weight:700;padding:5px 10px;position:absolute;right:20px;top:-10px}.popular_plan{border:2px solid #f8b500;box-shadow:0 8px 16px #0000001a;position:relative}:root{--color-primary:#470b59;--color-secondary:#666;--color-background:#fff;--color-surface:#f5f5f5;--color-border:#e0e0e0;--color-text-primary:#333;--color-text-secondary:#666;--color-text-disabled:#999;--color-control-point:#ff4081;--color-control-point-hover:#ff1744;--font-secondary:"Figtree",system-ui,-apple-system,sans-serif;--font-monospace:Consolas,monospace;--font-size-small:12px;--font-size-medium:14px;--font-size-large:16px;--font-size-xlarge:18px;--opacity-semi-transparent:0.3;--opacity-semi-opaque:0.7}.pattern-editor{background:#fff;background:var(--color-background);border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex:1 1;flex-direction:column;font-family:Figtree,system-ui,-apple-system,sans-serif;font-family:var(--font-primary);height:100vh;overflow:hidden;position:relative}.drawing-area{background-color:#fff;background-color:var(--color-background)}.drawing-area svg{height:100%;left:0;pointer-events:all;position:absolute;top:0;width:100%}.drawing-area svg *{transform-origin:0 0}.drawing-area.panning{cursor:grabbing}.ruler{background:#f5f5f5;background:var(--color-surface);box-sizing:border-box;display:none;position:absolute;z-index:10}.ruler.horizontal{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);height:30px;left:30px;right:0;top:64px}.ruler.horizontal,.ruler.vertical{border-right:1px solid #e0e0e0;border-right:1px solid var(--color-border)}.ruler.vertical{bottom:0;left:0;top:94px;width:30px}.ruler-corner{background:#f5f5f5;background:var(--color-surface);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);border-right:1px solid #e0e0e0;border-right:1px solid var(--color-border);box-sizing:border-box;display:none}.zoom-controls{bottom:20px;display:flex;flex-direction:column;gap:8px;position:fixed;right:20px;z-index:1000}.zoom-button{align-items:center;background:#fff;background:var(--color-background);border:none;border-radius:4px;box-shadow:0 2px 4px #0000001a;color:#333;color:var(--color-text-primary);cursor:pointer;display:flex;font-size:16px;font-size:var(--font-size-large);height:32px;justify-content:center;transition:all .2s ease;width:32px}.zoom-button:hover{background:#f5f5f5;background:var(--color-surface);box-shadow:0 3px 6px #00000026;transform:translateY(-1px)}.zoom-button:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.loading-indicator{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;border-radius:12px;box-shadow:0 4px 12px #0000001a;color:#666;font-size:14px;gap:1.5rem;min-width:300px;padding:1.5rem 2rem}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #666;border:3px solid var(--color-text-secondary);border-top:3px solid #0000;height:24px;width:24px}.loading-content{flex-grow:1;gap:.5rem}.loading-message{color:#333;color:var(--color-text-primary);font-weight:500}.loading-stage{color:#666;color:var(--color-text-secondary);font-size:12px;font-size:var(--font-size-small);text-transform:capitalize}.grid{pointer-events:none}.control-point{cursor:pointer;pointer-events:all;transform-box:fill-box;transform-origin:center;transition:transform .2s ease}.control-point.dragging{pointer-events:none;transition:none!important}.control-point.bezier.dragging,.control-point.bezier.hovered,.control-point.corner.dragging,.control-point.corner.hovered{transform:scale(1.3)}.drawing-area.dragging{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.drawing-area svg .points-layer{pointer-events:all}.function-buttons{align-items:stretch;background:#fff;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);display:flex;font-family:Figtree,system-ui,-apple-system,sans-serif;font-family:var(--font-primary);justify-content:space-between;padding:16px}.button-group{display:flex;gap:8px}.function-button{align-items:center;background:#fff;background:var(--color-background);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;color:#333;color:var(--color-text-primary);cursor:pointer;display:inline-flex;font-family:Figtree,system-ui,-apple-system,sans-serif;font-family:var(--font-primary);font-size:14px;font-size:var(--font-size-medium);font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease}.function-button svg{height:20px;width:20px}.function-button.primary{background:#470b59;background:var(--color-primary);color:#fff}.function-button.primary,.function-button:hover{border-color:#470b59;border-color:var(--color-primary)}.function-button:hover{background:#f5f5f5;background:var(--color-surface);color:#470b59;color:var(--color-primary)}.function-button.primary:hover{background:#470b59;background:var(--color-primary);border-color:#470b59;border-color:var(--color-primary);color:#fff}.browser-warning-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.browser-warning-content{background-color:#fff;border-radius:12px;box-shadow:0 8px 20px #00000026;max-width:450px;padding:2rem;position:relative;text-align:center}.browser-warning-content h2{align-items:center;color:#e65100;display:flex;font-size:1.5rem;gap:.5rem;justify-content:center;margin:0 0 1rem}.browser-warning-content p{color:#424242;font-size:1.1rem;line-height:1.6;margin:0 0 1.5rem}.close-button{border-radius:50%;color:#757575;height:2.5rem;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:2.5rem}.close-button:hover{background-color:#f5f5f5;color:#424242}.dismiss-button{background-color:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.8rem 1.5rem;transition:background-color .2s ease}.dismiss-button:hover{background-color:#1976d2}@media (max-width:480px){.browser-warning-content{margin:1rem;padding:1.5rem}.browser-warning-content p{font-size:1rem}}.navbar-container{display:flex;justify-content:space-between;left:0;padding:0 .5rem;pointer-events:none;position:fixed;right:0;top:1rem;z-index:10}.navbar-left-container{align-items:center;display:flex;gap:.75rem;margin-left:.5rem;pointer-events:auto}.navbar-center-container{left:50%;pointer-events:auto;position:absolute;transform:translateX(-50%)}.navbar-group{align-items:center;background-color:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;gap:2px;padding:.375rem;pointer-events:auto}.navbar-group:last-child{margin-right:.5rem}@media (max-width:640px){.navbar-container{align-items:center;flex-direction:column;gap:.5rem}.navbar-left-container{display:flex;flex-direction:column;gap:.5rem;margin-left:0;max-width:400px;width:100%}.navbar-group{justify-content:center;width:100%}.border-r{display:none}}.shortcut-container{opacity:1;transform:translateY(0);transition:all .3s cubic-bezier(.25,.46,.45,.94)}.shortcut-container.animating-container{animation:fadeIn .4s ease}.shortcut-card{width:380px}.shortcut-card-more{animation:slideIn .3s cubic-bezier(.25,.46,.45,.94);width:320px}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.shortcut-hint-button{transition:all .2s ease}.shortcut-hint-button:hover{transform:translateY(-1px)}.shortcut-hint-button.animating{animation:softPulse .4s ease}@keyframes softPulse{0%{transform:scale(1)}50%{opacity:.9;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}.key-shortcut,.option-function{align-items:center;background-color:#fff;border:1px solid #eee;border-radius:12px;display:flex;gap:1.2rem;padding:.85rem 1.2rem;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.key-shortcut.highlighted,.option-function.highlighted{background-color:#fff;border-color:#470b59;box-shadow:0 4px 12px #470b5914;transform:translateY(-1px)}.option-illustration{align-items:center;background-color:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 2px 6px #0000000a;display:flex;flex-shrink:0;height:52px;justify-content:center;min-width:80px;overflow:hidden;padding:0;width:80px}.option-illustration img{object-fit:contain;opacity:.8;transition:all .2s ease}.highlighted .option-illustration img{opacity:1}.line-to-curve{align-items:center;display:flex;flex-direction:column;width:100%}.line-to-curve .line{background-color:#333;height:2px;margin-bottom:5px;width:60%}.line-to-curve .arrow{color:#470b59;font-size:1rem;margin-bottom:5px}.line-to-curve .curve{border-bottom:2px solid #333;border-radius:50%;height:10px;width:60%}.point-remove{height:100%;position:relative;width:100%}.point-remove .point{background-color:#470b59;border-radius:50%;height:10px;width:10px}.point-remove .point,.point-remove .point-x{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.point-remove .point-x{color:#e63946;font-size:1.8rem;font-weight:700}.point-add{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.line-with-point{position:relative;width:70%}.line-with-point .line{background-color:#333;height:2px;width:100%}.line-with-point .new-point{color:#2a9d8f;font-size:1.5rem;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.key-description,.option-description{flex:1 1;padding-left:.5rem}.key-description h4,.option-description h4{color:#222;font-size:.95rem;font-weight:600;letter-spacing:-.01em;margin:0 0 .25rem;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.highlighted .key-description h4,.highlighted .option-description h4{color:#470b59}.key-description p,.option-description p{color:#666;font-size:.85rem;margin:0;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.highlighted .key-description p,.highlighted .option-description p{color:#8e44ad}.loading-navbar-container{display:flex;justify-content:center;left:0;padding:0 .5rem;pointer-events:none;position:fixed;right:0;top:1rem;z-index:20}.loading-navbar-group{align-items:center;animation:slideDown .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#fffffff2;border:1px solid #edededcc;border-radius:.75rem;box-shadow:0 8px 16px -2px #0000001a,0 4px 8px -2px #0000000f;display:flex;gap:1.4rem;padding:0 1.25rem;pointer-events:auto;transform:translateY(0);transition:all .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.loading-navbar-group:hover{box-shadow:0 12px 20px -4px #00000026,0 6px 10px -4px #0000001a}.loading-spinner{animation:spin .8s cubic-bezier(.55,.15,.45,.85) infinite;border:2.5px solid #470b5926;border-radius:50%;border-top-color:#470b59;box-shadow:0 0 8px #470b5933;flex-shrink:0;height:1.25rem;margin-top:1rem;width:1.25rem}.loading-content{display:flex;flex-direction:column;gap:.2rem}.loading-text{animation:pulse 2s infinite;color:#333;font-size:.95rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.loading-subtext{color:#666;font-size:.75rem;font-weight:400;letter-spacing:.01em;opacity:.75}@keyframes pulse{0%{opacity:.9}50%{opacity:1}to{opacity:.9}}@media (max-width:640px){.loading-navbar-container{top:5rem}.loading-navbar-group{max-width:calc(100% - 2rem);padding:.5rem 1rem}.loading-text{font-size:.85rem}.loading-subtext{font-size:.7rem}}.zoom-rotation-controls{bottom:1rem;pointer-events:none;position:fixed;right:1rem;z-index:10}.controls-group{align-items:center;background-color:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;gap:2px;padding:.375rem;pointer-events:auto;transition:box-shadow .2s ease,transform .2s ease}.controls-group:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-1px)}.control-button{border-radius:.375rem;padding:.75rem;transition:all .15s ease}.control-button:hover{background-color:#470b590d}.control-button:active{transform:scale(.95)}@media (max-width:768px){.zoom-rotation-controls{bottom:.5rem;right:.5rem}.controls-group{gap:1px;padding:.25rem}.control-button{padding:.625rem}}.settings-overlay{background-color:#0003;bottom:0;display:flex;justify-content:flex-end;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease;visibility:hidden;z-index:9999}.settings-overlay.visible{opacity:1;visibility:visible}.settings-modal{background:#f8f9fa;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;height:100vh;position:relative;transform:translateX(100%);transition:transform .3s ease;width:360px;z-index:10000}.settings-modal.visible{transform:translateX(0)}.settings-header{align-items:center;background:#fff;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:16px;position:sticky;top:0;z-index:1}.settings-header h2{color:#470b59;font-size:1.25rem;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:all .2s;width:32px}.close-button:hover{background:#f5f5f5;color:#333}.settings-content{flex:1 1;overflow-y:auto;padding:16px;scrollbar-color:#ddd #0000;scrollbar-width:thin}.settings-content::-webkit-scrollbar{width:6px}.settings-content::-webkit-scrollbar-track{background:#0000}.settings-content::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:3px}.settings-section{background:#fff;border:1px solid #eee;border-radius:12px;margin-bottom:16px;padding:16px}.settings-section:last-child{margin-bottom:0}.settings-section h3{align-items:center;color:#470b59;display:flex;font-size:1rem;font-weight:600;gap:8px;margin:0 0 16px}.setting-item{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.setting-item:last-child{margin-bottom:0}.setting-item label{color:#666;font-size:.9rem;font-weight:500}.setting-item-controls{align-items:center;display:flex;gap:12px;min-height:60px}.setting-item-preview{align-items:center;display:flex;flex-shrink:0}.setting-item input[type=color]{background:#fff;border:2px solid #eee;border-radius:8px;cursor:pointer;height:42px;padding:2px;transition:border-color .2s;width:42px}.setting-item input[type=color]:hover{border-color:#111184}.setting-item input[type=range]{-webkit-appearance:none;background:#eee;border-radius:3px;flex:1 1;height:6px;min-width:120px;outline:none;transition:background .2s}.setting-item input[type=range]:hover{background:#ddd}.setting-item input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#470b59;border:none;border-radius:50%;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:18px;-webkit-transition:transform .2s,background .2s;transition:transform .2s,background .2s;width:18px}.setting-item input[type=range]::-webkit-slider-thumb:hover{background:#470b59;transform:scale(1.1)}.setting-item span{font-feature-settings:"tnum";color:#666;font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:500;min-width:48px;text-align:right}.setting-item input[type=checkbox]{border:2px solid #eee;border-radius:4px;cursor:pointer;height:20px;transition:all .2s;width:20px}.setting-item input[type=checkbox]:checked{background-color:#111184;border-color:#111184}.settings-footer{background:var(--bg-secondary);border-radius:0 0 var(--button-radius) var(--button-radius);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 24px}.settings-footer button{border-radius:var(--button-radius);cursor:pointer;font-size:14px;padding:var(--button-padding);transition:all var(--transition-speed) ease}.settings-footer .function-button{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:var(--button-padding)}.settings-footer .function-button:hover{background:var(--bg-secondary)}.settings-footer .function-button.primary{background:var(--primary-color);border-color:var(--primary-border);color:#fff}.settings-footer .function-button.primary:hover{background:var(--primary-hover)}.reset-button{background:#fff0f0;border:1px solid #ffcdd2!important;color:#dc3545}.reset-button:hover{background:#dc3545;border-color:#dc3545!important;color:#fff}.cancel-button{background:#fff;border:1px solid #eee!important;color:#666;padding:10px 20px}.cancel-button:hover{background:#f5f5f5;color:#333}.settings-preview{align-items:center;background:#fafafa;border:1px solid #eee;border-radius:8px;display:flex;justify-content:center;margin-bottom:16px;padding:8px}.billing-button{background:var(--violet-primary-normal);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.billing-button:hover:not(:disabled){background:#5c0c73}.billing-button:disabled{cursor:not-allowed;opacity:.7}.billing-button.loading{color:#0000;position:relative}.billing-button.loading:after{animation:spin 1s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;content:"";height:1rem;left:calc(50% - .5rem);position:absolute;top:calc(50% - .5rem);width:1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%,-35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%,-35%)}[data-sonner-toaster]{--gray1:#fcfcfc;--gray2:#f8f8f8;--gray3:#f3f3f3;--gray4:#ededed;--gray5:#e8e8e8;--gray6:#e2e2e2;--gray7:#dbdbdb;--gray8:#c7c7c7;--gray9:#8f8f8f;--gray10:#858585;--gray11:#6f6f6f;--gray12:#171717;--border-radius:8px;box-sizing:border-box;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;list-style:none;margin:0;outline:none;padding:0;position:fixed;transition:transform .4s ease;width:var(--width);z-index:999999999}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift)*var(--gap));box-sizing:border-box;opacity:0;outline:none;overflow-wrap:anywhere;position:absolute;touch-action:none;transform:var(--y);transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;z-index:var(--z-index)}[data-sonner-toast][data-styled=true]{align-items:center;background:var(--normal-bg);border:1px solid var(--normal-border);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;color:var(--normal-text);display:flex;font-size:13px;gap:6px;padding:16px;width:var(--width)}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{--y:translateY(-100%);--lift:1;--lift-amount:calc(var(--gap)*1);top:0}[data-sonner-toast][data-y-position=bottom]{--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift)*var(--gap));bottom:0}[data-sonner-toast][data-styled=true] [data-description]{color:#3f3f3f;font-weight:400;line-height:1.4}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{color:inherit;font-weight:500;line-height:1.5}[data-sonner-toast][data-styled=true] [data-icon]{align-items:center;display:flex;flex-shrink:0;height:16px;justify-content:flex-start;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end);position:relative;width:16px}[data-sonner-toast][data-promise=true] [data-icon]>svg{animation:sonner-fade-in .3s ease forwards;opacity:0;transform:scale(.8);transform-origin:center}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{align-items:center;background:var(--normal-text);border:none;border-radius:4px;color:var(--normal-bg);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:500;height:24px;margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);outline:none;padding-left:8px;padding-right:8px;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{background:#00000014;color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:#ffffff4d}[data-sonner-toast][data-styled=true] [data-close-button]{align-items:center;background:var(--normal-bg);border:1px solid var(--gray4);border-radius:50%;color:var(--gray12);cursor:pointer;display:flex;height:20px;justify-content:center;left:var(--toast-close-button-start);padding:0;position:absolute;right:var(--toast-close-button-end);top:0;transform:var(--toast-close-button-transform);transition:opacity .1s,background .2s,border-color .2s;width:20px;z-index:1}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";height:100%;left:-100%;position:absolute;right:-100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";inset:0;position:absolute;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]:after{bottom:100%;content:"";height:calc(var(--gap) + 1px);left:0;position:absolute;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount)*var(--toasts-before))) scale(calc(var(--scale)*-1));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift)*var(--offset)));height:var(--auto-height);height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift)*-100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift)*var(--offset) + var(--lift)*-100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--auto-height) + 20%);height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(0) translateX(0);transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-fill-mode:forwards;animation-timing-function:ease-out}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{opacity:1;transform:var(--y) translateX(var(--swipe-amount-x))}to{opacity:0;transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%))}}@keyframes swipe-out-right{0%{opacity:1;transform:var(--y) translateX(var(--swipe-amount-x))}to{opacity:0;transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%))}}@keyframes swipe-out-up{0%{opacity:1;transform:var(--y) translateY(var(--swipe-amount-y))}to{opacity:0;transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%))}}@keyframes swipe-out-down{0%{opacity:1;transform:var(--y) translateY(var(--swipe-amount-y))}to{opacity:0;transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%))}}@media (max-width:600px){[data-sonner-toaster]{left:var(--mobile-offset-left);position:fixed;right:var(--mobile-offset-right);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left)*-1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left)*2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:#ecfdf3;--success-border:#bffcd9;--success-text:#008a2e;--info-bg:#f0f8ff;--info-border:#dde7fd;--info-text:#0973dc;--warning-bg:#fffcf0;--warning-border:#fbeeb1;--warning-text:#dc7609;--error-bg:#fff0f0;--error-border:#ffe0e1;--error-text:#e60000}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:#333;--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:#1f1f1f;--normal-border:#333;--normal-border-hover:#404040;--normal-text:var(--gray1);--success-bg:#001f0f;--success-border:#003d1c;--success-text:#59f3a6;--info-bg:#000d1f;--info-border:#19233e;--info-text:#5896f3;--warning-bg:#1d1f00;--warning-border:#2e2e00;--warning-text:#f3cf58;--error-bg:#2d0607;--error-border:#4d0408;--error-text:#ff9ea1}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);inset:0;position:absolute;width:var(--size);z-index:10}.sonner-loading-wrapper[data-visible=false]{animation:sonner-fade-out .2s ease forwards;transform-origin:center}.sonner-spinner{height:var(--size);left:50%;position:relative;top:50%;width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{animation:none!important;transition:none!important}}.sonner-loader{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}@font-face{font-family:Figtree;font-style:normal;font-weight:100 900;src:url(/static/media/Figtree-VariableFont_wght.3b7241337f5a40f5f82a.ttf) format("truetype")}@font-face{font-family:Figtree;font-style:italic;font-weight:100 900;src:url(/static/media/Figtree-Italic-VariableFont_wght.e7a1bfcde0fc848e3966.ttf) format("truetype")}:root{--font-primary:"Figtree",system-ui,-apple-system,sans-serif;--bg-primary:#fff;--bg-secondary:#f8f9fa;--border-color:#dee2e6}body{font-family:var(--font-primary)}.App,body{background-color:#f8f9fa;background-color:var(--bg-secondary);margin:0;padding:0}.App{align-items:center;box-sizing:border-box;height:100vh;justify-content:center;width:100vw}.App,.main-container{display:flex;overflow:hidden}.main-container{background:#fff;background:var(--bg-primary);border-radius:8px;box-shadow:0 4px 6px #0000001a;flex-direction:column;height:80vh;margin:auto;max-height:80vh;max-width:80vw;position:relative;width:80vw}.ruler-horizontal{border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);height:30px;left:30px;right:0;top:64px}.ruler-horizontal,.ruler-vertical{background:#f8f9fa;background:var(--bg-secondary);position:absolute;z-index:10}.ruler-vertical{border-right:1px solid #dee2e6;border-right:1px solid var(--border-color);bottom:0;display:flex;justify-content:flex-end;left:0;top:94px;width:30px}.ruler-vertical svg{height:100%;overflow:visible;width:100%}.ruler-vertical line{vector-effect:non-scaling-stroke;shape-rendering:crispEdges}.ruler-corner{background:#f8f9fa;background:var(--bg-secondary);border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);border-right:1px solid #dee2e6;border-right:1px solid var(--border-color);height:30px;left:0;position:absolute;top:64px;width:30px;z-index:10}.drawing-area{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-color);cursor:default;flex:1 1;height:100%;margin-left:0;margin-top:0;overflow:hidden;position:relative;width:100%}.drawing-area.panning{cursor:grab}.drawing-area.panning:active{cursor:grabbing}.ruler-horizontal line,.ruler-vertical line{vector-effect:non-scaling-stroke;shape-rendering:crispEdges}.ruler-horizontal svg,.ruler-vertical svg{height:100%;width:100%}.loading-indicator{align-items:center;background:rgba(255,255,255,var(--opacity-semi-opaque));color:var(--color-text-secondary);display:flex;font-size:var(--font-size-medium);gap:.5rem;left:50%;padding:1rem 2rem;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1000}.loading-indicator,.login-container{border-radius:8px;box-shadow:0 2px 4px #0000001a}.login-container{background:#fff;margin:100px auto;max-width:400px;padding:20px}.login-container h2{color:#333;margin-bottom:20px;text-align:center}.login-container form{display:flex;flex-direction:column;gap:15px}.login-container form div{display:flex;flex-direction:column;gap:5px}.login-container label{color:#666;font-size:14px}.login-container input{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:8px 12px}.login-container button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px;transition:background-color .2s}.login-container button:hover{background:#0056b3}.login-container button[type=button]{background:#6c757d}.login-container button[type=button]:hover{background:#5a6268}.error{background:#f8d7da;border-radius:4px;color:#dc3545;font-size:14px;margin-bottom:15px;padding:10px}.user-info{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:10px 20px}.user-info span{color:#666}.user-info button{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:6px 12px}.user-info button:hover{background:#c82333}.pattern-analyzer{background:#f8f9fa;min-height:100vh}