:root {
  --bg: #050708;
  --bg-soft: #080b0d;
  --surface: rgba(11, 16, 18, .92);
  --surface-strong: #0c1214;
  --surface-soft: rgba(183, 255, 239, .035);
  --text: #effffb;
  --muted: #7f9994;
  --line: rgba(96, 241, 211, .14);
  --accent: #22efc4;
  --accent-2: #65ffdf;
  --accent-ink: #02110e;
  --success: #66f3a1;
  --danger: #ff6d78;
  --header: rgba(5, 8, 9, .91);
  --hero-bg: #050708;
  --shadow: 0 28px 80px rgba(0, 0, 0, .55);
  --radius: 4px;
  --font: "Inter", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

.theme-nocturne {
  color: var(--text);
  background: #050708;
}

.theme-nocturne .landing-shell {
  position: relative;
}

.theme-nocturne .landing-header {
  height: 72px;
  border-bottom: 1px solid rgba(71, 213, 187, .08);
}

.theme-nocturne .landing-header::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 18%;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, var(--accent));
}

.theme-nocturne .landing-header.is-scrolled {
  height: 62px;
  box-shadow: 0 15px 45px rgba(0, 0, 0, .35);
}

.theme-nocturne .brand-symbol {
  width: 37px;
  height: 37px;
  color: var(--accent);
  background: #08110f;
  border: 1px solid rgba(56, 243, 204, .46);
  border-radius: 2px;
  box-shadow: inset 0 0 18px rgba(34, 239, 196, .08), 0 0 25px rgba(34, 239, 196, .07);
}

.theme-nocturne .brand-symbol .brand-accent { fill: var(--text); }
.theme-nocturne .brand-copy strong { letter-spacing: .08em; }
.theme-nocturne .brand-copy small { color: var(--accent); font-family: var(--mono); }

.theme-nocturne .landing-nav a,
.theme-nocturne .nav-signin,
.theme-nocturne .theme-button,
.theme-nocturne .hero-kicker,
.theme-nocturne .section-tag,
.theme-nocturne .section-heading>div>span {
  font-family: var(--mono);
}

.theme-nocturne .landing-nav a::after {
  height: 1px;
  border-radius: 0;
}

.theme-nocturne .theme-button {
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(34, 239, 196, .08), 0 15px 35px rgba(0, 238, 190, .08);
}

.theme-nocturne .theme-button-secondary {
  color: var(--accent);
  background: transparent;
  border-color: rgba(34, 239, 196, .28);
}

.theme-nocturne .nav-toggle,
.theme-nocturne .back-top {
  border-radius: 1px;
}

.theme-nocturne .landing-hero {
  min-height: 900px;
  padding-top: 130px;
  background:
    linear-gradient(rgba(17, 59, 53, .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17, 59, 53, .12) 1px, transparent 1px),
    radial-gradient(circle at 74% 42%, rgba(14, 150, 126, .12), transparent 32rem),
    #050708;
  background-size: 54px 54px, 54px 54px, auto, auto;
}

.theme-nocturne .landing-hero::after {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  width: 58%;
  content: "";
  background: linear-gradient(180deg, transparent, rgba(34, 239, 196, .08), transparent);
  opacity: .45;
  transform: translateY(-90%);
  animation: nocturne-scan 7.5s linear infinite;
  pointer-events: none;
}

.theme-nocturne .hero-backdrop::before {
  top: 5%;
  left: 72%;
  width: 640px;
  height: 640px;
  opacity: .45;
}

.theme-nocturne .hero-backdrop span {
  border-color: rgba(39, 232, 195, .07);
  border-radius: 0;
  transform: rotate(45deg);
}

.theme-nocturne .hero-backdrop span:nth-child(1) { right: -310px; }
.theme-nocturne .hero-backdrop span:nth-child(2) { right: -70px; }

.theme-nocturne .hero-grid {
  grid-template-columns: minmax(0, .76fr) minmax(590px, 1.24fr);
  gap: 45px;
}

.theme-nocturne .hero-copy {
  position: relative;
  padding-left: 23px;
  text-align: left;
}

.theme-nocturne .hero-copy::before {
  position: absolute;
  top: 31px;
  bottom: 32px;
  left: 0;
  width: 1px;
  content: "";
  background: linear-gradient(var(--accent), rgba(34, 239, 196, .05));
}

.theme-nocturne .hero-kicker {
  color: #78ffe2;
  letter-spacing: .12em;
}

.theme-nocturne .hero-kicker>i {
  width: 6px;
  height: 6px;
  border-radius: 0;
  box-shadow: 0 0 14px var(--accent);
}

.theme-nocturne .hero-kicker b {
  color: var(--accent);
  background: rgba(34, 239, 196, .045);
  border-color: rgba(34, 239, 196, .2);
  border-radius: 1px;
  font-family: var(--mono);
}

.theme-nocturne .hero-copy h1 {
  margin-top: 28px;
  font-size: clamp(51px, 5.6vw, 78px);
  font-weight: 690;
  letter-spacing: -.055em;
}

.theme-nocturne .hero-copy h1 em {
  color: var(--accent);
  text-shadow: 0 0 45px rgba(34, 239, 196, .17);
}

.theme-nocturne .hero-copy>p {
  max-width: 520px;
  font-size: 14px;
}

.theme-nocturne .hero-trust i {
  color: var(--accent);
  background: transparent;
  border: 1px solid rgba(34, 239, 196, .25);
  border-radius: 1px;
}

.theme-nocturne .visual-aura {
  background: radial-gradient(circle, rgba(25, 239, 197, .16), transparent 64%);
  filter: blur(38px);
  opacity: .78;
}

.theme-nocturne .console-card {
  background: rgba(5, 10, 11, .96);
  border-color: rgba(54, 238, 201, .23);
  border-radius: 3px;
  box-shadow: 0 35px 100px rgba(0, 0, 0, .58), inset 0 0 80px rgba(22, 91, 79, .045);
  transform: none;
}

.theme-nocturne .console-card::before {
  position: absolute;
  z-index: 4;
  top: -1px;
  left: -1px;
  width: 82px;
  height: 2px;
  content: "";
  background: var(--accent);
  box-shadow: 0 0 18px rgba(34, 239, 196, .48);
}

.theme-nocturne .console-bar {
  height: 48px;
  background: #080d0e;
}

.theme-nocturne .console-dots i { border-radius: 0; }
.theme-nocturne .console-online { color: var(--accent); font-family: var(--mono); }
.theme-nocturne .console-avatar { color: var(--accent); background: rgba(34, 239, 196, .08); border: 1px solid rgba(34, 239, 196, .26); border-radius: 1px; }
.theme-nocturne .console-content { padding: 18px; }

.theme-nocturne .revenue-card,
.theme-nocturne .success-card,
.theme-nocturne .transaction-card {
  background: #080e0f;
  border-color: rgba(62, 197, 171, .13);
  border-radius: 2px;
}

.theme-nocturne .chart-area { fill: url("#area-nocturne"); }
.theme-nocturne .chart-line { filter: drop-shadow(0 0 4px rgba(34, 239, 196, .38)); }
.theme-nocturne .metric-icon { border-radius: 1px; }
.theme-nocturne .transaction-row em { border-radius: 1px; }

.theme-nocturne .visual-float {
  background: rgba(6, 13, 14, .97);
  border-color: rgba(54, 238, 201, .22);
  border-radius: 2px;
  box-shadow: 0 15px 45px rgba(0, 0, 0, .45);
}

.theme-nocturne .visual-float>i { border-radius: 1px; }
.theme-nocturne .channel-rail { border-color: rgba(34, 239, 196, .13); }
.theme-nocturne .channel-rail p { color: var(--accent); font-family: var(--mono); }

.theme-nocturne .landing-section {
  border-top: 1px solid rgba(34, 239, 196, .05);
}

.theme-nocturne .section-heading h2,
.theme-nocturne .network-copy h2,
.theme-nocturne .security-copy h2 {
  font-weight: 650;
}

.theme-nocturne .capabilities {
  background:
    linear-gradient(90deg, rgba(34, 239, 196, .02) 1px, transparent 1px),
    linear-gradient(rgba(34, 239, 196, .02) 1px, transparent 1px),
    #080b0d;
  background-size: 72px 72px;
}

.theme-nocturne .capability-grid { gap: 1px; background: rgba(45, 219, 187, .13); border: 1px solid rgba(45, 219, 187, .13); }
.theme-nocturne .capability-card { border: 0; border-radius: 0; box-shadow: none; background: #080d0f; }
.theme-nocturne .capability-card::after {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 20px;
  height: 20px;
  content: "";
  border-right: 1px solid rgba(34, 239, 196, .25);
  border-bottom: 1px solid rgba(34, 239, 196, .25);
}
.theme-nocturne .capability-main { background: linear-gradient(110deg, #080d0f, #091210); }
.theme-nocturne .card-index { color: var(--accent); font-family: var(--mono); }
.theme-nocturne .code-card { background: #030606; border-color: rgba(34, 239, 196, .17); border-radius: 1px; }
.theme-nocturne .route-mini i,
.theme-nocturne .route-mini b,
.theme-nocturne .route-mini em,
.theme-nocturne .ledger-mini { border-radius: 1px; }

.theme-nocturne .network {
  background:
    radial-gradient(circle at 75% 50%, rgba(21, 158, 130, .07), transparent 32rem),
    #050708;
}

.theme-nocturne .network-copy li>i,
.theme-nocturne .security-points i,
.theme-nocturne .security-points span { border-radius: 1px; }

.theme-nocturne .network-map {
  background: #070c0d;
  border-color: rgba(34, 239, 196, .2);
  border-radius: 2px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .45);
}

.theme-nocturne .map-grid {
  opacity: .55;
  background-image: linear-gradient(rgba(34, 239, 196, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(34, 239, 196, .08) 1px, transparent 1px);
  background-size: 30px 30px;
}

.theme-nocturne .map-source,
.theme-nocturne .map-engine,
.theme-nocturne .map-channel {
  background: #08100f;
  border-color: rgba(34, 239, 196, .2);
  border-radius: 1px;
}

.theme-nocturne .map-engine { border-radius: 50%; }

.theme-nocturne .security {
  background: #080b0d;
}

.theme-nocturne .security-orbit { border-color: rgba(34, 239, 196, .14); border-radius: 0; transform: translate(-50%, -50%) rotate(45deg); }
.theme-nocturne .orbit-b { animation: nocturne-orbit 28s linear infinite; }
.theme-nocturne .security-core { border-radius: 2px; background: #080f10; border-color: rgba(34, 239, 196, .22); box-shadow: 0 0 80px rgba(34, 239, 196, .08); }
.theme-nocturne .security-core>span,
.theme-nocturne .security-chip { border-radius: 1px; }
.theme-nocturne .security-chip { background: #08100f; border-color: rgba(34, 239, 196, .17); }

.theme-nocturne .step-grid { gap: 1px; background: rgba(45, 219, 187, .12); }
.theme-nocturne .step-grid article { border: 0; border-radius: 0; background: #080d0f; }
.theme-nocturne .step-grid article>i { border-radius: 1px; font-family: var(--mono); }

.theme-nocturne .cta-card {
  background:
    linear-gradient(rgba(34, 239, 196, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34, 239, 196, .055) 1px, transparent 1px),
    linear-gradient(120deg, #07100f, #0a1916);
  background-size: 28px 28px, 28px 28px, auto;
  border-color: rgba(34, 239, 196, .22);
  border-radius: 2px;
}

.theme-nocturne .cta-card::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 120px;
  height: 2px;
  content: "";
  background: var(--accent);
  box-shadow: 0 0 22px rgba(34, 239, 196, .5);
}

.theme-nocturne .landing-footer { background: #030505; }

@keyframes nocturne-scan {
  to { transform: translateY(100%); }
}

@keyframes nocturne-orbit {
  to { transform: translate(-50%, -50%) rotate(405deg); }
}

@media (max-width: 1120px) {
  .theme-nocturne .hero-grid { grid-template-columns: minmax(0, .72fr) minmax(520px, 1.28fr); gap: 24px; }
}

@media (max-width: 900px) {
  .theme-nocturne .landing-header { height: 68px; }
  .theme-nocturne .landing-nav { background: rgba(5, 9, 10, .98); }
  .theme-nocturne .hero-grid { grid-template-columns: 1fr; }
  .theme-nocturne .hero-copy { max-width: 680px; padding-left: 0; text-align: center; }
  .theme-nocturne .hero-copy::before { display: none; }
  .theme-nocturne .hero-kicker,
  .theme-nocturne .hero-actions,
  .theme-nocturne .hero-trust { justify-content: center; }
  .theme-nocturne .hero-copy>p { margin: 0 auto; }
}

@media (max-width: 640px) {
  .theme-nocturne .landing-hero {
    background-size: 34px 34px, 34px 34px, auto, auto;
  }
  .theme-nocturne .landing-hero::after { width: 100%; opacity: .24; }
  .theme-nocturne .hero-copy h1 { font-size: 43px; }
  .theme-nocturne .capability-grid,
  .theme-nocturne .step-grid { gap: 1px; }
}

@media (max-width: 390px) {
  .theme-nocturne .hero-copy h1 { font-size: 40px; }
  .theme-nocturne .hero-copy>p { font-size: 12px; }
  .theme-nocturne .console-content { padding: 11px; }
  .theme-nocturne .channel-rail>div { gap: 17px; }
}

@media (max-width: 330px) {
  .theme-nocturne .hero-copy h1 { font-size: 36px; }
  .theme-nocturne .hero-trust span:last-child { display: none; }
  .theme-nocturne .hero-kicker { font-size: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-nocturne .landing-hero::after,
  .theme-nocturne .orbit-b { animation: none; }
}
