/* Free tools: website checker (/check) and engineering calculators (/tools/*). Loaded after site.css, v7.css, pages.css.
   Status colours are semantic (GO / CHECK / NO-GO) and only ever appear on the dark instrument panels. */
:root{--go:#4fd18b;--warn:#f2b84b;--nogo:#ff7b72;--panel:#081626;--panel-2:#0c1e33;--panel-line:rgba(130,170,215,.2)}

/* ---------- hero form ---------- */
.tl-hero .hero-in{align-items:start}
@media (min-width:981px){.tl-hero .hero-in{grid-template-columns:.9fr 1.1fr}}
.tl-hero h1{max-width:16ch}
.ck-form{margin-top:30px;max-width:520px}
.ck-form label{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted);margin-bottom:8px}
.ck-row{display:flex;gap:10px}
.ck-row input{flex:1;min-width:0;min-height:56px;padding:0 16px;border-radius:var(--r);border:1.5px solid rgba(150,180,215,.38);background:rgba(4,12,22,.55);color:#fff;font:500 1.08rem/1 var(--mono);letter-spacing:0}
.ck-row input::placeholder{color:#8396ab}
.ck-row input:focus{outline:none;border-color:var(--blue-2);box-shadow:0 0 0 3px rgba(59,161,255,.25)}
.ck-row .btn{min-height:56px}
.ck-help{margin-top:10px;font-size:.88rem;color:var(--d-muted)}
.ck-err{margin-top:10px;font-size:.95rem;color:var(--nogo);font-weight:600}
@media (max-width:560px){.ck-row{flex-direction:column}.ck-row .btn{width:100%}}

/* ---------- inspection report (signature) ---------- */
.report{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--panel-line);border-radius:16px;padding:clamp(18px,2.6vw,28px);box-shadow:0 60px 120px -60px rgba(10,132,237,.45),inset 0 1px 0 rgba(255,255,255,.06);color:var(--d-ink);scroll-margin-top:84px}
.rp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px dashed var(--panel-line)}
.rp-k{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-2)}
.rp-site{margin-top:6px;font:600 1.12rem/1.3 var(--mono);color:#fff;word-break:break-all}
.rp-date{font-family:var(--mono);font-size:.7rem;color:var(--d-muted);text-align:right;white-space:nowrap}
.rp-sum{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-family:var(--mono);font-size:.82rem;color:var(--d-muted)}
.rp-sum b{font-size:1.5rem;font-weight:600;margin-right:6px;vertical-align:-2px}
.rp-sum .s-nogo b{color:var(--nogo)}.rp-sum .s-warn b{color:var(--warn)}.rp-sum .s-go b{color:var(--go)}
.rp-list{list-style:none;margin:10px 0 0;padding:0}
.rp-list li{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:12px 0;border-bottom:1px solid rgba(130,170,215,.1)}
.rp-list li:last-child{border-bottom:0}
.rp-list .lb{font-weight:620;font-size:.98rem;color:#fff;line-height:1.35}
.rp-list .dt{grid-column:1/-1;font-size:.9rem;line-height:1.5;color:var(--d-muted);max-width:62ch}
.stamp{align-self:start;justify-self:end;min-width:74px;text-align:center;font:600 .72rem/1 var(--mono);letter-spacing:.12em;padding:7px 9px;border:1.5px dashed rgba(150,180,215,.35);border-radius:4px;color:rgba(150,180,215,.55)}
.stamp.go{color:var(--go);border:1.5px solid currentColor;transform:rotate(-2deg)}
.stamp.warn{color:var(--warn);border:1.5px solid currentColor;transform:rotate(1.5deg)}
.stamp.nogo{color:var(--nogo);border:2px solid currentColor;transform:rotate(-2.5deg)}
.report.busy .stamp{animation:scan 1.1s ease-in-out infinite;animation-delay:calc(var(--i,0) * 90ms)}
@keyframes scan{0%,100%{opacity:.35}50%{opacity:1;border-color:var(--blue-2)}}
@media (prefers-reduced-motion:no-preference){
  .stamp.pressed{animation:press .32s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:calc(var(--i,0) * 70ms)}
  @keyframes press{from{opacity:0;scale:1.5}to{opacity:1;scale:1}}
}
@media (prefers-reduced-motion:reduce){.report.busy .stamp{animation:none}}
.rp-cta{margin-top:14px;padding:16px;border:1px solid rgba(59,161,255,.35);border-radius:12px;background:rgba(10,132,237,.08)}
@media (min-width:981px){.tl-hero .hero-copy{position:sticky;top:96px}}
.rp-cta p{color:var(--d-ink);font-weight:600;font-size:1.02rem}
.rp-cta .cta-row{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px}
.rp-cta .note{margin-top:10px;font-size:.82rem;color:var(--d-muted)}







.link-btn.dk{color:var(--blue-2);background:none;border:0;padding:0;font:inherit;text-decoration:underline;cursor:pointer}

/* ---------- what we check (light section) ---------- */
.ck-what{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px clamp(28px,4vw,56px);margin-top:34px;max-width:1000px}
.ck-what div{display:grid;grid-template-columns:36px 1fr;gap:4px 14px;align-items:start}
.ck-what i{font-size:1.5rem;color:var(--blue);grid-row:span 2;margin-top:2px}
.ck-what b{font-size:1.05rem;color:var(--ink)}
.ck-what span{color:var(--muted);font-size:.98rem;line-height:1.55}
@media (prefers-color-scheme:dark){.ck-what i{color:var(--blue-2)}}
@media (max-width:760px){.ck-what{grid-template-columns:1fr}}

/* ---------- calculators: DRO readout (signature) ---------- */
.calc{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--panel-line);border-radius:16px;padding:clamp(18px,2.6vw,28px);color:var(--d-ink);box-shadow:0 60px 120px -60px rgba(10,132,237,.45),inset 0 1px 0 rgba(255,255,255,.06)}
.calc fieldset{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.calc legend{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-2);margin-bottom:12px;padding:0}
.calc label{display:grid;gap:6px;font-size:.86rem;font-weight:600;color:var(--d-ink)}
.calc .in{display:flex;align-items:stretch;border:1.5px solid rgba(150,180,215,.32);border-radius:var(--r);background:rgba(4,12,22,.5);overflow:hidden}
.calc .in:focus-within{border-color:var(--blue-2);box-shadow:0 0 0 3px rgba(59,161,255,.2)}
.calc input,.calc select{flex:1;min-width:0;min-height:46px;border:0;background:transparent;color:#fff;padding:0 12px;font:500 1.02rem var(--mono)}
.calc select{font-family:var(--font);font-size:.98rem;cursor:pointer}
.calc select option{color:#0b1622}
.calc input:focus,.calc select:focus{outline:none}
.calc .u{display:flex;align-items:center;padding:0 12px;font:500 .8rem var(--mono);color:var(--d-muted);background:rgba(255,255,255,.04);border-left:1px solid rgba(150,180,215,.18);white-space:nowrap}
.calc .wide{grid-column:1/-1}
.calc .hint{font-weight:400;font-size:.8rem;color:var(--d-muted)}
@media (max-width:520px){.calc fieldset{grid-template-columns:1fr}}
.dro{margin-top:20px;border-radius:12px;background:#030b15;border:1px solid rgba(59,161,255,.22);padding:16px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.dro div{min-width:0}
.dro .k{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted)}
.dro .v{margin-top:4px;font:500 clamp(1.4rem,1rem + 1.6vw,2.05rem)/1.1 var(--mono);color:#e9f4ff;font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere}
.dro .v small{font-size:.5em;color:var(--blue-2);margin-left:6px;letter-spacing:.04em}
.dro .main .v{color:#fff;text-shadow:0 0 18px rgba(59,161,255,.35)}
.dro .sub{margin-top:2px;font-family:var(--mono);font-size:.74rem;color:var(--d-muted)}
.dro .full{grid-column:1/-1}
@media (max-width:420px){.dro{grid-template-columns:1fr}}
.calc-note{margin-top:12px;font-size:.82rem;color:var(--d-muted)}
.calc-err{margin-top:12px;color:var(--warn);font-size:.9rem;font-weight:600}

/* formula block in light sections */
.formula{margin-top:18px;padding:16px 18px;border-left:3px solid var(--blue);background:var(--card);border-radius:0 var(--r) var(--r) 0;font:500 .98rem/1.7 var(--mono);color:var(--ink);overflow-x:auto}
.prose ul.plain{margin:14px 0 0;padding-left:20px;color:var(--ink-2)}
.prose ul.plain li{margin-top:6px}

/* tools index */
.tl-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}
.tl-list a{display:grid;grid-template-columns:44px 1fr;gap:6px 16px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s var(--ease)}
.tl-list a:hover{border-color:var(--blue);transform:translateY(-2px)}
.tl-list i{font-size:1.9rem;color:var(--blue);grid-row:span 2}
.tl-list b{font-size:1.1rem}
.tl-list span{color:var(--muted);font-size:.95rem;line-height:1.5}
.tl-list .feat{grid-column:1/-1;background:var(--n-850);border-color:rgba(59,161,255,.35);color:var(--d-ink)}
.tl-list .feat b{color:#fff}.tl-list .feat span{color:var(--d-muted)}.tl-list .feat i{color:var(--blue-2)}
@media (prefers-color-scheme:dark){.tl-list i{color:var(--blue-2)}}
@media (max-width:760px){.tl-list{grid-template-columns:1fr}}

/* "want this on your site" strip under each calculator */
.own{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:22px clamp(18px,3vw,30px);border:1px solid var(--line);border-radius:14px;background:var(--card);margin-top:34px}
.own b{display:block;font-size:1.12rem;color:var(--ink)}
.own span{color:var(--muted);font-size:.96rem}
@media (max-width:700px){.own{grid-template-columns:1fr}}
.calc .in select.u{flex:0 0 auto;min-height:46px;padding:0 10px;font:500 .8rem var(--mono);color:var(--d-muted);background:rgba(255,255,255,.04);border-left:1px solid rgba(150,180,215,.18)}
.prose a.btn-blue,.own a.btn-blue{color:#fff;text-decoration:none}

/* ---------- report: /reports/* ---------- */
.rp-hero .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(28px,5vw,64px);align-items:end}
@media (max-width:860px){.rp-hero .wrap{grid-template-columns:1fr}}
.rp-hero h1{max-width:18ch}
.rp-hero .cta-row{margin-top:26px}
.hero-fig{border-left:2px solid var(--blue-2);padding:6px 0 6px 22px}
.hf-v{font:700 clamp(3.4rem,2.2rem + 5vw,5.6rem)/1 var(--font);font-variation-settings:"wdth" 112;color:#fff;letter-spacing:-.03em}
.hf-k{margin-top:10px;color:var(--d-muted);font-size:1rem;max-width:30ch}
.rp-sub{margin-top:12px;color:var(--muted);max-width:64ch}
.rchart{margin:28px 0 0;max-width:900px}
.rbars{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rb{display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:14px;align-items:center;padding:4px 0;cursor:default;border-radius:4px}
.rb:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.rb-l{font-size:.98rem;font-weight:600;color:var(--ink);line-height:1.3}
.rb-t{display:flex;align-items:center;gap:10px;min-width:0}
.rb-f{display:block;height:22px;width:calc(var(--w) * .82);min-width:3px;background:var(--bar,#0a84ed);border-radius:0 4px 4px 0;transition:opacity .2s}
.rb-v{font:600 .95rem var(--mono);color:var(--ink);white-space:nowrap}
.rbars:hover .rb-f{opacity:.55}.rbars .rb:hover .rb-f,.rbars .rb:focus .rb-f{opacity:1}
@media (prefers-color-scheme:dark){.rb-f{--bar:#2f8fe8}}
@media (max-width:560px){.rb{grid-template-columns:1fr;gap:6px}}
.rtip{margin-top:14px;padding:10px 14px;border-left:3px solid var(--blue);background:var(--card);color:var(--ink-2);font-size:.95rem;border-radius:0 var(--r) var(--r) 0}
.rchart figcaption{margin-top:16px;color:var(--muted);font-size:.92rem}
.rtable{margin-top:14px}
.rtable summary{cursor:pointer;color:var(--blue-ink);font-weight:600;font-size:.95rem}
@media (prefers-color-scheme:dark){.rtable summary{color:var(--blue-2)}}
.rtable table,.rstate{width:100%;border-collapse:collapse;margin-top:12px;font-size:.95rem;color:var(--ink)}
.rtable th,.rtable td,.rstate th,.rstate td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line)}
.rtable td,.rstate td{font-family:var(--mono);font-variant-numeric:tabular-nums}
.rstate thead th,.rtable thead th{font-size:.78rem;color:var(--muted);font-weight:600}
.rtable-wrap{margin-top:24px;overflow-x:auto;max-width:900px}
