/*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-1\/2{top:50%}.isolate{isolation:isolate}.z-6{z-index:6}.z-10{z-index:10}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[9999\]{z-index:9999}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-screen{max-height:100vh}.min-h-screen{min-height:100vh}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-destructive{border-color:var(--destructive)}.bg-background{background-color:var(--background)}.bg-destructive{background-color:var(--destructive)}.bg-popover{background-color:var(--popover)}.bg-transparent{background-color:#0000}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.object-cover{-o-object-fit:cover;object-fit:cover}.text-center{text-align:center}.text-foreground,.text-foreground\/50{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/50{color:color-mix(in oklab,var(--foreground)50%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.mix-blend-multiply{mix-blend-mode:multiply}.ring{--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-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.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,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.paused{animation-play-state:paused}.running{animation-play-state:running}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-\[\.destructive\]\:border-muted\/40:is(:where(.group).destructive *){border-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.group-\[\.destructive\]\:border-muted\/40:is(:where(.group).destructive *){border-color:color-mix(in oklab,var(--muted)40%,transparent)}}.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:var(--muted)}.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:var(--primary)}.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:var(--muted-foreground)}.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:var(--primary-foreground)}.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:var(--border)}.group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *){background-color:var(--background)}.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:var(--foreground)}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-secondary:hover{background-color:var(--secondary)}.hover\:text-foreground:hover{color:var(--foreground)}.group-\[\.destructive\]\:hover\:border-destructive\/30:is(:where(.group).destructive *):hover{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.group-\[\.destructive\]\:hover\:border-destructive\/30:is(:where(.group).destructive *):hover{border-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.group-\[\.destructive\]\:hover\:bg-destructive:is(:where(.group).destructive *):hover{background-color:var(--destructive)}}.focus\:border-transparent:focus{border-color:#0000}.focus\:opacity-100:focus{opacity:1}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.group-\[\.destructive\]\:focus\:ring-destructive:is(:where(.group).destructive *):focus{--tw-ring-color:var(--destructive)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100% }.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)}.data-\[state\=open\]\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100% }.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}:root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}body{min-height:100vh;margin:0}.prose pre{background-color:#f3f4f6;border-radius:.375rem;padding:.75rem 1rem;overflow-x:auto}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em}.prose-invert pre{color:#f3f4f6;background-color:#ffffff1a}.prose-invert code{color:#f3f4f6}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@layer base{*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-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}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);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:var(--tw-exit-opacity,1);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))}}.modern-button{position:relative;display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:.375rem;transition:all .2s ease;cursor:pointer;outline:none;white-space:nowrap;overflow:hidden}.modern-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.modern-button--sm{height:2rem;padding:0 .75rem;font-size:.875rem;gap:.375rem}.modern-button--md{height:2.5rem;padding:0 1rem;font-size:.875rem;gap:.5rem}.modern-button--lg{height:3rem;padding:0 1.25rem;font-size:1rem;gap:.625rem}.modern-button--primary{background:#3b82f6;color:#fff;border:1px solid transparent;box-shadow:0 1px 2px #0000000d}.modern-button--primary:hover:not(.modern-button--disabled){background:#2563eb}.modern-button--secondary{background:#6366f1;color:#fff;border:1px solid transparent;box-shadow:0 1px 2px #0000000d}.modern-button--secondary:hover:not(.modern-button--disabled){background:#4f46e5}.modern-button--outline{background:transparent;color:#4b5563;border:1px solid #d1d5db;box-shadow:0 1px 2px #0000000d}.modern-button--outline:hover:not(.modern-button--disabled){background:#f9fafb;border-color:#9ca3af}.modern-button--ghost{background:transparent;color:#4b5563;border:1px solid transparent}.modern-button--ghost:hover:not(.modern-button--disabled){background:#f9fafb}.modern-button--danger{background:#ef4444;color:#fff;border:1px solid transparent;box-shadow:0 1px 2px #0000000d}.modern-button--danger:hover:not(.modern-button--disabled){background:#dc2626}.modern-button--success{background:#10b981;color:#fff;border:1px solid transparent;box-shadow:0 1px 2px #0000000d}.modern-button--success:hover:not(.modern-button--disabled){background:#059669}.modern-button--disabled{opacity:.6;cursor:not-allowed}.modern-button--full-width{width:100%}.modern-button__content{display:flex;align-items:center;justify-content:center;gap:inherit}.modern-button__icon{display:flex;align-items:center;justify-content:center}.modern-button__loader{position:absolute;display:flex;align-items:center;justify-content:center}.modern-button__spinner{width:18px;height:18px;animation:spinner-rotate 1.5s linear infinite}.modern-button__spinner circle{stroke:currentColor;stroke-linecap:round;stroke-dasharray:128;stroke-dashoffset:82;animation:spinner-dash 1.5s ease-in-out infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@keyframes spinner-dash{0%{stroke-dashoffset:128}50%{stroke-dashoffset:32}to{stroke-dashoffset:128}}@media (prefers-color-scheme: dark){.modern-button--outline{color:#e5e7eb;border-color:#4b5563}.modern-button--outline:hover:not(.modern-button--disabled){background:#ffffff0d;border-color:#6b7280}.modern-button--ghost{color:#e5e7eb}.modern-button--ghost:hover:not(.modern-button--disabled){background:#ffffff0d}}.app-header{width:100%;background-color:#fff;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem}.app-header__content{display:flex;align-items:center;justify-content:space-between;max-width:1920px;margin:0 auto}.app-header__title{font-size:1.25rem;font-weight:600;color:#111827;margin-right:1rem}.app-header__actions{display:flex;gap:1rem;margin-left:auto;padding-right:1rem;align-items:center}.app-header__button-group{display:flex;gap:.5rem;align-items:center;position:relative}.app-header__button-group:not(:last-child):after{content:"";position:absolute;right:-.5rem;top:50%;transform:translateY(-50%);width:1px;height:24px;background-color:#e5e7eb}.app-header__mobile-menu{position:relative;margin-left:auto;margin-right:1rem}.app-header__mobile-menu-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #e5e7eb;border-radius:.375rem;background-color:#fff;color:#374151;cursor:pointer;transition:background-color .2s}.app-header__mobile-menu-button:hover{background-color:#f3f4f6}.app-header__mobile-dropdown{position:absolute;top:100%;right:0;width:250px;margin-top:.5rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;box-shadow:0 4px 6px #0000001a;z-index:50}.app-header__mobile-model-select{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb}.app-header__mobile-model-select label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:#374151}.app-header__mobile-model-dropdown{width:100%;padding:.5rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem}.app-header__model-select{margin-right:1rem}.app-header__model-dropdown{padding:.5rem;border:1px solid #e5e7eb;border-radius:.375rem;background-color:#fff;font-size:.875rem;min-width:200px}.app-header__mobile-menu-items{padding:.5rem}.app-header__mobile-menu-item{display:block;width:100%;padding:.75rem 1rem;margin-bottom:.25rem;text-align:left;background:none;border:none;border-radius:.25rem;font-size:.875rem;color:#374151;cursor:pointer;transition:background-color .2s}.app-header__mobile-menu-item:hover{background-color:#f3f4f6}.app-header__mobile-menu-item--logout{color:#ef4444;border-top:1px solid #e5e7eb;margin-top:.5rem;padding-top:.75rem}.desktop-only{display:flex}.mobile-only{display:none}@media (max-width: 1280px){.desktop-only{display:none}.mobile-only{display:flex}.app-header__title{font-size:1.125rem;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header__model-select{margin-right:.5rem;flex-grow:1;max-width:160px}.app-header__model-dropdown{min-width:unset;width:100%;font-size:.875rem;padding:.4rem}}@media (max-width: 1024px){.app-header__title{font-size:1.125rem;max-width:110px}.app-header__model-select{max-width:150px}}@media (max-width: 768px){.app-header__title{font-size:1rem;max-width:100px}.app-header__model-select{max-width:140px}.app-header__model-dropdown{font-size:.75rem}}@media (max-width: 480px){.app-header__title{font-size:.875rem;max-width:80px}.app-header__model-select{max-width:120px}.app-header__mobile-dropdown{width:220px}}@media (prefers-color-scheme: dark){.app-header{background-color:#1e293b;border-color:#334155}.app-header__title{color:#f9fafb}.app-header__model-dropdown,.app-header__mobile-menu-button{background-color:#1e293b;border-color:#334155;color:#f9fafb}.app-header__mobile-menu-button:hover{background-color:#334155}.app-header__mobile-dropdown{background-color:#1e293b;border-color:#334155}.app-header__mobile-model-select{border-color:#334155}.app-header__mobile-model-select label{color:#f9fafb}.app-header__mobile-model-dropdown{background-color:#1e293b;border-color:#334155;color:#f9fafb}.app-header__mobile-menu-item{color:#f9fafb}.app-header__mobile-menu-item:hover{background-color:#334155}.app-header__mobile-menu-item--logout{border-color:#334155}.app-header__button-group:not(:last-child):after{background-color:#334155}}.api-key-settings{padding:1.5rem 1.5rem 5rem;max-width:800px;margin:0 auto;max-height:100vh;overflow-y:auto;box-sizing:border-box}.api-key-settings__header{display:flex;align-items:center;margin-bottom:1.5rem;background-color:#fff;padding:1rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.api-key-settings__back-button-container{margin-bottom:1rem}.api-key-settings__back-button{display:flex;align-items:center;color:#3b82f6;font-size:.875rem;background:none;border:none;padding:.5rem .75rem;border-radius:.375rem;cursor:pointer;transition:background-color .2s,color .2s}.api-key-settings__back-button:hover{color:#2563eb;background-color:#f3f4f6}.api-key-settings__back-icon{margin-right:.25rem}.api-key-settings__title{font-size:1.25rem;font-weight:600;color:#1f2937}.api-key-settings__card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.api-key-settings__card-title{font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:1rem}.api-key-settings__form-group{margin-bottom:1rem}.api-key-settings__label{display:block;font-size:.875rem;font-weight:500;color:#4b5563;margin-bottom:.5rem}.api-key-settings__input{display:block;width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.api-key-settings__input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.api-key-settings__input--with-button{position:relative}.api-key-settings__toggle-button{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#6b7280;cursor:pointer;padding:.25rem}.api-key-settings__toggle-button:hover{color:#374151}.api-key-settings__checkbox-group{display:flex;align-items:center;margin-bottom:1rem}.api-key-settings__checkbox{margin-right:.5rem}.api-key-settings__button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.api-key-settings__button:hover{background-color:#2563eb}.api-key-settings__button:disabled{opacity:.5;cursor:not-allowed}.api-key-settings__button-icon{margin-right:.5rem}.api-key-settings__key-list{margin-top:1rem}.api-key-settings__key-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.api-key-settings__key-item:last-child{border-bottom:none}.api-key-settings__key-name{font-weight:500;color:#1f2937}.api-key-settings__key-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#dbeafe;color:#1e40af;border-radius:9999px;font-size:.75rem;font-weight:500;margin-left:.5rem}.api-key-settings__key-value{font-family:monospace;font-size:.75rem;color:#6b7280;margin-top:.25rem}.api-key-settings__delete-button{display:flex;align-items:center;color:#ef4444;font-size:.875rem;background:transparent;border:none;cursor:pointer;transition:color .2s}.api-key-settings__delete-button:hover{color:#b91c1c}.api-key-settings__delete-icon{margin-right:.25rem}.api-key-settings__info{background-color:#eff6ff;border-radius:.5rem;padding:1rem;display:flex;align-items:flex-start;color:#1e40af;font-size:.875rem}.api-key-settings__info-icon{margin-right:.75rem;flex-shrink:0}.modern-chat-input{width:100%}.modern-chat-input__image-preview{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;margin-bottom:1rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000000d}.modern-chat-input__image-container{position:relative;width:100px;height:100px;border-radius:.5rem;overflow:hidden;box-shadow:0 2px 4px #0000001a}.modern-chat-input__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.modern-chat-input__image-remove{position:absolute;top:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:#ef4444e6;color:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease}.modern-chat-input__image-remove:hover{background-color:#dc2626;transform:scale(1.05)}.modern-chat-input__image-info{display:flex;flex-direction:column}.modern-chat-input__image-label{font-weight:500;font-size:.875rem;color:#1f2937;margin-bottom:.25rem}.modern-chat-input__image-hint{font-size:.75rem;color:#6b7280}.modern-chat-input__form{width:100%}.modern-chat-input__container{position:relative;display:flex;align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:.5rem;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.modern-chat-input__container--focused{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.modern-chat-input__textarea{flex:1;resize:none;border:none;background:transparent;padding:.75rem;font-size:.875rem;line-height:1.5;color:#1f2937;max-height:150px;overflow-y:auto}.modern-chat-input__textarea::-moz-placeholder{color:#9ca3af}.modern-chat-input__textarea::placeholder{color:#9ca3af}.modern-chat-input__textarea:focus{outline:none}.modern-chat-input__actions{display:flex;align-items:center;gap:.5rem;padding-right:.5rem}.modern-chat-input__file-input{display:none}.modern-chat-input__action-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:50%;color:#6b7280;cursor:pointer;transition:all .2s ease}.modern-chat-input__action-button:hover{background-color:#f3f4f6;color:#4b5563}.modern-chat-input__action-button:focus{outline:none;box-shadow:0 0 0 2px #3b82f64d}.modern-chat-input__action-button--disabled{opacity:.5;cursor:not-allowed}.modern-chat-input__send-button{margin-left:.25rem}.modern-chat-input__warning{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;background-color:#fff9db;border:1px solid #fef3c7;border-radius:.375rem;color:#d97706;font-size:.75rem}@media (prefers-color-scheme: dark){.modern-chat-input__image-preview{background-color:#1f2937;border-color:#374151}.modern-chat-input__image-label{color:#e5e7eb}.modern-chat-input__image-hint{color:#9ca3af}.modern-chat-input__container{background-color:#1f2937;border-color:#374151}.modern-chat-input__container--focused{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.modern-chat-input__textarea{color:#e5e7eb}.modern-chat-input__textarea::-moz-placeholder{color:#6b7280}.modern-chat-input__textarea::placeholder{color:#6b7280}.modern-chat-input__action-button:hover{background-color:#374151;color:#d1d5db}.modern-chat-input__warning{background-color:#d977061a;border-color:#d9770633;color:#f59e0b}}.main-chat-area{display:flex;flex-direction:column;height:100%;overflow:hidden;background-color:var(--bg-color)}.mobile-menu{position:relative;padding:.5rem;display:flex;justify-content:flex-end;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;z-index:10}.mobile-menu-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #e5e7eb;border-radius:.375rem;background-color:#fff;color:#374151;cursor:pointer;transition:background-color .2s}.mobile-menu-button:hover{background-color:#f3f4f6}.mobile-menu-dropdown{position:absolute;top:100%;right:.5rem;width:250px;margin-top:.25rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;box-shadow:0 4px 6px #0000001a;z-index:20}.mobile-menu-dropdown__header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb}.mobile-menu-dropdown__header h3{margin:0;font-size:1rem;font-weight:500}.mobile-menu-dropdown__header button{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#6b7280}.mobile-menu-dropdown__content{padding:.5rem}.mobile-menu-item{display:block;width:100%;padding:.75rem 1rem;margin-bottom:.25rem;text-align:left;background:none;border:none;border-radius:.25rem;font-size:.875rem;color:#374151;cursor:pointer;transition:background-color .2s}.mobile-menu-item:hover{background-color:#f3f4f6}.main-chat-area__messages{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.main-chat-area__input{border-top:1px solid #e5e7eb;padding:1rem 1.5rem;background-color:#f9fafb}.main-chat-area__welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;margin:auto 0}.main-chat-area__welcome-icon{width:4rem;height:4rem;background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:1rem;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1.5rem;box-shadow:0 10px 15px -3px #3b82f64d}.main-chat-area__welcome-title{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:.75rem;background:linear-gradient(135deg,#3b82f6,#60a5fa);-webkit-background-clip:text;background-clip:text;color:transparent}.main-chat-area__welcome-text{font-size:1rem;color:#6b7280;margin-bottom:2rem;max-width:32rem}.main-chat-area__welcome-features{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.main-chat-area__welcome-feature{padding:.5rem 1rem;background-color:#f3f4f6;border-radius:9999px;font-size:.875rem;color:#4b5563;border:1px solid #e5e7eb;transition:all .2s ease}.main-chat-area__welcome-feature:hover{background-color:#e5e7eb;transform:translateY(-1px)}.message-loading{display:flex;align-items:center;padding:1rem;background-color:#f9fafb;border-radius:.5rem;max-width:80%}.message-loading__indicator{display:flex;gap:.25rem;margin-right:.75rem}.message-loading__dot{width:.5rem;height:.5rem;background-color:#60a5fa;border-radius:50%;opacity:.6;animation:loading-bounce 1.4s infinite ease-in-out both}.message-loading__dot:nth-child(1){animation-delay:-.32s}.message-loading__dot:nth-child(2){animation-delay:-.16s}.message-loading__text{font-size:.875rem;color:#6b7280}@keyframes loading-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.main-chat-area__messages::-webkit-scrollbar{width:6px}.main-chat-area__messages::-webkit-scrollbar-track{background:transparent}.main-chat-area__messages::-webkit-scrollbar-thumb{background-color:#9ca3af80;border-radius:20px}.main-chat-area__messages::-webkit-scrollbar-thumb:hover{background-color:#6b7280b3}@media (prefers-color-scheme: dark){.main-chat-area__input{border-color:#374151;background-color:#1f2937}.main-chat-area__welcome-title{color:#f9fafb;background:linear-gradient(135deg,#60a5fa,#93c5fd);-webkit-background-clip:text;background-clip:text}.main-chat-area__welcome-text{color:#9ca3af}.main-chat-area__welcome-feature{background-color:#1f2937;color:#d1d5db;border-color:#374151}.main-chat-area__welcome-feature:hover{background-color:#374151}.message-loading{background-color:#1f2937}.message-loading__text{color:#9ca3af}}.context-panel-container{display:flex;flex-direction:column;height:100%;padding:1rem;overflow:hidden}.context-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.context-panel__title{font-size:.875rem;font-weight:600;color:#111827}.context-panel__actions{display:flex}.context-panel__status{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:#6b7280;margin-bottom:1rem}.context-panel__clear-button{display:flex;align-items:center;justify-content:center;color:#ef4444;border:none;background:none;cursor:pointer;transition:color .15s ease;padding:.25rem;border-radius:.25rem}.context-panel__clear-button:hover{color:#dc2626;background-color:#fee2e2}.context-panel__items{flex:1;overflow-y:auto;padding-right:.5rem}.context-panel__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#6b7280;font-size:.875rem;padding:2rem}.context-panel__item{margin-bottom:.75rem;padding:.75rem;background-color:#f3f4f6;border-radius:.5rem;transition:background-color .15s ease}.context-panel__item:hover{background-color:#e5e7eb}.context-panel__item-content{font-size:.875rem;color:#1f2937;line-height:1.5;margin-bottom:.5rem;word-break:break-word}.context-panel__item-meta{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:#6b7280}.context-panel__item-sender{font-weight:500}.context-panel__item-time{font-variant-numeric:tabular-nums}.context-panel__items::-webkit-scrollbar{width:6px}.context-panel__items::-webkit-scrollbar-track{background:transparent}.context-panel__items::-webkit-scrollbar-thumb{background-color:#9ca3af80;border-radius:20px}.context-panel__items::-webkit-scrollbar-thumb:hover{background-color:#6b7280b3}@media (prefers-color-scheme: dark){.context-panel__title{color:#f9fafb}.context-panel__status{color:#9ca3af}.context-panel__clear-button:hover{color:#f87171;background-color:#ef44441a}.context-panel__empty{color:#9ca3af}.context-panel__item{background-color:#1f2937}.context-panel__item:hover{background-color:#374151}.context-panel__item-content{color:#e5e7eb}.context-panel__item-meta{color:#9ca3af}}.resizable-layout{display:flex;width:100%;height:calc(100vh - 56px);overflow:hidden}@media (max-width: 767px){.context-panel-container.md-show{display:none}}.resizable-panel{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}.sidebar-panel{background-color:#f9fafb;border-right:1px solid #e5e7eb}.context-panel{background-color:#f9fafb;border-left:1px solid #e5e7eb}.main-content-wrapper{flex:1;overflow:hidden;display:flex;flex-direction:column}.resize-handle-right{width:6px;height:100%;position:absolute;top:0;right:0;background-color:transparent;cursor:col-resize;transition:background-color .2s;z-index:10}.resize-handle-right:hover,.resize-handle-right:active{background-color:#3b82f64d}.panel-content{height:100%;overflow-y:auto;padding:16px}@media (prefers-color-scheme: dark){.sidebar-panel,.context-panel{background-color:#1e293b;border-color:#334155}.resize-handle-right:hover,.resize-handle-right:active{background-color:#3b82f680}}.panel-content::-webkit-scrollbar{width:8px}.panel-content::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb{background-color:#9ca3af80;border-radius:20px}.panel-content::-webkit-scrollbar-thumb:hover{background-color:#6b7280b3}.panel-transition{transition:all .3s ease}.modern-chat-app{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:#fff;color:#111827;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-in{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.message-user{background:linear-gradient(to right,#e9f5ff,#f0f9ff);border-left:3px solid #3b82f6;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.message-user:hover{box-shadow:0 3px 6px #0000001a}.message-ai{background:linear-gradient(to right,#f9fafb,#f3f4f6);border-left:3px solid #10b981;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.error-banner{position:fixed;top:0;left:0;right:0;background-color:#fee2e2;color:#b91c1c;z-index:100;padding:.5rem;animation:slideDown .3s ease-out;border-bottom:1px solid #ef4444}.error-banner__content{display:flex;align-items:center;max-width:1200px;margin:0 auto;padding:.5rem 1rem}.error-banner__icon{margin-right:.75rem;font-size:1.25rem}.error-banner__message{flex:1;margin:0;font-size:.875rem}.error-banner__close{background:none;border:none;color:#b91c1c;font-size:1.5rem;cursor:pointer;padding:0;margin-left:1rem;line-height:1}.error-banner__close:hover{color:#991b1b}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.message-ai:hover{box-shadow:0 3px 6px #0000001a}@media (prefers-color-scheme: dark){.modern-chat-app{background-color:#0f172a;color:#f9fafb}.message-user{background:linear-gradient(to right,#3b82f61a,#3b82f60d);border-left:3px solid #3b82f6}.message-ai{background:linear-gradient(to right,#10b9811a,#10b9810d);border-left:3px solid #10b981}}
