:root{--color-bg:250 250 251;--color-bg-elevated:255 255 255;--color-bg-muted:245 245 246;--color-fg:17 24 39;--color-fg-muted:51 65 85;--color-fg-subtle:71 85 105;--color-brand-primary:37 99 235;--color-brand-secondary:79 70 229;--color-brand-gradient:linear-gradient(135deg,rgb(59 130 246),rgb(99 102 241));--color-success:34 197 94;--color-warning:251 191 36;--color-error:239 68 68;--color-info:59 130 246;--glass-bg:rgba(255,255,255,0.8);--glass-border:rgba(255,255,255,0.2);--glass-shadow:0 8px 32px rgba(0,0,0,0.1);--glass-blur:blur(10px);--space-0:0;--space-1:0.2rem;--space-2:0.4rem;--space-3:0.6rem;--space-4:0.8rem;--space-5:1rem;--space-6:1.2rem;--space-8:1.6rem;--space-10:2rem;--space-12:2.4rem;--space-16:3.2rem;--space-20:4rem;--space-24:4.8rem;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","SF Mono",Consolas,monospace;--text-xs:0.6rem;--text-sm:0.7rem;--text-lg:0.9rem;--text-xl:1rem;--text-2xl:1.2rem;--text-3xl:1.5rem;--text-4xl:1.8rem;--text-5xl:2.4rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--radius-sm:0.2rem;--radius-md:0.4rem;--radius-lg:0.6rem;--radius-xl:0.8rem;--radius-2xl:1.2rem;--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-sm:0 2px 4px rgba(0,0,0,0.05);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--shadow-lg:0 8px 24px rgba(0,0,0,0.12);--shadow-xl:0 16px 48px rgba(0,0,0,0.16);--shadow-2xl:0 24px 64px rgba(0,0,0,0.20);--shadow-glow:0 0 20px rgba(59,130,246,0.35);--z-base:0;--z-dropdown:10;--z-sticky:20;--z-fixed:30;--z-modal-backdrop:99998;--z-modal:99999;--z-popover:60;--z-tooltip:70;--duration-instant:0ms;--duration-fast:150ms;--duration-normal:250ms;--duration-slow:350ms;--duration-slower:500ms;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.175,0.885,0.32,1.275)}[data-theme=dark]{--color-bg:17 24 39;--color-bg-elevated:31 41 55;--color-bg-muted:55 65 81;--color-fg:243 244 246;--color-fg-muted:209 213 219;--color-fg-subtle:156 163 175;--color-brand-primary:96 165 250;--color-brand-secondary:129 140 248;--color-brand-gradient:linear-gradient(135deg,rgb(96 165 250),rgb(129 140 248));--color-success:74 222 128;--color-warning:251 191 36;--color-error:248 113 113;--color-info:96 165 250;--glass-bg:rgba(31,41,55,0.8);--glass-border:rgba(255,255,255,0.1);--glass-shadow:0 8px 32px rgba(0,0,0,0.3);--shadow-xs:0 1px 2px rgba(0,0,0,0.1);--shadow-sm:0 2px 4px rgba(0,0,0,0.15);--shadow-md:0 4px 12px rgba(0,0,0,0.2);--shadow-lg:0 8px 24px rgba(0,0,0,0.25);--shadow-xl:0 16px 48px rgba(0,0,0,0.3);--shadow-2xl:0 24px 64px rgba(0,0,0,0.35);--shadow-glow:0 0 20px rgba(96,165,250,0.5)}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:rgb(var(--color-bg-muted))}::-webkit-scrollbar-thumb{background:rgb(var(--color-fg-subtle));border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:rgb(var(--color-fg-muted))}.focus-ring{outline:none;box-shadow:0 0 0 2px rgb(var(--color-bg)),0 0 0 4px rgb(var(--color-brand-primary))}.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.gradient-text{background:var(--color-brand-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-fadeIn{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-slideIn{animation:slideIn var(--duration-normal) var(--ease-spring)}.animate-pulse{animation:pulse 2s infinite}.shimmer{background:linear-gradient(90deg,rgb(var(--color-bg-muted)) 25%,rgb(var(--color-bg-elevated)) 50%,rgb(var(--color-bg-muted)) 75%);background-size:1000px 100%;animation:shimmer 2s infinite}:root{--spacing-unit:0.5rem;--spacing-0:0;--spacing-1:calc(var(--spacing-unit) * 0.5);--spacing-2:var(--spacing-unit);--spacing-3:calc(var(--spacing-unit) * 1.5);--spacing-4:calc(var(--spacing-unit) * 2);--spacing-5:calc(var(--spacing-unit) * 2.5);--spacing-6:calc(var(--spacing-unit) * 3);--spacing-7:calc(var(--spacing-unit) * 3.5);--spacing-8:calc(var(--spacing-unit) * 4);--spacing-9:calc(var(--spacing-unit) * 4.5);--spacing-10:calc(var(--spacing-unit) * 5);--spacing-12:calc(var(--spacing-unit) * 6);--spacing-14:calc(var(--spacing-unit) * 7);--spacing-16:calc(var(--spacing-unit) * 8);--spacing-20:calc(var(--spacing-unit) * 10);--spacing-24:calc(var(--spacing-unit) * 12);--spacing-32:calc(var(--spacing-unit) * 16);--card-padding:var(--spacing-6);--card-padding-sm:var(--spacing-4);--card-padding-lg:var(--spacing-8);--section-padding:var(--spacing-8);--section-padding-sm:var(--spacing-6);--section-padding-lg:var(--spacing-12);--page-padding:var(--spacing-6);--page-padding-sm:var(--spacing-4);--page-padding-lg:var(--spacing-8);--baseline:1.5rem;--vertical-rhythm-sm:var(--baseline);--vertical-rhythm-md:calc(var(--baseline) * 2);--vertical-rhythm-lg:calc(var(--baseline) * 3)}.p-section{padding:var(--section-padding)}.p-card{padding:var(--card-padding)}.p-page{padding:var(--page-padding)}.px-section{padding-left:var(--section-padding);padding-right:var(--section-padding)}.py-section{padding-top:var(--section-padding);padding-bottom:var(--section-padding)}.px-card{padding-left:var(--card-padding);padding-right:var(--card-padding)}.py-card{padding-top:var(--card-padding);padding-bottom:var(--card-padding)}.mb-flow{margin-bottom:var(--vertical-rhythm-sm)}.mb-section{margin-bottom:var(--vertical-rhythm-md)}.mb-page{margin-bottom:var(--vertical-rhythm-lg)}.gap-flow{gap:var(--spacing-4)}.gap-section{gap:var(--spacing-8)}.gap-tight{gap:var(--spacing-2)}.gap-loose{gap:var(--spacing-6)}@media (max-width:640px){.p-section{padding:var(--section-padding-sm)}.p-card{padding:var(--card-padding-sm)}.p-page{padding:var(--page-padding-sm)}.px-section{padding-left:var(--section-padding-sm);padding-right:var(--section-padding-sm)}.py-section{padding-top:var(--section-padding-sm);padding-bottom:var(--section-padding-sm)}}@media (min-width:1024px){.p-section{padding:var(--section-padding-lg)}.p-card{padding:var(--card-padding-lg)}.p-page{padding:var(--page-padding-lg)}.px-section{padding-left:var(--section-padding-lg);padding-right:var(--section-padding-lg)}.py-section{padding-top:var(--section-padding-lg);padding-bottom:var(--section-padding-lg)}}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--page-padding);padding-right:var(--page-padding)}.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-max{max-width:var(--container-max)}.container-content{max-width:var(--content-medium);margin-left:auto;margin-right:auto}:root{--base-font-size:1rem;--base-line-height:1.5;--base-rhythm:calc(var(--base-font-size) * var(--base-line-height));--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.333rem;--text-2xl:1.777rem;--text-3xl:2.369rem;--text-4xl:3.157rem;--text-5xl:4.209rem;--leading-xs:1rem;--leading-sm:1.25rem;--leading-base:1.5rem;--leading-lg:1.75rem;--leading-xl:2rem;--leading-2xl:2.5rem;--leading-3xl:3rem;--leading-4xl:3.5rem;--leading-5xl:4rem;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--paragraph-spacing:var(--base-rhythm);--list-spacing:calc(var(--base-rhythm) * 0.5);--list-indent:var(--spacing-6)}html{font-size:var(--base-font-size);line-height:var(--base-line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-weight:var(--font-normal);color:rgb(var(--color-fg))}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight);margin-top:var(--base-rhythm);margin-bottom:var(--base-rhythm)}h1{line-height:var(--leading-4xl);font-weight:var(--font-bold)}h2{line-height:var(--leading-3xl)}h3{line-height:var(--leading-2xl)}h4{line-height:var(--leading-xl)}h5{line-height:var(--leading-lg)}h6{line-height:var(--leading-base);font-weight:var(--font-bold)}p{margin-bottom:var(--paragraph-spacing)}p:last-child{margin-bottom:0}ol,ul{margin-bottom:var(--paragraph-spacing);padding-left:var(--list-indent)}li{margin-bottom:var(--list-spacing)}li:last-child{margin-bottom:0}a{color:rgb(var(--color-brand-primary));text-decoration:none;transition:color var(--duration-fast)}a:hover{color:rgb(var(--color-brand-secondary));text-decoration:underline}code{font-size:.875em;padding:.125rem .375rem;border-radius:var(--radius-sm)}code,pre{font-family:var(--font-mono);background-color:rgb(var(--color-bg-muted))}pre{font-size:var(--text-sm);line-height:var(--leading-sm);padding:var(--spacing-4);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--paragraph-spacing)}pre code{background:none;padding:0;font-size:inherit}blockquote{border-left:4px solid rgb(var(--color-brand-primary));padding-left:var(--spacing-4);margin:var(--paragraph-spacing) 0;font-style:italic;color:rgb(var(--color-fg-muted))}small{font-size:var(--text-sm);line-height:var(--leading-sm)}b,strong{font-weight:var(--font-semibold)}em,i{font-style:italic}hr{border:none;border-top:1px solid rgb(var(--color-bg-muted));margin:calc(var(--base-rhythm) * 2) 0}.text-xs{font-size:var(--text-xs);line-height:var(--leading-xs)}.text-sm{font-size:var(--text-sm);line-height:var(--leading-sm)}.text-base{font-size:var(--text-base);line-height:var(--leading-base)}.text-lg{font-size:var(--text-lg);line-height:var(--leading-lg)}.text-xl{font-size:var(--text-xl);line-height:var(--leading-xl)}.text-2xl{font-size:var(--text-2xl);line-height:var(--leading-2xl)}.text-3xl{font-size:var(--text-3xl);line-height:var(--leading-3xl)}.text-4xl{font-size:var(--text-4xl);line-height:var(--leading-4xl)}.text-5xl{font-size:var(--text-5xl);line-height:var(--leading-5xl)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.tracking-tighter{letter-spacing:var(--tracking-tighter)}.tracking-tight{letter-spacing:var(--tracking-tight)}.tracking-normal{letter-spacing:var(--tracking-normal)}.tracking-wide{letter-spacing:var(--tracking-wide)}.tracking-wider{letter-spacing:var(--tracking-wider)}.tracking-widest{letter-spacing:var(--tracking-widest)}.text-fg{color:rgb(var(--color-fg))}.text-fg-muted{color:rgb(var(--color-fg-muted))}.text-fg-subtle{color:rgb(var(--color-fg-subtle))}.text-brand{color:rgb(var(--color-brand-primary))}.text-success{color:rgb(var(--color-success))}.text-warning{color:rgb(var(--color-warning))}.text-error{color:rgb(var(--color-error))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-3{-webkit-line-clamp:3}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}[data-focus-visible=true] :focus{outline:3px solid var(--color-brand-primary);outline-offset:2px}@media (prefers-contrast:high){:root{--color-brand-primary:0 90 255;--color-error:255 0 0;--color-success:0 128 0}.btn{border:2px solid!important}.input{border-width:2px!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.touch-target{min-height:44px;min-width:44px}.focus-trap{position:relative}.focus-trap:focus{outline:none}.keyboard-navigating .interactive:focus{outline:3px solid var(--color-brand-primary);outline-offset:2px;box-shadow:0 0 0 4px rgba(var(--color-brand-primary),.2)}.field-error{color:rgb(var(--color-error));font-size:.875rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.field-error[role=alert]{font-weight:500}.loading-indicator[role=status]{position:relative}.loading-indicator[role=status]:after{content:attr(aria-label);position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.required-indicator{color:rgb(var(--color-error));margin-left:.25rem;speak:literal-punctuation}.high-contrast{background-color:white!important;color:black!important;border:2px solid black!important}.high-contrast:hover{background-color:black!important;color:white!important}:root{--spacing-unit:0.4rem;--container-sm:512px;--container-md:614px;--container-lg:819px;--container-xl:1024px;--container-2xl:1229px;--container-max:1536px;--content-narrow:52ch;--content-medium:72ch;--content-wide:960px;--text-xs:0.64rem;--text-sm:0.72rem;--text-base:0.8rem;--text-lg:0.96rem;--text-xl:1.2rem;--text-2xl:1.44rem;--text-3xl:1.92rem;--text-4xl:2.4rem;--text-5xl:3.2rem;--baseline:1.2rem;--radius-sm:0.16rem;--radius-md:0.32rem;--radius-lg:0.48rem;--radius-xl:0.64rem;--radius-2xl:0.96rem;--radius-full:9999px}html{font-size:16px}body{font-size:var(--text-base);line-height:1.5}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}.input,input,select,textarea{font-size:var(--text-sm);padding:calc(var(--spacing-2) * .8) calc(var(--spacing-3) * .8)}.btn,button{font-size:var(--text-sm);padding:calc(var(--spacing-2) * .8) calc(var(--spacing-4) * .8)}.card{padding:calc(var(--card-padding) * .8)}.section{padding:calc(var(--section-padding) * .8)}.modal,[role=dialog]{max-width:80%}.dropdown-menu,.popover,[role=menu]{font-size:var(--text-sm)}table td,table th{padding:calc(var(--spacing-2) * .8) calc(var(--spacing-3) * .8)}.lucide,svg{width:1em;height:1em}.gap-1{gap:calc(var(--spacing-1) * .8)}.gap-2{gap:calc(var(--spacing-2) * .8)}.gap-3{gap:calc(var(--spacing-3) * .8)}.gap-4{gap:calc(var(--spacing-4) * .8)}.gap-5{gap:calc(var(--spacing-5) * .8)}.gap-6{gap:calc(var(--spacing-6) * .8)}.gap-8{gap:calc(var(--spacing-8) * .8)}.p-1{padding:calc(var(--spacing-1) * .8)}.p-2{padding:calc(var(--spacing-2) * .8)}.p-3{padding:calc(var(--spacing-3) * .8)}.p-4{padding:calc(var(--spacing-4) * .8)}.p-5{padding:calc(var(--spacing-5) * .8)}.p-6{padding:calc(var(--spacing-6) * .8)}.p-8{padding:calc(var(--spacing-8) * .8)}.m-1{margin:calc(var(--spacing-1) * .8)}.m-2{margin:calc(var(--spacing-2) * .8)}.m-3{margin:calc(var(--spacing-3) * .8)}.m-4{margin:calc(var(--spacing-4) * .8)}.m-5{margin:calc(var(--spacing-5) * .8)}.m-6{margin:calc(var(--spacing-6) * .8)}.m-8{margin:calc(var(--spacing-8) * .8)}.pl-1,.pr-1,.px-1{padding-left:calc(var(--spacing-1) * .8);padding-right:calc(var(--spacing-1) * .8)}.pl-2,.pr-2,.px-2{padding-left:calc(var(--spacing-2) * .8);padding-right:calc(var(--spacing-2) * .8)}.pl-3,.pr-3,.px-3{padding-left:calc(var(--spacing-3) * .8);padding-right:calc(var(--spacing-3) * .8)}.pl-4,.pr-4,.px-4{padding-left:calc(var(--spacing-4) * .8);padding-right:calc(var(--spacing-4) * .8)}.pl-5,.pr-5,.px-5{padding-left:calc(var(--spacing-5) * .8);padding-right:calc(var(--spacing-5) * .8)}.pl-6,.pr-6,.px-6{padding-left:calc(var(--spacing-6) * .8);padding-right:calc(var(--spacing-6) * .8)}.pl-8,.pr-8,.px-8{padding-left:calc(var(--spacing-8) * .8);padding-right:calc(var(--spacing-8) * .8)}.pb-1,.pt-1,.py-1{padding-top:calc(var(--spacing-1) * .8);padding-bottom:calc(var(--spacing-1) * .8)}.pb-2,.pt-2,.py-2{padding-top:calc(var(--spacing-2) * .8);padding-bottom:calc(var(--spacing-2) * .8)}.pb-3,.pt-3,.py-3{padding-top:calc(var(--spacing-3) * .8);padding-bottom:calc(var(--spacing-3) * .8)}.pb-4,.pt-4,.py-4{padding-top:calc(var(--spacing-4) * .8);padding-bottom:calc(var(--spacing-4) * .8)}.pb-5,.pt-5,.py-5{padding-top:calc(var(--spacing-5) * .8);padding-bottom:calc(var(--spacing-5) * .8)}.pb-6,.pt-6,.py-6{padding-top:calc(var(--spacing-6) * .8);padding-bottom:calc(var(--spacing-6) * .8)}.pb-8,.pt-8,.py-8{padding-top:calc(var(--spacing-8) * .8);padding-bottom:calc(var(--spacing-8) * .8)}.h-10{height:2rem}.h-12{height:2.4rem}.h-14{height:2.8rem}.h-16{height:3.2rem}.h-20{height:4rem}.w-10{width:2rem}.w-12{width:2.4rem}.w-14{width:2.8rem}.w-16{width:3.2rem}.w-20{width:4rem}.min-h-screen{min-height:100vh}.h-screen{height:100vh}.leading-none{line-height:1}.leading-tight{line-height:1.2}.leading-snug{line-height:1.3}.leading-normal{line-height:1.4}.leading-relaxed{line-height:1.5}.leading-loose{line-height:1.6}@media (max-width:640px){:root{--text-base:0.875rem}}