/* ================= HEADER ================= */

.header{
width:100%;
background:#000;
position:fixed;
top:0;
left:0;
z-index:9999;
}

.header-spacer{
height:64px;
}

.header .nav{
max-width:1100px;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
padding:14px 20px;
}

.header .logo img{
height:38px;
}

.header .menu-desktop{
display:flex;
gap:22px;
align-items:center;
}

.header .menu-desktop a{
color:#9ca3af;
font-size:13px;
text-decoration:none;
position:relative;
transition:0.25s;
}

.header .menu-desktop a:hover{
color:#fff;
}

.header .menu-desktop a::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:0%;
height:2px;
background:#facc15;
transition:0.25s;
}

.header .menu-desktop a:hover::after{
width:100%;
}

.header .dropdown{
    position:relative;
}

.header .dropdown::after{
    content:"";
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    height:14px;
}

.header .dropdown-menu{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    background:#111;
    border:1px solid #222;
    border-radius:10px;
    padding:8px 0;
    min-width:220px;
    max-height:70vh;
    overflow-y:auto;
    overscroll-behavior:contain;
    z-index:9999;

    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(8px);
    transition:all .2s ease;
}

.header .dropdown:hover .dropdown-menu,
.header .dropdown:focus-within .dropdown-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
}

.header .dropdown-menu a{
    display:block;
    padding:10px 16px;
    color:#9ca3af;
    font-size:13px;
    text-decoration:none;
}

.header .dropdown-menu a:hover{
    background:#1a1a1a;
    color:#fff;
}

.header .dropdown-menu::-webkit-scrollbar{
    width:6px;
}

.header .dropdown-menu::-webkit-scrollbar-track{
    background:#111;
}

.header .dropdown-menu::-webkit-scrollbar-thumb{
    background:#333;
    border-radius:999px;
}

.header .dropdown-menu::-webkit-scrollbar-thumb:hover{
    background:#facc15;
}

.header .menu-desktop .donate-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:8px 16px;
border:1px solid #facc15;
border-radius:999px;
background:transparent;
color:#facc15;
font-size:13px;
font-weight:500;
line-height:1;
text-decoration:none;
transition:all .25s ease;
}

.header .menu-desktop .donate-btn:hover{
background:#facc15;
border-color:#facc15;
color:#000;
}

.header .menu-desktop .donate-btn::after{
display:none;
}

.header .hamburger{
display:none;
flex-direction:column;
gap:5px;
cursor:pointer;
}

.header .hamburger span{
width:26px;
height:3px;
background:#fff;
border-radius:2px;
transition:0.3s ease;
}

.header .hamburger.active span:nth-child(1){
transform:rotate(45deg) translate(5px,5px);
}

.header .hamburger.active span:nth-child(2){
opacity:0;
}

.header .hamburger.active span:nth-child(3){
transform:rotate(-45deg) translate(6px,-6px);
}

.header .menu-mobile{
display:none;
position:absolute;
top:64px;
right:14px;
background:#111;
border:1px solid #222;
border-radius:10px;
width:205px;
max-height:80vh;
overflow-y:auto;
z-index:9999;
}

.header .menu-mobile a{
display:block;
padding:15px 12px;
color:#9ca3af;
font-size:13px;
text-align:center;
text-decoration:none;
transition:0.25s;
}

.header .menu-mobile a:hover{
background:#1a1a1a;
color:#fff;
}

.header .menu-mobile.show{
display:block;
}

.mobile-main-menu{
display:block;
}

.mobile-footer-menu{
margin-top:6px;
padding-top:6px;
border-top:1px solid #222;
}

.mobile-footer-menu a{
display:block;
}

.donate-mobile{
display:inline-flex;
align-items:center;
justify-content:center;
margin:8px 12px;
padding:10px 12px;
border:none;
border-radius:0;
background:transparent;
color:#facc15;
font-size:13px;
font-weight:500;
line-height:1;
text-align:center;
transition:all .25s ease;
}

.donate-mobile:hover{
background:transparent;
color:#facc15;
opacity:0.85;
}

.header .menu-mobile .donate-mobile{
display:flex;
width:max-content;
margin:8px auto;
color:#facc15;
}

.header .menu-mobile .donate-mobile:hover{
background:transparent;
color:#facc15;
opacity:0.85;
}

.mobile-dropdown{
    width:100%;
}

.mobile-dropdown-toggle{
    width:100%;
    background:none;
    border:none;
    padding:15px 12px;
    color:#9ca3af;
    font-size:13px;
    text-align:center;
    cursor:pointer;
    border-top:1px solid #222;
}

.mobile-dropdown-menu{
    display:none;
    background:#0d0d0d;
    max-height:50vh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
}

.mobile-dropdown-menu.open{
    display:block;
}

.mobile-dropdown-menu a{
    display:block;
    padding:9px 12px;
    font-size:13px;
    color:#9ca3af;
    text-decoration:none;
}

.mobile-dropdown-menu a:hover{
    background:#1a1a1a;
    color:#fff;
}

.mobile-dropdown-menu::-webkit-scrollbar{
    width:4px;
}

.mobile-dropdown-menu::-webkit-scrollbar-thumb{
    background:#333;
    border-radius:999px;
}

@media(max-width:768px){
    .header .menu-desktop{
        display:none;
    }
    .header .hamburger{
        display:flex;
    }
    .header .menu-mobile{
        width:205px;
        right:14px;
    }
}

.footer{
width:100%;
margin-top:70px;
}

.footer-main{
background:#000;
text-align:center;
padding:40px 20px 30px;
}

.footer-menu{
margin-bottom:24px;
font-size:13px;
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:8px;
}

.footer-menu a{
color:#9ca3af;
text-decoration:none;
transition:0.25s;
}

.footer-menu a:hover{
color:#fff;
}

.footer-logo{
width:34px;
margin:0 auto 12px;
display:block;
}

.footer-title{
font-size:14px;
margin-bottom:4px;
}

.footer-title a{
color:#fff;
text-decoration:none;
}

.footer-tagline{
color:#9ca3af;
font-size:11px;
margin-bottom:8px;
}

.footer-supported{
color:#6b7280;
font-size:10px;
font-style:italic;
}

.footer-bottom{
background:#0b0b0b;
text-align:center;
padding:18px 10px;
}

.copyright{
color:#9ca3af;
font-size:13px;
}

.precision{
color:#6b7280;
font-size:11px;
}

.precision,
.precision a,
.footer-supported,
.footer-supported a{
color:#6b7280;
text-decoration:none;
}

.precision a:hover,
.footer-supported a:hover{
opacity:0.8;
}

#gate{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
display:none;
align-items:center;
justify-content:center;
z-index:2147483647;
pointer-events:auto;
background:rgba(0,0,0,0.65);
}

#gate .verify-root{
background:#000;
padding:28px 24px;
border-radius:14px;
border:2px solid rgba(255,255,255,0.6);
max-width:340px;
width:92%;
box-sizing:border-box;
text-align:center;
box-shadow:0 0 25px rgba(0,0,0,0.6),0 0 8px rgba(255,255,255,0.08);
}

#gate .clock{
width:80px;
height:80px;
border:1px solid rgba(255,255,255,0.6);
border-radius:50%;
position:relative;
margin:0 auto 20px;
}

#gate .hand{
position:absolute;
bottom:50%;
left:50%;
transform-origin:bottom;
}

#gate .hour{width:2px;height:20px;background:#facc15;}
#gate .minute{width:2px;height:28px;background:#ffffff;}
#gate .second{width:1px;height:34px;background:#ef4444;}

#gate .clock::after{
content:"";
position:absolute;
width:4px;
height:4px;
background:#ffffff;
border-radius:50%;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}

#gate .title{
font-size:15px;
margin-bottom:10px;
color:#fff;
}

#gate .subtitle{
font-size:12px;
color:#9ca3af;
margin-bottom:18px;
}

#gate .turnstile-wrap{
margin:18px 0;
display:flex;
justify-content:center;
align-items:center;
min-height:78px;
position:relative;
}

#gate .gate-captcha-loading{
display:none;
width:32px;
height:32px;
align-items:center;
justify-content:center;
}

#gate .turnstile-wrap.is-loading .gate-captcha-loading{
display:flex;
}

#gate .gate-captcha-loading span{
width:18px;
height:18px;
border:2px solid rgba(250,204,21,0.25);
border-top-color:#facc15;
border-radius:50%;
animation:gateCaptchaSpin 0.8s linear infinite;
}

@keyframes gateCaptchaSpin{
to{transform:rotate(360deg);}
}

#gate .desc{
font-size:11px;
color:#facc15;
margin-top:10px;
}
