@font-face { font-family: Inter; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/inter-latin.woff2") format("woff2"); }
:root { color-scheme: dark; --ink: #05070b; --text: #f2f5f9; --muted: #a3afbf; --ice: #bfd3e6; --mono: ui-monospace, SFMono-Regular, Consolas, monospace; }
* { box-sizing: border-box; }
html { background: var(--ink); }
body { margin: 0; color: var(--text); font-family: Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--ice); outline-offset: 7px; }
.universe { position: fixed; inset: 0; overflow: hidden; pointer-events: none; background: radial-gradient(ellipse at 50% 68%, #132333 0%, #080f19 34%, #05070b 70%); }
#stars { width: 100%; height: 100%; position: absolute; inset: 0; }
.vignette { position: absolute; inset: 0; background: linear-gradient(180deg, #05070b33, transparent 45%, #05070b22 72%, #05070b 100%); }
.page { position: relative; min-height: 100svh; display: flex; flex-direction: column; padding: 35px 4.4vw 25px; }
.masthead { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.project-state { display: flex; align-items: center; gap: 10px; font: 10px var(--mono); letter-spacing: 2px; color: #b7c5d4; }
main { text-align: center; flex: 1; padding: clamp(55px, 9vh, 125px) 0 110px; }
.eyebrow { display: flex; align-items: center; justify-content: center; gap: 17px; margin: 0 0 29px; font: 10px var(--mono); letter-spacing: 3px; color: var(--ice); }
.eyebrow > span { width: 25px; height: 1px; background: #bfd3e64d; }
h1 { margin: 0; font-size: clamp(64px, 7.8vw, 122px); font-weight: 500; line-height: .99; letter-spacing: -.065em; }
h1 em { font-style: normal; color: var(--ice); }
.intro { margin: 28px auto 0; color: #b7c4d4; font-size: clamp(14px, 1.15vw, 17px); line-height: 1.85; letter-spacing: .1px; }
.coming-soon { margin: 37px auto 0; display: flex; align-items: center; justify-content: center; gap: 21px; font: 10px var(--mono); letter-spacing: 4px; color: #e3ecf6; }
.crosshair { color: #9caebf; font-size: 18px; font-weight: 200; }
.logo { display: block; line-height: 1; }
.logo img { display: block; width: 148px; height: auto; }
.site-legal-footer { position: fixed; right: 3vw; bottom: 14px; z-index: 10; display: flex; align-items: center; gap: 9px; border-top: 1px solid rgba(255, 255, 255, .1); color: white; font: 400 11px / 1.5 Inter, system-ui, sans-serif; }
.site-legal-footer a { color: inherit; text-decoration: none; transition: color .2s; }
.site-legal-footer a:hover, .site-legal-footer a:focus-visible { color: var(--ice); }
@media (max-width: 760px) {
  .site-legal-footer { right: 14px; bottom: 8px; max-width: calc(100vw - 28px); font-size: 8px; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
}
.parent-link { font: 10px var(--mono); letter-spacing: 1px; }
.parent-link span { margin-left: 10px; color: #e5eef8; }
.internal main { display: grid; align-content: center; justify-items: center; padding: 70px 0; }
.internal h1 { font-size: clamp(54px, 8vw, 100px); }
.internal .parent-link { margin-top: 35px; }
@media (min-aspect-ratio: 2/1) { main { padding-top: 5vh; } h1 { font-size: 13vh; } }
@media (max-width: 600px) {
  .page { padding: 25px 24px 18px; }
  .logo img { width: 125px; }
  .project-state { font-size: 8px; letter-spacing: 1.5px; }
  main { padding-top: 13vh; padding-bottom: 120px; }
  h1 { font-size: clamp(58px, 14vw, 82px); }
  .eyebrow { font-size: 8px; letter-spacing: 2px; gap: 12px; }
  .intro { font-size: 13px; margin-top: 25px; line-height: 1.9; }
  .coming-soon { margin-top: 30px; font-size: 9px; }
  .parent-link { font-size: 9px; }
}


.parent-link:hover { color: white; }
.downloads h1 { font-size: clamp(48px, 7.8vw, 110px); }
.downloads .parent-link { display: inline-block; margin-top: 35px; }
.legal-open { overflow: hidden; }
.legal-dialog { width: min(780px, calc(100% - 32px)); max-height: min(850px, 86svh); margin: auto; padding: 0; border: 1px solid #bfd3e633; border-radius: 12px; background: #0c141e; color: var(--text); box-shadow: 0 24px 100px #0009; font: 400 14px / 1.8 Inter, Arial, sans-serif; }
.legal-dialog[open] { display: flex; flex-direction: column; }
.legal-dialog::backdrop { background: #02060bc9; backdrop-filter: blur(8px); }
.legal-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 30px; border-bottom: 1px solid #bfd3e61f; }
.legal-dialog__title { margin: 0; font: 400 25px / 1.3 Inter, Arial, sans-serif; color: var(--ice); }
.legal-dialog__title:focus { outline: none; }
.legal-dialog__close { flex: 0 0 40px; width: 40px; height: 40px; border: 1px solid #bfd3e633; border-radius: 50%; color: var(--ice); background: transparent; font: 28px / 1 Arial, sans-serif; cursor: pointer; }
.legal-dialog__close:hover { color: white; border-color: var(--ice); }
.legal-dialog__body { overflow: auto; overscroll-behavior: contain; padding: 8px 30px 28px; overflow-wrap: anywhere; }
.legal-dialog__body h3 { margin: 25px 0 8px; font-size: 15px; color: var(--ice); }
.legal-dialog__body p { margin: 16px 0; }
.legal-dialog__body a { color: var(--ice); text-decoration: underline; text-underline-offset: 3px; }
.legal-dialog__body ul { padding-left: 22px; }
@media (max-width: 600px) {
  .legal-dialog { max-height: 90svh; font-size: 13px; }
  .legal-dialog__header { padding: 16px 20px; }
  .legal-dialog__title { font-size: 22px; }
  .legal-dialog__body { padding: 4px 20px 20px; }
}
