:root {
  color-scheme: dark;
  --ink: #e9edf0;
  --muted: #8b989f;
  --faint: #5b6870;
  --line: #28343c;
  --deep: #101a25;
  --panel: #15212b;
  --panel-soft: #192833;
  --gold: #d0a45b;
  --mint: #72c5ad;
  --red: #df8068;
  --blue: #84acc0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--deep); color: var(--ink); font-size: 14px; }
a { color: inherit; text-decoration: none; }
.topbar { height: 82px; padding: 0 6.5%; display: flex; align-items: center; gap: 42px; border-bottom: 1px solid rgba(220,230,236,.08); background: #101923; }
.brand { display: inline-flex; gap: 11px; align-items: center; font-size: 12px; font-weight: 800; letter-spacing: .17em; white-space: nowrap; }
.brand-mark { width: 36px; height: 36px; border: 1px solid #687781; color: var(--gold); border-radius: 50%; display: grid; place-items: center; font-family: Georgia, serif; font-size: 11px; letter-spacing: -.06em; }
.topbar nav { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.topbar nav a { color: #aab4bb; font-size: 12px; transition: color .18s ease; }
.topbar nav a:hover { color: var(--ink); }
.nav-cta { font-size: 11px; letter-spacing: .04em; padding: 12px 15px; border: 1px solid #384852; border-radius: 2px; }
.nav-cta span, .button span, .strip-link span, .text-link span { color: var(--gold); margin-left: 8px; }
.hero { min-height: 588px; display: grid; grid-template-columns: 1fr 1.05fr; gap: 4%; padding: 77px 8.4% 55px; overflow: hidden; position: relative; }
.hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 70% 43%, rgba(73,112,127,.17), transparent 51%), linear-gradient(115deg, #121d27 15%, #14212c 74%, #121b24); z-index: -1; }
.hero-copy { align-self: center; position: relative; z-index: 2; padding-bottom: 20px; }
.eyebrow { font-size: 9px; letter-spacing: .21em; color: var(--gold); margin: 0 0 24px; font-weight: 700; }
.eyebrow-dot { display: inline-block; width: 5px; height: 5px; background: var(--mint); border-radius: 50%; vertical-align: 2px; margin-right: 9px; box-shadow: 0 0 10px rgba(114,197,173,.65); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.035em; }
h1 { font-size: clamp(44px, 5vw, 69px); line-height: .99; margin-bottom: 23px; }
h1 em, h2 em { font-weight: 400; color: #c2aa7c; }
.hero-lede { color: #aab6bd; line-height: 1.7; max-width: 460px; font-size: 14px; margin-bottom: 28px; }
.hero-actions { display: flex; gap: 12px; align-items: center; }
.button { min-height: 43px; display: inline-flex; align-items: center; padding: 0 16px; border-radius: 2px; font-size: 11px; letter-spacing: .025em; }
.button-primary { background: var(--gold); color: #1e252a; font-weight: 700; }
.button-primary span { color: #354047; }
.button-quiet { color: #d7dee1; border: 1px solid #394954; }
.connect-note { color: var(--faint); margin: 19px 0 0; font-size: 10px; }
.hero-art { position: relative; min-height: 450px; align-self: center; isolation: isolate; }
.map-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(143,169,174,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(143,169,174,.08) 1px, transparent 1px); background-size: 43px 43px; opacity: .38; mask-image: radial-gradient(ellipse, black 28%, transparent 74%); }
.map-ring { position: absolute; border: 1px solid rgba(181,204,196,.13); border-radius: 50%; transform: rotate(-22deg) scaleY(.72); }
.ring-one { width: 440px; height: 405px; left: 7%; top: 4%; }
.ring-two { width: 550px; height: 510px; left: -3%; top: -8%; border-style: dashed; opacity: .45; }
.map-land { position: absolute; border: 1px solid rgba(206,179,125,.38); background: linear-gradient(135deg, rgba(151,139,108,.18), rgba(66,104,110,.16)); filter: drop-shadow(0 0 18px rgba(105,160,155,.12)); }
.land-one { left: 18%; top: 14%; width: 42%; height: 42%; clip-path: polygon(25% 3%, 59% 0, 78% 13%, 92% 32%, 77% 45%, 86% 59%, 62% 68%, 57% 94%, 35% 100%, 29% 78%, 10% 71%, 18% 46%, 3% 25%); }
.land-two { right: 5%; bottom: 12%; width: 42%; height: 43%; clip-path: polygon(22% 0, 48% 8%, 53% 26%, 77% 30%, 90% 45%, 70% 56%, 79% 75%, 58% 96%, 35% 85%, 18% 94%, 21% 71%, 4% 52%, 17% 35%, 7% 19%); }
.map-pin { position: absolute; z-index: 2; display: flex; align-items: center; gap: 7px; color: #d7d1bb; font-size: 8px; letter-spacing: .14em; white-space: nowrap; }
.map-pin i { display: block; width: 7px; height: 7px; border: 1px solid #e3ba73; border-radius: 50%; background: #d0a45b; box-shadow: 0 0 12px #d0a45b; }
.pin-one { left: 27%; top: 27%; }.pin-two { left: 47%; top: 40%; }.pin-three { right: 15%; bottom: 30%; }
.map-label { position: absolute; left: 10%; bottom: 10%; color: #667880; font: 9px Georgia, serif; letter-spacing: .19em; }.map-label span { color: var(--gold); margin: 0 8px; }
.map-stamp { position: absolute; right: 2%; top: 8%; display: flex; flex-direction: column; gap: 4px; text-align: right; color: #72858b; font-size: 7px; letter-spacing: .18em; }.map-stamp strong { color: var(--gold); font: 17px Georgia, serif; letter-spacing: .11em; }.map-stamp small { font-size: 6px; }
.art-coord { position: absolute; color: #62757e; font-size: 7px; letter-spacing: .12em; }.coord-a { left: 7%; top: 9%; }.coord-b { right: 8%; bottom: 8%; }
.status-strip { display: grid; grid-template-columns: 1.3fr .8fr .95fr 1fr auto; gap: 20px; align-items: center; background: #0d151d; border-top: 1px solid rgba(220,230,236,.07); border-bottom: 1px solid rgba(220,230,236,.07); padding: 22px 8.4%; }
.status-intro { display: flex; align-items: center; gap: 12px; }.status-intro div { display: flex; flex-direction: column; gap: 5px; }.status-intro strong { font-size: 11px; font-weight: 600; }.status-intro small { color: var(--faint); font-size: 9px; }
.status-pulse { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #79868d; display: inline-block; }.status-pulse.is-online { background: var(--mint); box-shadow: 0 0 12px rgba(114,197,173,.65); }.status-pulse.is-offline { background: var(--red); }.status-pulse.is-unknown { background: #79868d; }
.strip-metric { display: flex; flex-direction: column; gap: 4px; }.strip-metric strong { font: 22px Georgia, serif; color: #d7e0e2; }.strip-metric span { color: var(--faint); font-size: 8px; letter-spacing: .15em; }.strip-link { justify-self: end; color: #a8b4b9; font-size: 10px; }
.demo-banner { text-align: center; padding: 12px; background: #61471f; color: #fff1d2; font-size: 10px; letter-spacing: .08em; font-weight: 800; }
.section { padding: 92px 8.4%; }.living { background: #111c26; }.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 37px; }.section-heading .eyebrow { margin-bottom: 15px; }.section-heading h2, .companion-copy h2, .account h2 { font-size: clamp(37px, 4vw, 52px); line-height: 1.03; margin: 0; }.section-intro { max-width: 360px; color: #98a6ad; line-height: 1.65; margin: 0 0 4px; font-size: 12px; }
.world-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }.world-card { min-height: 246px; position: relative; overflow: hidden; padding: 24px 23px; background: #17242e; border: 1px solid rgba(183,203,207,.08); }.card-index { display: block; color: var(--gold); font-size: 8px; letter-spacing: .16em; margin-bottom: 26px; }.world-card h3 { font: 24px/1.1 Georgia, serif; letter-spacing: -.02em; margin-bottom: 10px; }.world-card p { position: relative; z-index: 2; max-width: 255px; color: #8d9da5; font-size: 10px; line-height: 1.6; }.card-coord { position: absolute; bottom: 17px; left: 23px; color: #697d86; font-size: 7px; letter-spacing: .1em; }.city-lines { position: absolute; right: -5px; bottom: 17px; width: 110px; height: 104px; opacity: .36; background: repeating-linear-gradient(0deg, transparent 0 11px, #61807e 12px 13px), repeating-linear-gradient(90deg, transparent 0 12px, #61807e 13px 14px); clip-path: polygon(20% 0, 100% 8%, 100% 100%, 0 90%); }.city-lines::after { content: ""; position: absolute; width: 38px; height: 55px; bottom: -4px; left: 37px; border: 1px solid var(--gold); background: #1c2c34; }.journey-path { position: absolute; right: 17px; bottom: 40px; width: 145px; height: 50px; border-bottom: 1px dashed rgba(208,164,91,.4); transform: rotate(-21deg); }.journey-path span { position: absolute; left: 15px; top: 22px; width: 112px; border-top: 1px solid rgba(132,172,192,.5); }.journey-path i { position: relative; display: inline-block; top: 16px; left: 12px; margin-right: 27px; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 8px rgba(208,164,91,.7); }.count-legend { display: flex; flex-direction: column; gap: 7px; position: absolute; bottom: 42px; right: 21px; font-size: 7px; color: #9ba9ae; letter-spacing: .08em; }.count-legend i { display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; }.legend-human { background: var(--mint); }.legend-companion { background: var(--blue); }.legend-ambient { background: var(--gold); }
.honesty-note { display: flex; gap: 10px; color: #798b93; font-size: 10px; margin: 19px 0 0; line-height: 1.6; }.honesty-note span { flex: 0 0 17px; height: 17px; border: 1px solid #52656b; border-radius: 50%; display: grid; place-items: center; color: var(--gold); font: 10px Georgia, serif; }
.companions { background: #192833; padding-bottom: 65px; }.companion-panel { display: grid; grid-template-columns: .9fr 1.1fr; gap: 8%; align-items: center; }.companion-copy .eyebrow { margin-bottom: 18px; }.companion-copy p:not(.eyebrow) { color: #9eacb3; line-height: 1.7; font-size: 12px; max-width: 360px; margin: 21px 0; }.text-link { display: inline-block; color: #d2d9dc; font-size: 10px; border-bottom: 1px solid #52616a; padding-bottom: 8px; }.role-board { min-height: 318px; position: relative; display: flex; align-items: center; justify-content: space-between; padding: 38px 12% 55px; background: radial-gradient(ellipse at center, rgba(98,141,148,.12), transparent 64%); border: 1px solid rgba(190,213,213,.08); }.role { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 6px; width: 100px; }.role-icon { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid #526b73; border-radius: 50%; background: #1a2a34; color: var(--gold); font-size: 19px; }.role-healer .role-icon { color: var(--mint); border-color: #4e746e; }.role-dps .role-icon { color: #d78b73; border-color: #75584d; }.role-name { font-size: 8px; letter-spacing: .19em; color: #e1e5e4; }.role-desc { color: #7f9299; font-size: 8px; }.role-line { position: absolute; top: 124px; left: 25%; width: 50%; height: 1px; background: linear-gradient(90deg, transparent, rgba(208,164,91,.45), transparent); }.line-two { top: 120px; transform: rotate(25deg); }.role-center { position: absolute; z-index: 3; left: calc(50% - 24px); top: 97px; width: 48px; height: 48px; display: grid; place-items: center; text-align: center; border-radius: 50%; background: #243741; border: 1px solid #617b7d; color: #c5d2d1; font: 7px/1.15 Georgia, serif; }.role-center i { position: absolute; right: 3px; bottom: 3px; width: 6px; height: 6px; background: var(--mint); border: 1px solid #17242e; border-radius: 50%; }.role-caption { position: absolute; bottom: 19px; width: 100%; color: #aab7b9; text-align: center; font-size: 8px; letter-spacing: .14em; line-height: 1.7; }.role-caption small { color: var(--gold); font-size: 7px; }
.group-design { margin-top: 58px; display: grid; grid-template-columns: 1fr 1.5fr; align-items: center; gap: 16px 32px; padding: 25px 0; border-top: 1px solid rgba(220,230,236,.11); border-bottom: 1px solid rgba(220,230,236,.11); }.group-design > div { display: flex; align-items: baseline; gap: 12px; }.group-size { color: var(--gold); font: 29px Georgia, serif; }.group-label { color: #7e9098; font-size: 8px; letter-spacing: .15em; }.group-design p { margin: 0; color: #b2bec2; font-size: 10px; line-height: 1.5; }.group-design p strong { color: #e0e5e6; font-weight: 600; }.group-footnote { grid-column: 1 / -1; padding-top: 7px; color: #75878f !important; font-size: 9px !important; }.ai-note { margin-top: 20px; display: flex; align-items: center; gap: 15px; padding: 17px 19px; background: rgba(15,24,31,.45); border: 1px solid rgba(220,230,236,.07); }.ai-mark { width: 33px; height: 33px; display: grid; place-items: center; border: 1px solid #696048; border-radius: 50%; color: var(--gold); font: 10px Georgia, serif; }.ai-note p { flex: 1; margin: 0; color: #98a8ae; font-size: 10px; line-height: 1.6; }.ai-note p strong { color: #e2e7e7; display: block; margin-bottom: 3px; font-size: 11px; }.roadmap-tag { color: var(--gold); font-size: 7px; letter-spacing: .18em; }
.realm-status { background: #111a23; }.status-heading { margin-bottom: 31px; }.updated { display: grid; grid-template-columns: 8px auto; align-items: center; column-gap: 9px; color: #d4dcde; font-size: 10px; }.updated small { grid-column: 2; color: #7e8e96; font-size: 9px; margin-top: 7px; }.updated time { color: #bac5c9; }.status-board { display: grid; grid-template-columns: .72fr 1.28fr; background: #17232d; border: 1px solid rgba(206,221,222,.09); }.status-board-main { padding: 27px; border-right: 1px solid rgba(206,221,222,.09); }.board-kicker { color: #7f9098; font-size: 7px; letter-spacing: .15em; }.board-state { display: flex; align-items: center; gap: 11px; margin: 27px 0 10px; }.board-state h3 { font: 31px Georgia, serif; text-transform: capitalize; margin: 0; }.status-board-main > p { max-width: 300px; color: #8c9ba2; line-height: 1.6; font-size: 10px; min-height: 32px; }.board-meta { margin-top: 23px; display: flex; flex-wrap: wrap; gap: 16px; color: #6d8088; font-size: 7px; letter-spacing: .11em; }.board-meta strong { display: block; color: #b7c2c5; font-size: 9px; font-weight: 500; letter-spacing: 0; margin-top: 5px; text-transform: uppercase; }.population-grid { display: grid; grid-template-columns: repeat(3, 1fr); }.population-tile { display: flex; flex-direction: column; justify-content: center; padding: 19px 21px; min-height: 103px; border-bottom: 1px solid rgba(206,221,222,.08); border-right: 1px solid rgba(206,221,222,.08); }.population-tile:nth-child(3n) { border-right: 0; }.population-tile:nth-last-child(-n+3) { border-bottom: 0; }.population-tile > span { color: #74868e; font-size: 7px; letter-spacing: .17em; }.population-tile strong { font: 26px Georgia, serif; margin: 6px 0 3px; }.population-tile small { color: #647780; font-size: 7px; letter-spacing: .11em; }.human-tile strong { color: var(--mint); }.ambient-tile strong { color: #d6b56f; }.activity-row { display: flex; align-items: center; gap: 28px; padding: 18px 2px; border-bottom: 1px solid rgba(206,221,222,.09); color: #74868e; font-size: 7px; letter-spacing: .13em; }.activity-row strong { color: #c3ced1; margin-left: 6px; font-size: 10px; letter-spacing: 0; }.activity-note { margin-left: auto; text-align: right; color: #61737b; letter-spacing: 0; font-size: 8px; }
.account { display: grid; grid-template-columns: 1fr .75fr; align-items: center; gap: 9%; background: #17242e; }.account > div:first-child > p:last-child { max-width: 420px; margin: 20px 0 0; color: #96a6ad; line-height: 1.7; font-size: 11px; }.account-card { padding: 23px; background: #111d26; border: 1px solid rgba(206,221,222,.1); display: flex; flex-direction: column; align-items: flex-start; }.lock-icon { width: 35px; height: 35px; border: 1px solid #566d71; color: var(--mint); border-radius: 50%; display: grid; place-items: center; margin-bottom: 16px; }.account-card strong { font: 17px Georgia, serif; }.account-card p { margin: 8px 0 17px; color: #8b9aa1; font-size: 10px; line-height: 1.6; }.account-card button { background: #27343c; border: 1px solid #3d4c54; padding: 11px 14px; color: #73828a; font: inherit; font-size: 9px; border-radius: 2px; }.account-card small { color: #657981; font-size: 7px; letter-spacing: .13em; margin-top: 17px; }
.connect { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; align-items: center; background: #111a23; }.connect-card { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 12px 14px; padding: 21px; background: #17232d; border: 1px solid rgba(206,221,222,.08); }.connect-number { color: var(--gold); font: 17px Georgia, serif; }.connect-card p { margin: 0; color: #899aa2; font-size: 10px; line-height: 1.6; }.connect-card p strong { color: #d8e0e1; font-weight: 600; }.connect-pending { grid-column: 3; grid-row: 1 / 4; writing-mode: vertical-rl; color: #70858b; font-size: 7px; letter-spacing: .15em; }
footer { background: #0d151d; min-height: 103px; display: flex; align-items: center; padding: 22px 8.4%; gap: 25px; border-top: 1px solid rgba(220,230,236,.07); }footer p { margin: 0 auto 0 0; color: #74848c; font-size: 9px; }footer > span { color: #54666e; font-size: 7px; letter-spacing: .12em; }.footer-brand { font-size: 9px; }.footer-brand .brand-mark { width: 30px; height: 30px; font-size: 9px; }

@media (max-width: 960px) {
  .topbar { padding: 0 4%; gap: 20px; }.topbar nav { gap: 16px; }.nav-cta { display: none; }
  .hero { padding-left: 6%; padding-right: 6%; grid-template-columns: 1fr 1fr; }.hero-art { transform: scale(.86); transform-origin: center; width: 118%; margin-left: -8%; }
  .status-strip { padding-left: 6%; padding-right: 6%; gap: 12px; }.section { padding-left: 6%; padding-right: 6%; }
  .status-board { grid-template-columns: 1fr; }.status-board-main { border-right: 0; border-bottom: 1px solid rgba(206,221,222,.09); }.board-meta { margin-top: 18px; }
}
@media (max-width: 700px) {
  .topbar { height: 66px; padding: 0 5%; }.topbar nav { display: none; }.brand { margin-right: auto; }
  .hero { display: flex; flex-direction: column; padding: 57px 6% 19px; }.hero-copy { align-self: stretch; }.hero-art { align-self: center; min-height: 320px; width: 100%; transform: none; margin: 0; }.ring-one { width: 350px; height: 320px; left: calc(50% - 175px); }.ring-two { width: 410px; height: 390px; left: calc(50% - 205px); }.land-one { left: 17%; top: 10%; }.land-two { right: 12%; bottom: 8%; }.map-stamp { right: 5%; }.status-strip { grid-template-columns: repeat(3, 1fr); padding: 19px 6%; }.status-intro { grid-column: 1 / -1; }.strip-metric strong { font-size: 18px; }.strip-link { display: none; }
  .section { padding: 67px 6%; }.section-heading { display: block; }.section-intro { margin-top: 18px; }.world-grid { grid-template-columns: 1fr; }.world-card { min-height: 220px; }.companion-panel { grid-template-columns: 1fr; gap: 36px; }.role-board { min-height: 275px; padding-left: 3%; padding-right: 3%; }.role { width: 80px; }.role-icon { width: 47px; height: 47px; }.role-line { top: 110px; }.line-two { top: 108px; }.role-center { top: 87px; }.group-design { grid-template-columns: 1fr; gap: 9px; }.group-design p { margin-bottom: 9px; }.group-footnote { margin-top: 2px !important; }.ai-note { align-items: flex-start; }.roadmap-tag { display: none; }.updated { margin-top: 23px; }.status-board-main { padding: 21px; }.population-tile { min-height: 83px; padding: 12px 10px; }.population-tile strong { font-size: 21px; }.population-tile > span, .population-tile small { font-size: 6px; }.activity-row { flex-wrap: wrap; gap: 12px 20px; }.activity-note { flex-basis: 100%; text-align: left; margin: 0; }.account, .connect { grid-template-columns: 1fr; gap: 26px; }.connect-card { padding: 16px; }footer { flex-wrap: wrap; gap: 13px; padding: 22px 6%; }footer p { flex-basis: calc(100% - 170px); font-size: 8px; }footer > span { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; } }

.registration-card { width: 100%; max-width: 450px; }
.registration-card form { width: 100%; display: grid; gap: 8px; }
.registration-card label { color: #c7d1d3; font-size: 9px; letter-spacing: .08em; margin-top: 8px; }
.registration-card input { width: 100%; min-height: 40px; padding: 9px 11px; color: #e6ebea; background: #172630; border: 1px solid #41535b; border-radius: 2px; font: inherit; font-size: 12px; }
.registration-card input:focus { outline: 2px solid #d0a45b; outline-offset: 1px; }
.registration-card form small { color: #71848b; font-size: 8px; }
.registration-card button { margin-top: 11px; background: #d0a45b; border: 1px solid #e5c17e; padding: 12px 15px; color: #17212a; font: inherit; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; border-radius: 2px; cursor: pointer; }
.registration-card button:disabled { color: #77868b; background: #27343c; border-color: #3d4c54; cursor: not-allowed; }
.registration-message { min-height: 20px; margin: 4px 0 8px !important; color: #b7c6c5 !important; font-size: 10px !important; }
.registration-scope { padding: 10px 11px; background: rgba(15,24,31,.55); border-left: 2px solid var(--gold); }

@media (max-width: 700px) { .registration-card { max-width: none; } }

