*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:#f0f2f5;min-height:100vh;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.container{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:480px;margin:0 auto;padding:2rem 1.5rem;box-shadow:0 4px 24px rgba(0,0,0,.1)}.container h1{color:#1a1a2e;margin-bottom:1.5rem;font-size:1.6rem;font-weight:700}.status{border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1.2rem;display:flex}.status .status-icon{font-size:2.5rem;line-height:1}.status p{font-size:1.1rem;font-weight:600}.status.ok{color:#1a7a4a;background:#e6f9ef}.status.ok .status-icon{color:#22c55e}.status.bad{color:#b91c1c;background:#fff0f0}.status.bad .status-icon{color:#ef4444}.status.unknown{color:#64748b;background:#f1f5f9}.status-label{font-size:1.2rem}.results{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}.results .metric{background:#f8fafc;border-radius:10px;flex-direction:column;gap:.2rem;padding:.75rem .5rem;display:flex}.results .metric .label{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-size:.75rem;font-weight:600}.results .metric .value{color:#1e293b;font-size:1.1rem;font-weight:700}.timestamp{color:#94a3b8;margin-bottom:1.5rem;font-size:.85rem}.run-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;width:100%;padding:.85rem 2rem;font-size:1rem;font-weight:600;transition:background .15s,opacity .15s;display:inline-block}.run-btn:hover:not(:disabled){background:#1d4ed8}.run-btn:disabled{color:#94a3b8;cursor:not-allowed;background:#cbd5e1}.cooldown{color:#94a3b8;margin-top:.6rem;font-size:.82rem}.error{color:#b91c1c;background:#fff0f0;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.section-label{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:.5rem;font-size:.75rem;font-weight:700}.divider{border:none;border-top:1px solid #f1f5f9;margin:1.25rem 0}.status.small{flex-direction:row;justify-content:center;gap:.5rem;padding:.7rem 1rem}.status.small .status-icon{font-size:1.1rem}.status.small p{font-size:.95rem}.running-banner{color:#1d4ed8;background:#eff6ff;border-radius:10px;justify-content:center;align-items:center;gap:.6rem;margin-bottom:1.5rem;padding:1rem;font-size:.95rem;font-weight:600;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2.5px solid #93c5fd;border-top-color:#2563eb;border-radius:50%;flex-shrink:0;width:1.1em;height:1.1em;animation:.8s linear infinite spin;display:inline-block}.spinner.small-inline{border-width:2px;width:.85em;height:.85em}.host-list{flex-direction:column;gap:.5rem;margin-bottom:.5rem;display:flex}.host-row{background:#f8fafc;border-radius:10px;align-items:center;gap:.6rem;padding:.65rem .9rem;display:flex}.host-row .host-name{color:#1e293b;text-align:left;word-break:break-all;flex:1;font-size:.95rem;font-weight:600}.host-row .host-meta{align-items:center;gap:.4rem;font-size:.82rem;display:flex}.host-row .host-status{font-size:1rem;font-weight:700}.host-row .host-status.ok{color:#22c55e}.host-row .host-status.bad{color:#ef4444}.host-row .host-status.unknown{color:#94a3b8}.host-row .host-status.checking{align-items:center;display:flex}.host-row .host-age{color:#94a3b8;white-space:nowrap;font-size:.78rem}.check-btn{color:#3730a3;cursor:pointer;white-space:nowrap;background:#e0e7ff;border:none;border-radius:7px;padding:.35rem .75rem;font-size:.82rem;font-weight:600;transition:background .15s}.check-btn:hover:not(:disabled){background:#c7d2fe}.check-btn:disabled{color:#cbd5e1;cursor:not-allowed;background:#f1f5f9}.no-hosts{color:#94a3b8;margin-bottom:.5rem;font-size:.88rem}.no-hosts code{background:#f1f5f9;border-radius:4px;padding:.1em .3em;font-size:.85em}