*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#f9fafb;color:#111827;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@tailwind base;@tailwind components;@tailwind utilities;@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-scroll{display:flex;width:fit-content;animation:scroll 30s linear infinite}.animate-scroll:hover{animation-play-state:paused}canvas{max-width:100%!important;height:auto!important}.font-serif{font-family:Playfair Display,Georgia,serif;font-weight:700;letter-spacing:-.5px}a,button{transition:all .3s ease}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}input[type=number],input[type=text],select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media print{body{background:#fff}}.top-ticker{background:#0f1724;color:#fff;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.03)}.top-ticker .ticker-viewport{display:flex;align-items:center;height:36px}.ticker-track{display:flex;flex-direction:row;align-items:center;gap:28px;will-change:transform;animation:ticker-scroll linear infinite;white-space:nowrap;min-width:200%}.ticker-item{display:inline-flex;align-items:center;gap:8px;padding:6px 4px;font-weight:700;font-size:14px;color:#e5e7eb}.ticker-item{white-space:nowrap}.ticker-symbol{color:#fff;margin-right:6px}.ticker-price{min-width:90px;text-align:right;transition:color .3s ease,transform .3s ease}.ticker-change.up{color:#10b981}.ticker-change.down{color:#ef4444}.ticker-price.up{color:#10b981;transform:translateY(-1px)}.ticker-price.down{color:#ef4444;transform:translateY(1px)}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.top-ticker:hover .ticker-track{animation-play-state:paused}
