:root{--font-inter:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--color-background:#f5f5f5;--color-surface:#f8fafc;--color-surface-elevated:#ffffff;--color-surface-elevated-hover:#f1f5f9;--color-text:#1e293b;--color-text-secondary:#64748b;--color-primary:#1360d8;--color-secondary:#10b981;--color-accent:#fcb826;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-border:#e2e8f0;--color-shadow:rgba(0,0,0,0.1)}[data-theme=dark]{--color-background:#0f172a;--color-surface:#1e293b;--color-surface-elevated:#1e293b;--color-surface-elevated-hover:#334155;--color-text:#f1f5f9;--color-text-secondary:#94a3b8;--color-primary:#548df1;--color-secondary:#10b981;--color-accent:#fdd269;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-border:#334155;--color-shadow:rgba(0,0,0,0.4)}body,html{max-width:100vw;overflow-x:hidden;font-family:var(--font-inter);background-color:var(--color-background);color:var(--color-text);transition:background-color .3s ease,color .3s ease}body{min-height:100vh;min-height:100dvh}a{color:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@media (min-width:768px){.container{padding:0 2rem}}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}html{scroll-behavior:smooth}a:focus-visible,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-out}.btn-hover{transition:all .2s ease}.btn-hover:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--color-shadow)}.btn-hover:active{transform:translateY(0)}.card-hover{transition:all .2s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--color-shadow)}