:root{--sg-canvas:#f4f5f7;--sg-surface:#fff;--sg-surface-sunken:#eceef1;--sg-border:#d3d8de;--sg-border-strong:#a9b2bc;--sg-text:#12181f;--sg-text-secondary:#4a5560;--sg-text-muted:#66707b;--sg-on-accent:#fff;--sg-accent:#1f5fa8;--sg-accent-hover:#1a5091;--sg-accent-subtle:#e5eff9;--sg-pass-fg:#12673c;--sg-warning-fg:#7a5200;--sg-blocker-fg:#a11b1b;--sg-blocker-bg:#fbe6e6;--sg-blocker-line:#e9a5a5;--sg-high-fg:#9a4407;--sg-radius-2:4px;--sg-radius-3:6px;--sg-sans:"Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;--sg-mono:"Cascadia Mono", Consolas, ui-monospace, "Courier New", monospace}@media (prefers-color-scheme:dark){:root{--sg-canvas:#0e1216;--sg-surface:#161c22;--sg-surface-sunken:#0a0e12;--sg-border:#2a333c;--sg-border-strong:#3e4a55;--sg-text:#e6ebf0;--sg-text-secondary:#aeb9c4;--sg-text-muted:#8794a0;--sg-accent:#6ba6e8;--sg-accent-hover:#86b7ee;--sg-accent-subtle:#12233a;--sg-pass-fg:#62d392;--sg-warning-fg:#e8b33d;--sg-blocker-fg:#f27272;--sg-blocker-bg:#2e1414;--sg-blocker-line:#7a2a2a;--sg-high-fg:#f0954a}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--sg-canvas);color:var(--sg-text);font-family:var(--sg-sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:24px}a{color:var(--sg-accent)}code,.mono{font-family:var(--sg-mono);font-size:.92em}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}header.top{border-bottom:1px solid var(--sg-border);background:var(--sg-surface);z-index:10;position:sticky;top:0}header.top .inner{align-items:center;gap:24px;height:60px;display:flex}header.top .brand{color:var(--sg-text);font-size:18px;font-weight:600;text-decoration:none}header.top nav{flex-wrap:wrap;gap:20px;margin-left:auto;display:flex}header.top nav a{color:var(--sg-text-secondary);font-size:14px;text-decoration:none}header.top nav a:hover{color:var(--sg-text)}.hero{padding:64px 0 40px}.hero h1{letter-spacing:-.02em;margin:0 0 16px;font-size:42px;line-height:50px}.hero p.lead{color:var(--sg-text-secondary);max-width:68ch;margin:0 0 24px;font-size:19px;line-height:29px}.btn{border-radius:var(--sg-radius-2);background:var(--sg-accent);color:var(--sg-on-accent);border:none;padding:10px 20px;font-size:15px;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{background:var(--sg-accent-hover)}.btn.secondary{background:var(--sg-surface);color:var(--sg-text);border:1px solid var(--sg-border-strong)}section{padding:40px 0}h2{letter-spacing:-.01em;margin:0 0 12px;font-size:26px;line-height:34px}h3{margin:0 0 8px;font-size:18px;line-height:26px}p{max-width:74ch}.panel{background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:var(--sg-radius-3);padding:24px}.grid{gap:20px;display:grid}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.warn{background:var(--sg-blocker-bg);border:1px solid var(--sg-blocker-line);border-left:3px solid var(--sg-blocker-fg);border-radius:var(--sg-radius-3);padding:20px}.warn h3{color:var(--sg-blocker-fg)}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--sg-border);padding:10px 12px}th{background:var(--sg-surface-sunken);text-transform:uppercase;letter-spacing:.05em;color:var(--sg-text-muted);font-size:12px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.price{letter-spacing:-.02em;font-size:34px;font-weight:600}.muted{color:var(--sg-text-muted);font-size:14px}footer.foot{border-top:1px solid var(--sg-border);color:var(--sg-text-muted);margin-top:48px;padding:28px 0 56px;font-size:14px}.reach{background:var(--sg-surface);border-radius:var(--sg-radius-3);width:100%;height:auto}.reach .edge-open{stroke:var(--sg-high-fg);opacity:.45;fill:none}.reach .edge-cut{stroke:var(--sg-blocker-fg);opacity:.8;fill:none}.reach .edge-keep{stroke:var(--sg-pass-fg);opacity:.85;fill:none}.reach .node-account{fill:var(--sg-high-fg)}.reach .node-subject{fill:var(--sg-accent)}.reach .node-resource{fill:var(--sg-text-muted)}.reach .node-permit{fill:var(--sg-pass-fg)}.reach text{font-family:var(--sg-mono);fill:var(--sg-text-secondary);font-size:10px}.reach .cap{font-family:var(--sg-sans);fill:var(--sg-text-muted);font-size:12px;font-weight:600}form.stack{gap:14px;max-width:520px;display:grid}label{color:var(--sg-text-secondary);gap:6px;font-size:14px;display:grid}input,select,textarea{font:inherit;border:1px solid var(--sg-border-strong);border-radius:var(--sg-radius-2);background:var(--sg-surface);color:var(--sg-text);padding:9px 10px;font-size:15px}
