*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{overflow-x:hidden!important;width:100%!important;position:relative!important}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh}#app{min-height:100vh;display:flex;flex-direction:column}::selection{background-color:var(--color-bronze-copper);color:var(--color-marble-black)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-marble-vein);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-bronze-copper)}:focus-visible{outline:2px solid var(--color-bronze-copper);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2;color:var(--color-text-primary)}h1{font-family:var(--font-display);font-size:clamp(var(--text-2xl),10vw,var(--text-5xl));letter-spacing:0;font-weight:600}h2{font-size:clamp(var(--text-xl),6vw,var(--text-3xl))}h3{font-size:var(--text-xl)}p{margin-bottom:var(--space-4)}a{color:var(--color-text-accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}a:hover{color:var(--color-string-gold)}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--container-2xl);margin:0 auto;padding:0 var(--space-5)}@media(max-width:768px){.container{padding:0 var(--space-4)}}@media(min-width:768px){.container{padding:0 var(--space-8)}}.section{padding:var(--space-12) 0}@media(max-width:768px){.section{padding:var(--space-8) 0}.card,.dashboard-card,.auth-card,.admin-card{padding:var(--space-4)!important}.container>div{margin-left:auto;margin-right:auto}}@media(min-width:768px){.section{padding:var(--space-16) 0}}.text-copper{color:var(--color-bronze-copper)}.text-center{text-align:center}.text-uppercase{text-transform:uppercase;letter-spacing:.1em}.overline{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-bronze-copper);margin-bottom:var(--space-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:0}
