:root,[data-theme="light"]{
  color-scheme:light;
  --sx-bg:#fff;
  --sx-fg:#1a1d21;
  --sx-muted:#646b75;
  --sx-line:#e4e7eb;
  --sx-soft:#f6f7f9;
  --sx-accent:#1d4ed8;
  --shadow:none;
  --shadow-md:none;
  --sh:none;
  --sh2:none;
  --primary:#1d4ed8;
  --primary-hover:#1e40af;
  --accent:#1d4ed8;
  --accent-dim:#1e40af;
  --accent-bg:#eff6ff;
  --accent-soft:#eff6ff;
  --accent-tint:#eff6ff;
  --accent-border:#bfdbfe;
}

[data-theme="dark"]{
  color-scheme:dark;
  --sx-bg:#111316;
  --sx-fg:#e6e8eb;
  --sx-muted:#9aa1ab;
  --sx-line:#262a30;
  --sx-soft:#181b20;
  --sx-accent:#7aa2ff;
  --shadow:none;
  --shadow-md:none;
  --sh:none;
  --sh2:none;
  --primary:#7aa2ff;
  --primary-hover:#93b4ff;
  --accent:#7aa2ff;
  --accent-dim:#93b4ff;
  --accent-bg:#16243a;
  --accent-soft:#181b20;
  --accent-tint:#16243a;
  --accent-border:#1e3a5f;

  /* Universal dark variables for server tools */
  --bg:#111316;
  --bg-page:#111316;
  --paper:#111316;
  --panel:#181b20;
  --surface:#181b20;
  --surface2:#20242b;
  --surface3:#282d36;
  --surface-2:#20242b;
  --surface-sunk:#14171c;
  --surface-alt:#181b20;
  --bg-input:#181b20;
  --bg-highlight:#1a2333;
  --bg-grid:#181b20;
  --row-hover:#20242b;

  --border:#262a30;
  --border2:#343a44;
  --border-soft:#1f2329;
  --border-lit:#363c47;
  --border-focus:#4b5563;
  --line:#262a30;
  --line-soft:#1f2329;

  --ink:#e6e8eb;
  --ink2:#9aa1ab;
  --ink3:#6b7280;
  --ink4:#4b5563;
  --ink-soft:#9aa1ab;
  --ink-2:#9aa1ab;
  --ink-3:#6b7280;
  --ink-4:#4b5563;
  --ink-light:#9aa1ab;

  --text:#e6e8eb;
  --text-main:#e6e8eb;
  --text-dim:#9aa1ab;
  --text-soft:#9aa1ab;
  --text-muted:#9aa1ab;
  --text-faint:#6b7280;
  --needle:#e6e8eb;

  --blue-bg:#16243a;
  --blue-bd:#1e3a5f;
  --green-bg:#13271d;
  --green-bd:#1c442c;
  --warn-bg:#291d0e;
  --warn-soft:#291d0e;
  --warn-bd:#4a3416;
  --amber-bg:#291d0e;
  --amber-bd:#4a3416;
  --red-bg:#2a1416;
  --red-bd:#4b1f23;
  --danger-bg:#2a1416;
  --danger-bd:#4b1f23;
  --bad-soft:#2a1416;
  --purple-bg:#241433;
  --purple-bd:#421e63;
  --orange-bg:#2b170e;
  --orange-bd:#4c2815;
  --fdroid-soft:#16243a;
  --download-soft:#16243a;
  --upload-soft:#2b170e;
  --ping-soft:#13271d;

  --code-bg:#14161b;
  --code-string:#86efac;
  --code-key:#fca5a5;
  --code-flag:#93c5fd;
  --code-comment:#6b7280;
  --key:#7aa2ff;
  --str:#86efac;
  --num:#fde68a;
  --comment:#6b7280;
  --map-default:#262a30;
}

html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;background:var(--sx-bg)!important;color:var(--sx-fg)}
input,select,textarea,button{font-family:inherit}
:focus-visible{outline:2px solid var(--sx-accent);outline-offset:2px}

.sx-bar{background:var(--sx-bg);border-bottom:1px solid var(--sx-line);position:relative;z-index:50}
.sx-in{max-width:1120px;margin:0 auto;padding:0 20px;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}
.sx-brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;color:var(--sx-fg);text-decoration:none;white-space:nowrap}
.sx-brand img{border-radius:4px}
.sx-nav{display:flex;align-items:center;gap:4px;overflow-x:auto}
.sx-nav a{color:var(--sx-muted);padding:6px 10px;border-radius:6px;text-decoration:none;white-space:nowrap}
.sx-nav a:hover{color:var(--sx-fg);background:var(--sx-soft)}
.sx-foot{border-top:1px solid var(--sx-line);margin-top:56px;padding:28px 20px;text-align:center;color:var(--sx-muted);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;position:relative;background:var(--sx-bg)}
.sx-foot a{color:var(--sx-accent);text-decoration:none}

.theme-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  padding:0;
  margin-left:6px;
  background:transparent;
  border:1px solid var(--sx-line);
  border-radius:6px;
  color:var(--sx-muted);
  cursor:pointer;
  transition:color .15s,border-color .15s,background .15s;
  flex-shrink:0;
}
.theme-toggle:hover{
  color:var(--sx-fg);
  background:var(--sx-soft);
  border-color:var(--sx-muted);
}
.theme-toggle:focus-visible{
  outline:2px solid var(--sx-accent);
  outline-offset:2px;
}
.theme-toggle svg{
  width:16px;
  height:16px;
  display:block;
}
.theme-toggle .sun-icon{display:none}
.theme-toggle .moon-icon{display:block}
[data-theme="dark"] .theme-toggle .sun-icon{display:block}
[data-theme="dark"] .theme-toggle .moon-icon{display:none}

@media(max-width:560px){.sx-in{flex-direction:column;align-items:flex-start;gap:0;padding-top:8px}.sx-nav{width:100%}}
@media print{.sx-bar,.sx-foot{display:none}}

/* home */
.sx-home{margin:0;display:block;padding:0!important;line-height:1.65;font-size:16px}
.home{max-width:820px;margin:0 auto;padding:0 20px}
.intro{padding:72px 0 40px}
.intro h1{font-size:clamp(2rem,5vw,2.75rem);line-height:1.15;margin:0 0 12px;letter-spacing:-.02em}
.intro>p{margin:0 0 28px;color:var(--sx-muted);font-size:18px;max-width:560px}
#q{width:100%;font:inherit;padding:12px 14px;border:1px solid var(--sx-line);border-radius:8px;background:var(--sx-bg);color:var(--sx-fg)}
.intro .status{margin:10px 0 0;font-size:14px;min-height:1.4em}
.track{margin-top:44px}
.track-head{border-bottom:1px solid var(--sx-line);padding-bottom:10px}
.track-head h2{margin:0;font-size:1.3rem}
.rows{list-style:none;margin:0;padding:0}
.row a{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 4px;border-bottom:1px solid var(--sx-line);color:var(--sx-fg);align-items:baseline;text-decoration:none}
.row a:hover{background:var(--sx-soft)}
.row .t strong{display:block;font-weight:600}
.row .t small{display:block;color:var(--sx-muted);font-size:14px;line-height:1.5;margin-top:2px}
.row .m{color:var(--sx-muted);font-size:13px;white-space:nowrap}
[hidden]{display:none!important}
@media(max-width:560px){.row a{grid-template-columns:1fr}.intro{padding-top:40px}}

/* Universal dark mode component overrides for tool pages */
[data-theme="dark"] body{
  background:var(--bg, #111316)!important;
  color:var(--ink, #e6e8eb)!important;
}
[data-theme="dark"] .card,
[data-theme="dark"] .panel,
[data-theme="dark"] .container,
[data-theme="dark"] .hero,
[data-theme="dark"] .table-container,
[data-theme="dark"] .explorer-header{
  background:var(--surface, #181b20)!important;
  border-color:var(--border, #262a30)!important;
  color:var(--ink, #e6e8eb)!important;
}
[data-theme="dark"] .card-hd,
[data-theme="dark"] .card-head,
[data-theme="dark"] .svc-hd{
  background:var(--surface2, #20242b)!important;
  border-bottom-color:var(--border, #262a30)!important;
  color:var(--ink, #e6e8eb)!important;
}
[data-theme="dark"] .svc-card{
  background:var(--surface, #181b20)!important;
  border-color:var(--border, #262a30)!important;
}
[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]),
[data-theme="dark"] select,
[data-theme="dark"] textarea{
  background:var(--surface2, #20242b)!important;
  color:var(--ink, #e6e8eb)!important;
  border-color:var(--border, #262a30)!important;
}
[data-theme="dark"] input:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] textarea:focus{
  border-color:var(--sx-accent, #7aa2ff)!important;
  background:var(--surface2, #20242b)!important;
}
[data-theme="dark"] .btn,
[data-theme="dark"] .hero-cat,
[data-theme="dark"] .preset-btn,
[data-theme="dark"] .btn-quick,
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-copy,
[data-theme="dark"] .load-more,
[data-theme="dark"] .tab-pill,
[data-theme="dark"] .hero-pill{
  background:var(--surface2, #20242b)!important;
  border-color:var(--border, #262a30)!important;
  color:var(--ink, #e6e8eb)!important;
}
[data-theme="dark"] .btn:hover,
[data-theme="dark"] .hero-cat:hover,
[data-theme="dark"] .preset-btn:hover,
[data-theme="dark"] .btn-quick:hover,
[data-theme="dark"] .btn-secondary:hover,
[data-theme="dark"] .btn-copy:hover,
[data-theme="dark"] .load-more:hover{
  background:var(--border, #262a30)!important;
  color:var(--sx-fg, #e6e8eb)!important;
}
[data-theme="dark"] .btn-main{
  background:var(--sx-accent, #7aa2ff)!important;
  color:#fff!important;
}
[data-theme="dark"] .badge{
  background:#13271d!important;
  color:#86efac!important;
}
[data-theme="dark"] .warning{
  background:#291d0e!important;
  border-color:#4a3416!important;
  color:#fde68a!important;
}
[data-theme="dark"] p.subtitle{
  color:var(--sx-muted, #9aa1ab)!important;
}
[data-theme="dark"] .leaflet-tile{
  filter:brightness(0.8) invert(1) contrast(1.2) hue-rotate(180deg);
}
[data-theme="dark"] #qrcode{
  background:#fff!important;
  padding:12px;
  border-radius:8px;
  display:inline-block;
}
