@font-face{font-family:"Public Sans";src:url("fonts/PublicSans-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url("fonts/PublicSans-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--ground:#101518;--paper:#171e22;--ink:#edf2f0;--muted:#a5b4b9;--accent:#b8ee8a;--wash:#223128;--line:#344148;--font:"Public Sans",sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--ground);color:var(--ink);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--ground)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a{color:var(--accent);text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;text-wrap:balance}h1{font-size:clamp(3.25rem,5.5vw,5rem);line-height:1.08;letter-spacing:-.045em}h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.03em}h3{font-size:1.15rem;line-height:1.4}p{text-wrap:pretty}code{font-family:var(--mono);font-size:.88em;overflow-wrap:anywhere}p code,dd code{background:var(--wash);padding:.1em .3em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-5rem;left:1rem;background:var(--accent);color:var(--ground);padding:.75rem 1rem;z-index:10}.skip-link:focus{top:1rem}
.site-header,main,footer{max-width:1280px;margin:auto;padding-left:3rem;padding-right:3rem}.site-header{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-top:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.8rem;font:700 1.1rem var(--mono);color:var(--ink);text-decoration:none}.brand svg{width:28px;height:28px;color:var(--accent)}nav{display:flex;gap:1.75rem;align-items:center}nav a{color:var(--muted);font-size:.875rem;text-decoration:none}nav a:hover{color:var(--ink)}.source-link{display:flex;align-items:center;gap:.4rem}.source-link svg{width:16px;height:16px}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:5rem 0 3rem;align-items:center}.eyebrow{font:.75rem/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}.intro-description{max-width:31rem;font-size:1.1rem;color:var(--muted);margin:1.75rem 0 2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;text-decoration:none;font-size:.875rem;font-weight:700;padding:.85rem 1.2rem;border:1px solid var(--line);border-radius:3px}.primary{color:var(--ground);background:var(--accent);border-color:var(--accent)}.primary:hover{background:#d3f6b6;border-color:#d3f6b6}.secondary:hover{border-color:var(--accent)}.intro-setup{display:block;width:fit-content;margin-top:1rem;font-size:.875rem;color:var(--muted)}.visibility-sheet{background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--accent);padding:1.6rem 1.75rem}.console-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--muted);font:.7rem/1.5 var(--mono);margin-bottom:1.8rem}.console-tag{color:var(--accent)}.visibility-sheet h2{font-size:1.4rem;line-height:1.4;letter-spacing:-.025em}.visibility-list{margin:1.5rem 0}.visibility-list>div{border-top:1px solid var(--line);padding:1.1rem 0}.visibility-list>div:last-child{padding-bottom:0}.visibility-list dt{color:var(--muted);font-size:.8rem;margin-bottom:.35rem}.route-marker{color:var(--accent);margin-right:.3rem}.visibility-list dd{margin:0;font-size:.95rem}.visibility-list dd>code{background:none;padding:0;color:var(--ink)}.visibility-list dd span{display:block;font-size:.78rem;color:var(--muted);margin-top:.25rem}.sheet-note{border-top:1px solid var(--line);padding-top:1rem;font-size:.78rem;color:var(--muted)}
.expression-strip{display:flex;align-items:center;gap:1.5rem;background:#0b1012;border:1px solid var(--line);padding:1.25rem 1.5rem}.expression-strip>span:first-child{font:.7rem var(--mono);color:var(--muted);white-space:nowrap}.expression-strip>code{flex:1;color:var(--accent);font-size:.9rem}.copy-button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:.45rem .85rem;font:.75rem var(--mono);border-radius:3px}.copy-button:hover{border-color:var(--accent)}
.routing-section{padding:5rem 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:2rem}.section-heading p:not(.eyebrow){max-width:43rem;color:var(--muted);margin-top:1rem}.section-heading .eyebrow{margin-bottom:.75rem}.example-label{font:.7rem/1.5 var(--mono);color:var(--muted);white-space:nowrap;border:1px solid var(--line);padding:.45rem .7rem}.ledger{border:1px solid var(--line);background:var(--paper)}.ledger-toolbar{padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line)}.ledger-toolbar>span{font:.8rem var(--mono);color:var(--muted)}.scenario-controls{display:flex;gap:.35rem}.scenario-controls button{border:1px solid transparent;color:var(--muted);background:transparent;font-size:.8rem;padding:.5rem .85rem;border-radius:3px}.scenario-controls button:hover{color:var(--ink);border-color:var(--line)}.scenario-controls button[aria-pressed="true"]{color:var(--accent);border-color:#60754f;background:#263225}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:740px}thead th{font:.65rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:1rem;text-align:left;border-bottom:1px solid var(--line)}tbody th,td{padding:1.3rem 1rem;border-bottom:1px solid var(--line);text-align:left;font-size:.85rem}tbody th{font-weight:400}th:first-child{padding-left:1.5rem}th:last-child,td:last-child{padding-right:1.5rem}.numeric{text-align:right;font-family:var(--mono);font-size:.8rem}.order{display:inline-block;color:var(--muted);font:.75rem var(--mono);margin-right:.75rem}.selected{background:var(--wash)}.not-evaluated{color:var(--muted)}.decision{font-size:.7rem;white-space:nowrap}.chosen{color:var(--accent);font-weight:700}.chosen:before{content:"↳ ";font-family:var(--mono)}.ledger-result{padding:1.5rem;display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.25rem;background:#0b1012}.result-label{font:.7rem/1.8 var(--mono);color:var(--muted);text-transform:uppercase}.ledger-result>code{color:var(--accent);font-size:1rem;min-width:0}#selection-reason{grid-column:2;color:var(--muted);font-size:.8rem}.ledger-footnote,.notice{font-size:.8rem;color:var(--muted);margin-top:1rem}
.implementation{border-top:1px solid var(--line);padding:3rem 0 5rem}.implementation h2{font-size:1.75rem;margin-bottom:1.5rem}.implementation-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.implementation-grid>div{padding:1.25rem 0;border-top:1px solid var(--line)}.implementation-grid h3{margin:.75rem 0 .5rem}.implementation-grid p{font-size:.875rem;color:var(--muted)}.status-marker{color:var(--accent);font:.7rem var(--mono);text-transform:uppercase;letter-spacing:.04em}.status-marker.outlined{color:#e8bf78}
.guide-section{border-top:1px solid var(--line);padding:4rem 0 5rem;display:grid;grid-template-columns:1fr 1.5fr;gap:4rem}.guide-intro p{margin:1.25rem 0;color:var(--muted);font-size:.95rem}.text-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;white-space:nowrap}.setup-steps{list-style:none;counter-reset:steps;margin:0;padding:0}.setup-steps li{counter-increment:steps;position:relative;padding:1.5rem 0 1.5rem 3.5rem;border-bottom:1px solid var(--line)}.setup-steps li:first-child{padding-top:0}.setup-steps li:before{content:"0" counter(steps);position:absolute;left:0;top:1.6rem;font:.8rem var(--mono);color:var(--accent)}.setup-steps li:first-child:before{top:.2rem}.setup-steps p{font-size:.875rem;color:var(--muted);margin-top:.5rem}table.permissions{margin:1rem 0;min-width:0;width:100%;border:1px solid var(--line);background:var(--paper)}table.permissions caption{text-align:left;font:.7rem var(--mono);color:var(--muted);padding-bottom:.75rem}table.permissions th,table.permissions td{padding:1rem;font-size:.8rem}.credentials{margin:.75rem 0 0}.credentials>div{margin-bottom:.75rem}.credentials dt{font-size:.9rem}.credentials dd{margin:0;color:var(--muted);font-size:.8rem}.setup-steps .small-note,.setup-steps .verification{font-size:.8rem}
.policy-section{border-top:1px solid var(--line);padding:4rem 0}.policy-content{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem}.code-block{background:#0b1012;border:1px solid var(--line);margin-bottom:1.25rem;min-width:0}.code-block:last-child{margin-bottom:0}.code-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.75rem 1.25rem;font:.7rem var(--mono);color:var(--muted)}pre{margin:0;padding:1.5rem;overflow:auto;font-size:.875rem;line-height:1.8}.policy-notes>div{border-top:1px solid var(--line);padding:1.25rem 0}.policy-notes h3{font-size:1rem}.policy-notes p{font-size:.875rem;color:var(--muted);margin-top:.5rem}.closing{border-top:1px solid var(--line);padding:3rem 0 4rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.closing h2{font-size:1.75rem}.closing p{color:var(--muted);margin-top:.75rem}footer{padding-top:1.5rem;padding-bottom:2.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:2rem;color:var(--muted);font:.75rem/1.6 var(--mono)}footer>a{flex-shrink:0}footer>div{display:flex;gap:1.5rem}
@media(min-width:1600px){.intro{padding-top:6rem;padding-bottom:4rem}}
@media(max-width:1000px){.site-header,main,footer{padding-left:2rem;padding-right:2rem}.intro{gap:2rem}.section-heading{display:block}.example-label{display:inline-block;margin-top:1rem}.expression-strip{flex-wrap:wrap;gap:1rem}.expression-strip>span:first-child{width:100%}.expression-strip>code{font-size:.8rem}.ledger-toolbar{align-items:flex-start;flex-direction:column}.guide-section{gap:2rem}.policy-content{gap:2rem}.text-link{margin-top:1rem}}
@media(max-width:680px){.site-header,main,footer{padding-left:1.25rem;padding-right:1.25rem}.site-header{flex-wrap:wrap;gap:1rem;padding-top:1.1rem;padding-bottom:1.1rem}.brand{font-size:1rem}nav{width:100%;justify-content:space-between;gap:.75rem}nav a{font-size:.8rem}.intro{grid-template-columns:1fr;padding:3rem 0 2rem;gap:2.5rem}h1{font-size:clamp(2.7rem,10vw,3.7rem)}.intro-description{font-size:1rem;margin:1.25rem 0 1.5rem}.visibility-sheet{padding:1.25rem}.console-heading{font-size:.65rem;gap:.5rem}.expression-strip{padding:1rem}.expression-strip>code{flex-basis:100%;line-height:1.8}.routing-section{padding:3rem 0}.section-heading{margin-bottom:1.5rem}.section-heading p:not(.eyebrow){font-size:.9rem}.ledger-toolbar{padding:1rem}.scenario-controls{width:100%;flex-wrap:wrap}.scenario-controls button{font-size:.75rem;padding:.5rem .65rem}.ledger-result{grid-template-columns:1fr;padding:1.25rem;gap:.6rem}#selection-reason{grid-column:1}.ledger-result>code{font-size:.875rem}.implementation{padding:2.5rem 0 3rem}.implementation-grid{grid-template-columns:1fr;gap:1rem}.guide-section,.policy-content{grid-template-columns:1fr}.guide-section,.policy-section{padding:3rem 0}.setup-steps li{padding-left:2.5rem}table.permissions th,table.permissions td{padding:.75rem}pre{padding:1.1rem;font-size:.8rem}.text-link{white-space:normal}.closing{flex-direction:column;align-items:flex-start;padding:2.5rem 0 3rem}footer{flex-direction:column;gap:1rem}}
.code-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.code-grid .code-block{margin-bottom:0}.code-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.75rem 1.25rem;font:.7rem var(--mono);color:var(--muted)}.policy-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}
@media(max-width:680px){.code-grid,.policy-notes{grid-template-columns:1fr}.policy-notes{gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
