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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


/* Real top radio player beside logo */
.clean-topbar,
.topbar.clean-topbar{
    grid-template-columns:240px minmax(260px,1fr) 230px 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;
}
