/* ======================================================================
   FREE TOOLS (/tools/<slug>)  - widget styles, loaded on tool pages only.
   Builds on the tokens and components in zeevron.css. Prefix: zt-
   ====================================================================== */
.h3{font-size:clamp(1.3rem,2vw,1.6rem)}
.h4{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.zt-sec{padding-top:clamp(48px,6vw,80px)}
.zt-tool{max-width:980px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,4vw,44px)}
.asc{max-width:980px}
.zt-tool__hd{margin-bottom:22px}
.zt-tool__hd h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:0 0 6px}
.zt-tool__hd p{margin:0;color:var(--text-3)}
.zt-tool .z-field,.asc .z-field{margin-bottom:16px}
.zt-tool .z-form label,.asc .z-form label{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.zt-grid{display:grid;gap:0 18px}
.zt-grid--3{grid-template-columns:repeat(3,1fr)}
.zt-grid--4{grid-template-columns:repeat(4,1fr)}
.zt-grid--lookup{grid-template-columns:1.6fr 1fr auto;align-items:end}
.zt-grid--lookup .z-btn{margin-bottom:16px;min-height:54px}
@media (max-width:860px){.zt-grid--3,.zt-grid--4,.zt-grid--lookup{grid-template-columns:1fr}}
.zt-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:760px){.zt-cols{grid-template-columns:1fr}}
.zt-fs{border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 4px;margin:0;min-width:0}
.zt-fs legend{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding:0 8px}
.zt-inline{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}
.zt-inline .z-btn{margin-bottom:16px;min-height:54px}
@media (max-width:640px){.zt-inline{grid-template-columns:1fr}.zt-inline .z-btn{margin-bottom:0}}
.zt-hint{display:block;font-size:.8rem;color:var(--text-3);margin-top:6px;line-height:1.45}
.zt-opt{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:400}
.zt-note{font-size:.86rem;color:var(--text-3);margin:4px 0 0}
.zt-note.is-error{color:#ff8a9b}
.zt-count{font-family:var(--f-mono);font-size:.68rem;color:var(--text-3);letter-spacing:.04em;text-transform:none}
.zt-count.is-over{color:#ff8a9b}
.zt-w{font-style:normal;font-family:var(--f-mono);font-size:.7rem;font-weight:400;color:var(--accent);margin-left:6px;letter-spacing:.04em}
.zt-auto{display:inline-block;margin-left:8px;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);border:1px solid rgba(168,209,90,.4);border-radius:999px;padding:1px 8px}
.zt-auto[hidden]{display:none}

/* tabs */
.zt-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 22px;padding:4px;border:1px solid var(--line);border-radius:999px;width:max-content;max-width:100%}
.zt-tab{background:none;border:0;color:var(--text-2);font:inherit;font-size:.92rem;padding:9px 18px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
.zt-tab:hover{color:var(--text)}
.zt-tab.is-on{background:var(--accent);color:var(--accent-ink);font-weight:600}
.zt-tab:focus-visible,.zt-preset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[data-panel][hidden]{display:none}
.zt-assist{padding:20px;border:1px dashed var(--line-2);border-radius:var(--r);margin-bottom:18px}

/* results */
.zt-out{margin-top:26px;padding-top:26px;border-top:1px solid var(--line)}
.zt-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;transition:opacity .2s}
[data-results].is-dim{opacity:.4}
[data-results][hidden]{display:none}
.zt-stat{padding:18px 18px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);min-width:0}
.zt-stat__n{display:block;font-family:var(--f-display);font-size:clamp(1.5rem,3vw,2.1rem);color:var(--text);line-height:1.1;letter-spacing:-.02em;overflow-wrap:anywhere}
.zt-stat__l{display:block;font-size:.82rem;color:var(--text-3);margin-top:6px}
.zt-stat--main{border-color:rgba(185,151,247,.45);background:rgba(125,79,163,.16)}
.zt-stat--main .zt-stat__n{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.zt-stat--muted .zt-stat__n{font-size:1.15rem;color:var(--text-2)}
.zt-summary{margin:18px 0 0;color:var(--text-2);line-height:1.65}
.zt-summary b{color:var(--text)}
.zt-error{margin:0 0 16px;padding:14px 16px;border-radius:var(--r);border:1px solid rgba(255,138,155,.4);background:rgba(255,138,155,.08);color:#ffc1ca;font-size:.94rem}
.zt-error[hidden]{display:none}
.zt-loading{display:flex;align-items:center;gap:12px;color:var(--text-2)}
.zt-loading[hidden]{display:none}
.zt-spin{width:18px;height:18px;border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;animation:zt-spin .8s linear infinite}
@keyframes zt-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.zt-spin{animation-duration:2.4s}}
.zt-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:20px}
.zt-actions--left{margin-top:0}
.zt-verified{margin:22px 0 0;font-size:.8rem;color:var(--text-3);font-family:var(--f-mono);letter-spacing:.02em}
.zt-fixes{padding:20px 22px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.zt-fixes[hidden]{display:none}
.zt-fixes h3{margin:0 0 10px}
.zt-fixes ol{margin:0;padding-left:20px;display:grid;gap:12px;color:var(--text-2);font-size:.94rem}
.zt-fixes b{color:var(--text)}
.zt-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.zt-facts[hidden]{display:none}
.zt-fact{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);min-width:0}
.zt-fact--wide{grid-column:1/-1}
.zt-fact span{display:block;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.zt-fact b{display:block;color:var(--text);margin:4px 0 2px;overflow-wrap:anywhere}
.zt-fact em{font-style:normal;font-size:.8rem;color:var(--text-3)}
.zt-fact em.is-over{color:#ff8a9b}
@media (max-width:760px){.zt-facts{grid-template-columns:1fr 1fr}}

/* tables */
.zt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0}
.zt-table{width:100%;border-collapse:collapse;font-size:.9rem}
.zt-table th{text-align:left;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-weight:500;padding:10px 12px;border-bottom:1px solid var(--line-2);white-space:nowrap}
.zt-table td{padding:12px;border-bottom:1px solid var(--line);color:var(--text-2);vertical-align:top}
.zt-table td code,.zt-prose code,.zt-note code,.zt-summary code{font-family:var(--f-mono);font-size:.85em;color:var(--accent-hi);background:rgba(185,151,247,.1);padding:1px 6px;border-radius:4px;white-space:nowrap}
.zt-table--bots td:first-child{min-width:170px}
.zt-sub{display:block;font-size:.78rem;color:var(--text-3);margin-top:4px}
.zt-pill{display:inline-block;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:999px;border:1px solid var(--line-2);color:var(--text-2);white-space:nowrap}
.zt-pill--ok{color:var(--lime);border-color:rgba(168,209,90,.45);background:rgba(168,209,90,.08)}
.zt-pill--bad{color:#ff9fae;border-color:rgba(255,138,155,.45);background:rgba(255,138,155,.08)}
.zt-pill--warn{color:#ffd28a;border-color:rgba(255,210,138,.45);background:rgba(255,210,138,.08)}

/* crawler engines */
.zt-engines{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
@media (max-width:860px){.zt-engines{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.zt-engines{grid-template-columns:1fr}}
.zt-engine{padding:16px 18px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg-2)}
.zt-engine__n{display:block;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.zt-engine b{display:block;margin:6px 0 4px;color:var(--text);font-weight:600}
.zt-engine em{font-style:normal;font-size:.84rem;color:var(--text-3)}
.zt-engine--ok{border-color:rgba(168,209,90,.4)}
.zt-engine--ok b{color:var(--lime)}
.zt-engine--bad{border-color:rgba(255,138,155,.45)}
.zt-engine--bad b{color:#ff9fae}
.zt-engine--warn b{color:#ffd28a}
.zt-callouts{display:grid;gap:10px;margin-bottom:22px}
.zt-callout{margin:0;padding:12px 16px;border-radius:var(--r);border-left:3px solid var(--line-2);background:var(--bg-2);color:var(--text-2);font-size:.92rem}
.zt-callout--ok{border-left-color:var(--lime)}
.zt-callout--bad{border-left-color:#ff8a9b}
.zt-callout--warn{border-left-color:#ffd28a}

/* code output */
.zt-codehead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 8px}
.zt-codehead h3{margin:0}
.zt-pre{margin:0;padding:16px 18px;background:#141218;border:1px solid var(--line);border-radius:var(--r);font-family:var(--f-mono);font-size:.8rem;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:460px;overflow:auto}
.zt-steps{margin-top:24px}
.zt-steps ol{margin:10px 0 0;padding-left:20px;display:grid;gap:8px;color:var(--text-2);font-size:.94rem}
.zt-steps b{color:var(--text)}

/* checkboxes, switches, presets */
.zt-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (max-width:860px){.zt-checks{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.zt-checks{grid-template-columns:1fr}}
.zt-check{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;transition:border-color .2s}
.zt-check:hover{border-color:rgba(185,151,247,.4)}
.zt-check input{margin-top:4px;accent-color:var(--accent);width:16px;height:16px;flex:0 0 auto}
.zt-check b{display:block;color:var(--text);font-weight:600;font-size:.94rem}
.zt-check em{display:block;font-style:normal;font-size:.76rem;color:var(--text-3);overflow-wrap:anywhere}
.zt-check--inline{margin-top:12px}
.zt-tag-sm{display:inline-block;margin-top:4px;font-style:normal;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--lime)}
.zt-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
@media (max-width:760px){.zt-presets{grid-template-columns:1fr}}
.zt-preset{text-align:left;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;color:var(--text-2);font:inherit;cursor:pointer;transition:border-color .2s,background .2s}
.zt-preset b{display:block;color:var(--text);margin-bottom:4px}
.zt-preset span{font-size:.84rem}
.zt-preset.is-on{border-color:var(--accent);background:rgba(125,79,163,.2)}
.zt-type{font-size:.84rem}
.zt-type--search,.zt-type--user{color:var(--lime)}
.zt-type--training,.zt-type--control{color:var(--pink-300)}
.zt-switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}
.zt-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.zt-switch span{position:absolute;inset:0;border-radius:999px;background:rgba(255,255,255,.14);transition:background .2s}
.zt-switch span::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--text-2);transition:transform .2s,background .2s}
.zt-switch input:checked + span{background:var(--accent)}
.zt-switch input:checked + span::after{transform:translateX(20px);background:var(--accent-ink)}
.zt-switch input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.zt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.zt-file{position:relative;overflow:hidden;cursor:pointer}
.zt-file input{position:absolute;inset:0;opacity:0;cursor:pointer}

/* reference bars */
.zt-refs{margin-top:24px}
.zt-refs h3{margin:0 0 12px}
.zt-barrow{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr 60px;gap:14px;align-items:center;padding:8px 0;font-size:.88rem;color:var(--text-2)}
.zt-barrow__b{height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.zt-barrow__b i{display:block;height:100%;background:var(--purple-300);border-radius:999px}
.zt-barrow.is-you .zt-barrow__b i{background:var(--grad)}
.zt-barrow.is-ctr .zt-barrow__b i{background:repeating-linear-gradient(45deg,#b997f7 0 6px,#7d4fa3 6px 12px)}
.zt-barrow__v{font-family:var(--f-mono);text-align:right;color:var(--text)}
.zt-barrow.is-you{color:var(--text)}
@media (max-width:640px){.zt-barrow{grid-template-columns:1fr 54px}.zt-barrow__b{grid-column:1/-1;grid-row:2}}

/* details + content blocks */
.zt-details{max-width:980px;margin:18px auto 0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.zt-tool .zt-details,.asc .zt-details{background:transparent}
.zt-details > summary{cursor:pointer;padding:16px 20px;font-weight:600;color:var(--text);list-style:none;display:flex;justify-content:space-between;gap:12px}
.zt-details > summary::-webkit-details-marker{display:none}
.zt-details > summary::after{content:"+";font-family:var(--f-mono);color:var(--accent)}
.zt-details[open] > summary::after{content:"\2212"}
.zt-details > *:not(summary){padding-left:20px;padding-right:20px}
.zt-details > *:last-child{padding-bottom:18px}
.zt-details p,.zt-details li{color:var(--text-2);font-size:.92rem}
.zt-weights{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:760px){.zt-weights{grid-template-columns:1fr}}
.zt-prose ul{padding-left:20px;display:grid;gap:8px}
.zt-prose li{color:var(--text-2)}
.zt-prose a,.zt-list a,.zt-fixes a,.zt-details a,.zt-barrow a{color:var(--accent);text-decoration:underline;text-decoration-color:rgba(185,151,247,.4);text-underline-offset:3px}
.zt-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px)}
@media (max-width:860px){.zt-two{grid-template-columns:1fr}}
.zt-two h2{margin:8px 0 18px}
.zt-list{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.zt-list li{position:relative;padding-left:22px;color:var(--text-2);font-size:.96rem;line-height:1.6}
.zt-list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--accent);transform:rotate(45deg)}
.zt-list--warn li::before{background:var(--pink)}
.zt-proof{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;margin-top:clamp(36px,5vw,56px);padding:24px 28px;border:1px solid rgba(185,151,247,.3);border-radius:var(--r-lg);background:rgba(125,79,163,.14);color:inherit}
.zt-proof:hover{border-color:rgba(185,151,247,.55)}
.zt-proof__n{font-family:var(--f-display);font-size:clamp(2rem,4vw,3rem);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.zt-proof__t{color:var(--text-2)}
@media (max-width:760px){.zt-proof{grid-template-columns:1fr}}
.zt-reading{list-style:none;margin:0;padding:0;display:grid;gap:14px}

@media print{
  .site-header,.z-foot,.z-cta,.zt-actions,.zt-tabs,.zt-assist,[data-panel][hidden]{display:none!important}
  body{background:#fff;color:#000}
  .asc,.zt-tool{border:0;background:#fff}
  .asc__t,.asc__t b,.zt-summary,.zt-fixes,.zt-table td{color:#000!important}
}

/* tool page hero: longer, query-shaped H1s */
.zt-hero h1{font-size:clamp(2.1rem,4.4vw,3.5rem);max-width:22ch}
.zt-hero .z-crumb{flex-wrap:wrap;row-gap:4px}
.zt-hero .z-crumb a,.zt-hero .z-crumb span{white-space:nowrap}
