:root{color-scheme:light;--ink:#182a36;--muted:#506272;--line:#dbe5eb;--sea:#116a71;--bg:#f7f9fa;--card:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.78 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:#09646e;text-decoration-thickness:1px;text-underline-offset:3px}a:focus-visible{outline:3px solid #12a6ac;outline-offset:3px;border-radius:2px}a:hover{text-decoration-thickness:2px}
.skip{position:absolute;top:-80px;left:1rem;background:#fff;padding:10px;z-index:10}.skip:focus{top:10px}
.shell{max-width:1100px;margin:auto;padding:0 22px}
.sitehead{background:white;border-bottom:1px solid var(--line)}.sitehead .shell{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;min-height:69px;padding-top:12px;padding-bottom:12px}.brand{font-size:18px;letter-spacing:-.04em;font-weight:850;text-decoration:none;color:var(--ink)}.brand span{color:var(--sea)}.sitehead nav{display:flex;gap:18px;font-size:13px;font-weight:700}.sitehead nav a{text-decoration:none}
.breadcrumbs{font-size:12px;color:var(--muted);padding:23px 0}.breadcrumbs a{color:var(--muted)}.breadcrumbs span{margin:0 9px}
.headercopy{padding:24px 0 40px}.eyebrow{color:var(--sea);text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800}.headercopy h1{font-size:clamp(33px,5vw,53px);line-height:1.13;letter-spacing:-.05em;max-width:950px;margin:14px 0 18px}.dek{font-size:19px;line-height:1.65;color:var(--muted);max-width:820px;margin:0 0 22px}.meta{color:#536a77;font-size:13px;display:flex;gap:16px;flex-wrap:wrap}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:44px;align-items:start}.article{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:clamp(19px,3vw,42px);margin-bottom:48px}.article h2{font-size:clamp(23px,3vw,28px);line-height:1.28;letter-spacing:-.035em;margin:40px 0 13px;scroll-margin-top:22px}.article h2:first-child{margin-top:3px}.article h3{font-size:19px;line-height:1.35;letter-spacing:-.02em;margin:30px 0 12px}.article p,.article li{max-width:78ch}.article p{margin:12px 0 17px}.article ul,.article ol{padding-left:23px;margin:13px 0 22px}.article li{margin-bottom:9px}.article strong{font-weight:750}.article code{font:0.88em/1.5 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;background:#eff4f6;padding:2px 5px;border-radius:4px;overflow-wrap:anywhere}.article pre{background:#142836;color:#edf9fa;border-radius:12px;overflow:auto;margin:20px 0 25px;padding:20px 22px;font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2}.article pre code{background:none;padding:0;border-radius:0;color:inherit;font-size:inherit;white-space:pre;overflow-wrap:normal}.article table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6;margin:18px 0 24px}.article th,.article td{border:1px solid var(--line);padding:9px 12px;vertical-align:top;text-align:left}.article th{background:#eef4f5}.table-scroll{overflow-x:auto}.article blockquote,.note{background:#ebf6f3;border-left:4px solid var(--sea);padding:13px 17px;border-radius:0 8px 8px 0;margin:19px 0;color:#213d43}.warn{background:#fff8eb;border-left-color:#a86916}.small{font-size:13px;color:var(--muted)}.article hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.toc{border:1px solid var(--line);border-radius:13px;background:white;padding:19px;position:sticky;top:20px}.toc h2{margin:0 0 13px;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.toc a{display:block;font-size:13px;line-height:1.45;padding:8px 0;border-top:1px solid #edf1f4;text-decoration:none}.toc a:hover{text-decoration:underline}
.references,.related{padding-top:6px}.references li{font-size:14px}.related a{font-weight:650}.footer{border-top:1px solid var(--line);padding:26px 0;font-size:13px;color:#526673}.footer .shell{display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap}
@media(max-width:820px){.layout{display:block}.toc{position:static;margin-bottom:25px}.toc a{display:inline-block;width:48%;vertical-align:top;padding-right:10px}.article{padding:22px 18px}.headercopy{padding-bottom:25px}.article pre{padding:14px}.sitehead nav{gap:12px}}
@media(max-width:450px){.shell{padding:0 15px}.toc a{display:block;width:100%}.article{margin-left:-3px;margin-right:-3px;padding:18px 14px}.headercopy h1{font-size:34px}.dek{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
