:root[data-theme="nlm-light"] {
  color-scheme: light;
  --font-ui: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --radius-card: 8px;
  --radius-control: 10px;
  --control-min-height: 44px;
  --bg-base: #e7f0f7;
  --bg-alt: #f2f6fa;
  --bg-soft: #dce6f1;
  --bg-radial-a: rgba(49, 89, 138, 0.08);
  --bg-radial-b: rgba(141, 166, 196, 0.16);
  --page-bg-overlay: linear-gradient(135deg, #f3f7fb 0%, #e9f2f8 48%, #dce7f1 100%);
  --text: #14294b;
  --muted: #4f6178;
  --heading-text: #14294b;
  --link-text: #315a8b;
  --card: #f8fbff;
  --card-soft: #f2f7fb;
  --card-border: rgba(158, 183, 208, 0.82);
  --card-shadow: 0 10px 28px rgba(42, 74, 106, 0.12);
  --line-accent: rgba(49, 89, 138, 0.48);
  --pill-bg: #edf4fb;
  --pill-border: rgba(158, 183, 208, 0.78);
  --pill-text: #14335b;
  --badge-bg: #edf4fb;
  --badge-border: rgba(158, 183, 208, 0.8);
  --badge-text: #14294b;
  --chip-bg: #edf4fb;
  --chip-border: rgba(158, 183, 208, 0.8);
  --chip-label: #50657d;
  --chip-text: #14294b;
  --chip-line: #4f6178;
  --input-bg: #f8fbff;
  --input-border: rgba(158, 183, 208, 0.92);
  --input-text: #14294b;
  --input-placeholder: rgba(79, 97, 120, 0.82);
  --select-arrow: #14294b;
  --focus: #315a8b;
  --focus-shadow: rgba(49, 89, 138, 0.22);
  --btn-bg-a: #edf4fb;
  --btn-bg-b: #e4edf6;
  --btn-border: #9eb7d0;
  --btn-text: #14294b;
  --btn-hover-shadow: rgba(49, 89, 138, 0.18);
  --control-bg: #edf4fb;
  --control-bg-hover: #e0ebf5;
  --control-active-bg: #315a8b;
  --control-active-text: #ffffff;
  --ghost-bg: #edf4fb;
  --ghost-text: #143a62;
  --ghost-border: rgba(158, 183, 208, 0.8);
  --pre-bg: #eef4fa;
  --pre-border: rgba(158, 183, 208, 0.78);
  --pre-text: #14294b;
  --pre-wrap-bg: #eef4fa;
  --pre-wrap-border: rgba(158, 183, 208, 0.78);
  --pre-header-text: #14294b;
  --pre-fade-bg: #eef4fa;
  --section-bg: #f8fbff;
  --section-border: rgba(158, 183, 208, 0.8);
  --table-bg: #f8fbff;
  --table-head-bg: #dce7f1;
  --table-head-text: #14294b;
  --table-row-hover: #edf4fb;
  --table-border: rgba(158, 183, 208, 0.66);
  --fullscreen-bg: #f3f7fb;
  --success-text: #1f6f50;
  --success-bg: rgba(61, 152, 111, 0.2);
  --success-border: rgba(61, 152, 111, 0.34);
  --warn-text: #6d5728;
  --warn-bg: rgba(213, 170, 80, 0.24);
  --warn-border: rgba(180, 135, 44, 0.34);
  --danger-text: #7a2437;
  --danger-bg: rgba(227, 28, 61, 0.18);
  --danger-border: rgba(227, 28, 61, 0.34);
  --tab-strip-line: rgba(110, 144, 179, 0.72);
  --tab-border: rgba(158, 183, 208, 0.94);
  --tab-text: #153e67;
  --tab-bg: linear-gradient(180deg, #f2f6fa, #e4edf6);
  --tab-inset: rgba(255, 255, 255, 0.72);
  --tab-hover-outline: rgba(49, 89, 138, 0.34);
  --tab-active-bg: linear-gradient(180deg, #315a8b, #294f7d);
  --tab-active-border: rgba(255, 255, 255, 0.86);
  --tab-active-text: #ffffff;
  --tab-active-inset: rgba(204, 227, 250, 0.52);
  --tab-active-under: #6e90b3;
  --auth-bg-a: #f3f7fb;
  --auth-bg-b: #e9f2f8;
  --auth-bg-c: #dce7f1;
  --auth-card-bg: #f8fbff;
  --auth-card-border: rgba(158, 183, 208, 0.82);
  --auth-kicker: #315a8b;
  --auth-glow-a: rgba(49, 89, 138, 0.08);
  --auth-glow-b: rgba(141, 166, 196, 0.14);
  --auth-text: #14294b;
}

:root[data-theme="nlm-dark"] {
  color-scheme: dark;
  --font-ui: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --radius-card: 8px;
  --radius-control: 10px;
  --control-min-height: 44px;
  --bg-base: #07182a;
  --bg-alt: #0e2742;
  --bg-soft: #183d63;
  --bg-radial-a: rgba(111, 169, 224, 0.16);
  --bg-radial-b: rgba(49, 89, 138, 0.22);
  --page-bg-overlay: linear-gradient(135deg, #07182a 0%, #0b2038 52%, #081422 100%);
  --text: #f2f7fc;
  --muted: #b8c7d8;
  --heading-text: #ffffff;
  --link-text: #b9d9ff;
  --card: #0d2238;
  --card-soft: #102b47;
  --card-border: rgba(103, 143, 181, 0.58);
  --card-shadow: 0 16px 38px rgba(0, 0, 0, 0.34);
  --line-accent: rgba(131, 184, 236, 0.58);
  --pill-bg: rgba(28, 66, 102, 0.84);
  --pill-border: rgba(103, 143, 181, 0.68);
  --pill-text: #e1f0ff;
  --badge-bg: rgba(22, 52, 82, 0.88);
  --badge-border: rgba(103, 143, 181, 0.68);
  --badge-text: #f2f7fc;
  --chip-bg: rgba(17, 45, 74, 0.94);
  --chip-border: rgba(103, 143, 181, 0.66);
  --chip-label: #acc2d8;
  --chip-text: #f2f7fc;
  --chip-line: #d3e4f5;
  --input-bg: #0a1c30;
  --input-border: rgba(103, 143, 181, 0.72);
  --input-text: #f2f7fc;
  --input-placeholder: rgba(184, 199, 216, 0.8);
  --select-arrow: #d3e4f5;
  --focus: #83b8ec;
  --focus-shadow: rgba(131, 184, 236, 0.28);
  --btn-bg-a: #183d63;
  --btn-bg-b: #123252;
  --btn-border: rgba(131, 164, 197, 0.78);
  --btn-text: #f2f7fc;
  --btn-hover-shadow: rgba(0, 0, 0, 0.28);
  --control-bg: #183d63;
  --control-bg-hover: #214f7f;
  --control-active-bg: #6e90b3;
  --control-active-text: #ffffff;
  --ghost-bg: rgba(28, 66, 102, 0.62);
  --ghost-text: #e1f0ff;
  --ghost-border: rgba(103, 143, 181, 0.62);
  --pre-bg: #081727;
  --pre-border: rgba(103, 143, 181, 0.48);
  --pre-text: #dcecff;
  --pre-wrap-bg: #081727;
  --pre-wrap-border: rgba(103, 143, 181, 0.48);
  --pre-header-text: #dcecff;
  --pre-fade-bg: #081727;
  --section-bg: #0d2238;
  --section-border: rgba(103, 143, 181, 0.5);
  --table-bg: #0d2238;
  --table-head-bg: #183d63;
  --table-head-text: #f2f7fc;
  --table-row-hover: #123252;
  --table-border: rgba(103, 143, 181, 0.36);
  --fullscreen-bg: #07182a;
  --success-text: #9af3c8;
  --success-bg: rgba(23, 117, 77, 0.36);
  --success-border: rgba(120, 234, 182, 0.48);
  --warn-text: #ffe7a8;
  --warn-bg: rgba(124, 91, 27, 0.42);
  --warn-border: rgba(244, 195, 93, 0.46);
  --danger-text: #ffc4cf;
  --danger-bg: rgba(131, 25, 46, 0.44);
  --danger-border: rgba(245, 123, 145, 0.52);
  --tab-strip-line: rgba(103, 143, 181, 0.74);
  --tab-border: rgba(103, 143, 181, 0.82);
  --tab-text: #e1f0ff;
  --tab-bg: linear-gradient(180deg, #143654, #102b47);
  --tab-inset: rgba(190, 216, 239, 0.2);
  --tab-hover-outline: rgba(131, 184, 236, 0.52);
  --tab-active-bg: linear-gradient(180deg, #6e90b3, #54769e);
  --tab-active-border: rgba(255, 255, 255, 0.9);
  --tab-active-text: #ffffff;
  --tab-active-inset: rgba(255, 255, 255, 0.62);
  --tab-active-under: #b9d9ff;
  --auth-bg-a: #07182a;
  --auth-bg-b: #0e2742;
  --auth-bg-c: #081422;
  --auth-card-bg: #0d2238;
  --auth-card-border: rgba(103, 143, 181, 0.58);
  --auth-kicker: #b9d9ff;
  --auth-glow-a: rgba(131, 184, 236, 0.16);
  --auth-glow-b: rgba(49, 89, 138, 0.22);
  --auth-text: #f2f7fc;
}

:root[data-theme="nlm-508"] {
  color-scheme: dark;
  --bg-base: #000000;
  --bg-alt: #0a0a0a;
  --bg-soft: #10243f;
  --bg-radial-a: rgba(0, 113, 188, 0.32);
  --bg-radial-b: rgba(2, 191, 231, 0.24);
  --page-bg-overlay: linear-gradient(120deg, rgba(0, 0, 0, 0.98), rgba(0, 10, 24, 0.96) 48%, rgba(0, 0, 0, 0.98));
  --text: #ffffff;
  --muted: #e5e7eb;
  --heading-text: #ffffff;
  --link-text: #ffffff;
  --card: rgba(0, 0, 0, 0.98);
  --card-soft: rgba(5, 8, 13, 0.98);
  --card-border: #8ab4ff;
  --card-shadow: 0 0 0 2px rgba(138, 180, 255, 0.35);
  --line-accent: #00e5ff;
  --pill-bg: rgba(0, 229, 255, 0.22);
  --pill-border: #00e5ff;
  --pill-text: #ffffff;
  --badge-bg: #000000;
  --badge-border: #8ab4ff;
  --badge-text: #ffffff;
  --chip-bg: #000000;
  --chip-border: #8ab4ff;
  --chip-label: #e5e7eb;
  --chip-text: #ffffff;
  --chip-line: #e5e7eb;
  --input-bg: #000000;
  --input-border: #8ab4ff;
  --input-text: #ffffff;
  --input-placeholder: #d1d5db;
  --select-arrow: #ffffff;
  --focus: #ffbf47;
  --focus-shadow: rgba(255, 191, 71, 0.5);
  --btn-bg-a: #ffd400;
  --btn-bg-b: #e4be00;
  --btn-border: #ffffff;
  --btn-text: #000000;
  --btn-hover-shadow: rgba(255, 212, 0, 0.28);
  --control-bg: #001a3a;
  --control-bg-hover: #10243f;
  --control-active-bg: #ffd400;
  --control-active-text: #000000;
  --ghost-bg: #001a3a;
  --ghost-text: #ffffff;
  --ghost-border: #8ab4ff;
  --pre-bg: #000000;
  --pre-border: #8ab4ff;
  --pre-text: #ffffff;
  --pre-wrap-bg: #000000;
  --pre-wrap-border: #8ab4ff;
  --pre-header-text: #ffffff;
  --pre-fade-bg: #000000;
  --section-bg: #000000;
  --section-border: #8ab4ff;
  --table-bg: #000000;
  --table-head-bg: #10243f;
  --table-head-text: #ffffff;
  --table-row-hover: #001a3a;
  --table-border: #8ab4ff;
  --fullscreen-bg: #000000;
  --success-text: #8affc3;
  --success-bg: rgba(0, 128, 70, 0.4);
  --success-border: #8affc3;
  --warn-text: #ffe58f;
  --warn-bg: rgba(114, 88, 26, 0.58);
  --warn-border: #ffd95e;
  --danger-text: #ffb3c6;
  --danger-bg: rgba(134, 0, 33, 0.48);
  --danger-border: #ff7ca3;
  --tab-strip-line: #8ab4ff;
  --tab-border: #8ab4ff;
  --tab-text: #ffffff;
  --tab-bg: linear-gradient(180deg, #0d1c35, #091427);
  --tab-inset: rgba(138, 180, 255, 0.42);
  --tab-hover-outline: rgba(255, 191, 71, 0.72);
  --tab-active-bg: linear-gradient(180deg, #ffd400, #e4be00);
  --tab-active-border: #ffffff;
  --tab-active-text: #000000;
  --tab-active-inset: rgba(255, 255, 255, 0.75);
  --tab-active-under: #e4be00;
}

:root[data-theme="nlm-508"] input:focus,
:root[data-theme="nlm-508"] select:focus,
:root[data-theme="nlm-508"] textarea:focus,
:root[data-theme="nlm-508"] button:focus {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
  box-shadow: none;
}

:root[data-theme="nlm-508"] button:hover {
  transform: none;
}

html[data-theme="nlm-light"] body {
  background:
    var(--page-bg-overlay),
    linear-gradient(135deg, #f3f7fb 0%, #e9f2f8 48%, #dce7f1 100%) !important;
  background-color: var(--bg-base) !important;
}

html[data-theme="nlm-dark"] body {
  background:
    var(--page-bg-overlay),
    linear-gradient(135deg, #07182a 0%, #0b2038 52%, #081422 100%) !important;
  background-color: var(--bg-base) !important;
}

html[data-theme^="nlm-"] body {
  font-family: var(--font-ui, "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: 16px;
  line-height: 1.45;
  letter-spacing: 0;
}

html[data-theme^="nlm-"] h1,
html[data-theme^="nlm-"] h2,
html[data-theme^="nlm-"] h3,
html[data-theme^="nlm-"] h4,
html[data-theme^="nlm-"] h5,
html[data-theme^="nlm-"] h6 {
  color: var(--heading-text);
  font-weight: 700;
  letter-spacing: 0;
}

html[data-theme^="nlm-"] input,
html[data-theme^="nlm-"] select,
html[data-theme^="nlm-"] textarea {
  min-height: var(--control-min-height, 44px);
  border: 1px solid var(--input-border);
  border-radius: var(--radius-control, 10px);
  background: var(--input-bg);
  color: var(--input-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

html[data-theme^="nlm-"] input::placeholder,
html[data-theme^="nlm-"] textarea::placeholder {
  color: var(--input-placeholder);
  opacity: 1;
}

html[data-theme^="nlm-"] button,
html[data-theme^="nlm-"] .btn,
html[data-theme^="nlm-"] .auth-btn,
html[data-theme^="nlm-"] .auth-toggle,
html[data-theme^="nlm-"] .token-btn,
html[data-theme^="nlm-"] .token-toggle {
  min-height: var(--control-min-height, 44px);
  border: 1px solid var(--btn-border);
  border-radius: var(--radius-control, 10px);
  background: linear-gradient(180deg, var(--btn-bg-a), var(--btn-bg-b));
  color: var(--btn-text);
  font-weight: 700;
  letter-spacing: 0;
}

html[data-theme^="nlm-"] button:hover,
html[data-theme^="nlm-"] .btn:hover {
  border-color: var(--focus);
  box-shadow: 0 8px 18px var(--btn-hover-shadow);
}

html[data-theme^="nlm-"] button.active,
html[data-theme^="nlm-"] button.selected,
html[data-theme^="nlm-"] .btn.active,
html[data-theme^="nlm-"] .btn.selected,
html[data-theme^="nlm-"] .tab.active,
html[data-theme^="nlm-"] .tab.selected,
html[data-theme^="nlm-"] .nav-tab.active,
html[data-theme^="nlm-"] .nav-tab.selected,
html[data-theme^="nlm-"] [role="tab"][aria-selected="true"],
html[data-theme^="nlm-"] input[type="checkbox"]:checked {
  border-color: var(--focus);
}

html[data-theme^="nlm-"] .card,
html[data-theme^="nlm-"] .panel,
html[data-theme^="nlm-"] section,
html[data-theme^="nlm-"] fieldset {
  border-color: var(--card-border);
}

html[data-theme^="nlm-"] table {
  border-color: var(--table-border);
  color: var(--text);
}

html[data-theme^="nlm-"] thead,
html[data-theme^="nlm-"] th {
  background: var(--table-head-bg);
  color: var(--table-head-text);
}
