@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-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-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-duration:initial;--tw-ease:initial}}}@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-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-900:oklch(39.6% .141 25.723);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--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-emerald-500:oklch(69.6% .17 162.48);--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-900:oklch(37.9% .146 265.522);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--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-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-4xl:56rem;--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: 1.5 ;--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: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--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;--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%;-moz-tab-size:4;-o-tab-size:4;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;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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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}.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-y-0{inset-block:calc(var(--spacing)*0)}.-top-2{top:calc(var(--spacing)*-2)}.top-1{top:calc(var(--spacing)*1)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.-right-2{right:calc(var(--spacing)*-2)}.right-0{right:calc(var(--spacing)*0)}.right-4{right:calc(var(--spacing)*4)}.bottom-24{bottom:calc(var(--spacing)*24)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.z-40{z-index:40}.z-50{z-index:50}.z-\[9998\]{z-index:9998}.z-\[9999\]{z-index:9999}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-8{margin-block:calc(var(--spacing)*8)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.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)}.mt-10{margin-top:calc(var(--spacing)*10)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-2{margin-left:calc(var(--spacing)*2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[200px\]{max-height:200px}.min-h-\[100px\]{min-height:100px}.min-h-\[200px\]{min-height:200px}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-24{width:calc(var(--spacing)*24)}.w-\[85vw\]{width:85vw}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[64px\]{max-width:64px}.max-w-\[200px\]{max-width:200px}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-7{--tw-translate-x:calc(var(--spacing)*7);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-4{--tw-translate-y:calc(var(--spacing)*-4);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-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-help{cursor:help}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.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\.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-4{gap:calc(var(--spacing)*4)}: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-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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-500\/50{border-color:#3080ff80}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/50{border-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-500\/50{border-color:#6a728280}@supports (color:color-mix(in lab,red,red)){.border-gray-500\/50{border-color:color-mix(in oklab,var(--color-gray-500)50%,transparent)}}.border-gray-700{border-color:var(--color-gray-700)}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500)30%,transparent)}}.border-green-500\/50{border-color:#00c75880}@supports (color:color-mix(in lab,red,red)){.border-green-500\/50{border-color:color-mix(in oklab,var(--color-green-500)50%,transparent)}}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-700{border-color:var(--color-purple-700)}.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-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500)50%,transparent)}}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\/5{border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-t-transparent{border-top-color:#0000}.bg-\[var\(--bg-hover\)\]{background-color:var(--bg-hover)}.bg-\[var\(--bg-secondary\)\]{background-color:var(--bg-secondary)}.bg-\[var\(--bg-tertiary\)\]{background-color:var(--bg-tertiary)}.bg-amber-600{background-color:var(--color-amber-600)}.bg-black{background-color:var(--color-black)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-blue-500\/90{background-color:#3080ffe6}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/90{background-color:color-mix(in oklab,var(--color-blue-500)90%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/90{background-color:#00bb7fe6}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/90{background-color:color-mix(in oklab,var(--color-emerald-500)90%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.bg-gray-800\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-500\/90{background-color:#ac4bffe6}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/90{background-color:color-mix(in oklab,var(--color-purple-500)90%,transparent)}}.bg-purple-600{background-color:var(--color-purple-600)}.bg-purple-900{background-color:var(--color-purple-900)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.bg-red-900\/30{background-color:color-mix(in oklab,var(--color-red-900)30%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-yellow-500\/90{background-color:#edb200e6}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/90{background-color:color-mix(in oklab,var(--color-yellow-500)90%,transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.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))}.from-blue-400{--tw-gradient-from:var(--color-blue-400);--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-900{--tw-gradient-from:var(--color-gray-900);--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-pink-400{--tw-gradient-from:var(--color-pink-400);--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-pink-500{--tw-gradient-from:var(--color-pink-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-black{--tw-gradient-to:var(--color-black);--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-purple-400{--tw-gradient-to:var(--color-purple-400);--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-purple-500{--tw-gradient-to:var(--color-purple-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))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-cover{-o-object-fit:cover;object-fit:cover}.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-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.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-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-3{padding-right:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.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-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}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-black{color:var(--color-black)}.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-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-800{color:var(--color-gray-800)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-orange-400{color:var(--color-orange-400)}.text-pink-400{color:var(--color-pink-400)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-purple-700{color:var(--color-purple-700)}.text-red-200{color:var(--color-red-200)}.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-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.placeholder-\[var\(--text-muted\)\]::-moz-placeholder{color:var(--text-muted)}.placeholder-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.placeholder-gray-500::-moz-placeholder{color:var(--color-gray-500)}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.accent-blue-500{accent-color:var(--color-blue-500)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.opacity-100{opacity:1}.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_15px_rgba\(59\,130\,246\,0\.3\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#3b82f64d);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-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-yellow-500\/50{--tw-ring-color:#edb20080}@supports (color:color-mix(in lab,red,red)){.ring-yellow-500\/50{--tw-ring-color:color-mix(in oklab,var(--color-yellow-500)50%,transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-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-opacity{transition-property:opacity;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}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media(hover:hover){.hover\:border-blue-500:hover{border-color:var(--color-blue-500)}.hover\:border-white\/30:hover{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/30:hover{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\:bg-\[var\(--bg-hover\)\]:hover{background-color:var(--bg-hover)}.hover\:bg-amber-700:hover{background-color:var(--color-amber-700)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-blue-900:hover{background-color:var(--color-blue-900)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-orange-600:hover{background-color:var(--color-orange-600)}.hover\:bg-purple-700:hover{background-color:var(--color-purple-700)}.hover\:bg-purple-800:hover{background-color:var(--color-purple-800)}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.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-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-yellow-400:hover{color:var(--color-yellow-400)}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:opacity-50:active{opacity:.5}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-700:disabled{background-color:var(--color-gray-700)}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:mx-auto{margin-inline:auto}.sm\:inline{display:inline}.sm\:max-h-\[85vh\]{max-height:85vh}.sm\:w-80{width:calc(var(--spacing)*80)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-4{padding-inline:calc(var(--spacing)*4)}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}}:root{--bg-primary:#0a0f1a;--bg-secondary:#111827;--bg-elevated:#1a2332;--bg-glass:#111827b3;--accent-primary:#3b82f6;--accent-glow:#3b82f680;--accent-gradient:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--border-subtle:#ffffff14;--border-accent:#3b82f64d;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px var(--accent-glow);--message-user-bg:linear-gradient(135deg,#2563eb 0%,#7c3aed 50%,#db2777 100%);--message-assistant-bg:linear-gradient(135deg,#1e293bf2 0%,#111827f2 100%);--message-assistant-border:#6366f133}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-elevated:#f1f5f9;--bg-glass:#ffffffd9;--accent-primary:#2563eb;--accent-glow:#2563eb66;--accent-gradient:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%);--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border-subtle:#00000014;--border-accent:#2563eb4d;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 4px 16px #0000001f;--shadow-lg:0 8px 32px #00000029;--shadow-glow:0 0 20px var(--accent-glow);--message-user-bg:linear-gradient(135deg,#2563eb 0%,#7c3aed 50%,#db2777 100%);--message-assistant-bg:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);--message-assistant-border:#2563eb26}[data-theme=light] .bg-gray-900{background-color:var(--bg-secondary)}[data-theme=light] .bg-gray-800{background-color:var(--bg-elevated)}[data-theme=light] .bg-gray-700{background-color:#e2e8f0}[data-theme=light] .text-white{color:var(--text-primary)}[data-theme=light] .text-gray-300{color:var(--text-secondary)}[data-theme=light] .text-gray-400{color:var(--text-muted)}[data-theme=light] .text-gray-500{color:#94a3b8}[data-theme=light] .border-gray-800{border-color:var(--border-subtle)}[data-theme=light] .border-gray-700{border-color:#0000001a}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromTop{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px var(--accent-glow)}50%{box-shadow:0 0 20px var(--accent-glow),0 0 30px var(--accent-glow)}}@keyframes ripple{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2.4)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}html,body{-webkit-font-smoothing:antialiased;overscroll-behavior:none;background:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}*{box-sizing:border-box}#root{background:var(--bg-primary);width:100%;height:100%;transition:background .3s;overflow:hidden}[data-theme=light] #root{background:linear-gradient(180deg,var(--bg-primary)0%,#e2e8f0 100%)}.btn-primary{background:var(--accent-gradient);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);border:none;border-radius:12px;font-weight:600;transition:all .2s}.btn-primary:hover{box-shadow:var(--shadow-glow),var(--shadow-lg);transform:translateY(-2px)}.btn-primary:active{box-shadow:var(--shadow-sm);transform:translateY(0)scale(.98)}.btn-ghost{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:12px;transition:all .2s}.btn-ghost:hover{background:var(--bg-elevated);border-color:var(--border-accent);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-ghost:active{transform:scale(.98)}.btn-icon{background:var(--bg-elevated);border:1px solid var(--border-subtle);width:48px;height:48px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-icon:hover{color:#818cf8;background:#6366f126;border-color:#6366f180;transform:scale(1.1);box-shadow:0 0 15px #6366f166}.btn-icon:active{transform:scale(.95)}.btn-icon-sm{width:40px;height:40px}.update-glow{animation:2s ease-in-out infinite updatePulse;position:relative}.update-glow:after{content:"";background:#22c55e;border:2px solid #000;border-radius:50%;width:12px;height:12px;animation:1.5s ease-in-out infinite dotPulse;position:absolute;top:-3px;right:-3px}@keyframes updatePulse{0%,to{box-shadow:0 0 8px #22c55e66,0 0 16px #22c55e33}50%{box-shadow:0 0 16px #22c55e99,0 0 32px #22c55e4d}}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);border-radius:16px}.glass-card{-webkit-backdrop-filter:blur(16px);background:linear-gradient(135deg,#6366f11a,#8b5cf60d);border:1px solid #6366f140;border-radius:16px;transition:all .3s;box-shadow:0 8px 32px #0000004d}.glass-card:hover{border-color:#6366f180;transform:translateY(-4px);box-shadow:0 8px 32px #0006,0 0 20px #6366f133}.animate-slide-in{animation:.3s slideInFromBottom}.animate-fade-in{animation:.3s fadeIn}.message-user{background:var(--message-user-bg);color:#fff;border-radius:20px 20px 4px;max-width:80%;margin-left:auto;padding:14px 18px;animation:.3s slideInFromBottom;box-shadow:0 4px 20px #6366f166}.message-assistant{background:var(--message-assistant-bg);border:1px solid var(--message-assistant-border);max-width:85%;box-shadow:var(--shadow-md),inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(8px);color:var(--text-primary);border-radius:20px 20px 20px 4px;padding:14px 18px;animation:.3s slideInFromBottom}[data-theme=light] .message-assistant{box-shadow:var(--shadow-md)}.input-field{color:var(--text-primary);background:#111827cc;border:2px solid #6366f14d;border-radius:24px;outline:none;padding:14px 20px;font-size:16px;transition:all .3s;box-shadow:inset 0 2px 4px #0000004d}.input-field:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f14d,0 0 20px #6366f133,inset 0 2px 4px #0000004d}.input-field::-moz-placeholder{color:var(--text-muted)}.input-field::placeholder{color:var(--text-muted)}[data-theme=light] .input-field{background:#ffffffe6;border-color:#2563eb4d;box-shadow:inset 0 1px 2px #0000001a}[data-theme=light] .input-field:focus{box-shadow:0 0 0 4px #2563eb33,0 0 10px #2563eb1a,inset 0 1px 2px #0000001a}.voice-btn{background:var(--bg-elevated);border:2px solid var(--border-subtle);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .3s;display:flex;position:relative;overflow:hidden}.voice-btn:hover{border-color:#6366f1;transform:scale(1.05);box-shadow:0 0 20px #6366f180,inset 0 0 20px #6366f11a}.voice-btn.listening{color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1);border-color:#7c3aed;animation:1s infinite pulse-glow-purple;box-shadow:0 0 30px #7c3aed99}.voice-btn.listening svg{color:#fff;stroke:#fff}.voice-btn.listening:before,.voice-btn.listening:after{content:"";border:2px solid #7c3aed80;border-radius:50%;animation:1.5s ease-out infinite ripple;position:absolute}.voice-btn.listening:after{animation-delay:.5s}@keyframes pulse-glow-purple{0%,to{box-shadow:0 0 15px #7c3aed66}50%{box-shadow:0 0 30px #7c3aedb3,0 0 45px #6366f14d}}.voice-btn.conversation-mode{border:2px solid #22c55e80;box-shadow:0 0 10px #22c55e4d}.voice-btn.conversation-mode:not(.listening){animation:2s infinite pulse-glow-green}@keyframes pulse-glow-green{0%,to{box-shadow:0 0 5px #22c55e4d}50%{box-shadow:0 0 20px #22c55e80}}.voice-btn.speaking{opacity:.5;cursor:wait;background:var(--bg-elevated)}.voice-btn.speaking:hover{box-shadow:none;transform:none}.conversation-active{background:linear-gradient(135deg,#22c55e33,#10b98133)!important;border-color:#22c55e80!important;box-shadow:0 0 15px #22c55e66!important}.send-btn{cursor:pointer;background:linear-gradient(135deg,#2563eb,#7c3aed,#db2777);border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .3s;display:flex;box-shadow:0 4px 20px #6366f180}.send-btn:hover:not(:disabled){transform:scale(1.15);box-shadow:0 0 30px #6366f199,0 8px 25px #0006}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{background:var(--bg-elevated);opacity:.5;cursor:not-allowed;box-shadow:none}.loading-dots{gap:6px;padding:8px 0;display:flex}.loading-dots span{background:var(--accent-primary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite float}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.skeleton{background:linear-gradient(90deg,var(--bg-elevated)25%,var(--bg-secondary)50%,var(--bg-elevated)75%);background-size:200% 100%;border-radius:8px;animation:1.5s infinite shimmer}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.header-bar{-webkit-backdrop-filter:blur(16px);background:linear-gradient(#111827fa,#111827cc);border-bottom:1px solid #6366f14d;box-shadow:0 4px 20px #0000004d}[data-theme=light] .header-bar{background:linear-gradient(#fffffffa,#ffffffe6);border-bottom:1px solid #2563eb33;box-shadow:0 2px 10px #0000001a}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{z-index:10;background:linear-gradient(180deg,var(--bg-secondary)0%,var(--bg-primary)100%);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);color:var(--text-primary);border-radius:24px;animation:.3s slideInFromBottom;position:relative}[data-theme=light] .modal-overlay{background:#0006}[data-theme=light] .modal-content{background:linear-gradient(#fff,#f1f5f9);border-color:#0000001a}.status-dot{border-radius:50%;width:10px;height:10px;animation:2s infinite pulse-glow}.status-dot.online{background:#22c55e;box-shadow:0 0 10px #22c55e80}.status-dot.offline{background:#ef4444;box-shadow:0 0 10px #ef444480}button,a,input,select,textarea{transition:all .2s}.pb-safe{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.pt-safe{padding-top:max(0px,env(safe-area-inset-top))}.logo-glow{justify-content:center;align-items:center;display:flex;position:relative}.logo-glow:before{content:"";filter:blur(12px);z-index:0;background:radial-gradient(circle,#6366f166,#8b5cf64d 40%,#0000 70%);border-radius:50%;width:90%;height:90%;position:absolute}.logo-glow img{z-index:1;position:relative}.feature-hint{z-index:100;background:linear-gradient(135deg,#3b82f6e6,#8b5cf6e6);border-radius:12px;align-items:center;gap:12px;max-width:90%;padding:12px 16px;animation:.3s slideInFromBottom;display:flex;position:fixed;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #3b82f666}.hint-text{color:#fff;font-size:14px;font-weight:500}.hint-dismiss{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;line-height:1;display:flex}.hint-dismiss:hover{background:#ffffff4d}@media(max-width:640px){.feature-hint{max-width:none;bottom:80px;left:16px;right:16px;transform:none}}.update-banner{z-index:1000;color:#fff;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:linear-gradient(135deg,#10b981,#059669);justify-content:space-between;align-items:center;animation:.3s slideInFromTop;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 20px #10b98166}.update-banner.required{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 20px #f59e0b66}.update-banner-content{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.update-banner-icon{background:#fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.update-banner-text{flex-direction:column;gap:2px;min-width:0;display:flex}.update-banner-text strong{font-size:14px;font-weight:700}.update-banner-text span{opacity:.9;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.update-banner-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.update-download-btn{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.update-download-btn:hover{background:#ffffff4d}.update-dismiss-btn{color:#fff;opacity:.7;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .2s;display:flex}.update-dismiss-btn:hover{opacity:1}@media(max-width:480px){.update-banner{padding:10px 12px}.update-banner-text span{max-width:140px}.update-download-btn{padding:6px 10px;font-size:12px}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-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-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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.whats-new-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.whats-new-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(99,102,241,.3);border-radius:16px;max-width:520px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000080}.whats-new-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.whats-new-title{display:flex;align-items:center;gap:12px}.whats-new-icon{font-size:28px}.whats-new-title h2{margin:0;font-size:24px;color:#fff;font-weight:600}.whats-new-close{background:none;border:none;color:#fff9;font-size:28px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.whats-new-close:hover{color:#fff}.whats-new-content{flex:1;overflow-y:auto;padding:20px 24px}.no-updates{text-align:center;padding:40px 20px;color:#ffffffb3}.update-card{background:#ffffff0d;border-radius:12px;padding:20px;margin-bottom:16px;border:1px solid rgba(255,255,255,.1);transition:border-color .2s}.update-card:last-child{margin-bottom:0}.update-card.latest{border-color:#6366f180;background:#6366f11a}.update-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.update-version-info{display:flex;align-items:center;gap:10px}.update-version{font-size:14px;font-weight:600;color:#818cf8;background:#6366f133;padding:4px 10px;border-radius:6px}.update-badge{font-size:10px;font-weight:700;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.update-date{font-size:13px;color:#ffffff80}.update-title{margin:0 0 14px;font-size:18px;color:#fff;font-weight:600}.update-highlights{list-style:none;padding:0;margin:0 0 12px}.update-highlights li{padding:6px 0;color:#ffffffd9;font-size:14px;line-height:1.5}.update-details{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.details-toggle{background:none;border:none;color:#818cf8;font-size:13px;cursor:pointer;padding:0;transition:color .2s}.details-toggle:hover{color:#a5b4fc}.details-text{margin:12px 0 0;color:#ffffffb3;font-size:14px;line-height:1.6}.whats-new-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid rgba(255,255,255,.1)}.current-version{font-size:13px;color:#ffffff80}.whats-new-button{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.whats-new-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.whats-new-content::-webkit-scrollbar{width:6px}.whats-new-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.whats-new-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.whats-new-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media(max-width:480px){.whats-new-modal{max-height:90vh;border-radius:12px}.whats-new-header,.whats-new-content,.whats-new-footer{padding-left:16px;padding-right:16px}.update-header{flex-direction:column;align-items:flex-start;gap:8px}}.whats-new-tabs{display:flex;padding:0 24px;gap:8px;border-bottom:1px solid rgba(255,255,255,.1)}.whats-new-tab{display:flex;align-items:center;gap:6px;padding:12px 16px;background:none;border:none;color:#ffffff80;font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}.whats-new-tab:hover{color:#fffc}.whats-new-tab.active{color:#818cf8;border-bottom-color:#818cf8}.coming-soon-intro{color:#ffffffb3;font-size:14px;margin:0 0 16px}.coming-soon-card{background:#ffffff0d;border-radius:10px;padding:16px;margin-bottom:12px;border:1px solid rgba(255,255,255,.1)}.coming-soon-card:last-of-type{margin-bottom:16px}.coming-soon-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.coming-soon-title{margin:0;font-size:15px;color:#fff;font-weight:600}.coming-soon-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.coming-soon-status.in-progress{color:#34d399;background:#34d39926}.coming-soon-status.planned{color:#fbbf24;background:#fbbf2426}.coming-soon-description{margin:0;color:#fff9;font-size:13px;line-height:1.5}.coming-soon-note{color:#fff6;font-size:12px;font-style:italic;text-align:center;margin:8px 0 0}@media(max-width:480px){.whats-new-tabs{padding:0 16px}.whats-new-tab{padding:10px 12px;font-size:13px}}.ai-setup-wizard{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.ai-setup-wizard.modal{position:fixed;inset:0;z-index:1000;background:#000000b3}.wizard-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:700px;width:100%;padding:40px}.wizard-progress{display:flex;justify-content:space-between;margin-bottom:40px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.progress-step{font-size:14px;color:#999;font-weight:600}.progress-step.active{color:#667eea}.wizard-step h2{margin:0 0 8px;font-size:28px;color:#1a1a1a}.step-description{color:#666;margin:0 0 24px;font-size:16px;line-height:1.5}.tip-box{display:flex;gap:12px;padding:16px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.3);border-radius:12px;margin-bottom:24px}.tip-box.success{background:linear-gradient(135deg,#10b9811a,#0596691a);border-color:#10b9814d}.tip-icon{font-size:24px;flex-shrink:0}.tip-box strong{display:block;color:#333;margin-bottom:4px}.tip-box p{margin:0;font-size:14px;color:#666;line-height:1.4}.tip-box a{color:#667eea}.model-hint{color:#667eea!important;font-style:italic}.features-intro{margin:24px 0}.features-intro h3{font-size:16px;color:#333;margin:0 0 16px}.feature-list{display:flex;flex-direction:column;gap:12px}.feature-item{display:flex;gap:12px;padding:12px;background:#f8f9fa;border-radius:10px;transition:transform .2s}.feature-item:hover{transform:translate(4px)}.feature-icon{font-size:20px;flex-shrink:0}.feature-item strong{display:block;color:#333;font-size:14px;margin-bottom:2px}.feature-item p{margin:0;font-size:13px;color:#666;line-height:1.3}.provider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.provider-card{border:2px solid #e0e0e0;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s}.provider-card:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.provider-card.selected{border-color:#667eea;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.provider-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.provider-header h3{margin:0;font-size:16px;color:#333}.free-badge{background:#10b981;color:#fff;font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600}.local-badge{background:#6366f1;color:#fff;font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600}.provider-card p{margin:0;font-size:13px;color:#666;line-height:1.4}.form-group{margin-bottom:24px}.form-group label{display:block;font-weight:600;font-size:14px;color:#333;margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-group small{display:block;margin-top:8px;font-size:13px;color:#888}.form-group small a{color:#667eea}.test-section{margin:24px 0;padding:20px;background:#f8f9fa;border-radius:12px}.test-btn{background:#6366f1;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.test-btn:hover:not(:disabled){background:#4f46e5}.test-btn:disabled{opacity:.5;cursor:not-allowed}.test-result{margin-top:12px;padding:12px;border-radius:8px;font-size:14px;font-weight:500}.test-result.success{background:#d1fae5;color:#065f46}.test-result.error{background:#fee2e2;color:#991b1b}.summary-card{background:#f8f9fa;border-radius:12px;padding:24px;margin-bottom:24px}.summary-card h3{margin:0 0 16px;font-size:16px;color:#333}.summary-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e0e0e0}.summary-row:last-child{border-bottom:none}.summary-row span{color:#666}.summary-row strong{color:#333}.summary-note{color:#666;font-size:14px;margin-bottom:24px}.error-message{background:#fee2e2;color:#991b1b;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.wizard-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:2px solid #e0e0e0}.primary-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.secondary-btn{background:transparent;color:#667eea;border:2px solid #667eea;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.secondary-btn:hover{background:#667eea1a}@media(max-width:600px){.wizard-container{padding:24px}.provider-grid{grid-template-columns:1fr}.wizard-progress{flex-direction:column;gap:8px}.wizard-actions{flex-direction:column}.wizard-actions button{width:100%}}.lock-screen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#000000e6}.lock-screen-backdrop{position:absolute;inset:0;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.lock-screen-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem;max-width:320px;text-align:center}.lock-logo-container{position:relative;width:120px;height:120px}.lock-logo{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:24px;animation:lock-float 3s ease-in-out infinite}.lock-logo-glow{position:absolute;inset:-10px;background:radial-gradient(circle,rgba(59,130,246,.4) 0%,transparent 70%);border-radius:50%;z-index:-1;animation:lock-pulse 2s ease-in-out infinite}@keyframes lock-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes lock-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.lock-title{font-size:1.5rem;font-weight:600;color:#fff;margin:0}.lock-subtitle{font-size:.9rem;color:#fff9;margin:0}.lock-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ef444433;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:.85rem}.lock-unlock-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;min-width:200px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #3b82f64d}.lock-unlock-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.lock-unlock-btn:active:not(:disabled){transform:translateY(0)}.lock-unlock-btn:disabled{opacity:.5;cursor:not-allowed}.lock-loading{display:flex;align-items:center;gap:.75rem}.lock-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:lock-spin .8s linear infinite}@keyframes lock-spin{to{transform:rotate(360deg)}}.lock-fallback-text{font-size:.8rem;color:#ffffff80;margin:0}.lock-indicator{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:20px;color:#22c55ecc;font-size:.75rem;margin-top:1rem}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));box-sizing:border-box}.login-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:420px;width:100%;padding:40px}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:80px;height:80px;margin:0 auto 16px;display:block}.login-header h1{font-size:32px;margin:0 0 8px;color:#1a1a1a}.login-header p{color:#666;margin:0;font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.login-footer p{font-size:14px;color:#666;margin:0}.login-footer a{color:#667eea;text-decoration:none;font-weight:600}.login-footer a:hover{text-decoration:underline}.signup-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));box-sizing:border-box;overflow-y:auto}.signup-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:420px;width:100%;padding:40px}.signup-header{text-align:center;margin-bottom:32px}.signup-logo{width:80px;height:80px;margin:0 auto 16px;display:block}.signup-header h1{font-size:32px;margin:0 0 8px;color:#1a1a1a}.signup-header p{color:#666;margin:0;font-size:14px}.signup-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;font-size:14px;color:#333}.form-group input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s;background-color:#fff!important;color:#1a1a1a!important;-webkit-text-fill-color:#1a1a1a!important;opacity:1;-webkit-appearance:none}.form-group input:-webkit-autofill,.form-group input:-webkit-autofill:hover,.form-group input:-webkit-autofill:focus,.form-group input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px #ffffff inset!important;-webkit-text-fill-color:#1a1a1a!important;background-color:#fff!important;color:#1a1a1a!important}.form-group input::-moz-placeholder{color:#999;-webkit-text-fill-color:#999999;opacity:1}.form-group input::placeholder{color:#999;-webkit-text-fill-color:#999999;opacity:1}.form-group input:focus{outline:none;border-color:#667eea}.form-group small{font-size:12px;color:#888}.access-code-group{margin-top:8px;padding-top:16px;border-top:1px dashed #e0e0e0}.access-code-group label .optional{font-weight:400;color:#888;font-size:12px}.access-code-group input{font-family:monospace;letter-spacing:1px}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:12px;border-radius:8px;font-size:14px}.signup-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:8px}.signup-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.signup-button:disabled{opacity:.6;cursor:not-allowed}.signup-footer{text-align:center;margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.signup-footer p{font-size:14px;color:#666;margin:0}.signup-footer a{color:#667eea;text-decoration:none;font-weight:600}.signup-footer a:hover{text-decoration:underline}.success-message{text-align:center}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:48px;margin:0 auto 24px}.success-message h1{font-size:28px;margin:0 0 12px;color:#1a1a1a}.success-message>p{color:#666;margin:0 0 24px;font-size:16px}.info-box{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:24px;text-align:left}.info-box h3{margin:0 0 12px;font-size:16px;color:#333}.info-box ol{margin:0;padding-left:20px}.info-box li{margin-bottom:8px;color:#666;font-size:14px}.info-box li:last-child{margin-bottom:0}.back-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.back-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.admin-dashboard{height:100vh;display:flex;flex-direction:column;background-color:#f5f5f5;overflow:hidden}.admin-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px 40px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.admin-header h1{margin:0;font-size:28px}.back-to-app{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.back-to-app:hover{background:#ffffff4d}.admin-tabs{background:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:8px;border-bottom:2px solid #e0e0e0;gap:8px;flex-shrink:0}.admin-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#f8f9fa;border:2px solid transparent;padding:12px 8px;font-size:14px;font-weight:600;color:#666;cursor:pointer;border-radius:12px;transition:all .2s;min-height:70px;position:relative}.admin-tabs button:hover{color:#667eea;background:#f0f0ff;border-color:#667eea}.admin-tabs button.active{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;box-shadow:0 4px 12px #667eea66}.admin-tabs button.active:hover{color:#fff;background:linear-gradient(135deg,#5a6fd6,#6a4196)}.tab-label{font-size:12px;white-space:nowrap}.tab-badge{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.admin-tabs button.active .tab-badge{background:#fff;color:#667eea}.admin-content{flex:1;padding:32px 40px 60px;max-width:1400px;margin:0 auto;width:100%;overflow-y:auto;box-sizing:border-box}.error-box{background-color:#fee;border:1px solid #fcc;color:#c33;padding:16px;border-radius:8px;margin-bottom:20px}.loading{text-align:center;padding:40px;color:#666;font-size:18px}.pending-users-section h2,.users-section h2,.stats-section h2,.access-codes-section h2{margin:0 0 24px;font-size:24px;color:#333}.table-wrapper{max-height:400px;overflow-y:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.table-wrapper .data-table{box-shadow:none}.table-wrapper .data-table thead{position:sticky;top:0;z-index:1}.empty-state{text-align:center;padding:60px;color:#999;font-size:16px;background:#fff;border-radius:8px}.data-table{width:100%;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;border-collapse:collapse}.data-table thead{background-color:#f8f9fa}.data-table th{text-align:left;padding:16px;font-weight:600;color:#333;font-size:14px;border-bottom:2px solid #e0e0e0}.data-table td{padding:16px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#555}.data-table tbody tr:hover{background-color:#f8f9fa}.data-table tbody tr:last-child td{border-bottom:none}.actions{display:flex;gap:8px}.approve-btn,.reject-btn,.toggle-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.approve-btn{background-color:#10b981;color:#fff}.approve-btn:hover{background-color:#059669;transform:translateY(-1px)}.reject-btn{background-color:#ef4444;color:#fff}.reject-btn:hover{background-color:#dc2626;transform:translateY(-1px)}.toggle-btn{background-color:#6366f1;color:#fff}.toggle-btn:hover{background-color:#4f46e5;transform:translateY(-1px)}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.active{background-color:#d1fae5;color:#065f46}.status-badge.inactive{background-color:#fee2e2;color:#991b1b}.admin-badge{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.stat-card{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.stat-card h3{margin:0 0 12px;font-size:14px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:36px;font-weight:700;color:#667eea;margin-bottom:8px}.stat-subtitle{font-size:13px;color:#888}.create-code-form{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.create-code-form h3{margin:0 0 16px;font-size:16px;color:#333}.form-row{display:flex;gap:12px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:13px;font-weight:600;color:#555}.form-field input{padding:10px 14px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;transition:border-color .2s}.form-field input:focus{outline:none;border-color:#667eea}.form-field small{font-size:11px;color:#888}.form-action{justify-content:flex-end}.form-row input{flex:1;min-width:150px;padding:10px 14px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;transition:border-color .2s}.form-row input:focus{outline:none;border-color:#667eea}.create-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}.create-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.code-cell{font-family:monospace;font-size:14px;font-weight:600;letter-spacing:1px;color:#667eea}.inactive-row{opacity:.6}.used-by-list{margin:8px 0 0;padding-left:20px;font-size:13px}.used-by-list li{margin-bottom:8px}.used-by-list small{color:#888}details summary{cursor:pointer;color:#667eea}details summary:hover{text-decoration:underline}@media(max-width:768px){.admin-header{padding:16px 20px}.admin-header h1{font-size:20px}.back-to-app{padding:8px 14px;font-size:13px}.admin-tabs{grid-template-columns:repeat(2,1fr);padding:8px 12px;gap:8px}.admin-tabs button{padding:10px 6px;min-height:60px}.tab-label{font-size:11px}.admin-content{padding:16px}.data-table{font-size:12px}.data-table th,.data-table td{padding:10px 8px}.stats-grid,.form-grid{grid-template-columns:1fr}.actions{flex-direction:column;gap:6px}.approve-btn,.reject-btn,.toggle-btn{padding:6px 12px;font-size:12px;width:100%;justify-content:center}}@media(max-width:480px){.admin-header h1{font-size:16px}.admin-tabs button{min-height:55px;padding:8px 4px}.admin-tabs button svg{width:16px;height:16px}.tab-label{font-size:10px}.pending-users-section h2,.users-section h2,.stats-section h2,.access-codes-section h2{font-size:18px;margin-bottom:16px}.data-table td:nth-child(3),.data-table th:nth-child(3),.data-table td:nth-child(5),.data-table th:nth-child(5),.data-table td:nth-child(6),.data-table th:nth-child(6),.data-table td:nth-child(7),.data-table th:nth-child(7){display:none}}
