:root{--bg:#fff;--side:#f5f6f7;--ink:#1f2329;--ink2:#646a73;--ink3:#8f959e;--line:#dee0e3;--hover:#eff0f1;--sel:#e1eaff;--blue:#3370ff;--blue-soft:#f0f4ff;--code:#f2f3f5;--c-blue:#e1eaff;--c-yellow:#faf1d1;--c-green:#d9f5d6;--c-red:#fde2e2;--c-purple:#ece2fe;--c-grey:#eff0f1;--t-green:#0b7a2b;--t-yellow:#8a5a00;--t-red:#c0392b;--t-blue:#2457d6;--t-purple:#6425d0;--t-grey:#646a73;--ua:#04b49c;--dev:#3370ff;--pm:#7f3bf5;--maint:#646a73;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1b1c1e;--side:#202124;--ink:#e8e9ea;--ink2:#a7abb2;--ink3:#80858c;--line:#34373b;--hover:#2a2d31;--sel:#23324f;--blue:#6b9bff;--blue-soft:#1f2a44;--code:#2a2d31;--c-blue:#1f2a44;--c-yellow:#3a3116;--c-green:#1b3320;--c-red:#3d1f1f;--c-purple:#2c2142;--c-grey:#2a2d31;--t-green:#7ddc8a;--t-yellow:#f0c45e;--t-red:#ff8a80;--t-blue:#8fb3ff;--t-purple:#c8a6ff;--t-grey:#a7abb2}}*{box-sizing:border-box}html{scroll-padding-top:72px}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.8 -apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input{font-family:inherit}svg{vertical-align:-2px;display:inline-block}code{font-family:var(--mono);background:var(--code);word-break:break-word;border-radius:4px;padding:1px 6px;font-size:.88em}pre{font-family:var(--mono);background:var(--code);white-space:pre-wrap;border-radius:8px;padding:12px 14px;font-size:12.5px;line-height:1.6;overflow:auto}pre code{font-size:inherit;background:0 0;padding:0}.top{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:14px;height:52px;padding:0 16px 0 12px;display:flex;position:sticky;top:0}.top .space{width:268px;color:var(--ink);flex:none;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.top .space:hover{text-decoration:none}.top .sp-ico{background:var(--blue);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:inline-flex}.top .crumb{min-width:0;color:var(--ink2);white-space:nowrap;flex:1;align-items:center;gap:6px;font-size:14px;display:flex;overflow:hidden}.top .crumb span{text-overflow:ellipsis;overflow:hidden}.top .crumb .sep{color:var(--ink3)}.top .crumb b{color:var(--ink);font-weight:500}.top .right{color:var(--ink3);flex:none;align-items:center;gap:10px;font-size:13px;display:flex}.roles{background:var(--hover);border-radius:8px;padding:2px;display:inline-flex}.roles button{color:var(--ink2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 11px;font-size:13px}.roles button.on{background:var(--bg);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #0000001a}.roles button.on:before{content:"";background:var(--rc);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.roles button[value=ua]{--rc:var(--ua)}.roles button[value=dev]{--rc:var(--dev)}.roles button[value=pm]{--rc:var(--pm)}.roles button[value=maintainer]{--rc:var(--maint)}.btn-pri{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:6px 14px;font-size:14px;text-decoration:none;display:inline-block}.btn-pri:hover{filter:brightness(1.06);text-decoration:none}.btn{background:var(--bg);color:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:14px}.btn:hover{background:var(--hover)}.me{color:var(--ink2);font-size:13px}.me form{display:inline}.me button{color:var(--ink3);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:13px}.wrap{align-items:flex-start;display:flex}nav.tree{background:var(--side);border-right:1px solid var(--line);flex:none;width:280px;height:calc(100vh - 52px);padding:12px 10px 40px;position:sticky;top:52px;overflow:auto}nav.tree .search{margin:0 4px 12px;position:relative}nav.tree .search svg{width:15px;height:15px;color:var(--ink3);position:absolute;top:9px;left:10px}nav.tree .search input{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);border-radius:6px;outline:none;padding:7px 10px 7px 32px;font-size:13.5px}nav.tree .search input:focus{border-color:var(--blue)}.node{color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:4px;padding:6px 8px 6px 4px;font-size:14px;line-height:1.5;text-decoration:none;display:flex}.node:hover{background:var(--hover);text-decoration:none}.node.on{background:var(--sel);color:var(--blue);font-weight:500}.node .chev{width:18px;height:18px;color:var(--ink3);border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.node .chev svg{width:12px;height:12px;transition:transform .15s}.node .chev.none{visibility:hidden}.node .ico{width:16px;height:16px;color:var(--ink3);flex:none}.node.on .ico{color:var(--blue)}.node .ico svg{width:16px;height:16px}.node .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.node .n{color:var(--ink3);font-size:11.5px}.node .lock{color:var(--ink3);background:var(--hover);border-radius:4px;flex:none;padding:1px 6px;font-size:11px}details.grp>summary{list-style:none}details.grp>summary::-webkit-details-marker{display:none}details.grp .kids .node{padding-left:24px}details.grp:not([open])>summary .chev svg{transform:rotate(-90deg)}details.grp>summary .t{color:var(--ink2);font-size:13.5px}main{flex:1;justify-content:center;min-width:0;display:flex}.doc{width:100%;max-width:920px;padding:44px 64px 140px}aside.toc{flex:none;width:236px;height:calc(100vh - 52px);padding:48px 20px 40px 4px;font-size:13px;position:sticky;top:52px;overflow:auto}aside.toc .hd{color:var(--ink3);letter-spacing:.04em;margin:0 0 6px 12px;font-size:12px;font-weight:600}aside.toc a{color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;border-left:2px solid #0000;padding:4px 10px;line-height:1.5;display:block;overflow:hidden}aside.toc a.l3{padding-left:22px}aside.toc a.on{color:var(--blue);border-left-color:var(--blue)}aside.toc a:hover{color:var(--ink);text-decoration:none}.doc .title{letter-spacing:-.01em;margin:0 0 10px;font-size:30px;font-weight:700;line-height:1.35}.doc .meta{color:var(--ink3);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 22px;font-size:13px;display:flex}.doc .meta code{font-size:12px}.doc .lead{background:var(--c-blue);border-radius:8px;gap:10px;margin:0 0 24px;padding:12px 16px;font-size:16px;line-height:1.75;display:flex}.doc .lead .ico,.callout .ico{flex:none;line-height:1.75}.doc h2{margin:40px 0 12px;font-size:22px;font-weight:600;line-height:1.4}.doc h3{margin:34px 0 10px;font-size:19px;font-weight:600;line-height:1.45}.body>h2:first-child{margin-top:18px}.body>.seg:first-child>h3:first-child,.body>.seg:first-child>h2:first-child{margin-top:8px}.doc p{margin:0 0 12px}.doc ul,.doc ol{margin:0 0 12px;padding-left:26px}.doc li{margin:4px 0}.doc li::marker{color:var(--ink3)}.doc b{font-weight:600}.table-wrap{margin:8px 0 20px;overflow-x:auto}.doc table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.65}.doc th,.doc td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 12px}.doc th{background:var(--code);font-weight:600}.callout{background:var(--c-grey);border-radius:8px;gap:10px;margin:14px 0 16px;padding:12px 16px;display:flex}.callout>div{min-width:0}.callout.eg{background:var(--c-blue)}.callout.warn{background:var(--c-yellow)}.callout.ask{background:var(--c-purple)}a.doc-link{max-width:100%;color:var(--blue);vertical-align:baseline;border-radius:4px;align-items:center;gap:3px;margin:0 -1px;padding:0 3px;display:inline-flex}a.doc-link:hover{background:var(--blue-soft);text-decoration:none}a.doc-link svg{width:15px;height:15px;color:var(--blue);opacity:.85;flex:none}.plain-link{color:inherit;border-bottom:1px dotted var(--ink3)}.tag{white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500;line-height:1;display:inline-block}.tag.ok{background:var(--c-green);color:var(--t-green)}.tag.tmp{background:var(--c-yellow);color:var(--t-yellow)}.tag.wait{background:var(--c-red);color:var(--t-red)}.tag.info{background:var(--c-blue);color:var(--t-blue)}.tag.old{background:var(--c-grey);color:var(--t-grey)}.tag.role{background:var(--c-purple);color:var(--t-purple)}.tag.unverified{background:var(--c-yellow);color:var(--t-yellow)}.hint{color:var(--ink2);font-size:14px}.entries{margin:0 0 8px;padding:0;list-style:none}.entries li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:7px 0;display:flex}.entries li:last-child{border-bottom:0}.entries a.doc-link{font-size:16px;font-weight:500}.entries .desc{color:var(--ink2);font-size:14.5px}.foot{border-top:1px solid var(--line);margin-top:56px;padding-top:8px}.foot h4{color:var(--ink3);letter-spacing:.04em;margin:22px 0 8px;font-size:13px;font-weight:600}.foot ul{margin:0;padding:0;list-style:none}.foot li{margin:6px 0;font-size:15px}.foot li .d{min-width:74px;color:var(--ink3);font-variant-numeric:tabular-nums;font-size:13.5px;display:inline-block}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);color:var(--ink);background:var(--bg);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;display:inline-flex}.chip:hover{background:var(--hover);text-decoration:none}.chip svg{width:15px;height:15px;color:var(--blue)}.kv{font-family:var(--mono);background:var(--code);white-space:pre-wrap;border-radius:8px;padding:12px 14px;font-size:12.5px;line-height:1.6}.seg.labeled{border-left:3px solid var(--segc);margin:22px 0 28px;padding:2px 0 2px 20px}.seg.labeled .lbl{color:var(--segc);letter-spacing:.03em;margin-bottom:6px;font-size:12px;font-weight:600}.seg.labeled[data-seg=ua]{--segc:var(--ua)}.seg.labeled[data-seg=dev]{--segc:var(--dev)}.seg.labeled[data-seg=pm]{--segc:var(--pm)}.seg.labeled[data-seg=public]{--segc:var(--ink3)}.mt{font-size:14px}.mt th{white-space:nowrap}.mt td.c{text-align:center}.mt code{font-size:11.5px}.results{margin:0;padding:0;list-style:none}.results li{border-bottom:1px solid var(--line);padding:10px 0}.results li .s{color:var(--ink2);margin-top:2px;font-size:14.5px;display:block}.results li .g{color:var(--ink3);margin-left:8px;font-size:12.5px}.notfound{text-align:center;color:var(--ink2);padding:100px 20px 60px}.notfound .big{margin-bottom:14px;font-size:52px;line-height:1}.notfound .h{color:var(--ink);margin-bottom:8px;font-size:18px;font-weight:600}.notfound .hint{max-width:520px;color:var(--ink3);margin:18px auto 0;font-size:13.5px}.login{background:var(--side);justify-content:center;align-items:center;min-height:100vh;display:flex}.login .card{background:var(--bg);border:1px solid var(--line);text-align:center;border-radius:14px;width:min(440px,92vw);padding:36px 40px}.login .card h1{margin:8px 0 6px;font-size:24px}.login .card p{color:var(--ink2);margin:0 0 22px}.login .err{color:var(--t-red);margin-top:14px;font-size:13.5px}dialog.propose{border:1px solid var(--line);background:var(--bg);width:min(560px,92vw);color:var(--ink);border-radius:12px;padding:22px 24px;box-shadow:0 12px 40px #0000002e}dialog.propose::backdrop{background:#0006}dialog.propose h3{margin:0 0 6px;font-size:17px}dialog.propose label{color:var(--ink2);margin:12px 0 4px;font-size:13px;display:block}dialog.propose textarea,dialog.propose input{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font:inherit;border-radius:6px;padding:8px 10px;font-size:14px}dialog.propose .act{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@media (max-width:1400px){.doc{padding:40px 48px 120px}}@media (max-width:1180px){aside.toc{display:none}}@media (max-width:960px){.top .space{width:auto}.top .crumb{display:none}nav.tree{width:240px}.doc{padding:28px 28px 100px}}@media (max-width:720px){.wrap{display:block}nav.tree{border-right:0;border-bottom:1px solid var(--line);width:auto;height:auto;padding:10px 12px;position:static}.doc{padding:20px 16px 80px}.doc .title{font-size:26px}}
