.guide{z-index:1;position:relative}.guide-hero{gap:18px;max-width:76ch;padding-block:clamp(40px,6vw,72px) 8px;display:grid}.guide-hero h1{font-size:clamp(36px,4.4vw,56px)}.guide-meta{color:var(--ink-3);font-size:14px}.guide-layout{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:32px;display:grid}@media (width>=1000px){.guide-layout{grid-template-columns:230px minmax(0,1fr);gap:56px}.toc{align-self:start;max-height:calc(100vh - 120px);position:sticky;top:96px;overflow-y:auto}}.toc{border-top:1px solid var(--line);padding-top:16px;font-size:14.5px}.toc-title{font-family:var(--display);margin-bottom:10px;font-size:15px;font-weight:600}.toc ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.toc ol ol{border-left:1px solid var(--line);margin-block:4px 8px;padding-left:14px;font-size:13.5px}.toc a{min-height:32px;color:var(--ink-2);align-items:center;text-decoration:none;display:flex}.toc a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}@media (width<=999px){.toc a{min-height:44px}.toc ol ol a{min-height:40px}}.guide-body{min-width:0;max-width:76ch}.guide-body section{padding-block:0 clamp(48px,6vw,80px);scroll-margin-top:96px}.guide-body section+section{border-top:1px solid var(--line);padding-top:clamp(32px,4vw,48px)}.guide-body h2{font-size:clamp(28px,3vw,38px)}.guide-body h3{font-size:20px;line-height:1.25}.guide-body h4{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600;line-height:1.3}.guide-body p,.guide-body li,.guide-body dd{line-height:1.7}.guide-body a{color:var(--cyan);text-underline-offset:3px}.guide-body :not(pre)>code,.callout code{background:rgba(var(--accent-rgb),.08);overflow-wrap:anywhere;border-radius:6px;padding:1px 5px;font-size:.9em}.callout{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:14px;padding:18px 20px;font-size:15px;line-height:1.65}.callout strong{color:var(--ink)}.tag-verified,.tag-untested{white-space:nowrap;border:1px solid;border-radius:6px;padding:1px 7px;font-size:12.5px;font-weight:600;line-height:1.4;display:inline-block}.tag-verified{color:var(--cyan)}.tag-untested{color:var(--ink-3)}.rule-meta{color:var(--ink-3);font-size:14px}.rule-meta code{color:var(--ink-2)}pre.code{background:var(--surface);border:1px solid var(--line);font-family:var(--mono);color:var(--ink);white-space:pre;tab-size:2;border-radius:14px;margin:0;padding:16px 18px;font-size:13.5px;line-height:1.7;overflow-x:auto}pre.code code{font-family:inherit}pre.code:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}.code-wrap pre.code{border-top-left-radius:0;border-top-right-radius:0}.code-bar{border:1px solid var(--line);background:rgba(var(--accent-rgb),.04);border-bottom:0;border-radius:14px 14px 0 0;justify-content:flex-end;display:flex}.copy-btn{min-height:44px;color:var(--ink-2);font:600 13px var(--body);cursor:pointer;background:0 0;border:0;border-radius:0 14px 0 0;padding:0 14px}.copy-btn:hover{color:var(--ink)}.copy-btn:focus-visible{outline:3px solid var(--cyan);outline-offset:-3px}.level{scroll-margin-top:96px}.level+.level{border-top:1px solid var(--line)}.level>h3{align-items:center;gap:14px;font-size:22px;display:flex}.step{background:var(--hl-bg);min-width:46px;height:34px;color:var(--hl-ink);font:600 16px var(--display);clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%);flex:none;justify-content:center;align-items:center;padding:0 14px;display:inline-flex}.fixtures{gap:8px;display:grid}.fx{grid-template-columns:9.5em minmax(0,1fr);align-items:start;gap:12px;margin:0;display:grid}.guide-body .fx+.fx{margin-top:0}.fx>code{font-family:var(--mono);background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink-2);border-radius:10px;padding:8px 12px;font-size:12.5px;line-height:1.6;display:block}.verdict{border:1px solid;border-radius:8px;justify-self:start;align-items:center;min-height:30px;margin-top:4px;padding:2px 10px;font-size:13px;font-weight:600;line-height:1.3;display:inline-flex}.verdict.block{color:var(--hot);background:rgba(var(--hot-rgb),.08)}.verdict.allow{color:var(--allow-text);background:rgba(var(--allow-rgb),.08)}.verdict.error{color:var(--ink-2);border-color:var(--line-2)}@media (width<=640px){.fx{grid-template-columns:minmax(0,1fr);gap:6px}.verdict{margin-top:0}}.limit,.caution{border-radius:10px;padding:14px 18px;font-size:15px}.limit{background:rgba(var(--accent-rgb),.05)}.caution{border:1px solid var(--line-2)}.notes,.steps{gap:8px;margin:0;padding-left:1.3em;display:grid}.steps{gap:28px}.notes>li,.steps>li{min-width:0}.steps li::marker{font-family:var(--display);color:var(--cyan);font-weight:600}.table-scroll{border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow-x:auto}.table-scroll:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}.table-scroll table{border-collapse:collapse;width:100%;min-width:0;font-size:14.5px;line-height:1.55}.table-scroll th,.table-scroll td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 14px}.table-scroll tr:last-child td{border-bottom:0}.table-scroll th{font-family:var(--display);color:var(--ink);font-weight:600}.table-scroll td code{overflow-wrap:normal}@media (width<=640px){.table-scroll table{min-width:560px}}.gaps{grid-template-columns:minmax(0,1fr);margin:0;display:grid}.gaps dt{font-family:var(--display);border-top:1px solid var(--line);padding-top:14px;font-weight:600}.gaps dd{color:var(--ink-2);margin:4px 0 14px}@media (width>=760px){.gaps{grid-template-columns:15em minmax(0,1fr);column-gap:24px}.gaps dd{border-top:1px solid var(--line);margin:0;padding:14px 0}}.guide-foot{margin-top:24px}.guide-foot a{color:inherit;text-underline-offset:3px}.sr-status{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.guide-body :is(section,.level,.steps>li)>:where(*+*){margin-top:16px}.guide-body :is(section,.level,.steps>li)>:where(*+:is(.table-scroll,.code-wrap,pre.code,.fixtures,.notes,.steps,.gaps,.limit,.caution)),.guide-body :is(section,.level,.steps>li)>:where(:is(.table-scroll,.code-wrap,pre.code,.fixtures,.notes,.steps,.gaps,.limit,.caution)+*){margin-top:24px}.guide-body :is(section,.level,.steps>li)>:where(*+:is(h3,h4)){margin-top:40px}.guide-body :is(section,.level,.steps>li)>:where(:is(h3,h4)+*){margin-top:12px}.guide-body :is(section,.level,.steps>li)>:where(h2+*){margin-top:20px}.guide-body :is(section,.level,.steps>li)>:where(.rule-meta+*){margin-top:8px}.guide-body :is(section,.level,.steps>li)>:where(:is(.code-wrap,pre.code)+.fixtures){margin-top:12px}.guide-body :is(section,.level,.steps>li)>:where(*+.level){margin-top:24px;padding-top:40px}.guide-body :is(section,.level,.steps>li)>:where(.level+.level){margin-top:40px}.table-scroll code.nowrap{white-space:nowrap}