/*
Theme Name: Space 2047 Command Deck Adventure Update
Theme URI: https://space2047.com
Author: Benjamin Arthur Robinson
Description: Space 2047 command deck theme with interactive galaxy map.
Version: 2.6.5 Adventure Game
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: space2047-command-deck
*/

:root{--bg:#020713;--panel:#071426;--panel2:#0b1c30;--blue:#45dcff;--gold:#f7c64a;--orange:#ff9a22;--green:#75ff6c;--text:#eaf8ff}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 15%,#12345a55,transparent 30%),radial-gradient(circle at 80% 25%,#a36a1d44,transparent 28%),#020713;color:var(--text);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:90px 90px;opacity:.2;animation:stars 35s linear infinite;pointer-events:none;z-index:-1}@keyframes stars{to{transform:translateY(90px)}}
a{color:var(--blue)}.wrap{width:min(1500px,96vw);margin:auto}.site-header{background:linear-gradient(#020713ee,#02071388);border-bottom:1px solid #f7c64a66;padding-top:14px}.topbar{display:grid;grid-template-columns:250px 1fr 320px;gap:12px}
.logo{padding:14px 18px;text-decoration:none;border:1px solid #f7c64a88;background:#071426;box-shadow:0 0 18px #45dcff33;clip-path:polygon(0 0,94% 0,100% 18%,100% 100%,0 100%)}.logo strong{display:block;color:var(--gold);font-size:42px;line-height:.86;text-shadow:0 0 12px #f7c64a77}.logo span{color:white;text-transform:uppercase;font-weight:900;letter-spacing:2px;font-size:13px}
.nav{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:stretch}.nav a{min-width:92px;min-height:54px;display:flex;align-items:center;justify-content:center;padding:8px 10px;border:1px solid #45dcff55;background:linear-gradient(#0b1c30,#050b14);text-decoration:none;color:#f4d578;text-transform:uppercase;font-weight:900;font-size:12px}.nav a:hover{box-shadow:0 0 18px #f7c64a55;color:white}
.status,.panel{border:1px solid #45dcff55;background:linear-gradient(#071426ee,#050b14ee);box-shadow:0 0 18px #45dcff33,inset 0 0 18px #45dcff10}.status{padding:12px}.status h3,.panel h3{margin:0 0 10px;color:var(--blue);letter-spacing:1px;text-transform:uppercase}.meter{display:grid;grid-template-columns:80px 1fr 42px;gap:8px;align-items:center;margin:8px 0;color:var(--green);font-weight:700;font-size:12px}.bar{height:10px;background:#092133}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green))}.bar.gold span{background:linear-gradient(90deg,var(--orange),var(--gold))}
.marquee{overflow:hidden;white-space:nowrap;background:#04070d;color:var(--green);font-weight:900;border-top:1px solid #f33a;border-bottom:1px solid #f33a;margin-top:12px}.marquee span{display:inline-block;padding:8px 0;animation:marquee 28s linear infinite}@keyframes marquee{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}
.hero{position:relative;min-height:360px;margin:16px auto 12px;border:1px solid #45dcff66;background:radial-gradient(circle at 60% 35%,#45dcff22,transparent 22%),linear-gradient(90deg,#020713,#0d2744aa,#020713);overflow:hidden;box-shadow:0 0 22px #45dcff30}.hero-content{position:relative;z-index:2;width:min(780px,92%);padding:56px 42px}.hero small{letter-spacing:6px;text-transform:uppercase;font-weight:900}.hero h1{font-size:clamp(58px,8vw,118px);line-height:.88;margin:14px 0;color:#bdefff;text-shadow:0 0 18px #45dcff}.hero h2{color:var(--gold);text-transform:uppercase;letter-spacing:3px}.hero p{font-size:18px;line-height:1.55}.ship{position:absolute;right:6%;top:25%;width:min(520px,43vw);height:130px;transform:rotate(-8deg);filter:drop-shadow(0 0 20px #45dcff99)}.ship:before{content:"ARE WE THERE YET?";position:absolute;inset:28px 52px;border:2px solid #45dcff55;border-radius:50px 18px 18px 50px;background:linear-gradient(90deg,#15243a,#0a0f19);display:flex;align-items:center;justify-content:center;color:var(--gold);font-weight:900}.ship:after{content:"";position:absolute;right:-42px;top:48px;width:120px;height:34px;background:radial-gradient(circle,#45dcff,transparent 70%);animation:engine .5s infinite alternate}@keyframes engine{to{transform:scaleX(1.2);opacity:.7}}
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.tile{min-height:96px;padding:15px;border:1px solid #f7c64a77;background:linear-gradient(135deg,#0b1c30,#050b14);text-decoration:none;color:white;display:flex;flex-direction:column;justify-content:center;box-shadow:0 0 18px #45dcff33}.tile strong{color:var(--gold);font-size:18px;text-transform:uppercase}.tile span{color:#c8ecff;font-size:12px;margin-top:6px}
.grid{display:grid;grid-template-columns:1.05fr 1.25fr 1.1fr .9fr;gap:12px;margin:12px auto}.panel{padding:16px}.book{display:grid;grid-template-columns:115px 1fr;gap:14px}.cover{min-height:170px;border:1px solid #f7c64a88;background:linear-gradient(160deg,#071426,#1f3b55);color:var(--gold);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:24px}.button{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:9px 18px;border:1px solid #f7c64aaa;background:linear-gradient(#f4cc58,#b98620);color:#16120a;text-decoration:none;font-weight:900;text-transform:uppercase;border-radius:5px}
.chars{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.char{min-height:190px;padding:10px;border:1px solid #45dcff44;background:#ffffff08;text-align:center}.avatar{height:96px;border-radius:9px;background:radial-gradient(circle at 50% 30%,#f7c64a55,transparent 28%),linear-gradient(135deg,#18324b,#050914);margin-bottom:10px}.char strong{display:block;color:var(--gold);font-size:13px;text-transform:uppercase}.char span{font-size:11px;color:#d5edf8}
.galaxy{position:relative;min-height:245px;border:1px solid #45dcff33;background:repeating-radial-gradient(circle at 50% 50%,#45dcff44 0 1px,transparent 1px 40px)}.planet{position:absolute;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#9bff7b,#1c7a39);font-size:11px;font-weight:900;box-shadow:0 0 22px #79ff6a88}.p1{left:45%;top:38%}.p2{left:12%;top:62%;background:radial-gradient(circle,#ff6f52,#5b0c12)}.p3{right:10%;top:58%;background:radial-gradient(circle,#b07cff,#28154f)}.p4{right:18%;top:12%;background:radial-gradient(circle,#f7c64a,#6b4510)}
.news ul{list-style:none;margin:0;padding:0}.news li{border-bottom:1px solid #45dcff33;padding:9px 0;font-size:13px}.news strong{display:block;color:var(--blue)}.bottom{display:grid;grid-template-columns:1fr 1fr 1.4fr 1fr 1fr;gap:12px;margin:12px auto 16px}.wave{height:44px;background:linear-gradient(90deg,transparent 0 2%,#45dcff 2% 3%,transparent 3% 7%);background-size:35px 100%;animation:wave 1s linear infinite;border:1px solid #45dcff33}@keyframes wave{to{background-position:35px 0}}
.entry-title,.entry-content{width:min(1100px,94vw);margin:24px auto}.entry-title{color:var(--gold);text-transform:uppercase}.entry-content{padding:24px;border:1px solid #45dcff44;background:#071426ee;box-shadow:0 0 18px #45dcff33}.footer{text-align:center;color:#94bed0;background:#020713;border-top:1px solid #f7c64a55;padding:14px 0 22px}.alert{color:#ff5d5d;overflow:hidden;white-space:nowrap;border-top:1px solid #f335;border-bottom:1px solid #f335;padding:8px}.alert span{display:inline-block;animation:marquee 25s linear infinite}
@media(max-width:1100px){.topbar{grid-template-columns:1fr}.grid,.bottom{grid-template-columns:1fr 1fr}.tiles{grid-template-columns:1fr 1fr 1fr}}@media(max-width:760px){.grid,.bottom,.tiles{grid-template-columns:1fr}.chars{grid-template-columns:1fr 1fr}.ship{opacity:.35;width:85vw;right:-20%}.hero-content{padding:36px 22px}.nav a{min-width:calc(50% - 6px)}}


/* Clean Home icon + Hamburger Menu rebuild */
.clean-topbar{
    display:grid !important;
    grid-template-columns:240px 1fr auto !important;
    gap:14px !important;
    align-items:center !important;
}

.site-header .nav,
.site-header .primary-menu{
    display:none !important;
}

.header-actions{
    display:flex;
    gap:10px;
    align-items:center;
    justify-content:flex-end;
}

.home-icon-button{
    width:56px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:30px;
    font-weight:900;
    border-radius:8px;
    border:1px solid #45dcff;
    background:linear-gradient(#0b1c30,#050b14);
    color:#45dcff;
    box-shadow:0 0 16px rgba(69,220,255,.35);
}

.command-menu-button{
    min-height:52px;
    border:1px solid #f7c64aaa;
    background:linear-gradient(#f4cc58,#b98620);
    color:#16120a;
    font-weight:1000;
    text-transform:uppercase;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    cursor:pointer;
    padding:0 18px;
    box-shadow:0 0 18px #f7c64a44;
}

.command-lines,.command-lines:before,.command-lines:after{
    display:block;
    width:22px;
    height:3px;
    background:#16120a;
    border-radius:2px;
    content:"";
}
.command-lines{position:relative}
.command-lines:before{position:absolute;top:-7px}
.command-lines:after{position:absolute;top:7px}

.command-backdrop{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.68);
    z-index:9998;
    opacity:0;
    transition:opacity .22s ease;
}
.command-backdrop.is-open{opacity:1}

.command-drawer{
    position:fixed;
    right:0;
    top:0;
    width:min(430px,94vw);
    height:100vh;
    z-index:9999;
    background:linear-gradient(180deg,#071426,#020713);
    border-left:2px solid #45dcff;
    box-shadow:0 0 32px #45dcff66;
    transform:translateX(105%);
    transition:transform .25s ease;
    overflow-y:auto;
    padding:16px;
}
.command-drawer.is-open{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #45dcff44;padding-bottom:12px;margin-bottom:14px}
.drawer-head strong{color:#f7c64a;text-transform:uppercase;font-size:20px;letter-spacing:1px}
.drawer-close{width:46px;height:46px;border:1px solid #f7c64a;background:#050b14;color:#f7c64a;border-radius:50%;font-size:30px;line-height:1;cursor:pointer}
.drawer-grid{display:grid;grid-template-columns:1fr;gap:9px;padding-bottom:30px}
.drawer-grid a{display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;padding:10px 12px;border:1px solid #45dcff66;background:linear-gradient(#0b1c30,#050b14);text-decoration:none;color:#f4d578;text-transform:uppercase;font-weight:900;border-radius:7px}
body.command-menu-open{overflow:hidden}

/* New book advert inside original stable box */
.featured-wide-advert-panel{
    grid-column:1 / -1;
    overflow:visible !important;
}
.featured-wide-advert-link{
    display:block;
    line-height:0;
}
.featured-wide-advert-img{
    display:block;
    width:100%;
    height:auto;
    max-width:100%;
    object-fit:contain;
    object-position:center center;
    border:2px solid #45dcff;
    border-radius:10px;
    box-shadow:0 0 24px rgba(69,220,255,.45);
}

.tiles{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
}
.tile{min-width:0 !important;width:100% !important}

@media(max-width:1100px){
    .clean-topbar{
        grid-template-columns:1fr !important;
    }
    .logo{text-align:center}
    .status{display:none !important}
    .header-actions{justify-content:center}
    .command-menu-button{min-width:130px}
}


/* Final Space 2047 advert + Are We There Yet spaceship update */
.ship-image-box{
    position:absolute;
    right:4%;
    top:18%;
    width:min(560px,42vw);
    border:2px solid #45dcff;
    border-radius:14px;
    overflow:hidden;
    background:#020713;
    box-shadow:0 0 26px rgba(69,220,255,.45);
    transform:rotate(-3deg);
    z-index:1;
}
.ship-image-box img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
}

.featured-wide-advert-panel{
    grid-column:1 / -1 !important;
    overflow:visible !important;
}
.featured-wide-advert-link{
    display:block !important;
    width:100% !important;
    line-height:0 !important;
}
.featured-wide-advert-img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    border:2px solid #45dcff;
    border-radius:10px;
    box-shadow:0 0 24px rgba(69,220,255,.45);
}

.tiles{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
}
.tile{
    min-width:0 !important;
    width:100% !important;
}
.grid{
    overflow:visible !important;
}
.panel{
    min-width:0 !important;
}

@media(max-width:1100px){
    .ship-image-box{
        position:relative !important;
        right:auto !important;
        top:auto !important;
        width:92% !important;
        margin:10px auto 20px !important;
        transform:none !important;
    }
    .hero{
        display:block !important;
    }
}

.topbar{grid-template-columns:250px 220px 220px !important;justify-content:space-between;align-items:center}
.status{transform:scale(.85);transform-origin:center}
.hero-content,.panel,.tile,.status,.ship-image-box{text-align:center}
.panel,.tile{display:flex;flex-direction:column;justify-content:center;align-items:center}
.radio-eq{display:flex;gap:4px;justify-content:center;align-items:end;height:40px}
.radio-eq span{width:8px;background:#45dcff;animation:eq 1s infinite alternate}
.radio-eq span:nth-child(2){animation-delay:.2s}
.radio-eq span:nth-child(3){animation-delay:.4s}
.radio-eq span:nth-child(4){animation-delay:.6s}
.radio-eq span:nth-child(5){animation-delay:.8s}
@keyframes eq{from{height:8px}to{height:40px}}


/* Real top radio player beside logo */
.clean-topbar,
.topbar.clean-topbar{
    grid-template-columns:240px minmax(220px,1fr) auto !important;
    gap:12px !important;
    align-items:center !important;
}

.top-radio{
    border:1px solid #45dcff66;
    background:linear-gradient(#071426ee,#050b14ee);
    box-shadow:0 0 18px #45dcff33,inset 0 0 18px #45dcff10;
    padding:10px;
    border-radius:10px;
    text-align:center;
    min-width:0;
}

.top-radio h3{
    margin:0 0 5px;
    color:#45dcff;
    text-transform:uppercase;
    letter-spacing:1px;
    font-size:14px;
}

.top-radio-track{
    color:#fff;
    font-weight:800;
    font-size:12px;
    min-height:18px;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.top-radio .radio-eq{
    display:flex;
    gap:4px;
    justify-content:center;
    align-items:end;
    height:28px;
    margin:4px 0 7px;
}

.top-radio .radio-eq span{
    width:7px;
    height:8px;
    background:#45dcff;
    box-shadow:0 0 8px #45dcff;
    animation:eq 1s infinite alternate paused;
}

.top-radio.radio-playing .radio-eq span{
    animation-play-state:running;
}

.top-radio .radio-eq span:nth-child(2){animation-delay:.15s}
.top-radio .radio-eq span:nth-child(3){animation-delay:.3s}
.top-radio .radio-eq span:nth-child(4){animation-delay:.45s}
.top-radio .radio-eq span:nth-child(5){animation-delay:.6s}

.top-radio-controls button{
    border:1px solid #f7c64a;
    background:linear-gradient(#f4cc58,#b98620);
    color:#16120a;
    border-radius:6px;
    padding:5px 10px;
    font-weight:900;
    cursor:pointer;
}

.status{
    max-width:230px !important;
    padding:8px !important;
    transform:none !important;
}
.status h3{font-size:13px !important;margin-bottom:5px !important}
.status .meter{
    grid-template-columns:60px 1fr 34px !important;
    gap:5px !important;
    margin:4px 0 !important;
    font-size:10px !important;
}
.status .bar{height:7px !important}

@media(max-width:1200px){
    .clean-topbar,
    .topbar.clean-topbar{
        grid-template-columns:1fr !important;
    }
    .top-radio{
        width:min(520px,96vw);
        margin:auto;
    }
    .status{
        display:block !important;
        margin:auto;
        width:min(420px,96vw);
        max-width:420px !important;
    }
    .header-actions{
        justify-content:center !important;
    }
}


/* Enhanced top radio: equaliser left and right, player in middle */
.top-radio{
    display:grid !important;
    grid-template-columns:1fr minmax(190px,260px) 1fr !important;
    align-items:center !important;
    gap:12px !important;
    min-height:110px !important;
    padding:10px 14px !important;
}

.top-radio-centre{
    text-align:center !important;
    min-width:0 !important;
}

.top-radio-eq{
    display:flex !important;
    align-items:end !important;
    justify-content:center !important;
    gap:5px !important;
    height:76px !important;
    width:100% !important;
    border:1px solid rgba(69,220,255,.25);
    background:rgba(2,7,19,.45);
    border-radius:8px;
    padding:8px;
    overflow:hidden;
}

.top-radio-eq span{
    width:9px !important;
    height:12px;
    background:linear-gradient(180deg,#a855ff,#45dcff);
    box-shadow:0 0 10px #45dcff;
    animation:eq2 .8s infinite alternate paused;
}

.top-radio.radio-playing .top-radio-eq span{
    animation-play-state:running;
}

.top-radio-eq span:nth-child(1){animation-delay:.05s}
.top-radio-eq span:nth-child(2){animation-delay:.15s}
.top-radio-eq span:nth-child(3){animation-delay:.25s}
.top-radio-eq span:nth-child(4){animation-delay:.35s}
.top-radio-eq span:nth-child(5){animation-delay:.2s}
.top-radio-eq span:nth-child(6){animation-delay:.1s}
.top-radio-eq span:nth-child(7){animation-delay:.3s}

@keyframes eq2{
    from{height:10px}
    to{height:60px}
}

.top-radio-controls{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:7px !important;
    flex-wrap:wrap !important;
}

.top-radio-controls button{
    min-width:42px !important;
    min-height:34px !important;
    border:1px solid #f7c64a !important;
    background:linear-gradient(#f4cc58,#b98620) !important;
    color:#16120a !important;
    border-radius:8px !important;
    padding:6px 10px !important;
    font-weight:900 !important;
    cursor:pointer !important;
}

.top-radio-track{
    text-align:center !important;
    color:#fff !important;
    font-weight:900 !important;
    margin:5px 0 !important;
}

/* Realistic Are We There Yet spaceship hero image */
.ship-image-box{
    position:absolute;
    right:4%;
    top:18%;
    width:min(580px,43vw);
    border:2px solid #45dcff;
    border-radius:14px;
    overflow:hidden;
    background:#020713;
    box-shadow:0 0 28px rgba(69,220,255,.55);
    transform:rotate(-2deg);
    z-index:1;
}
.ship-image-box img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
}

@media(max-width:1200px){
    .top-radio{
        grid-template-columns:1fr !important;
    }
    .top-radio-eq{
        height:48px !important;
    }
    .top-radio-eq span{
        width:7px !important;
    }
}

@media(max-width:1100px){
    .ship-image-box{
        position:relative !important;
        right:auto !important;
        top:auto !important;
        width:92% !important;
        margin:12px auto 22px !important;
        transform:none !important;
    }
}


/* Final polish: centre Space 2047 logo text */
.logo,
.logo strong,
.logo span{
    text-align:center !important;
}
.logo{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
}

/* Keep first hero spaceship box ship-only and properly contained */
.ship-image-box img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
}


/* Equaliser fix: JS controls the bars, CSS no longer fakes the movement */
.top-radio-eq span,
.top-radio.radio-playing .top-radio-eq span{
    animation:none !important;
    transition:height .055s linear, opacity .055s linear !important;
    height:10px;
}


/* Remove accidental dashboard showcase panel */
.space2047-dashboard-showcase{
    display:none !important;
}

/* Replace only the existing spaceship box image */
.ship-image-box{
    overflow:hidden !important;
    border:2px solid #45dcff !important;
    border-radius:14px !important;
    background:#020713 !important;
    box-shadow:0 0 28px rgba(69,220,255,.55) !important;
}

.ship-image-box img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
}


/* Meet Some of the Crew image replacement */
.meet-crew-image-panel{
    text-align:center !important;
    overflow:visible !important;
}
.meet-crew-image-link{
    display:block !important;
    width:100% !important;
    line-height:0 !important;
    margin:10px auto 14px !important;
}
.meet-crew-image{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    border:2px solid #45dcff !important;
    border-radius:12px !important;
    box-shadow:0 0 24px rgba(69,220,255,.45) !important;
}
.meet-crew-image-panel .button{
    margin:12px auto 0 !important;
}


/* CREW PANEL LAYOUT FIX: prevents overlap with Galaxy Map and Latest News */
.grid,
.clean-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    align-items:start !important;
    overflow:visible !important;
}

.grid > .panel,
.clean-grid > .panel,
.panel{
    min-width:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    position:relative !important;
}

/* Keep the new crew artwork contained inside its own box */
.meet-crew-image-panel{
    grid-column:auto !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:center !important;
    text-align:center !important;
    min-height:0 !important;
    overflow:hidden !important;
}

.meet-crew-image-link{
    display:block !important;
    width:100% !important;
    height:420px !important;
    max-height:420px !important;
    overflow:hidden !important;
    line-height:0 !important;
    margin:10px auto 14px !important;
    border:2px solid #45dcff !important;
    border-radius:12px !important;
    box-shadow:0 0 24px rgba(69,220,255,.45) !important;
    background:#020713 !important;
}

.meet-crew-image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:58% 50% !important; /* shifts image right so Salomina is not cut off */
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

.meet-crew-image-panel .button{
    margin:10px auto 0 !important;
    flex:0 0 auto !important;
}

/* Keep neighbouring boxes from overlaying the crew artwork */
.galaxy,
.news,
.panel.news{
    position:relative !important;
    z-index:1 !important;
    height:auto !important;
    max-height:none !important;
    overflow:hidden !important;
}

.chars,
.char,
.avatar{
    max-width:100% !important;
}

/* Mobile/tablet: stack the panels safely */
@media(max-width:1100px){
    .grid,
    .clean-grid{
        grid-template-columns:1fr !important;
    }

    .meet-crew-image-link{
        height:auto !important;
        max-height:none !important;
    }

    .meet-crew-image{
        width:100% !important;
        height:auto !important;
        object-fit:contain !important;
        object-position:center center !important;
    }
}


/* Uploaded Space 2047 large poster: show full artwork, no cropping */
.s2047-main-poster-full,
.hero,
.hero-panel,
.featured-novel,
.featured-advert,
.promo-panel{
    overflow:visible !important;
}

.s2047-main-poster-full{
    width:min(1600px,96vw);
    margin:18px auto 24px;
    border:2px solid #45dcff;
    border-radius:14px;
    background:#020713;
    box-shadow:0 0 28px rgba(69,220,255,.45);
    overflow:hidden !important;
}

.s2047-main-poster-full img,
.hero img,
.hero-panel img,
.featured-novel img,
.featured-advert img,
.promo-panel img,
img[src*="space2047-large-uploaded-poster"]{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
}


/* FINAL VISIBLE GALAXY MAP + EQUAL HEIGHT NEWS */
.wrap.grid{
    align-items:stretch !important;
}

.wrap.grid > .panel{
    box-sizing:border-box !important;
    overflow:hidden !important;
}

/* Match the height of the Meet Some Of The Crew box */
.meet-crew-image-panel,
.galaxy-map-panel-fixed,
.latest-news-panel-fixed{
    height:620px !important;
    min-height:620px !important;
    max-height:620px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:center !important;
    text-align:center !important;
}

/* Make sure old CSS planets/vertical line can never show inside the map panel */
.galaxy-map-panel-fixed .galaxy,
.galaxy-map-panel-fixed .planet,
.galaxy-map-panel-fixed::before,
.galaxy-map-panel-fixed::after{
    display:none !important;
    content:none !important;
}

/* Galaxy image fills the second box */
.space2047-visible-galaxy-map{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    height:500px !important;
    max-height:500px !important;
    object-fit:cover !important;
    object-position:center center !important;
    border:2px solid rgba(69,220,255,.7) !important;
    border-radius:14px !important;
    background:#020713 !important;
    box-shadow:0 0 24px rgba(69,220,255,.35) !important;
    margin:8px auto 14px !important;
}

/* Latest news becomes the same height as the other boxes */
.latest-news-panel-fixed ul{
    width:100% !important;
    flex:1 1 auto !important;
    max-height:none !important;
    overflow-y:auto !important;
    margin:8px 0 14px !important;
    padding:0 8px !important;
    list-style:none !important;
}

.latest-news-panel-fixed li{
    padding:7px 0 !important;
    margin:0 !important;
    border-bottom:1px solid rgba(69,220,255,.25) !important;
    line-height:1.18 !important;
}

.latest-news-panel-fixed strong{
    display:block !important;
    color:#45dcff !important;
    font-size:13px !important;
}

.latest-news-panel-fixed span{
    display:block !important;
    color:#fff !important;
    font-size:12px !important;
}

.galaxy-map-panel-fixed .button,
.latest-news-panel-fixed .button{
    margin-top:auto !important;
    flex:0 0 auto !important;
}

/* Keep lower boxes below the row */
.wrap.grid > .panel:nth-child(n+4){
    height:auto !important;
    min-height:180px !important;
    max-height:none !important;
}

@media(max-width:1100px){
    .meet-crew-image-panel,
    .galaxy-map-panel-fixed,
    .latest-news-panel-fixed{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
    }
    .space2047-visible-galaxy-map{
        height:auto !important;
        max-height:none !important;
        object-fit:contain !important;
    }
    .latest-news-panel-fixed ul{
        overflow:visible !important;
    }
}


.space2047-visible-galaxy-map{
    object-fit:contain !important;
    background:#050a14 !important;
}

.galaxy-map-panel-fixed h3{
    margin-bottom:14px !important;
}

.latest-news-panel-fixed ul{
    max-height:none !important;
}

.latest-news-panel-fixed li:nth-child(n+9){
    display:block !important;
}


/* FINAL ALIGNMENT: fill galaxy map box and align buttons */
.wrap.grid{
    align-items:stretch !important;
}

.meet-crew-image-panel,
.galaxy-map-panel-fixed,
.latest-news-panel-fixed{
    height:640px !important;
    min-height:640px !important;
    max-height:640px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:center !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

/* Expand the crew artwork so the View All Characters button sits level with the other row buttons */
.meet-crew-image-link{
    width:100% !important;
    height:520px !important;
    max-height:520px !important;
    margin:8px auto 14px !important;
    overflow:hidden !important;
    display:block !important;
    line-height:0 !important;
}

.meet-crew-image{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
}

/* Restore the button in the crew box and force all row buttons to the same bottom line */
.meet-crew-image-panel > .button,
.galaxy-map-panel-fixed > .button,
.latest-news-panel-fixed > .button{
    display:inline-block !important;
    margin-top:auto !important;
    margin-bottom:0 !important;
    flex:0 0 auto !important;
}

/* Galaxy map now fills the second box */
.space2047-visible-galaxy-map,
.galaxy-map-panel-fixed img{
    width:100% !important;
    height:520px !important;
    max-height:520px !important;
    min-height:520px !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
    margin:8px auto 14px !important;
    border:2px solid rgba(69,220,255,.75) !important;
    border-radius:14px !important;
    background:#050a14 !important;
    box-shadow:0 0 24px rgba(69,220,255,.35) !important;
}

/* Latest news box same height and button aligned */
.latest-news-panel-fixed ul{
    flex:1 1 auto !important;
    width:100% !important;
    max-height:none !important;
    overflow-y:auto !important;
    margin:8px 0 14px !important;
}

/* Prevent old decorative line/planet styling from appearing */
.galaxy-map-panel-fixed .galaxy,
.galaxy-map-panel-fixed .planet,
.galaxy-map-panel-fixed:before,
.galaxy-map-panel-fixed:after{
    display:none !important;
    content:none !important;
}

@media(max-width:1100px){
    .meet-crew-image-panel,
    .galaxy-map-panel-fixed,
    .latest-news-panel-fixed{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
    }

    .meet-crew-image-link,
    .space2047-visible-galaxy-map,
    .galaxy-map-panel-fixed img{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        object-fit:contain !important;
    }
}


/* RESTORE LARGE SPACE 2047 ADVERT SIZE */
.s2047-main-poster-full,
.featured-space2047,
.featured-novel,
.featured-advert,
.hero-poster,
.large-poster,
.promo-panel,
.poster-panel{
    width:100% !important;
    max-width:1600px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
}

.s2047-main-poster-full img,
.featured-space2047 img,
.featured-novel img,
.featured-advert img,
.hero-poster img,
.large-poster img,
.promo-panel img,
.poster-panel img,
img[src*="space2047-large-uploaded-poster"],
img[src*="space2047-large"],
img[src*="poster"]{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
}

/* Prevent later box-row fixes from shrinking the main advert */
.wrap.hero + .wrap,
.s2047-main-poster-full{
    transform:none !important;
}

/* Keep the featured section wide */
.featured-section,
.featured-space2047-section,
section:has(img[src*="space2047-large-uploaded-poster"]){
    width:min(1600px,96vw) !important;
    max-width:1600px !important;
}


/* FINAL SPACE 2047 FEATURE REBUILD */
.s2047-full-advert-section{
    width:min(1600px,96vw) !important;
    margin:22px auto 26px !important;
    padding:0 !important;
    overflow:hidden !important;
    border:2px solid rgba(69,220,255,.75) !important;
    border-radius:18px !important;
    background:#020713 !important;
    box-shadow:0 0 32px rgba(69,220,255,.42) !important;
}

.s2047-full-advert-section img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
}

.s2047-clean-feature-row{
    width:min(1600px,96vw) !important;
    margin:24px auto !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    align-items:stretch !important;
}

.s2047-feature-box{
    height:640px !important;
    min-height:640px !important;
    max-height:640px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    border:2px solid rgba(69,220,255,.65) !important;
    border-radius:18px !important;
    background:
      radial-gradient(circle at 30% 15%, rgba(69,220,255,.12), transparent 32%),
      linear-gradient(180deg, rgba(9,23,45,.98), rgba(2,8,20,.98)) !important;
    box-shadow:0 0 26px rgba(69,220,255,.28), inset 0 0 24px rgba(69,220,255,.08) !important;
    padding:16px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
}

.s2047-feature-box h3{
    color:#45dcff !important;
    text-transform:uppercase !important;
    letter-spacing:2px !important;
    font-size:clamp(20px,1.7vw,30px) !important;
    line-height:1.1 !important;
    margin:0 0 14px !important;
    flex:0 0 auto !important;
}

.s2047-crew-grid{
    width:100% !important;
    flex:1 1 auto !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
    margin:0 0 14px !important;
    align-content:stretch !important;
}

.s2047-crew-grid a{
    min-width:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    border:1px solid rgba(69,220,255,.7) !important;
    border-radius:12px !important;
    background:#020713 !important;
    text-decoration:none !important;
    color:#f7c64a !important;
    box-shadow:0 0 14px rgba(69,220,255,.22) !important;
}

.s2047-crew-grid img{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    height:218px !important;
    object-fit:cover !important;
    object-position:center top !important;
    flex:0 0 auto !important;
    background:#020713 !important;
}

.s2047-crew-grid strong{
    margin-top:auto !important;
    display:block !important;
    padding:8px 4px !important;
    font-size:15px !important;
    line-height:1.05 !important;
    text-transform:uppercase !important;
    color:#f7c64a !important;
}

.s2047-map-box img{
    display:block !important;
    width:100% !important;
    height:525px !important;
    max-height:525px !important;
    object-fit:cover !important;
    object-position:center center !important;
    border:1px solid rgba(69,220,255,.55) !important;
    border-radius:14px !important;
    background:#020713 !important;
    box-shadow:0 0 20px rgba(69,220,255,.32) !important;
    margin:0 0 14px !important;
}

.s2047-news-box ul{
    width:100% !important;
    flex:1 1 auto !important;
    list-style:none !important;
    padding:0 8px !important;
    margin:0 0 14px !important;
    overflow-y:auto !important;
}

.s2047-news-box li{
    border-bottom:1px solid rgba(69,220,255,.24) !important;
    padding:8px 0 !important;
    line-height:1.18 !important;
}

.s2047-news-box strong{
    display:block !important;
    color:#45dcff !important;
    font-size:13px !important;
}

.s2047-news-box span{
    display:block !important;
    color:#fff !important;
    font-size:12px !important;
    margin-top:3px !important;
}

.s2047-feature-box .button{
    margin-top:auto !important;
    margin-bottom:0 !important;
    flex:0 0 auto !important;
}

/* Hide the old broken first feature row so it cannot clash with the new one */
.old-feature-grid > .panel:nth-child(-n+3),
.meet-crew-image-panel,
.galaxy-map-panel-fixed,
.latest-news-panel-fixed,
.galaxy-map-image-panel{
    display:none !important;
}

/* Continue the existing space background through the whole feature area */
.s2047-full-advert-section,
.s2047-clean-feature-row,
.s2047-feature-box{
    background-color:#020713 !important;
}

@media(max-width:1100px){
    .s2047-clean-feature-row{
        grid-template-columns:1fr !important;
    }
    .s2047-feature-box{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
    }
    .s2047-map-box img{
        height:auto !important;
        max-height:none !important;
        object-fit:contain !important;
    }
}

@media(max-width:650px){
    .s2047-crew-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .s2047-crew-grid img{
        height:180px !important;
    }
}


/* Remove left picture panel and shift remaining boxes left */
.s2047-clean-feature-row{
    grid-template-columns: 1fr 1fr !important;
    max-width: 1200px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.s2047-map-box,
.s2047-news-box{
    width:100% !important;
}

@media(max-width:1100px){
    .s2047-clean-feature-row{
        grid-template-columns:1fr !important;
    }
}


/* Space 2047 Delivery Drivers animated background */
.hero{
background:
radial-gradient(circle at 20% 20%, rgba(69,220,255,.18), transparent 20%),
radial-gradient(circle at 80% 30%, rgba(69,220,255,.12), transparent 25%),
radial-gradient(circle at 50% 70%, rgba(247,198,74,.10), transparent 20%),
linear-gradient(180deg,#020713,#071426) !important;
}
.hero:before{
content:"";
position:absolute;
inset:0;
background-image:radial-gradient(#fff 1px, transparent 1px);
background-size:60px 60px;
opacity:.4;
animation:s2047starfield 40s linear infinite;
pointer-events:none;
}
.hero:after{
content:"";
position:absolute;
width:120px;
height:40px;
right:-150px;
top:35%;
border-radius:40px;
background:rgba(69,220,255,.35);
box-shadow:0 0 20px rgba(69,220,255,.8);
animation:s2047shipfly 28s linear infinite;
}
@keyframes s2047starfield{from{transform:translateY(0)}to{transform:translateY(120px)}}
@keyframes s2047shipfly{0%{right:-150px}100%{right:110%}}



/* === Space 2047 lower section restored: no left picture, wide clean galaxy map === */
.main-grid,
.s2047-main-grid,
.content-grid,
.dashboard-grid,
.panel-grid,
.home-grid {
    display:grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr) !important;
    gap:18px !important;
    align-items:stretch !important;
}

.main-grid > .side-art,
.main-grid > .poster-card,
.main-grid > .left-picture,
.s2047-main-grid > .side-art,
.s2047-main-grid > .poster-card,
.s2047-main-grid > .left-picture,
.content-grid > .side-art,
.content-grid > .poster-card,
.content-grid > .left-picture,
.panel-grid > .side-art,
.panel-grid > .poster-card,
.panel-grid > .left-picture,
.home-grid > .side-art,
.home-grid > .poster-card,
.home-grid > .left-picture {
    display:none !important;
}

.galaxy-card,
.galaxy-map-card,
.map-card,
#galaxy-map,
.s2047-galaxy-map {
    grid-column:auto !important;
    width:100% !important;
    max-width:none !important;
    overflow:hidden !important;
}

.galaxy-card img,
.galaxy-map-card img,
.map-card img,
#galaxy-map img,
.s2047-galaxy-map img {
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    display:block !important;
    object-fit:cover !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}

/* Hide duplicated inner title text if generated by markup */
.galaxy-card .inner-title,
.galaxy-map-card .inner-title,
.map-card .inner-title,
.galaxy-card .map-title,
.galaxy-map-card .map-title,
.map-card .map-title,
.galaxy-card h3,
.galaxy-map-card h3,
.map-card h3 {
    display:none !important;
}

/* Keep the visible card heading only */
.galaxy-card > h2,
.galaxy-map-card > h2,
.map-card > h2 {
    display:block !important;
}

/* Remove unwanted border frame directly around the map artwork */
.galaxy-card .map-frame,
.galaxy-map-card .map-frame,
.map-card .map-frame,
.galaxy-card .image-frame,
.galaxy-map-card .image-frame,
.map-card .image-frame {
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    padding:0 !important;
}

/* Make latest news sit immediately beside/under the map depending screen width */
.news-card,
.latest-news,
.latest-news-card {
    align-self:stretch !important;
}

@media (max-width: 900px) {
    .main-grid,
    .s2047-main-grid,
    .content-grid,
    .dashboard-grid,
    .panel-grid,
    .home-grid {
        grid-template-columns:1fr !important;
    }
}


/* Final clean lower home layout: remove duplicated old sections completely */
.old-feature-grid,
.featured-wide-advert-panel,
.meet-crew-image-panel,
.galaxy-map-panel-fixed,
.latest-news-panel-fixed,
.s2047-full-advert-section,
.side-art,
.poster-card,
.left-picture,
.feature-poster,
.home-poster,
.promo-poster,
.space-poster,
.poster-panel{
    display:none !important;
}

.s2047-map-news-stack{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    margin-top:18px !important;
}

.s2047-feature-box{
    width:100% !important;
    max-width:none !important;
    border:1px solid rgba(69,220,255,.75) !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,rgba(7,20,38,.94),rgba(2,7,19,.94)) !important;
    box-shadow:0 0 24px rgba(69,220,255,.35), inset 0 0 18px rgba(69,220,255,.10) !important;
    padding:20px !important;
    text-align:center !important;
    overflow:hidden !important;
}

.s2047-feature-box h2{
    margin:0 0 16px !important;
    color:#45dcff !important;
    text-transform:uppercase !important;
    letter-spacing:2px !important;
    text-shadow:0 0 12px rgba(69,220,255,.75) !important;
    font-size:clamp(26px,3vw,44px) !important;
}

.s2047-map-box img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
}

.s2047-news-box ul{
    list-style:none !important;
    padding:0 !important;
    margin:0 auto !important;
    max-width:1100px !important;
}

.s2047-news-box li{
    border-bottom:1px solid rgba(69,220,255,.28) !important;
    padding:13px 8px !important;
}

.s2047-news-box strong{
    display:block !important;
    color:#45dcff !important;
    text-shadow:0 0 8px rgba(69,220,255,.45) !important;
}

.s2047-news-box span{
    display:block !important;
    color:#eaf8ff !important;
    margin-top:3px !important;
    font-size:13px !important;
}

.hero{position:relative !important; overflow:hidden !important;}
.hero > *{position:relative; z-index:2;}


/* === Top box layout fix only: galaxy map untouched === */
.hero.wrap,
.wrap.hero{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(360px, 0.95fr) !important;
    gap:34px !important;
    align-items:center !important;
    min-height:auto !important;
    padding:54px 36px !important;
}

.hero .hero-content{
    grid-column:1 !important;
    grid-row:1 !important;
    text-align:center !important;
    max-width:760px !important;
    margin:0 auto !important;
    padding:0 !important;
}

.hero .ship-image-box{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:680px !important;
    margin:0 auto !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
}

.hero .ship-image-box img{
    width:100% !important;
    height:auto !important;
    display:block !important;
    object-fit:cover !important;
    border-radius:16px !important;
}

.hero h1{
    font-size:clamp(64px, 8vw, 132px) !important;
    line-height:.9 !important;
    margin:10px 0 16px !important;
}

.hero h2{
    font-size:clamp(22px, 2.5vw, 38px) !important;
    line-height:1.1 !important;
    margin:0 0 22px !important;
}

.hero p{
    max-width:720px !important;
    margin:0 auto 28px !important;
}

@media (max-width: 900px){
    .hero.wrap,
    .wrap.hero{
        grid-template-columns:1fr !important;
        padding:36px 18px !important;
    }
    .hero .hero-content{
        grid-column:1 !important;
        grid-row:1 !important;
    }
    .hero .ship-image-box{
        grid-column:1 !important;
        grid-row:2 !important;
        max-width:100% !important;
    }
    .hero h1{
        font-size:clamp(54px, 16vw, 86px) !important;
    }
}


/* Hero layout: text left, ship right */
.hero,
.hero.wrap,
.wrap.hero{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    align-items:center !important;
    gap:40px !important;
}

.hero-content{
    order:1 !important;
    grid-column:1 !important;
    text-align:left !important;
}

.ship-image-box{
    order:2 !important;
    grid-column:2 !important;
}

@media (max-width:900px){
    .hero,
    .hero.wrap,
    .wrap.hero{
        grid-template-columns:1fr !important;
    }

    .hero-content{
        order:1 !important;
        grid-column:1 !important;
        text-align:center !important;
    }

    .ship-image-box{
        order:2 !important;
        grid-column:1 !important;
    }
}


/* Latest News permanent scrollbar */
.s2047-news-box,
.latest-news,
.news-card{
    max-height:700px !important;
    overflow-y:scroll !important;
    scrollbar-width:auto !important;
}

/* Chromium */
.s2047-news-box::-webkit-scrollbar,
.latest-news::-webkit-scrollbar,
.news-card::-webkit-scrollbar{
    width:18px !important;
    display:block !important;
}

.s2047-news-box::-webkit-scrollbar-track,
.latest-news::-webkit-scrollbar-track,
.news-card::-webkit-scrollbar-track{
    background:#071426 !important;
}

.s2047-news-box::-webkit-scrollbar-thumb,
.latest-news::-webkit-scrollbar-thumb,
.news-card::-webkit-scrollbar-thumb{
    background:#45dcff !important;
    border-radius:10px !important;
    border:2px solid #071426 !important;
}

/* Arrow buttons */
.s2047-news-box::-webkit-scrollbar-button:single-button,
.latest-news::-webkit-scrollbar-button:single-button,
.news-card::-webkit-scrollbar-button:single-button{
    display:block !important;
    height:18px !important;
    background:#0b2238 !important;
}


/* Remove the unwanted white/vertical lines around the galaxy map area */
.s2047-map-box,
.galaxy-card,
.galaxy-map-card,
.map-card,
#galaxy-map,
.s2047-galaxy-map{
    border-left:0 !important;
    border-right:0 !important;
    outline:0 !important;
}

.s2047-map-box::before,
.s2047-map-box::after,
.galaxy-card::before,
.galaxy-card::after,
.galaxy-map-card::before,
.galaxy-map-card::after,
.map-card::before,
.map-card::after{
    display:none !important;
    content:none !important;
}

.s2047-map-box img{
    border-left:0 !important;
    border-right:0 !important;
    outline:0 !important;
}

/* Latest News: two columns, still scrollable, regenerated by PHP on every page load */
.s2047-news-box{
    max-height:720px !important;
    overflow-y:scroll !important;
}

.s2047-news-box ul,
.s2047-random-news-list{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 28px !important;
    max-width:100% !important;
}

.s2047-news-box li,
.s2047-random-news-list li{
    break-inside:avoid !important;
    min-height:70px !important;
    border-bottom:1px solid rgba(69,220,255,.28) !important;
}

@media (max-width:800px){
    .s2047-news-box ul,
    .s2047-random-news-list{
        grid-template-columns:1fr !important;
    }
}

/* Space 2047 final consolidated galaxy map + popup system
   Replaces all legacy popup spacing hotfixes. Keep this section as the single source of truth. */
.s2047-interactive-map{
    position:relative !important;
    width:100% !important;
    line-height:0 !important;
    overflow:hidden !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    border-radius:18px !important;
}
.s2047-interactive-map:before,
.s2047-interactive-map:after,
.s2047-map-box:before,
.s2047-map-box:after{
    display:none !important;
    content:none !important;
}
.s2047-interactive-map img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}
.s2047-map-pin{
    position:absolute !important;
    transform:translate(-50%,-50%) !important;
    z-index:20 !important;
    width:86px !important;
    min-height:42px !important;
    padding:5px 6px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:18px !important;
    border:1px solid rgba(255,255,255,.72) !important;
    background:rgba(1,8,18,.32) !important;
    color:#fff !important;
    text-align:center !important;
    font-size:9px !important;
    font-weight:900 !important;
    line-height:1.05 !important;
    letter-spacing:.1px !important;
    text-transform:uppercase !important;
    cursor:pointer !important;
    white-space:normal !important;
    text-shadow:0 2px 4px #000,0 0 8px rgba(69,220,255,1),0 0 14px rgba(69,220,255,.75) !important;
    box-shadow:0 0 10px rgba(69,220,255,.55),inset 0 0 10px rgba(69,220,255,.18) !important;
}
.s2047-map-pin[data-location="Space Station Stop Crashing Into Me"]{
    width:145px !important;
    min-height:46px !important;
    border-radius:22px !important;
    font-size:8px !important;
}
.s2047-map-pin[data-location="Black Hole Chip Shop"],
.s2047-map-pin[data-location="Planet Bureaucratia"],
.s2047-map-pin[data-location="Republic of Unexpected Bananas"],
.s2047-map-pin[data-location="Traffic Warden HQ"]{
    font-size:7.5px !important;
}
.s2047-map-pin:hover,
.s2047-map-pin:focus{
    background:rgba(69,220,255,.94) !important;
    color:#00111f !important;
    text-shadow:0 1px 0 rgba(255,255,255,.55) !important;
    box-shadow:0 0 22px rgba(69,220,255,1) !important;
}
.s2047-location-popup{
    position:fixed !important;
    inset:0 !important;
    z-index:999999 !important;
    display:none !important;
    align-items:center !important;
    justify-content:center !important;
    padding:24px !important;
    background:rgba(0,4,14,.86) !important;
}
.s2047-location-popup.is-open{
    display:flex !important;
}
body.s2047-popup-open{
    overflow:hidden !important;
}
.s2047-location-popup-inner{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
    width:min(840px,94vw) !important;
    max-height:88vh !important;
    overflow:auto !important;
    box-sizing:border-box !important;
    padding:78px 30px 30px !important;
    border:2px solid #45dcff !important;
    border-radius:26px !important;
    background:linear-gradient(180deg,#071426,#020713) !important;
    box-shadow:0 0 38px rgba(69,220,255,.55) !important;
    color:#eaf8ff !important;
    text-align:center !important;
}
.s2047-location-close{
    position:absolute !important;
    top:26px !important;
    right:30px !important;
    z-index:80 !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    border:2px solid #45dcff !important;
    background:rgba(2,7,19,.92) !important;
    color:#8ff3ff !important;
    font-size:34px !important;
    font-weight:400 !important;
    line-height:1 !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
    box-shadow:0 0 16px rgba(69,220,255,.45) !important;
}
.s2047-location-close:hover,
.s2047-location-close:focus{
    background:#45dcff !important;
    color:#00111f !important;
}
.s2047-location-picture{
    order:1 !important;
    width:100% !important;
    min-height:220px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:20px !important;
    border:1px solid rgba(69,220,255,.52) !important;
    background-size:cover !important;
    background-position:center !important;
    box-shadow:inset 0 0 24px rgba(69,220,255,.25),0 0 18px rgba(69,220,255,.25) !important;
}
.s2047-location-picture img,
#s2047LocationPicture img,
.s2047-popup-real-image{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:340px !important;
    object-fit:contain !important;
    object-position:center !important;
    border:0 !important;
    border-radius:18px !important;
    box-shadow:none !important;
}
.s2047-location-picture.has-image{
    min-height:0 !important;
    background:#020713 !important;
}
.s2047-location-picture.is-placeholder{
    min-height:130px !important;
}
.s2047-location-quote-wrap{
    order:2 !important;
    margin:0 auto !important;
    width:min(620px,100%) !important;
}
.s2047-location-quote{
    margin:0 !important;
    padding:10px 16px !important;
    border:1px solid rgba(82,232,255,.48) !important;
    border-radius:14px !important;
    background:rgba(0,0,0,.32) !important;
    color:#ffd84a !important;
    font-size:clamp(15px,2vw,19px) !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    text-align:center !important;
    text-shadow:0 2px 4px #000 !important;
}
#s2047LocationTitle,
.s2047-location-popup h3#s2047LocationTitle{
    order:3 !important;
    position:static !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    margin:2px 0 4px 0 !important;
    padding:0 !important;
    clear:both !important;
    float:none !important;
    color:#ffd84a !important;
    font-size:clamp(22px,3.1vw,34px) !important;
    line-height:1.08 !important;
    letter-spacing:.02em !important;
    text-align:center !important;
    text-transform:uppercase !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    text-shadow:0 0 12px rgba(69,220,255,.55),0 3px 0 #000 !important;
}
#s2047LocationText{
    order:4 !important;
    position:static !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:18px !important;
    clear:both !important;
    float:none !important;
    border:1px solid rgba(82,232,255,.55) !important;
    border-radius:16px !important;
    background:rgba(0,0,0,.42) !important;
    color:#eaf8ff !important;
    font-size:17px !important;
    line-height:1.55 !important;
    text-align:center !important;
}
#s2047LocationFacts{
    order:5 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:10px !important;
}
#s2047LocationFacts li{
    margin:0 !important;
    padding:12px !important;
    border:1px solid rgba(82,232,255,.38) !important;
    border-radius:14px !important;
    background:rgba(69,220,255,.08) !important;
    color:#eaf8ff !important;
    font-size:14px !important;
    line-height:1.35 !important;
    text-align:center !important;
}
#s2047LocationLore,
.s2047-location-lore{
    order:6 !important;
    width:100% !important;
    margin:0 !important;
    padding:18px !important;
    box-sizing:border-box !important;
    border:1px solid rgba(82,232,255,.42) !important;
    border-radius:16px !important;
    background:rgba(0,0,0,.28) !important;
    color:#eaf8ff !important;
    text-align:left !important;
}
.s2047-location-lore h3{
    margin:0 0 10px !important;
    padding:0 !important;
    color:#ffd84a !important;
    font-size:clamp(18px,2.4vw,24px) !important;
    line-height:1.1 !important;
    text-align:center !important;
}
.s2047-location-lore p{
    margin:0 !important;
    color:#eaf8ff !important;
    font-size:16px !important;
    line-height:1.55 !important;
    text-align:center !important;
}
@media(max-width:800px){
    .s2047-map-pin{
        width:46px !important;
        min-height:24px !important;
        padding:2px !important;
        border-radius:10px !important;
        font-size:5px !important;
        border-width:1px !important;
    }
    .s2047-map-pin[data-location="Space Station Stop Crashing Into Me"]{
        width:72px !important;
        min-height:25px !important;
        font-size:4.5px !important;
    }
    .s2047-location-popup{
        padding:10px !important;
    }
    .s2047-location-popup-inner{
        width:96vw !important;
        max-height:90vh !important;
        padding:64px 16px 18px !important;
        gap:12px !important;
        border-radius:20px !important;
    }
    .s2047-location-close{
        top:16px !important;
        right:18px !important;
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
        min-height:42px !important;
        font-size:30px !important;
    }
    .s2047-location-picture{
        min-height:150px !important;
    }
    .s2047-location-picture img,
    #s2047LocationPicture img,
    .s2047-popup-real-image{
        max-height:250px !important;
    }
    #s2047LocationTitle,
    .s2047-location-popup h3#s2047LocationTitle{
        font-size:clamp(20px,6.5vw,28px) !important;
        margin:0 !important;
    }
    #s2047LocationText{
        padding:14px !important;
        font-size:15px !important;
    }
    #s2047LocationFacts{
        grid-template-columns:1fr !important;
    }
}


/* === Space 2047 popup scrollbar + full image final fix ===
   Keep this at the end so it overrides all earlier popup rules. */
.s2047-location-popup-inner{
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable both-edges !important;
    scrollbar-width:auto !important;
    scrollbar-color:#45dcff rgba(2,7,19,.92) !important;
}
.s2047-location-popup-inner::-webkit-scrollbar{
    width:18px !important;
    height:18px !important;
}
.s2047-location-popup-inner::-webkit-scrollbar-track{
    background:rgba(2,7,19,.92) !important;
    border:1px solid rgba(69,220,255,.38) !important;
    border-radius:12px !important;
}
.s2047-location-popup-inner::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#8ff3ff,#45dcff,#1688a8) !important;
    border:3px solid rgba(2,7,19,.92) !important;
    border-radius:12px !important;
    box-shadow:0 0 10px rgba(69,220,255,.8) !important;
}
.s2047-location-popup-inner::-webkit-scrollbar-button:single-button{
    display:block !important;
    width:18px !important;
    height:18px !important;
    background-color:rgba(2,7,19,.96) !important;
    border:1px solid rgba(69,220,255,.7) !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:10px 10px !important;
}
.s2047-location-popup-inner::-webkit-scrollbar-button:vertical:decrement{
    background-image:linear-gradient(135deg,transparent 50%,#8ff3ff 50%),linear-gradient(225deg,transparent 50%,#8ff3ff 50%) !important;
    background-size:8px 8px,8px 8px !important;
    background-position:4px 6px,8px 6px !important;
}
.s2047-location-popup-inner::-webkit-scrollbar-button:vertical:increment{
    background-image:linear-gradient(45deg,transparent 50%,#8ff3ff 50%),linear-gradient(315deg,transparent 50%,#8ff3ff 50%) !important;
    background-size:8px 8px,8px 8px !important;
    background-position:4px 4px,8px 4px !important;
}
.s2047-location-popup-inner::-webkit-scrollbar-corner{
    background:rgba(2,7,19,.96) !important;
}
.s2047-location-picture,
.s2047-location-picture.has-image{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    align-items:center !important;
    justify-content:center !important;
    background:#020713 !important;
}
.s2047-location-picture.has-image{
    padding:10px !important;
}
.s2047-location-picture img,
#s2047LocationPicture img,
.s2047-popup-real-image{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 auto !important;
    border-radius:18px !important;
}
@media(max-width:800px){
    .s2047-location-popup-inner{
        overflow-y:scroll !important;
        scrollbar-gutter:stable both-edges !important;
    }
    .s2047-location-picture,
    .s2047-location-picture.has-image{
        min-height:0 !important;
        max-height:none !important;
        overflow:visible !important;
    }
    .s2047-location-picture img,
    #s2047LocationPicture img,
    .s2047-popup-real-image{
        width:auto !important;
        max-width:100% !important;
        max-height:none !important;
    }
}


/* === Space 2047 popup v1.8: permanent arrow controls + synced full images === */
.s2047-location-popup-inner{
    position:relative !important;
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable both-edges !important;
    padding-right:58px !important;
}
.s2047-location-scroll-controls{
    position:sticky !important;
    top:72px !important;
    z-index:95 !important;
    align-self:flex-end !important;
    width:38px !important;
    margin:-58px -46px 0 auto !important;
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    pointer-events:none !important;
    order:0 !important;
}
.s2047-location-scroll-btn{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:2px solid #45dcff !important;
    border-radius:12px !important;
    background:#020713 !important;
    color:#8ff3ff !important;
    font-size:24px !important;
    line-height:1 !important;
    font-weight:900 !important;
    box-shadow:0 0 14px rgba(69,220,255,.6) !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    opacity:1 !important;
    visibility:visible !important;
}
.s2047-location-scroll-btn:hover,
.s2047-location-scroll-btn:focus{
    background:#45dcff !important;
    color:#00111f !important;
}
.s2047-location-picture,
.s2047-location-picture.has-image{
    order:1 !important;
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    box-sizing:border-box !important;
    background:#020713 !important;
}
.s2047-location-picture.is-placeholder{
    min-height:150px !important;
    overflow:hidden !important;
}
.s2047-location-picture img,
#s2047LocationPicture img,
.s2047-popup-real-image{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
    flex:0 0 auto !important;
    border-radius:18px !important;
}
#s2047LocationTitle,
.s2047-location-popup h3#s2047LocationTitle{
    order:3 !important;
    font-size:clamp(20px,2.8vw,31px) !important;
    margin:4px 0 2px !important;
}
.s2047-location-quote-wrap{ order:2 !important; }
#s2047LocationText{ order:4 !important; }
#s2047LocationFacts{ order:5 !important; }
#s2047LocationLore{ order:6 !important; }
@media(max-width:800px){
    .s2047-location-popup-inner{
        padding-right:50px !important;
    }
    .s2047-location-scroll-controls{
        top:62px !important;
        width:34px !important;
        margin:-50px -40px 0 auto !important;
    }
    .s2047-location-scroll-btn{
        width:34px !important;
        height:34px !important;
        min-width:34px !important;
        min-height:34px !important;
        font-size:21px !important;
    }
}


/* === Space 2047 v1.9: restore popup triggering and enlarge galaxy labels === */
.s2047-map-pin{
    width:118px !important;
    min-height:56px !important;
    padding:8px 10px !important;
    border-radius:22px !important;
    font-size:13px !important;
    line-height:1.08 !important;
    letter-spacing:.15px !important;
    background:rgba(1,8,18,.58) !important;
    border:2px solid rgba(255,255,255,.82) !important;
    z-index:60 !important;
    pointer-events:auto !important;
}
.s2047-map-pin[data-location="Space Station Stop Crashing Into Me"],
.s2047-earth-orbital-pin{
    width:180px !important;
    min-height:64px !important;
    font-size:11px !important;
    line-height:1.05 !important;
}
.s2047-map-pin[data-location="Black Hole Chip Shop"],
.s2047-map-pin[data-location="Planet Bureaucratia"],
.s2047-map-pin[data-location="Republic of Unexpected Bananas"],
.s2047-map-pin[data-location="Traffic Warden HQ"]{
    width:140px !important;
    min-height:58px !important;
    font-size:11px !important;
}
.s2047-location-scroll-controls,
.s2047-location-scroll-btn{
    opacity:1 !important;
    visibility:visible !important;
    display:flex !important;
}
@media(max-width:800px){
    .s2047-map-pin{
        width:72px !important;
        min-height:34px !important;
        padding:4px 5px !important;
        border-radius:13px !important;
        font-size:7.5px !important;
        line-height:1.05 !important;
    }
    .s2047-map-pin[data-location="Space Station Stop Crashing Into Me"],
    .s2047-earth-orbital-pin{
        width:112px !important;
        min-height:40px !important;
        font-size:6.5px !important;
    }
    .s2047-map-pin[data-location="Black Hole Chip Shop"],
    .s2047-map-pin[data-location="Planet Bureaucratia"],
    .s2047-map-pin[data-location="Republic of Unexpected Bananas"],
    .s2047-map-pin[data-location="Traffic Warden HQ"]{
        width:86px !important;
        min-height:36px !important;
        font-size:6.5px !important;
    }
}

/* === Space 2047 v2.0 FINAL: reliable galaxy popup triggers and readable labels === */
.s2047-galaxy-map,
.s2047-map-wrap,
.s2047-map-stage,
.s2047-galaxy-board{
    position:relative !important;
}
.s2047-galaxy-map img,
.s2047-map-stage img,
.s2047-galaxy-board img{
    pointer-events:none !important;
}
.s2047-map-pin{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    box-sizing:border-box !important;
    min-width:150px !important;
    width:auto !important;
    max-width:210px !important;
    min-height:64px !important;
    padding:10px 14px !important;
    border-radius:22px !important;
    font-size:16px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    letter-spacing:.2px !important;
    color:#fff !important;
    text-shadow:0 2px 4px #000,0 0 10px rgba(0,225,255,.8) !important;
    background:rgba(1,8,18,.78) !important;
    border:3px solid rgba(255,255,255,.95) !important;
    box-shadow:0 0 18px rgba(0,225,255,.75), inset 0 0 18px rgba(0,225,255,.22) !important;
    z-index:999 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    user-select:none !important;
    white-space:normal !important;
}
.s2047-map-pin:hover,
.s2047-map-pin:focus{
    transform:translate(-50%,-50%) scale(1.06) !important;
    outline:3px solid rgba(255,255,255,.95) !important;
}
.s2047-earth-orbital-pin,
.s2047-map-pin[data-location="Earth/Orbital Horizon Spaceport"],
.s2047-map-pin[data-location="Space Station Stop Crashing Into Me"]{
    min-width:220px !important;
    max-width:260px !important;
    min-height:76px !important;
    font-size:15px !important;
}
.s2047-map-pin[data-location="Black Hole Chip Shop"],
.s2047-map-pin[data-location="Planet Bureaucratia"],
.s2047-map-pin[data-location="Republic of Unexpected Bananas"],
.s2047-map-pin[data-location="Traffic Warden HQ"]{
    min-width:180px !important;
    max-width:230px !important;
    min-height:70px !important;
    font-size:15px !important;
}
.s2047-location-scroll-controls{
    opacity:1 !important;
    visibility:visible !important;
    display:flex !important;
    position:sticky !important;
    top:8px !important;
    z-index:10005 !important;
    width:48px !important;
    gap:8px !important;
    flex-direction:column !important;
    margin:0 0 -96px auto !important;
    pointer-events:auto !important;
}
.s2047-location-scroll-btn{
    opacity:1 !important;
    visibility:visible !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    border-radius:50% !important;
    font-size:25px !important;
    line-height:1 !important;
    cursor:pointer !important;
    pointer-events:auto !important;
}
@media(max-width:800px){
    .s2047-map-pin{
        min-width:110px !important;
        max-width:160px !important;
        min-height:48px !important;
        padding:7px 9px !important;
        border-radius:17px !important;
        font-size:11px !important;
        line-height:1.1 !important;
        border-width:2px !important;
    }
    .s2047-earth-orbital-pin,
    .s2047-map-pin[data-location="Earth/Orbital Horizon Spaceport"],
    .s2047-map-pin[data-location="Space Station Stop Crashing Into Me"]{
        min-width:150px !important;
        max-width:190px !important;
        min-height:58px !important;
        font-size:10px !important;
    }
    .s2047-map-pin[data-location="Black Hole Chip Shop"],
    .s2047-map-pin[data-location="Planet Bureaucratia"],
    .s2047-map-pin[data-location="Republic of Unexpected Bananas"],
    .s2047-map-pin[data-location="Traffic Warden HQ"]{
        min-width:130px !important;
        max-width:170px !important;
        min-height:52px !important;
        font-size:10px !important;
    }
}

/* === Space 2047 v1.8.4 final map label + popup picture fixes === */
.s2047-map-box,
.s2047-interactive-map,
.s2047-map-stage,
.s2047-galaxy-board{
    overflow:visible !important;
}
.s2047-map-pin{
    min-width:150px !important;
    max-width:230px !important;
    min-height:60px !important;
    padding:10px 14px !important;
    font-size:15px !important;
    line-height:1.15 !important;
    border-width:3px !important;
    pointer-events:auto !important;
}
.s2047-earth-orbital-pin,
.s2047-map-pin[data-location="Earth/Orbital Horizon Spaceport"]{
    min-width:250px !important;
    max-width:290px !important;
    min-height:74px !important;
    font-size:16px !important;
}
.s2047-map-pin[data-location="Space Station Stop Crashing Into Me"]{
    min-width:230px !important;
    max-width:280px !important;
    min-height:72px !important;
    font-size:15px !important;
}
.s2047-map-pin[data-location="Traffic Warden HQ"],
.s2047-map-pin[data-location="Republic of Unexpected Bananas"],
.s2047-map-pin[data-location="Black Hole Chip Shop"],
.s2047-map-pin[data-location="Planet Bureaucratia"]{
    min-width:185px !important;
    max-width:245px !important;
    min-height:66px !important;
    font-size:14px !important;
}
.s2047-location-popup-inner{
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable both-edges !important;
}
.s2047-location-picture.has-image{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:12px !important;
    background:rgba(2,7,19,.92) !important;
}
.s2047-location-picture.has-image img,
#s2047LocationPicture.has-image img,
.s2047-popup-real-image{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
}
.s2047-location-picture.is-placeholder{
    min-height:90px !important;
    height:90px !important;
}
@media(max-width:800px){
    .s2047-map-pin{
        min-width:120px !important;
        max-width:180px !important;
        min-height:50px !important;
        font-size:12px !important;
        padding:8px 10px !important;
    }
    .s2047-earth-orbital-pin,
    .s2047-map-pin[data-location="Earth/Orbital Horizon Spaceport"]{
        min-width:190px !important;
        max-width:220px !important;
        min-height:64px !important;
        font-size:12px !important;
    }
    .s2047-map-pin[data-location="Space Station Stop Crashing Into Me"]{
        min-width:170px !important;
        max-width:210px !important;
        min-height:60px !important;
        font-size:11px !important;
    }
}

/* === Space 2047 v2.1: popup two-column picture-left/content-right layout ===
   Final override: keeps admin media-gallery images working, but arranges every
   galaxy popup with picture on the left and all text/content on the right. */
.s2047-location-popup-inner{
    width:min(1180px,96vw) !important;
    max-height:90vh !important;
    display:grid !important;
    grid-template-columns:minmax(280px,38%) minmax(0,1fr) !important;
    grid-auto-rows:auto !important;
    column-gap:28px !important;
    row-gap:14px !important;
    align-items:start !important;
    padding:78px 72px 30px 30px !important;
    text-align:left !important;
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable both-edges !important;
}
.s2047-location-close{
    position:absolute !important;
    top:22px !important;
    right:24px !important;
}
.s2047-location-scroll-controls{
    position:sticky !important;
    top:10px !important;
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:start !important;
    margin:0 -54px -96px 0 !important;
    z-index:10005 !important;
}
.s2047-location-picture,
.s2047-location-picture.has-image,
.s2047-location-picture.is-placeholder{
    grid-column:1 !important;
    grid-row:1 / span 10 !important;
    align-self:start !important;
    position:sticky !important;
    top:82px !important;
    width:100% !important;
    min-height:360px !important;
    max-height:calc(90vh - 128px) !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:14px !important;
    overflow:hidden !important;
    border-radius:22px !important;
    background:#020713 !important;
    border:1px solid rgba(69,220,255,.58) !important;
    box-shadow:inset 0 0 28px rgba(69,220,255,.22),0 0 22px rgba(69,220,255,.22) !important;
}
.s2047-location-picture.is-placeholder{
    min-height:360px !important;
    height:auto !important;
    background-size:cover !important;
    background-position:center !important;
}
.s2047-location-picture img,
#s2047LocationPicture img,
.s2047-location-picture.has-image img,
#s2047LocationPicture.has-image img,
.s2047-popup-real-image{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:calc(90vh - 160px) !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:auto !important;
    border-radius:18px !important;
    box-shadow:none !important;
}
.s2047-location-quote-wrap,
#s2047LocationTitle,
.s2047-location-popup h3#s2047LocationTitle,
#s2047LocationText,
#s2047LocationFacts,
#s2047LocationLore,
.s2047-location-lore{
    grid-column:2 !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}
.s2047-location-quote-wrap{
    grid-row:auto !important;
    margin:0 !important;
    padding:0 !important;
}
#s2047LocationTitle,
.s2047-location-popup h3#s2047LocationTitle{
    margin:0 0 4px !important;
    padding:0 !important;
    text-align:left !important;
    font-size:clamp(24px,2.6vw,38px) !important;
    line-height:1.05 !important;
}
#s2047LocationText{
    margin:0 !important;
    text-align:left !important;
    font-size:17px !important;
    line-height:1.55 !important;
}
#s2047LocationFacts{
    margin:0 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
}
#s2047LocationFacts li{
    text-align:left !important;
}
#s2047LocationLore,
.s2047-location-lore{
    margin:0 !important;
    text-align:left !important;
}
.s2047-location-lore h3,
.s2047-location-lore p,
.s2047-location-quote{
    text-align:left !important;
}
@media(max-width:900px){
    .s2047-location-popup-inner{
        width:96vw !important;
        max-height:90vh !important;
        display:flex !important;
        flex-direction:column !important;
        gap:12px !important;
        padding:64px 52px 18px 16px !important;
        text-align:left !important;
    }
    .s2047-location-scroll-controls{
        position:sticky !important;
        top:8px !important;
        align-self:flex-end !important;
        margin:0 -42px -84px 0 !important;
        width:38px !important;
    }
    .s2047-location-picture,
    .s2047-location-picture.has-image,
    .s2047-location-picture.is-placeholder{
        position:relative !important;
        top:auto !important;
        order:1 !important;
        width:100% !important;
        min-height:220px !important;
        max-height:none !important;
        padding:10px !important;
    }
    .s2047-location-picture img,
    #s2047LocationPicture img,
    .s2047-location-picture.has-image img,
    #s2047LocationPicture.has-image img,
    .s2047-popup-real-image{
        max-height:56vh !important;
        max-width:100% !important;
    }
    .s2047-location-quote-wrap{order:2 !important;}
    #s2047LocationTitle{order:3 !important;}
    #s2047LocationText{order:4 !important;}
    #s2047LocationFacts{order:5 !important; grid-template-columns:1fr !important;}
    #s2047LocationLore,.s2047-location-lore{order:6 !important;}
}

/* === Space 2047 v2.2: richer right-column location information === */
.s2047-location-extra-list{
    margin:8px 0 16px !important;
    padding-left:20px !important;
    display:block !important;
}
.s2047-location-extra-list li{
    margin:0 0 8px !important;
    padding:0 !important;
    color:#eafcff !important;
    font-size:16px !important;
    line-height:1.45 !important;
    text-align:left !important;
    list-style:disc !important;
}
.s2047-location-lore h3{
    margin:18px 0 8px !important;
    color:#7df9ff !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
    font-size:16px !important;
}
.s2047-location-lore h3:first-child{
    margin-top:4px !important;
}

/* === Space 2047 v2.3: sticky popup close X above scroll arrows ===
   Keeps the close control visible while the popup content scrolls. */
.s2047-location-popup-inner{
    position:relative !important;
    padding-top:82px !important;
    padding-right:78px !important;
}
.s2047-location-close{
    position:sticky !important;
    top:8px !important;
    right:auto !important;
    left:auto !important;
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:start !important;
    z-index:10020 !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    margin:0 -60px -2px 0 !important;
    opacity:1 !important;
    visibility:visible !important;
    display:flex !important;
}
.s2047-location-scroll-controls{
    position:sticky !important;
    top:64px !important;
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:start !important;
    margin:56px -60px -144px 0 !important;
    z-index:10010 !important;
}
@media(max-width:800px){
    .s2047-location-popup-inner{
        padding-top:72px !important;
        padding-right:62px !important;
    }
    .s2047-location-close{
        top:6px !important;
        width:40px !important;
        height:40px !important;
        min-width:40px !important;
        min-height:40px !important;
        font-size:28px !important;
        margin:0 -48px -2px 0 !important;
    }
    .s2047-location-scroll-controls{
        top:54px !important;
        margin:48px -48px -132px 0 !important;
    }
}
/* === Space News generator page === */
.s2047-news-page{padding:28px 0 44px}.s2047-news-hero{margin:20px auto 24px;padding:28px;border:1px solid #45dcff66;background:linear-gradient(135deg,#071426ee,#020713ee);box-shadow:0 0 24px #45dcff33;clip-path:polygon(0 0,98% 0,100% 16%,100% 100%,0 100%)}.s2047-news-kicker{margin:0 0 8px;color:var(--green);font-weight:1000;text-transform:uppercase;letter-spacing:3px}.s2047-news-hero h1{margin:0 0 12px;color:var(--gold);font-size:clamp(44px,7vw,84px);line-height:.9;text-transform:uppercase;text-shadow:0 0 18px #f7c64a55}.s2047-news-hero p{max-width:950px;font-size:18px;line-height:1.55}.s2047-news-grid{display:grid;grid-template-columns:1fr;gap:18px}.s2047-news-card{position:relative;padding:28px;border:1px solid #45dcff55;background:linear-gradient(135deg,#0b1c30f2,#050b14f2);box-shadow:0 0 20px #45dcff25}.s2047-news-card.is-breaking{border-color:#f7c64aaa;box-shadow:0 0 24px #f7c64a33}.s2047-breaking{display:inline-flex;margin-bottom:12px;padding:7px 12px;border:1px solid #ff5d5d;background:#3a0710;color:#fff;font-weight:1000;text-transform:uppercase;letter-spacing:2px}.s2047-news-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;color:#bdefff;font-weight:900;text-transform:uppercase;letter-spacing:2px;font-size:13px}.s2047-news-meta span:first-child{color:#75ff6c}.s2047-news-card h2{margin:0 0 12px;color:#eaf8ff;font-size:clamp(26px,4vw,48px);line-height:1.04;text-transform:uppercase}.s2047-news-subtitle{font-size:18px;color:#f7d77a;font-weight:800}.s2047-news-card p{font-size:17px;line-height:1.7;color:#eaf8ff}.s2047-news-card p:last-child{margin-bottom:0}@media(max-width:760px){.s2047-news-hero,.s2047-news-card{padding:20px}.s2047-news-card h2{font-size:28px}.s2047-news-card p{font-size:16px}}

/* === Space News 3-column newspaper grid update === */
body .s2047-news-page .s2047-news-grid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:22px !important;
    align-items:start !important;
}
body .s2047-news-page .s2047-news-card{
    min-width:0 !important;
    padding:22px !important;
    height:auto !important;
    overflow:visible !important;
}
body .s2047-news-page .s2047-news-card h2{
    font-size:clamp(22px, 2.1vw, 34px) !important;
    line-height:1.08 !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
}
body .s2047-news-page .s2047-news-card p{
    font-size:15.5px !important;
    line-height:1.62 !important;
}
body .s2047-news-page .s2047-news-subtitle{
    font-size:16px !important;
    line-height:1.45 !important;
}
@media(max-width:1100px){
    body .s2047-news-page .s2047-news-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}
@media(max-width:720px){
    body .s2047-news-page .s2047-news-grid{
        grid-template-columns:1fr !important;
    }
    body .s2047-news-page .s2047-news-card{
        padding:20px !important;
    }
}


/* === Space News centred hero header fix === */
body .s2047-news-page .s2047-news-hero{
    text-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
}
body .s2047-news-page .s2047-news-kicker{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
body .s2047-news-page .s2047-news-hero h1{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:clamp(54px, 8vw, 96px) !important;
}
body .s2047-news-page .s2047-news-hero p:not(.s2047-news-kicker){
    text-align:center !important;
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* Space News quote/header fix and duplicate-safe grid */
.s2047-news-hero,
.s2047-news-kicker,
.s2047-news-page > h1{
    display:none !important;
}
.s2047-news-quote{
    max-width:980px;
    margin:28px auto 34px auto;
    padding:22px 28px;
    text-align:center;
    font-size:clamp(1.15rem, 2.5vw, 1.65rem);
    line-height:1.45;
    font-weight:800;
    color:#fff7b8;
    border:2px solid rgba(255, 221, 90, .75);
    border-radius:22px;
    background:linear-gradient(135deg, rgba(9,18,48,.92), rgba(78,18,118,.72));
    box-shadow:0 0 24px rgba(255,222,80,.18), inset 0 0 22px rgba(255,255,255,.06);
}
.s2047-news-grid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:24px !important;
    align-items:start !important;
}
.s2047-news-card{
    min-width:0 !important;
    overflow-wrap:anywhere;
}
@media (max-width: 980px){
    .s2047-news-grid{grid-template-columns:repeat(2, minmax(0, 1fr)) !important;}
}
@media (max-width: 680px){
    .s2047-news-grid{grid-template-columns:1fr !important;}
    .s2047-news-quote{margin:18px auto 24px auto;padding:18px 16px;}
}

/* === FINAL RESTORE: Space 2047 popup picture-left/content-right layout === */
body .s2047-location-popup.is-open{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
body .s2047-location-popup-inner{
    position:relative !important;
    width:min(1180px, calc(100vw - 34px)) !important;
    max-height:min(82vh, 820px) !important;
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable both-edges !important;
    display:grid !important;
    grid-template-columns:minmax(300px, 42%) minmax(0, 1fr) !important;
    grid-template-areas:
        "image title"
        "image quote"
        "image text"
        "image facts"
        "image lore" !important;
    column-gap:30px !important;
    row-gap:14px !important;
    align-items:start !important;
    padding:34px 76px 34px 34px !important;
}
body .s2047-location-picture{
    grid-area:image !important;
    width:100% !important;
    min-height:420px !important;
    height:auto !important;
    max-height:70vh !important;
    position:sticky !important;
    top:22px !important;
    align-self:start !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    background-size:contain !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
}
body .s2047-location-picture img{
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:70vh !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
    border-radius:18px !important;
    box-shadow:0 0 28px rgba(69,220,255,.26) !important;
}
body .s2047-location-popup h3#s2047LocationTitle{
    grid-area:title !important;
    margin:0 0 4px 0 !important;
    text-align:left !important;
}
body #s2047LocationQuoteWrap{grid-area:quote !important;}
body #s2047LocationText{grid-area:text !important;}
body #s2047LocationFacts{grid-area:facts !important;}
body #s2047LocationLore{grid-area:lore !important;}
body .s2047-location-close{
    position:sticky !important;
    top:14px !important;
    margin-left:auto !important;
    margin-bottom:8px !important;
    z-index:1005 !important;
    grid-column:2 !important;
    justify-self:end !important;
    width:44px !important;
    height:44px !important;
    line-height:40px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
body .s2047-location-scroll-controls{
    position:sticky !important;
    top:66px !important;
    z-index:1004 !important;
    grid-column:2 !important;
    justify-self:end !important;
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    margin-left:auto !important;
    margin-bottom:10px !important;
}
@media(max-width:820px){
    body .s2047-location-popup-inner{
        width:calc(100vw - 18px) !important;
        max-height:88vh !important;
        grid-template-columns:1fr !important;
        grid-template-areas:
            "image"
            "title"
            "quote"
            "text"
            "facts"
            "lore" !important;
        padding:68px 18px 26px 18px !important;
        row-gap:14px !important;
    }
    body .s2047-location-picture{
        position:relative !important;
        top:auto !important;
        min-height:260px !important;
        max-height:48vh !important;
    }
    body .s2047-location-picture img{max-height:48vh !important;}
    body .s2047-location-close{
        position:sticky !important;
        top:8px !important;
        grid-column:1 !important;
        justify-self:end !important;
    }
    body .s2047-location-scroll-controls{
        position:sticky !important;
        top:58px !important;
        grid-column:1 !important;
        justify-self:end !important;
    }
    body .s2047-location-popup h3#s2047LocationTitle{text-align:center !important;}
}

/* === Space 2047 Universe page: newspaper/card layout like Space News === */
body .s2047-universe-page{
    padding:28px 0 46px !important;
}
body .s2047-universe-intro{
    margin:20px auto 26px auto !important;
    padding:28px !important;
    text-align:center !important;
    border:1px solid rgba(69,220,255,.55) !important;
    border-radius:24px !important;
    background:linear-gradient(135deg, rgba(7,20,38,.94), rgba(2,7,19,.94)) !important;
    box-shadow:0 0 24px rgba(69,220,255,.24), inset 0 0 22px rgba(255,255,255,.04) !important;
}
body .s2047-universe-kicker{
    margin:0 0 10px 0 !important;
    color:#75ff6c !important;
    font-weight:1000 !important;
    text-transform:uppercase !important;
    letter-spacing:3px !important;
    font-size:14px !important;
}
body .s2047-universe-intro h1{
    margin:0 0 14px 0 !important;
    color:#f7c64a !important;
    font-size:clamp(44px, 7vw, 86px) !important;
    line-height:.95 !important;
    text-transform:uppercase !important;
    text-align:center !important;
    text-shadow:0 0 18px rgba(247,198,74,.38) !important;
}
body .s2047-universe-intro p{
    max-width:980px !important;
    margin:0 auto !important;
    color:#eaf8ff !important;
    font-size:18px !important;
    line-height:1.55 !important;
    text-align:center !important;
}
body .s2047-universe-page .s2047-universe-quote{
    max-width:980px !important;
    margin:0 auto 34px auto !important;
    padding:22px 28px !important;
    text-align:center !important;
    font-size:clamp(1.15rem, 2.5vw, 1.65rem) !important;
    line-height:1.45 !important;
    font-weight:900 !important;
    color:#fff7b8 !important;
    border:2px solid rgba(255,221,90,.75) !important;
    border-radius:22px !important;
    background:linear-gradient(135deg, rgba(9,18,48,.92), rgba(78,18,118,.72)) !important;
    box-shadow:0 0 24px rgba(255,222,80,.18), inset 0 0 22px rgba(255,255,255,.06) !important;
}
body .s2047-universe-grid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:24px !important;
    align-items:start !important;
}
body .s2047-universe-card{
    position:relative !important;
    min-width:0 !important;
    padding:22px !important;
    border:1px solid rgba(69,220,255,.55) !important;
    border-radius:20px !important;
    background:linear-gradient(135deg, rgba(11,28,48,.95), rgba(5,11,20,.95)) !important;
    box-shadow:0 0 20px rgba(69,220,255,.16), inset 0 0 18px rgba(255,255,255,.035) !important;
    overflow:hidden !important;
}
body .s2047-universe-card:before{
    content:'' !important;
    position:absolute !important;
    inset:0 0 auto 0 !important;
    height:4px !important;
    background:linear-gradient(90deg, #45dcff, #f7c64a, #75ff6c) !important;
    opacity:.8 !important;
}
body .s2047-universe-meta{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    margin:6px 0 12px 0 !important;
    color:#bdefff !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:1.8px !important;
    font-size:12px !important;
}
body .s2047-universe-meta span:first-child{
    color:#75ff6c !important;
}
body .s2047-universe-card h2{
    margin:0 0 13px 0 !important;
    color:#eaf8ff !important;
    font-size:clamp(22px, 2.1vw, 34px) !important;
    line-height:1.08 !important;
    text-transform:uppercase !important;
    overflow-wrap:anywhere !important;
}
body .s2047-universe-card p{
    margin:0 0 14px 0 !important;
    color:#eaf8ff !important;
    font-size:15.5px !important;
    line-height:1.62 !important;
}
body .s2047-universe-card p strong{
    color:#f7d77a !important;
}
body .s2047-universe-card p:last-child{
    margin-bottom:0 !important;
}
@media(max-width:1100px){
    body .s2047-universe-grid{grid-template-columns:repeat(2, minmax(0, 1fr)) !important;}
}
@media(max-width:720px){
    body .s2047-universe-grid{grid-template-columns:1fr !important;}
    body .s2047-universe-intro,
    body .s2047-universe-card{padding:20px !important;}
    body .s2047-universe-page .s2047-universe-quote{margin:18px auto 24px auto !important;padding:18px 16px !important;}
}

.universe-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.s2047-universe-intro{text-align:center;padding:20px}
.s2047-universe-quote{font-size:1.2em;margin:15px auto 25px;max-width:800px}
.s2047-universe-card{border:1px solid #3a5566;padding:20px;background:rgba(0,0,0,.25)}
.s2047-btn{display:inline-block;margin-top:10px}
@media(max-width:900px){.universe-news-grid{grid-template-columns:1fr}}

/* Universe page: direct inline Read More panels - no # anchors and no separate shortcode pages */
body .s2047-universe-clean-intro{
    text-align:center !important;
    margin:28px auto 26px !important;
    padding:22px !important;
    border:1px solid rgba(89,221,255,.32) !important;
    background:linear-gradient(180deg,rgba(8,18,28,.82),rgba(4,8,14,.88)) !important;
    box-shadow:0 0 24px rgba(79,210,255,.12) !important;
}
body .s2047-universe-clean-intro .s2047-universe-quote{
    text-align:center !important;
    margin:0 auto !important;
    max-width:980px !important;
    color:#f7d35c !important;
    font-size:clamp(1.25rem,2.2vw,2.05rem) !important;
    line-height:1.35 !important;
    font-weight:900 !important;
    letter-spacing:.04em !important;
    text-transform:none !important;
}
body .s2047-universe-card .s2047-btn,
body .s2047-universe-card button.s2047-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-top:14px !important;
    border:1px solid rgba(247,211,92,.65) !important;
    background:linear-gradient(180deg,#f4c768,#b9782b) !important;
    color:#10131c !important;
    border-radius:10px !important;
    padding:10px 16px !important;
    font-weight:900 !important;
    letter-spacing:.04em !important;
    cursor:pointer !important;
    text-decoration:none !important;
}
body .s2047-universe-more{
    margin-top:16px !important;
    padding-top:14px !important;
    border-top:1px solid rgba(89,221,255,.26) !important;
}
body .s2047-universe-more p{
    color:#dbefff !important;
    font-size:.98rem !important;
    line-height:1.65 !important;
    margin:0 !important;
}

/* Space 2047 Universe Hub - working enhanced layout */
.s2047-universe-enhanced-page{max-width:1200px;margin:0 auto;padding:34px 18px 54px;}
.s2047-universe-hero-card{border:1px solid rgba(111,221,255,.35);background:linear-gradient(135deg,rgba(8,18,31,.92),rgba(10,11,20,.86));box-shadow:0 0 28px rgba(58,190,255,.16), inset 0 0 24px rgba(255,199,75,.05);padding:34px 24px;margin:0 0 22px;text-align:center;border-radius:10px;}
.s2047-universe-kicker{font-weight:900;letter-spacing:.18em;color:#76f1ff;text-transform:uppercase;margin-bottom:10px;text-shadow:0 0 12px rgba(118,241,255,.55);}
.s2047-universe-hero-card h1{margin:0 0 16px;text-align:center;text-transform:uppercase;color:#ffd86a;font-size:clamp(2.35rem,6vw,5.4rem);line-height:.95;letter-spacing:.035em;text-shadow:0 0 18px rgba(255,216,106,.3);}
.s2047-universe-quote{max-width:860px;margin:0 auto;color:#eaf8ff;font-size:clamp(1.05rem,2vw,1.4rem);font-weight:700;line-height:1.45;text-align:center;}
.s2047-universe-featured{border:1px solid rgba(255,216,106,.35);background:rgba(255,216,106,.08);color:#fff0bd;text-align:center;padding:14px 18px;border-radius:10px;margin:0 0 18px;font-size:1.04rem;}
.s2047-universe-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 20px;}
.s2047-universe-stats div{border:1px solid rgba(111,221,255,.3);background:rgba(7,17,29,.8);padding:16px 10px;text-align:center;border-radius:10px;box-shadow:inset 0 0 18px rgba(111,221,255,.06);}
.s2047-universe-stats span{display:block;color:#7df47d;font-size:1.5rem;font-weight:900;letter-spacing:.04em;}
.s2047-universe-stats small{display:block;color:#cce9f3;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;margin-top:4px;}
.s2047-universe-search{width:100%;border:1px solid rgba(111,221,255,.38);background:rgba(2,8,16,.9);color:#fff;border-radius:10px;padding:15px 18px;margin:0 0 22px;font-size:1rem;box-shadow:0 0 16px rgba(111,221,255,.08);}
.s2047-universe-search::placeholder{color:#9fcbd6;}
.s2047-universe-grid.universe-news-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:22px !important;align-items:stretch;}
.s2047-universe-card{border:1px solid rgba(111,221,255,.35);background:linear-gradient(180deg,rgba(14,27,43,.92),rgba(7,12,23,.92));border-radius:10px;padding:0 18px 18px;box-shadow:0 0 18px rgba(111,221,255,.08);overflow:hidden;display:flex;flex-direction:column;min-height:100%;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.s2047-universe-card:hover{transform:translateY(-3px);border-color:rgba(255,216,106,.55);box-shadow:0 0 26px rgba(255,216,106,.13);}
.s2047-universe-card-image{height:170px;margin:0 -18px 16px;background:#050a12;border-bottom:1px solid rgba(111,221,255,.24);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.s2047-universe-card-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.08) contrast(1.04);}
.s2047-universe-card h2{color:#ffd86a;text-align:center;text-transform:uppercase;font-size:1.45rem;line-height:1.12;margin:0 0 10px;letter-spacing:.04em;}
.s2047-universe-card>p{color:#dceef5;text-align:center;line-height:1.5;margin:0 0 14px;}
.s2047-universe-card .s2047-btn{margin:auto auto 0;align-self:center;}
.s2047-universe-more{margin-top:14px;border-top:1px solid rgba(111,221,255,.2);padding-top:14px;color:#eefaff;line-height:1.55;}
.s2047-universe-more p{margin:0;text-align:left;}
@media(max-width:900px){.s2047-universe-grid.universe-news-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}.s2047-universe-stats{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.s2047-universe-enhanced-page{padding-left:12px;padding-right:12px;}.s2047-universe-grid.universe-news-grid{grid-template-columns:1fr !important;}.s2047-universe-stats{grid-template-columns:1fr;}.s2047-universe-card-image{height:210px;}}


/* ============================================================
   Space 2047 Beautiful Shop Styling
   Smaller product images + polished WooCommerce layout
   ============================================================ */

body.woocommerce,
body.woocommerce-page {
    background:
        radial-gradient(circle at top left, rgba(88, 197, 255, 0.18), transparent 34rem),
        radial-gradient(circle at top right, rgba(255, 94, 215, 0.14), transparent 32rem),
        linear-gradient(180deg, #050816 0%, #080b1f 48%, #03040d 100%);
}

.woocommerce .site-main,
.woocommerce-page .site-main,
.woocommerce .content-area,
.woocommerce-page .content-area {
    max-width: 1240px;
    margin: 0 auto;
    padding: 26px 16px 54px;
}

.woocommerce-products-header,
.woocommerce-page .page-header {
    text-align: center;
    margin: 22px auto 28px;
    padding: 28px 22px;
    border: 1px solid rgba(102, 224, 255, 0.38);
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(10, 18, 45, 0.94), rgba(24, 12, 50, 0.90)),
        radial-gradient(circle at 50% 0%, rgba(102, 224, 255, 0.18), transparent 34rem);
    box-shadow: 0 0 32px rgba(0, 229, 255, 0.18), inset 0 0 22px rgba(255,255,255,0.04);
}

.woocommerce-products-header__title,
.woocommerce-page h1.page-title {
    text-align: center;
    color: #ffffff;
    font-size: clamp(2rem, 5vw, 4rem);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 10px;
    text-shadow: 0 0 12px rgba(105, 231, 255, 0.85), 0 0 28px rgba(255, 77, 222, 0.45);
}

.woocommerce-products-header::after {
    content: "Cosmic merchandise, digital oddities and official Space 2047 supplies.";
    display: block;
    max-width: 780px;
    margin: 10px auto 0;
    color: #cfefff;
    font-size: 1rem;
    line-height: 1.55;
}

.woocommerce-result-count,
.woocommerce-ordering {
    margin: 0 0 22px;
    color: #d9f8ff;
}

.woocommerce-ordering select {
    border-radius: 999px;
    border: 1px solid rgba(102, 224, 255, 0.45);
    background: #090d22;
    color: #ffffff;
    padding: 10px 16px;
    box-shadow: 0 0 12px rgba(102, 224, 255, 0.12);
}

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px !important;
    margin: 22px 0 40px !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    content: none !important;
    display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: auto !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 18px 18px 20px !important;
    text-align: center;
    border: 1px solid rgba(102, 224, 255, 0.32);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(12, 18, 46, 0.96), rgba(8, 9, 27, 0.96)),
        radial-gradient(circle at top, rgba(102, 224, 255, 0.16), transparent 18rem);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35), 0 0 18px rgba(102, 224, 255, 0.12);
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 92, 230, 0.62);
    box-shadow: 0 18px 34px rgba(0,0,0,0.44), 0 0 28px rgba(255, 92, 230, 0.24), 0 0 20px rgba(102, 224, 255, 0.20);
}

/* Smaller, neat product images */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
    width: auto !important;
    max-width: 72% !important;
    height: 210px !important;
    object-fit: contain !important;
    margin: 0 auto 16px !important;
    padding: 10px;
    border-radius: 18px;
    background: rgba(255,255,255,0.045);
    box-shadow: 0 0 16px rgba(102, 224, 255, 0.16);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
    color: #ffffff;
    font-size: 1.08rem !important;
    line-height: 1.25;
    min-height: 2.6em;
    margin: 8px 0 10px !important;
    text-align: center;
    text-shadow: 0 0 9px rgba(102, 224, 255, 0.45);
}

.woocommerce ul.products li.product .price {
    display: block;
    color: #7df3ff !important;
    font-weight: 800;
    font-size: 1.08rem !important;
    margin: 8px 0 14px !important;
    text-align: center;
}

.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px !important;
    border: 1px solid rgba(126, 245, 255, 0.55) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #16d9ff, #7d5cff 48%, #ff4edb) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-align: center;
    box-shadow: 0 0 18px rgba(22, 217, 255, 0.28);
    transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    transform: translateY(-2px);
    filter: brightness(1.12);
    box-shadow: 0 0 24px rgba(255, 78, 219, 0.35), 0 0 18px rgba(22, 217, 255, 0.30);
}

.woocommerce span.onsale {
    min-height: auto;
    min-width: auto;
    padding: 8px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffcc33, #ff4edb);
    color: #070915;
    font-weight: 900;
    box-shadow: 0 0 16px rgba(255, 204, 51, 0.4);
}

.woocommerce nav.woocommerce-pagination ul {
    border: none;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    border-radius: 999px;
    min-width: 40px;
    min-height: 40px;
    background: rgba(12, 18, 46, 0.96);
    color: #dffaff;
    border: 1px solid rgba(102, 224, 255, 0.32);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: linear-gradient(135deg, #16d9ff, #ff4edb);
    color: #fff;
}

/* Single product page */
.woocommerce div.product {
    border: 1px solid rgba(102, 224, 255, 0.30);
    border-radius: 26px;
    padding: 24px;
    background: rgba(8, 12, 32, 0.92);
    box-shadow: 0 0 28px rgba(102, 224, 255, 0.13);
}

.woocommerce div.product div.images img {
    max-height: 430px;
    object-fit: contain;
    border-radius: 20px;
    background: rgba(255,255,255,0.045);
    padding: 12px;
}

.woocommerce div.product .product_title {
    color: #fff;
    text-align: left;
    text-shadow: 0 0 12px rgba(102, 224, 255, 0.55);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: #7df3ff;
    font-weight: 900;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-top-color: #16d9ff;
    background: rgba(8, 12, 32, 0.96);
    color: #ffffff;
    border-radius: 16px;
    box-shadow: 0 0 18px rgba(22, 217, 255, 0.16);
}

@media (max-width: 980px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .woocommerce ul.products li.product a img,
    .woocommerce-page ul.products li.product a img {
        height: 190px !important;
        max-width: 76% !important;
    }
}

@media (max-width: 620px) {
    .woocommerce .site-main,
    .woocommerce-page .site-main,
    .woocommerce .content-area,
    .woocommerce-page .content-area {
        padding-left: 10px;
        padding-right: 10px;
    }

    .woocommerce ul.products {
        grid-template-columns: 1fr;
        gap: 18px !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        padding: 16px !important;
    }

    .woocommerce ul.products li.product a img,
    .woocommerce-page ul.products li.product a img {
        height: 175px !important;
        max-width: 68% !important;
    }

    .woocommerce-result-count,
    .woocommerce-ordering {
        float: none !important;
        text-align: center;
        width: 100%;
    }
}


/* ============================================================
   Space 2047 Shop Refinement
   Inset products, centred product details, stylish intro
   ============================================================ */

.woocommerce.archive .site-main,
.woocommerce-page.archive .site-main,
.woocommerce.archive .content-area,
.woocommerce-page.archive .content-area,
body.post-type-archive-product .site-main,
body.post-type-archive-product .content-area {
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(26px, 4vw, 56px) !important;
    padding-right: clamp(26px, 4vw, 56px) !important;
    box-sizing: border-box;
}

body.post-type-archive-product .entry-content,
body.woocommerce-shop .entry-content {
    text-align: center;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

body.post-type-archive-product h1,
body.post-type-archive-product h2,
body.woocommerce-shop h1,
body.woocommerce-shop h2,
body.woocommerce-shop .entry-title,
body.woocommerce-shop .page-title {
    text-align: center !important;
}

body.post-type-archive-product .entry-title,
body.woocommerce-shop .entry-title,
body.post-type-archive-product .page-title,
body.woocommerce-shop .page-title {
    font-size: clamp(2.4rem, 5vw, 4.8rem) !important;
    line-height: 1;
    color: #ffe77a !important;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 22px auto 14px !important;
    text-shadow:
        0 0 10px rgba(255, 231, 122, .75),
        0 0 26px rgba(0, 229, 255, .35);
}

body.post-type-archive-product .entry-content > h2:first-of-type,
body.woocommerce-shop .entry-content > h2:first-of-type {
    display: inline-block;
    color: #7df3ff !important;
    font-size: clamp(1.45rem, 3vw, 2.35rem) !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 12px 24px;
    margin: 0 auto 12px !important;
    border: 1px solid rgba(125, 243, 255, .42);
    border-radius: 999px;
    background: rgba(8, 17, 42, .72);
    box-shadow: 0 0 22px rgba(125, 243, 255, .14);
}

body.post-type-archive-product .entry-content > p:first-of-type,
body.woocommerce-shop .entry-content > p:first-of-type,
.woocommerce-products-header::after {
    display: block;
    max-width: 850px;
    margin: 12px auto 28px !important;
    padding: 16px 22px;
    color: #e4fbff !important;
    font-size: clamp(1rem, 1.5vw, 1.18rem);
    line-height: 1.6;
    text-align: center;
    border: 1px solid rgba(102, 224, 255, .28);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(9, 18, 45, .80), rgba(24, 12, 48, .72));
    box-shadow: inset 0 0 18px rgba(255,255,255,.035), 0 0 20px rgba(102,224,255,.10);
}

.woocommerce ul.products {
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    box-sizing: border-box;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-align: center !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
    width: 100%;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.woocommerce ul.products li.product .price {
    width: 100%;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.woocommerce ul.products li.product .s2047-product-readmore {
    margin-top: 10px !important;
    background: linear-gradient(135deg, rgba(255, 231, 122, .96), rgba(255, 139, 61, .96)) !important;
    color: #081123 !important;
    border-color: rgba(255, 231, 122, .7) !important;
    box-shadow: 0 0 16px rgba(255, 231, 122, .26);
}

.woocommerce ul.products li.product .s2047-product-readmore:hover {
    filter: brightness(1.1);
    box-shadow: 0 0 22px rgba(255, 231, 122, .36), 0 0 18px rgba(255, 92, 230, .20);
}

@media (max-width: 620px) {
    .woocommerce.archive .site-main,
    .woocommerce-page.archive .site-main,
    .woocommerce.archive .content-area,
    .woocommerce-page.archive .content-area,
    body.post-type-archive-product .site-main,
    body.post-type-archive-product .content-area {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .woocommerce ul.products {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* ============================================================
   Space 2047 Galactic Shop Visitor Stats
   ============================================================ */

.s2047-shop-stats {
    max-width: 1080px;
    margin: 8px auto 34px;
    padding: 18px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    border: 1px solid rgba(255, 231, 122, .34);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(8, 17, 42, .86), rgba(27, 12, 48, .76)),
        radial-gradient(circle at top, rgba(255, 231, 122, .12), transparent 26rem);
    box-shadow: 0 0 26px rgba(255, 231, 122, .12), inset 0 0 22px rgba(255,255,255,.035);
}

.s2047-shop-stat {
    text-align: center;
    padding: 14px 10px;
    border: 1px solid rgba(125, 243, 255, .25);
    border-radius: 16px;
    background: rgba(5, 10, 28, .58);
    box-shadow: inset 0 0 14px rgba(125, 243, 255, .04);
}

.s2047-shop-stat strong {
    display: block;
    color: #ffe77a;
    font-size: clamp(1.25rem, 2.3vw, 2rem);
    line-height: 1;
    margin-bottom: 7px;
    text-shadow: 0 0 10px rgba(255, 231, 122, .55);
}

.s2047-shop-stat span {
    display: block;
    color: #dffaff;
    font-size: .78rem;
    line-height: 1.25;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .s2047-shop-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .s2047-shop-stats {
        grid-template-columns: 1fr;
    }
}




/* ============================================================
   Space 2047 Full Encyclopedia Extras
   ============================================================ */

.s2047-encyclopedia-page{max-width:1240px;margin:0 auto;padding:28px clamp(18px,4vw,52px) 64px}
.s2047-encyclopedia-hero,.s2047-featured-entry{text-align:center;margin:22px auto 28px;padding:34px 24px;border:1px solid rgba(102,224,255,.36);border-radius:26px;background:radial-gradient(circle at top,rgba(255,231,122,.13),transparent 32rem),linear-gradient(135deg,rgba(8,17,42,.92),rgba(23,12,48,.86));box-shadow:0 0 30px rgba(102,224,255,.16),inset 0 0 26px rgba(255,255,255,.035)}
.s2047-kicker,.s2047-featured-entry span{color:#7df3ff;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;text-shadow:0 0 10px rgba(125,243,255,.55)}
.s2047-encyclopedia-hero h1{margin:0 auto 14px;color:#ffe77a;font-size:clamp(2.4rem,6vw,5.2rem);line-height:.95;letter-spacing:.08em;text-transform:uppercase;text-align:center;text-shadow:0 0 12px rgba(255,231,122,.75),0 0 28px rgba(0,229,255,.32)}
.s2047-encyclopedia-quote{max-width:900px;margin:0 auto 16px;color:#fff;font-size:clamp(1.08rem,2vw,1.45rem);font-style:italic;line-height:1.5}
.s2047-encyclopedia-intro{max-width:940px;margin:0 auto;color:#dffaff;font-size:1.05rem;line-height:1.65}
.s2047-featured-entry{max-width:980px;padding:26px 24px}
.s2047-featured-entry h2{margin:8px auto 10px;color:#ffe77a;font-size:clamp(1.8rem,4vw,3.2rem);text-align:center;text-shadow:0 0 14px rgba(255,231,122,.5)}
.s2047-featured-entry p{max-width:850px;margin:0 auto;color:#e4fbff;line-height:1.65}
.s2047-encyclopedia-stats{max-width:1060px;margin:0 auto 28px;padding:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;border:1px solid rgba(255,231,122,.30);border-radius:22px;background:rgba(8,17,42,.72)}
.s2047-encyclopedia-stats div{text-align:center;padding:14px 10px;border:1px solid rgba(125,243,255,.24);border-radius:16px;background:rgba(5,10,28,.58)}
.s2047-encyclopedia-stats strong{display:block;color:#ffe77a;font-size:clamp(1.4rem,3vw,2.3rem);line-height:1;margin-bottom:7px}
.s2047-encyclopedia-stats span{color:#dffaff;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.s2047-encyclopedia-search-panel{max-width:850px;margin:0 auto 22px;text-align:center}
.s2047-encyclopedia-search-panel label{display:block;color:#7df3ff;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
#s2047-encyclopedia-search{width:100%;padding:15px 18px;border-radius:999px;border:1px solid rgba(125,243,255,.44);background:rgba(5,10,28,.82);color:#fff;font-size:1rem;text-align:center;outline:none;box-shadow:0 0 18px rgba(125,243,255,.12)}
.s2047-encyclopedia-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 30px;max-width:1040px}
.s2047-encyclopedia-tab{border:1px solid rgba(125,243,255,.35);border-radius:999px;background:rgba(8,17,42,.76);color:#dffaff;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:10px 16px;cursor:pointer;box-shadow:0 0 14px rgba(125,243,255,.08)}
.s2047-encyclopedia-tab.is-active,.s2047-encyclopedia-tab:hover{background:linear-gradient(135deg,#16d9ff,#7d5cff 48%,#ff4edb);color:#fff;border-color:rgba(255,255,255,.45)}
.s2047-encyclopedia-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.s2047-encyclopedia-card{display:flex;flex-direction:column;min-height:100%;padding:20px;text-align:center;border:1px solid rgba(102,224,255,.32);border-radius:22px;background:linear-gradient(180deg,rgba(12,18,46,.96),rgba(8,9,27,.96)),radial-gradient(circle at top,rgba(102,224,255,.14),transparent 18rem);box-shadow:0 12px 28px rgba(0,0,0,.34),0 0 18px rgba(102,224,255,.11);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.s2047-encyclopedia-card:hover{transform:translateY(-5px);border-color:rgba(255,92,230,.56);box-shadow:0 18px 34px rgba(0,0,0,.42),0 0 26px rgba(255,92,230,.22)}
.s2047-card-category{align-self:center;margin-bottom:12px;padding:7px 12px;border-radius:999px;color:#071021;background:linear-gradient(135deg,#ffe77a,#ff8b3d);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.s2047-encyclopedia-card h2{margin:0 0 12px;color:#fff;font-size:clamp(1.25rem,2.3vw,1.75rem);line-height:1.12;text-align:center;text-shadow:0 0 10px rgba(102,224,255,.45)}
.s2047-encyclopedia-card p{color:#dffaff;line-height:1.58;margin:0 0 14px}
.s2047-encyclopedia-readmore{margin:auto auto 0;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border:1px solid rgba(126,245,255,.55);border-radius:999px;background:linear-gradient(135deg,#16d9ff,#7d5cff 48%,#ff4edb);color:#fff;font-weight:900;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 18px rgba(22,217,255,.25)}
.s2047-encyclopedia-more{margin-top:14px;padding-top:14px;border-top:1px solid rgba(125,243,255,.20)}
@media(max-width:980px){.s2047-encyclopedia-grid,.s2047-encyclopedia-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.s2047-encyclopedia-grid,.s2047-encyclopedia-stats{grid-template-columns:1fr}.s2047-encyclopedia-tabs{gap:8px}.s2047-encyclopedia-tab{font-size:.82rem;padding:9px 12px}}


/* ============================================================
   Space 2047 Encyclopedia Filled Scrollable Cards
   ============================================================ */

.s2047-encyclopedia-card {
    min-height: 420px;
    position: relative;
}

.s2047-card-scroll-controls {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 0 auto 10px;
}

.s2047-card-scroll-controls button {
    width: 38px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid rgba(125, 243, 255, .52);
    background: linear-gradient(135deg, rgba(22,217,255,.92), rgba(255,78,219,.86));
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 0 14px rgba(22,217,255,.22);
}

.s2047-card-scroll-controls button:hover {
    filter: brightness(1.15);
    transform: translateY(-1px);
}

.s2047-card-scrollbox {
    flex: 1 1 auto;
    height: 260px;
    max-height: 260px;
    overflow-y: scroll;
    padding: 12px 14px;
    margin: 0 0 4px;
    border-radius: 16px;
    border: 1px solid rgba(125, 243, 255, .22);
    background: rgba(5, 10, 28, .42);
    box-shadow: inset 0 0 16px rgba(125,243,255,.05);
    scrollbar-width: auto;
    scrollbar-color: #7df3ff rgba(5, 10, 28, .85);
}

.s2047-card-scrollbox::-webkit-scrollbar {
    width: 16px;
    display: block;
}

.s2047-card-scrollbox::-webkit-scrollbar-track {
    background: rgba(5, 10, 28, .88);
    border-radius: 999px;
    border: 1px solid rgba(125,243,255,.16);
}

.s2047-card-scrollbox::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #16d9ff, #ff4edb);
    border-radius: 999px;
    border: 3px solid rgba(5, 10, 28, .88);
}

.s2047-card-scrollbox p {
    text-align: left;
    margin: 0 0 13px !important;
    color: #e8fbff;
}

.s2047-card-scrollbox p:last-child {
    margin-bottom: 0 !important;
}

.s2047-encyclopedia-readmore,
.s2047-encyclopedia-more {
    display: none !important;
}




/* ============================================================
   Space 2047 Clean Final Sticky Header + Drawer Layer Fix
   Actual classes only:
   Header: .site-header
   Scroller: .marquee
   Menu: .command-drawer
   Backdrop: .command-backdrop
   ============================================================ */

/* Sticky header stays visible but deliberately LOWER than the menu drawer */
.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
    isolation: auto !important;
    background: linear-gradient(#020713ee,#020713dd) !important;
}

/* The scrolling marquee/scroller remains sticky because it is inside the header */
.site-header .marquee,
.marquee {
    position: relative !important;
    z-index: 51 !important;
}

/* Admin bar support */
body.admin-bar .site-header {
    top: 32px !important;
}
@media (max-width: 782px) {
    body.admin-bar .site-header {
        top: 46px !important;
    }
}

/* Menu backdrop sits above the sticky header */
.command-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 50000 !important;
    background: rgba(0,0,0,.72) !important;
}

/* Menu drawer sits above everything in the theme */
.command-drawer {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: min(430px, 94vw) !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    overflow-y: scroll !important;
    z-index: 60000 !important;
    background: linear-gradient(180deg,#071426,#020713) !important;
    border-left: 2px solid #45dcff !important;
    box-shadow: -18px 0 45px rgba(0,0,0,.75), 0 0 42px rgba(69,220,255,.58) !important;
    transform: translateX(105%) !important;
    transition: transform .25s ease !important;
}

.command-drawer.is-open {
    transform: translateX(0) !important;
}

/* Permanent drawer scrollbar */
.command-drawer {
    scrollbar-width: auto;
    scrollbar-color: #45dcff #071426;
}
.command-drawer::-webkit-scrollbar {
    width: 16px;
    display: block;
}
.command-drawer::-webkit-scrollbar-track {
    background: #071426;
}
.command-drawer::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg,#45dcff,#f7c64a);
    border-radius: 999px;
    border: 3px solid #071426;
}

body.command-menu-open {
    overflow: hidden !important;
}

html {
    scroll-padding-top: 170px;
}


/* ============================================================
   Space 2047 Precise Z-Index Fix
   Actual values found:
   Header/menu area: .site-header
   Scroller: .marquee
   Drawer menu: .command-drawer
   Backdrop: .command-backdrop
   Galaxy labels/buttons: .s2047-map-pin
   ============================================================ */

/* Header must always sit above galaxy labels */
.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    isolation: isolate !important;
    background: #020713 !important;
}

/* Make the header area opaque so map labels cannot show through it */
.site-header::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    background: #020713 !important;
    pointer-events: none !important;
}

.site-header .marquee,
.marquee {
    position: relative !important;
    z-index: 1001 !important;
    background: #04070d !important;
}

/* Open menu must sit above the sticky header */
.command-backdrop {
    position: fixed !important;
    z-index: 5000 !important;
}

.command-drawer {
    position: fixed !important;
    z-index: 6000 !important;
}

/* Actual galaxy labels / clickable map labels */
.s2047-map-pin,
button.s2047-map-pin,
.s2047-interactive-map .s2047-map-pin,
.s2047-interactive-galaxy-map .s2047-map-pin {
    z-index: 1 !important;
}

/* Galaxy/map container stays below header */
.s2047-interactive-galaxy-map,
.s2047-interactive-map,
.s2047-map-box,
.s2047-feature-box.s2047-map-box {
    position: relative !important;
    z-index: 0 !important;
    isolation: auto !important;
}

/* Popups still stay above page content */
.s2047-location-popup,
.s2047-location-popup.is-open {
    z-index: 7000 !important;
}

/* Admin bar offset */
body.admin-bar .site-header {
    top: 32px !important;
}
@media (max-width: 782px) {
    body.admin-bar .site-header {
        top: 46px !important;
    }
}


/* Space 2047 spaceship aligned with Welcome Aboard */
.s2047-hero-section,
.s2047-welcome-section,
.s2047-home-hero{
    align-items:flex-start !important;
}

.s2047-hero-ship,
.s2047-spaceship-image,
.s2047-ship-image,
.s2047-home-hero img{
    align-self:flex-start !important;
    margin-top:0 !important;
    transform:translateY(-40px) !important;
}


/* ============================================================
   Space 2047 Menu Drawer Scrollbar + Arrow Controls
   Command Deck title is NOT sticky
   ============================================================ */

/* The drawer itself scrolls permanently */
.command-drawer {
    overflow-y: scroll !important;
    scrollbar-width: auto !important;
    scrollbar-color: #45dcff #071426 !important;
}

/* WebKit permanent scrollbar styling */
.command-drawer::-webkit-scrollbar {
    width: 16px !important;
    display: block !important;
}

.command-drawer::-webkit-scrollbar-track {
    background: #071426 !important;
    border-left: 1px solid rgba(69,220,255,.25) !important;
}

.command-drawer::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg,#45dcff,#f7c64a) !important;
    border-radius: 999px !important;
    border: 3px solid #071426 !important;
}

/* Make the menu title/header normal, not sticky */
.command-drawer .drawer-head {
    position: relative !important;
    top: auto !important;
    display: grid !important;
    grid-template-columns: 46px 1fr 46px !important;
    align-items: center !important;
    justify-items: center !important;
}

.command-drawer .drawer-head strong {
    grid-column: 1 / 4 !important;
    grid-row: 1 !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
    padding: 0 54px !important;
    box-sizing: border-box !important;
}

.command-drawer .drawer-head .drawer-close {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    position: relative !important;
    right: auto !important;
    z-index: 2 !important;
}

/* Menu arrow controls stay visible while scrolling */
.s2047-drawer-scroll-arrows {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 8px 0 10px !important;
    margin: 6px 0 10px !important;
    background: linear-gradient(180deg, #071426 70%, rgba(7,20,38,.84)) !important;
    border-top: 1px solid rgba(69,220,255,.18) !important;
    border-bottom: 1px solid rgba(69,220,255,.28) !important;
}

.s2047-drawer-scroll-arrows button {
    width: 46px !important;
    height: 34px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(69,220,255,.72) !important;
    background: linear-gradient(135deg, #45dcff, #f7c64a) !important;
    color: #071426 !important;
    font-weight: 1000 !important;
    cursor: pointer !important;
    box-shadow: 0 0 14px rgba(69,220,255,.28) !important;
}

.s2047-drawer-scroll-arrows button:hover {
    filter: brightness(1.12) !important;
}




/* ============================================================
   Space 2047 True Popup Overlay Above Sticky Header
   Fixes location popup appearing underneath the sticky command header
   ============================================================ */

/* Sticky header/menu layers */
.site-header {
    z-index: 1000 !important;
}

.command-backdrop {
    z-index: 5000 !important;
}

.command-drawer {
    z-index: 6000 !important;
}

/* The location popup becomes a true viewport overlay above header/menu */
.s2047-location-popup {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 999999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: clamp(14px, 3vw, 34px) !important;
    background: rgba(0, 0, 0, .78) !important;
    overflow: auto !important;
    box-sizing: border-box !important;
}

/* Only open popup displays */
.s2047-location-popup.is-open {
    display: flex !important;
}

/* Popup card itself */
.s2047-location-popup-inner {
    position: relative !important;
    z-index: 1000000 !important;
    width: min(1180px, 96vw) !important;
    max-height: min(820px, 90vh) !important;
    overflow-y: auto !important;
    margin: 0 auto !important;
    transform: none !important;
    box-sizing: border-box !important;
    scrollbar-width: auto !important;
    scrollbar-color: #45dcff #071426 !important;
}

/* Permanent visible popup scrollbar */
.s2047-location-popup-inner::-webkit-scrollbar {
    width: 16px !important;
    display: block !important;
}

.s2047-location-popup-inner::-webkit-scrollbar-track {
    background: #071426 !important;
}

.s2047-location-popup-inner::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg,#45dcff,#f7c64a) !important;
    border-radius: 999px !important;
    border: 3px solid #071426 !important;
}

/* Popup close and scroll controls above the card */
.s2047-location-close,
.s2047-location-scroll-controls {
    z-index: 1000002 !important;
}

/* Prevent page behind popup from scrolling */
body.s2047-popup-open {
    overflow: hidden !important;
}


/* Space 2047 Mission Board */
.s2047-mission-board{
background:linear-gradient(180deg,#071426,#020713);
border:2px solid #45dcff;
border-radius:18px;
padding:16px;
margin:20px 0;
box-shadow:0 0 20px rgba(69,220,255,.3);
}


/* Space 2047 Mission Board Homepage Styling */
.s2047-mission-board{
    max-width:1100px;
    margin:24px auto;
    padding:24px 22px;
    text-align:center;
    border:2px solid #45dcff;
    border-radius:22px;
    background:
        radial-gradient(circle at top, rgba(247,198,74,.16), transparent 28rem),
        linear-gradient(180deg,#071426,#020713);
    box-shadow:0 0 26px rgba(69,220,255,.30), inset 0 0 18px rgba(255,255,255,.04);
}
.s2047-mission-board h3{
    margin:0 0 10px;
    color:#f7c64a;
    font-size:clamp(26px,4vw,44px);
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.08em;
    text-align:center;
    text-shadow:0 0 14px rgba(247,198,74,.55);
}
.s2047-mission-board p{
    max-width:850px;
    margin:0 auto;
    color:#eaf8ff;
    font-size:clamp(16px,2vw,20px);
    line-height:1.55;
    text-align:center;
}


/* Space 2047 Sponsor Writing Panel */
.bottom{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
}
.sponsor-writing-panel{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    text-decoration:none !important;
    color:inherit !important;
}
.sponsor-writing-panel h3,
.sponsor-writing-panel p{
    text-align:center !important;
}
.sponsor-writing-panel:hover{
    box-shadow:0 0 26px rgba(247,198,74,.42), inset 0 0 18px rgba(69,220,255,.12) !important;
    border-color:#f7c64a !important;
}


/* Space 2047 bottom homepage boxes hover glow */
section.bottom article.panel,
section.bottom a.panel {
    transition:
        box-shadow .22s ease,
        border-color .22s ease,
        transform .22s ease !important;
}

section.bottom article.panel:hover,
section.bottom a.panel:hover {
    transform: translateY(-4px) !important;
    border-color: #f7c64a !important;
    box-shadow:
        0 0 26px rgba(247,198,74,.42),
        0 0 22px rgba(69,220,255,.30),
        inset 0 0 18px rgba(69,220,255,.12) !important;
}

section.bottom article.panel:hover h3,
section.bottom a.panel:hover h3 {
    text-shadow:
        0 0 12px rgba(247,198,74,.75),
        0 0 18px rgba(69,220,255,.45) !important;
}


/* Space 2047 Join Crew Panel Link */
.join-crew-panel{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    text-decoration:none !important;
    color:inherit !important;
}
.join-crew-panel h3,
.join-crew-panel p{
    text-align:center !important;
}

/* Meet Crew clickable panel */
.meet-crew-panel{
display:flex!important;
flex-direction:column!important;
justify-content:center!important;
align-items:center!important;
text-align:center!important;
text-decoration:none!important;
color:inherit!important;
}





/* Space 2047 Characters Page Styling */
.s2047-characters-page{
    max-width:1220px;
    margin:0 auto;
    padding:28px clamp(16px,4vw,48px) 64px;
}
.s2047-characters-hero{
    text-align:center;
    margin:22px auto 30px;
    padding:34px 24px;
    border:1px solid rgba(69,220,255,.42);
    border-radius:26px;
    background:radial-gradient(circle at top,rgba(247,198,74,.16),transparent 32rem),linear-gradient(135deg,rgba(7,20,38,.94),rgba(2,7,19,.96));
    box-shadow:0 0 30px rgba(69,220,255,.18),inset 0 0 24px rgba(255,255,255,.04);
}
.s2047-characters-hero h1{
    margin:0 0 14px;
    color:#f7c64a;
    font-size:clamp(42px,7vw,88px);
    line-height:.92;
    text-transform:uppercase;
    letter-spacing:.06em;
    text-shadow:0 0 18px rgba(247,198,74,.55);
}
.s2047-kicker{
    color:#45dcff;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.18em;
}
.s2047-character-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}
.s2047-character-card{
    padding:22px;
    border:2px solid rgba(69,220,255,.55);
    border-radius:22px;
    background:linear-gradient(180deg,rgba(7,20,38,.96),rgba(2,7,19,.96));
    box-shadow:0 0 22px rgba(69,220,255,.18);
    color:#eaf8ff;
    text-align:center;
}
.s2047-character-card:hover{
    border-color:#f7c64a;
    box-shadow:0 0 28px rgba(247,198,74,.38),0 0 22px rgba(69,220,255,.28);
    transform:translateY(-4px);
}
.s2047-character-card h2{
    margin:0 0 12px;
    color:#f7c64a;
    text-align:center;
    text-transform:uppercase;
    line-height:1.1;
    text-shadow:0 0 12px rgba(247,198,74,.45);
}
.s2047-character-card p{
    text-align:center;
    line-height:1.62;
}
@media(max-width:980px){
    .s2047-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
    .s2047-character-grid{grid-template-columns:1fr;}
}


/* Space 2047 Official WordPress Admin Menu Drawer */
.s2047-admin-menu-only ul,
.s2047-drawer-wp-menu{
    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
}

.s2047-admin-menu-only li{
    margin:0 !important;
    padding:0 !important;
}

.s2047-admin-menu-only a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:48px !important;
    text-align:center !important;
    padding:10px 12px !important;
    border:1px solid #45dcff66 !important;
    background:linear-gradient(#0b1c30,#050b14) !important;
    text-decoration:none !important;
    color:#f4d578 !important;
    text-transform:uppercase !important;
    font-weight:900 !important;
    border-radius:7px !important;
}

.s2047-admin-menu-only a:hover{
    color:#fff !important;
    border-color:#f7c64a !important;
    box-shadow:0 0 18px rgba(247,198,74,.42),0 0 16px rgba(69,220,255,.24) !important;
}

/* Nested admin menu items */
.s2047-admin-menu-only .sub-menu{
    margin:8px 0 0 14px !important;
    padding:0 !important;
    display:grid !important;
    gap:7px !important;
}

.s2047-admin-menu-only .sub-menu a{
    min-height:40px !important;
    font-size:12px !important;
    opacity:.94 !important;
}


/* Space 2047 Primary Command Deck Menu Fix */
.command-drawer .drawer-grid.s2047-admin-menu-only{
    display:block !important;
}
.command-drawer .s2047-drawer-wp-menu,
.command-drawer .s2047-drawer-wp-menu ul{
    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
}
.command-drawer .s2047-drawer-wp-menu{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
}
.command-drawer .s2047-drawer-wp-menu li{
    margin:0 !important;
    padding:0 !important;
}
.command-drawer .s2047-drawer-wp-menu a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:48px !important;
    text-align:center !important;
    padding:10px 12px !important;
    border:1px solid #45dcff66 !important;
    background:linear-gradient(#0b1c30,#050b14) !important;
    text-decoration:none !important;
    color:#f4d578 !important;
    text-transform:uppercase !important;
    font-weight:900 !important;
    border-radius:7px !important;
}
.command-drawer .s2047-drawer-wp-menu a:hover{
    color:#fff !important;
    border-color:#f7c64a !important;
    box-shadow:0 0 18px rgba(247,198,74,.42),0 0 16px rgba(69,220,255,.24) !important;
}
.command-drawer .s2047-drawer-wp-menu .sub-menu{
    margin:8px 0 0 14px !important;
    display:grid !important;
    gap:7px !important;
}
.command-drawer .s2047-drawer-wp-menu .sub-menu a{
    min-height:40px !important;
    font-size:12px !important;
}


/* ============================================================
   Space 2047 Safe Expansion Pack
   ============================================================ */

.s2047-galactic-counters{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin:22px auto;
}
.s2047-galactic-counters article{
    text-align:center;
    padding:20px 14px;
    border:2px solid rgba(69,220,255,.55);
    border-radius:18px;
    background:linear-gradient(180deg,rgba(7,20,38,.96),rgba(2,7,19,.96));
    box-shadow:0 0 20px rgba(69,220,255,.18);
}
.s2047-galactic-counters strong{
    display:block;
    color:#f7c64a;
    font-size:clamp(32px,5vw,56px);
    line-height:1;
    text-shadow:0 0 14px rgba(247,198,74,.55);
}
.s2047-galactic-counters span{
    display:block;
    margin-top:8px;
    color:#eaf8ff;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

section.bottom article.panel,
section.bottom a.panel,
.tiles .tile,
.s2047-galactic-counters article,
.s2047-character-card,
.s2047-extra-grid article{
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
section.bottom article.panel:hover,
section.bottom a.panel:hover,
.tiles .tile:hover,
.s2047-galactic-counters article:hover,
.s2047-character-card:hover,
.s2047-extra-grid article:hover{
    transform:translateY(-4px) !important;
    border-color:#f7c64a !important;
    box-shadow:0 0 28px rgba(247,198,74,.42),0 0 22px rgba(69,220,255,.28),inset 0 0 18px rgba(69,220,255,.12) !important;
}
.s2047-character-extras{
    max-width:1220px;
    margin:34px auto 0;
    text-align:center;
}
.s2047-character-extras h2{
    color:#f7c64a;
    text-transform:uppercase;
    text-shadow:0 0 12px rgba(247,198,74,.45);
}
.s2047-extra-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin:16px auto 28px;
}
.s2047-extra-grid article{
    padding:18px;
    border:2px solid rgba(69,220,255,.5);
    border-radius:18px;
    background:linear-gradient(180deg,rgba(7,20,38,.95),rgba(2,7,19,.96));
    color:#eaf8ff;
}
@media(max-width:980px){
    .s2047-galactic-counters,.s2047-extra-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
    .s2047-galactic-counters,.s2047-extra-grid{grid-template-columns:1fr;}
}


/* Space 2047 safe live homepage features */
.s2047-live-deck{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    margin:30px auto;
    max-width:1220px;
}
.s2047-live-card{
    position:relative;
    overflow:hidden;
    padding:22px;
    min-height:260px;
    border:2px solid rgba(69,220,255,.55);
    border-radius:22px;
    background:
      radial-gradient(circle at 18% 12%, rgba(247,198,74,.18), transparent 28%),
      radial-gradient(circle at 85% 8%, rgba(69,220,255,.16), transparent 30%),
      linear-gradient(180deg, rgba(9,25,48,.96), rgba(2,7,20,.98));
    box-shadow:0 0 24px rgba(69,220,255,.16), inset 0 0 22px rgba(255,255,255,.04);
    color:#eaf8ff;
    text-align:center;
}
.s2047-live-card h2{
    margin:6px 0 12px;
    color:#f7c64a;
    font-size:clamp(1.25rem,2vw,1.75rem);
    text-transform:uppercase;
    text-shadow:0 0 12px rgba(247,198,74,.45);
}
.s2047-live-card p{
    color:#eaf8ff;
    line-height:1.45;
}
.s2047-live-kicker{
    display:inline-block;
    margin:0 0 8px;
    padding:6px 10px;
    border:1px solid rgba(247,198,74,.5);
    border-radius:999px;
    color:#f7c64a !important;
    font-size:.8rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
    background:rgba(247,198,74,.08);
}
.s2047-crew-frame{
    display:flex;
    gap:14px;
    align-items:center;
    text-align:left;
    margin:8px 0 18px;
}
.s2047-crew-avatar{
    flex:0 0 74px;
    width:74px;
    height:74px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:2px solid rgba(247,198,74,.75);
    background:rgba(0,0,0,.28);
    box-shadow:0 0 18px rgba(247,198,74,.25);
    font-size:38px;
}
.s2047-random-button{
    cursor:pointer;
    border:none;
}
.s2047-live-card .button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:10px;
    min-height:42px;
}
@media(max-width:1100px){
    .s2047-live-deck{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
    .s2047-live-deck{grid-template-columns:1fr; padding-left:14px; padding-right:14px;}
    .s2047-crew-frame{flex-direction:column;text-align:center;}
}


/* Space 2047 expanded character portraits, museum and terminal */
.s2047-character-grid-expanded{
    align-items:stretch;
}
.s2047-expanded-character-card{
    display:flex;
    flex-direction:column;
}
.s2047-character-portrait,
.s2047-museum-icon{
    width:96px;
    height:96px;
    margin:0 auto 14px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:2px solid rgba(247,198,74,.75);
    background:
        radial-gradient(circle at 35% 25%, rgba(255,255,255,.18), transparent 25%),
        linear-gradient(180deg, rgba(69,220,255,.2), rgba(247,198,74,.12));
    box-shadow:0 0 22px rgba(247,198,74,.28), inset 0 0 18px rgba(69,220,255,.12);
    font-size:48px;
}
.s2047-character-role{
    color:#f7c64a !important;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.s2047-character-facts{
    margin-top:auto;
    padding:14px;
    border-radius:16px;
    border:1px solid rgba(69,220,255,.45);
    background:rgba(0,0,0,.22);
}
.s2047-terminal-teaser{
    padding:24px;
    border:2px solid rgba(247,198,74,.45);
    border-radius:24px;
    background:linear-gradient(180deg,rgba(9,25,48,.94),rgba(2,7,20,.98));
}
.s2047-terminal-box{
    max-width:760px;
    margin:16px auto 0;
    display:grid;
    gap:12px;
    justify-items:center;
}
.s2047-terminal-box select{
    width:min(100%,420px);
    padding:12px 14px;
    border-radius:14px;
    border:2px solid rgba(69,220,255,.55);
    background:#061326;
    color:#eaf8ff;
    font-weight:800;
}
#s2047TerminalOutput{
    width:min(100%,720px);
    min-height:72px;
    padding:16px;
    border-radius:16px;
    border:1px solid rgba(69,220,255,.45);
    background:rgba(0,0,0,.28);
    color:#eaf8ff;
    font-size:1.05rem;
}
.s2047-museum-page{
    padding-bottom:40px;
}
.s2047-museum-grid{
    max-width:1220px;
    margin:28px auto;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.s2047-museum-card{
    padding:22px;
    border:2px solid rgba(69,220,255,.52);
    border-radius:22px;
    background:linear-gradient(180deg,rgba(9,25,48,.96),rgba(2,7,20,.98));
    box-shadow:0 0 22px rgba(69,220,255,.14);
    text-align:center;
    color:#eaf8ff;
}
.s2047-museum-card h2{
    color:#f7c64a;
    text-transform:uppercase;
    text-shadow:0 0 12px rgba(247,198,74,.35);
}
@media(max-width:1100px){
    .s2047-museum-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
    .s2047-museum-grid{grid-template-columns:1fr;padding-left:14px;padding-right:14px;}
}


/* Space 2047 illustrated portrait upgrade */
.s2047-character-portrait{
background:
radial-gradient(circle at 30% 25%, rgba(255,255,255,.25), transparent 25%),
linear-gradient(135deg,#0a2342,#07111f) !important;
position:relative;
overflow:hidden;
}
.s2047-character-portrait::after{
content:'';
position:absolute;
inset:8px;
border-radius:50%;
box-shadow:inset 0 0 25px rgba(247,198,74,.35);
}


/* Space 2047 actual illustrated SVG portrait files */
.s2047-character-portrait-image{
    width:132px !important;
    height:132px !important;
    padding:0 !important;
    background:#061326 !important;
}
.s2047-character-portrait-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    border-radius:50%;
    filter:drop-shadow(0 0 14px rgba(247,198,74,.22));
}
.s2047-character-portrait-image::after{
    pointer-events:none;
}


/* Space 2047 portrait clipping fix and safer larger portraits */
.s2047-character-portrait-image,
.s2047-character-portrait{
    overflow:hidden !important;
}
.s2047-character-portrait-image{
    width:160px !important;
    height:160px !important;
    margin-bottom:18px !important;
}
.s2047-character-portrait-image img{
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:cover !important;
    object-position:center center !important;
}
.s2047-expanded-character-card:hover .s2047-character-portrait-image{
    transform:scale(1.04);
    box-shadow:0 0 30px rgba(247,198,74,.45), inset 0 0 18px rgba(69,220,255,.16);
}
.s2047-character-facts p{
    text-align:left;
}

/* Galaxy News Network safe add-on */
.s2047-gnn-panel{
    max-width:1220px;
    margin:30px auto;
    padding:22px;
    border:2px solid rgba(69,220,255,.55);
    border-radius:24px;
    background:
      radial-gradient(circle at 12% 18%, rgba(69,220,255,.14), transparent 30%),
      linear-gradient(180deg, rgba(9,25,48,.96), rgba(2,7,20,.98));
    box-shadow:0 0 26px rgba(69,220,255,.16), inset 0 0 22px rgba(255,255,255,.04);
    text-align:center;
}
.s2047-gnn-panel h2{
    color:#f7c64a;
    text-transform:uppercase;
    text-shadow:0 0 14px rgba(247,198,74,.45);
    margin:0 0 12px;
}
.s2047-gnn-screen{
    min-height:84px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    border:1px solid rgba(69,220,255,.45);
    border-radius:18px;
    background:rgba(0,0,0,.28);
    color:#39ff66;
    font-weight:900;
    font-size:clamp(1.05rem,2.2vw,1.45rem);
    text-transform:uppercase;
    letter-spacing:.03em;
    text-shadow:0 0 10px rgba(57,255,102,.5);
}
.s2047-gnn-panel .button{
    margin-top:14px;
    cursor:pointer;
    border:0;
}
@media(max-width:680px){
    .s2047-gnn-panel{margin-left:14px;margin-right:14px;}
}

.s2047-mission-board{max-width:900px;margin:30px auto;padding:24px;border:2px solid rgba(69,220,255,.5);border-radius:24px;text-align:center;background:linear-gradient(180deg,#091930,#020714);}
.s2047-mission-board h2{color:#f7c64a;}
#mBrief{margin:18px 0;padding:18px;border:1px solid rgba(69,220,255,.4);border-radius:16px;}

/* Space 2047 Trading Cards */
.s2047-card-grid{
    max-width:1220px;
    margin:30px auto;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    perspective:1200px;
}
.s2047-trading-card{
    min-height:420px;
    outline:none;
}
.s2047-card-inner{
    position:relative;
    width:100%;
    height:100%;
    min-height:420px;
    transition:transform .7s ease;
    transform-style:preserve-3d;
}
.s2047-trading-card:hover .s2047-card-inner,
.s2047-trading-card:focus .s2047-card-inner,
.s2047-trading-card:focus-within .s2047-card-inner{
    transform:rotateY(180deg);
}
.s2047-card-face{
    position:absolute;
    inset:0;
    padding:20px;
    backface-visibility:hidden;
    border:2px solid rgba(247,198,74,.65);
    border-radius:24px;
    background:
        radial-gradient(circle at 20% 10%, rgba(247,198,74,.18), transparent 28%),
        linear-gradient(180deg, rgba(9,25,48,.98), rgba(2,7,20,.99));
    box-shadow:0 0 26px rgba(247,198,74,.18), inset 0 0 22px rgba(69,220,255,.08);
    text-align:center;
    color:#eaf8ff;
    overflow:hidden;
}
.s2047-card-back{
    transform:rotateY(180deg);
}
.s2047-card-front img{
    width:190px;
    height:190px;
    object-fit:cover;
    border-radius:50%;
    border:3px solid rgba(69,220,255,.65);
    box-shadow:0 0 24px rgba(69,220,255,.25);
    background:#061326;
}
.s2047-card-face h2{
    color:#f7c64a;
    text-transform:uppercase;
    text-shadow:0 0 12px rgba(247,198,74,.4);
}
.s2047-card-type{
    display:inline-block;
    margin-bottom:14px;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid rgba(69,220,255,.55);
    color:#45dcff;
    font-weight:900;
    text-transform:uppercase;
    font-size:.8rem;
}
.s2047-card-quote{
    color:#f7c64a !important;
    font-weight:800;
}
.s2047-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:14px;
}
.s2047-stats span{
    padding:8px;
    border-radius:12px;
    background:rgba(69,220,255,.1);
    border:1px solid rgba(69,220,255,.35);
}
.s2047-stats strong{
    display:block;
    color:#f7c64a;
    font-size:1.35rem;
}
.s2047-trading-teaser{
    max-width:1220px;
    margin:30px auto;
    padding:24px;
    border:2px solid rgba(247,198,74,.5);
    border-radius:24px;
    text-align:center;
    background:linear-gradient(180deg,rgba(9,25,48,.96),rgba(2,7,20,.98));
}
.s2047-trading-teaser h2{
    color:#f7c64a;
    text-transform:uppercase;
}
@media(max-width:1100px){
    .s2047-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
    .s2047-card-grid{grid-template-columns:1fr;padding-left:14px;padding-right:14px;}
    .s2047-trading-teaser{margin-left:14px;margin-right:14px;}
}
@media print{
    .s2047-card-grid{display:grid;grid-template-columns:repeat(2,1fr);}
    .s2047-card-inner{transform:none!important;}
    .s2047-card-back{display:none;}
}

.s2047-planet-grid{max-width:1220px;margin:30px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.s2047-planet-card{padding:20px;border:2px solid rgba(69,220,255,.5);border-radius:22px;background:linear-gradient(180deg,#091930,#020714)}
.s2047-planet-card h2{color:#f7c64a}
@media(max-width:900px){.s2047-planet-grid{grid-template-columns:1fr}}

/* Space 2047 Quest System */
.s2047-quest-console{
    max-width:980px;
    margin:30px auto;
    padding:26px;
    border:2px solid rgba(69,220,255,.55);
    border-radius:26px;
    background:
      radial-gradient(circle at 15% 15%, rgba(247,198,74,.16), transparent 28%),
      linear-gradient(180deg, rgba(9,25,48,.98), rgba(2,7,20,.99));
    box-shadow:0 0 28px rgba(69,220,255,.16), inset 0 0 22px rgba(255,255,255,.04);
    text-align:center;
    color:#eaf8ff;
}
.s2047-quest-console h2{
    color:#f7c64a;
    text-transform:uppercase;
    text-shadow:0 0 14px rgba(247,198,74,.42);
}
.s2047-quest-meta{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:18px 0;
}
.s2047-quest-meta span{
    padding:12px;
    border:1px solid rgba(69,220,255,.38);
    border-radius:14px;
    background:rgba(0,0,0,.25);
}
.s2047-quest-meta em{
    color:#f7c64a;
    font-style:normal;
    font-weight:800;
}
#s2047QuestBrief{
    margin:18px auto;
    padding:18px;
    border-radius:18px;
    border:1px solid rgba(247,198,74,.35);
    background:rgba(247,198,74,.08);
    max-width:820px;
}
.s2047-quest-actions{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
}
.s2047-quest-actions .button{
    cursor:pointer;
    border:0;
}
.s2047-quest-result{
    margin-top:18px;
    color:#39ff66 !important;
    font-weight:900;
    text-shadow:0 0 10px rgba(57,255,102,.45);
}
.s2047-rank-grid{
    max-width:1220px;
    margin:28px auto 44px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.s2047-rank-grid article,
.s2047-quest-teaser{
    padding:22px;
    border:2px solid rgba(247,198,74,.45);
    border-radius:22px;
    background:linear-gradient(180deg,rgba(9,25,48,.96),rgba(2,7,20,.98));
    text-align:center;
    color:#eaf8ff;
}
.s2047-rank-grid h3,
.s2047-quest-teaser h2{
    color:#f7c64a;
    text-transform:uppercase;
}
.s2047-quest-teaser{
    max-width:1220px;
    margin:30px auto;
}
@media(max-width:900px){
    .s2047-quest-meta,.s2047-rank-grid{grid-template-columns:1fr;}
    .s2047-quest-console,.s2047-rank-grid,.s2047-quest-teaser{margin-left:14px;margin-right:14px;}
}

.s2047-db-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1200px;margin:20px auto}.s2047-db-card{padding:18px;border:2px solid #45dcff;border-radius:18px}
/* Space 2047 cleaned character database */
.s2047-db-controls{
    max-width:1220px;
    margin:24px auto;
    padding:20px;
    display:grid;
    grid-template-columns:2fr 1fr auto;
    gap:14px;
    align-items:center;
    border:2px solid rgba(69,220,255,.5);
    border-radius:22px;
    background:linear-gradient(180deg,rgba(9,25,48,.96),rgba(2,7,20,.98));
    color:#eaf8ff;
}
.s2047-db-controls input,.s2047-db-controls select{
    width:100%;
    padding:13px 15px;
    border-radius:14px;
    border:2px solid rgba(69,220,255,.55);
    background:#061326;
    color:#eaf8ff;
    font-weight:800;
}
.s2047-az-bar{
    max-width:1220px;
    margin:10px auto 24px;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    justify-content:center;
}
.s2047-az-bar button{
    min-width:38px;
    padding:8px 10px;
    border-radius:12px;
    border:1px solid rgba(247,198,74,.5);
    background:rgba(247,198,74,.08);
    color:#f7c64a;
    font-weight:900;
    cursor:pointer;
}
.s2047-az-bar button.active,.s2047-az-bar button:hover{
    background:#f7c64a;
    color:#061326;
}
.s2047-character-database-grid{
    max-width:1220px;
    margin:26px auto 48px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.s2047-db-card{
    padding:20px;
    border:2px solid rgba(69,220,255,.5);
    border-radius:22px;
    background:radial-gradient(circle at 15% 10%, rgba(247,198,74,.12), transparent 30%),linear-gradient(180deg,rgba(9,25,48,.97),rgba(2,7,20,.99));
    color:#eaf8ff;
    box-shadow:0 0 22px rgba(69,220,255,.13);
}
.s2047-db-card h2{
    color:#f7c64a;
    text-transform:uppercase;
    text-shadow:0 0 12px rgba(247,198,74,.36);
    margin-top:0;
}
.s2047-db-category{
    display:inline-block;
    padding:5px 9px;
    border-radius:999px;
    border:1px solid rgba(69,220,255,.45);
    color:#45dcff !important;
    font-weight:900;
    text-transform:uppercase;
    font-size:.78rem;
}
.s2047-db-facts{
    padding:12px;
    margin:12px 0;
    border-radius:14px;
    border:1px solid rgba(69,220,255,.35);
    background:rgba(0,0,0,.22);
}
@media(max-width:1100px){
    .s2047-character-database-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .s2047-db-controls{grid-template-columns:1fr;}
}
@media(max-width:700px){
    .s2047-character-database-grid{grid-template-columns:1fr;padding-left:14px;padding-right:14px;}
    .s2047-db-controls,.s2047-az-bar{margin-left:14px;margin-right:14px;}
}

/* Space 2047 Communications Hub */
.s2047-comms-console{
    max-width:1220px;
    margin:30px auto 48px;
    display:grid;
    grid-template-columns:310px 1fr;
    gap:18px;
}
.s2047-comms-sidebar,.s2047-comms-main,.s2047-comms-teaser{
    padding:20px;
    border:2px solid rgba(69,220,255,.52);
    border-radius:24px;
    background:linear-gradient(180deg,rgba(9,25,48,.97),rgba(2,7,20,.99));
    color:#eaf8ff;
    box-shadow:0 0 24px rgba(69,220,255,.14);
}
.s2047-comms-sidebar h2,.s2047-comms-teaser h2{
    color:#f7c64a;
    text-transform:uppercase;
}
.s2047-comms-character{
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    margin:8px 0;
    padding:9px;
    border-radius:16px;
    border:1px solid rgba(69,220,255,.35);
    background:rgba(0,0,0,.18);
    color:#eaf8ff;
    font-weight:900;
    cursor:pointer;
    text-align:left;
}
.s2047-comms-character:hover,.s2047-comms-character.active{
    border-color:#f7c64a;
    box-shadow:0 0 18px rgba(247,198,74,.26);
}
.s2047-comms-character img{
    width:44px;
    height:44px;
    border-radius:50%;
    object-fit:cover;
    background:#061326;
    border:1px solid rgba(247,198,74,.45);
}
.s2047-all-crew-button{
    width:100%;
    margin-top:12px;
    justify-content:center;
    cursor:pointer;
    border:0;
}
.s2047-comms-screen{
    min-height:520px;
    max-height:620px;
    overflow-y:auto;
    padding:16px;
    border-radius:18px;
    border:1px solid rgba(69,220,255,.4);
    background:rgba(0,0,0,.32);
}
.s2047-message{
    margin:10px 0;
    padding:12px 14px;
    border-radius:16px;
    line-height:1.45;
}
.s2047-system-message{
    border:1px solid rgba(247,198,74,.35);
    background:rgba(247,198,74,.08);
    color:#f7c64a;
}
.s2047-user-message{
    margin-left:18%;
    background:rgba(69,220,255,.16);
    border:1px solid rgba(69,220,255,.4);
}
.s2047-character-message{
    margin-right:18%;
    background:rgba(247,198,74,.1);
    border:1px solid rgba(247,198,74,.38);
}
.s2047-comms-form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    margin-top:14px;
}
.s2047-comms-form input{
    padding:14px 16px;
    border-radius:16px;
    border:2px solid rgba(69,220,255,.55);
    background:#061326;
    color:#eaf8ff;
    font-weight:800;
}
.s2047-comms-form button{
    border:0;
    cursor:pointer;
}
.s2047-comms-teaser{
    max-width:1220px;
    margin:30px auto;
    text-align:center;
}
@media(max-width:900px){
    .s2047-comms-console{grid-template-columns:1fr;margin-left:14px;margin-right:14px;}
    .s2047-comms-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
    .s2047-comms-sidebar h2{grid-column:1/-1;}
    .s2047-all-crew-button{grid-column:1/-1;}
    .s2047-user-message,.s2047-character-message{margin-left:0;margin-right:0;}
    .s2047-comms-form{grid-template-columns:1fr;}
    .s2047-comms-teaser{margin-left:14px;margin-right:14px;}
}


/* Homepage Communications Hub moved below Welcome Aboard */
.site-header .top-radio{display:none !important;}
.s2047-home-comms-hub{
    margin-top:24px !important;
    margin-bottom:24px !important;
    border:1px solid rgba(69,220,255,.55);
    background:linear-gradient(180deg,rgba(5,18,34,.96),rgba(2,7,19,.96));
    border-radius:16px;
    padding:18px;
    text-align:center;
    box-shadow:0 0 28px rgba(69,220,255,.22), inset 0 0 24px rgba(69,220,255,.08);
}
.s2047-home-comms-hub h2{
    margin:0 0 6px !important;
    color:#45dcff;
    text-transform:uppercase;
    letter-spacing:2px;
    text-shadow:0 0 12px rgba(69,220,255,.8);
}
.s2047-home-comms-subtitle{
    margin:0 auto 14px !important;
    max-width:720px;
    color:#dff8ff;
    font-weight:700;
}
.s2047-home-comms-hub .top-radio{
    width:100% !important;
    max-width:900px !important;
    margin:0 auto 14px !important;
}
.s2047-home-comms-hub .s2047-comms-open-button{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
}
@media(max-width:700px){
    .s2047-home-comms-hub{padding:14px;margin-left:14px;margin-right:14px;}
    .s2047-home-comms-hub .top-radio{grid-template-columns:1fr !important;min-height:auto !important;}
}


/* Space 2047 radio controls: equalisers beside controls final */
.s2047-home-comms-hub .top-radio{
    display:block !important;
    width:100% !important;
    max-width:900px !important;
    min-height:auto !important;
    padding:14px !important;
}

.s2047-home-comms-hub .top-radio-centre{
    width:100% !important;
    max-width:100% !important;
    text-align:center !important;
}

.s2047-home-comms-hub .top-radio-control-deck{
    display:grid !important;
    grid-template-columns:minmax(90px,1fr) auto minmax(90px,1fr) !important;
    align-items:center !important;
    gap:12px !important;
    margin-top:10px !important;
}

.s2047-home-comms-hub .top-radio-eq{
    height:58px !important;
    min-width:0 !important;
    width:100% !important;
    padding:7px !important;
    display:flex !important;
    align-items:end !important;
    justify-content:center !important;
    gap:5px !important;
    overflow:hidden !important;
}

.s2047-home-comms-hub .top-radio-eq span{
    width:8px !important;
    max-width:8px !important;
    animation:none !important;
    transition:none !important;
    transform-origin:bottom center !important;
}

.s2047-home-comms-hub .top-radio-controls{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:nowrap !important;
    gap:7px !important;
    min-width:max-content !important;
}

.s2047-home-comms-hub .top-radio-controls button{
    white-space:nowrap !important;
}

@media(max-width:700px){
    .s2047-home-comms-hub .top-radio-control-deck{
        grid-template-columns:1fr auto 1fr !important;
        gap:6px !important;
    }
    .s2047-home-comms-hub .top-radio-eq{
        height:46px !important;
        padding:5px !important;
        gap:3px !important;
    }
    .s2047-home-comms-hub .top-radio-eq span{
        width:5px !important;
        max-width:5px !important;
    }
    .s2047-home-comms-hub .top-radio-controls{
        gap:4px !important;
    }
    .s2047-home-comms-hub .top-radio-controls button{
        min-width:34px !important;
        min-height:32px !important;
        padding:5px 7px !important;
        font-size:12px !important;
    }
}

/* === Space 2047 emergency galaxy popup rebuild ===
   Keeps the map labels clickable and makes the new popup class match the JS. */
.s2047-feature-box.s2047-map-box,
.s2047-map-box,
.s2047-interactive-map{
    position:relative !important;
    overflow:visible !important;
}
.s2047-interactive-map{
    isolation:isolate !important;
    z-index:2 !important;
}
.s2047-interactive-map > img{
    position:relative !important;
    z-index:1 !important;
    pointer-events:none !important;
}
.s2047-interactive-map .s2047-map-pin,
button.s2047-map-pin{
    position:absolute !important;
    z-index:80 !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
    cursor:pointer !important;
    user-select:none !important;
}
.s2047-location-popup.active,
.s2047-location-popup.is-open{
    display:flex !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    z-index:999999 !important;
}
.s2047-location-popup[aria-hidden="true"]:not(.is-open):not(.active){
    display:none !important;
}
#s2047LocationFacts{
    list-style:none !important;
    padding:0 !important;
    margin:0 !important;
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
    gap:10px !important;
}
#s2047LocationFacts li{
    border:1px solid rgba(69,220,255,.45) !important;
    border-radius:14px !important;
    padding:10px 12px !important;
    background:rgba(69,220,255,.08) !important;
}
.s2047-location-placeholder{
    min-height:180px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px dashed rgba(69,220,255,.55) !important;
    border-radius:18px !important;
    color:#bff6ff !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
    font-weight:900 !important;
}


/* === Space 2047 v2.2: galaxy label popups are now picture-only === */
.s2047-location-popup.s2047-image-only-popup .s2047-location-popup-inner,
.s2047-location-popup.is-open .s2047-location-popup-inner{
    width:min(92vw, 980px) !important;
    max-width:980px !important;
    max-height:88vh !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    padding:22px !important;
    overflow:auto !important;
}
.s2047-location-popup.s2047-image-only-popup #s2047LocationText,
.s2047-location-popup.s2047-image-only-popup #s2047LocationFacts,
.s2047-location-popup.s2047-image-only-popup #s2047LocationLore,
.s2047-location-popup.s2047-image-only-popup #s2047LocationQuoteWrap,
.s2047-location-popup.s2047-image-only-popup .s2047-location-lore,
.s2047-location-popup.s2047-image-only-popup .s2047-location-quote-wrap,
.s2047-location-popup.s2047-image-only-popup .s2047-location-scroll-controls{
    display:none !important;
}
.s2047-location-popup.s2047-image-only-popup #s2047LocationTitle{
    display:block !important;
    order:1 !important;
    margin:0 46px 4px !important;
    text-align:center !important;
    font-size:clamp(18px, 3vw, 30px) !important;
    line-height:1.1 !important;
}
.s2047-location-popup.s2047-image-only-popup .s2047-location-picture,
.s2047-location-popup.s2047-image-only-popup #s2047LocationPicture,
.s2047-location-popup.s2047-image-only-popup #s2047LocationPicture.has-image,
.s2047-location-popup.s2047-image-only-popup #s2047LocationPicture.is-placeholder{
    order:2 !important;
    width:100% !important;
    height:auto !important;
    min-height:260px !important;
    max-height:72vh !important;
    aspect-ratio:16/9 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:22px !important;
    background:#050a18 !important;
}
.s2047-location-popup.s2047-image-only-popup #s2047LocationPicture img,
.s2047-location-popup.s2047-image-only-popup #s2047LocationPicture.has-image img,
.s2047-location-popup.s2047-image-only-popup .s2047-popup-real-image{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    display:block !important;
    border-radius:18px !important;
}
.s2047-location-popup.s2047-image-only-popup .s2047-location-placeholder{
    width:100% !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    padding:22px !important;
    color:#e9fbff !important;
    font-weight:900 !important;
}
@media (max-width:700px){
    .s2047-location-popup.s2047-image-only-popup .s2047-location-popup-inner{padding:14px !important; width:94vw !important;}
    .s2047-location-popup.s2047-image-only-popup #s2047LocationPicture{min-height:220px !important; max-height:68vh !important;}
}

/* === Space 2047 BRAND NEW GALAXY MAP: standalone replacement, image popups only === */
.s2047-new-galaxy-box{
  position:relative !important;
  overflow:visible !important;
}
.s2047-new-galaxy-box > h2{
  text-align:center !important;
  margin-bottom:14px !important;
}
.s2047-new-galaxy-stage{
  position:relative !important;
  width:100% !important;
  min-height:520px !important;
  border-radius:28px !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(105,217,255,.28) 0 2px, transparent 3px),
    radial-gradient(circle at 64% 28%, rgba(105,255,154,.22) 0 3px, transparent 5px),
    radial-gradient(circle at 75% 72%, rgba(255,213,108,.25) 0 2px, transparent 4px),
    radial-gradient(circle at 30% 62%, rgba(155,124,255,.25) 0 4px, transparent 9px),
    radial-gradient(circle at 50% 50%, #203185 0%, #101844 35%, #070b20 70%, #02040e 100%) !important;
  box-shadow: inset 0 0 60px rgba(69,220,255,.25), 0 0 28px rgba(69,220,255,.22) !important;
  border:1px solid rgba(69,220,255,.35) !important;
  margin:0 auto 16px !important;
}
.s2047-new-galaxy-stars,
.s2047-new-galaxy-stars:before,
.s2047-new-galaxy-stars:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.95) 0 1px, transparent 1.4px),
    radial-gradient(circle, rgba(105,217,255,.8) 0 1px, transparent 1.6px) !important;
  background-size:46px 46px, 79px 79px !important;
  background-position:0 0, 18px 24px !important;
  opacity:.8 !important;
  z-index:0 !important;
}
.s2047-new-galaxy-stars:before{ transform:rotate(13deg) scale(1.1); opacity:.45 !important; }
.s2047-new-galaxy-stars:after{ transform:rotate(-19deg) scale(1.2); opacity:.35 !important; }
.s2047-new-orbit{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) rotate(-14deg) !important;
  border:1px solid rgba(105,217,255,.28) !important;
  border-radius:50% !important;
  pointer-events:none !important;
  z-index:1 !important;
}
.s2047-new-orbit.orbit-one{ width:52%; height:34%; }
.s2047-new-orbit.orbit-two{ width:75%; height:51%; transform:translate(-50%,-50%) rotate(18deg) !important; }
.s2047-new-orbit.orbit-three{ width:96%; height:70%; transform:translate(-50%,-50%) rotate(-31deg) !important; }
.s2047-new-location{
  position:absolute !important;
  left:var(--x) !important;
  top:var(--y) !important;
  transform:translate(-50%,-50%) !important;
  z-index:5 !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-width:0 !important;
  max-width:190px !important;
  padding:8px 10px !important;
  border:1px solid rgba(255,255,255,.45) !important;
  border-radius:999px !important;
  background:rgba(3,10,30,.86) !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  text-align:left !important;
  box-shadow:0 0 16px var(--glow), inset 0 0 14px rgba(255,255,255,.1) !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
}
.s2047-new-location .planet-dot{
  flex:0 0 auto !important;
  width:22px !important;
  height:22px !important;
  border-radius:50% !important;
  background:radial-gradient(circle at 35% 30%, #fff 0 2px, var(--planet) 3px, rgba(0,0,0,.35) 100%) !important;
  box-shadow:0 0 18px var(--glow) !important;
}
.s2047-new-location .planet-dot.black-hole{ background:radial-gradient(circle, #000 0 45%, #ffd56c 48% 60%, #000 63%) !important; }
.s2047-new-location .planet-dot.station{ border-radius:7px !important; background:linear-gradient(135deg,#fff,#b6a3ff 45%,#34306d) !important; }
.s2047-new-location .planet-dot.moon{ background:radial-gradient(circle at 30% 30%,#fff,#c8d7de 45%,#66727a) !important; }
.s2047-new-location .planet-dot.banana{ border-radius:60% 30% 60% 30% !important; background:linear-gradient(135deg,#fff8a0,#ffe45e,#c99200) !important; }
.s2047-new-location .planet-dot.nebula{ background:radial-gradient(circle,#fff,#9b7cff 35%,#ff5be7 65%,#222) !important; }
.s2047-new-location:hover,
.s2047-new-location:focus{
  outline:3px solid rgba(255,255,255,.72) !important;
  transform:translate(-50%,-50%) scale(1.07) !important;
  z-index:20 !important;
}
.s2047-new-location .label{
  display:block !important;
  text-shadow:0 2px 4px #000 !important;
}
.s2047-new-image-popup{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
  background:rgba(0,0,0,.84) !important;
  z-index:999999 !important;
}
.s2047-new-image-popup.is-open,
.s2047-location-popup.is-open{
  display:flex !important;
}
body.s2047-popup-open{ overflow:hidden !important; }
.s2047-new-image-popup-card{
  position:relative !important;
  width:min(94vw, 980px) !important;
  max-height:92vh !important;
  border-radius:24px !important;
  padding:18px !important;
  background:linear-gradient(180deg, rgba(8,21,60,.98), rgba(2,5,17,.98)) !important;
  border:2px solid rgba(105,217,255,.65) !important;
  box-shadow:0 0 44px rgba(105,217,255,.45) !important;
  overflow:auto !important;
}
.s2047-new-image-popup-card h3{
  margin:0 46px 12px 0 !important;
  color:#fff !important;
  text-align:center !important;
  font-size:clamp(20px, 4vw, 34px) !important;
  line-height:1.1 !important;
}
.s2047-new-popup-close{
  position:absolute !important;
  top:10px !important;
  right:12px !important;
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  border:2px solid #fff !important;
  background:#ff365f !important;
  color:#fff !important;
  font-size:30px !important;
  line-height:34px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  z-index:3 !important;
}
.s2047-new-popup-picture{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:240px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.04) !important;
  overflow:hidden !important;
}
.s2047-new-popup-picture img{
  display:block !important;
  max-width:100% !important;
  max-height:76vh !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  border-radius:14px !important;
  box-shadow:0 0 24px rgba(0,0,0,.55) !important;
}
.s2047-new-popup-placeholder{
  color:#fff !important;
  font-weight:800 !important;
  padding:40px !important;
  text-align:center !important;
}
@media (max-width:760px){
  .s2047-new-galaxy-stage{ min-height:620px !important; }
  .s2047-new-location{
    font-size:11px !important;
    padding:7px 8px !important;
    max-width:135px !important;
    gap:6px !important;
  }
  .s2047-new-location .planet-dot{ width:18px !important; height:18px !important; }
  .s2047-new-image-popup-card{ padding:14px !important; }
  .s2047-new-popup-picture img{ max-height:70vh !important; }
}
@media (max-width:460px){
  .s2047-new-galaxy-stage{ min-height:690px !important; }
  .s2047-new-location{ max-width:118px !important; font-size:10px !important; }
}

/* === Space 2047 Expansion Pages === */
.space2047-page{padding:24px;max-width:1200px;margin:0 auto;color:#fff}.space2047-page h1{text-align:center}.s2047-expansion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.s2047-expansion-card{background:rgba(0,20,50,.82);border:1px solid rgba(104,217,255,.45);border-radius:18px;padding:18px;box-shadow:0 0 18px rgba(104,217,255,.2)}.s2047-story-output{margin-top:18px;padding:18px;border-radius:16px;background:rgba(0,0,0,.45);min-height:70px}.s2047-relation-list li{margin:10px 0;padding:10px;border-radius:12px;background:rgba(255,255,255,.08)}

/* === Space 2047 Crew Recruitment Centre === */
.s2047-recruitment-centre{padding-bottom:48px}.s2047-recruit-hero{text-align:center;background:linear-gradient(135deg,rgba(12,42,92,.88),rgba(69,18,97,.78));border:1px solid rgba(104,217,255,.42);border-radius:24px;padding:26px;margin-bottom:22px;box-shadow:0 0 26px rgba(104,217,255,.22)}.s2047-kicker{letter-spacing:.14em;text-transform:uppercase;color:#8ee9ff;font-weight:900}.s2047-recruit-layout{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:22px;align-items:stretch}.s2047-recruit-form,.s2047-crew-card,.s2047-certificate{background:rgba(0,18,42,.88);border:1px solid rgba(104,217,255,.45);border-radius:22px;padding:20px;box-shadow:0 0 22px rgba(104,217,255,.18)}.s2047-recruit-form label{display:block;margin:13px 0 6px;font-weight:900;color:#dff8ff}.s2047-recruit-form input,.s2047-recruit-form select{width:100%;box-sizing:border-box;border-radius:12px;border:1px solid rgba(104,217,255,.55);background:rgba(0,0,0,.42);color:#fff;padding:12px;font-size:16px}.s2047-recruit-form option{background:#06142d;color:#fff}.s2047-recruit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.s2047-recruit-actions button,.s2047-certificate button{border:0;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer;background:linear-gradient(135deg,#62e7ff,#f6d365);color:#06142d;box-shadow:0 0 16px rgba(98,231,255,.35)}.s2047-card-topline{text-transform:uppercase;letter-spacing:.13em;color:#8ee9ff;font-weight:900}.s2047-crew-card h2{font-size:34px;margin:8px 0;text-align:left}.s2047-crew-id{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 14px;font-weight:900;color:#f6d365}.s2047-crew-data{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 18px;margin:16px 0}.s2047-crew-data p{margin:6px 0}.s2047-rank-track{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.s2047-rank-track span{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 10px;background:rgba(255,255,255,.08);font-weight:800}.s2047-rank-track span.active{background:linear-gradient(135deg,#f6d365,#62e7ff);color:#06142d}.s2047-certificate{margin-top:24px;text-align:center;background:radial-gradient(circle at top,rgba(246,211,101,.18),rgba(0,18,42,.9))}.s2047-certificate h2{text-align:center}.s2047-signature{font-family:cursive;font-size:22px;color:#f6d365}.s2047-recruit-links{margin-top:24px}.s2047-recruit-links .s2047-expansion-card{display:block;text-decoration:none;color:#fff}.s2047-recruit-links .s2047-expansion-card span{display:block;margin-top:8px;color:#dff8ff}@media(max-width:820px){.s2047-recruit-layout{grid-template-columns:1fr}.s2047-crew-card h2{font-size:27px}.s2047-recruit-actions button,.s2047-certificate button{width:100%}}@media print{body *{visibility:hidden!important}.s2047-certificate,.s2047-certificate *{visibility:visible!important}.s2047-certificate{position:absolute;left:0;top:0;width:100%;color:#000!important;background:#fff!important;box-shadow:none!important}.s2047-certificate button{display:none!important}}

/* Space 2047 Deluxe Recruitment Certificate */
.s2047-certificate-wrap{margin-top:28px;text-align:center}.s2047-certificate{position:relative;overflow:hidden;max-width:1120px;margin:0 auto;padding:34px 42px;border-radius:28px;color:#fff;background:radial-gradient(circle at 50% 0%,rgba(104,217,255,.28),transparent 34%),radial-gradient(circle at 15% 18%,rgba(246,211,101,.22),transparent 26%),linear-gradient(135deg,#06142d 0%,#10295a 38%,#2a1147 100%);border:7px double rgba(246,211,101,.92);box-shadow:0 0 36px rgba(104,217,255,.28),inset 0 0 42px rgba(0,0,0,.5)}.s2047-cert-stars{position:absolute;inset:0;opacity:.45;pointer-events:none;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px),radial-gradient(circle,#8ee9ff 0 1px,transparent 1.5px),radial-gradient(circle,#f6d365 0 1px,transparent 1.5px);background-size:38px 38px,64px 64px,91px 91px;background-position:0 0,17px 29px,44px 12px}.s2047-certificate>*{position:relative;z-index:2}.s2047-cert-corner{position:absolute;z-index:3;width:74px;height:74px;border-color:#f6d365;opacity:.95}.s2047-cert-corner-tl{top:14px;left:14px;border-top:4px solid;border-left:4px solid;border-radius:18px 0 0 0}.s2047-cert-corner-tr{top:14px;right:14px;border-top:4px solid;border-right:4px solid;border-radius:0 18px 0 0}.s2047-cert-corner-bl{bottom:14px;left:14px;border-bottom:4px solid;border-left:4px solid;border-radius:0 0 0 18px}.s2047-cert-corner-br{bottom:14px;right:14px;border-bottom:4px solid;border-right:4px solid;border-radius:0 0 18px 0}.s2047-cert-header{display:grid;grid-template-columns:110px 1fr 110px;gap:18px;align-items:center;margin-bottom:16px}.s2047-cert-kicker{text-transform:uppercase;letter-spacing:.22em;color:#8ee9ff;font-weight:900;margin:0 0 5px}.s2047-certificate h2{font-size:clamp(34px,5vw,64px);line-height:1;margin:0;text-align:center;color:#fff;text-shadow:0 0 18px rgba(104,217,255,.65),0 3px 0 rgba(0,0,0,.55)}.s2047-cert-subtitle{margin:8px 0 0;color:#f6d365;font-weight:900;font-size:18px}.s2047-cert-seal{width:98px;height:98px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:auto;background:radial-gradient(circle,#fff4b8 0%,#f6d365 42%,#9b6617 100%);color:#06142d;border:4px solid #fff3b0;box-shadow:0 0 20px rgba(246,211,101,.55),inset 0 0 14px rgba(0,0,0,.25);font-weight:1000;transform:rotate(-8deg)}.s2047-cert-seal-right{transform:rotate(8deg)}.s2047-cert-seal span{font-size:22px;line-height:1}.s2047-cert-seal small{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.s2047-cert-ship-panel{margin:12px auto 18px;max-width:560px;padding:12px 18px;border-radius:24px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.s2047-cert-ship-panel img{display:block;max-width:100%;height:auto;max-height:210px;object-fit:contain;margin:0 auto;filter:drop-shadow(0 0 18px rgba(104,217,255,.8))}.s2047-cert-intro{font-size:20px;margin:8px 0 0;color:#dff8ff}.s2047-cert-name{font-size:clamp(36px,6vw,76px);line-height:1.05;margin:8px auto 14px;color:#f6d365;font-weight:1000;text-shadow:0 0 18px rgba(246,211,101,.5),0 3px 0 rgba(0,0,0,.7)}.s2047-cert-body{font-size:19px;line-height:1.55;max-width:880px;margin:0 auto 18px;color:#fff}.s2047-cert-details{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px auto;max-width:960px}.s2047-cert-details p{margin:0;padding:12px;border-radius:16px;background:rgba(0,0,0,.28);border:1px solid rgba(246,211,101,.38)}.s2047-cert-details strong,.s2047-cert-details span{display:block}.s2047-cert-details strong{text-transform:uppercase;letter-spacing:.12em;color:#8ee9ff;font-size:12px}.s2047-cert-details span{margin-top:5px;color:#fff;font-weight:900}.s2047-cert-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.s2047-cert-signatures div{border-top:2px solid rgba(246,211,101,.75);padding-top:10px}.s2047-cert-signatures span{display:block;font-family:cursive;font-size:25px;color:#f6d365}.s2047-cert-signatures small{display:block;color:#dff8ff}.s2047-print-cert-button{margin:18px auto 0;border:0;border-radius:999px;padding:13px 22px;font-weight:1000;cursor:pointer;background:linear-gradient(135deg,#f6d365,#62e7ff);color:#06142d;box-shadow:0 0 18px rgba(98,231,255,.35)}@media(max-width:760px){.s2047-certificate{padding:26px 18px}.s2047-cert-header{grid-template-columns:1fr}.s2047-cert-seal{width:82px;height:82px}.s2047-cert-details,.s2047-cert-signatures{grid-template-columns:1fr}.s2047-cert-ship-panel img{max-height:150px}}@media print{@page{size:A4 landscape;margin:10mm}body *{visibility:hidden!important}.s2047-certificate-wrap,.s2047-certificate-wrap *{visibility:visible!important}.s2047-certificate-wrap{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important}.s2047-print-cert-button{display:none!important}.s2047-certificate{box-sizing:border-box!important;width:100%!important;max-width:none!important;min-height:185mm!important;margin:0!important;padding:14mm!important;border-radius:0!important;color:#06142d!important;background:radial-gradient(circle at 50% 0%,#dff8ff 0%,#fff 36%,#fff8d7 100%)!important;border:8px double #9b6617!important;box-shadow:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.s2047-cert-stars{opacity:.18!important}.s2047-certificate h2{color:#06142d!important;text-shadow:none!important;font-size:42pt!important}.s2047-cert-kicker,.s2047-cert-subtitle,.s2047-cert-intro,.s2047-cert-body,.s2047-cert-signatures small{color:#06142d!important}.s2047-cert-name,.s2047-cert-signatures span{color:#9b6617!important;text-shadow:none!important}.s2047-cert-details p{background:#fff8d7!important;border:1px solid #9b6617!important;color:#06142d!important}.s2047-cert-details strong{color:#10295a!important}.s2047-cert-details span{color:#06142d!important}.s2047-cert-ship-panel img{max-height:43mm!important}.s2047-cert-seal{box-shadow:none!important}.s2047-cert-corner{border-color:#9b6617!important}}

/* Space 2047 certificate print fix: full black page, gold text, no cropping */
@media print{
  @page{size:landscape;margin:0!important;}
  html,body{margin:0!important;padding:0!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;background:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
  body{display:block!important;}
  body *{visibility:hidden!important;}
  header,footer,nav,.site-header,.site-footer,.s2047-recruit-hero,.s2047-recruit-layout,.s2047-recruit-links,.s2047-print-cert-button{display:none!important;height:0!important;min-height:0!important;overflow:hidden!important;}
  .space2047-page,.s2047-recruitment-centre{display:block!important;visibility:visible!important;position:fixed!important;inset:0!important;margin:0!important;padding:0!important;width:100vw!important;height:100vh!important;min-height:0!important;overflow:hidden!important;background:#000!important;}
  .s2047-certificate-wrap,.s2047-certificate-wrap *{visibility:visible!important;}
  .s2047-certificate-wrap{display:flex!important;align-items:center!important;justify-content:center!important;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;margin:0!important;padding:5mm!important;box-sizing:border-box!important;overflow:hidden!important;background:#000!important;page-break-before:avoid!important;page-break-after:avoid!important;page-break-inside:avoid!important;break-before:avoid!important;break-after:avoid!important;break-inside:avoid!important;}
  .s2047-certificate{display:block!important;position:relative!important;box-sizing:border-box!important;width:calc(100vw - 10mm)!important;height:calc(100vh - 10mm)!important;max-width:none!important;max-height:none!important;min-height:0!important;margin:0!important;padding:7mm 9mm!important;overflow:hidden!important;border-radius:0!important;color:#f6d365!important;background:radial-gradient(circle at 50% 0%,rgba(37,120,190,.34),transparent 28%),radial-gradient(circle at 50% 45%,rgba(246,211,101,.08),transparent 38%),linear-gradient(135deg,#000 0%,#050914 45%,#000 100%)!important;border:3mm double #d6a83d!important;box-shadow:inset 0 0 0 1mm rgba(255,232,142,.55),inset 0 0 26mm rgba(0,0,0,.85)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;page-break-inside:avoid!important;break-inside:avoid!important;}
  .s2047-cert-stars{display:block!important;opacity:.55!important;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.4px),radial-gradient(circle,#f6d365 0 1px,transparent 1.5px)!important;background-size:28px 28px,61px 61px!important;background-position:0 0,19px 13px!important;}
  .s2047-cert-header{display:grid!important;grid-template-columns:18mm 1fr 18mm!important;gap:4mm!important;align-items:center!important;margin:0 0 3mm!important;}
  .s2047-cert-seal{width:17mm!important;height:17mm!important;border-width:1mm!important;box-shadow:none!important;background:radial-gradient(circle,#fff1a8 0%,#d6a83d 48%,#7a510e 100%)!important;color:#000!important;}
  .s2047-cert-seal span{font-size:10pt!important;}.s2047-cert-seal small{font-size:4.8pt!important;}
  .s2047-cert-kicker{font-size:8pt!important;letter-spacing:.22em!important;color:#f6d365!important;margin:0 0 1.5mm!important;}
  .s2047-certificate h2{font-size:28pt!important;line-height:1!important;margin:0!important;color:#f6d365!important;text-shadow:0 0 9px rgba(246,211,101,.55)!important;white-space:normal!important;}
  .s2047-cert-subtitle{font-size:10pt!important;margin:1.5mm 0 0!important;color:#ffe89a!important;}
  .s2047-cert-ship-panel{max-width:60mm!important;margin:2mm auto 3mm!important;padding:1.5mm 3mm!important;border-color:rgba(246,211,101,.5)!important;background:rgba(0,0,0,.35)!important;}
  .s2047-cert-ship-panel img{max-width:100%!important;max-height:28mm!important;width:auto!important;height:auto!important;object-fit:contain!important;filter:drop-shadow(0 0 8px rgba(104,217,255,.85))!important;}
  .s2047-cert-intro{font-size:9pt!important;margin:0!important;color:#ffe89a!important;letter-spacing:.12em!important;text-transform:uppercase!important;}
  .s2047-cert-name{font-size:30pt!important;line-height:1!important;margin:2mm auto 2.5mm!important;color:#f6d365!important;text-shadow:0 0 9px rgba(246,211,101,.55)!important;}
  .s2047-cert-body{font-size:9pt!important;line-height:1.28!important;max-width:190mm!important;margin:0 auto 3mm!important;color:#fff2b8!important;}
  .s2047-cert-details{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2mm!important;max-width:200mm!important;margin:2mm auto 4mm!important;}
  .s2047-cert-details p{min-width:0!important;margin:0!important;padding:2mm 1.5mm!important;border-radius:3mm!important;background:rgba(0,0,0,.45)!important;border:1px solid rgba(246,211,101,.75)!important;color:#f6d365!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .s2047-cert-details strong{font-size:5.8pt!important;color:#ffe89a!important;letter-spacing:.12em!important;}.s2047-cert-details span{font-size:7pt!important;color:#f6d365!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .s2047-cert-signatures{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:7mm!important;margin:3mm auto 0!important;max-width:180mm!important;}
  .s2047-cert-signatures div{border-top:1px solid rgba(246,211,101,.9)!important;padding-top:1.5mm!important;}
  .s2047-cert-signatures span{font-size:13pt!important;color:#f6d365!important;}.s2047-cert-signatures small{font-size:6.5pt!important;color:#ffe89a!important;}
  .s2047-cert-corner{width:16mm!important;height:16mm!important;border-color:#f6d365!important;}
}

/* === Space 2047 Mission Control / Start Here === */
.s2047-mission-control-page{max-width:1220px;margin:0 auto;padding:24px;color:#fff;}
.s2047-mc-hero{position:relative;overflow:hidden;text-align:center;border:1px solid rgba(247,198,74,.7);border-radius:28px;padding:34px 22px;margin:18px auto 24px;background:radial-gradient(circle at 50% 0%,rgba(78,213,255,.25),transparent 40%),linear-gradient(135deg,rgba(2,8,22,.96),rgba(8,28,61,.94));box-shadow:0 0 30px rgba(78,213,255,.22), inset 0 0 35px rgba(247,198,74,.08);}
.s2047-mc-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.65) 1px,transparent 1.5px);background-size:38px 38px;opacity:.15;pointer-events:none;}
.s2047-mc-hero>*{position:relative;z-index:1}.s2047-mc-hero h1{font-size:clamp(38px,7vw,78px);line-height:.95;margin:8px 0 14px;text-transform:uppercase;letter-spacing:.04em;color:#f7c64a;text-shadow:0 0 18px rgba(247,198,74,.45)}
.s2047-mc-lead{max-width:850px;margin:0 auto 22px;font-size:clamp(17px,2.2vw,22px);line-height:1.55;color:#dff8ff}.s2047-mc-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.s2047-mc-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:999px;text-decoration:none;font-weight:900;color:#06142d;background:linear-gradient(135deg,#f7c64a,#62e7ff);box-shadow:0 0 18px rgba(98,231,255,.28)}
.s2047-mc-route-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:24px 0}.s2047-mc-route{display:block;min-height:180px;text-decoration:none;color:#fff;padding:18px;border-radius:22px;border:1px solid rgba(104,217,255,.45);background:linear-gradient(180deg,rgba(0,24,58,.9),rgba(0,8,22,.95));box-shadow:0 0 18px rgba(104,217,255,.14);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.s2047-mc-route:hover,.s2047-mc-route:focus{transform:translateY(-3px);border-color:#f7c64a;box-shadow:0 0 26px rgba(247,198,74,.22)}.s2047-mc-route span{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:50%;background:rgba(247,198,74,.16);border:1px solid rgba(247,198,74,.7);color:#f7c64a;font-weight:900}.s2047-mc-route h2{margin:14px 0 8px;color:#62e7ff;font-size:24px}.s2047-mc-route p{margin:0;color:#dff8ff;line-height:1.45}.s2047-mc-journey{border:1px solid rgba(247,198,74,.55);border-radius:24px;padding:22px;background:rgba(0,0,0,.42);margin:24px 0}.s2047-mc-journey h2{text-align:center;color:#f7c64a;margin-top:0}.s2047-mc-journey ol{max-width:820px;margin:0 auto;padding-left:28px}.s2047-mc-journey li{margin:10px 0;line-height:1.5;color:#dff8ff}
@media(max-width:680px){.s2047-mission-control-page{padding:16px}.s2047-mc-route{min-height:unset}.s2047-mc-actions a{width:100%}}

/* === Space 2047 cleanup: single hero spaceship border === */
.ship-image-box,
.hero .ship-image-box{
  padding:0 !important;
  border:3px solid #45dcff !important;
  border-radius:22px !important;
  overflow:hidden !important;
  background:#020713 !important;
  box-shadow:0 0 24px rgba(69,220,255,.65), inset 0 0 0 0 transparent !important;
}
.ship-image-box img,
.hero .ship-image-box img{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:cover !important;
}

/* === Space 2047 Mission Control 2.0 dashboard === */
.s2047-mission-control-2{max-width:1240px;margin:0 auto;padding:24px;color:#fff;}
.s2047-mc2-hero{border-color:rgba(98,231,255,.7)!important;background:radial-gradient(circle at 50% 0%,rgba(98,231,255,.26),transparent 38%),radial-gradient(circle at 16% 12%,rgba(247,198,74,.15),transparent 28%),linear-gradient(135deg,#020713,#071936 55%,#020713)!important;}
.s2047-mc2-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0;}
.s2047-mc2-status-card{min-height:130px;border:1px solid rgba(98,231,255,.45);border-radius:22px;padding:18px;background:linear-gradient(180deg,rgba(4,25,58,.95),rgba(0,7,20,.98));box-shadow:0 0 18px rgba(98,231,255,.16);}
.s2047-mc2-status-card.s2047-mc2-wide{grid-column:span 2;}
.s2047-mc2-label{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;color:#62e7ff;margin-bottom:8px;}
.s2047-mc2-status-card strong{display:block;font-size:clamp(24px,3vw,42px);line-height:1.05;color:#f7c64a;text-shadow:0 0 14px rgba(247,198,74,.28);}
.s2047-mc2-status-card p{margin:8px 0 0;color:#dff8ff;font-weight:800;}
.s2047-mc2-now{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;}
.s2047-mc2-now>div{border:1px solid rgba(247,198,74,.5);border-radius:22px;padding:22px;background:rgba(0,0,0,.42);box-shadow:0 0 18px rgba(247,198,74,.1);}
.s2047-mc2-now h2{margin:0 0 10px;color:#f7c64a;font-size:clamp(22px,3vw,34px);}
.s2047-mc2-now p{margin:0;color:#fff;line-height:1.55;font-size:18px;}
.s2047-mc2-route-grid .s2047-mc-route{min-height:170px;}
.s2047-mc2-journey{background:linear-gradient(180deg,rgba(3,22,51,.85),rgba(0,0,0,.55));}
@media(max-width:900px){.s2047-mc2-dashboard{grid-template-columns:1fr 1fr}.s2047-mc2-status-card.s2047-mc2-wide{grid-column:span 2}.s2047-mc2-now{grid-template-columns:1fr}}
@media(max-width:620px){.s2047-mc2-dashboard{grid-template-columns:1fr}.s2047-mc2-status-card.s2047-mc2-wide{grid-column:span 1}.s2047-mission-control-2{padding:16px}.s2047-mc2-status-card{min-height:unset}}

/* Single border fix */
.s2047-mc-hero img,.hero img,.ship-image img,.hero-image img{border:none!important;box-shadow:none!important;outline:none!important;}


/* Trading cards image repair and mobile tap flip */
.s2047-trading-card.is-flipped .s2047-card-inner{transform:rotateY(180deg)!important;}
.s2047-card-front{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;}
.s2047-card-front img{display:block!important;width:205px!important;height:205px!important;object-fit:cover!important;margin:6px auto 10px!important;opacity:1!important;visibility:visible!important;background:#061326!important;}
.s2047-card-front h2{margin:.2rem 0!important;}
.s2047-card-type{max-width:92%;white-space:normal;line-height:1.2;}
@media(max-width:760px){
  .s2047-card-grid{grid-template-columns:1fr 1fr!important;gap:14px!important;margin:20px 10px!important;}
  .s2047-trading-card,.s2047-card-inner{min-height:330px!important;}
  .s2047-card-face{padding:12px!important;border-radius:18px!important;}
  .s2047-card-front img{width:135px!important;height:135px!important;}
  .s2047-card-face h2{font-size:1rem!important;}
  .s2047-card-type{font-size:.58rem!important;padding:5px 7px!important;}
  .s2047-card-back p{font-size:.78rem!important;line-height:1.3!important;}
  .s2047-stats{grid-template-columns:1fr!important;gap:5px!important;}
  .s2047-stats span{padding:5px!important;font-size:.72rem!important;}
}
@media(max-width:420px){
  .s2047-card-grid{grid-template-columns:1fr 1fr!important;gap:10px!important;}
  .s2047-trading-card,.s2047-card-inner{min-height:300px!important;}
  .s2047-card-front img{width:115px!important;height:115px!important;}
}

/* === Space 2047 Location Pages 2.0 === */
.s2047-location2-page{max-width:1240px;margin:0 auto;padding:24px;color:#fff;}
.s2047-location2-hero,.s2047-location2-feature,.s2047-location2-route{border:2px solid rgba(77,225,255,.72);box-shadow:0 0 22px rgba(77,225,255,.18), inset 0 0 28px rgba(77,225,255,.06);border-radius:22px;background:linear-gradient(135deg,rgba(3,8,26,.94),rgba(0,0,0,.9));padding:24px;margin:18px 0;}
.s2047-location2-hero h1{margin:.2em 0;font-size:clamp(2rem,6vw,4.4rem);text-align:center;color:#fff;text-shadow:0 0 18px rgba(77,225,255,.65);}
.s2047-location2-hero p{max-width:900px;margin:0 auto 18px;text-align:center;line-height:1.7;color:#d9f8ff;}
.s2047-location2-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.s2047-location2-actions a,.s2047-location2-badges button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid #4de1ff;background:rgba(77,225,255,.12);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 0 12px rgba(77,225,255,.25);}
.s2047-location2-feature{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:22px;align-items:center;}
.s2047-location2-feature img{width:100%;max-height:330px;object-fit:contain;border:none!important;outline:none!important;box-shadow:none!important;border-radius:16px;background:rgba(0,0,0,.28);}
.s2047-location2-feature h2{margin:6px 0 12px;color:#ffd76a;font-size:clamp(1.8rem,4vw,3.3rem);text-shadow:0 0 16px rgba(255,215,106,.4);}
.s2047-location2-feature p{margin:8px 0;line-height:1.55;color:#e9fbff;}
.s2047-location2-feature strong{color:#ffd76a;}
.s2047-location2-status{display:inline-block;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,215,106,.75);color:#ffd76a;background:rgba(255,215,106,.1);font-weight:900;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;}
.s2047-location2-badges{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;}
.s2047-location2-badges span{border:1px solid rgba(255,215,106,.75);border-radius:999px;padding:10px 14px;background:rgba(255,215,106,.1);color:#ffd76a;font-weight:900;}
.s2047-location2-badges button.is-collected{background:rgba(255,215,106,.2);border-color:#ffd76a;color:#ffd76a;}
.s2047-location2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:20px 0;}
.s2047-location2-card{cursor:pointer;text-align:left;border:1px solid rgba(77,225,255,.5);border-radius:18px;background:linear-gradient(180deg,rgba(4,16,43,.95),rgba(0,0,0,.92));color:#fff;padding:14px;box-shadow:0 0 16px rgba(77,225,255,.12);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.s2047-location2-card:hover,.s2047-location2-card:focus,.s2047-location2-card.is-active{transform:translateY(-3px);border-color:#ffd76a;box-shadow:0 0 22px rgba(255,215,106,.25);outline:none;}
.s2047-location2-card img{display:block;width:100%;height:130px;object-fit:contain;border:none!important;outline:none!important;box-shadow:none!important;background:rgba(0,0,0,.22);border-radius:12px;margin-bottom:10px;}
.s2047-location2-card span{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#4de1ff;font-weight:900;}
.s2047-location2-card strong{display:block;margin:6px 0;color:#fff;font-size:1.05rem;line-height:1.2;}
.s2047-location2-card em{display:block;color:#ffd76a;font-style:normal;font-size:.9rem;}
.s2047-location2-route h2{text-align:center;color:#ffd76a;margin-top:0;}
.s2047-location2-route>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.s2047-location2-route article{border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px;background:rgba(255,255,255,.05);}
.s2047-location2-route h3{margin-top:0;color:#4de1ff;}
@media(max-width:760px){.s2047-location2-page{padding:14px}.s2047-location2-feature{grid-template-columns:1fr}.s2047-location2-actions a{width:100%}.s2047-location2-feature img{max-height:260px}}

/* === Space 2047 Galactic Passport System === */
.s2047-passport-page{max-width:1180px;margin:0 auto;padding:34px 18px 70px;color:#f8e7a0}.s2047-passport-hero,.s2047-passport-book,.s2047-passport-progress-wrap{background:radial-gradient(circle at top,#102247 0,#050711 58%,#000 100%);border:2px solid #d9a938;box-shadow:0 0 28px rgba(52,220,255,.25),inset 0 0 20px rgba(217,169,56,.14);border-radius:22px;padding:24px;text-align:center;margin:0 0 22px}.s2047-passport-hero h1{margin:.15em 0;color:#ffd96a;text-shadow:0 0 18px rgba(255,217,106,.45);font-size:clamp(2rem,7vw,4.5rem)}.s2047-passport-hero p{max-width:780px;margin:0 auto 18px;color:#f6eabf}.s2047-passport-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.s2047-passport-actions a,.s2047-passport-actions button,.s2047-stamp button{background:linear-gradient(180deg,#ffe28a,#ba7e18);color:#090909;border:0;border-radius:999px;padding:11px 18px;font-weight:900;text-decoration:none;box-shadow:0 0 12px rgba(255,210,70,.35);cursor:pointer}.s2047-passport-book{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;text-align:left}.s2047-passport-cover{border:3px double #ffd96a;border-radius:18px;padding:24px;text-align:center;background:#030303;min-height:260px;display:flex;flex-direction:column;justify-content:center}.s2047-passport-seal{width:78px;height:78px;line-height:72px;margin:0 auto 14px;border:3px solid #ffd96a;border-radius:50%;font-size:42px;text-align:center;color:#ffd96a;box-shadow:0 0 18px rgba(255,217,106,.35)}.s2047-passport-cover h2{color:#ffd96a;font-size:clamp(1.8rem,5vw,3rem);letter-spacing:.06em;margin:0 0 10px}.s2047-passport-small{font-size:.95rem;color:#f4df9a}.s2047-passport-id-panel{border:1px solid rgba(255,217,106,.55);border-radius:18px;padding:24px;background:rgba(0,0,0,.42);display:flex;flex-direction:column;justify-content:center}.s2047-passport-id-panel p{font-size:1.1rem;margin:8px 0}.s2047-passport-id-panel strong{color:#ffd96a}.s2047-passport-meter{height:22px;border:1px solid #ffd96a;border-radius:999px;background:#050505;overflow:hidden}.s2047-passport-meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,#9b6d10,#ffe28a,#fff2b0);transition:width .25s ease}.s2047-passport-stamps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.s2047-stamp{background:linear-gradient(180deg,rgba(10,18,42,.96),rgba(0,0,0,.96));border:1px solid rgba(77,225,255,.45);box-shadow:0 0 16px rgba(77,225,255,.16);border-radius:18px;padding:18px;text-align:center;cursor:pointer;min-height:170px;display:flex;flex-direction:column;justify-content:space-between}.s2047-stamp strong{display:block;color:#ffd96a;font-size:1.25rem}.s2047-stamp span{display:block;color:#d8f9ff;margin:8px 0 14px}.s2047-stamp.is-collected{border-color:#ffd96a;box-shadow:0 0 24px rgba(255,217,106,.35);background:radial-gradient(circle at center,rgba(255,217,106,.22),rgba(0,0,0,.94))}.s2047-stamp.is-collected:before{content:'STAMPED';display:block;width:110px;margin:0 auto 10px;transform:rotate(-8deg);border:2px solid #ffd96a;color:#ffd96a;border-radius:8px;font-weight:900;letter-spacing:.08em}@media(max-width:760px){.s2047-passport-book{grid-template-columns:1fr}.s2047-passport-page{padding-left:12px;padding-right:12px}}@media print{@page{size:A4 landscape;margin:0}body{background:#000!important}.s2047-passport-page>*:not(.s2047-passport-book),header,footer,nav,.site-header,.site-footer{display:none!important}.s2047-passport-book{display:grid!important;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;margin:0!important;border-radius:0!important;box-sizing:border-box!important;background:#000!important;color:#ffd96a!important;overflow:hidden!important}}

/* Mission Control Passport Control info box */
.s2047-mc-route.s2047-passport-control-route{
  border-color:rgba(247,198,74,.72);
  background:radial-gradient(circle at 20% 0%,rgba(247,198,74,.16),transparent 34%),linear-gradient(180deg,rgba(4,25,58,.95),rgba(0,7,20,.98));
  box-shadow:0 0 22px rgba(247,198,74,.13), inset 0 0 28px rgba(98,231,255,.06);
}
.s2047-mc-route.s2047-passport-control-route span{
  color:#020713;
  background:#f7c64a;
  border-color:rgba(247,198,74,.9);
}


/* Header character/album picture strip beside Ship Status */
.clean-topbar,
.topbar.clean-topbar{
    grid-template-columns:240px minmax(220px,320px) minmax(420px,1fr) auto !important;
}
.s2047-header-gallery{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    min-width:0;
    overflow-x:auto;
    overflow-y:visible;
    padding:10px 12px;
    min-height:112px;
    border:1px solid rgba(69,220,255,.38);
    background:linear-gradient(180deg,rgba(7,20,38,.72),rgba(2,7,19,.82));
    box-shadow:0 0 16px rgba(69,220,255,.20), inset 0 0 16px rgba(69,220,255,.06);
    border-radius:12px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
}
.s2047-header-gallery img{
    width:clamp(82px,6.6vw,108px);
    height:clamp(82px,6.6vw,108px);
    flex:0 0 auto;
    object-fit:contain !important;
    object-position:center !important;
    border-radius:10px;
    border:1px solid rgba(247,198,74,.76);
    box-shadow:0 0 12px rgba(247,198,74,.22), 0 0 18px rgba(69,220,255,.16);
    background:#020713;
    padding:2px;
    box-sizing:border-box;
}
@media(max-width:1200px){
    .clean-topbar,
    .topbar.clean-topbar{
        grid-template-columns:1fr !important;
    }
    .s2047-header-gallery{
        justify-content:flex-start;
        width:min(760px,96vw);
        margin:auto;
        min-height:104px;
    }
    .s2047-header-gallery img{
        width:92px;
        height:92px;
    }
}
@media(max-width:520px){
    .s2047-header-gallery{
        width:96vw;
        justify-content:flex-start;
        min-height:98px;
        padding:9px 10px;
    }
    .s2047-header-gallery img{
        width:86px;
        height:86px;
    }
}

.journal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.journal-card{border:1px solid #4de1ff;padding:15px;border-radius:10px}


/* === Space 2047 Character Journals + Hidden Discoveries content upgrade === */
.s2047-journal-hero,.s2047-hidden-hero{max-width:1180px;margin:22px auto;padding:28px;border:2px solid rgba(77,225,255,.65);border-radius:22px;background:linear-gradient(135deg,rgba(5,10,30,.96),rgba(15,0,35,.92));box-shadow:0 0 26px rgba(77,225,255,.22);text-align:center;color:#fff;}
.s2047-journal-hero h1,.s2047-hidden-hero h1{margin:.2rem 0 .55rem;color:#ffd86b;text-shadow:0 0 14px rgba(255,216,107,.45);font-size:clamp(2rem,5vw,4rem);}
.s2047-journal-grid,.s2047-hidden-grid{max-width:1180px;margin:20px auto 44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.s2047-journal-card,.s2047-hidden-card{border:2px solid rgba(77,225,255,.55);border-radius:20px;background:rgba(2,8,24,.9);box-shadow:0 0 20px rgba(77,225,255,.18);padding:20px;color:#fff;overflow:hidden;}
.s2047-journal-card h2,.s2047-hidden-card h2{color:#ffd86b;margin:.2rem 0 .7rem;font-size:1.35rem;text-align:center;}
.s2047-journal-topline{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,216,107,.55);color:#ffd86b;background:rgba(255,216,107,.08);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;}
.s2047-journal-card blockquote{margin:12px 0;padding:12px;border-left:4px solid #4de1ff;background:rgba(77,225,255,.08);font-style:italic;}
.s2047-journal-entry{margin:12px 0;padding:12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);}
.s2047-journal-entry h3{margin:0 0 6px;color:#4de1ff;font-size:1rem;}
.s2047-journal-related{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;}
.s2047-journal-related span{padding:5px 9px;border-radius:999px;background:rgba(77,225,255,.1);border:1px solid rgba(77,225,255,.35);}
.s2047-hidden-status{max-width:1180px;margin:20px auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.s2047-hidden-status article{padding:18px;border-radius:18px;border:2px solid rgba(255,216,107,.5);background:#050814;color:#fff;text-align:center;box-shadow:0 0 18px rgba(255,216,107,.16);}
.s2047-hidden-status span{display:block;color:#9eefff;text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;}
.s2047-hidden-status strong{display:block;color:#ffd86b;font-size:1.5rem;margin-top:4px;}
.s2047-hidden-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;border:2px solid #ffd86b;background:radial-gradient(circle,rgba(255,216,107,.22),rgba(77,225,255,.08));font-size:2.2rem;box-shadow:0 0 18px rgba(255,216,107,.25);}
.s2047-hidden-where{color:#9eefff;font-weight:700;}
.s2047-discover-button,.s2047-hidden-hero button{display:inline-block;border:2px solid #ffd86b;border-radius:999px;background:linear-gradient(135deg,#ffd86b,#b77b08);color:#050814;font-weight:900;padding:10px 16px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;}
.s2047-hidden-card.is-found{border-color:#ffd86b;box-shadow:0 0 26px rgba(255,216,107,.35);}
.s2047-hidden-card.is-found .s2047-discover-button{background:#111;color:#ffd86b;}
@media(max-width:700px){.s2047-journal-hero,.s2047-hidden-hero{padding:20px 14px}.s2047-journal-grid,.s2047-hidden-grid{grid-template-columns:1fr;margin-left:10px;margin-right:10px}}

/* Space 2047: centre journal/discovery badges and buttons */
.s2047-journal-card,
.s2047-hidden-card {
    text-align: center;
}

.s2047-journal-topline,
.s2047-hidden-card .s2047-journal-topline,
.s2047-hidden-icon {
    display: table !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.s2047-journal-card h1,
.s2047-journal-card h2,
.s2047-journal-card h3,
.s2047-hidden-card h1,
.s2047-hidden-card h2,
.s2047-hidden-card h3 {
    text-align: center !important;
}

.s2047-journal-card blockquote {
    text-align: center !important;
    border-left: 0 !important;
    border-top: 4px solid #4de1ff !important;
}

.s2047-journal-entry,
.s2047-hidden-card p,
.s2047-hidden-where {
    text-align: center !important;
}

.s2047-journal-related {
    justify-content: center !important;
    text-align: center !important;
}

.s2047-discover-button,
.s2047-hidden-card button,
.s2047-journal-card .space2047-button,
.s2047-journal-card a.button,
.s2047-hidden-card .space2047-button,
.s2047-hidden-card a.button {
    display: table !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.journal-badge,
.discovery-badge,
.crew-note-badge {
    display: table !important;
    margin: 0 auto 12px auto !important;
    text-align: center !important;
}

.journal-card,
.discovery-card,
.crew-note-card {
    text-align: center !important;
}

/* Space 2047 achievement task buttons */
.s2047-journal-read-button{
  display:table;
  margin:14px auto 0;
  border:0;
  border-radius:999px;
  padding:10px 18px;
  background:linear-gradient(135deg,#ffe96a,#d79a1e);
  color:#06111d;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 0 18px rgba(255,216,92,.25);
}
.s2047-journal-card.s2047-journal-read .s2047-journal-read-button{
  background:linear-gradient(135deg,#48f7ff,#2ad2ff);
  color:#00101a;
}

/* === Space 2047 IP-backed hidden discoveries === */
.s2047-hidden-empty{max-width:900px;margin:24px auto;padding:24px;text-align:center;border:2px dashed rgba(77,225,255,.55);border-radius:22px;background:rgba(2,8,24,.86);color:#fff;box-shadow:0 0 22px rgba(77,225,255,.14)}
.s2047-hidden-empty h2{color:#ffd86b;margin-top:0}.s2047-found-badge{display:table;margin:14px auto 0;padding:8px 16px;border:2px solid #ffd86b;border-radius:999px;color:#ffd86b;letter-spacing:.12em;background:rgba(0,0,0,.45)}
.s2047-page-discovery-layer{position:fixed;inset:0;z-index:9991;pointer-events:none}.s2047-page-hidden-token{position:fixed;z-index:9992;pointer-events:auto;width:46px;height:46px;border-radius:50%;border:2px solid rgba(255,216,107,.92);background:radial-gradient(circle,#ffe88a 0,#b87905 55%,#130900 100%);box-shadow:0 0 18px rgba(255,216,107,.75),0 0 32px rgba(77,225,255,.35);cursor:pointer;display:grid;place-items:center;animation:s2047DiscoveryPulse 1.8s ease-in-out infinite}.s2047-page-hidden-token span{font-size:24px;filter:drop-shadow(0 1px 1px #000)}
.s2047-page-hidden-token.s2047-pos-1{right:7vw;top:28vh}.s2047-page-hidden-token.s2047-pos-2{left:8vw;top:54vh}.s2047-page-hidden-token.s2047-pos-3{right:14vw;bottom:18vh}.s2047-page-hidden-token.s2047-pos-4{left:16vw;bottom:24vh}
@keyframes s2047DiscoveryPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.s2047-discovery-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:9999;background:#040814;color:#ffd86b;border:2px solid #45dcff;border-radius:999px;padding:12px 22px;font-weight:900;box-shadow:0 0 24px rgba(69,220,255,.45);text-align:center;max-width:min(92vw,720px)}.s2047-discovery-toast[hidden]{display:none!important}
@media(max-width:700px){.s2047-page-hidden-token{width:42px;height:42px}.s2047-page-hidden-token.s2047-pos-1{right:7vw;top:34vh}.s2047-page-hidden-token.s2047-pos-2{left:7vw;top:60vh}.s2047-page-hidden-token.s2047-pos-3{right:12vw;bottom:16vh}}


/* Discovery Rewards polish */
.s2047-rewards-mini{margin:14px auto 10px;padding:12px;border:1px solid rgba(247,198,74,.45);border-radius:14px;background:rgba(0,0,0,.28);text-align:left;max-width:520px}
.s2047-rewards-mini strong{display:block;text-align:center;color:#f7c64a;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.s2047-rewards-mini ul{margin:0;padding-left:22px;color:#dff8ff;line-height:1.55}
.s2047-rewards-link{display:table;margin:12px auto 0;padding:9px 14px;border-radius:999px;border:1px solid rgba(104,217,255,.55);background:rgba(104,217,255,.12);color:#dff8ff;text-decoration:none;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.s2047-reward-card{border-color:rgba(247,198,74,.58)!important;box-shadow:0 0 18px rgba(247,198,74,.18),0 0 26px rgba(104,217,255,.1)!important}
.s2047-rewards-grid .s2047-hidden-card{text-align:center}


/* Space2047 centered UI patch */
h1,h2,h3,h4,.page-title,.entry-title,.mission-control-card h3,
.character-card h3,.popup-title,.modal-title{text-align:center!important;}
button,.button,.btn,.wp-block-button__link,input[type=submit],input[type=button],a.button{
display:inline-flex;justify-content:center;align-items:center;text-align:center!important;
}
.modal-content,.popup-content,.lightbox-content{text-align:center!important;}


/* Space 2047 safe rebuilt alignment patch */
h1, h2, h3, h4,
.page-title, .entry-title,
.mission-control-card h2, .mission-control-card h3,
.space2047-card h2, .space2047-card h3,
.journal-card h2, .journal-card h3,
.discovery-card h2, .discovery-card h3,
[class*="popup"] h1, [class*="popup"] h2, [class*="popup"] h3,
[class*="modal"] h1, [class*="modal"] h2, [class*="modal"] h3 {
    text-align: center !important;
}

button, .button, .btn, .wp-block-button__link,
input[type="submit"], input[type="button"] {
    text-align: center !important;
    justify-content: center !important;
}

/* Popup content centring */
[class*="popup"], [class*="popup"] *,
[class*="modal"], [class*="modal"] *,
[class*="lightbox"], [class*="lightbox"] * {
    text-align: center !important;
}

[class*="popup"] img,
[class*="modal"] img,
[class*="lightbox"] img {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Communications Hub character selector: icons and names left aligned */
.s2047-comms-character,
.s2047-character-list-scrollbox .s2047-comms-character,
.character-list .s2047-comms-character {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: 14px !important;
    padding-left: 18px !important;
}

.s2047-comms-character img {
    flex: 0 0 auto !important;
    margin: 0 14px 0 0 !important;
}

.s2047-comms-character span,
.s2047-comms-character .character-name {
    text-align: left !important;
    margin-right: auto !important;
}

/* User messages right, character messages left */
.chat-message.user, .space2047-chat-message.user, .s2047-chat-message.user {
    justify-content: flex-end !important;
    text-align: right !important;
}
.chat-message.character, .chat-message.bot,
.space2047-chat-message.character, .space2047-chat-message.bot,
.s2047-chat-message.character, .s2047-chat-message.bot {
    justify-content: flex-start !important;
    text-align: left !important;
}


/* Space 2047 safe repair: centering and chatroom alignment */
h1,h2,h3,h4,.page-title,.entry-title,.mission-control-card h2,.mission-control-card h3,
.space2047-card h2,.space2047-card h3,.journal-card h2,.journal-card h3,
.discovery-card h2,.discovery-card h3,[class*="popup"] h1,[class*="popup"] h2,[class*="popup"] h3,
[class*="modal"] h1,[class*="modal"] h2,[class*="modal"] h3{text-align:center!important;}

button,.button,.btn,.wp-block-button__link,input[type="submit"],input[type="button"]{
text-align:center!important;justify-content:center!important;}

[class*="popup"],[class*="popup"] *,[class*="modal"],[class*="modal"] *,
[class*="lightbox"],[class*="lightbox"] *{text-align:center!important;}

[class*="popup"] img,[class*="modal"] img,[class*="lightbox"] img{
display:block!important;margin-left:auto!important;margin-right:auto!important;}

.s2047-comms-character,.s2047-character-list-scrollbox .s2047-comms-character,
.character-list .s2047-comms-character{
display:flex!important;flex-direction:row!important;align-items:center!important;
justify-content:flex-start!important;text-align:left!important;gap:14px!important;padding-left:18px!important;}

.s2047-comms-character img{flex:0 0 auto!important;margin:0 14px 0 0!important;}
.s2047-comms-character span,.s2047-comms-character .character-name{
text-align:left!important;margin-right:auto!important;}

.chat-message.user,.space2047-chat-message.user,.s2047-chat-message.user{
justify-content:flex-end!important;text-align:right!important;}
.chat-message.character,.chat-message.bot,.space2047-chat-message.character,
.space2047-chat-message.bot,.s2047-chat-message.character,.s2047-chat-message.bot{
justify-content:flex-start!important;text-align:left!important;}


/* === Space 2047 header spacing + spaceship + radio fix === */

/* Remove unwanted header items */
.status,
.ship-status,
.s2047-ship-status,
.status-panel,
.command-status,
.header-status,
.s2047-header-gallery,
.header-gallery,
.s2047-header-ship-placeholder {
  display:none !important;
}

/* Tighten the header so the ticker sits close underneath */
.site-header {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.clean-topbar {
  display:grid !important;
  grid-template-columns: minmax(380px, 1fr) minmax(520px, 1.05fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  min-height:150px !important;
  padding-top:8px !important;
  padding-bottom:6px !important;
  overflow:visible !important;
}

/* Remove logo border/background and keep logo big */
.clean-topbar .logo,
.clean-topbar .logo:before,
.clean-topbar .logo:after {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}

.clean-topbar .logo {
  width:auto !important;
  min-width:360px !important;
  overflow:visible !important;
  transform:none !important;
}

.clean-topbar .logo strong {
  font-size: clamp(62px, 6.4vw, 112px) !important;
  line-height:.82 !important;
  letter-spacing:-.04em !important;
  white-space:nowrap !important;
  text-shadow:
    0 0 10px rgba(130,255,255,.95),
    0 0 28px rgba(0,210,255,.9),
    0 10px 0 rgba(0,0,0,.75),
    8px 18px 24px rgba(0,0,0,1) !important;
}

.clean-topbar .logo span {
  font-size: clamp(18px, 2vw, 32px) !important;
  line-height:1.02 !important;
  letter-spacing:.05em !important;
}

/* Large borderless spaceship */
.s2047-header-ship {
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.s2047-header-ship img {
  width:min(760px, 46vw) !important;
  max-width:none !important;
  height:auto !important;
  max-height:145px !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
}

/* Keep menu visible */
.header-actions {
  position:relative !important;
  z-index:20 !important;
  margin-left:0 !important;
}

/* Ticker closer to the header */
.marquee {
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:5px !important;
  padding-bottom:5px !important;
}

/* Remove old hero spaceship under header */
.ship-image-box,
.spaceship-box,
.hero-ship-box,
.s2047-ship-frame,
img[src*="are-we-there-yet-realistic-ship"] {
  display:none !important;
}

/* Reduce giant empty hero/header gaps */
.wrap.hero,
.hero,
.s2047-hero {
  margin-top:10px !important;
  padding-top:34px !important;
  min-height:auto !important;
}

/* Radio reliability UI */
.top-radio audio {
  display:block !important;
  width:100% !important;
  max-width:620px !important;
  margin:10px auto 0 !important;
}

.top-radio-track {
  min-height:24px !important;
}

#s2047-radio-toggle:disabled {
  opacity:.55 !important;
  cursor:not-allowed !important;
}

@media (max-width: 980px) {
  .clean-topbar {
    grid-template-columns: 1fr auto !important;
    min-height:150px !important;
  }

  .s2047-header-ship {
    grid-column:1 / -1 !important;
    justify-content:center !important;
  }

  .s2047-header-ship img {
    width:min(680px, 92vw) !important;
    max-height:118px !important;
  }

  .clean-topbar .logo strong {
    font-size: clamp(48px, 14vw, 82px) !important;
  }
}


/* === Space 2047: unsticky header + ship fills middle + radio repair === */
.site-header,
header.site-header,
.clean-topbar,
.command-header,
.s2047-site-header,
.main-navigation,
.navbar,
.menu-wrap,
.header-actions {
  position: static !important;
  top: auto !important;
  inset: auto !important;
  transform: none !important;
}

#wpadminbar {
  position: fixed !important;
}

.clean-topbar {
  display: grid !important;
  grid-template-columns: minmax(310px, .82fr) minmax(620px, 1.35fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 132px !important;
  padding: 4px 18px 2px !important;
  overflow: visible !important;
}

.clean-topbar .logo {
  min-width: 300px !important;
  max-width: 440px !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.clean-topbar .logo strong {
  font-size: clamp(46px, 5.4vw, 84px) !important;
  line-height: .82 !important;
  white-space: nowrap !important;
}

.clean-topbar .logo span {
  font-size: clamp(15px, 1.55vw, 25px) !important;
  line-height: 1.05 !important;
}

.s2047-header-ship {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  min-width: 0 !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.s2047-header-ship img {
  display: block !important;
  width: min(760px, 52vw) !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 126px !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

.header-actions {
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  white-space: nowrap !important;
  margin: 0 !important;
  z-index: 10 !important;
}

.marquee,
.news-ticker,
.ticker {
  margin-top: 0 !important;
}

/* Radio player: make native controls visible and usable */
.top-radio {
  overflow: visible !important;
}

.top-radio audio,
#s2047-radio-audio {
  display: block !important;
  width: min(620px, 94vw) !important;
  height: 38px !important;
  margin: 10px auto 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#s2047-track-title {
  min-height: 22px !important;
  display: block !important;
}

#s2047-radio-toggle,
#s2047-radio-prev,
#s2047-radio-next {
  pointer-events: auto !important;
  cursor: pointer !important;
}

#s2047-radio-toggle:disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
}


/* === Space 2047 radio: custom buttons only, no extra/native player === */
#s2047-radio-audio,
.top-radio audio {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#s2047-radio-toggle,
#s2047-radio-prev,
#s2047-radio-next,
.top-radio button {
  pointer-events: auto !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 20 !important;
}

#s2047-radio-toggle:disabled,
#s2047-radio-prev:disabled,
#s2047-radio-next:disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
}

.top-radio {
  position: relative !important;
  z-index: 5 !important;
  overflow: visible !important;
}


/* === Space 2047: final header spaceship fill + working custom radio buttons === */

/* Header unsticky */
.site-header,
header.site-header,
.clean-topbar,
.command-header,
.s2047-site-header,
.main-navigation,
.navbar,
.menu-wrap,
.header-actions {
  position: static !important;
  top: auto !important;
  inset: auto !important;
  transform: none !important;
}

/* Logo | spaceship stretching to home/menu */
.clean-topbar {
  display: grid !important;
  grid-template-columns: minmax(300px, 0.72fr) minmax(720px, 1.75fr) auto !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 150px !important;
  padding: 4px 14px 2px !important;
  overflow: visible !important;
}

.clean-topbar .logo {
  min-width: 300px !important;
  max-width: 420px !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.clean-topbar .logo strong {
  font-size: clamp(46px, 5.3vw, 82px) !important;
  line-height: .82 !important;
  white-space: nowrap !important;
}

.clean-topbar .logo span {
  font-size: clamp(15px, 1.5vw, 24px) !important;
  line-height: 1.05 !important;
}

.s2047-header-ship {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  height: 150px !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.s2047-header-ship img {
  display: block !important;
  width: 100% !important;
  max-width: 900px !important;
  height: 150px !important;
  max-height: 150px !important;
  object-fit: contain !important;
  object-position: right center !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

.header-actions {
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  z-index: 30 !important;
}

/* remove extra/native player; custom buttons only */
#s2047-radio-audio,
.top-radio audio {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.top-radio,
.top-radio * {
  pointer-events: auto !important;
}

#s2047-radio-toggle,
#s2047-radio-prev,
#s2047-radio-next,
.top-radio button {
  cursor: pointer !important;
  position: relative !important;
  z-index: 50 !important;
}

#s2047-radio-toggle:disabled,
#s2047-radio-prev:disabled,
#s2047-radio-next:disabled {
  opacity: 1 !important;
  cursor: pointer !important;
}

@media (max-width: 980px) {
  .clean-topbar {
    grid-template-columns: 1fr auto !important;
    min-height: auto !important;
  }
  .s2047-header-ship {
    grid-column: 1 / -1 !important;
    height: 125px !important;
  }
  .s2047-header-ship img {
    height: 125px !important;
    max-height: 125px !important;
    width: 100% !important;
  }
}


/* === Space 2047: remove huge gap below news scroller === */

/* Header and ticker should not reserve a giant empty area */
.site-header,
header.site-header,
.command-header,
.s2047-site-header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

.marquee,
.news-ticker,
.ticker,
.s2047-ticker,
.command-ticker {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  min-height: 0 !important;
}

/* Remove empty page padding directly after the scroller */
.marquee + *,
.news-ticker + *,
.ticker + *,
.s2047-ticker + *,
.command-ticker + * {
  margin-top: 0 !important;
}

/* Main/page content starts immediately after ticker */
.site-main,
main,
#primary,
.content-area,
.page-content,
.entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Communications Hub page: remove blank hero/content spacer */
body.page .site-main,
body.page main,
body.page #primary,
body.page .content-area,
body.page .entry-content {
  min-height: 0 !important;
}

/* Remove empty first section gaps caused by hero styles being applied to normal pages */
body:not(.home) .wrap.hero,
body:not(.home) .hero,
body:not(.home) .s2047-hero {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

/* If the first page block is empty, collapse it */
body:not(.home) main > section:first-child:empty,
body:not(.home) .site-main > section:first-child:empty,
body:not(.home) #primary > section:first-child:empty {
  display: none !important;
}

/* Keep homepage hero spacing normal but tighter */
body.home .wrap.hero,
body.home .hero,
body.home .s2047-hero {
  margin-top: 0 !important;
}

/* Space 2047 clean page spacing system - fixes title/content overlap */
:root{
    --s2047-under-scroller-gap: 18px;
    --s2047-title-content-gap: 28px;
}

/* Header/scroller area should finish naturally; no overlap tricks */
.site-header,
header.site-header,
.clean-topbar{
    position: relative !important;
    z-index: 5 !important;
    overflow: visible !important;
}

.marquee,
.news-ticker,
.ticker,
.s2047-ticker,
.command-ticker,
.s2047-scroller,
.space2047-scroller{
    position: relative !important;
    z-index: 6 !important;
    margin-bottom: 0 !important;
}

/* First page area begins below the scroller */
main.site-main,
.site-main,
#primary,
.content-area{
    position: relative !important;
    z-index: 1 !important;
    transform: none !important;
}

/* Mission Control page */
.s2047-mission-control-page,
.s2047-mc2-page,
.s2047-mc-page,
main.s2047-mission-control-page,
main.s2047-mc2-page,
main.s2047-mc-page{
    margin-top: var(--s2047-under-scroller-gap) !important;
    padding-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    transform: none !important;
}

/* Mission Control title/hero */
.s2047-mission-control-page > .s2047-mc-hero,
.s2047-mission-control-page > .s2047-mc2-hero,
.s2047-mission-control-page > .s2047-characters-hero,
.s2047-mc2-page > .s2047-mc-hero,
.s2047-mc2-page > .s2047-mc2-hero,
.s2047-mc2-page > .s2047-characters-hero,
main.s2047-mission-control-page > .s2047-mc-hero,
main.s2047-mission-control-page > .s2047-mc2-hero,
main.s2047-mission-control-page > .s2047-characters-hero{
    margin-top: 0 !important;
    margin-bottom: var(--s2047-title-content-gap) !important;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
    position: relative !important;
    z-index: 2 !important;
    transform: none !important;
}

/* Mission Control content/cards must sit below title box */
.s2047-mission-control-page .s2047-mc-dashboard,
.s2047-mission-control-page .s2047-mc2-dashboard,
.s2047-mission-control-page .s2047-dashboard,
.s2047-mission-control-page .s2047-dashboard-grid,
.s2047-mc2-page .s2047-mc-dashboard,
.s2047-mc2-page .s2047-mc2-dashboard,
.s2047-mc2-page .s2047-dashboard,
.s2047-mc2-page .s2047-dashboard-grid,
main.s2047-mission-control-page .s2047-mc-dashboard,
main.s2047-mission-control-page .s2047-mc2-dashboard,
main.s2047-mission-control-page .s2047-dashboard,
main.s2047-mission-control-page .s2047-dashboard-grid{
    clear: both !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    transform: none !important;
}

/* Communications Hub page */
.s2047-comms-page,
.s2047-communications-page,
.s2047-communication-hub-page,
.s2047-communications-hub-page,
main.s2047-comms-page{
    margin-top: var(--s2047-under-scroller-gap) !important;
    padding-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    transform: none !important;
}

/* Communications Hub title/hero */
.s2047-comms-page > .s2047-comms-hero,
.s2047-comms-page > .s2047-characters-hero,
main.s2047-comms-page > .s2047-comms-hero,
main.s2047-comms-page > .s2047-characters-hero{
    margin-top: 0 !important;
    margin-bottom: var(--s2047-title-content-gap) !important;
    padding-top: 26px !important;
    padding-bottom: 26px !important;
    position: relative !important;
    z-index: 2 !important;
    transform: none !important;
}

/* Communications Hub console must sit below title box */
.s2047-comms-page .s2047-comms-console,
.s2047-comms-page .s2047-chat-console,
.s2047-comms-page .s2047-chatroom,
main.s2047-comms-page .s2047-comms-console,
main.s2047-comms-page .s2047-chat-console,
main.s2047-comms-page .s2047-chatroom{
    clear: both !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    transform: none !important;
}

/* Safety: remove accidental negative pulls from old gap tests */
.s2047-mission-control-page [style*="margin-top: -"],
.s2047-mc2-page [style*="margin-top: -"],
.s2047-comms-page [style*="margin-top: -"]{
    margin-top: 0 !important;
}

/* Mobile/tablet keeps a small clean gap */
@media (max-width: 900px){
    :root{
        --s2047-under-scroller-gap: 14px;
        --s2047-title-content-gap: 22px;
    }
}



/* Mission Control lower position */
main.s2047-mission-control-page,
main.s2047-mc2-page,
.s2047-mission-control-page,
.s2047-mc2-page{
    margin-top:35px !important;
}

/* Remove transmission received strip */
.s2047-transmission-received,
.s2047-transmission-box,
.s2047-comms-status,
.s2047-signal-strip{
    display:none !important;
}


/* Properly remove Communications Hub transmission strip */
[class*="transmission"],
[class*="Transmission"],
[class*="signal-strip"],
[class*="comms-status"]{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
}



/* Keep ticker separate from homepage content */
body.home .marquee,
body.home .news-ticker,
body.home .ticker,
body.home .s2047-ticker,
body.home .command-ticker{
    margin-bottom:0 !important;
    position:relative !important;
    z-index:5 !important;
}



/* Fallback if the homepage template wrapper class is missed */
body.home main > section:first-child,
body.home main > div:first-child,
body.home .site-main > section:first-child,
body.home .site-main > div:first-child,
body.home .entry-content > section:first-child,
body.home .entry-content > div:first-child{
    margin-top:0 !important;
    padding-top:32px !important;
    position:relative !important;
    top:auto !important;
    transform:none !important;
}







/* Keep the green scroller from overlapping the homepage box */
body.home .marquee,
body.home .news-ticker,
body.home .ticker,
body.home .s2047-ticker,
body.home .command-ticker{
    margin-bottom:0 !important;
    position:relative !important;
    z-index:10 !important;
}


/* Homepage clean gap between scroller and welcome box */
body.home .site-header{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}

body.home .marquee{
    margin-bottom:0 !important;
    padding-bottom:5px !important;
    position:relative !important;
    z-index:10 !important;
}

/* This is the actual box from front-page.php:
   <section class="wrap hero s2047-home-welcome-actual"> */
body.home section.wrap.hero.s2047-home-welcome-actual{
    margin-top:70px !important;
    margin-bottom:12px !important;
    padding-top:0 !important;
    position:relative !important;
    top:auto !important;
    transform:none !important;
}

/* Keep the text close to the top border inside the box */
body.home section.wrap.hero.s2047-home-welcome-actual .hero-content{
    padding-top:25px !important;
    padding-bottom:35px !important;
}


/* Homepage crew poster image - right side only */
body.home section.wrap.hero.s2047-home-welcome-actual{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(260px, 420px) !important;
    align-items:center !important;
    column-gap:34px !important;
}

/* Keep existing text/buttons in the left side exactly as a normal block */
body.home section.wrap.hero.s2047-home-welcome-actual .hero-content{
    grid-column:1 !important;
    width:100% !important;
    max-width:780px !important;
    position:relative !important;
    z-index:2 !important;
}

/* New image column */
body.home section.wrap.hero.s2047-home-welcome-actual .s2047-home-crew-image{
    grid-column:2 !important;
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    max-width:420px !important;
    justify-self:end !important;
    padding:14px !important;
}

body.home section.wrap.hero.s2047-home-welcome-actual .s2047-home-crew-image img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:330px !important;
    object-fit:contain !important;
    border:1px solid rgba(69,220,255,.55) !important;
    border-radius:16px !important;
    box-shadow:0 0 22px rgba(69,220,255,.35) !important;
    background:#020713 !important;
}

/* Mobile stacks image underneath without moving buttons around */
@media(max-width:900px){
    body.home section.wrap.hero.s2047-home-welcome-actual{
        display:block !important;
    }
    body.home section.wrap.hero.s2047-home-welcome-actual .s2047-home-crew-image{
        max-width:92% !important;
        margin:18px auto 0 !important;
        padding:0 !important;
    }
    body.home section.wrap.hero.s2047-home-welcome-actual .s2047-home-crew-image img{
        max-height:260px !important;
    }
}


/* Space 2047 header banner replacement */
.site-header .logo,
.site-header .s2047-header-ship,
.site-header .s2047-header-ship img{
    display:none !important;
}

.site-header .s2047-banner-topbar{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:18px !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 auto !important;
    background:transparent !important;
}

.site-header .s2047-header-banner-link{
    display:block !important;
    width:100% !important;
    height:150px !important;
    overflow:hidden !important;
    text-decoration:none !important;
    border:0 !important;
    background:transparent !important;
}

.site-header .s2047-header-banner-img{
    display:block !important;
    width:100% !important;
    height:150px !important;
    object-fit:cover !important;
    object-position:center center !important;
    border:0 !important;
    box-shadow:none !important;
}

.site-header .header-actions{
    position:relative !important;
    z-index:20 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
}

@media(max-width:900px){
    .site-header .s2047-banner-topbar{
        grid-template-columns:1fr !important;
    }
    .site-header .s2047-header-banner-link,
    .site-header .s2047-header-banner-img{
        height:100px !important;
    }
    .site-header .header-actions{
        justify-content:center !important;
        margin-top:8px !important;
    }
}


/* Space 2047 detailed header banner, same header size */
.site-header .logo,
.site-header .s2047-header-ship,
.site-header .s2047-header-ship img{
    display:none !important;
}

.site-header .s2047-banner-topbar{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:18px !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 auto !important;
    background:transparent !important;
}

.site-header .s2047-header-banner-link{
    display:block !important;
    width:100% !important;
    height:150px !important;
    overflow:hidden !important;
    text-decoration:none !important;
    border:0 !important;
    background:transparent !important;
}

.site-header .s2047-header-banner-img{
    display:block !important;
    width:100% !important;
    height:150px !important;
    object-fit:cover !important;
    object-position:center center !important;
    border:0 !important;
    box-shadow:none !important;
}

.site-header .header-actions{
    position:relative !important;
    z-index:20 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
}

@media(max-width:900px){
    .site-header .s2047-banner-topbar{
        grid-template-columns:1fr !important;
    }
    .site-header .s2047-header-banner-link,
    .site-header .s2047-header-banner-img{
        height:100px !important;
    }
    .site-header .header-actions{
        justify-content:center !important;
        margin-top:8px !important;
    }
}


/* Larger centered header title */
.site-header .s2047-header-banner-link{
    height:190px !important;
}
.site-header .s2047-header-banner-img{
    height:190px !important;
    object-fit:cover !important;
    object-position:center center !important;
}
@media(max-width:900px){
 .site-header .s2047-header-banner-link,
 .site-header .s2047-header-banner-img{
   height:140px !important;
 }
}


/* Homepage Welcome Aboard title size fix */
body.home section.wrap.hero.s2047-home-welcome-actual .hero-content h1,
body.home .hero-content h1,
body.home .hero h1{
    font-size:clamp(46px, 5.8vw, 86px) !important;
    line-height:0.95 !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow:visible !important;
    text-align:center !important;
}

body.home section.wrap.hero.s2047-home-welcome-actual .hero-content h2,
body.home .hero-content h2,
body.home .hero h2{
    font-size:clamp(22px, 2.6vw, 42px) !important;
    line-height:1.05 !important;
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
}

body.home section.wrap.hero.s2047-home-welcome-actual .hero-content{
    overflow:visible !important;
}


/* Homepage Welcome Aboard title much smaller */
body.home section.wrap.hero.s2047-home-welcome-actual .hero-content h1,
body.home .hero-content h1,
body.home .hero h1{
    font-size:clamp(38px, 4.4vw, 64px) !important;
    line-height:1 !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow:visible !important;
    text-align:center !important;
}

body.home section.wrap.hero.s2047-home-welcome-actual .hero-content h2,
body.home .hero-content h2,
body.home .hero h2{
    font-size:clamp(18px, 2vw, 30px) !important;
    line-height:1.1 !important;
    text-align:center !important;
}


/* Homepage Space 2047 title final shrink */
body.home section.wrap.hero.s2047-home-welcome-actual .hero-content h1,
body.home .s2047-home-welcome-actual h1,
body.home .hero-content h1,
body.home .hero h1{
    font-size:48px !important;
    line-height:1 !important;
    letter-spacing:1px !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow:visible !important;
    text-align:center !important;
}


/* Space 2047 new centred logo banner */
.site-header .logo,
.site-header .s2047-header-ship,
.site-header .s2047-header-ship img{
    display:none !important;
}

.site-header .s2047-banner-topbar{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:18px !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 auto !important;
    background:transparent !important;
}

.site-header .s2047-header-banner-link{
    display:block !important;
    width:100% !important;
    height:150px !important;
    overflow:hidden !important;
    text-decoration:none !important;
    border:0 !important;
    background:transparent !important;
}

.site-header .s2047-header-banner-img{
    display:block !important;
    width:100% !important;
    height:150px !important;
    object-fit:cover !important;
    object-position:center center !important;
    border:0 !important;
    box-shadow:none !important;
}

.site-header .header-actions{
    position:relative !important;
    z-index:20 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
}

@media(max-width:900px){
    .site-header .s2047-banner-topbar{
        grid-template-columns:1fr !important;
    }
    .site-header .s2047-header-banner-link,
    .site-header .s2047-header-banner-img{
        height:120px !important;
    }
    .site-header .header-actions{
        justify-content:center !important;
        margin-top:8px !important;
    }
}


/* Space 2047 header action buttons update: Sponsor Me + Buy My Merchandising */
.site-header .s2047-header-action-stack{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    width:100% !important;
    max-width:520px !important;
    margin:0 auto !important;
}

.site-header .s2047-header-nav-row{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:15px !important;
    width:100% !important;
}

.site-header .s2047-header-action-button{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    width:100% !important;
    max-width:520px !important;
    min-height:58px !important;
    padding:12px 20px !important;
    box-sizing:border-box !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#ffe16a 0%,#d9a92f 100%) !important;
    color:#111 !important;
    text-decoration:none !important;
    font-size:clamp(18px,4.8vw,25px) !important;
    font-weight:900 !important;
    line-height:1.1 !important;
    text-align:center !important;
    border:1px solid rgba(255,255,255,.38) !important;
    box-shadow:0 0 22px rgba(255,215,70,.42), inset 0 1px 0 rgba(255,255,255,.55) !important;
    text-shadow:none !important;
}

.site-header .s2047-header-action-button:hover,
.site-header .s2047-header-action-button:focus{
    color:#111 !important;
    text-decoration:none !important;
    transform:translateY(-1px);
    box-shadow:0 0 30px rgba(255,215,70,.62), inset 0 1px 0 rgba(255,255,255,.68) !important;
}

.site-header .s2047-mini-logo{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:42px !important;
    height:28px !important;
    padding:0 7px !important;
    border-radius:7px !important;
    background:#fff !important;
    color:#003087 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:13px !important;
    font-weight:900 !important;
    letter-spacing:-.04em !important;
    box-shadow:0 1px 5px rgba(0,0,0,.25) !important;
}

.site-header .s2047-shop-mini{
    color:#111 !important;
    letter-spacing:.02em !important;
}

/* Hide old injected/duplicate blue sponsor link if an older sponsor plugin is still active. */
.site-header .space2047-sponsor-button-wrap,
.site-header a.space2047-sponsor-btn,
.site-header a.space2047-sponsor-button:not(.s2047-header-action-button){
    display:none !important;
}

@media(max-width:900px){
    .site-header .s2047-banner-topbar{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        gap:18px !important;
        padding:0 14px 18px !important;
    }
    .site-header .s2047-header-action-stack{
        max-width:100% !important;
    }
    .site-header .s2047-header-action-button{
        max-width:calc(100vw - 72px) !important;
        min-height:54px !important;
        border-radius:18px !important;
    }
    .site-header .s2047-header-nav-row{
        max-width:calc(100vw - 28px) !important;
    }
}


/* Space 2047 Communications Hub Trading + Mobile Ordering Fix */
.s2047-comms-trade-panel{
    width:100%;
    box-sizing:border-box;
    margin:10px 0 14px;
    padding:12px;
    border:1px solid rgba(69,220,255,.48);
    border-radius:16px;
    background:rgba(5,16,36,.88);
    box-shadow:0 0 18px rgba(69,220,255,.18);
    text-align:center;
}
.s2047-trade-balance{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:6px 12px;
    margin-bottom:10px;
    border-radius:999px;
    background:linear-gradient(180deg,#ffe66b,#d9a72d);
    color:#07111f;
    font-weight:900;
    box-shadow:0 0 16px rgba(255,221,80,.35);
}
.s2047-trade-buttons{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.s2047-trade-btn{
    width:100%;
    min-height:38px;
    padding:8px 10px !important;
    border-radius:12px !important;
    font-size:14px !important;
    line-height:1.1 !important;
    white-space:normal !important;
}
.s2047-trade-hint{
    margin-top:8px;
    font-size:12px;
    opacity:.82;
}
@media(max-width:800px){
    .s2047-comms-console{
        display:flex !important;
        flex-direction:column !important;
    }
    .s2047-comms-sidebar{
        display:flex !important;
        flex-direction:column !important;
        width:100% !important;
        max-width:100% !important;
    }
    .s2047-comms-sidebar h2{order:1;}
    #s2047CharacterUp{order:3;}
    #s2047CharacterListScrollbox{order:4;}
    #s2047CharacterDown{order:5;}
    .s2047-comms-trade-panel{order:2; margin-top:4px;}
    .s2047-all-crew-button{order:6;}
    .s2047-comms-main{width:100% !important; max-width:100% !important;}
}


/* Space 2047 Chatroom Name, Gravestone and Respawn Update */
.s2047-player-name-row{
    margin:0 0 10px;
    color:#ffe66b;
    font-weight:800;
    font-size:14px;
}
.s2047-mini-name-btn{
    margin-left:8px;
    padding:5px 10px;
    border:1px solid rgba(69,220,255,.7);
    border-radius:999px;
    background:rgba(6,24,50,.9);
    color:#55ddff;
    font-weight:800;
    cursor:pointer;
}
.s2047-name-modal,.s2047-grave-modal{
    position:fixed;
    inset:0;
    z-index:999999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(0,0,0,.78);
    box-sizing:border-box;
}
.s2047-name-modal.is-open,.s2047-grave-modal.is-open{display:flex;}
.s2047-name-card,.s2047-grave-card{
    width:min(92vw,520px);
    padding:24px;
    border:2px solid rgba(255,221,80,.85);
    border-radius:24px;
    background:linear-gradient(180deg,#07172d,#020711);
    box-shadow:0 0 40px rgba(255,221,80,.35),0 0 55px rgba(69,220,255,.22);
    text-align:center;
    color:#fff;
}
.s2047-name-card h2{color:#ffe66b;margin-top:0;}
.s2047-name-card input{
    width:100%;
    max-width:360px;
    padding:14px 16px;
    margin:12px auto 16px;
    border-radius:14px;
    border:2px solid rgba(69,220,255,.7);
    background:#061426;
    color:#fff;
    font-weight:800;
    text-align:center;
    box-sizing:border-box;
}
.s2047-gravestone{
    width:min(82vw,330px);
    min-height:360px;
    margin:0 auto 20px;
    padding:58px 28px 24px;
    border:6px solid #555;
    border-bottom-width:14px;
    border-radius:150px 150px 24px 24px;
    background:linear-gradient(180deg,#9b9b9b,#555 68%,#333);
    color:#111;
    box-shadow:inset 0 0 25px rgba(255,255,255,.25),0 14px 35px rgba(0,0,0,.65);
    position:relative;
    box-sizing:border-box;
}
.s2047-gravestone:before{
    content:'✦';
    position:absolute;
    top:22px;
    left:50%;
    transform:translateX(-50%);
    color:#222;
    font-size:34px;
}
.s2047-rip{
    font-size:56px;
    line-height:1;
    font-weight:1000;
    letter-spacing:4px;
    color:#141414;
    text-shadow:0 1px rgba(255,255,255,.25);
}
.s2047-grave-name{
    margin-top:24px;
    font-size:26px;
    font-weight:1000;
    color:#111;
    text-transform:uppercase;
    word-break:break-word;
}
.s2047-grave-text{
    margin-top:18px;
    font-size:18px;
    line-height:1.35;
    font-weight:800;
    color:#191919;
}
@media(max-width:600px){
    .s2047-gravestone{min-height:310px;padding-top:52px;}
    .s2047-rip{font-size:46px;}
    .s2047-grave-name{font-size:22px;}
    .s2047-grave-text{font-size:16px;}
}


/* Space 2047 adventure gap reduction patch */
.s2047-adventure-wrap{
    margin:50px auto 26px auto !important;
    padding-top:0 !important;
}
.s2047-adventure-title,
.s2047-adventure-heading,
.s2047-adventure-wrap h1{
    padding-top:0 !important;
    margin-top:0 !important;
}



/* s2047-chatroom-right-trading-layout-fix-style */
.s2047-comms-console{
    display:grid;
    grid-template-columns:minmax(260px,30%) minmax(0,1fr) minmax(250px,300px);
    gap:18px;
    align-items:start;
}
.s2047-comms-main{max-width:620px;width:100%;justify-self:center;}
.s2047-comms-rightbox{
    border:2px solid rgba(69,220,255,.75);
    border-radius:24px;
    padding:18px;
    background:rgba(3,13,28,.95);
}
#s2047CommsScreen,.s2047-comms-screen{min-height:300px;max-height:430px;}
@media(max-width:700px){
    .s2047-comms-console{display:flex;flex-direction:column;}
    .s2047-comms-sidebar{order:1;}
    .s2047-comms-main{order:2;max-width:100%;}
    .s2047-comms-rightbox{order:3;width:100%;}
}

/* Equal height Communications Hub columns */
.s2047-comms-console{
    align-items:stretch !important;
}
.s2047-comms-sidebar,
.s2047-comms-main,
.s2047-comms-rightbox{
    min-height:850px !important;
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
}
.s2047-comms-screen{
    flex:1 1 auto !important;
}


/* Space 2047 header Home/Menu row real width fix */
.site-header .s2047-header-action-stack{
    max-width:520px !important;
    width:100% !important;
}

.site-header .s2047-header-nav-row{
    display:grid !important;
    grid-template-columns: 1fr 1.55fr !important;
    gap:15px !important;
    width:100% !important;
    max-width:520px !important;
    margin:0 auto !important;
    align-items:stretch !important;
}

.site-header .home-icon-button,
.site-header .command-menu-button{
    width:100% !important;
    min-width:0 !important;
    height:64px !important;
    min-height:64px !important;
    box-sizing:border-box !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    padding:0 18px !important;
    font-size:20px !important;
    font-weight:1000 !important;
    text-transform:uppercase !important;
    line-height:1 !important;
    white-space:nowrap !important;
}

.site-header .home-icon-button{
    color:#45dcff !important;
    text-decoration:none !important;
}

.site-header .home-icon-symbol{
    font-size:30px !important;
    line-height:1 !important;
    display:inline-flex !important;
}

.site-header .home-icon-text{
    display:inline-flex !important;
    font-size:20px !important;
    font-weight:1000 !important;
    letter-spacing:.02em !important;
}

.site-header .command-menu-button span:last-child{
    font-size:20px !important;
    font-weight:1000 !important;
}

/* Stop old broad home button patch from affecting this row */
.s2047-home-button,
.s2047-header-home,
a.s2047-home-btn{
    min-width:0 !important;
}

@media(max-width:700px){
    .site-header .s2047-header-nav-row{
        grid-template-columns: 1fr 1.55fr !important;
        max-width:min(520px, 88vw) !important;
        gap:12px !important;
    }
    .site-header .home-icon-button,
    .site-header .command-menu-button{
        height:58px !important;
        min-height:58px !important;
        font-size:17px !important;
        padding:0 12px !important;
    }
    .site-header .home-icon-symbol{
        font-size:26px !important;
    }
    .site-header .home-icon-text,
    .site-header .command-menu-button span:last-child{
        font-size:17px !important;
    }
}


/* Galaxy Map Popup Text Centering */
.s2047-galaxy-popup-title,
.s2047-galaxy-modal-title,
.s2047-location-title,
.s2047-galaxy-popup h2,
.s2047-galaxy-popup h3,
.s2047-galaxy-modal h2,
.s2047-galaxy-modal h3{
    text-align:center !important;
    width:100% !important;
    display:block !important;
}

.s2047-galaxy-popup-content,
.s2047-galaxy-modal-content,
.s2047-galaxy-popup,
.s2047-galaxy-modal{
    text-align:center !important;
}

.s2047-galaxy-popup p,
.s2047-galaxy-modal p{
    text-align:center !important;
}


/* Space 2047 Adventure expanded command dictionary */
.s2047-command-scroll-controls{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    margin:8px 0 10px 0 !important;
}
.s2047-command-scroll-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:36px !important;
    border-radius:10px !important;
    border:1px solid rgba(69,220,255,.75) !important;
    background:linear-gradient(180deg,#ffe16a,#d6a42d) !important;
    color:#111 !important;
    font-weight:900 !important;
    cursor:pointer !important;
}
.s2047-command-dictionary{
    max-height:520px !important;
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    padding:12px !important;
    border:1px solid rgba(69,220,255,.45) !important;
    border-radius:16px !important;
    background:rgba(0,0,0,.24) !important;
    scrollbar-width:thin !important;
    scrollbar-color:#45dcff rgba(255,255,255,.08) !important;
}
.s2047-command-dictionary::-webkit-scrollbar{
    width:14px !important;
}
.s2047-command-dictionary::-webkit-scrollbar-track{
    background:rgba(255,255,255,.08) !important;
    border-radius:10px !important;
}
.s2047-command-dictionary::-webkit-scrollbar-thumb{
    background:#45dcff !important;
    border-radius:10px !important;
    border:2px solid rgba(0,0,0,.35) !important;
}
.s2047-command-dictionary p{
    text-align:left !important;
    margin:0 0 10px 0 !important;
    line-height:1.35 !important;
}


/* Adventure help command left dictionary highlight */
.s2047-command-dictionary-flash{
    box-shadow:0 0 28px rgba(255,228,107,.95), inset 0 0 18px rgba(255,228,107,.2) !important;
    border-color:#ffe46b !important;
}


/* Space 2047 editable 3-column footer */
.s2047-site-footer{
    margin-top:60px !important;
    padding:36px 18px !important;
    background:linear-gradient(180deg, rgba(2,8,18,.95), rgba(1,4,10,.98)) !important;
    border-top:2px solid rgba(69,220,255,.55) !important;
    box-shadow:0 -10px 28px rgba(69,220,255,.14) !important;
    color:#f2f7ff !important;
}
.s2047-footer-wrap{
    width:min(1180px, 94vw) !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:22px !important;
}
.s2047-footer-column{
    min-height:150px !important;
    padding:20px !important;
    border:1px solid rgba(255,228,107,.42) !important;
    border-radius:18px !important;
    background:rgba(4,16,32,.72) !important;
    box-shadow:0 0 18px rgba(69,220,255,.12) !important;
    text-align:center !important;
}
.s2047-footer-column h1,
.s2047-footer-column h2,
.s2047-footer-column h3{
    color:#ffe46b !important;
    margin:0 0 12px 0 !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
}
.s2047-footer-column p{
    margin:0 0 12px 0 !important;
}
.s2047-footer-column a{
    color:#45dcff !important;
    font-weight:800 !important;
}
@media(max-width:800px){
    .s2047-footer-wrap{
        grid-template-columns:1fr !important;
    }
}



/* Space 2047 editable footer */
.s2047-site-footer{
    margin-top:60px !important;
    padding:36px 18px !important;
    background:linear-gradient(180deg, rgba(2,8,18,.95), rgba(1,4,10,.98)) !important;
    border-top:2px solid rgba(69,220,255,.55) !important;
    box-shadow:0 -10px 28px rgba(69,220,255,.14) !important;
    color:#f2f7ff !important;
}
.s2047-footer-wrap{
    width:min(1180px,94vw) !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:22px !important;
}
.s2047-footer-column{
    min-height:150px !important;
    padding:20px !important;
    border:1px solid rgba(255,228,107,.42) !important;
    border-radius:18px !important;
    background:rgba(4,16,32,.72) !important;
    box-shadow:0 0 18px rgba(69,220,255,.12) !important;
    text-align:center !important;
}
.s2047-footer-column h1,
.s2047-footer-column h2,
.s2047-footer-column h3{
    color:#ffe46b !important;
    margin:0 0 12px 0 !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
}
.s2047-footer-column p{margin:0 0 12px 0 !important;}
.s2047-footer-column a{color:#45dcff !important;font-weight:800 !important;}
@media(max-width:800px){
    .s2047-footer-wrap{grid-template-columns:1fr !important;}
}



/* Space 2047 Electric Fish Finger page */
.s2047-fishfinger-page{width:min(1180px,94vw);margin:80px auto 40px;color:#f4fbff;text-align:center}
.s2047-fishfinger-hero{border:2px solid rgba(69,220,255,.55);border-radius:26px;background:linear-gradient(180deg,rgba(3,14,31,.94),rgba(5,9,20,.92));padding:28px 18px;box-shadow:0 0 28px rgba(69,220,255,.18);margin-bottom:26px}
.s2047-fishfinger-hero h1{color:#ffe46b;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;font-size:clamp(30px,5vw,62px);text-shadow:0 0 18px rgba(255,228,107,.35)}
.s2047-fishfinger-hero p{max-width:760px;margin:0 auto;font-size:clamp(16px,2.2vw,22px)}
.s2047-fishfinger-stage{display:flex;align-items:center;justify-content:center;padding:20px 0 28px}
.s2047-fishfinger-instrument{position:relative;width:min(520px,88vw);margin:0 auto;isolation:isolate}
.s2047-fishfinger-img{width:100%;height:auto;display:block;filter:drop-shadow(0 0 24px rgba(69,220,255,.38)) drop-shadow(0 0 18px rgba(255,228,107,.24));user-select:none;pointer-events:none}
.s2047-fish-note{position:absolute;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:999px;border:3px solid rgba(255,255,255,.9);background:radial-gradient(circle at 35% 30%,#fff8b6,#ffe46b 32%,#ff9c1a 62%,#6d2a05 100%);color:#111;font-weight:1000;font-size:20px;box-shadow:0 0 16px rgba(255,228,107,.85),0 0 28px rgba(69,220,255,.45),inset 0 3px 8px rgba(255,255,255,.65);cursor:pointer;z-index:5;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}
.s2047-fish-note:hover,.s2047-fish-note:focus{transform:translate(-50%,-50%) scale(1.13);filter:brightness(1.18)}
.s2047-fish-note.is-hit{transform:translate(-50%,-50%) scale(.94);box-shadow:0 0 28px rgba(255,255,255,.95),0 0 52px rgba(69,220,255,.9)}
.s2047-fishfinger-lightning{position:absolute;z-index:2;opacity:.25;pointer-events:none;filter:drop-shadow(0 0 12px rgba(69,220,255,.85))}
.s2047-fishfinger-lightning:before,.s2047-fishfinger-lightning:after{content:"";position:absolute;width:8px;height:190px;background:#b9f7ff;clip-path:polygon(45% 0,100% 38%,62% 38%,100% 100%,0 50%,38% 50%);box-shadow:0 0 18px rgba(185,247,255,.95)}
.s2047-bolt-one{left:8%;top:17%;transform:rotate(-18deg)}.s2047-bolt-two{right:6%;top:42%;transform:rotate(21deg)}.s2047-bolt-three{left:10%;bottom:14%;transform:rotate(10deg)}
.s2047-bolt-one:after{left:340px;top:190px;transform:rotate(42deg) scale(.8)}.s2047-bolt-two:after{right:290px;top:-130px;transform:rotate(-48deg) scale(.75)}.s2047-bolt-three:after{left:310px;top:-230px;transform:rotate(-30deg) scale(.82)}
.s2047-fishfinger-instrument.is-playing .s2047-fishfinger-lightning{animation:s2047FishLightningPulse .16s infinite alternate;opacity:1}
.s2047-fishfinger-instrument.is-playing .s2047-fishfinger-img{animation:s2047FishFingerShake .09s infinite alternate}
.s2047-fishfinger-instructions{width:min(760px,94vw);margin:0 auto 60px;padding:22px;border-radius:22px;border:1px solid rgba(255,228,107,.45);background:rgba(4,16,32,.82);box-shadow:0 0 18px rgba(69,220,255,.14)}
.s2047-fishfinger-instructions h2{color:#ffe46b;margin-top:0}
@keyframes s2047FishLightningPulse{0%{transform:scale(.95)}100%{transform:scale(1.09);filter:drop-shadow(0 0 24px rgba(255,255,255,1))}}
@keyframes s2047FishFingerShake{0%{transform:translateX(-2px) rotate(-.5deg)}100%{transform:translateX(2px) rotate(.5deg)}}
@media(max-width:700px){.s2047-fishfinger-page{margin-top:50px}.s2047-fish-note{width:46px;height:46px;font-size:16px}}

