#dnsLookupView {
  --dl-bg: #f0f4f8; --dl-surface:#fff; --dl-surface2:#f7f9fc;
  --dl-border:#dde3ee; --dl-border2:#e8ecf4; --dl-text:#0f1923;
  --dl-muted:#52657e; --dl-faint:#9aaabb; --dl-cyan:#0891b2; --dl-cyan-l:#e6f6f9;
  --dl-success:#107c10; --dl-warn:#d83b01;
  --dl-shadow:0 1px 3px rgba(0,0,0,.07), 0 4px 14px rgba(0,0,0,.05);
  --dl-glow:rgba(8,145,178,.10);
}
body.dark #dnsLookupView {
  --dl-bg:#0b0f1a; --dl-surface:#111827; --dl-surface2:#1a2235;
  --dl-border:#1e2d42; --dl-border2:#243044; --dl-text:#e8edf8;
  --dl-muted:#7a8aa8; --dl-faint:#3a4a64; --dl-cyan:#22d3ee; --dl-cyan-l:#0d2a30;
  --dl-success:#4ec94e; --dl-warn:#f97316;
  --dl-shadow:0 1px 3px rgba(0,0,0,.3), 0 4px 14px rgba(0,0,0,.2);
  --dl-glow:rgba(34,211,238,.12);
}
#dnsLookupView { min-height:100vh; background:var(--dl-bg); font-family:'IBM Plex Sans',sans-serif; color:var(--dl-text); display:flex; flex-direction:column; }
.dl-header { display:flex; align-items:center; gap:14px; padding:0 32px; height:58px; background:var(--dl-surface); border-bottom:2px solid var(--dl-cyan); box-shadow:0 2px 8px var(--dl-glow); position:sticky; top:0; z-index:100; flex-shrink:0; }
.dl-back-btn { display:flex; align-items:center; gap:6px; background:none; border:1.5px solid var(--dl-border); border-radius:7px; padding:5px 11px; cursor:pointer; color:var(--dl-muted); font-size:11px; font-family:'IBM Plex Mono',monospace; font-weight:600; }
.dl-back-btn:hover { border-color:var(--dl-cyan); color:var(--dl-cyan); }
.dl-header-logo { width:28px; height:28px; background:var(--dl-cyan); border-radius:6px; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 0 14px var(--dl-glow); }
.dl-header-logo svg { width:16px; height:16px; }
.dl-header h1 { font-size:15px; font-weight:600; letter-spacing:-.01em; flex:1; }
.dl-header-badge { font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:600; color:var(--dl-cyan); border:1px solid var(--dl-cyan); background:var(--dl-cyan-l); padding:2px 9px; border-radius:20px; opacity:.85; }
.dl-dark-toggle-btn { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:8px; cursor:pointer; border:1.5px solid var(--dl-border); background:var(--dl-surface2); color:var(--dl-muted); flex-shrink:0; }
.dl-dark-toggle-btn:hover { border-color:var(--dl-cyan); color:var(--dl-cyan); }
.dl-body { padding:28px; max-width:900px; margin:0 auto; width:100%; flex:1; }
.dl-search-row { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.dl-search-row input[type=text] { flex:1; min-width:220px; background:var(--dl-surface); border:1.5px solid var(--dl-border); border-radius:8px; padding:10px 14px; font-size:13px; color:var(--dl-text); font-family:'IBM Plex Mono',monospace; }
.dl-search-row select { background:var(--dl-surface); border:1.5px solid var(--dl-border); border-radius:8px; padding:10px 12px; font-size:12.5px; color:var(--dl-text); cursor:pointer; }
.dl-btn { background:var(--dl-cyan); color:#fff; border:none; border-radius:8px; padding:10px 20px; font-size:13px; font-weight:600; cursor:pointer; }
.dl-btn:hover { opacity:.88; }
.dl-btn:disabled { opacity:.5; cursor:not-allowed; }
.dl-history { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; }
.dl-history-chip { background:var(--dl-surface2); border:1px solid var(--dl-border); border-radius:20px; padding:3px 10px; font-size:11px; font-family:'IBM Plex Mono',monospace; cursor:pointer; color:var(--dl-muted); }
.dl-history-chip:hover { border-color:var(--dl-cyan); color:var(--dl-cyan); }
.dl-panel { background:var(--dl-surface); border:1px solid var(--dl-border); border-radius:10px; padding:18px 20px; box-shadow:var(--dl-shadow); margin-bottom:16px; }
.dl-status-line { font-size:12.5px; margin-bottom:12px; color:var(--dl-muted); }
.dl-status-ok { color:var(--dl-success); font-weight:600; }
.dl-status-bad { color:var(--dl-warn); font-weight:600; }
.dl-table { width:100%; border-collapse:collapse; font-size:12px; }
.dl-table th { text-align:left; padding:8px 10px; color:var(--dl-muted); font-size:10px; text-transform:uppercase; letter-spacing:.04em; border-bottom:1px solid var(--dl-border); }
.dl-table td { padding:8px 10px; border-bottom:1px solid var(--dl-border2); font-family:'IBM Plex Mono',monospace; word-break:break-all; }
.dl-type-pill { background:var(--dl-cyan-l); color:var(--dl-cyan); border-radius:20px; padding:2px 8px; font-size:10px; font-weight:700; }
.dl-empty { text-align:center; padding:50px 20px; color:var(--dl-faint); font-size:12.5px; }
.dl-raw-toggle { font-size:11px; color:var(--dl-cyan); cursor:pointer; background:none; border:none; font-family:'IBM Plex Sans',sans-serif; padding:0; margin-top:10px; }
.dl-raw-json { display:none; background:var(--dl-surface2); border-radius:8px; padding:12px; margin-top:10px; font-family:'IBM Plex Mono',monospace; font-size:11px; white-space:pre-wrap; word-break:break-all; max-height:260px; overflow-y:auto; }
.dl-hint { font-size:11.5px; color:var(--dl-faint); margin-bottom:16px; line-height:1.6; }
