*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;line-height:1.5;tab-size:4}body{font-family:inherit;line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Cascadia Code,Roboto Mono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--color-primary: #4d6bfe;--color-primary-hover: #3a59e0;--color-primary-light: rgba(77, 107, 254, .1);--color-primary-dark: #2952d6;--color-success: #10b981;--color-success-hover: #059669;--color-success-light: rgba(16, 185, 129, .1);--color-warning: #f59e0b;--color-warning-hover: #d97706;--color-warning-light: rgba(245, 158, 11, .1);--color-error: #ef4444;--color-error-hover: #dc2626;--color-error-light: rgba(239, 68, 68, .1);--color-info: #3b82f6;--color-info-hover: #2563eb;--color-info-light: rgba(59, 130, 246, .1);--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-disabled: #d1d5db;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-bg-disabled: #e5e7eb;--color-border-primary: #e5e7eb;--color-border-secondary: #d1d5db;--color-border-focus: var(--color-primary);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1), 0 10px 10px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-size-5xl: 48px;--font-size-6xl: 60px;--line-height-tight: 1.2;--line-height-snug: 1.3;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--line-height-loose: 2;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-family-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, "Cascadia Code", "Roboto Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--transition-fast: .15s ease-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1400px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080}@media (prefers-color-scheme: dark){:root{--color-text-primary: #f9fafb;--color-text-secondary: #9ca3af;--color-text-tertiary: #6b7280;--color-text-disabled: #4b5563;--color-bg-primary: #111827;--color-bg-secondary: #1f2937;--color-bg-tertiary: #374151;--color-bg-disabled: #4b5563;--color-border-primary: #374151;--color-border-secondary: #4b5563}}[data-theme=dark]{--color-text-primary: #f9fafb;--color-text-secondary: #9ca3af;--color-text-tertiary: #6b7280;--color-text-disabled: #4b5563;--color-bg-primary: #111827;--color-bg-secondary: #1f2937;--color-bg-tertiary: #374151;--color-bg-disabled: #4b5563;--color-border-primary: #374151;--color-border-secondary: #4b5563}html{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background-color:var(--color-bg-primary)}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}small,.text-small{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.leading-tight{line-height:var(--line-height-tight)}.leading-snug{line-height:var(--line-height-snug)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.underline{text-decoration:underline}.no-underline{text-decoration:none}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}a:focus{outline:2px solid var(--color-primary-light);outline-offset:2px}code{font-family:var(--font-family-mono);font-size:.875em;color:var(--color-text-primary);background-color:var(--color-bg-secondary);padding:.125rem .25rem;border-radius:var(--radius-sm)}pre{font-family:var(--font-family-mono);background-color:var(--color-bg-secondary);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;margin:var(--spacing-md) 0}pre code{background:none;padding:0;color:inherit}blockquote{border-left:4px solid var(--color-primary);padding-left:var(--spacing-md);margin:var(--spacing-lg) 0;font-style:italic;color:var(--color-text-secondary)}@media (max-width: 768px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-xl{max-width:var(--container-xl)}.container-2xl{max-width:var(--container-2xl)}.container-fluid{max-width:100%}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-5{grid-column:span 5 / span 5}.col-span-6{grid-column:span 6 / span 6}.col-span-full{grid-column:1 / -1}.gap-0{gap:0}.gap-1{gap:var(--spacing-xs)}.gap-2{gap:var(--spacing-sm)}.gap-4{gap:var(--spacing-md)}.gap-6{gap:var(--spacing-lg)}.gap-8{gap:var(--spacing-xl)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}@media (min-width: 640px){.container{max-width:var(--container-sm)}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:col-span-1{grid-column:span 1 / span 1}.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:col-span-3{grid-column:span 3 / span 3}.sm\:col-span-4{grid-column:span 4 / span 4}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}}@media (min-width: 768px){.container{max-width:var(--container-md)}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-span-2{grid-column:span 2 / span 2}.md\:col-span-3{grid-column:span 3 / span 3}.md\:col-span-4{grid-column:span 4 / span 4}.md\:col-span-6{grid-column:span 6 / span 6}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:justify-start{justify-content:flex-start}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}}@media (min-width: 1024px){.container{max-width:var(--container-lg)}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-6{grid-column:span 6 / span 6}}@media (min-width: 1280px){.container{max-width:var(--container-xl)}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width: 1536px){.container{max-width:var(--container-2xl)}}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-dropdown{z-index:var(--z-dropdown)}.z-sticky{z-index:var(--z-sticky)}.z-fixed{z-index:var(--z-fixed)}.z-modal{z-index:var(--z-modal)}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clearfix:after{content:"";display:table;clear:both}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-scale-down{object-fit:scale-down}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.m-0{margin:0}.m-1{margin:var(--spacing-xs)}.m-2{margin:var(--spacing-sm)}.m-4{margin:var(--spacing-md)}.m-6{margin:var(--spacing-lg)}.m-8{margin:var(--spacing-xl)}.m-auto{margin:auto}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:var(--spacing-xs);margin-right:var(--spacing-xs)}.mx-2{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.mx-4{margin-left:var(--spacing-md);margin-right:var(--spacing-md)}.mx-6{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg)}.mx-8{margin-left:var(--spacing-xl);margin-right:var(--spacing-xl)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.my-2{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.my-4{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.my-6{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.my-8{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-4{margin-top:var(--spacing-md)}.mt-6{margin-top:var(--spacing-lg)}.mt-8{margin-top:var(--spacing-xl)}.mr-0{margin-right:0}.mr-1{margin-right:var(--spacing-xs)}.mr-2{margin-right:var(--spacing-sm)}.mr-4{margin-right:var(--spacing-md)}.mr-6{margin-right:var(--spacing-lg)}.mr-8{margin-right:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-4{margin-bottom:var(--spacing-md)}.mb-6{margin-bottom:var(--spacing-lg)}.mb-8{margin-bottom:var(--spacing-xl)}.ml-0{margin-left:0}.ml-1{margin-left:var(--spacing-xs)}.ml-2{margin-left:var(--spacing-sm)}.ml-4{margin-left:var(--spacing-md)}.ml-6{margin-left:var(--spacing-lg)}.ml-8{margin-left:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-4{padding:var(--spacing-md)}.p-6{padding:var(--spacing-lg)}.p-8{padding:var(--spacing-xl)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-2{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-4{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-6{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-8{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-2{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-4{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-6{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-8{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing-xs)}.pt-2{padding-top:var(--spacing-sm)}.pt-4{padding-top:var(--spacing-md)}.pt-6{padding-top:var(--spacing-lg)}.pt-8{padding-top:var(--spacing-xl)}.pr-0{padding-right:0}.pr-1{padding-right:var(--spacing-xs)}.pr-2{padding-right:var(--spacing-sm)}.pr-4{padding-right:var(--spacing-md)}.pr-6{padding-right:var(--spacing-lg)}.pr-8{padding-right:var(--spacing-xl)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing-xs)}.pb-2{padding-bottom:var(--spacing-sm)}.pb-4{padding-bottom:var(--spacing-md)}.pb-6{padding-bottom:var(--spacing-lg)}.pb-8{padding-bottom:var(--spacing-xl)}.pl-0{padding-left:0}.pl-1{padding-left:var(--spacing-xs)}.pl-2{padding-left:var(--spacing-sm)}.pl-4{padding-left:var(--spacing-md)}.pl-6{padding-left:var(--spacing-lg)}.pl-8{padding-left:var(--spacing-xl)}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:fit-content}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:fit-content}.min-w-0{min-width:0}.min-w-full{min-width:100%}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-full{max-width:100%}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:var(--shadow-2xl)}.bg-transparent{background-color:transparent}.bg-white{background-color:#fff}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.bg-error{background-color:var(--color-error)}.border-0{border-width:0}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-none{border-style:none}.border-transparent{border-color:transparent}.border-primary{border-color:var(--color-border-primary)}.border-secondary{border-color:var(--color-border-secondary)}.border-focus{border-color:var(--color-border-focus)}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;user-select:auto}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.transition-none{transition:none}.transition-all{transition:all var(--transition-normal)}.transition-colors{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.transition-opacity{transition:opacity var(--transition-fast)}.transition-shadow{transition:box-shadow var(--transition-fast)}.transition-transform{transition:transform var(--transition-fast)}.transform{transform:translateVar(0)}.transform-none{transform:none}@media (max-width: 640px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}}@media (max-width: 768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}}@media (max-width: 1024px){.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}}.card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);overflow:hidden}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-sm{padding:var(--spacing-md);border-radius:var(--radius-md)}.card-md{padding:var(--spacing-lg);border-radius:var(--radius-lg)}.card-lg{padding:var(--spacing-xl);border-radius:var(--radius-xl)}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-primary);background-color:var(--color-bg-secondary)}.card-header:first-child{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.card-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.card-subtitle{margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.card-body{padding:var(--spacing-lg)}.card-text{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}.card-text:last-child{margin-bottom:0}.card-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border-primary);background-color:var(--color-bg-secondary);display:flex;justify-content:flex-end;align-items:center;gap:var(--spacing-sm)}.card-footer:last-child{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.card-img{width:100%;height:auto;display:block}.card-img-top{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.card-img-bottom{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.card-img-overlay{position:absolute;inset:0;padding:var(--spacing-lg);background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.7) 100%);border-radius:var(--radius-lg);display:flex;flex-direction:column;justify-content:flex-end;color:#fff}.card-img-overlay .card-title,.card-img-overlay .card-text{color:#fff}.card-outlined{background-color:transparent;border:2px solid var(--color-border-primary);box-shadow:none}.card-outlined:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.card-elevated{border:none;box-shadow:var(--shadow-lg)}.card-elevated:hover{box-shadow:var(--shadow-xl)}.card-flat{border:none;box-shadow:none;background-color:var(--color-bg-secondary)}.card-primary{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-bg-primary) 100%)}.card-primary .card-header{background-color:var(--color-primary);color:#fff;border-bottom-color:var(--color-primary)}.card-primary .card-title{color:var(--color-primary)}.card-success{border-color:var(--color-success);background:linear-gradient(135deg,var(--color-success-light) 0%,var(--color-bg-primary) 100%)}.card-success .card-header{background-color:var(--color-success);color:#fff;border-bottom-color:var(--color-success)}.card-warning{border-color:var(--color-warning);background:linear-gradient(135deg,var(--color-warning-light) 0%,var(--color-bg-primary) 100%)}.card-warning .card-header{background-color:var(--color-warning);color:#fff;border-bottom-color:var(--color-warning)}.card-error{border-color:var(--color-error);background:linear-gradient(135deg,var(--color-error-light) 0%,var(--color-bg-primary) 100%)}.card-error .card-header{background-color:var(--color-error);color:#fff;border-bottom-color:var(--color-error)}.card-interactive{cursor:pointer;transition:all var(--transition-normal)}.card-interactive:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-interactive:active{transform:translateY(-1px);box-shadow:var(--shadow-md)}.card-group{display:flex;flex-direction:column;gap:var(--spacing-lg)}.card-group .card{margin-bottom:0}@media (min-width: 768px){.card-group{flex-direction:row}.card-group .card{flex:1}.card-group .card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group .card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}}.card-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:1fr}@media (min-width: 768px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.card-grid{grid-template-columns:repeat(3,1fr)}}.card-loading{position:relative;pointer-events:none}.card-loading:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--color-bg-secondary),transparent);animation:loading-shimmer 1.5s ease-in-out infinite;z-index:1}@keyframes loading-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 640px){.card{margin:0 calc(-1 * var(--spacing-md));border-radius:0;border-left:none;border-right:none}.card-sm,.card-md,.card-lg,.card-header,.card-body,.card-footer{padding:var(--spacing-md)}.card-footer{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.card-footer .btn{width:100%}}@media (prefers-color-scheme: dark){.card-img-overlay{background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.9) 100%)}}[data-theme=dark] .card-img-overlay{background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.9) 100%)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1.5;text-decoration:none;text-align:center;white-space:nowrap;vertical-align:middle;border:1px solid transparent;border-radius:var(--radius-md);background:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast);min-height:40px}.btn:focus{outline:2px solid var(--color-primary-light);outline-offset:2px}.btn:disabled{pointer-events:none;opacity:.6;cursor:not-allowed}.btn-xs{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);min-height:28px;border-radius:var(--radius-sm)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);min-height:32px;border-radius:var(--radius-sm)}.btn-md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);min-height:40px;border-radius:var(--radius-md)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg);min-height:48px;border-radius:var(--radius-lg)}.btn-xl{padding:var(--spacing-lg) var(--spacing-xl);font-size:var(--font-size-xl);min-height:56px;border-radius:var(--radius-lg)}.btn-primary{color:#fff;background-color:var(--color-primary);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{color:var(--color-text-primary);background-color:var(--color-bg-secondary);border-color:var(--color-border-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-tertiary);border-color:var(--color-border-secondary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary:active{transform:translateY(0)}.btn-success{color:#fff;background-color:var(--color-success);border-color:var(--color-success)}.btn-success:hover:not(:disabled){background-color:var(--color-success-hover);border-color:var(--color-success-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-warning{color:#fff;background-color:var(--color-warning);border-color:var(--color-warning)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-hover);border-color:var(--color-warning-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-error{color:#fff;background-color:var(--color-error);border-color:var(--color-error)}.btn-error:hover:not(:disabled){background-color:var(--color-error-hover);border-color:var(--color-error-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline-primary{color:var(--color-primary);background-color:transparent;border-color:var(--color-primary)}.btn-outline-primary:hover:not(:disabled){color:#fff;background-color:var(--color-primary);border-color:var(--color-primary)}.btn-outline-secondary{color:var(--color-text-secondary);background-color:transparent;border-color:var(--color-border-primary)}.btn-outline-secondary:hover:not(:disabled){color:var(--color-text-primary);background-color:var(--color-bg-secondary);border-color:var(--color-border-secondary)}.btn-outline-success{color:var(--color-success);background-color:transparent;border-color:var(--color-success)}.btn-outline-success:hover:not(:disabled){color:#fff;background-color:var(--color-success);border-color:var(--color-success)}.btn-outline-warning{color:var(--color-warning);background-color:transparent;border-color:var(--color-warning)}.btn-outline-warning:hover:not(:disabled){color:#fff;background-color:var(--color-warning);border-color:var(--color-warning)}.btn-outline-error{color:var(--color-error);background-color:transparent;border-color:var(--color-error)}.btn-outline-error:hover:not(:disabled){color:#fff;background-color:var(--color-error);border-color:var(--color-error)}.btn-ghost{color:var(--color-text-secondary);background-color:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){color:var(--color-text-primary);background-color:var(--color-bg-secondary);border-color:var(--color-border-primary)}.btn-text{color:var(--color-primary);background-color:transparent;border-color:transparent;padding:var(--spacing-xs) var(--spacing-sm);min-height:auto}.btn-text:hover:not(:disabled){color:var(--color-primary-hover);background-color:var(--color-primary-light)}.btn-link{color:var(--color-primary);background-color:transparent;border-color:transparent;text-decoration:underline;padding:0;min-height:auto}.btn-link:hover:not(:disabled){color:var(--color-primary-hover);text-decoration:none}.btn-group{display:inline-flex;vertical-align:middle}.btn-group .btn{position:relative;z-index:1}.btn-group .btn:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:2}.btn-block{display:flex;width:100%}.btn-fab{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);width:56px;height:56px;padding:0;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);z-index:var(--z-fixed)}.btn-fab:hover:not(:disabled){box-shadow:var(--shadow-xl);transform:scale(1.05)}.btn-loading{position:relative;pointer-events:none;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:btn-loading-spin 1s linear infinite}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-md)}.btn-icon.btn-sm{width:32px;height:32px}.btn-icon.btn-lg{width:48px;height:48px}.btn-icon.btn-xl{width:56px;height:56px}.btn-circle{border-radius:var(--radius-full)}@media (max-width: 640px){.btn-responsive{width:100%;justify-content:center}.btn-group{display:flex;flex-direction:column}.btn-group .btn{margin-left:0;margin-bottom:-1px;border-radius:var(--radius-md)}.btn-group .btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group .btn:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-fab{bottom:var(--spacing-md);right:var(--spacing-md)}}.btn-animate{overflow:hidden;position:relative}.btn-animate:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.btn-animate:active:before{width:300px;height:300px}.btn-gradient{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border:none;color:#fff;position:relative;overflow:hidden}.btn-gradient:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-gradient:hover:before{left:100%}.form{width:100%}.form-group{margin-bottom:var(--spacing-lg);position:relative}.form-group:last-child{margin-bottom:0}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-normal)}.form-label.required:after{content:" *";color:var(--color-error)}.form-input,.form-textarea,.form-select{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);background-image:none;border:1px solid var(--color-border-primary);border-radius:var(--radius-md);transition:all var(--transition-fast);min-height:40px}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary);opacity:1}.form-input-sm,.form-textarea-sm,.form-select-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);min-height:32px;border-radius:var(--radius-sm)}.form-input-lg,.form-textarea-lg,.form-select-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg);min-height:48px;border-radius:var(--radius-lg)}.form-textarea{min-height:80px;resize:vertical}.form-textarea-sm{min-height:60px}.form-textarea-lg{min-height:120px}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--spacing-sm) center;background-repeat:no-repeat;background-size:16px 12px;padding-right:var(--spacing-xl);cursor:pointer}.form-input.is-valid,.form-textarea.is-valid,.form-select.is-valid{border-color:var(--color-success)}.form-input.is-valid:focus,.form-textarea.is-valid:focus,.form-select.is-valid:focus{border-color:var(--color-success);box-shadow:0 0 0 3px var(--color-success-light)}.form-input.is-invalid,.form-textarea.is-invalid,.form-select.is-invalid{border-color:var(--color-error)}.form-input.is-invalid:focus,.form-textarea.is-invalid:focus,.form-select.is-invalid:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background-color:var(--color-bg-disabled);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.form-feedback{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.form-feedback.valid{color:var(--color-success)}.form-feedback.invalid{color:var(--color-error)}.form-help{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-normal)}.form-check{display:flex;align-items:flex-start;margin-bottom:var(--spacing-md);min-height:1.5rem}.form-check-input{width:1rem;height:1rem;margin-top:.25rem;margin-right:var(--spacing-sm);vertical-align:top;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);appearance:none;color-adjust:exact;cursor:pointer;transition:all var(--transition-fast)}.form-check-input[type=checkbox]{border-radius:var(--radius-xs)}.form-check-input[type=radio]{border-radius:var(--radius-full)}.form-check-input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}.form-check-input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-label{color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-base);line-height:var(--line-height-normal)}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280,0,0,0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280,0,0,0.25%29'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-file{position:relative;display:inline-block;width:100%}.form-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0;cursor:pointer}.form-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:var(--spacing-sm) var(--spacing-md);font-weight:var(--font-weight-normal);line-height:1.5;color:var(--color-text-secondary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);cursor:pointer}.form-file-label:after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:var(--spacing-sm) var(--spacing-md);line-height:1.5;color:var(--color-text-secondary);content:"Browse";background-color:var(--color-bg-secondary);border-left:inherit;border-radius:0 var(--radius-md) var(--radius-md) 0}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-input,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group-prepend,.input-group-append{display:flex}.input-group-text{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.5;color:var(--color-text-secondary);text-align:center;white-space:nowrap;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary)}.input-group-prepend .input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append .input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.input-group-prepend>.form-input,.input-group>.input-group-prepend>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append:not(:last-child)>.form-input,.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:last-child>.form-input:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.form-input,.input-group>.input-group-append>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.form-floating{position:relative}.form-floating>.form-input,.form-floating>.form-textarea,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25;padding:1rem .75rem}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}.form-floating>.form-input:focus~label,.form-floating>.form-input:not(:placeholder-shown)~label,.form-floating>.form-textarea:focus~label,.form-floating>.form-textarea:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-row{display:flex;flex-wrap:wrap;margin-right:calc(-1 * var(--spacing-sm));margin-left:calc(-1 * var(--spacing-sm))}.form-row>.col,.form-row>[class*=col-]{padding-right:var(--spacing-sm);padding-left:var(--spacing-sm)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0;margin-right:var(--spacing-md)}.form-inline .form-label{justify-content:center;margin-bottom:0;margin-right:var(--spacing-sm)}.form-inline .form-input,.form-inline .form-select{display:inline-block;width:auto;vertical-align:middle}@media (max-width: 640px){.form-inline{flex-direction:column;align-items:stretch}.form-inline .form-group{margin-right:0;margin-bottom:var(--spacing-md)}.form-inline .form-group:last-child{margin-bottom:0}.form-inline .form-label{margin-right:0;margin-bottom:var(--spacing-xs)}.form-inline .form-input,.form-inline .form-select{width:100%}.form-row{flex-direction:column;margin-right:0;margin-left:0}.form-row>.col,.form-row>[class*=col-]{padding-right:0;padding-left:0;margin-bottom:var(--spacing-md)}.form-row>.col:last-child,.form-row>[class*=col-]:last-child{margin-bottom:0}}.settings-form .form-group{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);align-items:start}@media (min-width: 768px){.settings-form .form-group{grid-template-columns:200px 1fr;align-items:center}.settings-form .form-label{margin-bottom:0}}.header{position:sticky;top:0;z-index:var(--z-sticky);background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-normal)}.header.scrolled{background-color:#fffffff2;box-shadow:var(--shadow-md)}.header-container{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);max-width:var(--container-2xl);margin:0 auto}.header-logo{display:flex;align-items:center;text-decoration:none;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);transition:color var(--transition-fast)}.header-logo:hover{color:var(--color-primary)}.header-logo img{height:32px;width:auto;margin-right:var(--spacing-sm)}.header-nav{display:flex;align-items:center;gap:var(--spacing-lg)}.nav-menu{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:var(--spacing-lg)}.nav-item{position:relative}.nav-link{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);text-decoration:none;font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--color-primary);background-color:var(--color-primary-light)}.nav-link.active:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:20px;height:2px;background-color:var(--color-primary);border-radius:var(--radius-full)}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.theme-toggle:hover{color:var(--color-primary);background-color:var(--color-primary-light)}.mobile-menu-toggle{display:none;flex-direction:column;justify-content:center;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:0;position:relative}.hamburger{display:flex;flex-direction:column;width:24px;height:18px;position:relative}.hamburger-line{display:block;height:2px;width:100%;background-color:var(--color-text-primary);border-radius:1px;transition:all var(--transition-normal);transform-origin:center}.hamburger-line:nth-child(1){margin-bottom:6px}.hamburger-line:nth-child(2){margin-bottom:6px}.mobile-menu-toggle.open .hamburger-line:nth-child(1){transform:translateY(8px) rotate(45deg)}.mobile-menu-toggle.open .hamburger-line:nth-child(2){opacity:0;transform:translate(-20px)}.mobile-menu-toggle.open .hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-nav{position:fixed;top:100%;left:0;right:0;background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);box-shadow:var(--shadow-lg);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--transition-normal);z-index:var(--z-dropdown);max-height:calc(100vh - 80px);overflow-y:auto}.mobile-nav.open{transform:translateY(0);opacity:1;visibility:visible}.mobile-nav-menu{list-style:none;margin:0;padding:var(--spacing-md) 0}.mobile-nav-item{border-bottom:1px solid var(--color-border-primary)}.mobile-nav-item:last-child{border-bottom:none}.mobile-nav-link{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-secondary);text-decoration:none;font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--color-primary);background-color:var(--color-primary-light)}.mobile-nav-link.active{font-weight:var(--font-weight-semibold)}.mobile-theme-toggle{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border-primary)}@media (max-width: 768px){.header-container{padding:var(--spacing-md)}.header-nav{display:none}.mobile-menu-toggle{display:flex}.header-logo{font-size:var(--font-size-lg)}.header-actions{gap:var(--spacing-sm)}.theme-toggle{width:36px;height:36px}}@media (max-width: 640px){.header-container{padding:var(--spacing-sm) var(--spacing-md)}.header-logo{font-size:var(--font-size-base)}.header-logo img{height:28px;margin-right:var(--spacing-xs)}}.nav-link:focus-visible,.mobile-nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes slideInFromTop{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.header.animate-in{animation:slideInFromTop .3s ease-out}@media (prefers-color-scheme: dark){.header.scrolled{background-color:#111827f2}}[data-theme=dark] .header.scrolled{background-color:#111827f2}@supports (backdrop-filter: blur(10px)){.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}@supports not (backdrop-filter: blur(10px)){.header{background-color:var(--color-bg-primary)}.header.scrolled{background-color:var(--color-bg-primary);box-shadow:var(--shadow-md)}}.home-page{min-height:100vh;background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%)}.upload-section{margin-bottom:var(--spacing-2xl)}.upload-wrapper{display:flex;justify-content:center;max-width:600px;margin:0 auto}.file-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:200px;padding:var(--spacing-xl);border:2px dashed var(--color-border-primary);border-radius:var(--radius-xl);background-color:var(--color-bg-secondary);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.file-upload-area:hover{border-color:var(--color-primary);background-color:var(--color-primary-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.file-upload-area.drag-over{border-color:var(--color-primary);background-color:var(--color-primary-light);transform:scale(1.02)}.file-upload-area.has-file{border-color:var(--color-success);background-color:var(--color-success-light)}.upload-content{display:flex;flex-direction:column;align-items:center;text-align:center;z-index:2}.upload-icon{margin-bottom:var(--spacing-md);color:var(--color-text-tertiary);transition:color var(--transition-fast)}.file-upload-area:hover .upload-icon{color:var(--color-primary)}.file-upload-area.has-file .upload-icon{color:var(--color-success)}.upload-text{width:100%}.upload-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.upload-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);line-height:var(--line-height-relaxed)}.upload-note{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.main-section{width:100%}.content-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-2xl);max-width:var(--container-2xl);margin:0 auto}.input-section,.output-section{width:100%}.output-content{min-height:400px;position:relative}.output-content.is-loading{pointer-events:none}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;padding:var(--spacing-xl)}.empty-icon{margin-bottom:var(--spacing-lg);color:var(--color-text-tertiary);opacity:.6}.empty-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.empty-description{font-size:var(--font-size-base);color:var(--color-text-tertiary);line-height:var(--line-height-relaxed)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;padding:var(--spacing-xl)}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite;margin-bottom:var(--spacing-lg)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.progress-text{font-size:var(--font-size-sm);color:var(--color-primary);margin-top:var(--spacing-sm);font-weight:var(--font-weight-medium);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.stream-content{width:100%;margin-bottom:var(--spacing-lg)}.stream-output{max-height:300px;overflow-y:auto;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:var(--spacing-md)}.stream-output pre{margin:0;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-primary);white-space:pre-wrap;word-wrap:break-word}.result-content{width:100%}.result-textarea{background-color:var(--color-bg-tertiary);border-color:var(--color-border-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.form-row{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);align-items:end}@media (min-width: 768px){.content-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-2xl)}.upload-wrapper{max-width:500px}.file-upload-area{min-height:160px;padding:var(--spacing-lg)}.form-row{grid-template-columns:1fr 1fr;align-items:end}}@media (min-width: 1024px){.content-grid{gap:var(--spacing-3xl)}.upload-wrapper{max-width:600px}.file-upload-area{min-height:180px}}@media (max-width: 640px){.home-page{padding:var(--spacing-md)}.upload-wrapper{margin:0 calc(-1 * var(--spacing-md))}.file-upload-area{border-radius:0;border-left:none;border-right:none;min-height:120px;padding:var(--spacing-lg) var(--spacing-md)}.content-grid{gap:var(--spacing-lg);margin:0 calc(-1 * var(--spacing-md))}.input-section .card,.output-section .card{border-radius:0;border-left:none;border-right:none}.form-row{gap:var(--spacing-md)}.upload-title{font-size:var(--font-size-base)}.upload-subtitle{font-size:var(--font-size-sm)}.empty-state,.loading-state{min-height:200px;padding:var(--spacing-lg) var(--spacing-md)}.empty-title{font-size:var(--font-size-lg)}}.file-upload-area:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease;z-index:1}.file-upload-area:hover:before{left:100%}.btn-generate{position:relative;overflow:hidden}.btn-generate.btn-loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite}.form-feedback.invalid{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.form-feedback.invalid:before{content:"⚠";font-size:var(--font-size-base)}.form-feedback.valid{color:var(--color-success);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.form-feedback.valid:before{content:"✓";font-size:var(--font-size-base)}.progress-bar{width:100%;height:4px;background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--spacing-md)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));border-radius:var(--radius-full);transition:width .3s ease;position:relative}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-shimmer 1.5s ease-in-out infinite}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-color-scheme: dark){.file-upload-area:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}}[data-theme=dark] .file-upload-area:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.download-info{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.download-filename{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--color-border-secondary);max-width:100%;word-break:break-all}.file-error{position:absolute;top:100%;left:0;right:0;background-color:var(--color-error-light);color:var(--color-error-dark);padding:var(--spacing-sm);border-radius:0 0 var(--radius-md) var(--radius-md);font-size:var(--font-size-sm);text-align:center;z-index:10}.settings-page{min-height:100vh;background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%);padding:var(--spacing-xl) 0}.settings-wrapper{max-width:800px;margin:0 auto;position:relative}.settings-form{width:100%}.form-section{margin-bottom:var(--spacing-3xl)}.form-section:last-child{margin-bottom:0}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-border-primary);position:relative}.section-title:after{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:2px;background-color:var(--color-primary)}.input-group{position:relative;display:flex}.input-group .form-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.input-group-append{display:flex}.input-group-append .btn{border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid var(--color-border-primary)}.theme-selector{width:100%}.theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.theme-option{position:relative;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-lg);border:2px solid var(--color-border-primary);border-radius:var(--radius-lg);background-color:var(--color-bg-primary);cursor:pointer;transition:all var(--transition-normal);overflow:hidden}.theme-option:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.theme-option.active{border-color:var(--color-primary);background-color:var(--color-primary-light);box-shadow:var(--shadow-lg)}.theme-option.active:before{content:"";position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:20px;height:20px;background-color:var(--color-primary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.theme-option.active:after{content:"✓";position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:20px;height:20px;color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;z-index:1}.theme-radio{position:absolute;opacity:0;pointer-events:none}.theme-preview{width:120px;height:80px;border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.theme-option:hover .theme-preview{transform:scale(1.05)}.theme-header{height:20px;width:100%}.theme-content{height:60px;padding:var(--spacing-xs);display:flex;gap:var(--spacing-xs)}.theme-card{flex:1;border-radius:var(--radius-xs)}.light-theme .theme-header{background-color:#fff;border-bottom:1px solid #e5e7eb}.light-theme .theme-content{background-color:#f9fafb}.light-theme .theme-card{background-color:#fff;border:1px solid #e5e7eb}.dark-theme .theme-header{background-color:#1f2937;border-bottom:1px solid #374151}.dark-theme .theme-content{background-color:#111827}.dark-theme .theme-card{background-color:#1f2937;border:1px solid #374151}.auto-theme .theme-header{background:linear-gradient(90deg,#fff 50%,#1f2937 50%);border-bottom:1px solid #9ca3af}.auto-theme .theme-content{background:linear-gradient(90deg,#f9fafb 50%,#111827 50%)}.auto-theme .theme-card:first-child{background-color:#fff;border:1px solid #e5e7eb}.auto-theme .theme-card:last-child{background-color:#1f2937;border:1px solid #374151}.theme-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-align:center}.theme-option.active .theme-name{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border-primary);margin-top:var(--spacing-3xl)}.settings-message{position:fixed;top:var(--spacing-xl);right:var(--spacing-xl);max-width:400px;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-toast);animation:slideInFromRight .3s ease-out}.settings-message.success{background-color:var(--color-success);color:#fff;border:1px solid var(--color-success)}.settings-message.error{background-color:var(--color-error);color:#fff;border:1px solid var(--color-error)}.settings-message.warning{background-color:var(--color-warning);color:#fff;border:1px solid var(--color-warning)}.message-content{display:flex;align-items:center;gap:var(--spacing-sm)}.message-icon{flex-shrink:0}.message-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.settings-page{padding:var(--spacing-lg) var(--spacing-md)}.settings-wrapper{margin:0}.theme-options{grid-template-columns:1fr;gap:var(--spacing-md)}.theme-option{padding:var(--spacing-md)}.theme-preview{width:100px;height:70px}.form-actions{flex-direction:column;gap:var(--spacing-sm)}.form-actions .btn{width:100%}.settings-message{top:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);max-width:none}}@media (max-width: 640px){.settings-page{padding:var(--spacing-md)}.settings-wrapper .card{margin:0 calc(-1 * var(--spacing-md));border-radius:0;border-left:none;border-right:none}.section-title{font-size:var(--font-size-base)}.form-section{margin-bottom:var(--spacing-xl)}.theme-preview{width:80px;height:60px}.input-group{flex-direction:column}.input-group .form-input{border-radius:var(--radius-md);border-right:1px solid var(--color-border-primary);margin-bottom:var(--spacing-xs)}.input-group-append .btn{border-radius:var(--radius-md);border-left:1px solid var(--color-border-primary)}}.form-group.has-error .form-label{color:var(--color-error)}.form-group.has-success .form-label{color:var(--color-success)}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:btn-loading-spin 1s linear infinite}.btn-loading.btn-primary:after{border-top-color:#fff}@keyframes btn-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-option{position:relative;overflow:hidden}.theme-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.theme-option:hover:before{left:100%}@media (prefers-color-scheme: dark){.theme-option:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent)}}[data-theme=dark] .theme-option:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent)}.settings-form *{transition:all var(--transition-fast)}.form-group,.form-label.required{position:relative}.form-label.required:after{content:" *";color:var(--color-error);font-weight:var(--font-weight-normal)}.form-help{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-tertiary);margin-top:var(--spacing-xs);display:flex;align-items:flex-start;gap:var(--spacing-xs)}.form-help:before{content:"ℹ";color:var(--color-info);font-size:var(--font-size-sm);flex-shrink:0;margin-top:1px}body{font-family:var(--font-family-sans);color:var(--color-text-primary);background-color:var(--color-bg-primary);line-height:var(--line-height-normal)}.app-container{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-bg-primary)}.main-content{flex:1;padding:var(--spacing-lg) 0;min-height:calc(100vh - 140px)}*{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){:root{--color-border-primary: #000000;--color-text-primary: #000000;--color-bg-primary: #ffffff}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary-light);color:var(--color-primary-dark)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.header[data-v-495ce71e]{position:sticky;top:0;z-index:100}.header a[data-v-495ce71e]{text-decoration:none;color:var(--color-text-primary)}.header a[data-v-495ce71e]:hover{color:var(--color-primary)}.footer[data-v-a990e02e]{margin-top:auto}.app-container[data-v-b713fe8c]{display:flex;flex-direction:column;min-height:100vh}.main-content[data-v-b713fe8c]{flex:1}
