
html.in .out-only,html:not(.in) .in-only{display:none!important}
:root{--bg:#f7f8fa;--card:#fff;--field:#858d9b;--ink:#0f1623;--ink2:#2b3445;--muted:#5d6676;--line:#e3e6ec;--line2:#eef0f4;--brand:#1f4fd8;--brand-2:#173fb0;--brand-ink:#fff;--brand-soft:#eaf0ff;
--high:#b42318;--high-bg:#fdecea;--med:#a15c00;--med-bg:#fff3dc;--low:#2557c7;--low-bg:#eaf0fd;--ok:#127a43;--ok-bg:#e3f5ea;--code:#f2f4f7;--hero:#0d1424;--hero-ink:#e8ecf4;--hero-muted:#9aa6bb;
--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235d6676' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@media (prefers-color-scheme:dark){:root{--bg:#0d1117;--card:#151b24;--field:#677386;--ink:#e8ebf1;--ink2:#c9cfda;--muted:#97a1b1;--line:#262e3b;--line2:#1d2430;--brand:#6b93ff;--brand-2:#8eadff;--brand-ink:#0b1020;--brand-soft:#17223d;
--high:#ff8a80;--high-bg:#3a1714;--med:#ffb454;--med-bg:#36270f;--low:#93b4ff;--low-bg:#18243f;--ok:#62d394;--ok-bg:#11301f;--code:#1b222d;--hero:#0a0f1a;
--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2397a1b1' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:70px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--brand)}h1,h2,h3{line-height:1.2;letter-spacing:-.015em;margin:0 0 .4em}
code,pre,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
header.top{border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:5}
header.top .wrap{display:flex;align-items:center;gap:16px;min-height:58px;flex-wrap:wrap}
.logo{font-weight:800;font-size:20px;letter-spacing:-.02em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:9px}.wm-is{font-weight:500;color:var(--brand)}.wm-q{color:#ff4d4f}
.spacer{flex:1}
nav.top{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:15px}
nav.top a,nav.top button{color:var(--muted);text-decoration:none;background:none;border:0;cursor:pointer;padding:0;font:inherit}
nav.top a:hover,nav.top button:hover{color:var(--ink)}
nav.top a.btn{background:var(--brand);color:var(--brand-ink);padding:5px 12px}nav.top a.btn:hover{background:var(--brand-2);color:var(--brand-ink)}
.menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px;background:none;border:0;border-radius:8px;color:var(--ink);cursor:pointer}.menu-btn:hover{background:var(--line2)}.menu-btn .i-close,.menu-btn[aria-expanded=true] .i-menu{display:none}.menu-btn[aria-expanded=true] .i-close{display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--brand);color:var(--brand-ink);border:1px solid var(--brand);border-radius:8px;padding:10px 16px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--brand-2)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{background:var(--line2)}
.btn.small{padding:5px 10px;font-size:14px;border-radius:7px}.btn:disabled{opacity:.55;cursor:default}
.btn.danger{background:transparent;color:var(--high);border-color:var(--line)}
input[type=email],input[type=url],input[type=text],input[type=search],textarea{width:100%;padding:10px 12px;border:1px solid var(--field);border-radius:8px;background:var(--card);color:var(--ink);font:inherit}
select{-webkit-appearance:none;appearance:none;padding:10px 36px 10px 12px;border:1px solid var(--line);border-radius:8px;background-color:var(--card);background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 13px center;color:var(--ink);font:inherit;cursor:pointer}
textarea{min-height:110px;font-family:ui-monospace,Menlo,monospace;font-size:14px}
label.field{display:block;font-weight:600;font-size:14px;margin:14px 0 6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}
.note,.muted{color:var(--muted)}.note{font-size:14px}.small{font-size:14px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline{display:inline}
.url{overflow-wrap:anywhere}
.flash{padding:11px 14px;border-radius:8px;margin:0 0 18px;background:var(--low-bg)}.flash.error{background:var(--high-bg)}.flash.ok{background:var(--ok-bg)}
.upsell{display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;border-color:var(--brand);background:var(--brand-soft);margin:0 0 22px;padding:18px 22px}
.upsell .body{flex:1 1 420px;min-width:0}.upsell h2{font-size:18px;margin:0 0 4px}.upsell p{margin:0;color:var(--ink2)}
.upsell .cta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right;max-width:100%}.upsell .cta .note{margin:0;font-size:13px;max-width:340px}
.upsell form.inline{display:block;max-width:100%}.upsell .btn{white-space:normal;text-align:center}
.planbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin:2px 0 20px;font-size:14px;color:var(--muted)}.planbar b{color:var(--ink);font-weight:600}.alert-text{color:var(--high);font-weight:600}
.mini{display:inline-block;width:64px;height:6px;border-radius:99px;background:var(--line);vertical-align:middle;margin-left:8px;overflow:hidden}.mini i{display:block;height:100%;background:var(--brand)}.mini i.full{background:var(--high)}
.meter .bar{height:8px;background:var(--code);border-radius:99px;overflow:hidden;margin-top:8px}.meter .bar i{display:block;height:100%;background:var(--brand)}.meter .bar i.full{background:var(--high)}.meter .note{margin:6px 0 0;font-size:13px}
.meters{display:grid;gap:14px 32px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));margin-top:18px;padding-top:16px;border-top:1px solid var(--line2)}
.plan-summary{margin:0 0 30px}.plan-summary .name{font-size:22px;font-weight:700;line-height:1.2}.plan-summary .name small{font-size:15px;font-weight:500;color:var(--muted)}
.plan{display:flex;flex-direction:column}.plan ul{flex:1}.plan .diff{font-size:13px;line-height:18px;color:var(--muted);margin:2px 0 0;min-height:18px}.plan .warn{font-size:13px;color:var(--med);margin:0 0 10px}.plan form .btn{width:100%}
.plan h3 .chip.now{background:var(--ok-bg);color:var(--ok)}
.plan li .hl{display:inline-block;margin-left:6px;padding:0 7px;border-radius:99px;font-size:12px;font-weight:600;line-height:20px;vertical-align:1px}.plan li.gain .hl{background:var(--ok-bg);color:var(--ok)}.plan li.tight .hl{background:var(--high-bg);color:var(--high)}
.planbar .pb-change{margin-left:auto}.planbar .pb-item{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.btn-up{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:99px;padding:4px 12px 4px 9px;font:inherit;font-size:13px;font-weight:700;line-height:18px;letter-spacing:.01em;color:#fff;background:linear-gradient(120deg,#1f4fd8,#7c3aed 60%,#c026d3);background-size:150% 100%;background-position:0 0;box-shadow:0 1px 2px rgba(31,79,216,.3),0 6px 16px -6px rgba(124,58,237,.7);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-position .3s,transform .12s,box-shadow .12s}
.btn-up:hover{background-position:100% 0;transform:translateY(-1px);box-shadow:0 2px 4px rgba(31,79,216,.3),0 10px 22px -8px rgba(192,38,211,.7);color:#fff}.btn-up:active{transform:none}
.btn-up:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn-up svg{width:14px;height:14px;flex:none}
.btn-up.soft{color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 30%,transparent)}.btn-up.soft:hover{color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}
.btn-up.lg{font-size:15px;padding:9px 18px 9px 14px;line-height:20px}.btn-up.lg svg{width:16px;height:16px}
.limit-note{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
.pressure ul{margin:6px 0 8px;padding-left:20px}.pressure li b{color:var(--ink)}.meter .bar i.near{background:var(--med)}
h2.sub-head{font-size:20px;margin:0 0 14px}
@media (min-width:761px){.planbar{margin-top:16px}}@media (max-width:760px){.planbar{margin-top:14px}}
@media (max-width:760px){.upsell{padding:16px}.upsell .cta{align-items:stretch;text-align:left;flex:1 1 100%}.upsell .cta .note{max-width:none}.upsell .btn{width:100%}.planbar{gap:6px 16px}}
.badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.b-alert,.b-down,.b-high,.b-fail{background:var(--high-bg);color:var(--high)}.b-partial,.b-warning,.b-medium,.b-warn{background:var(--med-bg);color:var(--med)}
.b-low,.b-pending,.b-info,.b-note{background:var(--low-bg);color:var(--low)}.b-clean,.b-pass{background:var(--ok-bg);color:var(--ok)}
.b-unreachable,.b-skip,.b-paused{background:var(--code);color:var(--muted)}
.chip{display:inline-block;font-size:12px;padding:1px 8px;border-radius:99px;background:var(--code);color:var(--muted)}
table{width:100%;border-collapse:collapse;font-size:15px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line2);vertical-align:top}
th{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:0}
.table-wrap{overflow-x:auto}
pre{background:var(--code);border-radius:8px;padding:10px 12px;white-space:pre-wrap;word-break:break-all;margin:8px 0;font-size:13px}
details>summary{cursor:pointer}
.hero{background:var(--hero);color:var(--hero-ink);padding:64px 0 56px}
.hero .grid2{display:grid;gap:40px;grid-template-columns:1.1fr .9fr;align-items:center}
@media (max-width:880px){.hero .grid2{grid-template-columns:1fr}}
.eyebrow{display:inline-block;font-size:13px;font-weight:600;color:#b9c8ff;background:rgba(107,147,255,.14);border:1px solid rgba(107,147,255,.3);padding:4px 10px;border-radius:99px;margin-bottom:18px}
.hero h1{font-size:clamp(32px,5vw,50px);margin:0 0 16px;color:#fff}
.hero p.lead{font-size:19px;color:var(--hero-muted);margin:0 0 26px;max-width:620px}
.hero .note{color:var(--hero-muted)}
.signup{display:flex;gap:10px;max-width:520px;flex-wrap:wrap;align-items:flex-end}.signup input{flex:1 1 240px}
.signup-field{flex:1 1 240px;display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}.signup .signup-field input{flex:none;width:100%}
.fb-label{display:block;font-size:14px;font-weight:600;margin:12px 0 4px}.fb .fb-label+textarea{margin-top:0}
.hero .signup input{background:#121b2e;border-color:#6676a0;color:#fff;font-size:17px}.hero .signup .btn{font-size:17px}
.mock{background:#111a2c;border:1px solid #26314a;border-radius:14px;padding:18px;font-size:14px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.mock .mrow{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #1e2840}.mock .mrow:last-child{border:0}
.mock .t{color:#e8ecf4;font-weight:600}.mock .d{color:#8f9bb3;font-size:13px}
.stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:30px;color:var(--hero-muted);font-size:14px}.stats b{display:block;color:#fff;font-size:22px}
section{padding:52px 0}section h2{font-size:30px}section .sub{color:var(--muted);margin:0 0 26px;max-width:720px;font-size:17px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.grid .card h3{font-size:17px}a.guide-card{text-decoration:none;color:inherit;display:block}a.guide-card:hover{border-color:var(--brand)}a.guide-card h3{color:var(--ink)}.grid .card p{margin:0;color:var(--muted);font-size:15px}
.grid .card ul{margin:8px 0 0;padding-left:18px;color:var(--ink2);font-size:15px}.grid .card li{margin:3px 0}
.price{font-size:36px;font-weight:800}.price small{font-size:15px;color:var(--muted);font-weight:500}
.plan ul{padding-left:18px;color:var(--ink2);font-size:15px;margin:12px 0 18px}.plan.featured{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 16px 16px 52px;position:relative}
.steps li:before{counter-increment:s;content:counter(s);position:absolute;left:16px;top:15px;width:26px;height:26px;border-radius:50%;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-weight:700;font-size:14px}
.code{background:#0d1424;color:#d6def0;border-radius:12px;padding:16px 18px;font-size:13px;overflow-x:auto;white-space:pre}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}.faq summary{font-weight:600}.faq p{color:var(--muted);margin:8px 0 0}
footer{border-top:1px solid var(--line);margin-top:30px;padding:26px 0 72px;color:var(--muted);font-size:14px}
footer .foot{display:grid;gap:24px;grid-template-columns:1.4fr 1fr 1.3fr .8fr}@media (max-width:820px){footer .foot{grid-template-columns:1fr 1fr}footer .foot-brand{grid-column:1/-1}}@media (max-width:480px){footer .foot{grid-template-columns:1fr;gap:16px}}footer h4{margin:0 0 8px;color:var(--ink);font-size:14px}footer .foot a{display:block;color:var(--muted);text-decoration:none;margin:4px 0}footer .foot a:hover{color:var(--ink)}footer .foot-brand p{margin:10px 0 0;max-width:300px}footer .foot-brand .logo{display:flex}
main.app{padding-top:26px;padding-bottom:20px}.narrow{max-width:520px;margin:48px auto}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 10px}.toolbar input[type=search]{flex:1 1 220px;max-width:340px;height:38px;padding:0 12px;font-size:14px}.toolbar select{height:38px;padding-top:0;padding-bottom:0;font-size:14px;max-width:220px}#shown{white-space:nowrap}
.top-issue{color:var(--ink2)}
.linkish{all:unset;cursor:pointer;color:var(--brand);font-size:14px}.linkish:hover{text-decoration:underline}.linkish:focus-visible{outline:2px solid var(--brand)}.linkish[hidden]{display:none}
main.app.dash{max-width:1440px}.dash-grid{display:grid;gap:20px;align-items:start}.dash-main{min-width:0}
.side{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 10px 8px;margin:0 0 12px}.side-head{display:none;align-items:center;gap:8px;margin:0 4px 10px}.side-head h2{font-size:15px;margin:0}
.side>summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;gap:4px;min-height:32px;padding:0 4px}.side>summary::-webkit-details-marker{display:none}.side>summary:after{content:"▾";margin-left:auto;color:var(--muted)}.side[open]>summary{margin-bottom:8px}.side:not([open])>summary:after{content:"▸"}
.side .chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 4px 10px}
.chip-f{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--card);color:var(--ink2);border-radius:99px;padding:3px 10px;cursor:pointer}.chip-f:hover{border-color:var(--muted)}
.chip-f[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--ink);box-shadow:0 0 0 1px var(--brand)}.chip-f .n{color:var(--muted);font-variant-numeric:tabular-nums}
.chip-f.s-high:before,.chip-f.s-medium:before,.chip-f.s-low:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px}
.s-high:before,.w-high:before,.m-high:before{background:var(--high)}.s-medium:before,.w-medium:before,.m-medium:before{background:var(--med)}.s-low:before,.w-low:before,.m-low:before{background:var(--low)}
.side input[type=search]{width:100%;box-sizing:border-box;height:36px;font-size:14px;margin:0 0 4px}
.side section{padding:0}.side h3{margin:12px 0 2px;padding:0 4px;font-size:inherit;line-height:1.2}.area-f{all:unset;cursor:pointer;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.area-f:hover{color:var(--ink2)}.area-f:focus-visible{outline:2px solid var(--brand)}.area-f[aria-pressed=true]{color:var(--brand)}
.side ul{list-style:none;margin:0;padding:0}.side li[hidden],.side section[hidden]{display:none}
.iss-f{all:unset;box-sizing:border-box;display:flex;gap:8px;align-items:baseline;width:100%;padding:5px 6px;border-radius:7px;cursor:pointer;font-size:14px;line-height:1.3;color:var(--ink2)}
.iss-f:hover{background:var(--line2)}.iss-f:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.iss-f[aria-pressed=true]{background:var(--brand-soft);color:var(--ink);font-weight:600}
.iss-f .il{flex:1;min-width:0;overflow-wrap:anywhere}.iss-f .n{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}
.iss-f .nw{font-size:11px;font-weight:700;color:var(--high);white-space:nowrap}.iss-f .nw[hidden]{display:none}
.iss-f.w-high:before,.iss-f.w-medium:before,.iss-f.w-low:before{content:"";width:7px;height:7px;border-radius:50%;flex:none;align-self:center}
.vals{margin:2px 0 6px 10px!important;padding-left:6px!important;border-left:1px solid var(--line);max-height:260px;overflow:auto}.vals[hidden]{display:none}.vals .iss-f{font-size:13px;padding:3px 6px}
.side-empty{padding:0 4px}
.bulk{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 25%,transparent);border-radius:10px;padding:8px 12px;margin:0 0 10px;font-size:14px}.bulk[hidden],.bulk form[hidden]{display:none}
.matches{list-style:none;margin:0;padding:0}.matches li{padding:1px 0}.matches li[hidden]{display:none}.matches li:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px}
/* Needs attention: what someone has to act on now, above the list. */
.att{padding:0;margin:4px 0 20px}.att-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:0 0 8px}.att-head h2{font-size:16px;margin:0}.att-head .n{display:inline-block;min-width:22px;padding:0 7px;margin-left:4px;border-radius:99px;background:var(--high-bg);color:var(--high);font-size:13px;text-align:center}
.att-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.att-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:9px;row-gap:1px;height:100%;padding:9px 12px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--high);border-radius:10px;color:var(--ink);text-decoration:none;font-size:14px}
.att-item:hover{border-color:var(--high);box-shadow:0 2px 10px rgba(5,10,20,.06)}.att-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.att-host{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-kind{font-size:12px;font-weight:700;color:var(--high);white-space:nowrap}
.att-why{grid-column:2/-1;font-size:13px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-unreachable{border-left-color:var(--med)}.att-unreachable .dot{background:var(--med)}.att-unreachable .att-kind{color:var(--med)}
.att-ok{display:flex;align-items:center;gap:10px;margin:4px 0 20px;padding:10px 14px;border-radius:10px;background:var(--ok-bg);color:var(--ink2);font-size:14px}.att-ok .ico{flex:none}
/* Status views over the list. */
.views{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 16px;scroll-margin-top:calc(var(--hdr,58px) + 8px)}
.view{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:99px;background:var(--card);cursor:pointer;font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap}.view:hover{border-color:var(--muted)}.view:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.view:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted)}.v-all:before{display:none}.v-attention:before{background:var(--high)}.v-warning:before,.v-new:before,.v-partial:before{background:var(--med)}.v-clean:before{background:var(--ok)}.v-pending:before{background:var(--brand)}.v-paused:before{background:var(--line)}
.view .n{font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.v-attention .n:not(.zero){color:var(--high)}
.view[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--card);font-weight:600}.view[aria-pressed=true] .n{color:inherit}.view[aria-pressed=true]:before{box-shadow:0 0 0 2px var(--card)}
.side-t svg{flex:none}.side-t[aria-pressed=true]{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 35%,transparent);color:var(--brand)}.side-c{display:inline-block;min-width:18px;padding:0 5px;border-radius:99px;background:var(--brand);color:var(--brand-ink);font-size:12px;text-align:center}.side-c[hidden]{display:none}
/* The sites list: fixed columns and one line per site, so widths don't move as rows are filtered or sorted. */
.sites-card{padding:0}
table.sites,table.mon-table{table-layout:fixed;font-size:14px}
table.sites td,table.sites th,table.mon-table td,table.mon-table th{padding:0 10px;height:46px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.sites thead th,table.mon-table thead th{height:38px;background:var(--card);border-bottom:1px solid var(--line)}table.sites thead th{position:sticky;top:var(--hdr,58px);z-index:2}
table.sites thead th:first-child,table.mon-table thead th:first-child{border-top-left-radius:12px}table.sites thead th:last-child,table.mon-table thead th:last-child{border-top-right-radius:12px}
table.sites td:first-child,table.sites th:first-child,table.mon-table td:first-child,table.mon-table th:first-child{padding-left:16px}
table.sites th.sort{padding:0!important}table.sites th.sort button{padding:0 10px;line-height:38px;overflow:hidden;text-overflow:ellipsis}table.sites th.sort:first-child button{padding-left:16px}table.sites th.num button{padding-right:18px}table.sites th[aria-sort=none] button:after{content:""}table.sites th[aria-sort=none] button:hover:after{content:"↕"}
table.sites tbody tr{cursor:pointer}table.sites tbody tr:hover td{background:color-mix(in srgb,var(--brand-soft) 45%,var(--card))}
table.sites tr.r-down td:first-child,table.sites tr.r-alert td:first-child{box-shadow:inset 3px 0 0 var(--high)}
.sites .c-sel{width:52px;padding:0 0 0 10px!important;overflow:visible!important}.sites .c-site{width:22%}.sites .c-client{width:15%;overflow:visible!important}.sites .c-status{width:144px}.sites .c-issues{width:88px}.sites .c-up{width:112px}.sites .c-when{width:116px}.sites .c-act{width:84px;padding-right:8px;overflow:visible}
.mon-table .c-status{width:30%}.mon-table .c-when{width:20%}.mon-table .c-sw{width:90px;text-align:right}
.site-line{display:flex;align-items:center;gap:6px;min-width:0}.site-line a.url{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-weight:600;text-decoration:none}.site-line a.url:hover{color:var(--brand);text-decoration:underline}.site-line .lbl{overflow:hidden;text-overflow:ellipsis}
.site-line .chip{flex:none;font-size:11.5px;line-height:18px;padding:0 7px;display:inline-flex;align-items:center;gap:4px;text-decoration:none}.chip.mon .dot{width:6px;height:6px}.chip.mon.down{background:var(--high-bg);color:var(--high);font-weight:600}.chip.subs{background:var(--brand-soft);color:var(--brand)}.chip.subs:hover{text-decoration:underline}
.lbl-f{all:unset;cursor:pointer;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--ink2)}.lbl-f:hover{color:var(--brand);text-decoration:underline}.lbl-f:focus-visible{outline:2px solid var(--brand)}
.st{display:inline-flex;align-items:center;gap:7px;max-width:100%;font-size:13px;font-weight:600;color:var(--ink2)}.st .dot{width:8px;height:8px}
.st-down,.st-alert{color:var(--high)}.st-down .dot,.st-alert .dot,.st-unreachable .dot{background:var(--high)}.st-warning,.st-partial{color:var(--med)}.st-warning .dot,.st-partial .dot{background:var(--med)}.st-clean .dot{background:var(--ok)}.st-clean{color:var(--ok)}.st-pending .dot{background:var(--low)}.st-paused{color:var(--muted)}.st-paused .dot{background:var(--line)}
.top-issue .ti{overflow:hidden;text-overflow:ellipsis}.top-issue .area-lbl{display:inline;margin-right:6px}
.c-up{color:var(--ink2);font-variant-numeric:tabular-nums}.c-up .dot{margin-right:7px;vertical-align:1px}.c-when{color:var(--muted)}
.acts{display:flex;justify-content:flex-end;align-items:center;gap:2px}
.act-ico{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer;list-style:none;padding:0}.act-ico::-webkit-details-marker{display:none}
.act-ico:hover{background:var(--line2);color:var(--ink)}.act-ico:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.act-ico:disabled{opacity:.35;cursor:default;background:none}.row-menu[open]>.act-ico{background:var(--line2);color:var(--ink)}
.spin{color:var(--brand)}.spin svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin svg{animation:none}}
.row-menu{position:relative}.row-menu .menu{position:absolute;right:0;top:calc(100% + 4px);z-index:6;width:260px;display:grid;gap:2px;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(5,10,20,.18);white-space:normal;cursor:default;font-size:14px;text-align:left}
.menu .mi{display:block;padding:7px 10px;border-radius:7px;color:var(--ink);text-decoration:none}.menu .mi:hover{background:var(--line2)}.menu .sw-form{display:flex;padding:5px 10px}
.menu-note{margin:2px 0 0;padding:7px 10px 3px;border-top:1px solid var(--line2);color:var(--muted);font-size:13px}.menu-note .next{color:var(--ink2)}
.menu .mons{list-style:none;margin:2px 0 0;padding:6px 10px 2px;border-top:1px solid var(--line2);font-size:13px}.menu .mons li{display:flex;align-items:center;gap:6px;padding:2px 0}.menu .mons a{color:var(--ink2);min-width:0;overflow:hidden;text-overflow:ellipsis}.menu .mons .muted{margin-left:auto;white-space:nowrap}
.no-match{margin:0;padding:28px 16px;text-align:center;color:var(--muted)}.no-match[hidden]{display:none}
.issue-on table.sites td{height:auto;min-height:46px;padding-top:11px;padding-bottom:11px;vertical-align:top}.issue-on table.sites .top-issue{white-space:normal}.issue-on table.sites td.c-act{padding-top:4px;padding-bottom:4px}
@media (min-width:961px){.dash-grid{grid-template-columns:252px minmax(0,1fr)}.dash-grid.side-off{grid-template-columns:minmax(0,1fr)}.dash-grid.side-off .side-col{display:none}
.side-col{position:sticky;top:calc(var(--hdr,58px) + 12px);max-height:calc(100dvh - var(--hdr,58px) - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.side>summary{display:none}.side-head{display:flex}}
@media (max-width:960px){.side-t{display:none}}
/* Columns give way as the list narrows (sidebar open, smaller windows): uptime, then the issue count, then client. */
.dash-main{container-type:inline-size}@container (max-width:1019px){.sites .c-up{display:none}}@container (max-width:879px){.sites .c-issues{display:none}}@container (max-width:680px){.sites .c-client{display:none}}
.page-sub{margin:3px 0 0;color:var(--muted);font-size:14px}
.side-col{display:flex;flex-direction:column;gap:12px;min-width:0}.side-col .side{margin:0}
.cl-list{list-style:none;margin:0;padding:0}.cl-hint{margin:8px 6px 2px}
.cl-f{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:9px;width:100%;min-height:34px;padding:0 8px;border:1px solid transparent;border-radius:7px;cursor:pointer;font-size:14px;color:var(--ink2)}.cl-f:hover{background:var(--line2)}.cl-f:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.cl-f[aria-pressed=true]{background:var(--brand-soft);color:var(--ink);font-weight:600}.cl-f .il{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-f .n{color:var(--muted);font-size:13px;font-weight:400;font-variant-numeric:tabular-nums}.cl-f .al{flex:none;width:7px;height:7px;border-radius:50%;background:var(--high)}
body.dragging .cl-f[data-drop]{border:1px dashed var(--line)}
.cd{flex:none;display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted)}.cd.none,.cl.none .cd{background:none;border:1.5px dashed var(--muted);box-sizing:border-box}
.cl{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:7px;max-width:100%;height:30px;padding:0 10px;border:1px solid var(--line);border-radius:99px;cursor:text;font-size:13px;color:var(--ink2)}.cl:hover{border-color:var(--muted);background:var(--card)}.cl:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.cl[hidden]{display:none}.cl-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl.none{border-color:transparent;color:var(--muted)}.cl.none:hover{border-color:var(--line)}
.cbx{position:relative;width:100%}.cbx input{width:100%;box-sizing:border-box;height:32px;padding:0 10px;font-size:13px}.c-client .cbx input{border-color:var(--brand)}
.cbx-list{position:absolute;top:calc(100% + 4px);left:0;z-index:12;min-width:250px;max-width:340px;max-height:300px;overflow:auto;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(5,10,20,.18);display:grid;gap:1px}.cbx-list[hidden]{display:none}
.cbx-o{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:9px;min-height:34px;padding:0 10px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--ink)}.cbx-o:hover,.cbx-o[aria-selected=true]{background:var(--line2)}.cbx-o.new{color:var(--brand);font-weight:600}
.cbx-l{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cbx-o .n{margin-left:auto;padding-left:10px;color:var(--muted);font-size:12px}.cbx-hint{margin:4px 10px 2px;color:var(--muted);font-size:12px}
.grip{display:inline-block;width:10px;height:18px;margin-right:6px;vertical-align:middle;cursor:grab;color:var(--muted);opacity:.25;background:radial-gradient(circle,currentColor 1.2px,transparent 1.5px) 0 0/5px 6px}
table.sites tr:hover .grip,table.sites tr.kcur .grip,table.sites tr.sel .grip{opacity:.9}
.c-sel input,#sel-all{width:16px;height:16px;margin:0;vertical-align:middle;cursor:pointer;accent-color:var(--brand)}
table.sites tbody tr.sel td{background:var(--brand-soft)}table.sites tr.kcur{outline:2px solid var(--brand);outline-offset:-2px}table.sites tr.dragging td{opacity:.45}
.sub-l{display:block;margin-top:1px;font-size:12px;line-height:1.2;color:var(--muted)}.sub-l.just{color:var(--brand);font-weight:600}
table.sites tr.g-head{cursor:default}table.sites tr.g-head td{height:44px;padding:0 16px;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:visible}table.sites tr.g-head:hover td{background:var(--bg)}
table.sites tr.g-head.empty{display:none}body.dragging table.sites tr.g-head.empty[data-drop]{display:table-row}
.gh{display:flex;align-items:center;gap:12px;min-width:0}.gh-t{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:9px;flex:1 1 auto;min-width:0;height:42px;cursor:pointer;color:var(--ink)}.gh-t:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:6px}
.gh-t .chev{flex:none;width:14px;height:14px;color:var(--muted);transition:transform .15s}.gh-t[aria-expanded=true] .chev{transform:rotate(90deg)}
.gd{flex:none;width:9px;height:9px;border-radius:50%}.gd.none{border:1.5px dashed var(--muted);box-sizing:border-box}
.gh-n{font-weight:600;white-space:nowrap}.gh-c{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.gh-s{min-width:0;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gh-drop{display:none;font-size:13px;font-weight:600;color:var(--brand);white-space:nowrap}body.dragging .g-head[data-drop] .gh-drop{display:inline}body.dragging .gh-sel{display:none}
table.sites tr.g-head.over td,.cl-f.over{background:var(--brand-soft)!important;box-shadow:inset 0 0 0 2px var(--brand)}
.seg{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.seg-l{padding:0 6px;color:var(--muted);font-size:13px}
.seg button{all:unset;height:30px;padding:0 11px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--muted)}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--card);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(5,10,20,.14)}.seg button:focus-visible{outline:2px solid var(--brand)}
.selbar{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;position:sticky;top:calc(var(--hdr,58px) + 6px);z-index:7;padding:8px 12px;margin:0 0 10px;background:var(--card);border:1px solid var(--brand);border-radius:10px;box-shadow:0 0 0 3px var(--brand-soft);font-size:14px}.selbar[hidden]{display:none}.selbar .sel-cbx{width:240px}.selbar .sel-cbx input{height:34px}
.keys{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 18px;padding:12px 14px;margin:0 0 10px;background:var(--card);border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--ink2)}.keys[hidden]{display:none}
kbd{display:inline-block;min-width:14px;padding:0 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:var(--card);color:var(--ink);font-family:ui-monospace,Menlo,monospace;font-size:12px;line-height:18px;text-align:center}
.fld{display:block;font-weight:600;margin:12px 0 6px}.add-cbx input{height:40px;font-size:15px}.add-cbx .cbx-list{width:100%;max-width:none}
.c-issues{text-align:right;padding-right:18px!important;font-variant-numeric:tabular-nums;font-weight:600}.c-issues.high{color:var(--high)}.c-issues.medium{color:var(--med)}
th.sort{padding:0}th.sort button{all:inherit;display:block;width:100%;box-sizing:border-box;padding:10px 8px;cursor:pointer}th.sort button:hover{color:var(--ink2)}th.sort button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
th.sort button:after{content:"↕";opacity:.35;margin-left:4px}th[aria-sort=ascending] button:after{content:"↑";opacity:1}th[aria-sort=descending] button:after{content:"↓";opacity:1}th.num,th.num button{text-align:right}th.num button{padding-right:20px}
.finding{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 12px;background:var(--card)}
.finding.high{border-left-color:var(--high)}.finding.medium{border-left-color:var(--med)}.finding.low{border-left-color:var(--low)}
.finding h3{margin:6px 0 4px;font-size:16px}.finding code{overflow-wrap:anywhere}.finding p{margin:4px 0;color:var(--muted);font-size:15px}
.finding .f-head{display:flex;align-items:baseline;gap:6px 10px;flex-wrap:wrap}.finding .f-head h3{margin:0;flex:1 1 240px;line-height:1.35}.finding .f-head .badge{position:relative;top:-1px}
.f-meta{font-size:13px;color:var(--muted);white-space:nowrap}.chip.new{background:var(--high-bg);color:var(--high);font-weight:700}
.finding pre.ev{margin:8px 0 0;font-size:12.5px;line-height:1.5}.finding details.more summary{font-size:13px;color:var(--muted);cursor:pointer;margin-top:4px}
.finding details.raw{margin-top:8px}.finding details.raw>summary{font-size:13px;color:var(--muted);cursor:pointer}.raw-body{margin-top:6px}.raw-body h4{font-size:13px;margin:12px 0 0}.raw-body pre.ev{max-height:360px;overflow:auto}.raw-body p{margin:4px 0}
.f-foot{display:flex;align-items:flex-start;gap:8px 14px;flex-wrap:wrap;margin-top:10px}.f-key{font-size:12px;color:var(--muted);margin-left:auto;padding-top:2px}
.dismiss{flex:1 1 auto}.dismiss summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--brand);list-style:none;display:inline-block}.dismiss summary::-webkit-details-marker{display:none}
.dismiss summary:after{content:" ▾";font-size:11px}.dismiss[open] summary:after{content:" ▴"}
.dismiss form{display:grid;gap:10px;margin-top:8px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);max-width:600px}
.dismiss .opt{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14px;line-height:1.35}.dismiss .opt input{margin:2px 0 0;flex:none;width:16px;height:16px;accent-color:var(--brand)}
details.agent{position:relative}details.agent>summary{list-style:none}details.agent>summary::-webkit-details-marker{display:none}
.agent-menu{position:absolute;z-index:4;top:calc(100% + 6px);left:0;width:min(330px,calc(100vw - 32px));background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:6px;display:grid}
.agent-menu button{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;background:none;border:0;border-radius:7px;padding:8px 10px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.agent-menu button:hover,.agent-menu button:focus-visible{background:var(--line2)}.agent-menu button:disabled{color:var(--muted);cursor:default;background:none}.agent-menu .n{color:var(--muted)}
.agent-menu p{margin:6px 10px 4px;font-size:12px;color:var(--muted)}.area-head .agent-copy{margin-left:auto;align-self:center}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dismiss .opt .hint{display:block;color:var(--muted);font-size:13px;font-weight:400}.dismiss .q{margin:0;font-size:14px;font-weight:600}.dismiss pre.items{margin:4px 0 2px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.dismiss input[type=text]{font-size:14px;padding:8px 10px}
.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 6px}
.area-tile{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line);border-top:3px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);text-decoration:none}
.area-tile:hover{border-color:var(--brand);text-decoration:none}.area-tile.high{border-top-color:var(--high)}.area-tile.medium{border-top-color:var(--med)}.area-tile.low{border-top-color:var(--low)}.area-tile.ok{border-top-color:var(--ok)}
.area-name{font-weight:650;font-size:15px}.area-state{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600}.area-state .ico{width:18px;height:18px;font-size:11px}
.area-tile.high .area-state{color:var(--high)}.area-tile.medium .area-state{color:var(--med)}.area-tile.low .area-state{color:var(--low)}.area-tile.ok .area-state{color:var(--ok)}.area-tile.skip .area-state{color:var(--muted)}
.area-hint{font-size:12.5px;color:var(--muted)}
.area-sec{margin:24px 0 0;padding:0;scroll-margin-top:16px}.area-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}.area-head h3{font-size:17px;margin:0}
details.notes,details.hidden-list{margin:18px 0 0}details.notes>summary,details.hidden-list>summary{cursor:pointer;color:var(--muted);font-size:15px;margin-bottom:10px}
.hidden-list ul,.hidden-rows{list-style:none;padding:0;margin:0}.hidden-list li,.hidden-rows li{display:flex;align-items:center;gap:10px 14px;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line2)}
.h-main{min-width:0;flex:1}.area-lbl{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:1px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.dot.up{background:var(--ok)}.dot.down{background:var(--high)}.dot.pending{background:var(--low)}.dot.paused{background:var(--line)}
.kind-choice{display:grid;gap:8px;margin:4px 0 14px}.kind-choice .opt{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14px;line-height:1.35}.kind-choice .opt input{margin:3px 0 0;flex:none;width:16px;height:16px;accent-color:var(--brand)}.kind-choice .hint{display:block;color:var(--muted);font-size:13px}
.subs td{vertical-align:middle}.sub-state{text-align:right;white-space:nowrap}.subs .btn.small{padding:4px 10px;font-size:13px}
.sub-label{display:block;color:var(--muted);font-size:13px;margin-top:2px;font-family:inherit}.subs td.url b{font-weight:600;color:var(--ink)}
.sub-group{margin:16px 0 0}.sub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;margin:0 0 8px}.sub-head h3{font-size:16px;margin:0}.sub-head p{margin:2px 0 0}
details.sub-group>summary{cursor:pointer;color:var(--muted);font-size:15px;margin-bottom:8px}
.checks td:first-child{width:34px}.ico{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:13px;font-weight:800}
.ico.pass{background:var(--ok-bg);color:var(--ok)}.ico.fail{background:var(--high-bg);color:var(--high)}.ico.warn{background:var(--med-bg);color:var(--med)}.ico.note{background:var(--low-bg);color:var(--low)}.ico.partial,.ico.blocked,.ico.unavailable,.ico.skip{background:var(--code);color:var(--muted)}.ico.lock{background:var(--brand-soft);color:var(--brand)}
.checks tr.locked td{color:var(--muted)}.checks tr.locked td:nth-child(2){color:var(--ink2)}.chip.paid{background:var(--brand-soft);color:var(--brand);font-weight:600;margin-left:4px}
.sharebar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin:14px 0 4px;padding:14px 16px}.sharebar .share{flex:1 1 320px;max-width:480px}.sharebar b{display:block}
.upsell{border-color:var(--brand);margin:22px 0}.upsell ul{margin:10px 0 16px;padding-left:20px;color:var(--ink2)}.upsell li{margin:5px 0}.upsell .price-line{font-weight:600;margin:0 0 10px}
.section-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:26px 0 10px}.section-title h2{font-size:20px;margin:0}
.kv{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:6px 14px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere;min-width:0}
@media (max-width:600px){.kv{grid-template-columns:1fr}.kv dt{margin-top:6px}}
.article{max-width:780px}.article article{font-size:17px;line-height:1.7}.article h1{font-size:clamp(28px,4vw,40px);margin:14px 0 8px}.article h2{font-size:24px;margin:34px 0 10px}.article h3{font-size:19px;margin:24px 0 8px}.article p.lead{font-size:19px;color:var(--ink2)}.article li{margin:6px 0}.article pre{font-size:13.5px}.article code{background:var(--code);padding:1px 5px;border-radius:5px;font-size:.88em;overflow-wrap:anywhere}.article pre code{background:none;padding:0}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:18px 0 0;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{padding:9px 12px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}.tabs a:hover{color:var(--ink)}
.fb-btn{position:fixed;right:16px;bottom:16px;z-index:20;background:var(--ink);color:var(--bg);border:0;border-radius:99px;padding:9px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.fb{border:1px solid var(--line);border-radius:14px;padding:20px;max-width:440px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:var(--card);color:var(--ink)}.fb::backdrop{background:rgba(5,10,20,.55)}
.fb h2{font-size:19px;margin:0 0 4px}.fb textarea{min-height:120px;font-family:inherit;font-size:15px;margin:10px 0 8px}.fb input{margin-bottom:12px}
.share{display:flex;gap:8px}.cta-card{text-align:center;padding:36px}
.countries fieldset{border:0;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px 12px}.countries legend{font-weight:600;font-size:14px;margin-bottom:6px;padding:0}.countries fieldset label{font-size:14px;display:flex;gap:6px;align-items:center}.countries .check{display:flex;gap:8px;align-items:center;margin:16px 0 12px}
.sw-form{display:inline-flex;margin:0}.sw{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;white-space:nowrap;user-select:none}.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw-track{position:relative;flex:none;width:32px;height:18px;border-radius:99px;background:var(--line);transition:background .15s}.sw-track::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .15s}
.sw input:checked+.sw-track{background:var(--brand)}.sw input:checked+.sw-track::after{transform:translateX(14px)}.sw input:focus-visible+.sw-track{outline:2px solid var(--brand);outline-offset:2px}.sw input:disabled+.sw-track{opacity:.5}.sw:has(input:disabled){cursor:default}
.sw-l{color:var(--ink2)}.sw.small{font-size:13px;gap:6px}.sw.small .sw-track{width:26px;height:15px}.sw.small .sw-track::after{width:11px;height:11px}.sw.small input:checked+.sw-track::after{transform:translateX(11px)}
.monitor-sw{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:0 0 12px}
.dlg{max-width:620px}.dlg h2{font-size:19px;margin:0 0 6px}.dlg .dlg-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.dlg textarea{min-height:120px}.dlg .card{border:0;padding:0;margin:0;box-shadow:none;background:none}
.dlg-x{float:right;border:0;background:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:0 0 0 10px}.dlg-x:hover{color:var(--ink)}
.add-mode{margin:4px 0 0}
.banner{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:10px;background:var(--brand-soft);padding:10px 14px;margin:0 0 14px;font-size:14px}.banner p{margin:0;flex:1 1 320px}
.tabs.sticky{position:sticky;top:var(--hdr,58px);z-index:4;background:var(--bg);margin-left:-4px;margin-right:-4px;padding:0 4px}.tabs a.on{color:var(--ink);border-bottom-color:var(--brand)}
main.site-page [id]{scroll-margin-top:calc(var(--hdr,58px) + 56px)}
.ico.off{background:var(--code);color:var(--muted)}tr.check-off td:nth-child(2){color:var(--muted)}td.c-sw{text-align:right;width:1%}th .sw-form{float:right}
.suggest{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px;padding:0;list-style:none}.suggest button{font:inherit;font-size:13px;border:1px dashed var(--line);background:var(--card);color:var(--ink2);border-radius:99px;padding:3px 10px;cursor:pointer;text-align:left}.suggest button:hover{border-color:var(--brand);color:var(--ink)}.suggest .why{color:var(--muted)}
.pager{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 4px 2px;font-size:14px}.pager select{width:auto;padding:4px 26px 4px 8px;font-size:14px}.pager[hidden]{display:none}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:30;background:var(--ink);color:var(--bg);border-radius:8px;padding:9px 14px;font-size:14px;box-shadow:0 6px 20px rgba(0,0,0,.25);max-width:calc(100vw - 32px)}.toast[hidden]{display:none}
.label-form{display:inline-flex;align-items:center}.label-form input{width:180px;padding:5px 9px;font-size:14px}.share input{font-family:ui-monospace,Menlo,monospace;font-size:13px}
@media (max-width:860px){
.js .menu-btn{display:inline-flex}
.js nav.top{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:6px 16px 16px;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(5,10,20,.14);max-height:calc(100vh - 58px);overflow-y:auto;font-size:16px}
.js header.top.open nav.top{display:flex}
.js nav.top>a,.js nav.top>form>button{display:flex;align-items:center;width:100%;min-height:46px;padding:0;border-bottom:1px solid var(--line2);color:var(--ink)}
.js nav.top>form{display:block}.js nav.top>span{display:block;padding:12px 0 4px}
.js nav.top a.btn{justify-content:center;margin-top:12px;border-bottom:0;padding:0 16px;font-size:16px;color:var(--brand-ink)}
}
@media (max-width:760px){
.btn{min-height:44px}.btn.small{padding:8px 12px}
input:not([type=hidden]),select,textarea,.share input,.fb textarea{font-size:16px}
.fb-btn{position:static;display:block;margin:0 auto 24px;box-shadow:none;min-height:44px;padding:10px 18px}
footer{padding-bottom:20px}footer .foot a{padding:10px 0;margin:0}
.tabs a{padding:12px}
.hero{padding:36px 0 40px}.hero h1{font-size:30px}.hero p.lead{font-size:17px;margin-bottom:20px}.eyebrow{font-size:12px;margin-bottom:14px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;font-size:13px}.stats b{font-size:20px}
section{padding:40px 0}section h2{font-size:25px}section .sub{font-size:16px}
.cta-card{padding:24px 18px}
.page-head h1{flex:1 1 100%;margin-bottom:4px!important}.page-head .spacer{display:none}
.toolbar input{max-width:none}
.label-form{display:flex;order:5;flex:1 1 100%}.label-form input{flex:1;width:auto;min-width:0;height:44px;padding:0 12px}
.narrow{margin:28px auto}.narrow.card{padding:20px 18px}
.sharebar .share{flex-wrap:wrap}.sharebar .share input{flex:1 1 100%}.sharebar .share .btn{flex:1 1 0}
}
@media (max-width:520px){.signup .btn{flex:1 0 100%}}
@media (max-width:640px){
.subs tr{grid-template-columns:minmax(0,1fr) auto;padding:10px 0;row-gap:6px}.subs td.sub-state{grid-column:1/-1;text-align:left}
.areas{grid-template-columns:repeat(2,minmax(0,1fr))}.area-hint{display:none}.f-key{display:none}
table.stack,table.stack tbody{display:block}table.stack thead{display:none}
table.stack tr{display:grid;column-gap:10px;border-bottom:1px solid var(--line2)}table.stack tr:last-child{border-bottom:0}table.stack tr[hidden]{display:none}
table.stack td,table.stack th{border:0;padding:0}
.article table.stack tr{padding:12px 0;row-gap:4px}.article table.stack td:first-child{font-weight:600}
.sites tr,.mon-table tr{grid-template-columns:minmax(0,1fr) auto;row-gap:3px;padding:12px 10px 12px 14px!important}.sites td,.mon-table td{width:auto!important;height:auto!important;padding:0!important;white-space:normal}.att-list li:nth-child(n+4){display:none}table.sites tr.r-down td:first-child,table.sites tr.r-alert td:first-child{box-shadow:none}.sites tr.r-down,.sites tr.r-alert{box-shadow:inset 3px 0 0 var(--high)}
.sites td.c-site{grid-column:1;grid-row:1}.sites td.c-act{grid-column:2;grid-row:1/3;align-self:start}.sites td.c-status{grid-column:1;grid-row:2}.sites td.top-issue{grid-column:1/-1;font-size:14px}.sites td.top-issue.empty{display:none}.issue-on .sites td.top-issue.empty{display:block}.bulk .spacer{display:none}
.sites td.c-issues,.sites td.c-up,.sites td.c-sel{display:none}.sites tr.g-head{display:block;padding:0!important}.sites tr.g-head.empty{display:none}.sites tr.g-head td{display:block;height:auto;padding:2px 12px!important}.selbar .sel-cbx{flex:1 1 100%;width:auto}#keys-t,.keys{display:none!important}.sites td.c-client{display:block;grid-column:1/-1;font-size:13px}.sites td.c-client.empty{display:none}.sites td.c-when{grid-column:1/-1;font-size:13px}.top-issue .ti{white-space:nowrap}.views{margin-left:-16px;margin-right:-16px;padding:0 12px}.toolbar input[type=search]{max-width:none;flex-basis:100%}.toolbar select{flex:1 1 0;max-width:none}#shown{flex:1 1 100%}
.mon-table td.c-site{grid-column:1}.mon-table td.c-sw{grid-column:2;grid-row:1/3}.mon-table td.c-status,.mon-table td.c-when{grid-column:1;font-size:13px;color:var(--muted)}
.checks tr{grid-template-columns:22px minmax(0,1fr);padding:9px 0}.checks th{grid-column:1/-1}
.checks td:first-child{width:auto}.checks td:nth-child(3){grid-column:2;margin-top:2px}
.endpoints tr{grid-template-columns:auto minmax(0,1fr);row-gap:4px;padding:12px 0}.endpoints td:nth-child(2) code{overflow-wrap:anywhere}.endpoints td:nth-child(3){grid-column:1/-1;font-size:14px;color:var(--ink2)}
.server-installs tr{grid-template-columns:minmax(0,1fr);row-gap:6px;padding:12px 0}.server-installs select{max-width:100%}
.history tr{grid-template-columns:1fr 1fr auto;row-gap:4px;padding:10px 0}.history td:first-child{grid-column:1/3;align-self:center}.history td:last-child{text-align:right}
table.stack td[data-label]:before{content:attr(data-label) ": ";color:var(--muted);font-size:14px}
table.wide{min-width:600px}
}

.chart{position:relative;outline:none}.chart:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:6px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0 0 16px}
.stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.stat-l{font-size:12.5px;color:var(--muted)}.stat-v{font-size:22px;font-weight:650;color:var(--ink)}
.ustrip{display:flex;gap:2px;height:34px;align-items:stretch}.ustrip .ub{flex:1 1 0;min-width:0;border-radius:3px;background:var(--line)}
.ub.ok{background:var(--ok)}.ub.partial{background:var(--med)}.ub.major{background:var(--high)}.ub.none{background:var(--line)}
.ustrip .ub.on,.ustrip .ub:hover{opacity:.7}
@media (max-width:640px){.ustrip.long .ub:nth-child(-n+60){display:none}.c-wide{display:none}.lc-x span:nth-child(even){display:none}}@media (min-width:641px){.c-narrow{display:none}}
.ustrip.mini{display:inline-flex;gap:1px;height:12px;width:92px;vertical-align:middle;margin-top:6px}.ustrip.mini .ub{border-radius:1px}
.c-axis{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:6px;font-variant-numeric:tabular-nums}
.c-legend{display:flex;flex-wrap:wrap;gap:4px 16px;list-style:none;padding:0;margin:10px 0 0;font-size:12.5px;color:var(--ink2)}
.c-legend li{display:flex;align-items:center;gap:6px}.c-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--line)}
.c-swatch.ok{background:var(--ok)}.c-swatch.partial{background:var(--med)}.c-swatch.major,.c-swatch.high{background:var(--high)}.c-swatch.medium{background:var(--med)}.c-swatch.line{height:2px;width:14px;border-radius:2px;background:var(--brand)}
.lc-plot,.sc-plot{position:relative;height:170px;margin-left:56px}
.lc-grid span{position:absolute;left:0;right:0;border-top:1px solid var(--line2)}.lc-grid span:last-child{border-color:var(--line)}
.lc-grid b{position:absolute;right:calc(100% + 8px);top:-8px;font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.lc-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lc-line{fill:none;stroke:var(--brand);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.lc-area{fill:var(--brand);opacity:.1;stroke:none}
.lc-cross{position:absolute;top:0;bottom:0;width:1px;background:var(--muted);pointer-events:none}
.lc-failed{position:relative;height:6px;margin:4px 0 0 56px}.lc-failed i{position:absolute;top:0;bottom:0;min-width:3px;border-radius:2px;background:var(--high)}
.lc-x{position:relative;height:16px;margin-left:56px;display:block}.lc-x span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.c-ranges{display:flex;gap:6px;margin:0 0 12px}.c-ranges .btn.on{background:var(--brand-soft);color:var(--brand);border-color:transparent}
.chart-empty{padding:28px 0;text-align:center}
.scols{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;gap:2px;outline:none}
.sc-col{flex:1 1 0;max-width:24px;height:100%;display:flex;flex-direction:column-reverse;gap:2px;cursor:default}
.sc-col i{display:block;width:100%;flex:none}.sc-col i:last-child{border-radius:4px 4px 0 0}
.sc-col i.high{background:var(--high)}.sc-col i.medium{background:var(--med)}.sc-col i.zero{height:2px;background:var(--line);border-radius:1px}
.sc-col.on i,.sc-col:hover i{opacity:.75}
.c-tip{position:fixed;z-index:60;pointer-events:none;background:var(--card);color:var(--ink2);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:12.5px;line-height:1.45;box-shadow:0 6px 20px rgba(0,0,0,.12);max-width:260px;white-space:pre-line}
.c-tip strong{display:block;font-size:14px;color:var(--ink)}
.c-card{margin-bottom:14px}.c-title{font-size:16px;margin:0}.c-sub{margin:2px 0 12px}
.c-table summary{font-size:13px;color:var(--muted);cursor:pointer;margin-top:10px}

.live-scan{margin:0 0 18px;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.ls-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ls-head h2{margin:0;font-size:18px}.ls-count{font-variant-numeric:tabular-nums}
.ls-pulse{width:10px;height:10px;border-radius:50%;background:var(--brand);flex:none;animation:lspulse 1.4s ease-in-out infinite}.ls-pulse.done{background:var(--ok);animation:none}
@keyframes lspulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.ls-bar{height:6px;border-radius:99px;background:var(--line2);overflow:hidden;margin:12px 0 8px}.ls-bar span{display:block;height:100%;background:var(--brand);border-radius:99px;transition:width .6s ease}
.ls-bar.waiting span{background:linear-gradient(90deg,var(--line2) 0,var(--brand-soft) 35%,var(--brand) 50%,var(--brand-soft) 65%,var(--line2) 100%);background-size:200% 100%;animation:lsslide 1.6s linear infinite}
@keyframes lsslide{from{background-position:100% 0}to{background-position:-100% 0}}
.ls-now{margin:0 0 12px;color:var(--ink2);min-height:1.55em}
.ls-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2px 18px}
.ls-step{display:flex;gap:9px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--line2);min-width:0}
.ls-text{display:flex;flex-direction:column;min-width:0}.ls-label{font-size:14px;font-weight:600;line-height:1.35}.ls-detail{font-size:13px;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.ls-ico{flex:none;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:800;margin-top:1px}
.ls-ico.ok{background:var(--ok-bg);color:var(--ok)}.ls-ico.warn{background:var(--med-bg);color:var(--med)}.ls-ico.fail{background:var(--high-bg);color:var(--high)}.ls-ico.skip{background:var(--code);color:var(--muted)}
.ls-ico.pending{border:2px solid var(--line);width:16px;height:16px;margin:3px 2px 0}.ls-ico.running{color:var(--brand)}
.ls-pending .ls-label,.ls-skip .ls-label{color:var(--muted);font-weight:500}.ls-running .ls-label{color:var(--brand)}
.ls-note{margin:12px 0 0}
@media (prefers-reduced-motion:reduce){.ls-pulse,.ls-bar.waiting span{animation:none!important}.ls-bar span{transition:none}}
@media (max-width:560px){.ls-steps{grid-template-columns:1fr}.live-scan{padding:16px}}
