html.reference-document{scroll-behavior:smooth;--font-size-reference-mobile:44px;--line-reference-display:.96;--line-reference-heading:1.04;--line-reference-lead:1.48;--line-reference-title:1.2;--line-reference-copy:1.58}
.reference-document body{min-height:100vh;background:var(--paper);color:var(--ink)}
.reference-nav,.reference-footer{padding:0 clamp(var(--space-5),4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);border-bottom:1px solid var(--line)}
.reference-nav{min-height:64px;position:relative;z-index:2;background:color-mix(in srgb,var(--paper) 94%,transparent)}
.reference-nav .wordmark{color:var(--ink);text-decoration:none}
.reference-nav nav,.reference-footer nav{display:flex;align-items:center;gap:var(--space-4-5);font-size:var(--font-size-xs);color:var(--muted)}
.reference-nav a,.reference-footer a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
.reference-nav a:hover,.reference-footer a:hover{color:var(--ink)}
.reference-main{width:min(1180px,calc(100% - 44px));margin:0 auto;padding:clamp(70px,9vw,132px) 0 100px}
.reference-hero{max-width:920px}
.reference-hero h1{max-width:900px;margin:var(--space-4-5) 0 var(--space-6-5);font-size:clamp(48px,7vw,88px);font-weight:400;letter-spacing:-.06em;line-height:var(--line-reference-display)}
.reference-hero>p:last-of-type{max-width:720px;margin:0;color:var(--muted);font-size:clamp(18px,2vw,23px);line-height:var(--line-reference-lead)}
.reference-principles{margin-top:var(--space-12);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reference-principles span{padding:var(--space-4-5) var(--space-6) var(--space-4-5) 0;color:var(--muted);font-size:var(--font-size-small);line-height:var(--line-relaxed)}
.reference-principles span:not(:last-child){border-right:1px solid var(--line)}
.reference-principles span+span{padding-left:var(--space-6)}
.reference-principles b{display:block;margin-bottom:var(--space-0-75);color:var(--ink);font-weight:560}
.rule-index{margin:84px 0 124px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}
.rule-index a{padding:var(--space-3-75) 0;display:flex;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--line);color:var(--ink);font-size:var(--font-size-small);text-decoration:none}
.rule-index a:not(:nth-child(5n+1)){padding-left:var(--space-5-5)}
.rule-index a:not(:nth-child(5n)){padding-right:var(--space-5-5);border-right:1px solid var(--line)}
.rule-index span{color:var(--faint);font-variant-numeric:tabular-nums}
.rule-index a:hover{background:var(--surface-2)}
.rule-group{padding:0 0 116px;scroll-margin-top:32px}
.rule-group>header{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:var(--space-6) 60px;padding-bottom:var(--space-7-5);border-bottom:1px solid var(--line-strong)}
.rule-group>header .eyebrow{grid-column:1/-1}
.rule-group>header h2{margin:0;font-size:clamp(30px,4vw,48px);font-weight:430;letter-spacing:-.045em;line-height:var(--line-reference-heading)}
.rule-group>header>p:last-child{max-width:530px;margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--font-size-body);line-height:var(--line-prose)}
.rule-list{display:block}
.rule-entry{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(190px,1fr) minmax(190px,1fr);gap:var(--space-7) var(--space-12);padding:var(--space-7-5) 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}
.rule-entry:target{background:var(--surface-2);box-shadow:0 0 0 18px var(--surface-2)}
.rule-entry code{display:inline-block;margin-bottom:var(--space-2-5);color:var(--faint);font-size:var(--font-size-caption);letter-spacing:.07em}
.rule-entry h3{margin:0;font-size:var(--font-size-heading-sm);font-weight:550;letter-spacing:-.025em;line-height:var(--line-reference-title)}
.rule-entry p{margin:0;color:var(--muted);font-size:var(--font-size-small);line-height:var(--line-reference-copy)}
.rule-entry p b{display:block;margin-bottom:var(--space-1-25);color:var(--ink);font-weight:560}
.rule-entry p code{display:inline;margin:0;color:inherit;font-size:inherit;letter-spacing:normal}
.reference-cta{max-width:760px;margin:var(--space-3) 0 var(--space-7-5);padding-top:70px;border-top:1px solid var(--line-strong)}
.reference-cta h2{margin:var(--space-4) 0;font-size:clamp(36px,5vw,58px);font-weight:420;letter-spacing:-.05em;line-height:1.02}
.reference-cta>p:last-of-type{max-width:640px;margin:0 0 var(--space-7);color:var(--muted);font-size:var(--font-size-body);line-height:var(--line-prose)}
.reference-footer{min-height:64px;border-top:1px solid var(--line);border-bottom:0;color:var(--muted);font-size:var(--font-size-caption)}
@media(max-width:900px){.rule-index{grid-template-columns:repeat(2,1fr)}.rule-index a:not(:nth-child(5n+1)){padding-left:0}.rule-index a:not(:nth-child(5n)){padding-right:0;border-right:0}.rule-index a:nth-child(even){padding-left:var(--space-5)}.rule-index a:nth-child(odd){padding-right:var(--space-5);border-right:1px solid var(--line)}.rule-entry{grid-template-columns:minmax(220px,.8fr) 1fr}.rule-entry>p:last-child{grid-column:2}.rule-group>header{grid-template-columns:1fr}.rule-group>header .eyebrow{grid-column:auto}.reference-principles{grid-template-columns:1fr}.reference-principles span,.reference-principles span+span{padding:var(--space-4) 0;border-right:0}.reference-principles span+span{border-top:1px solid var(--line)}}
@media(max-width:620px){.reference-nav{min-height:58px}.reference-nav nav a:first-child{display:none}.reference-main{width:min(100% - 36px,1180px);padding-top:58px}.reference-hero h1{font-size:var(--font-size-reference-mobile)}.rule-index{margin:60px 0 90px;grid-template-columns:1fr}.rule-index a,.rule-index a:nth-child(even),.rule-index a:nth-child(odd){padding:var(--space-3-25) 0;border-right:0}.rule-group{padding-bottom:86px}.rule-entry{grid-template-columns:1fr;gap:var(--space-4-5);padding:var(--space-6-5) 0}.rule-entry>p:last-child{grid-column:auto}.rule-entry:target{box-shadow:0 0 0 10px var(--surface-2)}.reference-footer{padding-top:var(--space-4);padding-bottom:var(--space-4);align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.reference-main{width:min(100% - 24px,1180px)}.reference-nav,.reference-footer{padding-left:var(--space-4);padding-right:var(--space-4)}}
@media(prefers-reduced-motion:reduce){html.reference-document{scroll-behavior:auto}}
