:root{
    --bg:#07080c;
    --panel: rgba(18,20,28,.72);
    --stroke: rgba(255,255,255,.10);
    --stroke2: rgba(255,255,255,.14);
    --text:#eef0f6;
    --muted:#9aa3b2;
    --gold:#e2cb7a;
    --gold2:#c89c4f;
    --gold3:#f1dc96;
    --teal:#63dfd0;

    --glow1: rgba(110,140,255,.16);
    --glow2: rgba(196,92,255,.12);
    --glow3: rgba(65,225,190,.10);
}

.topbar{
    position:sticky;
    top:0;
    z-index:1000;
    border-bottom:1px solid var(--stroke);
    background:linear-gradient(180deg, rgba(17,19,27,.97), rgba(8,10,16,.94));
    backdrop-filter:blur(12px);
    box-shadow:0 14px 34px rgba(0,0,0,.32);
}

.topbar-inner{
    max-width:1600px;
    margin:0 auto;
    padding:10px 18px;
    min-height:86px;
    display:flex;
    align-items:center;
    gap:24px;
}

.brand{
    display:flex;
    align-items:center;
    min-width:0;
    flex:0 0 auto;
}

.logoMark,
.logoMark *{
    background:transparent !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:0 !important;
}

.logoMark{
    display:flex;
    align-items:center;
    justify-content:flex-start;
}

.logoMark a{
    display:inline-block;
    line-height:0;
}

.logoMark img{
    height:108px;
    width:auto;
    display:block;
    object-fit:contain;
    filter:drop-shadow(0 14px 30px rgba(0,0,0,.55));
}

.navShell{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:16px;
    min-width:0;
}

.mobileToggle{
    display:none;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.14);
    background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.22));
    color:#fff;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(0,0,0,.28);
}

.mobileToggle svg{
    width:20px;
    height:20px;
    stroke:currentColor;
    fill:none;
    stroke-width:2.3;
    stroke-linecap:round;
    stroke-linejoin:round;
    display:block;
}

.topnav{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.navMain{
    display:flex;
    align-items:center;
    gap:2px;
    min-width:0;
}

.navRight{
    display:flex;
    align-items:center;
    gap:10px;
    padding-left:14px;
    margin-left:4px;
    border-left:1px solid rgba(255,255,255,.10);
}

.navItem{
    position:relative;
}

.navLink,
.navDropToggle{
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 14px;
    border-radius:12px;
    color:rgba(255,255,255,.86);
    font-size:14px;
    font-weight:900;
    letter-spacing:.1px;
    white-space:nowrap;
    transition:background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
    border:1px solid transparent;
    background:transparent;
    cursor:pointer;
    font-family:inherit;
    text-decoration:none;
}

.navLink:hover,
.navDropToggle:hover,
.navItem.open > .navDropToggle,
.navItem.open > .navLink{
    color:#fff;
    border-color:rgba(226,203,122,.24);
    background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.18));
}

.navLink.active,
.navDropToggle.active,
.navUploadQuick.active{
    color:#fff;
    border-color:rgba(226,203,122,.34);
    background:linear-gradient(180deg, rgba(226,203,122,.14), rgba(0,0,0,.20));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.caret{
    width:10px;
    height:10px;
    display:inline-block;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-1px);
    opacity:.88;
    transition:transform .16s ease;
    margin-top:-3px;
}

.navItem.open > .navDropToggle .caret{
    transform:rotate(225deg) translateY(-1px);
    margin-top:3px;
}

.dropdownMenu{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    min-width:240px;
    max-width:320px;
    padding:10px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.12);
    background:linear-gradient(180deg, rgba(31,35,47,.98), rgba(11,13,19,.98));
    box-shadow:0 24px 60px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
    display:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

.dropdownMenu.rightAlign{
    left:auto;
    right:0;
}

/* ONLY open when JS adds .open */
.navItem.open > .dropdownMenu,
.accountMenu.open > .dropdownMenu{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
}

/* HARD STOP for old hover-open behaviour */
.navItem:not(.open):hover > .dropdownMenu,
.accountMenu:not(.open):hover > .dropdownMenu{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

.dropdownMenu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 12px;
    border-radius:12px;
    color:rgba(238,240,246,.90);
    font-size:14px;
    font-weight:700;
    line-height:1.35;
    transition:background .16s ease, color .16s ease, transform .16s ease;
    text-decoration:none;
}

.dropdownMenu a:hover{
    background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(0,0,0,.18));
    color:#fff;
    transform:translateX(1px);
}

.dropdownMenu a .menuNote{
    color:rgba(226,203,122,.90);
    font-size:11px;
    font-weight:900;
    letter-spacing:.2px;
    text-transform:uppercase;
    flex:0 0 auto;
}

.dropdownTitle{
    padding:6px 10px 9px;
    color:var(--gold);
    font-size:11px;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.9px;
}

.dropdownDivider{
    height:1px;
    margin:8px 0;
    background:rgba(255,255,255,.08);
}

.navUploadQuick{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:44px;
    padding:0 16px;
    border-radius:999px;
    font-weight:1000;
    font-size:13px;
    color:#fff;
    white-space:nowrap;
    background:linear-gradient(180deg, rgba(226,203,122,.20), rgba(0,0,0,.28));
    border:1px solid rgba(226,203,122,.26);
    box-shadow:0 8px 22px rgba(0,0,0,.32);
    transition:transform .16s ease, border-color .16s ease, background .16s ease;
    text-decoration:none;
}

.navUploadQuick:hover{
    border-color:var(--gold);
    transform:translateY(-1px);
    background:linear-gradient(180deg, rgba(226,203,122,.28), rgba(0,0,0,.34));
}

.profileButton{
    min-width:44px;
    padding:0 12px;
}

.profileIconSvg{
    width:18px;
    height:18px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    display:block;
}

.guestLinks{
    display:flex;
    align-items:center;
    gap:10px;
}

.guestLinks .navLink{
    padding:0 14px;
}

.navAccent{
    color:var(--gold3);
}

.mobileOverlay{
    display:none;
}

.footerWrap{
    max-width:1600px;
    margin:12px auto 0;
    padding:0 18px 30px;
}

.footerPanel{
    border:1px solid var(--stroke);
    border-radius:18px;
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.16)), var(--panel);
    box-shadow:0 22px 60px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
    padding:26px 20px 24px;
    text-align:center;
}

.footerLinks{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:14px 34px;
    margin-bottom:18px;
}

.footerLinks a{
    color:rgba(154,163,178,.92);
    font-size:14px;
    font-weight:500;
    text-decoration:none;
}

.footerLinks a:hover{
    color:var(--text);
}

.socialRow{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    margin:0 0 18px;
    flex-wrap:wrap;
}

.socialIcon{
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.12);
    background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.20));
    color:rgba(238,240,246,.92);
    transition:border-color .16s ease, transform .16s ease, background .16s ease;
    text-decoration:none;
}

.socialIcon:hover{
    border-color:rgba(255,255,255,.22);
    transform:translateY(-1px);
    background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(0,0,0,.24));
}

.socialIcon svg{
    width:18px;
    height:18px;
    fill:currentColor;
    display:block;
}

.footerCopy{
    color:rgba(154,163,178,.82);
    font-size:13px;
    line-height:1.6;
}

@media (max-width:1180px){
    .topbar-inner{
        min-height:76px;
    }

    .logoMark img{
        height:86px;
    }

    .mobileToggle{
        display:inline-flex;
    }

    .navShell{
        margin-left:auto;
    }

    .topnav{
        position:fixed;
        top:0;
        right:-100%;
        width:min(360px, 90vw);
        height:100vh;
        padding:96px 16px 22px;
        background:linear-gradient(180deg, rgba(20,23,31,.98), rgba(8,10,16,.98));
        border-left:1px solid rgba(255,255,255,.10);
        box-shadow:-18px 0 50px rgba(0,0,0,.45);
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:14px;
        overflow-y:auto;
        transition:right .22s ease;
        z-index:1002;
    }

    body.nav-open .topnav{
        right:0;
    }

    .mobileOverlay{
        position:fixed;
        inset:0;
        background:rgba(0,0,0,.56);
        backdrop-filter:blur(2px);
        z-index:1001;
    }

    body.nav-open .mobileOverlay{
        display:block;
    }

    .navMain,
    .navRight,
    .guestLinks{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:10px;
        width:100%;
    }

    .navRight{
        border-left:none;
        padding-left:0;
        margin-left:0;
        padding-top:12px;
        border-top:1px solid rgba(255,255,255,.08);
    }

    .navItem{
        width:100%;
    }

    .navLink,
    .navDropToggle,
    .navUploadQuick{
        width:100%;
        justify-content:space-between;
        min-height:46px;
        padding:0 14px;
        border-radius:14px;
        text-align:left;
    }

    .dropdownMenu{
        position:static;
        top:auto;
        left:auto;
        right:auto;
        min-width:0;
        max-width:none;
        margin-top:8px;
        display:none;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        border-radius:14px;
        padding:8px;
        background:rgba(255,255,255,.04);
        box-shadow:none;
    }

    .navItem.open > .dropdownMenu,
    .accountMenu.open > .dropdownMenu{
        display:block !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }

    .navItem:not(.open):hover > .dropdownMenu,
    .accountMenu:not(.open):hover > .dropdownMenu{
        display:none !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }

    .dropdownMenu a{
        padding:12px;
        border-radius:10px;
        font-size:13px;
    }

    .footerWrap{
        padding:0 14px 24px;
    }
}

@media (max-width:640px){
    .topbar-inner{
        padding:10px 14px;
    }

    .logoMark img{
        height:72px;
    }
}