/* SPAR10 cyan entrance v1. Scoped to the home page. */
body:has(.spar10-entrance-page.active),body.s10-home{background:#02070a}
body:has(.spar10-entrance-page.active)>.site-header,
body:has(.spar10-entrance-page.active)>.mobile-drawer,
body:has(.spar10-entrance-page.active)>#cursorGlow,
body.s10-home>.site-header,body.s10-home>.mobile-drawer,body.s10-home>#cursorGlow{display:none}
.spar10-entrance-page{margin:0!important;padding:0!important}
#hero.spar10-entrance{--s10-image-height:calc(100svh * 1.30435);position:relative;isolation:isolate;overflow:hidden;height:100vh;height:100svh;min-height:640px;margin:0;padding:0;display:block;background:#02070a;color:#eefbff;font-family:Arial,Helvetica,sans-serif}
#hero.spar10-entrance *{box-sizing:border-box}
#hero .s10-backdrop{position:absolute;inset:-30px;background:url('spartan-cyan.jpg') center/cover;filter:blur(26px);opacity:.22;pointer-events:none}
#hero .s10-still{position:absolute;width:auto;max-width:none;height:max(835px,var(--s10-image-height));left:50%;top:-20.58%;transform:translateX(-50%);object-fit:contain;pointer-events:none}
#hero .s10-canvas{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#hero.s10-canvas-ready .s10-canvas{display:block}
#hero.s10-canvas-ready .s10-still{visibility:hidden}
#hero .s10-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#02070a80,transparent 18% 70%,#02070a)}
#hero .s10-topbar{position:absolute;top:0;left:0;right:0;padding:24px 30px;display:flex;justify-content:space-between;align-items:center;gap:16px;z-index:2;background:linear-gradient(#02070ad9,transparent)}
#hero .s10-brand{letter-spacing:5px;font-family:Georgia,serif;font-size:19px}
#hero .s10-brand small{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:4px;margin-top:6px;color:#75a5b2}
#hero .s10-replay,#hero .s10-skip{font-family:inherit;color:#b6e7f2;background:#031017a6;border:1px solid #387989;padding:10px 16px;letter-spacing:2px;font-size:10px;min-height:44px;cursor:pointer}
#hero .s10-replay:hover,#hero .s10-skip:hover{background:#103442;border-color:#65e6ff}
#hero [hidden]{display:none!important}
#hero .s10-welcome{position:absolute;bottom:65px;left:16px;right:16px;text-align:center;transition:opacity .8s,transform .8s;opacity:1;transform:none}
#hero.s10-assembling .s10-welcome{opacity:0;transform:translateY(12px);visibility:hidden;pointer-events:none}
#hero .s10-motto{font-family:Georgia,serif;font-size:clamp(14px,1.6vw,19px);font-weight:400;line-height:1.5;color:#dbf6ff;margin:0 0 23px;text-shadow:0 2px 10px #000}
#hero .s10-enter{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 38px;min-height:48px;font-family:Arial,sans-serif;font-size:12px;line-height:1.4;letter-spacing:5px;text-decoration:none;color:#c8f4ff;border:1px solid #49cfe8;box-shadow:0 0 25px #21bdd320;background:#031017e6;transition:background .2s,box-shadow .2s}
#hero .s10-enter:hover{background:#0b2933;box-shadow:0 0 32px #21bdd349}
#hero button:focus-visible,#hero a:focus-visible{outline:2px solid #d5f8ff;outline-offset:5px}
#hero .s10-footer{position:absolute;bottom:20px;left:30px;right:30px;display:flex;justify-content:space-between;gap:15px;color:#8fb8c2;font-size:9px;letter-spacing:2px}
#hero .s10-skip{position:absolute;right:28px;bottom:85px;border:0;background:transparent;letter-spacing:1px}
/* Anchor fallback if JavaScript is disabled or fails. */
body:has(#ecosystem:target) .spar10-entrance-page{display:none}
body:has(#ecosystem:target) #ecosystem{display:block}
body:has(#ecosystem:target)>.site-header{display:flex}
@media(max-width:550px){
 #hero.spar10-entrance{--s10-image-height:calc(100svh * 1.16176)}
 #hero .s10-still{height:min(188.342vw,max(744px,var(--s10-image-height)));top:42%;transform:translate(-50%,-45.7%)}
 #hero .s10-topbar{padding:20px}
 #hero .s10-brand{font-size:15px;letter-spacing:3px}
 #hero .s10-replay{font-size:9px;letter-spacing:1px;padding:8px 10px}
 #hero .s10-motto{max-width:360px;margin:0 auto 23px}
 #hero .s10-footer{left:20px;right:20px;font-size:8px;letter-spacing:1px}
 #hero .s10-footer span:last-child{display:none}
 #hero .s10-skip{bottom:8px;right:10px}
}
@media(prefers-reduced-motion:reduce){#hero .s10-welcome,#hero .s10-enter{transition:none}}
