/* ============================================================
   Website Health Check tool
   ============================================================ */
.hc-search{max-width:620px;margin:0 auto}
.hc-form{display:flex;gap:.5rem;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:.45rem .45rem .45rem 1.3rem;align-items:center;box-shadow:var(--sh-1);transition:border-color .2s,box-shadow .2s}
.hc-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-050)}
.hc-form input{flex:1;background:none;border:none;font-size:var(--fs-base);min-width:0}
.hc-form .btn{flex-shrink:0;border-radius:var(--r-pill)}
.hc-note{text-align:center;font-size:var(--fs-sm);color:var(--ink-3);margin-top:.9rem;display:flex;gap:.4rem;align-items:center;justify-content:center}
.hc-note svg{width:14px;height:14px;color:var(--good)}

/* loading */
.hc-loading{display:none;text-align:center;padding:3rem 0}
.hc-loading.on{display:block}
.hc-spin{width:46px;height:46px;border-radius:50%;border:4px solid var(--paper-3);border-top-color:var(--accent);margin:0 auto 1.2rem;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hc-loading p{color:var(--ink-2);font-weight:600}
.hc-loading small{display:block;color:var(--ink-3);margin-top:.3rem;font-weight:400}

.hc-error{display:none;max-width:560px;margin:1.5rem auto 0;text-align:center;background:#fdecea;border:1px solid #f3c3bd;color:#a3271a;border-radius:var(--r);padding:1rem 1.2rem;font-size:var(--fs-sm)}
.hc-error.on{display:block}

/* result */
.hc-result{display:none;margin-top:2.5rem}
.hc-result.on{display:block}
.hc-top{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.5rem,3vw,2.2rem)}
@media(max-width:620px){.hc-top{grid-template-columns:1fr;text-align:center;justify-items:center}}
.gauge{width:160px;height:160px;position:relative;flex-shrink:0}
.gauge svg{transform:rotate(-90deg)}
.gauge .gt{fill:none;stroke:var(--paper-3);stroke-width:12}
.gauge .gf{fill:none;stroke-width:12;stroke-linecap:round;stroke-dasharray:440;stroke-dashoffset:440;transition:stroke-dashoffset 1.3s var(--ease-out)}
.gauge .gn{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gauge .gn b{font-family:var(--display);font-size:2.7rem;font-weight:800;line-height:1;color:var(--ink)}
.gauge .gn span{font-size:var(--fs-xs);color:var(--ink-3);font-weight:600}
.hc-verdict h2{font-size:var(--fs-lg);margin-bottom:.4rem}
.hc-verdict .hc-host{font-family:var(--mono,inherit);font-size:var(--fs-sm);color:var(--ink-3);word-break:break-all}
.hc-verdict p{font-size:var(--fs-base);color:var(--ink-2);margin-top:.6rem;max-width:52ch}

.hc-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-top:1.2rem}
@media(max-width:680px){.hc-cards{grid-template-columns:1fr 1fr}}
.hc-card2{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem}
.hc-card2 .c-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.6rem}
.hc-card2 .c-lbl{font-size:var(--fs-sm);font-weight:600}
.hc-card2 .c-val{font-family:var(--display);font-weight:800;font-size:1.2rem}
.hc-bar2{height:6px;border-radius:4px;background:var(--paper-3);overflow:hidden}
.hc-bar2 i{display:block;height:100%;border-radius:4px;width:0;transition:width 1s var(--ease-out)}
.s-good{color:var(--good)} .s-warn{color:var(--warn)} .s-bad{color:var(--bad)}
.b-good{background:var(--good)} .b-warn{background:var(--warn)} .b-bad{background:var(--bad)}

.hc-list{margin-top:1.6rem}
.hc-list h3{font-size:var(--fs-md);margin-bottom:1rem}
.hc-item{display:flex;gap:.85rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--line-2)}
.hc-item .ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;margin-top:1px}
.hc-item .ic svg{width:15px;height:15px}
.hc-item.good .ic{background:#e3f5ec;color:var(--good)}
.hc-item.warn .ic{background:#fbf0db;color:var(--warn)}
.hc-item.bad .ic{background:#fdeae7;color:var(--bad)}
.hc-item .lbl{font-weight:600;font-size:var(--fs-base)}
.hc-item .det{font-size:var(--fs-sm);color:var(--ink-2);margin-top:.15rem}
.hc-item .cat{font-size:var(--fs-xs);color:var(--ink-3);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-left:auto;flex-shrink:0;padding-top:.2rem}

.hc-cta{margin-top:2rem;background:var(--navy);color:#fff;border-radius:var(--r-xl);padding:clamp(1.6rem,3vw,2.3rem);text-align:center}
.hc-cta h3{color:#fff;font-size:var(--fs-lg);margin-bottom:.5rem}
.hc-cta p{color:var(--on-navy-mute);max-width:50ch;margin:0 auto 1.4rem}
