/* Blueck — global stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');
@font-face{font-family:'Blanka';src:url('uploads/Blanka-Regular.otf') format('opentype');font-weight:normal;font-style:normal;font-display:swap;}

*{box-sizing:border-box;}
html,body{margin:0;background:#07070e;color:#e9ecff;font-family:'Space Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
h1{font-family:'Blanka','Space Grotesk',sans-serif;letter-spacing:0.08em!important;}
a{color:#6f9bff;text-decoration:none;}
a:hover{color:#a9c2ff;}

@keyframes bl-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* base hover motion */
a,button{transition:transform .2s cubic-bezier(.2,.7,.3,1),filter .2s ease,box-shadow .25s ease;}
a:hover{filter:brightness(1.18);transform:translateY(-1px);}
button:hover{filter:brightness(1.12);transform:translateY(-1px);}
button:active,a:active{transform:translateY(0);}

/* animated gradient underline links */
.lnk,.mm a,.ftr a{position:relative;text-decoration:none;}
.lnk:hover,.mm a:hover,.ftr a:hover{filter:none!important;transform:none!important;}
.lnk::after,.mm a::after,.ftr a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;border-radius:2px;background:linear-gradient(90deg,#4d80ff,#a24dff);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.3,1);}
.lnk:hover::after,.mm a:hover::after,.ftr a:hover::after{transform:scaleX(1);}
.ftr a{align-self:flex-start;}

/* outlined "ghost" buttons fill on hover */
.ghost:hover{background:rgba(70,100,255,0.32)!important;border-color:rgba(150,175,255,0.9)!important;color:#ffffff!important;box-shadow:0 10px 28px -10px rgba(90,110,255,0.85)!important;filter:none!important;}

/* horizontal album rail (Music) */
#blk-rail{scrollbar-width:none;-ms-overflow-style:none;}
#blk-rail::-webkit-scrollbar{display:none;}

/* form fields (Contact) */
input,textarea{font-family:'Space Grotesk',sans-serif;}
input::placeholder,textarea::placeholder{color:#5f6489;}
input:focus,textarea:focus{outline:none;border-color:rgba(120,150,255,0.6);}

@keyframes bl-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.bl-marquee-track{display:flex;gap:20px;width:max-content;animation:bl-marquee 45s linear infinite;}
.bl-marquee-mask:hover .bl-marquee-track{animation-play-state:paused;}
