:root{color-scheme:light;--ink:#252720;--muted:#77786f;--line:#deded4;--paper:#fffdf8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(at 0 0,#f2e9d2,transparent 60%),#f7f7f2;color:var(--ink);font:14px/1.6 system-ui,sans-serif}header,main{max-width:1320px;margin:auto;padding:26px}header{display:flex;align-items:center;gap:26px}header>a{color:#2869a1;white-space:nowrap}header>div{flex:1}h1,h2,h3,p{margin:0 0 10px}h1{font-size:28px}h2{font-size:21px}h3{font-size:18px}p{color:var(--muted)}section{margin-bottom:28px}article,.intro>div,#nodes>div{background:#fffffff0;border:1px solid var(--line);padding:22px;border-radius:18px;box-shadow:0 3px 15px #3331;margin-bottom:16px}.grid,.intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.intro>div{margin:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}button{border:1px solid #d8d8ce;border-radius:10px;padding:8px 13px;background:var(--paper);color:inherit;font:inherit;cursor:pointer}button:hover{border-color:#4774c4}button:disabled{opacity:.45;cursor:default}.badge{font-size:12px;padding:3px 9px;border:1px solid var(--line);border-radius:20px}.pass{color:#17834d}.fail{color:#c03c33}.unknown,.info,.not_applicable{color:#76796e}.facts{display:flex;flex-wrap:wrap;gap:18px;font-variant-numeric:tabular-nums}.checks>div{border-top:1px solid var(--line);padding:10px 0}.checks strong{display:block}.checks small{color:var(--muted);line-height:1.5;display:block}.muted{font-size:12px}details{background:#ffffff90;border-radius:14px;padding:18px;margin-top:15px}summary{cursor:pointer}form{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:18px 0}label{display:flex;flex-direction:column}input{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}#notice{position:sticky;top:0;z-index:1;background:#faf7eb;padding:8px;border-radius:8px}#notice:empty{display:none}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f1f2eb;padding:12px;border-radius:10px;font-size:12px}@media(max-width:650px){header{flex-wrap:wrap;padding:18px}main{padding:16px}.section-title{align-items:flex-start}.intro{grid-template-columns:1fr}h1{font-size:23px}}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--ink:#e5e7df;--muted:#a7aa9d;--line:#454a42;--paper:#232923}body{background:#181e19}article,.intro>div,#nodes>div,details{background:#222a23}#notice,pre{background:#29332b}.fail{color:#ff8c85}.pass{color:#66d89c}}

/* Xinghe night skin; operational controls keep their existing behavior. */
:root{color-scheme:dark;--ink:#e7edfc;--muted:#98a6c3;--line:#c5d2ff19;--paper:#162139}
body{background:radial-gradient(ellipse at 25% 0,#2d315d4d,transparent 65%),#0a1022}
header>a{color:#b1a9f2}article,.intro>div,#nodes>div,details{background:#141d32e8;border-color:var(--line);box-shadow:0 5px 30px #0001}
button{background:#18233a;border-color:#b9c9fd22;color:#cbd6ee}button:hover{border-color:#a39af2}input{background:#10192c;border-color:var(--line);color:#dce5fa}
#notice,pre{background:#1b2540}.pass{color:#7ad4c0}.fail{color:#f595a6}.unknown,.info,.not_applicable{color:#94a2be}h1,h2,h3{font-weight:550}.badge.pass{border-color:#7ad4c033}.badge.fail{border-color:#f595a633}
