.launch-live{
    border-color:#16a34a !important;
    box-shadow:0 0 18px rgba(22,163,74,0.38) !important;
}

.ogx-legacy-topnav{
    background:#111827;
    padding:8px 14px;
    color:#a0a0a0;
    font-size:13px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    box-shadow:0 0 6px #000;
    gap:14px;
    min-height:58px;
}

.ogx-topnav-side{
    display:flex;
    align-items:center;
    min-width:0;
    position:relative;
}

.ogx-topnav-side-left{
    justify-content:flex-start;
}

.ogx-topnav-side-right{
    justify-content:flex-end;
}

.ogx-topnav-center{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    line-height:1.05;
    min-width:0;
}

.ogx-topnav-title-main{
    font-family:'Orbitron', sans-serif;
    font-size:20px;
    letter-spacing:0.20em;
    color:#f2f6ff;
    text-shadow:0 0 10px rgba(120,180,255,.12);
}

.ogx-topnav-title-sub{
    font-family:'Orbitron', sans-serif;
    font-size:9px;
    letter-spacing:0.22em;
    color:#9ba7bc;
    margin-top:5px;
    white-space:nowrap;
}

.ogx-topnav-title-sub2{
    font-family:'Orbitron', sans-serif;
    font-size:11px;
    letter-spacing:0.16em;
    color:#19a0ee;
    margin-top:3px;
    white-space:nowrap;
    text-transform:uppercase;
}

.ogx-topnav-lang-form{
    display:inline-flex;
    align-items:center;
}

.ogx-topnav-lang-form-desktop{
    display:inline-flex;
}

.ogx-topnav-lang-select{
    background:#222;
    color:#ccc;
    border:1px solid #3d4757;
    padding:4px 8px;
    font-size:11px;
    min-height:30px;
    font-family:'Oxanium', Tahoma, sans-serif;
}

.ogx-mobile-menu{
    display:none;
    position:relative;
}

.ogx-mobile-menu-btn{
    width:38px;
    height:38px;
    display:inline-flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:4px;
    border:1px solid #3d4757;
    background:linear-gradient(180deg, #1a2435 0%, #111827 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
    cursor:pointer;
    padding:0;
}

.ogx-mobile-menu-btn span{
    display:block;
    width:16px;
    height:2px;
    background:#d7e2f2;
    transition:transform .2s ease, opacity .2s ease;
}

.ogx-mobile-menu.is-open .ogx-mobile-menu-btn span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
}

.ogx-mobile-menu.is-open .ogx-mobile-menu-btn span:nth-child(2){
    opacity:0;
}

.ogx-mobile-menu.is-open .ogx-mobile-menu-btn span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
}

.ogx-mobile-menu-panel{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    min-width:180px;
    padding:10px;
    border:1px solid #415680;
    background:linear-gradient(180deg, rgba(17,29,52,.98) 0%, rgba(10,18,34,.99) 100%);
    box-shadow:0 10px 30px rgba(0,0,0,.45);
}

.ogx-mobile-menu-title{
    font-family:'Orbitron', sans-serif;
    font-size:10px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#c9d9ef;
    margin-bottom:8px;
    text-align:left;
}

.ogx-mobile-lang-form{
    display:block;
}

.ogx-topnav-lang-select-mobile{
    width:100%;
    min-width:0;
}

.ogx-topnav-spacer{
    height:74px;
}

.portal-solo-wrap{
    max-width:1040px;
    margin:0 auto;
}

.portal-mystery-stack{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.portal-layout-desktop{
    display:block;
}

.portal-layout-mobile{
    display:none;
}

.portal-private-panel{
    position:relative;
}

.portal-private-panel::before{
    content:"";
    position:absolute;
    left:18px;
    right:18px;
    top:-8px;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(120,190,255,.35), transparent);
    opacity:.7;
    pointer-events:none;
}

.portal-private-panel::after{
    content:"";
    position:absolute;
    left:26px;
    right:26px;
    bottom:-10px;
    height:24px;
    background:radial-gradient(circle at center, rgba(30,110,255,.12), transparent 70%);
    filter:blur(12px);
    opacity:.7;
    pointer-events:none;
}

.portal-private-panel-no-after::after{
    display:none;
}

.portal-private-th{
    vertical-align:top;
}

.portal-private-th-green{
    background-image:url('../upload/images/con_img.png');
    background-size:cover;
    background-position:center;
}

.portal-panel-separator{
    height:10px;
    margin:-2px 0 -2px;
    position:relative;
}

.portal-panel-separator::before{
    content:"";
    display:block;
    height:1px;
    margin:0 18px;
    background:linear-gradient(90deg, transparent, rgba(120,190,255,.45), transparent);
    opacity:.9;
}

.portal-panel-separator::after{
    content:"";
    position:absolute;
    left:28px;
    right:28px;
    top:-8px;
    height:22px;
    background:radial-gradient(circle at center, rgba(30,110,255,.14), transparent 70%);
    filter:blur(10px);
    opacity:.75;
    pointer-events:none;
}

.portal-server-grid-left{
    display:flex;
    justify-content:center;
    align-items:stretch;
    gap:10px;
    flex-wrap:wrap;
}

.portal-layout-desktop .portal-server-grid-left .portal-server-card{
    flex:0 1 330px;
    max-width:330px;
    width:100%;
}

.portal-server-grid-mobile{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    max-width:100%;
}

.portal-server-card{
    position:relative;
    overflow:hidden;
    padding:12px 12px 12px 40px;
    border:1px solid #466b9a;
    background:linear-gradient(180deg, rgba(17,29,52,.95) 0%, rgba(10,18,34,.98) 100%);
    text-align:center;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.05),
        inset 0 0 18px rgba(80,140,255,.04);
}

.portal-server-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 50% -15%, rgba(120,200,255,.10), transparent 46%);
    pointer-events:none;
}

.portal-server-card-mobile{
    padding:9px 10px 9px 34px;
}

.portal-server-card-name{
    position:relative;
    z-index:1;
    font-size:12px;
    font-weight:bold;
    color:#edf4ff;
    margin-bottom:4px;
}

.portal-server-card-mobile .portal-server-card-name{
    font-size:11px;
    margin-bottom:2px;
}

.portal-server-card-desc{
    position:relative;
    z-index:1;
    font-size:10px;
    color:#c8d8e8;
    margin-bottom:10px;
}

.portal-server-card-mobile .portal-server-card-desc{
    font-size:9px;
    margin-bottom:7px;
}

.portal-server-card-state{
    position:relative;
    z-index:1;
    display:inline-block;
    min-width:102px;
    padding:5px 10px;
    border:1px solid #415680;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:10px;
    background:#253046;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.portal-server-card-mobile .portal-server-card-state{
    min-width:84px;
    padding:4px 8px;
    font-size:9px;
}

.portal-server-card-state.is-online{
    color:#9bffb3;
    border-color:#21a35a;
}

.portal-server-card-state.is-live{
    color:#8fffbc;
    border-color:#16a34a;
}

.portal-server-card-state.is-research{
    color:#ffd66e;
    border-color:#c59524;
}

.server-state-badge{
    position:absolute;
    left:-1px;
    top:-1px;
    bottom:-1px;
    width:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-right:1px solid rgba(255,255,255,.10);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
    z-index:2;
    pointer-events:none;
}

.portal-server-card-mobile .server-state-badge{
    width:26px;
}

.server-state-icon{
    width:18px;
    height:18px;
}

.portal-server-card-mobile .server-state-icon{
    width:15px;
    height:15px;
}

.server-state-icon path{
    fill:none;
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.portal-server-card.is-online .server-state-badge{
    background:linear-gradient(180deg, rgba(120,255,185,.18) 0%, rgba(28,190,98,.90) 100%);
}

.portal-server-card.is-online .server-state-icon path{
    stroke:#ecfff2;
}

.portal-server-card.is-unavailable .server-state-badge{
    background:linear-gradient(180deg, rgba(255,210,120,.18) 0%, rgba(215,120,20,.90) 100%);
}

.portal-server-card.is-unavailable .server-state-icon path{
    stroke:#fff8ec;
}

.portal-auth-club{
    max-width:900px;
    margin:0 auto;
    padding:18px;
}

.portal-auth-club-mobile{
    padding:0;
}

.portal-auth-frame{
    position:relative;
    max-width:760px;
    margin:0 auto;
    padding:22px 22px 18px;
    border:1px solid rgba(69,100,143,.58);
    background:linear-gradient(180deg, rgba(5,18,36,.90) 0%, rgba(3,11,23,.985) 100%);
    box-shadow:
        inset 0 0 36px rgba(0,120,255,.05),
        inset 0 1px 0 rgba(255,255,255,.03),
        0 0 0 1px rgba(255,255,255,.015),
        0 28px 70px rgba(0,0,0,.40);
    overflow:hidden;
}

.portal-auth-frame-mobile{
    max-width:100%;
    margin:0;
    padding:18px 16px 16px;
}

.portal-auth-frame::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% -10%, rgba(80,170,255,.10), transparent 30%),
        radial-gradient(circle at 50% 110%, rgba(10,80,180,.10), transparent 35%),
        repeating-linear-gradient(
            90deg,
            rgba(120,180,255,.026) 0px,
            rgba(120,180,255,.026) 1px,
            transparent 1px,
            transparent 18px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(120,180,255,.018) 0px,
            rgba(120,180,255,.018) 1px,
            transparent 1px,
            transparent 14px
        );
    opacity:.85;
    pointer-events:none;
}




.portal-auth-eyebrow{
    margin-bottom:8px;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.28em;
    color:#8dbbe9;
    opacity:.9;
    text-align:center;
}

.portal-live-banner{
    margin:0 auto 10px auto;
    max-width:420px;
    border:1px solid #1aa95c;
    background:linear-gradient(180deg, rgba(9,17,30,.92) 0%, rgba(6,12,24,.96) 100%);
    color:#e5e7eb;
    box-shadow:
        inset 0 0 18px rgba(0,0,0,.35),
        0 0 10px rgba(20,150,70,.12);
    padding:8px 12px;
    text-align:center;
    min-height:auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.portal-live-label{
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:#dcecff;
    margin-bottom:1px;
    line-height:1.25;
}

.portal-live-countdown{
    font-family:'Orbitron', sans-serif;
    font-size:16px;
    line-height:1.05;
    letter-spacing:.08em;
    color:#f5fbff;
}

.portal-live-sub{
    margin-top:2px;
    font-size:10px;
    color:#86f7b0;
    line-height:1.25;
}

.portal-auth-tabs{
    max-width:340px;
    margin:10px auto 16px auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

.portal-auth-tab{
    min-height:36px;
    padding:6px 10px;
    border:1px solid #58719e;
    background:#455a86;
    color:#edf4ff;
    text-transform:uppercase;
    letter-spacing:.07em;
    font-size:10px;
    cursor:pointer;
    font-family:'Oxanium', Tahoma, sans-serif;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.portal-auth-tab.is-active{
    background:linear-gradient(180deg, #546b99 0%, #415680 100%);
    color:#fff;
    border-color:#6f88b5;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 0 12px rgba(90,140,255,.08);
}

.portal-auth-panels{
    min-height:0;
}

.portal-auth-form-panel{
    display:none;
}

.portal-auth-form-panel.is-active{
    display:block;
}

.portal-auth-form{
    max-width:510px;
    margin:0 auto;
}

.portal-field{
    margin-bottom:12px;
    text-align:left;
}

.portal-field label{
    display:block;
    margin-bottom:7px;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:#c8d8e8;
}

.portal-field input[type="text"],
.portal-field input[type="email"],
.portal-field input[type="password"]{
    width:100%;
    box-sizing:border-box;
    min-height:38px;
    padding:9px 11px;
    font-size:12px;
    background:#dfe5ef;
    color:#111827;
    border:1px solid #0a0a0a;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.20),
        0 4px 14px rgba(0,0,0,.28);
}

.portal-field input[type="text"]:focus,
.portal-field input[type="email"]:focus,
.portal-field input[type="password"]:focus{
    outline:none;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.25),
        0 0 0 1px rgba(120,180,255,.22),
        0 0 18px rgba(80,140,255,.14);
}

.portal-check-row{
    margin:8px 0 14px;
    color:#E6EBFB;
    font-size:11px;
    line-height:1.45;
    text-align:left;
}

.portal-check-row label{
    color:#E6EBFB;
    font-size:11px;
    line-height:1.45;
}

.portal-check-row input[type="checkbox"]{
    width:auto;
    min-height:auto;
    margin-right:6px;
    vertical-align:middle;
}

.portal-form-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.portal-form-actions-stack{
    flex-direction:column;
    align-items:stretch;
}

.portal-form-actions-stack input[type="submit"]{
    width:100%;
}

.portal-auth-note{
    margin:0 auto 14px;
    max-width:510px;
    text-align:center;
    font-size:10px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#7fa8d8;
    opacity:.82;
}

.portal-text-link{
    color:#99dfff;
    text-decoration:underline;
    font-size:11px;
    text-align:center;
}

.portal-text-link-accent{
    color:#8fffbc;
}

.portal-carousel{
    --slides-per-view:4;
    --carousel-gap:12px;
    --btn-size:46px;
    display:grid;
    grid-template-columns:var(--btn-size) minmax(0,1fr) var(--btn-size);
    gap:10px;
    align-items:center;
}

/* center col : viewport + dots stacked */
.portal-carousel-center{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-width:0;
}

.portal-carousel-viewport{
    overflow:hidden;
    width:100%;
}

.portal-carousel-track{
    display:flex;
    gap:var(--carousel-gap);
    transition:transform .45s cubic-bezier(.25,.46,.45,.94);
    will-change:transform;
}

/* ── Nav buttons ── */
.portal-carousel-btn{
    flex-shrink:0;
    width:var(--btn-size);
    height:var(--btn-size);
    border:1px solid rgba(0,240,255,.4);
    background:rgba(10,20,42,.9);
    color:#00f0ff;
    cursor:pointer;
    font-size:0;
    line-height:1;
    font-family:inherit;
    display:flex;
    align-items:center;
    justify-content:center;
    clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));
    transition:border-color .2s,box-shadow .2s,background .2s;
    position:relative;
    overflow:hidden;
}

.portal-carousel-btn svg{
    width:18px;
    height:18px;
    display:block;
    flex-shrink:0;
    position:relative;
    z-index:1;
}

.portal-carousel-btn::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(0,240,255,.18) 0%,transparent 65%);
    opacity:0;
    transition:opacity .2s;
}

.portal-carousel-btn:hover:not(:disabled){
    border-color:rgba(0,240,255,.75);
    background:rgba(0,240,255,.08);
    box-shadow:0 0 22px rgba(0,240,255,.3),inset 0 0 14px rgba(0,240,255,.1);
}

.portal-carousel-btn:hover:not(:disabled)::before{
    opacity:1;
}

.portal-carousel-btn:disabled{
    opacity:.22;
    cursor:default;
    border-color:rgba(65,86,128,.2);
    color:#415680;
}

/* ── Dots ── */
.portal-carousel-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:2px 0;
}

.portal-carousel-dot{
    width:24px;
    height:4px;
    background:rgba(65,86,128,.55);
    cursor:pointer;
    transition:background .3s,width .3s,box-shadow .3s;
    flex-shrink:0;
}

.portal-carousel-dot.is-active{
    background:#00f0ff;
    width:36px;
    box-shadow:0 0 10px rgba(0,240,255,.65);
}

/* ── Cards ── */
.portal-shot-card{
    flex:0 0 calc((100% - (var(--carousel-gap) * 3)) / 4);
    min-width:0;
    border:1px solid rgba(65,86,128,.5);
    background:rgba(8,16,32,.75);
    overflow:hidden;
    position:relative;
    transition:border-color .3s,box-shadow .3s,transform .3s;
}

.portal-shot-card::before{
    content:'';
    position:absolute;
    top:0;
    left:0;

    right:0;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(0,240,255,.7),transparent);
    opacity:0;
    transition:opacity .3s;
    z-index:2;
}

.portal-shot-card:hover{
    border-color:rgba(0,240,255,.38);
    box-shadow:0 0 24px rgba(0,240,255,.12),0 6px 24px rgba(0,0,0,.55);
    transform:translateY(-2px);
}

.portal-shot-card:hover::before{
    opacity:1;
}

/* ── Shot media ── */
.portal-shot-media{
    position:relative;
    aspect-ratio:16 / 10;
    background:#060e1c;
    overflow:hidden;
}

.portal-shot-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .45s ease,filter .45s ease;
}

.portal-shot-card:hover .portal-shot-media img{
    transform:scale(1.06);
    filter:brightness(1.08);
}

/* scan line sweep on hover */
.portal-shot-media::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom,transparent 0%,rgba(0,240,255,.06) 50%,transparent 100%);
    background-size:100% 200%;
    background-position:0 -100%;
    opacity:0;
    pointer-events:none;
    z-index:1;
    transition:opacity .3s;
}

.portal-shot-card:hover .portal-shot-media::after{
    opacity:1;
    animation:ogx-scan 2.2s linear infinite;
}

@keyframes ogx-scan{
    0%{background-position:0 -100%}
    100%{background-position:0 200%}
}

/* ── Overlay label ── */
.portal-shot-overlay{
    display:block;
    position:absolute;
    inset:auto 0 0;
    min-height:0;
    padding:28px 10px 8px;
    font-size:9px;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:#c8ddff;
    font-family:'Share Tech Mono',monospace;
    background:linear-gradient(to top,rgba(4,14,30,.95) 0%,rgba(4,14,30,.5) 50%,transparent 100%);
    text-align:left;
    pointer-events:none;
    z-index:2;
    border:0;
}

.portal-shot-media.is-placeholder .portal-shot-overlay{
    inset:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(4,14,30,.7);
}

.portal-shot-copy{
    padding:10px;
    text-align:left;
}

.portal-shot-copy strong{
    display:block;
    font-size:12px;
    color:#eef4ff;
    margin-bottom:6px;
}

.portal-shot-copy p{
    margin:0;
    font-size:11px;
    line-height:1.5;
    color:#d5deef;
}

.flash-messages{
    max-width:900px;
    margin:0 auto 14px;
}

.flash-error,
.flash-success{
    box-shadow:0 0 10px rgba(0,0,0,.16);
    border-radius:0;
}

@media (max-width: 900px){
    .portal-layout-desktop{
        display:none;
    }

    .portal-layout-mobile{
        display:block;
    }

    .ogx-legacy-topnav{
        grid-template-columns:44px 1fr 44px;
        gap:8px;
        padding:10px 12px;
        align-items:center;
    }

    .ogx-topnav-side-left{
        display:block;
    }

    .ogx-topnav-side-right{
        justify-content:flex-end;
        width:auto;
    }

    .ogx-topnav-lang-form-desktop{
        display:none;
    }

    .ogx-mobile-menu{
        display:block;
    }

    .ogx-topnav-title-main{
        font-size:15px;
    }

    .ogx-topnav-title-sub{
        font-size:8px;
        letter-spacing:0.18em;
        margin-top:3px;
    }

    .ogx-topnav-title-sub2{
        font-size:8px;
        letter-spacing:0.10em;
        margin-top:2px;
    }

    .ogx-topnav-spacer{
        height:82px;
    }

    .portal-solo-wrap{
        max-width:100%;
    }

    .portal-auth-tabs,
    .portal-auth-form{
        max-width:100%;
    }

    .portal-layout-mobile .portal-private-th{
        padding:12px !important;
    }

    .portal-layout-mobile .portal-auth-club-mobile{
        padding:0;
    }

    .portal-layout-mobile .portal-auth-frame-mobile{
        padding:18px 16px 16px;
    }

    .portal-layout-mobile .portal-auth-frame-mobile::after{
        inset:12px;
    }

    .portal-auth-eyebrow{
        margin-bottom:6px;
        font-size:9px;
        letter-spacing:.20em;
    }

    .portal-live-banner{
        max-width:100%;
        margin:0 auto 7px auto;
        padding:7px 10px;
    }

    .portal-live-label{
        font-size:8px;
        letter-spacing:.10em;
        margin-bottom:1px;
    }

    .portal-live-sub{
        font-size:9px;
        margin-top:1px;
        line-height:1.2;
    }

    .portal-auth-tabs{
        max-width:310px;
        margin:8px auto 10px auto;
        gap:6px;
    }

    .portal-auth-tab{
        min-height:30px;
        padding:4px 8px;
        font-size:9px;
    }

    .portal-auth-note{
        max-width:310px;
        margin:0 auto 10px;
        font-size:9px;
        letter-spacing:.10em;
        line-height:1.35;
    }

    .portal-auth-form{
        max-width:310px;
    }

    .portal-field{
        margin-bottom:9px;
    }

    .portal-field label{
        margin-bottom:5px;
        font-size:9px;
        letter-spacing:.10em;
    }

    .portal-field input[type="text"],
    .portal-field input[type="email"],
    .portal-field input[type="password"]{
        min-height:32px;
        padding:7px 9px;
        font-size:11px;
    }

    .portal-check-row{
        margin:6px 0 10px;
        font-size:10px;
        line-height:1.3;
    }

    .portal-check-row label{
        font-size:10px;
        line-height:1.3;
    }

    .portal-form-actions{
        gap:7px;
    }

    .portal-form-actions-stack input[type="submit"]{
        min-height:32px;
        font-size:10px;
        padding:6px 8px;
    }

    .portal-text-link{
        font-size:10px;
    }

    .portal-carousel{
        --slides-per-view:2;
        --btn-size:40px;
        gap:8px;
    }

    .portal-shot-card{
        flex-basis:calc((100% - var(--carousel-gap)) / 2);
    }
}

@media (max-width: 560px){
    .ogx-legacy-topnav{
        padding:9px 10px;
        grid-template-columns:40px 1fr 40px;
    }

    .ogx-topnav-title-main{
        font-size:14px;
    }

    .ogx-topnav-title-sub{
        font-size:7px;
        letter-spacing:0.12em;
    }

    .ogx-topnav-title-sub2{
        font-size:7px;
        letter-spacing:0.06em;
    }

    .ogx-topnav-spacer{
        height:78px;
    }

    .ogx-mobile-menu-btn{
        width:34px;
        height:34px;
    }

    .portal-layout-mobile .portal-private-th{
        padding:10px !important;
    }

    .portal-layout-mobile .portal-auth-frame-mobile{
        padding:16px 14px 14px;
    }

    .portal-layout-mobile .portal-auth-frame-mobile::after{
        inset:10px;
    }

    .portal-auth-tabs{
        max-width:100%;
        gap:5px;
        margin:7px auto 9px auto;
    }

    .portal-auth-tab{
        min-height:28px;
        padding:4px 6px;
        font-size:8px;
        letter-spacing:.05em;
    }

    .portal-auth-note{
        max-width:100%;
        font-size:8px;
        letter-spacing:.06em;
        margin-bottom:8px;
    }

    .portal-auth-form{
        max-width:100%;
    }

    .portal-field{
        margin-bottom:8px;
    }

    .portal-field label{
        font-size:8px;
        margin-bottom:4px;
    }

    .portal-field input[type="text"],
    .portal-field input[type="email"],
    .portal-field input[type="password"]{
        min-height:30px;
        padding:6px 8px;
        font-size:10px;
    }

    .portal-check-row{
        margin:5px 0 9px;
        font-size:9px;
    }

    .portal-check-row label{
        font-size:9px;
    }

    .portal-form-actions-stack input[type="submit"]{
        min-height:30px;
        font-size:9px;
    }

    .portal-text-link{
        font-size:9px;
    }

    .portal-live-banner{
        padding:6px 8px;
        margin-bottom:6px;
    }

    .portal-live-label{
        font-size:7px;
    }

    .portal-live-sub{
        font-size:8px;
    }

    .portal-carousel{
        --slides-per-view:1;
        --btn-size:36px;
        gap:6px;
    }

    .portal-shot-card{
        flex-basis:100%;
    }
}

.portal-lightbox{
    position:fixed;
    inset:0;
    z-index:2147483000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:15px;
}

.portal-lightbox[hidden]{
    display:none !important;
}

.portal-lightbox-backdrop{
    position:absolute;
    inset:0;
    background:rgba(3,8,18,.86);
    backdrop-filter:blur(4px);
    z-index:1;
}

.portal-lightbox-dialog{
    position:relative;
    z-index:2;
    width:min(1100px, calc(100vw - 30px));
    max-height:calc(100vh - 30px);
    background:linear-gradient(180deg, rgba(10,18,34,.98), rgba(6,11,22,.98));
    border:1px solid rgba(120,160,220,.28);
    box-shadow:0 22px 80px rgba(0,0,0,.55);
    border-radius:12px;
    overflow:hidden;
}

.portal-lightbox-close{
    position:absolute;
    top:8px;
    right:10px;
    z-index:3;
    width:42px;
    height:42px;
    border:0;
    border-radius:10px;
    cursor:pointer;
    background:rgba(8,16,28,.82);
    color:#e0ecff;
    font-size:28px;
    line-height:1;
}

.portal-lightbox-media-wrap{
    background:#02060d;
    text-align:center;
}

.portal-lightbox-image{
    display:block;
    width:100%;
    max-height:72vh;
    object-fit:contain;
    margin:0 auto;
}

.portal-lightbox-copy{
    padding:14px 16px 16px;
    text-align:left;
}

.portal-lightbox-title{
    color:#edf4ff;
    font-weight:700;
    font-size:18px;
    margin-bottom:6px;
}

.portal-lightbox-body{
    color:#c8d8e8;
    font-size:13px;
    line-height:1.55;
}

body.portal-lightbox-open{
    overflow:hidden;
}

.portal-shot-open{
    display:block;
    width:100%;
    padding:0;
    margin:0;
    border:0;
    background:transparent;
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    text-align:inherit;
    box-shadow:none;
}

.portal-shot-open:focus,
.portal-shot-open:focus-visible{
    outline:none;
    box-shadow:none;
}

.portal-shot-open::-moz-focus-inner{
    border:0;
    padding:0;
}

