/*! © 2026 LogosVox. All rights reserved. Copying, modifying or redistributing this code is not permitted. https://games.logosvox.com/terms */
/* Quiet architectural gallery. Real interior renders carry the welcome. */
#space-welcome{--welcome-surface:#f2f0eb;--welcome-card:#fcfbf8;position:fixed;inset:var(--lv-shell-height,56px) 0 0;overflow:auto;padding:28px clamp(22px,6vw,100px) 48px;background:var(--welcome-surface);color:var(--lib-ink)}
[data-library-theme=dark] #space-welcome{--welcome-surface:#171817;--welcome-card:#222321}
.welcome-top{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
.welcome-wordmark{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600}.welcome-wordmark .space-mark{width:36px;height:36px;color:var(--lib-ink)}
.welcome-wordmark .space-mark{animation:space-aperture 850ms cubic-bezier(.16,1,.3,1)}
@keyframes space-aperture{from{transform:rotate(-16deg)}to{transform:rotate(0)}}
.welcome-intro{text-align:center;max-width:850px;margin:42px auto 36px}.welcome-intro h1{font:400 clamp(34px,4vw,56px)/1.12 var(--lib-serif);letter-spacing:-.035em;text-wrap:balance}.welcome-intro p{margin:16px auto 0;color:var(--lib-muted);font-size:15px;line-height:1.6}
.welcome-spaces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1180px;margin:auto}
.welcome-spaces>button{padding:8px;text-align:left;background:var(--welcome-card);border:0;border-radius:16px;overflow:hidden;transition:background 180ms ease}.welcome-spaces>button:hover{background:var(--lib-panel)}.welcome-spaces>button:disabled{opacity:.65;cursor:wait}
.welcome-spaces img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:10px;background:var(--lib-rail)}
.welcome-card-copy{padding:20px 14px 18px;position:relative}.welcome-card-copy h2{font:400 27px/1.2 var(--lib-serif);padding-right:36px}.welcome-card-copy p{color:var(--lib-muted);font-size:13px;line-height:1.6;margin:7px 0 0;max-width:34ch}.welcome-card-arrow{position:absolute;right:14px;top:23px;color:var(--lib-muted)}.welcome-card-arrow svg{width:19px;height:19px}.welcome-spaces>button:hover .welcome-card-arrow{color:var(--lib-ink)}
.welcome-entry{display:flex;justify-content:center;max-width:1180px;margin:34px auto 0}.welcome-entry .primary{min-width:200px;min-height:50px;padding:14px 30px;font-size:14px;font-weight:600}
.welcome-preferences{position:relative;z-index:2}#welcome-theme{display:grid;place-items:center;width:44px;height:44px;padding:10px;background:transparent;border-color:var(--lib-line)}#welcome-theme:hover{background:var(--welcome-card)}#welcome-theme .library-icon{width:20px;height:20px;margin:0}#welcome-theme[aria-expanded=true]{background:var(--welcome-card)}
.welcome-preferences-panel{position:absolute;right:0;top:calc(100% + 10px);width:288px;padding:22px;background:var(--lib-panel);border-radius:16px;box-shadow:0 16px 48px var(--lib-shadow)}
.welcome-preferences-panel fieldset{display:flex;gap:6px;border:0;padding:0;margin:0;min-width:0}.welcome-preferences-panel fieldset+fieldset{margin-top:22px}.welcome-preferences-panel legend{padding:0;margin-bottom:10px;font-size:12px;font-weight:600;color:var(--lib-muted)}.welcome-preferences-panel button{flex:1;min-height:42px;padding:8px 10px;font-size:13px;border:1px solid transparent;background:var(--lib-rail);color:var(--lib-ink)}.welcome-preferences-panel button[aria-pressed=true]{background:var(--lib-accent);color:var(--lib-on-accent)}
@media(min-width:701px) and (max-height:780px){.welcome-intro{margin:24px auto 28px}.welcome-spaces img{aspect-ratio:3/2}.welcome-entry{margin-top:24px}}
@media(max-width:700px){#space-welcome{padding:20px 20px 32px}.welcome-wordmark{font-size:14px;gap:9px}.welcome-wordmark .space-mark{width:30px;height:30px}.welcome-intro{margin:34px auto 28px}.welcome-intro h1{font-size:36px;max-width:340px;margin-inline:auto}.welcome-intro p{font-size:14px;max-width:26ch;margin-top:14px}.welcome-spaces{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding:4px 20px 14px;gap:14px;scrollbar-width:thin;scrollbar-color:var(--lib-line) transparent}.welcome-spaces>button{flex:0 0 88%;scroll-snap-align:center}.welcome-spaces img{aspect-ratio:4/3}.welcome-card-copy{padding:18px 12px}.welcome-card-copy h2{font-size:26px}.welcome-card-copy p{font-size:13px}.welcome-entry{margin-top:24px}.welcome-entry .primary{width:auto;min-width:200px}.welcome-preferences-panel{width:min(288px,calc(100vw - 40px))}}
@media(prefers-reduced-motion:reduce){.welcome-wordmark .space-mark{animation:none}.welcome-spaces>button{transition:none}}
