.ncs-page {
  --ncs-ink: #f3edff;
  --ncs-muted: #b9aecb;
  --ncs-line: #d8c8ff2b;
  --ncs-panel: #1c142a;
  --ncs-accent: #c6aaff;
  --ncs-input: #100b1b;
  color: var(--ncs-ink);
  padding-bottom: 90px;
}
html[data-faction="elyos"] .ncs-page {
  --ncs-ink: #1b354b;
  --ncs-muted: #526d80;
  --ncs-line: #4984ad48;
  --ncs-panel: #f8fcff;
  --ncs-accent: #247eae;
  --ncs-input: #fff;
}
.ncs-breadcrumb { display: flex; gap: 10px; align-items: center; padding: 20px 0 15px; color: var(--ncs-muted); font-size: 12px; }
.ncs-breadcrumb a { color: var(--ncs-accent); text-decoration: none; }
.ncs-breadcrumb a:hover { text-decoration: underline; }
.ncs-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); min-height: 290px; overflow: hidden; border: 1px solid var(--ncs-line); border-radius: 23px; background: #160e22; }
html[data-faction="elyos"] .ncs-hero { background: #e6f2fb; }
.ncs-hero-copy { align-self: center; padding: 35px 7%; }
.ncs-hero .eyebrow { margin: 0 0 13px; }
.ncs-hero h1 { margin: 0; font: 600 clamp(34px, 4.4vw, 60px)/1.1 Unbounded, Onest, sans-serif; letter-spacing: -.064em; }
.ncs-hero h1 span { color: var(--ncs-accent); }
.ncs-hero-copy > p:last-child { max-width: 590px; margin: 17px 0 0; color: var(--ncs-muted); font-size: 14px; line-height: 1.6; }
.ncs-hero-art { min-height: 290px; background: linear-gradient(90deg, #160e22, #160e2240 25%, #160e2200 70%), url('/img/art/w/crystal_cave-1600.webp') center / cover no-repeat; }
html[data-faction="elyos"] .ncs-hero-art { background: linear-gradient(90deg, #e6f2fb, #e6f2fb22 35%, #e6f2fb00 70%), url('/img/art/w/temple_light-1600.webp') center / cover no-repeat; }
.ncs-scope { display: grid; grid-template-columns: 220px 1fr; align-items: center; gap: 25px; margin: 14px 0 46px; padding: 18px 21px; border: 1px solid var(--ncs-line); border-radius: 12px; background: var(--ncs-panel); }
.ncs-scope strong { color: var(--ncs-accent); font: 600 15px/1.3 Unbounded, Onest, sans-serif; }
.ncs-scope p { margin: 0; color: var(--ncs-muted); font-size: 12px; line-height: 1.55; }
.ncs-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.ncs-heading .eyebrow { margin: 0 0 8px; }
.ncs-heading h2 { margin: 0; font: 560 clamp(22px, 2.8vw, 33px)/1.2 Unbounded, Onest, sans-serif; letter-spacing: -.055em; }
.ncs-heading > p { max-width: 360px; margin: 0 0 3px; color: var(--ncs-muted); font-size: 12px; text-align: right; }
.ncs-tools { display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: end; gap: 20px; padding: 17px; border: 1px solid var(--ncs-line); border-radius: 13px; background: var(--ncs-panel); }
.ncs-tools > label { display: flex; flex-direction: column; gap: 7px; min-width: 0; color: var(--ncs-muted); font-size: 12px; font-weight: 700; }
.ncs-tools input[type="search"] { width: 100%; min-width: 0; height: 45px; padding: 8px 12px; border: 1px solid var(--ncs-line); border-radius: 9px; outline: 0; background: var(--ncs-input); color: var(--ncs-ink); font: 500 13px Onest, sans-serif; }
.ncs-tools input[type="search"]:focus-visible { border-color: var(--ncs-accent); outline: 2px solid color-mix(in srgb, var(--ncs-accent) 24%, transparent); outline-offset: 1px; }
.ncs-tools :disabled { cursor: wait; opacity: .6; }
.ncs-tools fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.ncs-tools legend { margin: 0 0 7px; padding: 0; color: var(--ncs-muted); font-size: 12px; font-weight: 700; }
.ncs-switch { display: flex; height: 45px; padding: 4px; gap: 3px; border: 1px solid var(--ncs-line); border-radius: 9px; background: var(--ncs-input); }
.ncs-switch label { position: relative; cursor: pointer; }
.ncs-switch input { position: absolute; inset: 0; opacity: 0; }
.ncs-switch span { display: grid; place-items: center; height: 100%; padding: 0 12px; border-radius: 6px; color: var(--ncs-muted); font-size: 12px; font-weight: 650; white-space: nowrap; }
.ncs-switch input:checked + span { color: var(--ncs-ink); background: color-mix(in srgb, var(--ncs-accent) 21%, transparent); }
.ncs-switch input:focus-visible + span { outline: 2px solid var(--ncs-accent); outline-offset: -2px; }
.ncs-status { min-height: 20px; margin: 13px 2px; color: var(--ncs-muted); font-size: 12px; }
.ncs-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 13px; align-items: start; }
.ncs-record { min-width: 0; overflow: hidden; border: 1px solid var(--ncs-line); border-radius: 11px; background: var(--ncs-panel); }
.ncs-record[open] { border-color: var(--ncs-accent); }
.ncs-record summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 15px; min-height: 82px; padding: 14px 17px; list-style: none; cursor: pointer; }
.ncs-record summary::-webkit-details-marker { display: none; }
.ncs-record summary:hover .ncs-name { color: var(--ncs-accent); }
.ncs-record summary:focus-visible { outline: 2px solid var(--ncs-accent); outline-offset: -3px; }
.ncs-name { display: block; min-width: 0; color: var(--ncs-ink); font-size: 17px; font-weight: 720; line-height: 1.3; overflow-wrap: anywhere; }
.ncs-id { display: block; margin-top: 4px; color: var(--ncs-muted); font: 500 11px/1.3 Consolas, monospace; overflow-wrap: anywhere; }
.ncs-tags { display: flex; flex-wrap: wrap; justify-content: end; gap: 5px; }
.ncs-tags span { padding: 4px 7px; border: 1px solid var(--ncs-line); border-radius: 5px; color: var(--ncs-muted); font-size: 10px; white-space: nowrap; }
.ncs-tags .ncs-main { border-color: color-mix(in srgb, var(--ncs-accent) 50%, transparent); color: var(--ncs-accent); }
.ncs-tags .ncs-profile { border-color: color-mix(in srgb, #69bbda 55%, transparent); color: #93d6ed; }
html[data-faction="elyos"] .ncs-tags .ncs-profile { color: #216d95; }
.ncs-record > div { padding: 13px 17px 16px; border-top: 1px solid var(--ncs-line); }
.ncs-record > div p { margin: 0 0 11px; color: var(--ncs-muted); font-size: 12px; line-height: 1.5; }
.ncs-record dl { display: grid; gap: 6px; margin: 0; color: var(--ncs-muted); font-size: 11px; }
.ncs-record dl div { display: flex; gap: 8px; }
.ncs-record dt { flex: none; color: var(--ncs-accent); }
.ncs-record dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 900px) { .ncs-tools { grid-template-columns: 1fr; } .ncs-list { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
  .topbar nav { overflow-x: auto; justify-content: start; gap: 18px; padding-bottom: 6px; }
  .topbar nav a { flex: none; }
  .topbar .site-theme-switch { margin-left: 0; }
  .ncs-breadcrumb { padding-top: 14px; }
  .ncs-hero { grid-template-columns: 1fr; position: relative; min-height: 280px; border-radius: 18px; }
  .ncs-hero-copy { position: relative; z-index: 1; padding: 25px; }
  .ncs-hero h1 { font-size: clamp(24px, 6.8vw, 31px); line-height: 1.15; overflow-wrap: anywhere; }
  .ncs-hero-art { position: absolute; inset: 0; min-height: 0; opacity: .35; }
  .ncs-scope { grid-template-columns: 1fr; gap: 9px; margin-bottom: 35px; }
  .ncs-heading { flex-direction: column; align-items: start; gap: 7px; }
  .ncs-heading > p { text-align: left; }
  .ncs-switch { height: auto; flex-wrap: wrap; }
  .ncs-switch span { min-height: 35px; }
  .ncs-record summary { padding: 12px 13px; }
  .ncs-name { font-size: 15px; }
}
