*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;font-size:16px;}body{font-family:var(--font-family);font-size:1rem;line-height:1.6;color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-md);}::-webkit-scrollbar{width:8px;height:8px;}::-webkit-scrollbar-track{background:var(--gray-100);}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-sm);}::-webkit-scrollbar-thumb:hover{background:var(--gray-500);}.text-center{text-align:center;}.text-left{text-align:left;}.text-right{text-align:right;}.hidden{display:none !important;}.visible{display:block !important;}.mb-0{margin-bottom:0 !important;}.mt-auto{margin-top:auto;}@keyframes fadeIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}@keyframes slideIn{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0);}40%{transform:translateY(-10px);}60%{transform:translateY(-5px);}}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}select:focus,button:focus{outline:2px solid var(--primary-color);outline-offset:2px;}