/* SHS 1.2.1: A1 header/footer + S1 starfield host. Tokens from design/ref/theme/tokens.css */
:root{--sh-bg:#04060f;--sh-teal:#2ee6d6;--sh-cyan:#5ff4ff;--sh-blue:#2b6cff;--sh-frost:#bffcff;--sh-text:#e8f1ff;--sh-muted:#8a9bbd;--sh-line:rgba(140,200,255,.14);--sh-on-accent:#03101c}
html{background:var(--sh-bg)!important}
body,body.shs-dark{background:transparent!important}
body{color:var(--sh-text)}
#site-content,.site-content{background:transparent}
#space-bg{position:fixed;inset:0;width:100%;height:100%;max-width:100%;z-index:-1;pointer-events:none;display:block}
.shs-top{position:relative;z-index:50;display:flex;align-items:center;gap:32px;padding:16px 48px;border-bottom:1px solid var(--sh-line);background:rgba(4,6,15,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:Sora,sans-serif}
.shs-logo{display:inline-flex;flex:none}
.shs-logo img{height:44px;width:auto;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 6px rgba(190,250,255,.75)) drop-shadow(0 0 18px rgba(95,244,255,.45))}
.shs-nav{flex:1;display:flex;justify-content:center}
.shs-menu,.shs-mmenu,.shs-fmenu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 28px}
.shs-menu li,.shs-mmenu li,.shs-fmenu li{margin:0;position:relative}
.shs-top a,.shs-mnav a,.shs-foot a,body .shs-menu a,body .shs-mmenu a,body .shs-fmenu a{color:var(--sh-text);text-decoration:none;font-weight:500;font-size:15px;transition:color .2s,text-shadow .2s}
.shs-top a:hover,.shs-mnav a:hover,.shs-foot a:hover,.shs-menu .current-menu-item>a,.shs-mmenu .current-menu-item>a,.shs-fmenu .current-menu-item>a,.shs-top a[aria-current=page]{color:var(--sh-cyan);text-shadow:0 0 12px rgba(95,244,255,.6)}
.shs-menu .sub-menu{display:none;position:absolute;left:-14px;top:100%;min-width:200px;list-style:none;margin:0;padding:10px 14px;border:1px solid var(--sh-line);border-radius:14px;background:rgba(8,14,30,.95);box-shadow:0 18px 40px rgba(0,0,0,.5)}
.shs-menu .sub-menu li{padding:6px 0}
.shs-menu li:hover>.sub-menu,.shs-menu li:focus-within>.sub-menu{display:block}
.shs-top a.shs-pill,.shs-mnav a.shs-pill{flex:none;display:inline-block;padding:10px 22px;border-radius:999px;background:linear-gradient(180deg,#7ff7ee 0%,#2ee6d6 35%,#2b6cff 100%);color:var(--sh-on-accent);font:600 13px Sora,sans-serif;box-shadow:0 0 28px rgba(46,230,214,.45),inset 0 1px 0 rgba(255,255,255,.7);text-shadow:none;transition:transform .25s,box-shadow .25s}
.shs-top a.shs-pill:hover{transform:translateY(-2px);box-shadow:0 0 22px rgba(95,244,255,.75),0 0 60px rgba(46,230,214,.5);color:var(--sh-on-accent)}
.shs-burger{display:none;margin-left:auto;background:none;border:1px solid var(--sh-line);border-radius:10px;color:var(--sh-text);font-size:22px;line-height:1;padding:6px 10px;cursor:pointer}
.shs-mnav{position:relative;z-index:49;padding:18px 22px 24px;border-bottom:1px solid var(--sh-line);background:rgba(4,6,15,.92)}
.shs-mnav[hidden]{display:none}
.shs-mmenu{flex-direction:column;gap:12px;margin-bottom:18px}
.shs-mmenu .sub-menu{list-style:none;padding:8px 0 0 16px;margin:0}
.shs-foot{position:relative;display:flex;align-items:center;gap:40px;padding:50px 48px;border-top:1px solid var(--sh-line);color:var(--sh-muted);font:400 13px Inter,sans-serif;background:rgba(4,6,15,.5)}
.shs-foot nav{flex:1}
.shs-foot p{margin:0;color:var(--sh-muted)}
.shs-foot .shs-logo img{height:48px}
@media (max-width:1000px){.shs-top{padding:12px 20px;gap:12px}.shs-nav,.shs-top>a.shs-pill{display:none}.shs-burger{display:block}.shs-logo img{height:36px}
 .shs-foot{flex-direction:column;padding:40px 22px;text-align:center}.shs-fmenu{justify-content:center}}
@media (min-width:1001px){.shs-mnav{display:none!important}}
@media (prefers-reduced-motion:reduce){.shs-top a.shs-pill{transition:none}}
html,body{overflow-x:clip}

/* 1.2.1: no horizontal overflow at 390 (Luna QA #7) + footer logo breathing room (#8) */
.shs-top,.shs-mnav,.shs-foot{box-sizing:border-box;max-width:100%;width:100%}
.shs-top *,.shs-foot *{box-sizing:border-box}
.shs-foot .shs-logo{padding:14px 18px;margin:0}
.shs-fmenu{min-width:0}.shs-foot nav{min-width:0}
@media (max-width:1000px){.shs-foot .shs-logo{margin:0;padding:12px 20px}.shs-fmenu{gap:8px 18px}}
#site-content,.entry-content,.post-inner{max-width:100%}
#site-footer.shs-foot{padding:50px 48px}
@media (max-width:1000px){#site-footer.shs-foot{padding:40px 22px}}
/* 1.2.1 activity toast */
.shs-toast{position:fixed;left:20px;bottom:20px;z-index:60;max-width:300px;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;padding:10px 14px;border-radius:14px;border:1px solid var(--sh-line);background:rgba(8,14,30,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(0,0,0,.45);color:var(--sh-text);font:500 13px/1.35 Inter,sans-serif;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity 1.6s ease,transform 1.6s ease,visibility 0s linear 1.6s;pointer-events:none}
.shs-toast.on{opacity:1;visibility:visible;transform:none;transition:opacity .8s ease,transform .8s ease,visibility 0s}
.shs-toast.blk{opacity:0!important;visibility:hidden!important}
.shs-toast i{grid-row:span 2;width:8px;height:8px;border-radius:50%;background:var(--sh-teal);box-shadow:0 0 10px var(--sh-teal)}
.shs-toast small{color:var(--sh-muted);font-size:11px}
.shs-toast.shs-toast-rm,.shs-toast.shs-toast-rm.on{transition:none;transform:none}
@media (max-width:700px){.shs-toast{left:50%;right:auto;bottom:12px;transform:translate(-50%,8px);max-width:min(280px,calc(100vw - 32px));font-size:12px;padding:8px 12px}.shs-toast.on,.shs-toast.shs-toast-rm{transform:translate(-50%,0)}}
/* 1.2.1: parent modal / mobile-menu markup stays hidden until opened (as Twenty Twenty does) */
.cover-modal,.search-modal,.menu-modal,.header-modal{display:none}
.cover-modal.show-modal,.search-modal.show-modal,.menu-modal.show-modal{display:flex}
.cover-modal:not(.show-modal) *{visibility:hidden}
#site-header:not(.shs-top),.header-inner,.header-navigation-wrapper{display:none!important}
/* 1.2.2 promo bar above header (moves the in-page A1 promo up) */
.shs-promo{position:relative;z-index:51;text-align:center;font:400 13px/1.4 Inter,sans-serif;letter-spacing:.02em;color:var(--sh-text);padding:9px 16px;background:linear-gradient(90deg,rgba(43,108,255,.25),rgba(46,230,214,.25));border-bottom:1px solid var(--sh-line)}
.shs-promo b{color:var(--sh-cyan)}
body.shs-has-promo #shs-a1 .promo{display:none!important}
