/* NextLevel shared footer and mobile app shell. */
:root {
  --nlm-gold: #d4a537;
  --nlm-gold-bright: #f1c84b;
  --nlm-bg: #0c0d10;
  --nlm-panel: #15161b;
  --nlm-line: rgba(255, 255, 255, 0.11);
  --nlm-text: #f6f1e7;
  --nlm-muted: #aeb2bc;
  color-scheme: dark;
}

html[data-theme="light"] {
  --bg: #f6f7fb;
  --bg-alt: #eceff5;
  --card: #ffffff;
  --card-hi: #f5f6fa;
  --cream: #17191f;
  --muted: #646a76;
  --line: #d9dde5;
  --nlm-bg: #f6f7fb;
  --nlm-panel: #ffffff;
  --nlm-line: rgba(22, 26, 35, 0.13);
  --nlm-text: #17191f;
  --nlm-muted: #646a76;
  color-scheme: light;
}

.nlm-theme-toggle {
  display: inline-flex;
  min-width: 44px;
  height: 42px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: none;
  border: 1px solid var(--nlm-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--nlm-text);
  padding: 0 11px;
  font: 700 10px/1 Inter, Roboto, system-ui, sans-serif;
  cursor: pointer;
  transition: 0.2s ease;
}
.nlm-theme-toggle:hover {
  border-color: var(--nlm-gold);
  background: rgba(212, 165, 55, 0.12);
  transform: translateY(-1px);
}
.nlm-theme-toggle svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

html[data-theme="light"] body {
  background: var(--bg);
  color: var(--cream);
}
html[data-theme="light"] :is(.home-tool-card, .home-command-card, .quote-card, .blog-card) {
  background: #fff;
  border-color: #dce1e9;
  color: #5d6572;
  box-shadow: 0 18px 45px rgba(26, 32, 44, 0.08);
}
html[data-theme="light"] :is(.home-tool-card h3, .home-command-card b, .quote-card .qtext, .blog-card h3) {
  color: #171a22;
}
html[data-theme="light"] :is(.alt-bg, .home-typing-section, .home-product-strip) {
  background: #eef1f6;
  border-color: #dce1e9;
}
html[data-theme="light"] header#siteHeader,
html[data-theme="light"] header.scrolled {
  background: rgba(255, 255, 255, 0.92);
  border-bottom-color: rgba(19, 24, 33, 0.12);
  box-shadow: 0 8px 30px rgba(19, 24, 33, 0.06);
}
html[data-theme="light"] :is(.nav-links, .dropdown-menu) {
  color: #20232a;
}
html[data-theme="light"] .dropdown-menu {
  background: #fff;
  border-color: #dfe2e9;
  box-shadow: 0 22px 50px rgba(22, 26, 35, 0.16);
}
html[data-theme="light"] .nlm-footer {
  background: linear-gradient(180deg, #fff, #f0f2f6);
}
html[data-theme="light"] .nlm-mobile-nav {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(18, 24, 34, 0.14);
  box-shadow: 0 16px 42px rgba(28, 32, 40, 0.18);
}

/* PDF editor: the old fixed site header covered the first toolbar row. */
body.pdf-editor-page #app > #siteHeader {
  position: relative;
  flex: none;
  min-height: 58px;
  padding: 7px 0;
}
body.pdf-editor-page #app > #siteHeader .logo-group img { height: 36px; }
body.pdf-editor-page #app > #siteHeader .wrap { max-width: none; width: 100%; }
body.pdf-editor-page .toolbar {
  min-height: 58px;
  padding: 6px 12px;
  scrollbar-color: var(--border-soft) transparent;
}
body.pdf-editor-page .category-bar,
body.pdf-editor-page .subtoolbar {
  flex: none;
  min-height: 52px;
}
body.pdf-editor-page .tbtn {
  min-height: 44px;
  padding-inline: 10px;
}
body.pdf-editor-page .body-row { isolation: isolate; }

html[data-theme="light"] body.pdf-editor-page {
  --bg-app: #eef1f6;
  --bg-toolbar: #ffffff;
  --bg-panel: #f8f9fc;
  --bg-canvas: #dfe3ea;
  --border: #d5dae4;
  --border-soft: #c7cdd8;
  --text-main: #171a22;
  --text-dim: #5f6673;
  --text-faint: #858d9b;
  --accent-soft: #3e63dd1b;
}
html[data-theme="light"] body.pdf-editor-page :is(.tbtn:hover, .tool-dropdown button:hover) {
  background: #edf0f6;
}
html[data-theme="light"] body.pdf-editor-page :is(.modal input, .modal select, .status-bar input[type="number"]) {
  background: #fff;
  color: #171a22;
}

html[data-theme="light"] body.pro-tool-page {
  --pt-bg: #f5f7fb;
  --pt-panel: #ffffff;
  --pt-panel-2: #f0f3f8;
  --pt-line: #d9dee8;
  --pt-text: #171a22;
  --pt-muted: #626a78;
  background: var(--pt-bg);
  color: var(--pt-text);
}
html[data-theme="light"] body.pro-tool-page .pt-app {
  background: linear-gradient(145deg, #fff, #f5f7fb);
  box-shadow: 0 24px 65px rgba(24, 31, 45, 0.12);
}
html[data-theme="light"] body.pro-tool-page :is(.pt-field input, .pt-field select, .pt-field textarea, .coord-search-row input) {
  border-color: #cfd5df;
  background: #fff;
  color: #171a22;
}
html[data-theme="light"] body.pro-tool-page :is(.pt-table input, .pt-table th) {
  background: #f4f6fa;
  border-color: #cfd6e1;
  color: #273140;
}
html[data-theme="light"] body.pro-tool-page :is(.pt-result, .pt-list-row, .pt-chart) {
  background: #f4f6fa;
}
html[data-theme="light"] body.pro-tool-page :is(.pt-result b, .pt-btn, .pt-related a) { color: #171a22; }
html[data-theme="light"] body.pro-tool-page .pt-btn { background: #eef1f6; }
html[data-theme="light"] body.pro-tool-page .pt-btn.primary { background: var(--pt-gold); color: #17130a; }
html[data-theme="light"] body.pro-tool-page .coord-suggestions { background: #fff; box-shadow: 0 18px 45px #2028382a; }
html[data-theme="light"] body.pro-tool-page .pt-related a:hover {
  background: #fff8e4;
  color: #171a22;
}

html[data-theme="light"] body.photo-retouch-page :is(.pr-panel, .pr-side, .pr-export, .pr-canvas-panel, .related-tool-card, .content-block) {
  background: #fff;
  border-color: #d9dde5;
}
html[data-theme="light"] body.photo-retouch-page :is(.pr-icon-btn, .pr-preset-btn, .pr-tool-btn, .pr-compare-modes button, .pr-zoom-row button) {
  color: #535b69;
  border-color: #d7dce5;
}

@media (max-width: 980px) {
  body.pdf-editor-page #app > #siteHeader { min-height: 56px; }
  body.pdf-editor-page #app > #siteHeader .logo-group img { height: 32px; }
}

/* Shared spacing polish: prevents the compressed, edge-to-edge appearance. */
body > main,
#app + main {
  isolation: isolate;
}
.home-tools,
.tools-section,
.content-section,
.section-pad {
  scroll-margin-top: 92px;
}

.nlm-footer {
  position: relative;
  z-index: 2;
  border-top: 1px solid var(--nlm-line);
  background: linear-gradient(180deg, #121318 0%, #090a0d 100%);
  color: var(--nlm-text);
  padding: 0;
}

.nlm-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--nlm-gold), transparent);
}

.nlm-footer-inner {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
  padding: 58px 0 24px;
}

.nlm-footer-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.75fr 0.75fr 1.15fr;
  gap: clamp(26px, 4vw, 56px);
  align-items: start;
}

.nlm-footer-brand img {
  display: block;
  width: min(210px, 100%);
  height: auto !important;
  max-height: 58px;
  object-fit: contain;
  object-position: left center;
}

.nlm-footer-brand p,
.nlm-footer-news p {
  max-width: 330px;
  margin: 18px 0 0;
  color: var(--nlm-muted);
  font:
    400 14px/1.75 Inter,
    Roboto,
    system-ui,
    sans-serif;
  text-transform: none;
  letter-spacing: 0;
}

.nlm-footer-title {
  display: block;
  margin: 2px 0 18px;
  color: var(--nlm-gold-bright);
  font:
    700 11px/1.2 "Roboto Mono",
    monospace;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.nlm-footer-links a {
  display: block;
  width: fit-content;
  margin: 0 0 11px;
  color: var(--nlm-muted);
  font:
    500 14px/1.45 Inter,
    Roboto,
    system-ui,
    sans-serif;
  text-decoration: none;
  transition:
    color 0.2s ease,
    transform 0.2s ease;
}
.nlm-footer .nlm-footer-links {
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  align-items: initial !important;
  justify-content: initial !important;
}
.nlm-footer .nlm-footer-links a {
  position: static !important;
  padding: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.nlm-footer .nlm-footer-links a::after {
  display: none !important;
}

.nlm-footer-links a:hover {
  color: var(--nlm-text);
  transform: translateX(3px);
}

.nlm-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.nlm-socials a {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--nlm-line);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.035);
  color: #d9dce3;
  transition: 0.2s ease;
}

.nlm-socials a:hover {
  border-color: var(--nlm-gold);
  background: rgba(212, 165, 55, 0.13);
  color: var(--nlm-gold-bright);
  transform: translateY(-3px);
}

.nlm-socials svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.nlm-newsletter {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 14px;
  border: 1px solid var(--nlm-line);
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.025);
}

.nlm-newsletter input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--nlm-text);
  padding: 13px 14px;
  font:
    400 13px/1.3 Inter,
    Roboto,
    system-ui,
    sans-serif;
}

.nlm-newsletter input:focus {
  box-shadow: inset 0 0 0 2px rgba(212, 165, 55, 0.55);
}

.nlm-newsletter button {
  border: 0;
  background: var(--nlm-gold);
  color: #15120a;
  padding: 0 16px;
  font:
    800 11px/1 "Roboto Mono",
    monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.nlm-newsletter button:hover {
  background: var(--nlm-gold-bright);
}
.nlm-newsletter button:disabled {
  cursor: wait;
  opacity: 0.68;
}

.nlm-form-note {
  min-height: 20px;
  margin: 8px 0 0 !important;
  color: var(--nlm-muted);
  font-size: 12px !important;
}

.nlm-form-note.is-success {
  color: #8ee6ac;
}
.nlm-form-note.is-error {
  color: #ff9e9e;
}

.nlm-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 42px;
  padding-top: 22px;
  border-top: 1px solid var(--nlm-line);
  color: #7f8490;
  font:
    500 11px/1.5 "Roboto Mono",
    monospace;
  letter-spacing: 0.04em;
}

.nlm-mobile-nav {
  display: none;
}
.nlm-honeypot {
  position: absolute !important;
  left: -9999px !important;
}

@media (max-width: 1050px) {
  .nlm-footer-grid {
    grid-template-columns: 1.25fr 1fr;
  }
  .nlm-footer-news {
    grid-column: auto;
  }
}

@media (max-width: 720px) {
  body.nlm-mobile-shell {
    padding-bottom: calc(68px + env(safe-area-inset-bottom));
  }
  body.nlm-mobile-shell.site-menu-open,
  body.nlm-mobile-shell.typing-menu-open {
    overflow: hidden;
  }

  .nlm-footer-inner {
    width: min(100% - 28px, 1180px);
    padding: 42px 0 24px;
  }
  .nlm-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px 22px;
  }
  .nlm-footer-brand,
  .nlm-footer-news {
    grid-column: 1 / -1;
  }
  .nlm-footer-brand img {
    width: 185px;
  }
  .nlm-footer-news {
    order: 8;
  }
  .nlm-footer-bottom {
    display: block;
    margin-top: 32px;
    padding-top: 18px;
  }
  .nlm-footer-bottom span {
    display: block;
    margin-top: 6px;
  }

  .nlm-mobile-nav {
    position: fixed;
    z-index: 9998;
    right: 10px;
    bottom: max(8px, env(safe-area-inset-bottom));
    left: 10px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    min-height: 58px;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 18px;
    background: rgba(13, 14, 18, 0.94);
    box-shadow: 0 16px 45px rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(18px);
  }

  .nlm-mobile-nav a,
  .nlm-mobile-nav button {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 2px;
    border: 0;
    border-radius: 13px;
    background: transparent;
    color: #9da2ad;
    padding: 4px 2px;
    font:
      650 9px/1.1 Inter,
      Roboto,
      system-ui,
      sans-serif;
    text-decoration: none;
    cursor: pointer;
  }

  .nlm-mobile-nav svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }
  .nlm-mobile-nav :is(a, button).is-active {
    background: rgba(212, 165, 55, 0.13);
    color: var(--nlm-gold-bright);
  }

  .nlm-theme-toggle {
    width: 42px;
    min-width: 42px;
    padding: 0;
  }
  .nlm-theme-toggle span {
    display: none;
  }
}

@media (max-width: 430px) {
  .nlm-footer-grid {
    grid-template-columns: 1fr;
  }
  .nlm-footer-brand,
  .nlm-footer-news {
    grid-column: auto;
  }
  .nlm-footer-links a {
    font-size: 13px;
  }
}

/* Light theme contrast pass: every interactive surface keeps readable text. */
html[data-theme="light"] body {
  background-color: #f5f7fb;
  color: #171a22;
  font-family: Inter, "Segoe UI", Roboto, system-ui, sans-serif;
}
html[data-theme="light"] ::selection {
  background: #d4a537;
  color: #111318;
}
html[data-theme="light"] :is(input, textarea, select)::placeholder {
  color: #778191;
  opacity: 1;
}
html[data-theme="light"] .nlm-theme-toggle {
  background: #ffffff;
  border-color: #d5dbe5;
  color: #1c2330;
  box-shadow: 0 6px 18px rgba(26, 33, 46, 0.06);
}

/* Main navigation and dropdowns. */
html[data-theme="light"] :is(.nav-links > li > a, .dropdown-toggle) {
  color: #4d5665;
}
html[data-theme="light"] :is(.nav-links > li > a:hover, .nav-links > li > a.active, .dropdown-toggle:hover) {
  color: #171a22;
}
html[data-theme="light"] :is(.compact-product-menu, .typing-product-menu, .tools-mega-menu) {
  background: #ffffff !important;
  border-color: #d8dee8 !important;
  box-shadow: 0 24px 64px rgba(25, 33, 47, 0.18) !important;
}
html[data-theme="light"] :is(.compact-product-menu a, .typing-product-menu a) {
  color: #27303d !important;
}
html[data-theme="light"] :is(.compact-product-menu b, .typing-product-menu b) {
  color: #18202b !important;
}
html[data-theme="light"] :is(.compact-product-menu small, .typing-product-menu small) {
  color: #5e6877 !important;
}
html[data-theme="light"] :is(.compact-product-menu a:hover, .typing-product-menu a:hover) {
  background: #fff4d7 !important;
  color: #171a22 !important;
}
html[data-theme="light"] :is(.compact-product-menu a:hover b, .typing-product-menu a:hover b) {
  color: #6f5000 !important;
}
html[data-theme="light"] .tools-menu-head {
  color: #775700;
  border-bottom-color: #d8dee8;
}
html[data-theme="light"] .tools-menu-col > a {
  color: #2f3947 !important;
}
html[data-theme="light"] .tools-menu-col > a:hover {
  background: #fff4d7 !important;
  color: #151a22 !important;
}

/* Homepage command centre and product rows. */
html[data-theme="light"] .home-command-card {
  background:
    radial-gradient(circle at 100% 0, rgba(212, 165, 55, 0.16), transparent 44%),
    linear-gradient(145deg, #ffffff, #f2f5fa);
  border-color: #d5dce7;
  box-shadow: 0 30px 70px rgba(26, 34, 49, 0.14);
}
html[data-theme="light"] .home-command-top {
  color: #647083;
}
html[data-theme="light"] .home-command-card > a {
  background: #f7f8fb;
  border-color: #cfd6e1;
  color: #171a22;
}
html[data-theme="light"] .home-command-card > a:hover {
  background: #fff9e9;
  border-color: #b98a17;
  box-shadow: 0 14px 30px rgba(43, 51, 68, 0.1);
}
html[data-theme="light"] .home-command-card a b {
  color: #151a22;
}
html[data-theme="light"] .home-command-card a small {
  color: #596474;
}
html[data-theme="light"] .home-command-icon {
  background: #fff0bd;
  color: #765500;
}
html[data-theme="light"] .home-trust-row span {
  background: #ffffff;
  border-color: #d2d8e2;
  color: #4d5868;
}
html[data-theme="light"] :is(.home-typing-copy p, .home-typing-stats span) {
  color: #596474;
}
html[data-theme="light"] .home-typing-stats {
  background: #ffffff;
  border-color: #d5dce6;
}
html[data-theme="light"] .home-typing-stats div {
  border-color: #d5dce6;
}
html[data-theme="light"] .home-product-strip a {
  border-color: #d8dee8;
}
html[data-theme="light"] :is(.home-product-strip b, .home-product-strip strong) {
  color: #171a22;
}
html[data-theme="light"] :is(.home-product-strip small, .home-tool-card p, .home-section-head p) {
  color: #596474;
}

/* Utility tools. */
html[data-theme="light"] body.utility-page {
  background: #f5f7fb;
  color: #171a22;
}
html[data-theme="light"] body.utility-page :is(.utility-head p, .utility-field label, .utility-content, .utility-stats span) {
  color: #596474;
}
html[data-theme="light"] body.utility-page .utility-box {
  background: #ffffff;
  border-color: #d6dce6;
  box-shadow: 0 22px 55px rgba(27, 35, 49, 0.1);
}
html[data-theme="light"] body.utility-page :is(.utility-toolbar, .utility-field + .utility-field, .utility-stats) {
  border-color: #d6dce6;
}
html[data-theme="light"] body.utility-page :is(.utility-toolbar button, .utility-toolbar select) {
  background: #eef2f7;
  border-color: #cbd3df;
  color: #202733;
}
html[data-theme="light"] body.utility-page .utility-field textarea {
  background: #f8fafc;
  border-color: #cbd3df;
  color: #17202b;
}
html[data-theme="light"] body.utility-page :is(.utility-content h2, .utility-stats b) {
  color: #171a22;
}

/* PDF tool suite. */
html[data-theme="light"] body.pdf-page {
  --pdf-bg: #f5f7fb;
  --pdf-card: #ffffff;
  --pdf-card2: #f1f4f8;
  --pdf-border: #d4dae4;
  --pdf-text: #171a22;
  --pdf-muted: #5e6877;
  background: var(--pdf-bg);
  color: var(--pdf-text);
}
html[data-theme="light"] body.pdf-page .pdf-workspace {
  background: linear-gradient(145deg, #ffffff, #f2f5f9);
  box-shadow: 0 24px 65px rgba(25, 33, 47, 0.12);
}
html[data-theme="light"] body.pdf-page :is(.pdf-toolbar, .pdf-seo-card) {
  background: #ffffff;
}
html[data-theme="light"] body.pdf-page :is(.pdf-field input, .pdf-field select) {
  background: #f8fafc;
  border-color: #cbd3df;
  color: #171a22;
}
html[data-theme="light"] body.pdf-page .pdf-secondary {
  background: #eef2f7;
  border-color: #cbd3df;
  color: #1f2733;
}
html[data-theme="light"] body.pdf-page .pdf-note {
  color: #4f5a6a;
}
html[data-theme="light"] body.pdf-page :is(.pdf-feature strong, .pdf-related strong, .tool-hub-card h2, .tool-hub-card h3) {
  color: #171a22;
}
html[data-theme="light"] body.pdf-page .pdf-trust span {
  background: #ffffff;
  color: #435064;
}

/* Advanced tool cards and forms. */
html[data-theme="light"] body.pro-tool-page :is(.pt-app-head, .pt-panel, .pt-card, .pt-related a, .content-block, .related-tool-card) {
  border-color: #d5dce6;
  color: #171a22;
}
html[data-theme="light"] body.pro-tool-page :is(.pt-app-head p, .pt-field label, .pt-help, .pt-muted, .pt-related p, .content-block p, .related-tool-card p) {
  color: #596474;
}
html[data-theme="light"] body.pro-tool-page :is(.pt-drop, .pt-preview, .pt-output, .pt-empty, .pt-table-wrap) {
  background-color: #f4f7fa;
  border-color: #cfd7e2;
  color: #273140;
}
html[data-theme="light"] body.pro-tool-page :is(.pt-app h2, .pt-app h3, .pt-related h3, .content-block h2, .content-block h3) {
  color: #171a22;
}

/* Photo retouch editor. */
html[data-theme="light"] body.photo-retouch-page {
  background: #f5f7fb;
  color: #171a22;
}
html[data-theme="light"] body.photo-retouch-page :is(.pr-panel, .pr-side, .pr-export, .pr-canvas-panel, .pr-app, .pr-toolbar) {
  color: #171a22;
}
html[data-theme="light"] body.photo-retouch-page :is(.pr-icon-btn, .pr-preset-btn, .pr-tool-btn, .pr-compare-modes button, .pr-zoom-row button) {
  background: #f1f4f8;
  color: #303a49;
}
html[data-theme="light"] body.photo-retouch-page :is(input, select, textarea) {
  background-color: #ffffff;
  border-color: #cbd3df;
  color: #171a22;
}
html[data-theme="light"] body.photo-retouch-page :is(.pr-help, .pr-muted, .pr-field label, .content-block p, .related-tool-card p) {
  color: #596474;
}

/* Standalone image compressor and QR generator. */
html[data-theme="light"] body:is(.image-compressor-page, .qr-generator-page) :is(.cmp-panel, .qr-panel, .file-card, .related-tool-card) {
  background: #ffffff;
  border-color: #d4dbe5;
  color: #171a22;
  box-shadow: 0 16px 40px rgba(27, 35, 49, 0.07);
}
html[data-theme="light"] body:is(.image-compressor-page, .qr-generator-page) :is(.drop-zone, .qr-logo-drop, details.qr-custom) {
  background: #f8fafc;
  border-color: #c8d1de;
  color: #273140;
}
html[data-theme="light"] body:is(.image-compressor-page, .qr-generator-page) :is(.cmp-field select, .qr-field input, .qr-field textarea, .qr-field select) {
  background-color: #ffffff;
  border-color: #c7d0dd;
  color: #17202b;
}
html[data-theme="light"] body.image-compressor-page .cmp-field select option {
  background: #ffffff;
  color: #17202b;
}
html[data-theme="light"] body:is(.image-compressor-page, .qr-generator-page) :is(.preset-btn, .qr-type-btn, .qr-btn, .file-actions button, .qr-logo-drop button) {
  background-color: #f1f4f8;
  border-color: #cbd3df;
  color: #2e3948;
}
html[data-theme="light"] body:is(.image-compressor-page, .qr-generator-page) :is(.content-block, .content-block p, .steps-list li, .faq-item p, .related-tool-card p, .cmp-field label, .qr-field label, .privacy-note, .qr-privacy-note) {
  color: #596474;
}
html[data-theme="light"] body:is(.image-compressor-page, .qr-generator-page) :is(.content-block h2, .content-block h3, .faq-item summary, .file-meta h4, .type-grid-info h3) {
  color: #171a22;
}

/* Reels downloader late inline styles are intentionally overridden here. */
html[data-theme="light"] body.reels-page :is(.tool-card, .download-card, .result-card, .content-block, .related-card) {
  background-color: #ffffff;
  border-color: #d5dce6;
  color: #171a22;
}
html[data-theme="light"] body.reels-page :is(input, select, textarea) {
  background: #ffffff;
  border-color: #c9d2df;
  color: #171a22;
}
html[data-theme="light"] body.reels-page .dl-btn.secondary {
  background: #ffffff !important;
  border-color: #cbd3df !important;
  color: #1f2733 !important;
}

/* Articles, blog details and related reading cards. */
html[data-theme="light"] :is(.article-title, .article-body h2, .article-body h3, .article-body strong, .related-heading, .related-card h4) {
  color: #171a22;
}
html[data-theme="light"] :is(.article-sub, .article-body p, .article-body li, .pullquote) {
  color: #4f5b6c;
}
html[data-theme="light"] .article-meta .dot {
  color: #8993a2;
}
html[data-theme="light"] .article-divider {
  background: #d8dee8;
}
html[data-theme="light"] .related-card {
  background: #ffffff;
  border: 1px solid #d8dee8;
  box-shadow: 0 12px 32px rgba(25, 33, 47, 0.07);
}
html[data-theme="light"] .related-card:hover {
  background: #fff9e8;
}
html[data-theme="light"] .back-link {
  color: #566274;
}

/* Typing platform: the same readable light theme on every page. */
html[data-theme="light"] body.typing-site {
  --ink: #171a22;
  --muted: #5b6676;
  --bg: #f5f7fb;
  --panel: #ffffff;
  --panel2: #eef2f7;
  --line: #d4dbe5;
  background: var(--bg);
  color: var(--ink);
}
html[data-theme="light"] body.typing-site .typing-header {
  background: rgba(255, 255, 255, 0.94);
  border-color: #d6dce6;
  box-shadow: 0 8px 28px rgba(25, 33, 47, 0.07);
}
html[data-theme="light"] body.typing-site .typing-links a {
  color: #4d5868;
}
html[data-theme="light"] body.typing-site :is(.typing-links a:hover, .typing-links a[aria-current="page"]) {
  background: #eef2f7;
  color: #171a22;
}
html[data-theme="light"] body.typing-site .typing-hero {
  background: linear-gradient(180deg, #fff8e5 0, #f5f7fb 78%);
}
html[data-theme="light"] body.typing-site :is(.platform-nav, .section.alt) {
  background: #eef2f7;
}
html[data-theme="light"] body.typing-site :is(.feature-card b, .path-card h3, .language-card h3, .lesson-card h3, .challenge-card h3, .live-metrics b, .game-modes button) {
  color: #171a22;
}
html[data-theme="light"] body.typing-site :is(.ghost-button, .icon-button, .duration-buttons button, .game-modes button) {
  background: #eef2f7;
  border-color: #cbd3df;
  color: #273140;
}
html[data-theme="light"] body.typing-site :is(.language-search, .control-group select, .control-group input, .control-group textarea, .engine-input, .custom-panel textarea, .game-input) {
  background: #ffffff;
  border-color: #c6d0dd;
  color: #171a22;
}
html[data-theme="light"] body.typing-site :is(.result-grid div, .result-detail canvas, .result-detail > div, .game-board) {
  background: #f1f4f8;
  border-color: #d3dae5;
}
html[data-theme="light"] body.typing-site .type-target {
  color: #687486;
}
html[data-theme="light"] body.typing-site .type-target .correct {
  color: #17202b;
}
html[data-theme="light"] body.typing-site .type-target .current {
  color: #111820;
}
html[data-theme="light"] body.typing-site .falling-word {
  background: #ffffff;
  border-color: #c5cedb;
  color: #171a22;
}
html[data-theme="light"] body.typing-site .typing-footer {
  background: #eef2f7;
  color: #4f5a6a;
}
html[data-theme="light"] body.typing-site .nlm-theme-toggle {
  margin-left: 4px;
}

@media (max-width: 980px) {
  html[data-theme="light"] header#siteHeader {
    background: rgba(255, 255, 255, 0.97);
  }
  html[data-theme="light"] :is(.nav-links.open, body.site-menu-open #navLinks) {
    background: rgba(255, 255, 255, 0.98);
    border-left-color: #d5dce6;
    box-shadow: -20px 28px 58px rgba(25, 33, 47, 0.18);
  }
  html[data-theme="light"] :is(.nav-links.open > li, body.site-menu-open #navLinks > li) {
    border-bottom-color: #dfe4ec;
  }
  html[data-theme="light"] :is(.nav-links.open > li > a, body.site-menu-open #navLinks > li > a) {
    color: #222b38;
  }
  html[data-theme="light"] body.site-menu-open::before {
    background: rgba(31, 38, 49, 0.38);
  }
  html[data-theme="light"] :is(.tools-mega-menu, .typing-product-menu, .compact-product-menu) {
    background: #f7f9fc !important;
    box-shadow: none !important;
  }
  body.typing-site .typing-nav > .nlm-theme-toggle {
    margin-left: auto;
  }
  body.typing-site .typing-links + .nlm-theme-toggle {
    margin-left: auto;
  }
}

/* Final dark-only shell and compact tool viewport. */
html,
html[data-theme="dark"] {
  color-scheme: dark;
  --nlm-bg: #090b0f;
  --nlm-panel: #12161e;
  --nlm-line: rgba(255, 255, 255, 0.12);
  --nlm-text: #f7f2e8;
  --nlm-muted: #aeb6c5;
}
html[data-theme="dark"] body {
  background-color: #090b0f;
  color: #f7f2e8;
}
.nlm-theme-toggle {
  display: none !important;
}
.nlm-language-picker {
  position: relative;
  display: inline-flex;
  width: 44px;
  min-width: 44px;
  height: 42px;
  flex: none;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(240, 200, 90, 0.3);
  border-radius: 12px;
  background: linear-gradient(145deg, #191b21, #101217);
  color: #f0c85a;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.04);
  transition: 0.2s ease;
}
.nlm-language-picker:hover,
.nlm-language-picker:focus-within {
  border-color: #d4a537;
  background: #1b1d24;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
  transform: translateY(-1px);
}
.nlm-language-flag {
  font-size: 20px;
  line-height: 1;
  pointer-events: none;
}
.nlm-language-label {
  display: none;
}
.nlm-language-picker select {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  border: 0;
  outline: 0;
  background: black;
  color: white;
  opacity: 0;
}
.nlm-language-picker.is-loading::after {
  position: absolute;
  right: 3px;
  width: 12px;
  height: 12px;
  border: 2px solid #d4a53744;
  border-top-color: #f0c85a;
  border-radius: 50%;
  content: "";
  animation: nlm-language-spin 0.7s linear infinite;
}
@keyframes nlm-language-spin {
  to { transform: rotate(360deg); }
}
#google_translate_element,
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame,
body > .skiptranslate {
  display: none !important;
}
body {
  top: 0 !important;
}

/* Tool introductions stay SEO-rich but no longer push the workspace below the fold. */
body .page-hero {
  padding: 112px 0 30px;
}
body .page-hero h1 {
  max-width: 780px;
  font-size: clamp(34px, 4.8vw, 56px);
  line-height: 1.06;
}
body .page-hero p.lede {
  margin-top: 11px;
  line-height: 1.58;
}
body.pro-tool-page .pt-hero {
  padding: 105px 20px 24px;
}
body.pro-tool-page .pt-hero .pt-kicker {
  padding: 6px 10px;
  font-size: 10px;
}
body.pro-tool-page .pt-hero h1 {
  max-width: 760px;
  margin: 12px auto 8px;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.06;
}
body.pro-tool-page .pt-hero p {
  max-width: 680px;
  font-size: 14px;
  line-height: 1.55;
}
body.pro-tool-page .pt-trust {
  margin-top: 13px;
}
body.pro-tool-page .pt-trust span {
  padding: 5px 9px;
  font-size: 10px;
}
body.pro-tool-page .pt-main {
  margin-top: 4px;
}
body.pdf-page .pdf-hero {
  padding: 34px 20px 18px;
}
body.pdf-page .pdf-hero h1 {
  max-width: 780px;
  margin: 8px auto;
  font-size: clamp(29px, 4vw, 46px);
  line-height: 1.07;
}
body.pdf-page .pdf-hero p {
  max-width: 680px;
  font-size: 14px;
  line-height: 1.55;
}
body.pdf-page .pdf-trust {
  margin-top: 12px;
  gap: 7px;
}
body.pdf-page .pdf-trust span {
  padding: 5px 9px;
  font-size: 10px;
}
body.pdf-page .pdf-shell {
  padding-top: 10px;
}
body:is(.image-compressor-page, .qr-generator-page, .photo-retouch-page) .page-hero {
  padding: 105px 0 20px !important;
}
body:is(.image-compressor-page, .qr-generator-page, .photo-retouch-page) .page-hero h1 {
  margin-top: 10px;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.08;
}
body:is(.image-compressor-page, .qr-generator-page, .photo-retouch-page) .page-hero p.lede {
  max-width: 680px;
  margin-top: 9px;
  font-size: 14px;
  line-height: 1.55;
}
body:is(.image-compressor-page, .qr-generator-page, .photo-retouch-page) :is(.cmp-app, .qr-app, .pr-app) {
  margin-top: 14px;
}
body.utility-page .utility-main {
  padding-top: 96px;
}
body.utility-page .utility-head {
  margin-bottom: 20px;
}
body.utility-page .utility-head h1 {
  margin: 6px 0 8px;
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.08;
}
body.utility-page .utility-head p {
  max-width: 680px;
  margin: auto;
  font-size: 14px;
  line-height: 1.55;
}

/* Quotes hub: deep graphite cards with high-contrast typography and gold focus. */
html[data-theme="dark"] .category-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #303744 !important;
  background:
    radial-gradient(circle at 100% 0, rgba(212, 165, 55, 0.13), transparent 42%),
    linear-gradient(145deg, #181c24, #11141a) !important;
  color: #f7f2e8 !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.24);
}
html[data-theme="dark"] .category-card::after {
  position: absolute;
  right: -45px;
  bottom: -65px;
  width: 130px;
  height: 130px;
  border: 1px solid rgba(212, 165, 55, 0.13);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
html[data-theme="dark"] .category-card:hover {
  border-color: #d4a537 !important;
  box-shadow: 0 22px 52px rgba(0, 0, 0, 0.38);
  transform: translateY(-5px);
}
html[data-theme="dark"] .category-card :is(.cat-title, .cat-title-hi) {
  color: #f7f2e8 !important;
  opacity: 1;
}
html[data-theme="dark"] .category-card .cat-title-hi {
  color: #c9cfda !important;
}
html[data-theme="dark"] .category-card .cat-desc {
  color: #aeb6c5 !important;
  opacity: 1;
}
html[data-theme="dark"] .category-card .cat-count {
  border: 1px solid rgba(212, 165, 55, 0.28);
  background: #090b0f;
  color: #f0c85a;
}

@media (max-width: 980px) {
  .nlm-language-picker {
    width: 44px;
    min-width: 44px;
    margin-left: auto;
  }
  body.pro-tool-page .pt-hero {
    padding-top: 90px;
  }
  body:is(.image-compressor-page, .qr-generator-page, .photo-retouch-page) .page-hero {
    padding-top: 90px !important;
  }
}

@media (max-width: 600px) {
  body.pro-tool-page .pt-hero {
    padding: 84px 16px 18px;
  }
  body.pro-tool-page .pt-hero h1,
  body.pdf-page .pdf-hero h1,
  body:is(.image-compressor-page, .qr-generator-page, .photo-retouch-page) .page-hero h1 {
    font-size: clamp(27px, 9vw, 36px);
  }
  body.pro-tool-page .pt-trust,
  body.pdf-page .pdf-trust {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 3px;
  }
  body.pro-tool-page .pt-trust span,
  body.pdf-page .pdf-trust span {
    flex: none;
  }
}
