*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{max-width:100vw;overflow-x:hidden}body{color:rgb(var(--foreground-rgb));background:linear-gradient(to bottom,transparent,rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb));font-family:var(--font-primary),-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-color)}button{border:none;background:none;cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:.5rem .75rem;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}img{max-width:100%;height:auto;display:block}:root{--primary-color:#007bff;--primary-rgb:0,123,255;--secondary-color:#6c757d;--success-color:#28a745;--warning-color:#ffc107;--error-color:#dc3545;--info-color:#17a2b8;--white:#ffffff;--gray-50:#f8f9fa;--gray-100:#f1f3f4;--gray-200:#e8eaed;--gray-300:#dadce0;--gray-400:#bdc1c6;--gray-500:#9aa0a6;--gray-600:#80868b;--gray-700:#5f6368;--gray-800:#3c4043;--gray-900:#202124;--black:#000000;--background-start-rgb:255,255,255;--background-end-rgb:255,255,255;--foreground-rgb:0,0,0;--border-color:var(--gray-300);--border-radius:0.375rem;--border-radius-lg:0.5rem;--border-radius-xl:0.75rem;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--font-primary:"Inter",sans-serif;--font-mono:"Fira Code","Monaco","Consolas",monospace;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}@media (prefers-color-scheme:dark){:root{--background-start-rgb:0,0,0;--background-end-rgb:0,0,0;--foreground-rgb:255,255,255;--border-color:var(--gray-700)}}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;margin-bottom:var(--space-4);color:var(--gray-900)}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:var(--space-4)}.container{max-width:var(--breakpoint-xl);margin:0 auto;padding:0 var(--space-4)}.container-fluid{width:100%;padding:0 var(--space-4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.w-full{width:100%}.h-full{height:100%}.m-0{margin:0}.p-0{padding:0}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.p-4{padding:var(--space-4)}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-in{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}::selection{background-color:rgba(var(--primary-rgb),.2);color:var(--gray-900)}@media print{*{background:transparent!important;color:black!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}}.body-container{position:relative;display:flex;flex-direction:column;overflow:auto}