:root{--brand:#2f6feb;--brand-dark:#2459c4;--brand-light:#eaf1fe;--text:#1f2329;--text-secondary:#5c6672;--text-muted:#8a94a0;--bg:#fff;--bg-subtle:#f7f8fa;--bg-code:#f6f8fa;--border:#e5e8ec;--border-light:#eef0f3;--header-height:60px;--sidebar-width:264px;--toc-width:232px;--content-max:860px;--radius:6px;--shadow:0 2px 12px #0000000f}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.75}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-dark)}.layout{min-height:100vh}.body{padding-top:var(--header-height);align-items:flex-start;display:flex}.main{min-width:0;margin-left:var(--sidebar-width);flex:1 1 0;justify-content:center;padding:32px 40px 80px;display:flex}.header{z-index:100;height:var(--header-height);background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.header__brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.header__menu-btn{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;display:none}.header__menu-btn:hover{background:var(--bg-subtle)}.header__logo{color:var(--text);align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.header__logo-img{width:26px;height:26px}.header__tag{color:var(--brand);background:var(--brand-light);border-radius:10px;padding:1px 8px;font-size:12px}.header__links{flex-shrink:0;align-items:center;gap:18px;margin-left:auto;font-size:14px;display:flex}.header__links a{color:var(--text-secondary)}.header__links a:hover{color:var(--brand)}.header-search{flex:0 420px;align-items:center;display:flex;position:relative}.header-search__input{height:34px;color:var(--text);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;padding:0 34px 0 12px;font-family:inherit;font-size:13px;transition:border-color .15s,background .15s}.header-search__input:focus{background:var(--bg);border-color:var(--brand)}.header-search__btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:4px}.header-search__panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);max-height:60vh;box-shadow:var(--shadow);z-index:200;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.header-search__empty{text-align:center;color:var(--text-muted);padding:20px;font-size:13px}.header-search__results{margin:0;padding:4px 0;list-style:none}.header-search__result{cursor:pointer;border-left:2px solid #0000;padding:8px 14px}.header-search__result.is-active{background:var(--brand-light);border-left-color:var(--brand)}.header-search__title{color:var(--text);font-size:13px;font-weight:600}.header-search__snippet{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.sidebar{top:var(--header-height);width:var(--sidebar-width);border-right:1px solid var(--border);background:var(--bg);z-index:90;padding:20px 12px 40px;position:fixed;bottom:0;left:0;overflow-y:auto}.side-nav__section+.side-nav__section{margin-top:18px}.side-nav__group{letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase;padding:6px 10px;font-size:12px;font-weight:600}.side-nav__list{margin:0;padding:0;list-style:none}.side-nav__link{color:var(--text-secondary);border-radius:var(--radius);border-left:2px solid #0000;margin:1px 0;padding:5px 12px;font-size:14px;transition:background .12s,color .12s;display:block}.side-nav__link:hover{background:var(--bg-subtle);color:var(--text)}.side-nav__link.is-active{background:var(--brand-light);color:var(--brand);border-left-color:var(--brand);font-weight:600}.toc{top:var(--header-height);width:var(--toc-width);max-height:calc(100vh - var(--header-height));flex-shrink:0;padding:32px 20px 40px 0;position:sticky;overflow-y:auto}.toc__title{color:var(--text);margin-bottom:10px;font-size:13px;font-weight:600}.toc__list{border-left:1px solid var(--border-light);margin:0;padding:0;list-style:none}.toc__item a{color:var(--text-muted);border-left:1px solid #0000;margin-left:-1px;padding:4px 0 4px 12px;font-size:13px;line-height:1.6;display:block}.toc__item a:hover{color:var(--text)}.toc__item--h3 a{padding-left:24px;font-size:12.5px}.toc__item.is-active a{color:var(--brand);border-left-color:var(--brand);font-weight:500}.doc-page{width:100%;max-width:var(--content-max)}.doc-content{font-size:15px}.doc-content h1{border-bottom:1px solid var(--border-light);margin:0 0 20px;padding-bottom:12px;font-size:30px;font-weight:700;line-height:1.35}.doc-content h2{border-bottom:1px solid var(--border-light);margin:40px 0 14px;padding-bottom:8px;scroll-margin-top:88px;font-size:22px;font-weight:600;line-height:1.4}.doc-content h3{margin:28px 0 10px;scroll-margin-top:88px;font-size:17px;font-weight:600}.doc-content h4{margin:22px 0 8px;scroll-margin-top:88px;font-size:15px;font-weight:600}.doc-content p{margin:12px 0}.doc-content ul,.doc-content ol{margin:12px 0;padding-left:24px}.doc-content li{margin:5px 0}.doc-content li>ul,.doc-content li>ol{margin:4px 0}.doc-content blockquote{color:var(--text-secondary);background:var(--bg-subtle);border-left:4px solid var(--brand);border-radius:0 var(--radius) var(--radius) 0;margin:16px 0;padding:12px 16px}.doc-content blockquote p{margin:4px 0}.doc-content hr{border:none;border-top:1px solid var(--border);margin:28px 0}.doc-content strong{font-weight:600}.doc-content :not(pre)>code{color:#c7254e;background:#c7254e14;border-radius:4px;margin:0 2px;padding:2px 6px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;overflow-x:auto}.doc-content table{border-collapse:collapse;width:100%;font-size:14px}.doc-content th,.doc-content td{text-align:left;border-bottom:1px solid var(--border-light);padding:9px 14px}.doc-content th{background:var(--bg-subtle);white-space:nowrap;font-weight:600}.doc-content tr:last-child td{border-bottom:none}.hljs{color:#24292e}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number,.hljs-literal{color:#005cc5}.hljs-string,.hljs-symbol,.hljs-bullet,.hljs-addition,.hljs-variable,.hljs-template-tag,.hljs-template-variable{color:#032f62}.hljs-meta,.hljs-meta .hljs-string{color:#6a737d}.hljs-comment,.hljs-quote,.hljs-deletion,.hljs-name{color:#6a737d;font-style:italic}.hljs-operator,.hljs-punctuation,.hljs-tag{color:#d73a49}.hljs-built_in,.hljs-class .hljs-title{color:#e36209}.hljs-section,.hljs-title.function_{color:#005cc5}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}.code-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-code);margin:16px 0;overflow:hidden}.code-head{color:var(--text-muted);border-bottom:1px solid var(--border);background:#00000008;justify-content:space-between;align-items:center;padding:5px 12px;font-size:12px;display:flex}.code-lang{text-transform:uppercase;letter-spacing:.06em;font-weight:600}.code-copy{color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:2px 8px;font-family:inherit;font-size:12px}.code-copy:hover{color:var(--brand);border-color:var(--brand)}.code-block pre.hljs{background:0 0;margin:0;padding:14px 16px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.65;overflow-x:auto}.sql-sample{border-radius:var(--radius);background:#f5f9ff;border:1px solid #cfe0ff;margin:18px 0;overflow:hidden}.sql-sample__title{letter-spacing:.04em;color:var(--brand-dark);background:#e8f1ff;border-bottom:1px solid #cfe0ff;padding:6px 14px;font-size:12px;font-weight:600}.sql-sample pre.hljs{background:0 0;margin:0;padding:14px 16px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.65;overflow-x:auto}.file-tree{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-code);margin:18px 0;overflow:hidden}.file-tree__title{letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border);background:#00000008;padding:6px 14px;font-size:12px;font-weight:600}.file-tree pre.hljs{background:0 0;margin:0;padding:14px 16px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px;line-height:1.7;overflow-x:auto}.doc-footer{border-top:1px solid var(--border-light);color:var(--text-muted);margin-top:48px;padding-top:18px;font-size:13px}.doc-footer p{margin:0}@media (width<=1280px){.toc{display:none}}@media (width<=960px){.header{gap:12px;padding:0 12px}.header__menu-btn{display:flex}.header__tag,.header__links{display:none}.header-search{flex:1}.sidebar{box-shadow:var(--shadow);transition:transform .2s;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.main{margin-left:0;padding:20px 16px 60px}.drawer-mask{inset:var(--header-height) 0 0 0;z-index:80;background:#00000059;position:fixed}.doc-content h1{font-size:25px}}
