:root {
  --bg: #121512;
  --bg-deep: #0d0f0e;
  --panel: #171a18;
  --panel-2: #1d211e;
  --text: #f1f4ef;
  --muted: #949b94;
  --soft: #6e766f;
  --line: rgba(255,255,255,.08);
  --line-strong: rgba(255,255,255,.13);
  --accent: #85c8ff;
  --accent-2: #4e8ee8;
  --accent-soft: #c9e8ff;
  --success: #80d7a4;
  --warning: #d8bf78;
  --danger: #ff858c;
  --max: 1160px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ease: cubic-bezier(.2,.72,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button,input { font: inherit; }
img { display: block; max-width: 100%; }
button,a,input { -webkit-tap-highlight-color: transparent; }
.site-shell,.page { min-height: 100vh; }
.container { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.page { animation: pageFade .28s ease both; }

/* Quiet header — intentionally secondary to the landing hero. */
.topbar {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 50;
  background: transparent;
}
.topbar-inner {
  min-height: 72px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 22px;
}
.brand {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 10px;
  color: rgba(241,244,239,.88);
}
.brand-mark { width: 28px; height: 28px; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand-word { display: flex; align-items: baseline; gap: 8px; }
.brand-name { font-size: .82rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.brand-sub { color: var(--soft); font-size: .64rem; letter-spacing: .11em; text-transform: uppercase; }
.nav { display: contents; }
.nav-link {
  color: rgba(214,219,214,.58);
  font-size: .73rem;
  transition: color .16s ease;
}
.nav-link:hover,.nav-link.is-active { color: rgba(245,248,244,.94); }
.nav-link:nth-child(1) { display:none; }
.nav-link:nth-child(2), .nav-link:nth-child(3) { display:none; }
.nav-link:nth-child(4) { grid-column: 2; justify-self:center; }
.nav-cta {
  grid-column: 3;
  justify-self: end;
  margin: 0;
  min-height: 34px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  font-size: .69rem;
  font-weight: 720;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 19px;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 650;
  font-size: .88rem;
  letter-spacing: -.01em;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease, opacity .16s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn:disabled { opacity: .58; cursor:not-allowed; transform:none; }
.btn-primary {
  color: #08121a;
  background: linear-gradient(180deg, #a8dcff, #73b9ee);
  border-color: rgba(185,226,255,.62);
  box-shadow: inset 0 1px rgba(255,255,255,.36), 0 8px 26px rgba(35,100,154,.12);
}
.btn-primary:hover { background: linear-gradient(180deg, #b9e4ff, #80c4f5); }
.btn-ghost,.btn-secondary {
  color: rgba(235,239,234,.72);
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.07);
}
.btn-ghost:hover,.btn-secondary:hover { color: #fff; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.11); }
.btn-wide { width: 100%; }

/* Home */
.home-main { min-height:100vh; background: #111411; }
.prime-hero {
  position: relative;
  min-height: 535px;
  height: min(59vh, 640px);
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 38%, rgba(55,101,128,.15) 0%, rgba(34,58,65,.11) 29%, transparent 63%),
    linear-gradient(100deg, #121512 0%, #171c19 33%, #172019 55%, #111411 100%);
  border-bottom: 1px solid rgba(255,255,255,.035);
}
.prime-hero::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.14), transparent 26%, transparent 72%, rgba(0,0,0,.18)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.006) 0 1px, transparent 1px 94px);
  opacity:.72;
}
.prime-glow {
  position:absolute;
  border-radius:50%;
  filter:blur(75px);
  opacity:.22;
  pointer-events:none;
}
.prime-glow-a { width:410px; height:410px; left:9%; top:18%; background:#416e80; }
.prime-glow-b { width:370px; height:370px; right:10%; top:15%; background:#2c5948; opacity:.16; }
.prime-specks { position:absolute; inset:0; pointer-events:none; z-index:1; }
.prime-specks i {
  position:absolute;
  width:7px; height:7px;
  border-radius:1px;
  background:rgba(138,202,255,.13);
  box-shadow:0 0 18px rgba(106,180,238,.08);
  transform:rotate(26deg);
  animation: drift 8s ease-in-out infinite alternate;
}
.prime-specks i:nth-child(1){left:3%;top:38%;animation-delay:-2s}.prime-specks i:nth-child(2){left:9%;top:70%;width:4px;height:4px}.prime-specks i:nth-child(3){left:23%;top:24%;animation-delay:-5s}.prime-specks i:nth-child(4){left:37%;top:67%;width:5px;height:5px;animation-delay:-1s}.prime-specks i:nth-child(5){left:51%;top:12%;width:4px;height:4px}.prime-specks i:nth-child(6){left:58%;top:77%;animation-delay:-6s}.prime-specks i:nth-child(7){left:64%;top:25%;width:5px;height:5px}.prime-specks i:nth-child(8){left:72%;top:18%;width:4px;height:4px;animation-delay:-4s}.prime-specks i:nth-child(9){left:80%;top:69%;animation-delay:-7s}.prime-specks i:nth-child(10){left:89%;top:39%;width:5px;height:5px}.prime-specks i:nth-child(11){left:94%;top:22%;width:4px;height:4px;animation-delay:-3s}.prime-specks i:nth-child(12){left:97%;top:74%;width:4px;height:4px;animation-delay:-8s}
.prime-hero-inner {
  position:relative;
  z-index:2;
  width:min(calc(100% - 44px), 1000px);
  margin-top:24px;
  text-align:center;
}
.prime-kicker {
  margin-bottom: 5px;
  color: rgba(210,224,235,.72);
  font-size: clamp(.82rem,1.1vw,1rem);
  font-weight: 760;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.prime-title { margin:0; line-height:.91; text-transform:uppercase; letter-spacing:-.055em; }
.prime-title span {
  display:block;
  color:#eef2eb;
  font-size:clamp(2.15rem,4.2vw,4.55rem);
  font-weight:800;
}
.prime-title strong {
  display:block;
  margin-top:4px;
  color:#cfeaff;
  text-shadow:0 0 32px rgba(102,178,235,.08);
  font-size:clamp(3.4rem,7.4vw,7.3rem);
  font-weight:850;
}
.prime-copy {
  max-width:650px;
  margin:20px auto 0;
  color:rgba(203,210,203,.64);
  font-size:.91rem;
  line-height:1.62;
}
.prime-actions { margin-top:17px; display:flex; justify-content:center; gap:11px; flex-wrap:wrap; }
.home-intro-item { opacity:0; transform:translateY(12px); }
.home-main.is-intro-ready .home-intro-item { animation:homeIn .5s var(--ease) forwards; }
.home-main.is-intro-ready .home-intro-item:nth-child(2){animation-delay:.06s}.home-main.is-intro-ready .home-intro-item:nth-child(3){animation-delay:.11s}.home-main.is-intro-ready .home-intro-item:nth-child(4){animation-delay:.16s}

.quick-start { background:#111311; border-bottom:1px solid rgba(255,255,255,.035); }
.quick-start-grid {
  min-height: 230px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:56px;
  align-items:center;
  padding-top:44px;
  padding-bottom:44px;
}
.quick-step { display:grid; grid-template-columns:48px 1fr; gap:17px; align-items:start; }
.quick-number { color:rgba(91,149,219,.58); font-size:3.35rem; line-height:.8; font-weight:800; letter-spacing:-.06em; }
.quick-step h2 { margin:0 0 6px; color:rgba(237,240,236,.72); font-size:.98rem; font-weight:700; }
.quick-step p { margin:0; color:rgba(157,164,157,.62); font-size:.84rem; line-height:1.38; }
.quick-step strong { color:rgba(204,213,205,.78); font-weight:700; }

.prime-about { padding:88px 0 92px; background:#111311; }
.prime-about-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:85px; align-items:end; }
.section-label { display:block; margin-bottom:13px; color:rgba(126,185,230,.72); font-size:.72rem; font-weight:780; letter-spacing:.15em; }
.prime-about-copy h2 { margin:0; font-size:clamp(2rem,3.3vw,3.3rem); line-height:1.02; letter-spacing:-.045em; }
.prime-about-copy p { max-width:650px; margin:18px 0 0; color:rgba(171,179,171,.65); font-size:.94rem; line-height:1.68; }
.text-link { display:inline-flex; align-items:center; gap:8px; margin-top:24px; color:rgba(206,230,247,.82); font-size:.85rem; font-weight:650; }
.text-link span { transition:transform .16s ease; }.text-link:hover span{transform:translateX(3px)}
.stack-list { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.stack-chip {
  min-height:94px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.035);
  background:rgba(255,255,255,.015);
}
.stack-chip span { color:rgba(229,235,230,.86); font-size:1.7rem; font-weight:850; letter-spacing:-.06em; }
.stack-chip b { color:rgba(129,138,130,.62); font-size:.62rem; letter-spacing:.09em; font-weight:740; }

.prime-cta { padding:0 0 82px; background:#111311; }
.prime-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:25px; padding-top:35px; border-top:1px solid var(--line); }
.prime-cta h2 { margin:0; font-size:clamp(1.5rem,2.6vw,2.4rem); letter-spacing:-.035em; }
.prime-footer { border-top:1px solid rgba(255,255,255,.045); background:#0e100f; }
.prime-footer-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#666e67; font-size:.75rem; }
.footer-brand { display:inline-flex; align-items:center; gap:8px; color:#a7aea8; font-weight:700; }.footer-brand img{width:23px;height:23px;object-fit:contain}

/* Live status */
.status-page { min-height:100vh; padding:116px 24px 80px; background:linear-gradient(180deg,#131614,#0e100f); }
.status-wrap { width:min(100%,760px); margin:0 auto; }
.status-back { display:inline-block; margin-bottom:38px; color:#7e877f; font-size:.78rem; }
.status-back:hover { color:#ccd2cc; }
.status-title-row { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; }
.status-kicker { color:#7fb8df; font-size:.72rem; font-weight:760; letter-spacing:.14em; text-transform:uppercase; }
.status-title-row h1 { margin:5px 0 0; font-size:clamp(2.25rem,5vw,4rem); letter-spacing:-.055em; line-height:.96; }
.status-mark { width:52px; height:52px; opacity:.78; }.status-mark img{width:100%;height:100%;object-fit:contain}
.overall-status { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; border-top:1px solid var(--line-strong); border-bottom:1px solid var(--line); }
.overall-status-main,.live-service-name { display:flex; align-items:center; gap:11px; }
.overall-status strong { font-size:.94rem; }
.overall-status-time { color:#6e776f; font-size:.75rem; }
.live-dot { width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:#69716a; box-shadow:0 0 0 4px rgba(255,255,255,.025); }
.live-dot.up { background:var(--success); box-shadow:0 0 0 4px rgba(128,215,164,.07); }.live-dot.down{background:var(--danger);box-shadow:0 0 0 4px rgba(255,133,140,.07)}.live-dot.checking{background:#89918a;animation:pulse 1.2s ease infinite}
.live-services { margin-top:38px; }.live-services h2 { margin:0 0 9px; color:#7e877f; font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; }
.live-service-list { border-top:1px solid var(--line); }
.live-service-row { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:58px; border-bottom:1px solid var(--line); }
.live-service-name { color:#c8cec8; font-size:.88rem; }.live-state { color:#7a837b; font-size:.76rem; }.live-state.up{color:#91cda8}.live-state.down{color:#e48d92}
.status-note { margin:21px 0 0; color:#596159; font-size:.72rem; line-height:1.55; }

/* Registration */
.register-main { min-height:100vh; padding-top:72px; background:linear-gradient(110deg,#111411 0%,#151a16 47%,#101210 100%); }
.auth-layout { width:min(100%,1180px); min-height:calc(100vh - 72px); margin:auto; display:grid; grid-template-columns:minmax(300px,.92fr) minmax(420px,1.08fr); }
.auth-brand-panel { position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:40px; padding:72px 60px; border-right:1px solid var(--line); overflow:hidden; }
.auth-brand-panel::before { content:""; position:absolute; width:430px;height:430px;left:-220px;bottom:-200px;border-radius:50%;background:radial-gradient(circle,rgba(85,154,204,.15),transparent 68%);filter:blur(20px); }
.auth-brand-copy,.auth-small{position:relative;z-index:1}.auth-mark{width:76px;height:76px}.auth-mark img{width:100%;height:100%;object-fit:contain}.auth-brand-copy h1{margin:30px 0 0;font-size:clamp(2.35rem,4.2vw,4.4rem);line-height:.92;letter-spacing:-.055em;text-transform:uppercase}.auth-brand-copy p{max-width:440px;margin:19px 0 0;color:#858d86;font-size:.9rem;line-height:1.62}.auth-small{color:#5d655e;font-size:.72rem}
.auth-form-panel { display:grid; place-items:center; padding:60px 72px; }.auth-card{width:min(100%,470px)}.auth-kicker{color:#83bce4;font-size:.7rem;font-weight:760;letter-spacing:.14em;text-transform:uppercase}.auth-title{margin:8px 0 0;font-size:clamp(2rem,3.2vw,2.85rem);letter-spacing:-.045em}.auth-desc{margin:12px 0 29px;color:#858d86;font-size:.9rem;line-height:1.6}
.form-group{display:grid;gap:8px;margin-bottom:17px}.form-label{color:#cbd1cb;font-size:.79rem;font-weight:650}.input{width:100%;min-height:50px;padding:0 14px;color:#eef1ed;background:#121512;border:1px solid rgba(255,255,255,.1);border-radius:8px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.input::placeholder{color:#565f57}.input:focus{border-color:rgba(127,185,226,.58);box-shadow:0 0 0 3px rgba(95,155,198,.07)}.helper{color:#5e675f;font-size:.72rem;line-height:1.45}.status-box,.error-box,.success-box{margin:0 0 19px;padding:13px 14px;border-radius:8px;font-size:.82rem;line-height:1.5}.status-box{color:#bac1bb;background:rgba(255,255,255,.025);border:1px solid var(--line)}.error-box{color:#ffc5c9;background:rgba(188,76,84,.08);border:1px solid rgba(255,133,140,.18)}.success-box{color:#c8efd6;background:rgba(74,148,103,.08);border:1px solid rgba(128,215,164,.16)}.auth-meta{display:flex;gap:10px 18px;flex-wrap:wrap;margin-top:18px;color:#596159;font-size:.7rem}.auth-meta span{display:inline-flex;align-items:center;gap:7px}.auth-meta span::before{content:"";width:4px;height:4px;border-radius:50%;background:#606a61}.success-actions{margin-top:18px}

.reveal { opacity:0; transform:translateY(15px); transition:opacity .58s var(--ease),transform .58s var(--ease); }.reveal.is-visible{opacity:1;transform:none}
@keyframes homeIn { to{opacity:1;transform:none} }
@keyframes drift { from{transform:translateY(-6px) rotate(26deg)} to{transform:translateY(8px) rotate(34deg)} }
@keyframes pulse { 50%{opacity:.45} }
@keyframes pageFade { from{opacity:0} to{opacity:1} }

@media (prefers-reduced-motion: reduce) { *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.home-intro-item,.reveal{opacity:1;transform:none} }

@media (max-width:900px) {
  .brand-sub{display:none}.prime-hero{min-height:570px;height:auto;padding:118px 0 72px}.quick-start-grid{grid-template-columns:1fr;gap:34px;min-height:0}.quick-step{grid-template-columns:44px 1fr}.prime-about-grid{grid-template-columns:1fr;gap:50px}.stack-list{max-width:560px}.auth-layout{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-form-panel{min-height:calc(100vh - 72px);padding:60px 24px}
}
@media (max-width:620px) {
  .container{width:min(calc(100% - 32px),var(--max))}.topbar-inner{min-height:62px;grid-template-columns:1fr auto}.brand{grid-column:1}.nav-link:nth-child(4){grid-column:2}.nav-cta{display:none}.prime-hero{min-height:520px;padding:105px 0 62px}.prime-title span{font-size:clamp(1.75rem,8vw,2.4rem)}.prime-title strong{font-size:clamp(3rem,15.5vw,4.8rem)}.prime-copy{font-size:.84rem}.prime-actions .btn{min-width:140px}.quick-start-grid{padding-top:46px;padding-bottom:46px}.quick-number{font-size:2.8rem}.prime-about{padding:70px 0}.stack-list{grid-template-columns:repeat(2,1fr)}.prime-cta-inner{align-items:flex-start;flex-direction:column}.prime-footer-inner{min-height:92px;align-items:flex-start;justify-content:center;flex-direction:column;padding:20px 0}.status-page{padding:98px 18px 60px}.overall-status{align-items:flex-start;flex-direction:column}.auth-form-panel{padding:42px 20px}.status-title-row h1{font-size:2.7rem}
}
