@font-face { font-family: Geist; src: url('Geist-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: Geist; src: url('Geist-SemiBold.woff2') format('woff2'); font-weight: 600; font-display: swap; }
:root { --paper: #fafafa; --ink: #1a1a1a; --muted: #616161; --rule: #dedede; --accent: #5063ff; --focus: #4354eb; --selection: #dfe3ff; color-scheme: light; }
* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); font-family: Geist, sans-serif; -webkit-font-smoothing: antialiased; }
body { margin: 0; min-width: 280px; min-height: 100svh; display: flex; flex-direction: column; }
::selection { color: var(--ink); background: var(--selection); }
a { color: inherit; text-underline-offset: 5px; text-decoration-thickness: 1px; }
a:focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; border-radius: 3px; }
a:hover { color: var(--ink); }
.frame { width: min(100% - 96px, 1280px); margin-inline: auto; }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 112px; }
.brand { display: block; width: 238px; height: auto; }
.contact { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); text-decoration: none; }
.contact svg { width: 16px; height: 16px; }
main { flex: 1; display: grid; place-items: center; padding: 60px 24px 76px; }
.announcement { text-align: center; width: min(100%, 860px); }
h1 { margin: 0; font-size: clamp(40px, 6.8vw, 80px); font-weight: 600; line-height: 1.04; letter-spacing: -.035em; text-wrap: balance; }
h1 span { display: block; }
.description { max-width: 480px; margin: 28px auto 0; color: var(--muted); font-size: 20px; line-height: 1.55; text-wrap: balance; }
.launch { width: min(100%, 360px); margin: 44px auto 0; padding: 25px 16px 27px; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.launch p { margin: 0 0 8px; color: var(--muted); font-size: 15px; line-height: 1.4; }
.launch time { display: block; font-size: 25px; font-weight: 600; line-height: 1.2; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.returning { max-width: 420px; margin: 31px auto 0; }
.returning h2 { margin: 0 0 8px; font-size: 15px; font-weight: 600; line-height: 1.5; }
.returning p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; text-wrap: pretty; }
.site-footer { border-top: 1px solid var(--rule); min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.site-footer p { margin: 0; }
.site-footer nav { display: flex; align-items: center; gap: 24px; }
.site-footer a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.site-footer a:hover, .contact:hover { text-decoration: underline; }
@media (max-width: 600px) {
  .frame { width: calc(100% - 48px); }
  .site-header { min-height: 88px; gap: 16px; }
  .brand { width: 204px; max-width: 100%; }
  .contact { font-size: 13px; gap: 4px; }
  main { padding: 38px 24px 48px; }
  .description { margin-top: 22px; font-size: 18px; line-height: 1.55; max-width: 310px; }
  .launch { margin-top: 32px; padding-block: 22px 24px; }
  .launch time { font-size: 23px; }
  .returning { margin-top: 25px; }
  .site-footer { flex-direction: column-reverse; justify-content: center; gap: 4px; padding-block: 14px 23px; text-align: center; }
  .site-footer nav { gap: 28px; }
}
@media (max-width: 350px) {
  .site-header { flex-wrap: wrap; gap: 0; padding-block: 20px 8px; }
  .brand { width: 200px; }
  .contact { margin-left: auto; }
  h1 { font-size: 37px; }
}
@media (prefers-color-scheme: dark) {
  :root { --paper: #171717; --ink: #f5f5f5; --muted: #b5b5b5; --rule: #373737; --focus: #9da7ff; --selection: #394385; color-scheme: dark; }
  .brand { filter: invert(1); }
}
@media (forced-colors: active) {
  :root { --paper: Canvas; --ink: CanvasText; --muted: CanvasText; --rule: CanvasText; --focus: Highlight; --selection: Highlight; }
  .brand { filter: none; background: white; padding: 4px; }
  a { color: LinkText; }
}
