/* Full-width documentation shell. Navigation is the primary entry point. */
:root{--sidebar:300px;--header:80px}
#protocol table{min-width:820px}
#protocol td:first-child{width:25%;min-width:205px}
#protocol td:nth-child(2){width:15%}
#protocol td code{white-space:nowrap;overflow-wrap:normal}
html{scroll-padding-top:112px}
body{font-size:15px;line-height:1.85}
.header{height:var(--header);padding:0 36px;background:#fff}
.brand{gap:15px;color:#253f67;font-weight:600;letter-spacing:0}
.brand-title{font-size:21px;letter-spacing:1px}
.brand-mark{width:36px;height:36px;border-radius:11px;font-size:33px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;margin:0 0 0 var(--sidebar);max-width:none;min-height:calc(100dvh - var(--header));border:0}
.sidebar{position:fixed;top:var(--header);bottom:0;left:0;width:var(--sidebar);height:auto;padding:36px 24px 48px;background:#f7f9fd;border-right:1px solid var(--line);display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent}
.sidebar:hover{scrollbar-color:#c8d5e8 transparent}
.sidebar::-webkit-scrollbar{width:5px}
.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}
.sidebar:hover::-webkit-scrollbar-thumb{background:#c8d5e8}
.nav-group{color:#899bb8;font-size:12px;font-weight:500;letter-spacing:1px;padding-left:20px;margin:0 0 14px}
.section-group{margin-top:32px}
.nav-link{gap:15px;padding:13px 20px;min-height:52px;border-radius:8px;margin:5px 0;font-size:15px}
.nav-link.active{background:#e4edfc;color:#245bb0}
.nav-icon{width:22px;flex-shrink:0;font-size:19px}
main{max-width:1080px;padding:44px 64px 0}
.breadcrumb{font-size:12px;margin-bottom:40px}
.eyebrow{font-size:12px;margin-bottom:12px}
h1{font-size:38px;line-height:1.4;letter-spacing:-1.1px;margin-bottom:18px}
.lead{font-size:15px;max-width:720px}
.page-title{padding-bottom:36px;margin-bottom:38px}
section{margin:38px 0}
h2{font-size:21px;margin-bottom:18px}
p{margin:14px 0 20px}
.muted{font-size:13px}
code{font-size:13px}
p code,td code,.note code,.facts code{font-size:12px}
.connection{gap:14px;padding:18px 20px;font-size:12px;margin-top:24px}
.connection code{font-size:13px}
.directory-group{font-size:13px;margin-top:32px}
.tool-grid{gap:16px;margin-top:16px}
.tool-grid:has(>.tool-card:nth-child(2):last-child),.tool-grid:has(>.tool-card:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.tool-card{padding:24px 21px 16px;border-radius:9px}
.tool-icon{width:38px;height:38px;border-radius:9px}
.tool-card h3{font-size:16px;margin:19px 0 9px}
.tool-card p{font-size:13px;margin-bottom:24px}
.card-bottom{font-size:12px;padding-top:13px}
.note{gap:13px;padding:18px 20px;font-size:13px;margin:26px 0}
.note strong{font-size:13px}
.code{margin:20px 0}
.code-head{padding:10px 20px;font-size:11px}
.copy{font-size:11px;padding:3px 12px}
pre{padding:24px;line-height:1.95}
pre code{font-size:13px}
.facts{margin-top:24px}
.facts>div{padding:18px 21px}
.facts span{font-size:12px;margin-bottom:7px}
.facts strong{font-size:14px}
.tab-list{gap:26px;margin-top:24px}
.tab-list button{padding:10px 0;font-size:13px}
.tabs .code{margin-top:14px}
.table-wrap{margin:24px 0}
table{font-size:14px}
th,td{padding:14px 18px}
td:first-child{white-space:normal;min-width:110px;max-width:220px}
.steps{margin:20px 0;padding-left:24px}
.steps li{margin-bottom:14px;line-height:1.95}
.steps li::marker{font-size:13px}
details{padding:18px 0;font-size:14px}
.sources{padding-top:24px;gap:18px;font-size:12px}
.toc{padding:49px 28px 24px 8px;top:var(--header);font-size:13px}
.toc nav{margin-top:20px}
.toc a{padding:8px 0 8px 18px}
.pager{gap:20px;margin:52px 0 34px}
.pager a{padding:16px 20px}
.pager span{font-size:12px}
.pager strong{font-size:14px;margin-top:5px}
footer{font-size:11px;padding:24px 0 30px}
@media(min-width:1600px){:root{--sidebar:320px}.sidebar{padding-left:28px;padding-right:28px}.layout{grid-template-columns:minmax(0,1fr) 250px}main{padding:52px 72px 0}.toc{padding-top:57px;padding-right:44px}}
@media(max-width:1180px){:root{--sidebar:260px}.layout{grid-template-columns:minmax(0,1fr)}.toc{display:none}main{padding:36px 44px 0}.sidebar{padding:30px 18px 40px}.nav-link{padding-left:18px;padding-right:18px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){:root{--header:64px;--sidebar:min(320px,86vw)}html{scroll-padding-top:90px}.header{padding:0 22px}.brand{gap:12px}.brand-title{font-size:19px}.brand-mark{width:32px;height:32px;font-size:29px}.layout{display:block;margin-left:0}.sidebar{z-index:7;padding:30px 22px 40px;height:auto}.nav-link{font-size:15px;min-height:50px;padding:12px 18px}.nav-group{padding-left:18px}.section-group{margin-top:27px}.backdrop{inset:var(--header) 0 0}main{padding:28px 24px 0}.breadcrumb{margin-bottom:30px;font-size:11px}h1{font-size:31px}.lead{font-size:14px}.page-title{padding-bottom:28px}.tool-grid,.tool-grid:has(>.tool-card:nth-child(2):last-child),.tool-grid:has(>.tool-card:nth-child(4):last-child){grid-template-columns:1fr}.tool-card{padding:20px;grid-template-columns:38px 1fr;column-gap:16px}.tool-card h3{margin:0 0 7px}.tool-card p{margin:0 0 18px}.connection{gap:10px;padding:16px}.connection code{font-size:12px}section{margin:32px 0}h2{font-size:20px}pre{padding:18px}pre code{font-size:12px}.pager{margin-top:38px;gap:12px}.pager a{padding:13px}.pager strong{font-size:13px}.note{padding:16px;font-size:12px}.tab-list{gap:20px}.tab-list button{font-size:12px}th,td{padding:13px 15px;font-size:13px}}

