:root {
  color-scheme: dark;
  --ink: #0c131b;
  --night: #111a24;
  --slate: #1a2937;
  --slate-2: #24384a;
  --paper: #f5f0e6;
  --muted: #b8c5c9;
  --gold: #e7bd68;
  --gold-dark: #9c6c22;
  --aqua: #8ad3c7;
  --danger: #ec8f80;
  --line: rgba(231, 189, 104, .22);
  --shadow: 0 24px 70px rgba(0, 0, 0, .35);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--night); color: var(--paper); font-family: var(--sans); line-height: 1.6; }
a { color: inherit; text-underline-offset: .22em; }
a:hover { color: var(--gold); }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid var(--aqua); outline-offset: 4px; border-radius: 3px; }
.skip-link { position: fixed; z-index: 100; top: .8rem; left: .8rem; transform: translateY(-180%); padding: .7rem 1rem; background: var(--paper); color: var(--ink); }
.skip-link:focus { transform: none; }
.ambient { position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(circle at 82% 12%, rgba(67, 142, 141, .15), transparent 28rem), radial-gradient(circle at 10% 55%, rgba(231, 189, 104, .08), transparent 25rem); }
.shell { width: min(1160px, calc(100% - 2rem)); margin-inline: auto; }
.site-header { width: min(1240px, calc(100% - 2rem)); min-height: 78px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; }
.brand span { display: grid; line-height: 1.05; }.brand strong { font-family: var(--serif); font-size: 1.35rem; letter-spacing: .08em; }.brand small { color: var(--gold); font-size: .67rem; letter-spacing: .2em; text-transform: uppercase; }
.site-header nav { display: flex; gap: 1.35rem; align-items: center; }.site-header nav a { text-decoration: none; color: var(--muted); font-size: .92rem; }.site-header nav a:hover { color: var(--paper); }
.site-header .nav-play { border: 1px solid var(--gold); color: var(--gold); padding: .5rem .9rem; }
.hero { position: relative; isolation: isolate; min-height: 650px; display: grid; grid-template-columns: 1.35fr .65fr; align-items: center; gap: clamp(2rem, 8vw, 8rem); padding-block: 6rem; }
.hero::before { content: ""; position: absolute; z-index: -2; inset-block: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: url("/static/nexo-hero-v1.webp") center 48% / cover no-repeat; }
.hero::after { content: ""; position: absolute; z-index: -1; inset-block: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: linear-gradient(90deg, rgba(7,12,17,.97) 0%, rgba(7,12,17,.85) 38%, rgba(7,12,17,.38) 68%, rgba(7,12,17,.72) 100%), linear-gradient(0deg, var(--night) 0%, transparent 22%, transparent 78%, rgba(17,26,36,.78) 100%); }
.hero-copy { text-shadow: 0 2px 24px rgba(0,0,0,.72); }
.hero h1, .page-hero h1, .article-page h1, .error-page h1 { margin: .25rem 0 1.25rem; font: 500 clamp(2.8rem, 7vw, 6.3rem)/.96 var(--serif); letter-spacing: -.04em; }
.lead { color: #d4dddf; font-size: clamp(1.05rem, 2vw, 1.28rem); max-width: 62ch; }.eyebrow { margin: 0 0 .55rem; color: var(--gold); font-size: .72rem; font-weight: 800; letter-spacing: .22em; }
.actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }.button { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; padding: .65rem 1.15rem; border: 1px solid transparent; text-decoration: none; cursor: pointer; font-weight: 750; }.button.primary { background: var(--gold); color: var(--ink); }.button.primary:hover { background: #f2d28f; color: var(--ink); }.button.ghost { border-color: rgba(245, 240, 230, .35); color: var(--paper); background: transparent; }.button.ink { background: var(--ink); color: var(--paper); }.button.danger { background: var(--danger); color: var(--ink); }
.nexus-card { position: relative; padding: 2rem; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(36, 56, 74, .84), rgba(12, 19, 27, .82)); box-shadow: var(--shadow); }.nexus-card::before { content: ""; position: absolute; inset: .55rem; border: 1px solid rgba(138, 211, 199, .12); pointer-events: none; }.status-line { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.6rem; }.status-dot { width: .75rem; height: .75rem; border-radius: 50%; background: #73808a; box-shadow: 0 0 0 4px rgba(115, 128, 138, .15); }.status-dot.online { background: var(--aqua); box-shadow: 0 0 0 4px rgba(138, 211, 199, .15), 0 0 20px rgba(138, 211, 199, .5); }.status-dot.offline { background: var(--danger); }
dl { margin: 0; }.nexus-card dl div, .facts div { display: flex; justify-content: space-between; gap: 1rem; padding: .72rem 0; border-bottom: 1px solid rgba(245,240,230,.1); }.nexus-card dt, .facts dt { color: var(--muted); }.nexus-card dd, .facts dd { margin: 0; font-weight: 700; text-align: right; }.nexus-card small { display: block; color: var(--muted); margin-top: 1.2rem; }
.event-ribbon { border-block: 1px solid var(--line); background: rgba(12,19,27,.75); }.ribbon-grid { min-height: 130px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 3rem; }.ribbon-grid h2 { margin: 0; font: 500 1.6rem var(--serif); }.ribbon-grid > a { color: var(--gold); }.countdown { color: var(--aqua); font-size: 1.15rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.section { padding-block: clamp(4rem, 9vw, 8rem); }.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.2rem; }.section h2, .herald-band h2, .admin-section h2 { margin: 0; font: 500 clamp(1.8rem, 4vw, 3.25rem)/1.05 var(--serif); }.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.feature-grid article, .record-card { padding: 2rem; background: rgba(26,41,55,.6); border: 1px solid rgba(245,240,230,.09); }.feature-grid h3 { font: 500 1.55rem var(--serif); }.feature-grid p, .section > p, .split > div > p { color: var(--muted); }.rune { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border: 1px solid var(--gold); color: var(--gold); transform: rotate(45deg); }.rune::first-letter { transform: rotate(-45deg); }
.split { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(2rem, 8vw, 7rem); }.stack { display: grid; gap: .7rem; }.realm-row { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 1.2rem; border-left: 2px solid var(--gold-dark); background: rgba(245,240,230,.045); text-decoration: none; }.realm-row span { display: grid; }.realm-row small { color: var(--muted); }.realm-row b { color: var(--gold); white-space: nowrap; }.text-link { color: var(--gold); font-weight: 700; }
.empty-state { display: grid; gap: .35rem; padding: 2rem; border: 1px dashed rgba(245,240,230,.25); color: var(--muted); }.empty-state strong { color: var(--paper); }.empty-state.degraded { border-color: rgba(236,143,128,.6); }.herald-band { padding-block: 4rem; color: var(--ink); background: var(--gold); }.herald-band .eyebrow { color: #60400f; }.herald-band p { color: #392d1c !important; }
.page-hero { padding-block: clamp(5rem, 11vw, 9rem) 3rem; border-bottom: 1px solid var(--line); }.page-hero h1 { font-size: clamp(2.7rem, 7vw, 5.5rem); }.page-hero > p:last-child { max-width: 70ch; color: var(--muted); font-size: 1.15rem; }.listing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.record-card h2 { margin: .2rem 0 .8rem; font: 500 1.55rem var(--serif); }.record-card p, .record-card small { color: var(--muted); }.record-card .rank { color: var(--gold); font: 500 2rem var(--serif); }
.article-page { max-width: 850px; padding-block: clamp(5rem, 11vw, 10rem); }.article-page h1 { font-size: clamp(2.6rem, 7vw, 5rem); }.facts { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; margin-block: 3rem; }.article-body { margin-block: 3rem; white-space: pre-line; font: 1.12rem/1.8 var(--serif); color: #e5e7df; }.correction, .notice { margin: 2rem 0; padding: 1.2rem; border-left: 4px solid var(--aqua); background: rgba(138,211,199,.1); }
.health-banner { display: flex; gap: 1rem; align-items: center; padding: 1.3rem; border: 1px solid var(--line); }.health-banner > div { display: grid; }.health-banner small { color: var(--muted); }.health-grid, .connection-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 1rem; }.health-grid article, .connection-grid article { display: grid; gap: .6rem; padding: 1.6rem; background: rgba(26,41,55,.65); }.health-grid h2 { margin: 0; font-size: .8rem; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; }.health-grid small { color: var(--muted); }.connection-grid { grid-template-columns: 1fr 1fr; }.connection-grid h2 { overflow-wrap: anywhere; font: 500 clamp(1.3rem, 4vw, 2.3rem) var(--serif); }.edition { color: var(--gold); letter-spacing: .2em; }.copy { justify-self: start; padding: .55rem .8rem; border: 1px solid var(--gold); color: var(--gold); background: transparent; cursor: pointer; }
.prose { max-width: 820px; padding-block: 3rem 7rem; }.prose h2 { margin: 2.4rem 0 .5rem; font: 500 1.8rem var(--serif); }.prose p, .prose li { color: #d3dcde; }.prose li + li { margin-top: .65rem; }.guide-steps { display: grid; gap: 1.1rem; }.guide-steps section { display: grid; grid-template-columns: auto 1fr; gap: 1.3rem; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }.guide-steps section > b { color: var(--gold); font: 500 1.8rem var(--serif); }.guide-steps h2 { margin-top: 0; }.map-frame { padding-block: 2rem 7rem; }.map-frame iframe { width: 100%; min-height: 70vh; border: 1px solid var(--line); background: var(--ink); }.site-footer { width: min(1240px, calc(100% - 2rem)); margin: 0 auto; padding-block: 2.5rem; display: flex; justify-content: space-between; gap: 2rem; border-top: 1px solid var(--line); color: var(--muted); }.site-footer > div { display: grid; }.site-footer nav { display: flex; flex-wrap: wrap; gap: .9rem; }
.error-page { min-height: 70vh; display: flex; flex-direction: column; justify-content: center; align-items: start; }.error-page > span { font: 500 clamp(5rem,18vw,13rem)/.7 var(--serif); color: rgba(231,189,104,.12); }.error-page code { overflow-wrap: anywhere; }
/* Admin */
.admin-body { background: #0b1219; }.admin-sidebar { position: fixed; inset: 0 auto 0 0; width: 260px; padding: 1.25rem; display: flex; flex-direction: column; background: #111d28; border-right: 1px solid var(--line); overflow-y: auto; }.admin-sidebar nav { display: grid; gap: .15rem; margin: 2rem 0; }.admin-sidebar nav a { padding: .48rem .65rem; color: var(--muted); text-decoration: none; border-left: 2px solid transparent; }.admin-sidebar nav a:hover { color: var(--paper); border-color: var(--gold); background: rgba(231,189,104,.06); }.link-button { margin-top: auto; border: 0; background: none; color: var(--muted); text-decoration: underline; cursor: pointer; }.admin-main { margin-left: 260px; min-height: 100vh; padding: 0 clamp(1rem,4vw,4rem) 5rem; }.admin-top { min-height: 70px; display: flex; justify-content: end; align-items: center; border-bottom: 1px solid rgba(245,240,230,.08); }.admin-top > div { display: grid; text-align: right; }.admin-top small { color: var(--muted); }.admin-heading { padding-block: 3rem 2rem; }.admin-heading h1 { margin: 0; font: 500 clamp(2.2rem,5vw,4rem) var(--serif); }.admin-heading > p:last-child { color: var(--muted); max-width: 70ch; }.admin-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .8rem; }.admin-grid article { display: grid; gap: .6rem; padding: 1.3rem; background: #152431; border: 1px solid rgba(245,240,230,.08); }.admin-grid small { color: var(--muted); }.health-text.healthy { color: var(--aqua); }.health-text.degraded { color: var(--danger); }.admin-section { margin-top: 2rem; padding: clamp(1rem,3vw,2rem); border: 1px solid rgba(245,240,230,.1); background: rgba(17,29,40,.7); }.admin-section .section-heading { margin-bottom: 1rem; }.module-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .6rem; }.module-grid a { display: grid; padding: 1rem; background: #172735; text-decoration: none; }.module-grid span { color: var(--gold); font-size: .8rem; }.table-wrap { max-width: 100%; overflow: auto; }.table-wrap table { width: 100%; border-collapse: collapse; font-size: .82rem; }.table-wrap th, .table-wrap td { max-width: 26rem; padding: .65rem; border-bottom: 1px solid rgba(245,240,230,.1); text-align: left; vertical-align: top; overflow-wrap: anywhere; }.table-wrap th { position: sticky; top: 0; background: #172735; color: var(--gold); }.action-catalog { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem 1rem; margin-bottom: 2rem; }.action-catalog code { color: var(--aqua); }.action-catalog span { color: var(--muted); }.form-stack { display: grid; gap: 1rem; }.form-stack label { display: grid; gap: .35rem; font-weight: 700; }.form-stack input, .form-stack textarea { width: 100%; padding: .72rem; border: 1px solid #486075; background: #0c151e; color: var(--paper); }.form-stack.wide { max-width: 780px; }.form-error { margin: 1rem 0; padding: 1rem; border-left: 4px solid var(--danger); background: rgba(236,143,128,.1); }.login-main { min-height: 100vh; display: grid; place-items: center; padding: 1rem; }.login-card { width: min(460px,100%); padding: clamp(1.4rem,5vw,3rem); border: 1px solid var(--line); background: #111d28; box-shadow: var(--shadow); }.login-card > img { margin-bottom: 1rem; }.login-card h1 { margin: 0; font: 500 2.5rem var(--serif); }.login-card > p { color: var(--muted); }.login-card .text-link { display: inline-block; margin-top: 1.5rem; }.preview-panel pre { max-height: 360px; overflow: auto; padding: 1rem; background: #0b1219; }.preview-panel dl div { margin-bottom: 1rem; }.preview-panel dt { color: var(--muted); }.preview-panel dd { margin: .25rem 0; }.preview-panel code { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .site-header { align-items: flex-start; padding-block: 1rem; }.site-header nav { max-width: 65%; flex-wrap: wrap; justify-content: end; gap: .7rem 1rem; }
  .hero, .split { grid-template-columns: 1fr; }.hero { min-height: auto; padding-block: 5rem; }.hero::after { background: linear-gradient(90deg, rgba(7,12,17,.94), rgba(7,12,17,.63)), linear-gradient(0deg, var(--night), transparent 30%, rgba(17,26,36,.7)); }.feature-grid, .listing-grid { grid-template-columns: 1fr 1fr; }.ribbon-grid { grid-template-columns: 1fr auto; padding-block: 1.5rem; }.ribbon-grid > a { grid-column: 1 / -1; }.admin-sidebar { position: static; width: auto; max-height: none; }.admin-sidebar nav { grid-template-columns: repeat(3,1fr); }.admin-main { margin-left: 0; }.admin-grid, .module-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .site-header { display: grid; gap: 1rem; }.site-header nav { max-width: none; justify-content: start; }.site-header nav a:not(.nav-play) { font-size: .82rem; }.hero h1 { font-size: 3rem; }.feature-grid, .listing-grid, .health-grid, .connection-grid, .facts { grid-template-columns: 1fr; }.ribbon-grid { grid-template-columns: 1fr; gap: 1rem; }.section-heading, .site-footer { align-items: start; flex-direction: column; }.admin-sidebar nav { grid-template-columns: 1fr 1fr; }.admin-grid, .module-grid { grid-template-columns: 1fr; }.action-catalog { grid-template-columns: 1fr; }.action-catalog span { margin-bottom: .5rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
