.rnav{position:sticky;top:0;z-index:60;height:60px;background:#e7e9eecc;-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--faint)}.rnav-inner{display:flex;align-items:center;gap:18px;height:60px;padding:0 24px}.rnav .brand{display:flex;align-items:baseline;gap:1px;font-family:var(--font-mono);font-weight:600;font-size:16px;color:var(--ink)}.rnav .brand .rev{color:var(--vermilion)}.rnav-mid{display:flex;gap:6px}.rnav-mid a{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--graphite);padding:6px 12px;border-radius:7px}.rnav-mid a:hover{color:var(--ink);background:#ffffff8c}.rnav-mid a.active{color:var(--ink);background:#fff;box-shadow:0 1px 2px #14181f14,inset 0 0 0 1px var(--faint)}.rnav-right{margin-left:auto;display:flex;align-items:center;gap:10px}.theme-btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:12.5px;color:var(--graphite);background:#ffffffb3;border:1px solid var(--faint);border-radius:8px;padding:7px 11px;cursor:pointer}.theme-btn:hover{color:var(--ink);border-color:var(--faint-2)}.theme-btn .sw{width:13px;height:13px;border-radius:4px;background:linear-gradient(135deg,var(--vermilion) 50%,var(--slate) 50%);box-shadow:inset 0 0 0 1px #0000001a}:root[data-md=vue] .theme-btn .sw{background:linear-gradient(135deg,#42b983 50%,#e96900 50%)}.filter{width:200px;max-width:40vw;font-family:var(--font-mono);font-size:13px;color:var(--ink);background:#ffffffb3;border:1px solid var(--faint);border-radius:8px;padding:7px 13px}.filter::placeholder{color:var(--mute)}.filter:focus{outline:none;border-color:var(--slate);background:#fff}.menu-btn{display:none;font-size:18px;color:var(--ink);background:#ffffffb3;border:1px solid var(--faint);border-radius:9px;width:40px;height:38px;cursor:pointer}.reader{display:grid;grid-template-columns:288px minmax(0,1fr) 240px;height:calc(100vh - 60px)}.sidebar{height:100%;overflow-y:auto;padding:18px 14px;border-right:1px solid var(--faint)}.side-group{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--vermilion);padding:16px 12px 5px}.side-group:first-child{padding-top:4px}.side-link{display:block;font-family:var(--font-sans);font-size:13.5px;color:var(--graphite);padding:7px 12px;border-radius:8px;line-height:1.4;transition:background .15s,color .15s}.side-link:hover{background:#fff9;color:var(--ink)}.side-link.active{background:#fff;color:var(--ink);font-weight:500;box-shadow:inset 0 0 0 1px var(--faint)}.side-empty{color:var(--mute);font-size:14px;padding:14px}.content{height:100%;overflow-y:auto;padding:52px 7% 96px}.doc-foot{max-width:820px;margin:64px auto 0;color:var(--mute);font-family:var(--font-mono);font-size:12px;border-top:1px solid var(--faint);padding-top:20px}.scrim{display:none}.toc-col{height:100%;overflow-y:auto;border-left:1px solid var(--faint);padding:52px 16px 40px 20px}.toc.empty{display:none}.toc-t{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding:0 10px 8px}.toc-link{display:block;font-family:var(--font-sans);font-size:12.5px;line-height:1.4;color:var(--graphite);padding:5px 10px;border-left:2px solid transparent;transition:color .15s,border-color .15s}.toc-link.lvl3{padding-left:22px;font-size:12px;color:var(--mute)}.toc-link:hover{color:var(--ink)}.toc-link.active{color:var(--vermilion);border-left-color:var(--vermilion)}:root[data-md=vue] .toc-link.active{color:#42b983;border-left-color:#42b983}@media(max-width:1180px){.reader{grid-template-columns:288px minmax(0,1fr)}.toc-col{display:none}}@media(max-width:880px){.menu-btn{display:inline-block}.filter{width:130px}.reader{grid-template-columns:1fr}.sidebar{position:fixed;top:60px;left:0;z-index:55;width:288px;height:calc(100vh - 60px);background:var(--paper-2);transform:translate(-102%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}body.menu-open .sidebar{transform:none}body.menu-open .scrim{display:block;position:fixed;top:60px;right:0;bottom:0;left:0;z-index:54;background:#14181f47}.content{padding:30px 22px 70px}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}.md-body{max-width:820px;margin-inline:auto;font-family:var(--font-sans);font-size:16px;line-height:1.72;color:var(--ink-soft)}.md-body>*:first-child{margin-top:0}.md-body h1{font-family:var(--font-serif);font-weight:500;font-size:clamp(32px,4.6vw,44px);line-height:1.15;color:var(--ink);margin:0 0 12px;letter-spacing:-.01em;scroll-margin-top:80px}.md-body h2{font-family:var(--font-mono);font-weight:600;font-size:clamp(22px,2.8vw,28px);color:var(--ink);margin:40px 0 14px;padding-top:16px;border-top:1px solid var(--faint);letter-spacing:-.01em;scroll-margin-top:80px}.md-body h3{font-family:var(--font-mono);font-weight:600;font-size:19px;color:var(--ink);margin:28px 0 10px;scroll-margin-top:80px}.md-body h4{font-family:var(--font-sans);font-weight:600;font-size:16.5px;color:var(--ink-soft);margin:22px 0 8px;scroll-margin-top:80px}.md-body hr+h1,.md-body hr+h2,.md-body hr+h3{border-top:none;padding-top:0;margin-top:16px}.md-body h1+p,.md-body h1+blockquote{color:var(--graphite)}.md-body p{margin:13px 0}.md-body strong{color:var(--ink);font-weight:600}.md-body em{color:var(--ink);font-family:var(--font-serif);font-style:italic}.md-body a{color:var(--slate);border-bottom:1px solid transparent}.md-body a:hover{color:var(--vermilion);border-bottom-color:currentColor}.md-body .header-anchor{color:inherit;border:none;opacity:1;font-weight:inherit}.md-body .header-anchor:hover{color:inherit;border:none}.md-body ul,.md-body ol{margin:12px 0;padding-left:26px}.md-body li{margin:4px 0}.md-body ul li::marker{color:var(--vermilion)}.md-body ol li::marker{color:var(--graphite);font-family:var(--font-mono)}.md-body :not(pre)>code{font-family:var(--font-mono);font-size:.86em;color:var(--vermilion-ink);background:var(--vermilion-wash);border:1px solid rgba(216,58,43,.16);padding:1.5px 6px;border-radius:5px;word-break:break-word}.md-body pre.code{margin:18px 0;padding:16px 18px;border-radius:12px;overflow-x:auto;background:#fbfbfc;border:1px solid var(--faint)}.md-body pre.code code{font-family:var(--font-mono);font-size:13px;line-height:1.7;background:none;border:none;padding:0;color:#24292f}.md-body blockquote{margin:16px 0;padding:12px 20px;border-radius:0 10px 10px 0;border-left:3px solid var(--slate);background:#3a5a860f;color:var(--ink-soft)}.md-body blockquote p{margin:6px 0}.md-body blockquote strong{color:var(--ink)}.table-scroll{overflow-x:auto;margin:18px 0;border:1px solid var(--faint);border-radius:12px;background:#fff}.md-body table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.55}.md-body thead th{background:#f2f3f6;color:var(--ink);font-family:var(--font-mono);font-weight:600;font-size:13px;text-align:left}.md-body th,.md-body td{padding:8px 13px;border-bottom:1px solid var(--faint);border-right:1px solid var(--faint);vertical-align:top}.md-body th:last-child,.md-body td:last-child{border-right:none}.md-body tbody tr:last-child td{border-bottom:none}.md-body td code{white-space:nowrap}.md-body hr{border:none;border-top:1px solid var(--faint);margin:30px 0}.md-body img{max-width:100%;border-radius:10px;border:1px solid var(--faint)}.md-body pre.mermaid{margin:22px 0;padding:20px;border-radius:14px;overflow-x:auto;text-align:center;background:#fff;border:1px solid var(--faint)}.md-body pre.mermaid svg{max-width:100%;height:auto}:root[data-md=vue] .content{background:#fff}:root[data-md=vue] .toc-col,:root[data-md=vue] .sidebar{background:#fff}:root[data-md=vue] .md-body{max-width:860px;font-family:"Source Sans 3",-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#34495e;font-size:16px;line-height:1.7}:root[data-md=vue] .md-body h1,:root[data-md=vue] .md-body h2,:root[data-md=vue] .md-body h3,:root[data-md=vue] .md-body h4,:root[data-md=vue] .md-body h5,:root[data-md=vue] .md-body h6{font-family:inherit;font-weight:700;color:#2c3e50;line-height:1.4;letter-spacing:0;border:none;padding:0}:root[data-md=vue] .md-body h1{font-size:2.2rem;line-height:1.3;padding-bottom:.4rem;margin:0 0 1rem}:root[data-md=vue] .md-body h2{font-size:1.75rem;line-height:1.225;margin:35px 0 15px;padding-bottom:.5rem;border-bottom:1px solid #ddd}:root[data-md=vue] .md-body h3{font-size:1.4rem;margin:24px 0 8px}:root[data-md=vue] .md-body h4{font-size:1.2rem;margin:18px 0 6px}:root[data-md=vue] .md-body h6{color:#777}:root[data-md=vue] .md-body hr+h1,:root[data-md=vue] .md-body hr+h2,:root[data-md=vue] .md-body hr+h3{border-top:none}:root[data-md=vue] .md-body p,:root[data-md=vue] .md-body ul,:root[data-md=vue] .md-body ol,:root[data-md=vue] .md-body table,:root[data-md=vue] .md-body blockquote{margin:.85em 0}:root[data-md=vue] .md-body a,:root[data-md=vue] .md-body .header-anchor{color:#42b983;font-weight:600;border:none}:root[data-md=vue] .md-body h1 .header-anchor,:root[data-md=vue] .md-body h2 .header-anchor,:root[data-md=vue] .md-body h3 .header-anchor,:root[data-md=vue] .md-body h4 .header-anchor,:root[data-md=vue] .md-body h5 .header-anchor,:root[data-md=vue] .md-body h6 .header-anchor{color:inherit;font-weight:700}:root[data-md=vue] .md-body a:hover{color:#369b6f}:root[data-md=vue] .md-body strong{color:#2c3e50}:root[data-md=vue] .md-body em{font-family:inherit;font-style:italic;color:inherit}:root[data-md=vue] .md-body ul,:root[data-md=vue] .md-body ol{padding-left:30px}:root[data-md=vue] .md-body ul li::marker{color:#42b983}:root[data-md=vue] .md-body ol li::marker{color:#34495e;font-family:inherit}:root[data-md=vue] .md-body :not(pre)>code{font-family:"Fira Code",var(--font-mono);font-size:.92em;color:#e96900;background:#f8f8f8;border:none;padding:2px 4px;border-radius:2px}:root[data-md=vue] .md-body pre.code{background:#f8f8f8;border:none;border-radius:4px}:root[data-md=vue] .md-body pre.code code{font-family:"Fira Code",var(--font-mono);color:#525252}:root[data-md=vue] .md-body blockquote{border-left:4px solid #42b983;background:#42b9831a;color:#777;border-radius:0;padding:10px 15px}:root[data-md=vue] .md-body blockquote strong{color:#42b983}:root[data-md=vue] .table-scroll{border-color:#dfe2e5;border-radius:3px}:root[data-md=vue] .md-body table{font-size:15px}:root[data-md=vue] .md-body thead th{background:#f2f2f2;color:#2c3e50;font-family:inherit;font-weight:700}:root[data-md=vue] .md-body th,:root[data-md=vue] .md-body td{border:1px solid #dfe2e5;padding:6px 13px}:root[data-md=vue] .md-body tbody tr:nth-child(2n){background:#fafafa}:root[data-md=vue] .md-body td code{white-space:normal}:root[data-md=vue] .md-body hr{height:2px;background:#e7e7e7;border:0;margin:16px 0}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.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-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
