:root{--ink:#16202b;--ink2:#4a5b6d;--ink3:#7b8b9c;--line:#dde4ea;--line2:#eef2f6;--bg:#f6f8fa;--card:#fff;--navy:#0d2a4a;--accent:#1c5aa8;--pass:#1d7a4f;--passbg:#e8f5ee;--fail:#a8322c;--failbg:#fbebea;--na:#6b6b6b;--nabg:#f0f0ee;--unk:#8a6412;--unkbg:#fdf3dd}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}a{color:var(--accent)}.top{background:var(--navy);color:#fff;align-items:baseline;gap:18px;padding:14px 28px;display:flex}.top h1{letter-spacing:.2px;margin:0;font-size:16px;font-weight:600}.top .sub{opacity:.75;font-size:13px}.top nav{gap:18px;margin-left:auto;display:flex}.top nav a{color:#cfe0f3;font-size:13px;text-decoration:none}.top nav a:hover{color:#fff}.wrap{max-width:1040px;margin:0 auto;padding:26px 28px 70px}.hd{align-items:flex-end;gap:14px;margin-bottom:6px;display:flex}.hd h2{margin:0;font-size:22px;font-weight:600}.hd .tag{color:var(--ink3);border:1px solid var(--line);background:#fff;border-radius:3px;padding:2px 8px;font-size:12px}.meta{color:var(--ink3);margin-bottom:22px;font-size:13px}.sec{background:var(--card);border:1px solid var(--line);border-radius:6px;margin-bottom:16px}.sec>h3{letter-spacing:.09em;text-transform:uppercase;color:var(--ink2);border-bottom:1px solid var(--line2);background:#fbfcfd;border-radius:6px 6px 0 0;align-items:center;gap:10px;margin:0;padding:11px 18px;font-size:12px;font-weight:600;display:flex}.sec>h3 .src{letter-spacing:.06em;color:var(--ink3);border:1px solid var(--line);text-transform:none;background:#fff;border-radius:10px;margin-left:auto;padding:1px 8px;font-size:10px}.grid{grid-template-columns:repeat(3,1fr);gap:0;display:grid}.f{border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:12px 18px}.f:nth-child(3n){border-right:none}.f .k{color:var(--ink3);letter-spacing:.04em;margin-bottom:3px;font-size:11px}.f .v{font-variant-numeric:tabular-nums;font-size:15px}.f .v.empty{color:#c3ccd5}.f.wide{border-right:none;grid-column:1/-1}.pill{text-transform:uppercase;letter-spacing:.05em;border-radius:11px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.pass{background:var(--passbg);color:var(--pass)}.fail{background:var(--failbg);color:var(--fail)}.na{background:var(--nabg);color:var(--na)}.unk{background:var(--unkbg);color:var(--unk)}.rule{background:var(--card);border:1px solid var(--line);border-radius:6px;margin-bottom:12px;overflow:hidden}.rule.isfail{border-left:3px solid var(--fail)}.rule.ispass{border-left:3px solid var(--pass)}.rule.isna{border-left:3px solid #b9b9b3}.rule.isunk{border-left:3px solid #d9bd6d}.rule .rh{border-bottom:1px solid var(--line2);background:#fbfcfd;align-items:center;gap:12px;padding:11px 16px;display:flex}.rule .rh .code{min-width:38px;font-size:13px;font-weight:700}.rule .rh .sect{color:var(--ink3);font-size:12px}.rule .rh .pill{margin-left:auto}.rule .body{padding:14px 16px}.prose{color:var(--ink2);border-left:2px solid var(--line);margin:0 0 12px;padding-left:12px;font-size:13.5px;font-style:italic}.ev{border:1px solid var(--line2);white-space:pre-wrap;background:#fafbfc;border-radius:4px;margin-bottom:10px;padding:10px 12px;font:12.5px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.just{background:#fffdf7;border:1px solid #f0e3c0;border-radius:4px;padding:11px 13px;font-size:13.5px}.just .lbl{letter-spacing:.09em;text-transform:uppercase;color:#8a6412;margin-bottom:5px;font-size:10px;font-weight:700}.cite{color:var(--ink3);margin-top:9px;font-size:11.5px}.bar{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.bar .b{border:1px solid var(--line);background:#fff;border-radius:5px;padding:8px 14px;font-size:13px}.bar .b b{font-variant-numeric:tabular-nums;margin-right:6px;font-size:17px}.empty-note{border:1px dashed var(--line);text-align:center;color:var(--ink3);background:#fff;border-radius:6px;padding:26px;font-size:14px}.pol{border:1px solid var(--line);background:#fff;border-radius:6px;padding:26px 32px}.pol h4{letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);border-bottom:1px solid var(--line2);margin:26px 0 10px;padding-bottom:6px;font-size:13px}.pol p{margin:0 0 14px;font-size:14.5px;line-height:1.62}.pol .rc{margin-right:7px;font-weight:700}.hmenu{align-items:center;display:flex;position:relative}.hmenu-btn{cursor:pointer;color:#cfe0f3;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.hmenu-btn:hover{color:#fff;background:#ffffff1f}.hmenu-dots{flex-direction:column;align-items:center;gap:3px;display:flex}.hmenu-dots i{background:currentColor;border-radius:50%;width:3px;height:3px;display:block}.hmenu-pop{background:var(--card);border:1px solid var(--line);z-index:40;border-radius:7px;min-width:236px;padding:6px;position:absolute;top:34px;right:0;box-shadow:0 10px 26px #0d2a4a2e}.hmenu-pop button{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:9px 11px;font-size:14px;display:block}.hmenu-pop button:hover:enabled{background:var(--line2)}.hmenu-pop button:disabled{color:var(--ink3);cursor:default}.hmenu-note{color:var(--ink3);border-top:1px solid var(--line2);margin-top:4px;padding:7px 11px 5px;font-size:11.5px;line-height:1.45}.login-screen{background:linear-gradient(170deg,#0d2a4a 0%,#16365c 46%,#0b2340 100%);justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.login-card{background:var(--card);border:1px solid var(--line);border-radius:9px;width:100%;max-width:404px;padding:34px 34px 28px;box-shadow:0 18px 48px #06162a57}.login-brand{border-bottom:1px solid var(--line2);align-items:center;gap:11px;margin-bottom:21px;padding-bottom:18px;display:flex}.login-mark{background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 50%,var(--accent) 50%,var(--accent) 100%);border-radius:4px;flex:0 0 30px;width:30px;height:30px}.login-wordmark{color:var(--navy);font-size:13px;font-weight:600;line-height:1.28}.login-wordmark span{color:var(--ink3);font-weight:400}.login-card h1{color:var(--ink);margin:0 0 4px;font-size:21px;font-weight:600}.login-sub{color:var(--ink2);margin:0 0 21px;font-size:14px}.login-field{margin-bottom:14px}.login-field label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);margin-bottom:5px;font-size:11px;font-weight:600;display:block}.login-field input{width:100%;font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:5px;padding:10px 12px;font-size:15px}.login-field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #1c5aa821}.login-submit{width:100%;font:inherit;color:#fff;background:var(--navy);cursor:pointer;border:none;border-radius:5px;margin-top:6px;padding:11px 14px;font-size:15px;font-weight:600}.login-submit:hover:enabled{background:#123a63}.login-submit:disabled{cursor:default;background:#8fa3b8}.login-forgot{width:100%;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:11px;padding:7px;font-size:13px;display:block}.login-forgot:hover:enabled{text-decoration:underline}.login-forgot:disabled{color:var(--ink3);cursor:default}.login-error{color:var(--fail);background:var(--failbg);border:1px solid #f0cfcd;border-radius:5px;margin:2px 0 12px;padding:9px 11px;font-size:13.5px}.login-notice{color:var(--pass);background:var(--passbg);border:1px solid #cfe7da;border-radius:5px;margin:2px 0 12px;padding:9px 11px;font-size:13.5px}
