*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{background:#0D1117;min-height:100vh;overflow-y:scroll;scrollbar-gutter:stable}
body{background:#0D1117;min-height:100vh}
body{color:#E6EDF3;font-family:'Inter',sans-serif;font-size:15px;line-height:1.6}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:#0D1117}
::-webkit-scrollbar-thumb{background:#30363D;border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:#58A6FF66}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit}

@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes pulse-dot{0%,100%{box-shadow:0 0 0 0 rgba(38,166,65,0.6)}70%{box-shadow:0 0 0 6px rgba(38,166,65,0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes tickUp{0%{transform:translateY(3px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}

/* Nav hover */
nav a{transition:color 150ms}
nav a:hover{color:#E6EDF3}

/* Signal card hover */
.sig-card{transition:background 150ms,box-shadow 150ms}
.sig-card:hover{background:#1C2128!important;box-shadow:0 4px 28px rgba(0,0,0,0.35)}

/* Tab buttons */
.tab-btn{transition:all 120ms}
.tab-btn.active{background:#1C2128;border-color:#58A6FF!important;color:#58A6FF!important}

/* Pair link hover */
.pair-link:hover{color:#58A6FF!important}

/* FxPro CTA hover */
.fxpro-btn:hover{background:rgba(88,166,255,0.06);border-color:rgba(88,166,255,0.5)!important}

/* analysis-link hover */
.analysis-link:hover{color:#58A6FF!important;border-color:rgba(88,166,255,0.3)!important;background:rgba(88,166,255,0.04)!important}

/* Skeleton loader */
.skeleton{background:linear-gradient(90deg,#161B22 25%,#1C2128 50%,#161B22 75%);background-size:200% 100%;animation:skeleton-shine 1.5s infinite}
@keyframes skeleton-shine{0%{background-position:200% 0}100%{background-position:-200% 0}}
