.documentation-shell { min-height: 100vh; background: #f7f9fc; color: #162b42; }
.documentation-header { padding: 1.3rem max(1.5rem, calc((100vw - 1360px) / 2)); background: #102a43; color: white; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.documentation-brand { color: white; text-decoration: none; font-size: 1.35rem; font-weight: 750; letter-spacing: .025em; }
.documentation-brand span { font-weight: 400; margin-left: .5rem; color: #bdd4e8; }
.documentation-header nav { display: flex; gap: 1.5rem; flex-wrap: wrap; font-size: .9rem; }
.documentation-header nav a { color: #e0ecf5; text-decoration: none; }
.documentation-header a:hover { color: white; text-decoration: underline; }
.documentation-main { max-width: 1360px; margin: auto; padding: 2.5rem 1.5rem 4rem; }
.documentation-toolbar { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 2rem; font-size: .9rem; }
.documentation-toolbar label { font-weight: 650; }
.documentation-toolbar input { max-width: 31rem; width: 100%; border: 1px solid #c2d0df; border-radius: .5rem; padding: .7rem 1rem; background: white; color: #162b42; }
.documentation-toolbar span { color: #52677d; }
.documentation-grid { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 3rem; align-items: start; }
.documentation-toc { position: sticky; top: 1.5rem; max-height: calc(100vh - 3rem); overflow: auto; font-size: .86rem; }
.documentation-kicker { text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; font-weight: 750; color: #52677d; }
.documentation-toc nav { display: flex; flex-direction: column; border-left: 2px solid #d7e2ec; }
.documentation-toc nav a { color: #264e70; padding: .45rem .85rem; text-decoration: none; line-height: 1.4; }
.documentation-toc nav a:hover { background: #e7eff7; }
.documentation-internal-link { display: block; margin-top: 1.8rem; color: #52677d; }
.documentation-article { min-width: 0; background: white; border: 1px solid #dce5ee; border-radius: 1rem; padding: clamp(1.3rem, 4vw, 3.5rem); line-height: 1.75; }
.documentation-article h1 { font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 750; letter-spacing: -.035em; line-height: 1.2; margin-bottom: 1.5rem; }
.documentation-article h2 { font-size: 1.45rem; font-weight: 700; margin: 2.5rem 0 1rem; border-top: 1px solid #e1e8f0; padding-top: 2rem; }
.documentation-article h3 { font-size: 1.08rem; font-weight: 700; margin: 1.7rem 0 .7rem; }
.documentation-article :is(h2, h3) { scroll-margin-top: 1.5rem; }
.documentation-article a { color: #005e9e; text-underline-offset: .2em; }
.documentation-article p, .documentation-article ul, .documentation-article ol { margin-bottom: 1.1rem; }
.documentation-article li { margin-bottom: .5rem; }
.documentation-article code { color: #804117; background: #f3f5f8; border-radius: .25rem; padding: .1rem .3rem; overflow-wrap: anywhere; }
.documentation-article pre { background: #102a43; color: #e5f1fb; padding: 1.4rem; border-radius: .6rem; overflow: auto; line-height: 1.65; font-size: .84rem; }
.documentation-article pre code { background: transparent; color: inherit; padding: 0; overflow-wrap: normal; }
.documentation-copy { display: block; margin: 0 0 1rem auto; padding: .2rem .65rem; border: 1px solid #7495b1; color: #e5f1fb; background: #254762; border-radius: .3rem; font: inherit; }
.documentation-article table { display: block; width: 100%; overflow-x: auto; margin: 1.3rem 0; border-collapse: collapse; font-size: .86rem; }
.documentation-article th, .documentation-article td { border: 1px solid #dce5ee; padding: .75rem; min-width: 135px; vertical-align: top; }
.documentation-article th { background: #edf3f8; font-weight: 700; }
.documentation-article blockquote { border-left: 3px solid #2b91b8; background: #edf7fb; padding: 1rem 1.4rem; }
.documentation-footer { padding: 1.5rem; text-align: center; color: #52677d; border-top: 1px solid #dce5ee; font-size: .8rem; }
@media (max-width: 900px) { .documentation-grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; } .documentation-toc { position: static; max-height: 14rem; } .documentation-header nav { gap: .8rem 1.3rem; } }
@media print { .documentation-header, .documentation-toolbar, .documentation-toc, .documentation-copy { display: none; } .documentation-grid { display: block; } .documentation-article { border: 0; padding: 0; } }
