[hidden] { display: none !important; }
.js main { visibility: hidden; }
.js body[data-page] main { visibility: visible; }
body { background-color: var(--lunorb-background); color: var(--lunorb-text); }
.lunorb-wordmark { font: 500 23px var(--lunorb-font); letter-spacing: .2em; white-space: nowrap; }
.lunorb-wordmark__o { position: relative; display: inline-block; }
.lunorb-wordmark__o::after { content: ''; position: absolute; inset: 34% -24% 28% -30%; border: 1px solid var(--lunorb-accent); border-radius: 50%; transform: rotate(-52deg); box-shadow: var(--lunorb-glow); pointer-events: none; }
.nav-shell { background: var(--lunorb-background); }
.nav-shell a[aria-current], .footer-links a[aria-current], .mobile-dock a[aria-current] { color: var(--lunorb-accent); }
.lunorb-page { padding-top: calc(var(--lunorb-header-height) + 60px); padding-bottom: 32px; min-height: 220px; }
.lunorb-page h1 { font: 500 clamp(32px, 5vw, 54px)/1.15 var(--lunorb-font); margin: 18px 0; }
.lunorb-page p { color: var(--lunorb-muted); line-height: 1.8; max-width: 760px; }
.lunorb-page .secondary-btn { display: inline-flex; margin: 16px 0; }
.lunorb-page__actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
body[data-page="section"] main { min-height: 65vh; }
body[data-page="section"] main > .section:not(.lunorb-page) { padding-top: 32px; }
body[data-page="section"] .reveal { opacity: 1; transform: none; }
body[data-page="section"] #galaxyCanvas { visibility: hidden; }
body[data-page="section"] .floating-search { opacity: 1 !important; pointer-events: auto !important; }
.tool-card h3 a { color: inherit; }
.tool-card h3 a:hover { color: var(--lunorb-accent); }
:focus-visible { outline: 2px solid var(--lunorb-accent); outline-offset: 5px; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 1000; padding: 14px; background: var(--lunorb-surface); }
.skip-link:focus { top: 12px; }
#searchConsole, #main-content { scroll-margin-top: calc(var(--lunorb-header-height) + 20px); }
@media (max-width: 680px) { :root { --lunorb-header-height: 66px; } .lunorb-wordmark { font-size: 20px; } }
