/* OTI Labs / Domain Intelligence: shared design system (redesign 2026-10).
   Source: redesign_kit/work/src/assets/site.css. Built to /assets/site.<hash>.css by work/build.py. */

/* ---------- Tokens ---------- */
:root{
  --bg:#0d100e; --bg-1:#121613; --bg-2:#171c18; --bg-3:#1e241f;
  --line:#232a25; --line-2:#313a33;
  --fg:#e8ece9; --fg-2:#a7b1aa; --fg-3:#808b83;
  --accent:#6ca255; --accent-hi:#8cc475; --accent-fg:#0a1207;
  --accent-soft:rgba(108,162,85,.13); --accent-line:rgba(108,162,85,.4);
  --ok:#8cc475; --warn:#e0ae4f; --bad:#eb7b68; --info:#7fa9da;
  --ok-soft:rgba(140,196,117,.12); --warn-soft:rgba(224,174,79,.13); --bad-soft:rgba(235,123,104,.13);
  --sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --r-sm:4px; --r:6px; --r-lg:10px;
  --wrap:1200px; --gut:24px; --nav-h:56px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --pop:0 14px 36px rgba(0,0,0,.5);
  color-scheme:dark;
}
@media (max-width:640px){ :root{ --gut:16px; } }

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 56px)}
body{margin:0;background:var(--bg);color:var(--fg);font:400 15px/1.6 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01";overflow-x:hidden}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,pre{margin:0}
ul,ol{padding:0;list-style:none}
img,svg{display:block;max-width:100%}
a{color:var(--accent-hi);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
code,kbd,pre,.mono{font-family:var(--mono);font-feature-settings:normal}
code{white-space:nowrap;font-size:.9em;color:var(--fg);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:.05em .35em}
h1,h2,h3{color:var(--fg);font-weight:600;letter-spacing:-.015em;line-height:1.2}
h1{font-size:34px;letter-spacing:-.025em}
h2{font-size:20px}
h3{font-size:15px;letter-spacing:-.005em}
::selection{background:rgba(108,162,85,.35);color:#fff}
:focus-visible{outline:2px solid var(--accent-hi);outline-offset:2px;border-radius:var(--r-sm)}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--fg-3)}
.dim{color:var(--fg-2)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
@media (max-width:640px){ h1{font-size:26px} h2{font-size:18px} }
@media (prefers-reduced-motion:reduce){ *{transition:none!important;animation:none!important} }

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--r);border:1px solid transparent;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;text-decoration:none!important;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}
.btn svg{width:15px;height:15px;flex:none}
.btn-primary{background:var(--accent);color:var(--accent-fg);font-weight:600}
.btn-primary:hover{background:var(--accent-hi)}
.btn-secondary{background:var(--bg-2);border-color:var(--line-2);color:var(--fg)}
.btn-secondary:hover{background:var(--bg-3);border-color:#3d473f}
.btn-ghost{background:transparent;color:var(--fg-2)}
.btn-ghost:hover{color:var(--fg);background:var(--bg-2)}
.btn-sm{height:32px;padding:0 12px;font-size:13px}
.btn-block{width:100%}
.btn[disabled]{opacity:.6;cursor:default}
.link-arrow{font-size:14px;font-weight:500}
.link-arrow::after{content:" \2192"}

/* ---------- Form fields ---------- */
.input{width:100%;height:38px;padding:0 12px;background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r);color:var(--fg);font-size:14px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.input::placeholder{color:var(--fg-3)}
.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.input[aria-invalid="true"]{border-color:var(--bad)}
.input.mono{font-size:13.5px}
.field-err{display:none;margin-top:6px;font-size:13px;color:var(--bad)}
.field-err.on{display:block}
.inline-form{display:flex;gap:8px}
.inline-form .input{flex:1;min-width:0}
.status{font-size:13px;margin-top:8px;min-height:0}
.status.ok{color:var(--ok)} .status.err{color:var(--bad)}

/* ---------- Chips and pills ---------- */
.chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:2px 8px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--bg-2);font:400 12.5px/1.6 var(--mono);color:var(--fg-2);overflow-wrap:anywhere}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--bg-2);color:var(--fg-2);border:1px solid var(--line-2)}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.pill.ok{color:var(--ok);background:var(--ok-soft);border-color:transparent}
.pill.warn{color:var(--warn);background:var(--warn-soft);border-color:transparent}
.pill.bad{color:var(--bad);background:var(--bad-soft);border-color:transparent}
.pill.plain::before{display:none}
.ep{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;padding:2px 8px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:transparent;font:400 12px/1.6 var(--mono);color:var(--fg-3);white-space:nowrap;transition:color .15s,border-color .15s}
.ep b{font-weight:500;color:var(--accent-hi);flex:none}
.ep span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
button.ep:hover,a.ep:hover{color:var(--fg);border-color:var(--accent-line);text-decoration:none}

/* ---------- Panels ---------- */
.panel{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg)}
.panel-pad{padding:20px}
.panel-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--line)}
.panel-b{padding:16px 20px}
@media (max-width:640px){ .panel-pad,.panel-b{padding:14px} .panel-h{padding:12px 14px} }

/* key / value rows */
.kv{display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:20px}
.kv dt,.kv dd{padding:9px 0;border-top:1px solid var(--line);min-width:0}
.kv dt:first-of-type,.kv dt:first-of-type+dd{border-top:0}
.kv dt{color:var(--fg-3);font-size:13.5px}
.kv dd{color:var(--fg);font-size:14.5px;overflow-wrap:anywhere}
.kv .sub{display:block;margin-top:2px;font:400 12px/1.5 var(--mono);color:var(--fg-3);overflow-wrap:anywhere}
@media (max-width:640px){ .kv{grid-template-columns:1fr} .kv dt{padding-bottom:0;border-top:1px solid var(--line)} .kv dd{padding-top:2px;border-top:0} .kv dt:first-of-type{border-top:0} }

/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:10px 12px;border-top:1px solid var(--line)}
.tbl thead th{border-top:0;color:var(--fg-3);font-weight:500;font-size:12.5px}
.tbl tr:first-child td{border-top:0}
.tbl .mono{font-size:13px}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* disclosure (native details) */
.disc>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:var(--fg-2);font-size:13.5px;user-select:none}
.disc>summary::-webkit-details-marker{display:none}
.disc>summary::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s var(--ease);margin-right:2px}
.disc[open]>summary::before{transform:rotate(45deg)}
.disc>summary:hover{color:var(--fg)}

/* accordion / FAQ */
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 2px;font-weight:500;color:var(--fg)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font:400 18px/1 var(--mono);color:var(--fg-3);transition:transform .15s var(--ease)}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc .acc-b{padding:0 2px 18px;color:var(--fg-2);max-width:760px}
.acc .acc-b p+p{margin-top:10px}

/* code block with tabs */
.code{background:#0a0c0b;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.code-bar{display:flex;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--line);background:var(--bg-1);overflow-x:auto;scrollbar-width:none}
.code-bar::-webkit-scrollbar{display:none}
.code-bar .tab,.code-bar .copy-btn{white-space:nowrap;flex:none}
.code-bar .sp{flex:1}
.tab{height:28px;padding:0 10px;border:0;border-radius:var(--r);background:transparent;color:var(--fg-3);font-size:13px;font-weight:500}
.tab:hover{color:var(--fg)}
.tab[aria-selected="true"]{background:var(--bg-3);color:var(--fg)}
.copy-btn{height:28px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--r);background:transparent;color:var(--fg-2);font-size:12.5px}
.copy-btn:hover{color:var(--fg);border-color:#3d473f}
.code pre{margin:0;padding:16px 18px;overflow-x:auto;font:400 13px/1.65 var(--mono);color:#cfd6d1;tab-size:2}
.code pre[hidden]{display:none}
.code .tok-s{color:#a9cf8f} .code .tok-k{color:#8fb3de} .code .tok-c{color:var(--fg-3)}

/* inline status line (spinner) */
.spin{width:12px;height:12px;border:2px solid var(--accent-line);border-top-color:var(--accent-hi);border-radius:50%;animation:spin .8s linear infinite;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:50;height:var(--nav-h);background:rgba(13,16,14,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nav-in{height:100%;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:10px;color:var(--fg);text-decoration:none!important;flex:none}
.brand img{width:26px;height:26px}
.brand-t{display:flex;flex-direction:column;line-height:1.15;font-weight:600;font-size:14.5px;letter-spacing:-.01em}
.brand-s{font-size:10.5px;font-weight:500;color:var(--fg-3);letter-spacing:.02em}
.nav-collapse{flex:1;display:flex;align-items:center;gap:16px;min-width:0}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links>a,.nav-dd-btn{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px;border:0;border-radius:var(--r);background:none;color:var(--fg-2);font-size:14px;font-weight:500;text-decoration:none!important}
.nav-links>a:hover,.nav-dd-btn:hover,.nav-dd.open .nav-dd-btn{color:var(--fg);background:var(--bg-2)}
.nav-links>a[aria-current="page"]{color:var(--fg)}
.nav-dd{position:relative}
.nav-dd-btn svg{width:12px;height:12px;transition:transform .15s var(--ease)}
.nav-dd.open .nav-dd-btn svg{transform:rotate(180deg)}
.nav-dd-menu{position:absolute;top:calc(100% + 8px);left:-8px;width:300px;padding:6px;background:var(--bg-1);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--pop);display:none}
.nav-dd.open .nav-dd-menu{display:block}
.nav-dd-menu a{display:block;padding:8px 10px;border-radius:var(--r);color:var(--fg);text-decoration:none!important}
.nav-dd-menu a:hover{background:var(--bg-2)}
.nav-dd-menu a b{display:block;font-weight:500;font-size:14px}
.nav-dd-menu a span{display:block;font-size:12.5px;color:var(--fg-3)}
.nav-search{position:relative;flex:1;max-width:300px;margin-left:auto}
.nav-search .input{height:34px;padding-left:32px;font-family:var(--mono);font-size:13px;background:var(--bg-1)}
.nav-search svg{position:absolute;left:10px;top:10px;width:14px;height:14px;color:var(--fg-3);pointer-events:none}
.nav-search .field-err{position:absolute;top:100%;left:0;white-space:nowrap}
.nav-cta{display:flex;align-items:center;gap:6px;margin-left:auto;flex:none}
.nav-search+.nav-cta{margin-left:0}
.nav-gh svg{width:16px;height:16px}
.nav-toggle{display:none;margin-left:auto;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg-1);color:var(--fg)}
.nav-toggle svg{width:18px;height:18px}
@media (max-width:1100px){ .nav-gh span{display:none} .nav-search{max-width:220px} }
@media (max-width:920px){
  .nav-toggle{display:inline-flex}
  .nav-collapse{display:none;position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:12px;padding:12px var(--gut) 18px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--pop);max-height:calc(100vh - var(--nav-h));overflow-y:auto}
  .nav-collapse.open{display:flex}
  .nav-links{flex-direction:column;align-items:stretch;gap:0}
  .nav-links>a,.nav-dd-btn{height:44px;padding:0 4px;font-size:15px;border-radius:0;border-bottom:1px solid var(--line)}
  .nav-dd-btn{display:none}
  .nav-dd-menu{display:block;position:static;width:auto;padding:0;background:none;border:0;box-shadow:none}
  .nav-dd-menu a{padding:10px 4px;border-radius:0;border-bottom:1px solid var(--line)}
  .nav-dd-menu a span{display:none}
  .nav-search{max-width:none;order:-1;margin:4px 0 0}
  .nav-search .input{height:40px;font-size:14px}
  .nav-search svg{top:13px}
  .nav-search .field-err{position:static}
  .nav-cta{margin:4px 0 0;gap:8px}
  .nav-cta .btn{flex:1;height:40px}
  .nav-gh span{display:inline}
}

/* ---------- Footer ---------- */
.foot{margin-top:96px;border-top:1px solid var(--line);background:var(--bg)}
.foot-in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding:48px 0 32px}
.foot-brand{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--fg)}
.foot-brand img{width:24px;height:24px}
.foot-tag{margin-top:12px;color:var(--fg-3);font-size:13.5px;max-width:300px}
.foot h4{margin:0 0 12px;font-size:12.5px;font-weight:500;color:var(--fg-3)}
.foot-l{display:block;padding:3px 0;color:var(--fg-2);font-size:14px}
.foot-l:hover{color:var(--fg);text-decoration:none}
.foot-email{cursor:pointer}
.foot-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 0 28px;border-top:1px solid var(--line);color:var(--fg-3);font-size:12.5px}
@media (max-width:820px){ .foot-in{grid-template-columns:1fr 1fr} .foot-in>div:first-child{grid-column:1/-1} }

/* ---------- Generic section rhythm (marketing pages) ---------- */
.sec{padding:72px 0}
.sec+.sec{border-top:1px solid var(--line)}
.sec-h{max-width:640px;margin-bottom:28px}
.sec-h p{margin-top:8px;color:var(--fg-2)}
@media (max-width:640px){ .sec{padding:48px 0} }

/* =====================================================================
   Report page (/report/{domain})
   ===================================================================== */
.r-head{padding:28px 0 0}
.crumb{font-size:13px;color:var(--fg-3)}
.crumb a{color:var(--fg-3)} .crumb a:hover{color:var(--fg)}
.r-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:8px}
.r-title h1{font-family:var(--mono);font-weight:500;font-size:32px;letter-spacing:-.03em;overflow-wrap:anywhere}
.r-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--fg-3);font-size:13px}
.rm-refresh{display:inline-flex;align-items:center;gap:6px;color:var(--fg-2);font-size:13px}
.rm-refresh svg{width:13px;height:13px;transition:transform .4s var(--ease)}
.rm-refresh:hover{color:var(--fg);text-decoration:none}
.rm-refresh:hover svg{transform:rotate(180deg)}
.rm-refresh.done{color:var(--ok)}
.r-lede{margin-top:6px;color:var(--fg-2);font-size:14px}
.r-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px}
.r-sum>div{padding:14px 18px;border-left:1px solid var(--line);min-width:0}
.r-sum>div:first-child{border-left:0}
.r-sum dt{font-size:12.5px;color:var(--fg-3)}
.r-sum dd{margin-top:4px;font-size:16px;font-weight:600;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r-sum dd.ok{color:var(--ok)} .r-sum dd.warn{color:var(--warn)} .r-sum dd.bad{color:var(--bad)} .r-sum dd.na{color:var(--fg-3);font-weight:500}
.r-sum .sub{display:block;margin-top:2px;font-size:12.5px;font-weight:400;color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:880px){ .r-sum{grid-template-columns:1fr 1fr} .r-sum>div:nth-child(3){border-left:0} .r-sum>div:nth-child(n+3){border-top:1px solid var(--line)} }
@media (max-width:640px){ .r-title h1{font-size:24px} .r-sum>div{padding:12px 14px} .r-sum dd{font-size:15px;white-space:normal} .r-sum .sub{white-space:normal} .rsec .panel-h .hr{max-width:100%} }

/* mobile section tabs */
.r-tabs{position:sticky;top:var(--nav-h);z-index:40;margin-top:20px;background:rgba(13,16,14,.95);border-bottom:1px solid var(--line);display:none}
.r-tabs-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:8px 0}
.r-tabs-in::-webkit-scrollbar{display:none}
.r-tabs a{flex:none;padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);color:var(--fg-2);font-size:13px;text-decoration:none!important}
.r-tabs a.on{color:var(--fg);border-color:var(--accent-line);background:var(--accent-soft)}

.r-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start;margin-top:28px}
.r-main{min-width:0;display:flex;flex-direction:column;gap:20px}
.r-rail{position:sticky;top:calc(var(--nav-h) + 20px);display:flex;flex-direction:column;gap:16px}
@media (max-width:1020px){
  .r-grid{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:20px}
  .r-rail{position:static}
  .r-rail .rail-toc,.r-rail .rail-api{display:none}
  .r-tabs{display:block}
}

.rsec{scroll-margin-top:calc(var(--nav-h) + 60px)}
.rsec .panel-h h2{font-size:16px;font-weight:600;letter-spacing:-.01em}
.rsec .panel-h .hl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rsec .panel-h .hr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rsec-note{padding:10px 20px 14px;color:var(--fg-3);font-size:12.5px;border-top:1px solid var(--line)}
@media (max-width:640px){ .rsec-note{padding:10px 14px 12px} }

/* empty / error states */
.empty{padding:18px 20px;color:var(--fg-2);font-size:14px}
.empty b{color:var(--fg);font-weight:500}
.empty .why{display:block;margin-top:4px;font:400 12px/1.5 var(--mono);color:var(--fg-3);overflow-wrap:anywhere}
@media (max-width:640px){ .empty{padding:14px} }

/* DNS table */
.dns .tbl td:first-child{width:92px;white-space:nowrap}
.dns .rt{font:500 13px/1.5 var(--mono);color:var(--fg)}
.dns .rc{display:block;font-size:12px;color:var(--fg-3)}
.dns .recs li{font:400 13px/1.6 var(--mono);color:var(--fg);overflow-wrap:anywhere}
.dns .recs li+li{margin-top:2px}
.dns tr.none .rt{color:var(--fg-3)}
.dns tr.none td:last-child{color:var(--fg-3);font-size:13px}
.dns details.more>summary{margin-top:6px}
.dns details.more[open]>summary{display:none}

/* SSL */
.ssl-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* Subdomains */
.sub-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--line)}
.sub-tools .input{max-width:260px;height:34px;font-family:var(--mono);font-size:13px}
.sub-tools .cnt{font-size:12.5px;color:var(--fg-3)}
.sub-live{max-height:520px;overflow:auto;overscroll-behavior:contain}
.sub-live li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:6px 20px;border-top:1px solid var(--line);font:400 13px/1.5 var(--mono)}
.sub-live li:first-child{border-top:0}
.sub-live li:hover{background:var(--bg-2)}
.sub-live .h{position:relative;padding-left:16px;color:var(--fg);overflow-wrap:anywhere;min-width:0}
.sub-live .h::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--ok)}
.sub-live .ip{color:var(--fg-3);font-size:12.5px;text-align:right;overflow-wrap:anywhere;max-width:50%}
.sub-flat li .h::before{background:var(--fg-3)}
.sub-foot{padding:12px 20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;font-size:13px;color:var(--fg-3)}
.sub-hist-list{margin-top:10px;max-height:320px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));column-gap:24px;font:400 12.5px/1.75 var(--mono);color:var(--fg-2)}
.sub-hist-list li{overflow-wrap:anywhere;min-width:0}
.sub-pools .chip{font-size:12px}
.sub-pools .chips{margin-top:6px}
.sub-wait{display:flex;align-items:center;gap:10px;padding:10px 20px;border-bottom:1px solid var(--line);color:var(--fg-2);font-size:13px;background:var(--accent-soft)}
@media (max-width:640px){
  .sub-tools,.sub-foot,.sub-wait{padding-left:14px;padding-right:14px}
  .sub-tools .input{max-width:none;flex:1}
  .sub-live li{padding:7px 14px;flex-direction:column;gap:0}
  .sub-live .ip{text-align:left;max-width:none;padding-left:16px}
  .sub-hist-list{grid-template-columns:1fr}
}

/* Email security rows */
.mail-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:16px 20px;border-top:1px solid var(--line)}
.mail-row:first-child{border-top:0}
.mail-row .lbl{font-weight:600;font-size:14px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.mail-rec{font:400 12.5px/1.6 var(--mono);color:var(--fg-2);background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;overflow-wrap:anywhere}
.mail-rec+.mail-rec{margin-top:6px}
.mail-row .line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.dkim-keys{margin-top:10px}
.dkim-keys .k{margin-top:10px}
.dkim-keys .k .sel{font:500 12.5px/1.5 var(--mono);color:var(--accent-hi)}
.dkim-keys .mail-rec{margin-top:4px;max-height:96px;overflow:auto}
@media (max-width:640px){ .mail-row{grid-template-columns:1fr;gap:8px;padding:14px} .mail-row .lbl{flex-direction:row;align-items:center} }

/* API block (after the data) */
.api-b{padding:20px}
.api-b h2{font-size:18px}
.api-b .lead{margin-top:6px;color:var(--fg-2);max-width:640px}
.api-eps{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 12px}
.api-eps button{height:28px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--r);background:transparent;color:var(--fg-2);font:400 12.5px/1 var(--mono)}
.api-eps button:hover{color:var(--fg)}
.api-eps button[aria-pressed="true"]{color:var(--fg);border-color:var(--accent-line);background:var(--accent-soft)}
.api-facts{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px;color:var(--fg-3);font-size:13px}
.api-facts span::before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;border-radius:50%;background:var(--accent);vertical-align:2px}
.api-act{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media (max-width:640px){ .api-b{padding:16px 14px} .api-act .btn{flex:1} }

/* Right rail */
.rail-toc{padding:6px 0}
.rail-toc a{display:flex;justify-content:space-between;gap:8px;padding:6px 16px;color:var(--fg-2);font-size:13.5px;border-left:2px solid transparent;text-decoration:none!important}
.rail-toc a:hover{color:var(--fg)}
.rail-toc a.on{color:var(--fg);border-left-color:var(--accent)}
.rail-toc a span{color:var(--fg-3);font-size:12.5px;font-variant-numeric:tabular-nums}
.rail-card{padding:16px}
.rail-card h3{font-size:14px}
.rail-card p{margin-top:6px;color:var(--fg-2);font-size:13px;line-height:1.55}
.rail-card .ep{margin-top:10px;display:flex}
.rail-card .btn{margin-top:12px}
.rail-card .fine{margin-top:8px;color:var(--fg-3);font-size:12px}
.rail-card form{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.beta{display:inline-block;margin-left:6px;padding:0 6px;border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:10.5px;font-weight:500;color:var(--fg-3);vertical-align:2px;letter-spacing:.02em}

/* related */
.rel{display:flex;flex-wrap:wrap;gap:8px}
.rel a{padding:6px 12px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg-1);color:var(--fg-2);font:400 13px/1.4 var(--mono);text-decoration:none!important}
.rel a:hover{color:var(--fg);border-color:#3d473f}
.r-more{padding:20px}
.r-more h2{font-size:16px;margin-bottom:12px}
@media (max-width:640px){ .r-more{padding:16px 14px} }

/* =====================================================================
   Marketing pages (landing, endpoint pages, lookup)
   ===================================================================== */
.hero{padding:64px 0 40px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:48px;align-items:start}
.hero h1{font-size:42px;line-height:1.1;letter-spacing:-.03em;max-width:560px}
.hero .sub{margin-top:16px;font-size:17px;line-height:1.55;color:var(--fg-2);max-width:480px}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.hero-cta .btn{height:42px;padding:0 18px;font-size:14.5px}
.hero-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:20px;color:var(--fg-3);font-size:13px}
.hero-meta span::before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;border-radius:50%;background:var(--accent);vertical-align:2px}
@media (max-width:1020px){ .hero-grid{grid-template-columns:1fr;gap:32px} .hero h1{max-width:none} }
@media (max-width:640px){ .hero{padding:36px 0 40px} .hero h1{font-size:29px} .hero .sub{font-size:16px} .hero-cta .btn{flex:1} }

/* try-it panel (demo) */
.try{overflow:hidden}
.try-form{padding:14px;border-bottom:1px solid var(--line)}
.try-row{display:flex;gap:8px}
.try-row .input{flex:1;min-width:0;height:40px;font-family:var(--mono);font-size:13.5px}
.try-row .btn{height:40px}
.try-sub{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}
.try-ex{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--fg-3)}
.try-ex .ex{height:24px;padding:0 8px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:transparent;color:var(--fg-2);font:400 12px/1 var(--mono)}
.try-ex .ex:hover{color:var(--fg);border-color:#3d473f}
.try-count{font-size:12.5px;color:var(--fg-3);font-variant-numeric:tabular-nums}
.try-count.out{color:var(--warn)}
.try-bar{display:flex;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--line)}
.try-bar .sp{flex:1}
.try-label{font-size:12px;color:var(--fg-3);padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.try-pane{min-height:240px}
.try pre{margin:0;padding:14px 16px;max-height:420px;overflow:auto;font:400 12.5px/1.6 var(--mono);color:#cfd6d1;background:#0a0c0b}
.try .code-pane pre{max-height:none}
.try-note{padding:8px 16px;font-size:12px;color:var(--fg-3);border-top:1px solid var(--line)}
.sum{padding:4px 0}
.sum-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;padding:10px 16px;border-top:1px solid var(--line)}
.sum-row:first-child{border-top:0}
.sum-row .k{color:var(--fg-3);font-size:13px}
.sum-row .v{font-size:13.5px;color:var(--fg);overflow-wrap:anywhere;min-width:0}
.sum-row .v .m{font-family:var(--mono);font-size:12.5px;color:var(--fg-2)}
.sum-row .v .ok{color:var(--ok)} .sum-row .v .warn{color:var(--warn)} .sum-row .v .bad{color:var(--bad)}
.sum-hosts{margin-top:6px;font:400 12.5px/1.7 var(--mono);color:var(--fg-2)}
.sum-hosts li{display:flex;justify-content:space-between;gap:12px}
.sum-hosts li span:last-child{color:var(--fg-3);overflow-wrap:anywhere;text-align:right}
.sum-msg{padding:28px 16px;color:var(--fg-2);font-size:14px;text-align:center}
.sum-msg b{color:var(--fg)}
.sum-msg .btn{margin-top:14px}
.try-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--line);font-size:13px;color:var(--fg-3)}
.try-cta{display:none;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--accent-line);background:var(--accent-soft);font-size:13.5px;color:var(--fg)}
.try-cta.on{display:flex}
.try-enrich{display:flex;align-items:center;gap:10px;padding:8px 16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--fg-2);background:var(--accent-soft)}
@media (max-width:640px){ .sum-row{grid-template-columns:1fr;gap:2px} .try-row .btn{padding:0 12px} }

/* signal list (what one call returns) */
.sig{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-1);overflow:hidden}
.sig-row{display:grid;grid-template-columns:200px minmax(0,1fr) 300px;gap:24px;align-items:baseline;padding:18px 20px;border-top:1px solid var(--line)}
.sig-row:first-child{border-top:0}
.sig-row h3{font-size:15px}
.sig-row h3 a{color:var(--fg)}
.sig-row h3 a:hover{color:var(--accent-hi);text-decoration:none}
.sig-row h3 a::after{content:" \2192";color:var(--fg-3);font-weight:400}
.sig-row p{color:var(--fg-2);font-size:14px}
.sig-row .ep{justify-self:start}
.sig-row.all{background:var(--accent-soft)}
.sig-foot{margin-top:12px;color:var(--fg-3);font-size:13px}
@media (max-width:900px){ .sig-row{grid-template-columns:1fr;gap:6px} }

/* pricing */
.price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.price{position:relative;padding:20px;display:flex;flex-direction:column;gap:2px}
.price.rec{border-color:var(--accent-line)}
.price .tier{font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--fg-2)}
.price .badge{position:absolute;top:18px;right:16px;font-size:11px;font-weight:500;color:var(--accent-hi)}
.price .amt{margin-top:8px;font-size:30px;font-weight:600;letter-spacing:-.02em;color:var(--fg);font-variant-numeric:tabular-nums}
.price .amt small{font-size:13px;font-weight:400;color:var(--fg-3);letter-spacing:0}
.price .for{margin-top:2px;color:var(--fg-3);font-size:13px;min-height:2.6em}
.price ul{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px;font-size:13.5px;color:var(--fg-2)}
.price li b{color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums}
.price li.save{color:var(--accent-hi)}
.price-act{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px;color:var(--fg-3);font-size:13.5px}
.price-notes{margin-top:10px;color:var(--fg-3);font-size:13px}
@media (max-width:980px){ .price-grid{grid-template-columns:1fr 1fr} }
@media (max-width:520px){ .price-grid{grid-template-columns:1fr} .price .for{min-height:0} }

.cmp-wrap{margin-top:24px}
.cmp{width:100%;min-width:640px;border-collapse:collapse;font-size:13.5px}
.cmp th,.cmp td{padding:10px 12px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.cmp thead th{border-top:0;color:var(--fg-3);font-weight:500;font-size:12.5px}
.cmp tbody th{color:var(--fg-2);font-weight:500;width:22%}
.cmp td{color:var(--fg-2)}
.cmp td.us{color:var(--fg);background:var(--accent-soft)}
.cmp-note{margin-top:8px;font-size:12.5px;color:var(--fg-3)}

/* use cases */
.uses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px}
.uses h3{font-size:15px}
.uses p{margin-top:4px;color:var(--fg-2);font-size:14px}
@media (max-width:900px){ .uses{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .uses{grid-template-columns:1fr;gap:18px} }

/* free tools */
.tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tool{padding:18px;display:flex;flex-direction:column;gap:6px}
.tool h3{font-size:15px}
.tool p{color:var(--fg-2);font-size:13.5px;flex:1}
.tool .link-arrow{margin-top:8px}
.tool form{margin-top:8px}
.tool .inline-form .input{height:34px;font-family:var(--mono);font-size:13px}
.tool .inline-form .btn{height:34px}
@media (max-width:980px){ .tools{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .tools{grid-template-columns:1fr} }

/* tool hero (lookup, reports) */
.hero.center{text-align:center;padding:64px 0 48px}
.hero.center h1{max-width:820px;margin:0 auto;font-size:40px}
.hero.center .sub{margin:16px auto 0;max-width:620px}
.big-form{max-width:620px;margin:28px auto 0;text-align:left}
.big-form .inline-form .input{height:48px;font-family:var(--mono);font-size:15px;padding:0 16px}
.big-form .inline-form .btn{height:48px;padding:0 20px;font-size:15px}
.big-form .field-err{text-align:left}
.chip-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:16px auto 0;max-width:760px;font-size:13px;color:var(--fg-3)}
.chip-row a{padding:3px 10px;border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--fg-2);font:400 12.5px/1.5 var(--mono);text-decoration:none!important}
.chip-row a:hover{color:var(--fg);border-color:#3d473f}
.chip-row a.all{font-family:var(--sans);border-color:transparent;color:var(--accent-hi)}
.hero.center .hero-meta{justify-content:center}
/* MCP page: endpoint box + centred hero buttons */
.mcp-url{max-width:520px;margin:28px auto 0;text-align:left}
.mcp-url pre{font-size:15px;color:var(--fg)}
.mcp-url-l{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);padding:0 6px}
.center-acts{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}
@media (max-width:640px){ .hero.center{padding:36px 0 32px} .hero.center h1{font-size:28px} .big-form .inline-form .btn{padding:0 14px} }

.sig.two .sig-row{grid-template-columns:220px minmax(0,1fr)}
@media (max-width:900px){ .sig.two .sig-row{grid-template-columns:1fr} }
.uses.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1020px){ .uses.four{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .uses.four{grid-template-columns:1fr} }

/* slim call-to-action band */
.band{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 24px}
.band h2{font-size:18px}
.band p{margin-top:4px;color:var(--fg-2);font-size:14px}
.band .acts{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:640px){ .band{padding:18px 16px} .band .acts{width:100%} .band .acts .btn{flex:1} }

/* endpoint pages */
.why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 28px}
.why h3{font-size:15px}
.why p{margin-top:6px;color:var(--fg-2);font-size:14px}
@media (max-width:1020px){ .why{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .why{grid-template-columns:1fr;gap:18px} }
.tbl.fields td:first-child{white-space:nowrap;color:var(--fg)}
.tbl.fields td:nth-child(2){white-space:nowrap;font-size:12.5px}
.tbl.fields td:last-child{color:var(--fg-2)}
@media (max-width:640px){ .tbl.fields td:first-child,.tbl.fields td:nth-child(2){white-space:normal} }
.ex-json{margin-top:16px}
.code-block{margin-top:10px;padding:14px 16px;max-height:440px;overflow:auto;background:#0a0c0b;border:1px solid var(--line);border-radius:var(--r-lg);font:400 12.5px/1.6 var(--mono);color:#cfd6d1}
.pstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-1)}
.pstrip>div{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-left:1px solid var(--line)}
.pstrip>div:first-child{border-left:0}
.pstrip b{font-size:12px;letter-spacing:.04em;color:var(--fg-2)}
.pstrip .amt{font-size:22px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}
.pstrip span:last-child{font-size:13px;color:var(--fg-3)}
@media (max-width:760px){ .pstrip{grid-template-columns:1fr 1fr} .pstrip>div:nth-child(3){border-left:0} .pstrip>div:nth-child(n+3){border-top:1px solid var(--line)} }
.siblings{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;color:var(--fg-3)}
.siblings a{padding:5px 12px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--fg-2);text-decoration:none!important}
.siblings a:hover{color:var(--fg);border-color:#3d473f}

/* reports directory */
.filter-meta{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:12.5px;color:var(--fg-2);min-height:1.4em}
kbd{display:inline-block;padding:0 5px;border:1px solid var(--line-2);border-radius:var(--r-sm);font:400 11.5px/1.5 var(--mono);color:var(--fg-2)}
.catlist .wrap{display:flex;flex-direction:column;gap:36px}
.cat-h{font-size:16px;margin-bottom:12px;scroll-margin-top:calc(var(--nav-h) + 16px)}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.dcard{display:block;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);color:var(--fg);font:400 13.5px/1.4 var(--mono);text-decoration:none!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dcard:hover{border-color:var(--accent-line);background:var(--bg-2)}
.no-match{display:none;padding:20px;text-align:center;color:var(--fg-2)}
.no-match.show{display:block}
.no-match .btn{margin-top:12px}
@media (max-width:560px){ .cat-grid{grid-template-columns:1fr 1fr} .dcard{font-size:12.5px} }
.sec.catlist{padding-top:16px}
