/* PHP Patch Check: one small shared stylesheet. System fonts, no framework. */
:root{--bg:#fff;--fg:#14171f;--mut:#4b5563;--line:#d7dbe2;--soft:#f5f7fa;--card:#fff;--acc:#1d4ed8;--acc-h:#1e40af;--acc-fg:#fff;--ring:#2563eb;
--ok:#116329;--ok-bg:#e9f7ee;--bad:#a8200d;--bad-bg:#fdeeec;--unk:#7a4d00;--unk-bg:#fdf5e3;--r:12px;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#0f1218;--fg:#e8ebf1;--mut:#a9b1bf;--line:#2c3340;--soft:#171b23;--card:#151920;--acc:#7aa2ff;--acc-h:#a3bfff;--acc-fg:#0b1020;--ring:#9db8ff;
--ok:#6fdc8c;--ok-bg:#10261a;--bad:#ff9a8a;--bad-bg:#2c1512;--unk:#f5c862;--unk-bg:#2a2210}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:var(--acc);text-underline-offset:2px}a:hover{color:var(--acc-h)}
:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:8px;top:-60px;background:var(--acc);color:var(--acc-fg);padding:10px 14px;border-radius:8px;z-index:9}.skip:focus{top:8px}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
header.site{border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;padding-top:8px;padding-bottom:8px}
.brand{font-weight:700;color:var(--fg);text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-right:auto}
.brand svg{flex:none}
nav.top{display:flex;flex-wrap:wrap;gap:0 14px}nav.top a{display:inline-flex;align-items:center;min-height:44px;color:var(--mut);text-decoration:none;font-size:15px}
nav.top a:hover,nav.top a[aria-current=page]{color:var(--fg);text-decoration:underline}
main{padding:28px 0 8px}
h1{font-size:clamp(28px,6vw,40px);line-height:1.15;letter-spacing:-.01em;margin:.2em 0 .4em}
h2{font-size:22px;line-height:1.25;margin:1.8em 0 .5em}h3{font-size:18px;margin:1.2em 0 .3em}
.card h2:first-child,.card h3:first-child{margin-top:0}
p,ul,ol{margin:0 0 1em}li{margin:.25em 0}
.lead{font-size:19px;color:var(--fg)}
.muted,.small{color:var(--mut);font-size:15px}
code{font:15px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--soft);border:1px solid var(--line);padding:1px 6px;border-radius:6px;word-break:break-all}
sup a{text-decoration:none}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin:22px 0}
.card.soft{background:var(--soft)}
label{font-weight:600;display:block;margin-bottom:6px}
.hint{font-weight:400;color:var(--mut);font-size:15px}
input,textarea,select{font:inherit;color:var(--fg);background:var(--bg);width:100%;min-height:48px;padding:10px 14px;border:1.5px solid #8a93a3;border-radius:10px}
textarea{min-height:0;font-size:15px;line-height:1.5}
input[aria-invalid=true]{border-color:var(--bad)}
input[type=checkbox]{width:22px;height:22px;min-height:0;margin:2px 0 0;flex:none;accent-color:var(--acc)}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:400;min-height:44px}
button,.btn{font:inherit;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 20px;border-radius:10px;border:1.5px solid var(--acc);background:var(--acc);color:var(--acc-fg);cursor:pointer;text-decoration:none}
button:hover,.btn:hover{background:var(--acc-h);border-color:var(--acc-h);color:var(--acc-fg)}
button.ghost,.btn.ghost{background:transparent;color:var(--acc)}button.ghost:hover,.btn.ghost:hover{background:var(--soft);color:var(--acc-h)}
button.link{background:none;border:0;color:var(--acc);padding:0 4px;min-height:44px;text-decoration:underline;font-weight:500}
button.danger{background:transparent;border-color:var(--bad);color:var(--bad)}button.danger:hover{background:var(--bad-bg)}
button[disabled]{opacity:.6;cursor:progress}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.err{color:var(--bad);font-size:15px;margin:6px 0 0;min-height:0}
.err:empty{display:none}
.status{font-size:15px;margin:10px 0 0}.status:empty{display:none}
/* Hero form */
.hero{margin-bottom:8px}
.go{display:flex;flex-direction:column;gap:10px}
.go input#domain{font-size:19px;min-height:56px}
.go button{min-height:56px;font-size:18px}
@media (min-width:600px){.go{flex-direction:row}.go input#domain{flex:1}.go button{flex:none}}
.more{margin-top:16px;display:grid;gap:14px}
/* Trust cues */
.trust{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:6px 18px;grid-template-columns:1fr}
@media (min-width:600px){.trust{grid-template-columns:1fr 1fr}}
.trust li{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:15px;color:var(--mut)}
.trust svg{flex:none;margin-top:3px;color:var(--ok)}.trust a{color:var(--mut)}
/* Stepper */
.steps{list-style:none;counter-reset:s;display:flex;gap:6px;padding:0;margin:26px 0 0}
.steps li{counter-increment:s;flex:1;margin:0;font-size:14px;color:var(--mut);border-top:4px solid var(--line);padding-top:8px;line-height:1.3}
.steps li::before{content:counter(s) ". ";font-weight:700}
.steps li.done{border-color:var(--ok);color:var(--fg)}.steps li.done::before{content:"✓ "}
.steps li[aria-current=step]{border-color:var(--acc);color:var(--fg);font-weight:600}
/* Verify */
.tabs{display:flex;gap:6px;margin:4px 0 14px;flex-wrap:wrap}
.tabs button{background:transparent;color:var(--fg);border-color:var(--line);font-weight:500}
.tabs button[aria-selected=true]{border-color:var(--acc);background:var(--soft);color:var(--fg);font-weight:700;box-shadow:inset 0 -3px 0 var(--acc)}
.copy{display:flex;gap:8px;align-items:stretch;margin:4px 0 14px}
.copy code{flex:1;display:flex;align-items:center;padding:8px 12px;min-height:48px;font-size:15px}
.copy button{flex:none;min-width:84px}
ol.how{padding-left:22px}ol.how li{margin:.4em 0}
details{border:1px solid var(--line);border-radius:10px;margin:14px 0;background:var(--card)}
summary{cursor:pointer;padding:12px 16px;min-height:44px;font-weight:600;list-style-position:inside}
details>div{padding:0 16px 8px}
.spin{width:16px;height:16px;border:2.5px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;vertical-align:-3px;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
/* Result */
.result{border-radius:var(--r);padding:20px;border:1.5px solid;margin:6px 0 16px}
.result .head{display:flex;gap:14px;align-items:flex-start}
.result .head svg{flex:none}
.result h3{font-size:24px;margin:0 0 4px;line-height:1.2}
.result .lbl{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:0}
.result p{margin:.4em 0}
.r-pat{background:var(--ok-bg);border-color:var(--ok)}.r-pat .head{color:var(--ok)}
.r-vul{background:var(--bad-bg);border-color:var(--bad)}.r-vul .head{color:var(--bad)}
.r-unk{background:var(--unk-bg);border-color:var(--unk)}.r-unk .head{color:var(--unk)}
.result .head h3,.result .head .lbl{color:inherit}
.next{border-left:4px solid var(--acc);padding:4px 0 4px 16px;margin:18px 0}
.next h4{margin:0 0 6px;font-size:18px}
dl.tech{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:6px 0 10px;font-size:15px}dl.tech dt{color:var(--mut)}dl.tech dd{margin:0;word-break:break-word}
.history{list-style:none;padding:0}.history li{display:flex;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line);margin:0}
.chip{font-size:13px;font-weight:700;padding:2px 10px;border-radius:99px;border:1px solid}
.chip.r-pat{color:var(--ok)}.chip.r-vul{color:var(--bad)}.chip.r-unk{color:var(--unk)}
/* Content pages */
.prose h2{scroll-margin-top:16px}
.prose li{margin:.45em 0}
.byline{color:var(--mut);font-size:15px;border-left:3px solid var(--line);padding-left:12px}
.related{margin-top:2.5rem;border-top:1px solid var(--line);padding-top:.5rem}
.related h2{font-size:18px}
footer.site{margin-top:48px;border-top:1px solid var(--line);padding:20px 0 36px;font-size:15px;color:var(--mut)}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:6px 18px}footer.site a{color:var(--mut)}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
button.link.inline{min-height:0;padding:0;vertical-align:baseline;font-size:inherit}
@media (max-width:599px){.lead{font-size:17px}h1{font-size:28px}main{padding-top:18px}
nav.top{flex-wrap:wrap;gap:0 14px;width:100%}nav.top a{font-size:14px}
header.site .wrap{padding-top:2px;padding-bottom:0}.brand{min-height:44px}
.steps li{font-size:13px}.card{padding:18px}}
/* EOL hub additions */
.grid{display:grid;gap:14px;grid-template-columns:1fr;margin:18px 0}
@media (min-width:640px){.grid{grid-template-columns:1fr 1fr}}
.grid .card{margin:0}
.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline}
table.dates{border-collapse:collapse;width:100%;font-size:15px;margin:8px 0 18px}
table.dates caption{text-align:left;font-weight:600;margin-bottom:6px}
table.dates th,table.dates td{border-bottom:1px solid var(--line);padding:8px 10px 8px 0;text-align:left;vertical-align:top}
table.dates th{color:var(--mut);font-weight:600}
.tbl{overflow-x:auto}
.note{border-left:4px solid var(--unk);background:var(--unk-bg);padding:12px 16px;border-radius:0 10px 10px 0;margin:18px 0}
.draft{border:2px dashed var(--bad);background:var(--bad-bg);padding:14px 18px;border-radius:10px;margin:0 0 18px;font-weight:600}
.todo{border:1.5px dashed var(--mut);padding:12px 16px;border-radius:10px;color:var(--mut)}
pre{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:12px 14px;overflow-x:auto;font:15px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
pre code{border:0;padding:0;background:none;word-break:normal}
/* Access check */
fieldset.q{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px 14px;margin:16px 0;background:var(--card)}
fieldset.q legend{float:left;width:100%;font-weight:600;padding:0;margin:0 0 4px;line-height:1.4}
fieldset.q legend+*{clear:both}
fieldset.q .small{margin:.3em 0 .6em}
.qn{color:var(--mut);font-weight:700}
.qsec{font-size:20px;margin-top:2rem}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px;border:1.5px solid var(--line);border-radius:10px;cursor:pointer;font-size:15px;font-weight:600}
.opt input{width:20px;height:20px;min-height:0;margin:0;flex:none;accent-color:var(--acc)}
.opt:has(input:checked){border-color:var(--acc);background:var(--soft)}
.opt .hint{font-size:13px}
#record .lbl{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:0;color:var(--mut)}
#record h3{font-size:18px;margin:1.2em 0 .3em}
.rstatus{border-radius:10px;padding:10px 14px;border:1.5px solid var(--line)}
.rstatus.r-unk{color:var(--fg)}
.recheck{border-top:1px solid var(--line);padding-top:10px;margin-top:16px}
@media print{header.site,footer.site,.noprint,.skip{display:none!important}body.acc .prose>*:not(h1):not(.byline):not(#record-card){display:none!important}body{font-size:12pt;background:#fff;color:#000}#record{border:0;padding:0;margin:0}a{color:#000}}
