/*
Theme Name: Space 2047
Theme URI: https://space2047.com
Author: Benjamin Arthur Robinson
Description: Space 2047 command deck theme with v105-v110 Galactic Careers, Crew AI, Dynamic Space Stations, Advanced Ships, Achievements and Encyclopedia. Repacked as v111 to fix WordPress install archive compatibility.
Version: 111.0.0
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: space-2047
*/

: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}}



/* Space 2047 Adventure command direction pad */
.s2047-direction-pad {
  display: grid;
  grid-template-columns: repeat(3, minmax(82px, 1fr));
  gap: 10px;
  width: min(100%, 520px);
  margin: 18px auto;
  padding: 14px;
  border-radius: 18px;
  background: radial-gradient(circle at top, rgba(0, 225, 255, .16), rgba(4, 8, 24, .88));
  border: 1px solid rgba(118, 235, 255, .42);
  box-shadow: 0 0 22px rgba(0, 225, 255, .16), inset 0 0 20px rgba(255, 230, 90, .05);
}

.s2047-direction-pad button {
  min-height: 46px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 235, 140, .72);
  background: linear-gradient(180deg, rgba(255, 215, 89, .95), rgba(192, 112, 22, .95));
  color: #111;
  font-weight: 800;
  cursor: pointer;
  text-align: center;
  box-shadow: 0 0 12px rgba(255, 225, 80, .32);
}

.s2047-direction-pad button:hover,
.s2047-direction-pad button:focus,
.s2047-direction-pad button:active {
  transform: none;
  filter: brightness(1.12);
}

.s2047-command-response {
  width: min(100%, 760px);
  margin: 10px auto;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(0, 18, 36, .88);
  border: 1px solid rgba(116, 232, 255, .36);
  color: #f7fbff;
  box-shadow: inset 0 0 16px rgba(0, 220, 255, .08);
}

@media (max-width: 620px) {
  .s2047-direction-pad {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }
}


/* Space 2047 cleanup: old Adventure Command Expander pad must not appear above header */
body:not(.page-template-page-space2047-adventure) > .s2047-direction-pad,
body > .s2047-direction-pad,
.site > .s2047-direction-pad,
#page > .s2047-direction-pad,
header ~ .s2047-direction-pad:first-child,
.s2047-direction-pad:not(#s2047-adventure-core .s2047-direction-pad):not(.s2047-adventure-core .s2047-direction-pad) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}


/* SPACE 2047 FIX: mini adventure map removed from Adventure page */
.s2047-mini-map-panel-removed,
.s2047-mini-map-row,
.s2047-mini-map-button{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

/* ============================================================
   Space 2047 v26: Command Menu X Close Button Force Fix
   Fixes the drawer title overlay blocking the X on desktop/mobile.
   ============================================================ */
.command-drawer .drawer-head{
    position: relative !important;
    pointer-events: auto !important;
}
.command-drawer .drawer-head strong{
    pointer-events: none !important;
    z-index: 1 !important;
}
.command-drawer .drawer-head .drawer-close,
.drawer-close{
    pointer-events: auto !important;
    position: relative !important;
    z-index: 99999 !important;
    touch-action: manipulation !important;
    cursor: pointer !important;
    min-width: 46px !important;
    min-height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.command-drawer.is-open .drawer-close{
    visibility: visible !important;
    opacity: 1 !important;
}

/* v29 Random Encounter Frequency Fix: reduced automatic encounter rates and added cooldowns. */


/* Space 2047 v35: homepage right advert replacement */
.s2047-home-advert-image img{
  width:100%;
  height:auto;
  max-height:620px;
  object-fit:contain;
  display:block;
  border-radius:18px;
  box-shadow:0 0 28px rgba(61, 166, 255, .35);
}
.s2047-home-advert-image{
  align-self:center;
}
@media (max-width: 820px){
  .s2047-home-advert-image img{max-height:none;}
}


/* Space 2047 v39 hard fix: remove the small Up/Down control strip immediately under the Directions heading.
   This targets all known duplicate control wrappers, while preserving the large side scroll arrows above
   the right column and preserving the 3x3 compass buttons. */
#s2047-core-exits > .s2047-updown-only,
#s2047-core-exits > .s2047-live-scroll-controls,
#s2047-core-exits > .s2047-nav-controls,
#s2047-core-exits > .s2047-sim-controls,
#s2047-core-exits > .s2047-admin-controls,
#s2047-core-exits > .s2047-computer-controls,
#s2047-core-exits > .s2047-core-arrows,
#s2047-core-exits > .s2047-scroll-arrows,
#s2047-core-exits > .s2047-direction-scroll-controls,
#s2047-core-exits button[data-live-scroll],
#s2047-core-exits button[data-nav-scroll-up],
#s2047-core-exits button[data-nav-scroll-down],
#s2047-core-exits button[data-sim-scroll-up],
#s2047-core-exits button[data-sim-scroll-down],
#s2047-core-exits button[data-admin-scroll-up],
#s2047-core-exits button[data-admin-scroll-down],
#s2047-core-exits button[data-computer-scroll-up],
#s2047-core-exits button[data-computer-scroll-down],
#s2047-core-exits button[data-core-up],
#s2047-core-exits button[data-core-down],
#s2047-core-exits .s2047-updown-btn,
#s2047-core-exits [data-s2047-extra-dir="up"],
#s2047-core-exits [data-s2047-extra-dir="down"]{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  width:0 !important;
  min-width:0 !important;
  max-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
#s2047-core-exits.s2047-compass-only{
  padding-top:0 !important;
}


/* Space 2047 v40: hard-hide duplicate Up/Down controls only inside the Directions controls container. */
#s2047-core-exits .s2047-updown-only,
#s2047-core-exits .s2047-updown-btn,
#s2047-core-exits [data-s2047-extra-dir="up"],
#s2047-core-exits [data-s2047-extra-dir="down"],
#s2047-core-exits .s2047-direction-scroll-controls,
#s2047-core-exits .s2047-live-scroll-controls,
#s2047-core-exits .s2047-nav-controls,
#s2047-core-exits .s2047-sim-controls,
#s2047-core-exits .s2047-admin-controls,
#s2047-core-exits .s2047-computer-controls,
#s2047-core-exits .s2047-core-arrows{
  display:none!important; visibility:hidden!important; height:0!important; min-height:0!important; overflow:hidden!important; padding:0!important; margin:0!important; border:0!important;
}

/* Space 2047 v61: final hamburger / command drawer stacking repair
   The previous debug/backdrop work exposed an older duplicate rule that lowered
   .command-drawer to z-index:6000 while .command-backdrop stayed at 50000.
   That put the drawer behind its own backdrop and made the hamburger/menu appear broken. */
.command-menu-button,
.site-header .command-menu-button {
  position: relative !important;
  z-index: 2147482000 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}
.command-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482100 !important;
  pointer-events: auto !important;
}
.command-backdrop[hidden] {
  display: none !important;
  pointer-events: none !important;
}
.command-drawer,
#command-drawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  z-index: 2147482200 !important;
  pointer-events: auto !important;
  transform: translateX(105%) !important;
  visibility: visible !important;
}
.command-drawer.is-open,
#command-drawer.is-open,
body.command-open .command-drawer,
body.command-menu-open #command-drawer {
  transform: translateX(0) !important;
  visibility: visible !important;
}
.command-drawer .drawer-close,
#command-drawer .drawer-close,
.command-drawer a,
#command-drawer a,
.command-drawer button,
#command-drawer button {
  pointer-events: auto !important;
  position: relative !important;
  z-index: 2147482201 !important;
}

/* Space 2047 v63 stable button recovery */
.command-menu-button,.drawer-close,.s2047-drawer-up,.s2047-drawer-down,#s2047-dev-console button,#s2047-dev-console [role="button"]{pointer-events:auto!important;touch-action:manipulation!important;}
.command-backdrop[hidden]{display:none!important;pointer-events:none!important;}
.command-backdrop:not(.is-open){pointer-events:none;}
.command-drawer[aria-hidden="true"]{pointer-events:none;}
.command-drawer.is-open{pointer-events:auto!important;z-index:2147483000!important;}
#s2047-dev-console-backdrop{pointer-events:none!important;}
#s2047-dev-console{pointer-events:auto!important;}

/* Space 2047 v101 Living Galaxy Display Cleanup */
body .s2047-v101-public-galaxy-hidden,
body #s2047-living-galaxy-panel.s2047-v101-public-galaxy-hidden,
body .s2047-living-galaxy-panel.s2047-v101-public-galaxy-hidden{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.s2047-dev-console #s2047-living-galaxy-panel,
.s2047-dev-console .s2047-living-galaxy-panel,
#s2047-dev-console #s2047-living-galaxy-panel,
#s2047-dev-console .s2047-living-galaxy-panel,
.s2047-galaxy-tester #s2047-living-galaxy-panel,
.s2047-galaxy-tester .s2047-living-galaxy-panel{
  display:block!important;
  visibility:visible!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.s2047-living-galaxy-panel li,
.s2047-galaxy-tester li,
.s2047-dev-console li{line-height:1.45;margin:0 0 .45rem;}
.s2047-living-galaxy-panel br,
.s2047-galaxy-tester br{display:block;content:"";margin:.15rem 0;}
