:root{--bg:#ececea;--bg2:#e3e2dd;--elevated:#f4f3ef;--surface:rgba(26,26,24,.04);--raised:rgba(26,26,24,.07);--line:rgba(26,26,24,.1);--line2:rgba(26,26,24,.16);--ink:#1a1a18;--soft:#565552;--faint:#9a9893;--acc:#1a1a18;--acc-ink:#ececea;--focus:rgba(26,26,24,.5);--ok:#3d7a4e;--red:#b3413b;--r-sm:4px;--r:6px;--r-lg:8px;--mono:"JetBrains Mono Variable",ui-monospace,"SF Mono",Menlo,monospace;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--ease:cubic-bezier(.4,0,.2,1);--dur:.14s}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:13px;-webkit-font-smoothing:antialiased}::selection{background:#1a1a1829}a{color:inherit;text-decoration:none}header{position:sticky;top:0;z-index:30;height:48px;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--bg);border-bottom:1px solid var(--line)}.logo{width:8px;height:8px;border-radius:50%;background:var(--acc)}.brand{font-weight:600;letter-spacing:-.01em}.tag{color:var(--soft);font-size:11px;letter-spacing:.04em}.badge{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);border:1px solid var(--line);border-radius:999px;padding:2px 8px}.sp{flex:1}.navlink{font-size:12px;color:var(--soft);padding:0 4px}.navlink:hover{color:var(--ink)}.wrap{max-width:880px;margin:0 auto;padding:30px 20px 90px}.lede h1{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:0 0 8px}.lede p{color:var(--soft);max-width:54ch;line-height:1.55;margin:0 0 16px}.lede em{font-style:normal;color:var(--ink);font-weight:600}.field{display:block}label.lbl{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 6px}.in{appearance:none;width:100%;font-family:var(--mono);font-size:12.5px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px}.in:focus{outline:none;border-color:var(--acc)}textarea.in{resize:vertical;line-height:1.6}.btn{appearance:none;font:600 12px/1 var(--sans);height:32px;padding:0 14px;border-radius:var(--r);cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);white-space:nowrap;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.btn:hover{border-color:var(--line2);background:var(--raised)}.btn.acc{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}.btn.acc:hover{background:#000;border-color:#000}.card{background:var(--elevated);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;margin:14px 0}.ch{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 4px}.ch .n{font-size:13px;font-weight:600;color:var(--ink)}.ch .hint{font-size:11px;color:var(--faint);text-align:right}.card .desc{color:var(--soft);font-size:12.5px;line-height:1.55;margin:6px 0 14px;max-width:62ch}.row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.row>.field{flex:1;min-width:140px}.grid{display:grid;gap:10px}code.k{font-family:var(--mono);font-size:.86em;background:var(--surface);padding:.1em .4em;border-radius:var(--r-sm)}.vbadge{display:inline-flex;align-items:center;height:30px;padding:0 13px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--soft)}.vbadge.ok{border-color:var(--ok);color:var(--ok);background:#3d7a4e12}.vbadge.fail{border-color:var(--red);color:var(--red);background:#b3413b12}.v-ok{color:var(--ok)}.v-fail{color:var(--red)}.panel{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:13px 14px;margin-top:12px}.kv{display:grid;grid-template-columns:118px 1fr;gap:5px 12px}.kv .k{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding-top:2px}.kv .v{font-family:var(--mono);font-size:12px;word-break:break-all;color:var(--ink)}.aside{border-left:2px solid var(--line2);padding-left:11px;margin-top:13px;font-size:11.5px;color:var(--soft);line-height:1.55}details.proof{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}details.proof summary{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);cursor:pointer}.check{font-family:var(--mono);font-size:12px;margin-top:7px}.hexdump{font-family:var(--mono);font-size:10.5px;color:var(--faint);word-break:break-all;margin-top:8px;line-height:1.5}table.mesh{width:100%;border-collapse:collapse;font-size:12px}table.mesh th,table.mesh td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}table.mesh th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:400}table.mesh td{font-family:var(--mono);color:var(--ink)}
