.ch-ground{min-height:100vh;background:var(--ch-bg);color:var(--ch-ink);font-family:var(--ch-font);font-size:12.5px;line-height:1.55;-webkit-font-smoothing:antialiased}.ch-ground[data-theme=light],.ch-ground[data-theme=light] .ch-sheet{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.ch-main{max-width:680px;margin:0;padding:14px 24px 80px 8px}.ch-ground .pn{border-right-color:transparent}@media (prefers-reduced-motion:reduce){.ch-main{transition:none}}.ch-ground a{color:inherit;text-decoration:none}.ch-themebar{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid var(--ch-line)}.ch-themebar-sw{display:inline-flex;align-items:center;gap:5px}.ch-view{display:inline-flex;gap:2px;padding:2px;border-radius:999px;background:var(--ch-box);border:1px solid var(--ch-line)}.ch-view button{font:inherit;font-size:11px;letter-spacing:.04em;color:var(--ch-dim);padding:2px 10px;border:0;border-radius:999px;background:none;cursor:pointer}.ch-view button:hover{color:var(--ch-ink)}.ch-view button.on{background:var(--ch-line)}.ch-title,.ch-view button.on{color:var(--ch-ink-head);font-weight:600}.ch-title{margin:0 0 14px;font-size:14px}.ch-door{color:var(--ch-ink);border-bottom:1px dotted var(--ch-link-underline)}.ch-door:hover{border-bottom-color:var(--ch-ink)}.ch-sw{width:12px;height:12px;padding:0;border-radius:50%;border:1.5px solid var(--ch-line-2);background:var(--sw,transparent);cursor:pointer}.ch-sw-blue{--sw:var(--ch-sw-blue)}.ch-sw-green{--sw:var(--ch-sw-green)}.ch-sw-purple{--sw:var(--ch-sw-purple)}.ch-sw-rose{--sw:var(--ch-sw-rose)}.ch-sw-amber{--sw:var(--ch-sw-amber)}.ch-sw.on{border:2px solid var(--ch-dim)}.ch-ctl{margin-left:6px;font:inherit;font-size:13px;line-height:1.4;padding:2px 8px;border:1px solid var(--ch-line);border-radius:2px;background:none;color:var(--ch-faint);cursor:pointer}.ch-ctl:hover{border-color:var(--ch-line-2);color:var(--ch-dim)}.ch-card{padding:0 0 2px}.ch-card+.ch-card:before{content:"───";display:block;padding:16px 0;color:var(--ch-line-2);user-select:none}.ch-h{margin:0;font-size:14px;font-weight:600;line-height:1.4;color:var(--ch-ink-head)}.ch-open{font:inherit;color:inherit;text-align:left;padding:0;border:0;background:none;cursor:pointer}.ch-open:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ch-faint)}.ch-by{display:flex;gap:6px;margin-top:3px;color:var(--ch-dim);min-width:0}.ch-by,.ch-repo{align-items:center}.ch-repo{display:inline-flex;gap:8px;color:var(--ch-ink)}.ch-repo b{font-weight:600;color:var(--ch-ink-head)}.ch-repo:hover b{text-decoration:underline;text-underline-offset:3px}.ch-av{width:20px;height:20px;border-radius:3px;border:1px solid var(--ch-line);background:var(--ch-box);object-fit:cover}.ch-dot{color:var(--ch-faint)}.ch-kind{font-weight:600}.ch-stars{margin-left:auto;color:var(--ch-faint);white-space:nowrap}.ch-k-new{color:var(--ch-green)}.ch-k-fixed{color:var(--ch-cyan)}.ch-k-faster{color:var(--ch-yellow)}.ch-k-changed{color:var(--ch-purple)}.ch-k-removed{color:var(--ch-red)}.ch-k-paper{color:var(--ch-purple)}.ch-k-bg-new{background:var(--ch-green)}.ch-k-bg-fixed{background:var(--ch-cyan)}.ch-k-bg-faster{background:var(--ch-yellow)}.ch-k-bg-changed{background:var(--ch-purple)}.ch-k-bg-removed{background:var(--ch-red)}.ch-k-bg-paper{background:var(--ch-purple)}.ch-diagram{margin:12px 0 0;padding:20px 24px;border:1px solid var(--ch-line);border-radius:4px;background:var(--ch-box);font-family:inherit;font-size:12.5px;line-height:1.45;color:var(--ch-ink);white-space:pre;overflow-x:auto}.ch-opens{cursor:pointer}.ch-opens:hover{border-color:var(--ch-line-2)}.ch-cap{display:block;margin-top:14px;font-size:11.5px;color:var(--ch-dim);white-space:pre-wrap}.ch-m-g{color:var(--ch-green)}.ch-m-r{color:var(--ch-red)}.ch-m-y{color:var(--ch-yellow)}.ch-m-bl{color:var(--ch-blue)}.ch-m-p{color:var(--ch-purple)}.ch-m-c{color:var(--ch-cyan)}.ch-m-d{color:var(--ch-dim)}p.ch-p{margin:16px 0 0;font-size:12.5px;line-height:1.55;color:var(--ch-ink);white-space:pre-wrap}.ch-row{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:11.5px}.ch-act,.ch-row{align-items:center;color:var(--ch-faint)}.ch-act{display:inline-flex;gap:6px;padding:0;border:0;background:none;font:inherit;cursor:pointer;transition:color var(--motion)}.ch-act svg{width:15px;height:15px;stroke-width:1.8}.ch-act:hover{color:var(--ch-ink)}.ch-up.on,.ch-up:hover{color:var(--ch-green)}.ch-up.on svg{stroke-width:2.6}.ch-share:hover,.ch-share[aria-expanded=true]{color:var(--ch-ink)}.ch-share-wrap{position:relative;display:inline-flex}.ch-menu{position:absolute;left:0;top:calc(100% + 8px);z-index:30;min-width:200px;padding:4px 0;border:1px solid var(--ch-line-2);border-radius:4px;background:var(--ch-box);box-shadow:0 8px 24px rgba(0,0,0,.35)}.ch-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;border:0;background:none;font:inherit;font-size:12px;text-align:left;color:var(--ch-ink);cursor:pointer}.ch-menu button:hover{background:rgba(127,127,127,.12)}.ch-menu button svg{width:14px;height:14px;stroke-width:1.8;flex:none;color:var(--ch-dim)}.ch-bm.on,.ch-bm:hover,a.ch-act:hover{color:var(--ch-blue)}.ch-act:disabled{opacity:.7;cursor:default}.ch-when{color:var(--ch-faint);white-space:nowrap}.ch-card-more{display:inline-flex;align-items:baseline;gap:6px;margin-top:10px;padding:0;border:0;background:none;font:inherit;font-size:11.5px;color:var(--ch-dim);cursor:pointer}.ch-card-more:hover{color:var(--ch-ink)}.ch-card-sibs{list-style:none;margin:12px 0 0;padding:0}.ch-card-sibs li+li{margin-top:10px}.ch-card-sib.open{margin-top:16px}.ch-card-sib.open+li{margin-top:18px}.ch-card-sib-line{display:flex;align-items:center;gap:10px;width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;color:var(--ch-ink);cursor:pointer}.ch-card-sib-h{font-size:14px;font-weight:600;line-height:1.4}.ch-card-sib-line:hover .ch-card-sib-h{color:var(--ch-ink-head)}.ch-card-sib-line .ch-chev{margin-left:0;width:10px}.ch-card-sib-head{display:flex;align-items:baseline;gap:10px}.ch-card-sib-head .ch-chev-btn{font-size:11px;line-height:1;position:relative;top:-1px}.ch-card-sib-head .ch-h{flex:1;min-width:0}.ch-chev-btn{width:10px;padding:0;border:0;background:none;font:inherit;font-size:11px;color:var(--ch-faint);cursor:pointer}.ch-chev-btn:hover{color:var(--ch-ink)}.ch-list{list-style:none;margin:0;padding:0}.ch-line{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:6px;padding:5px 0}.ch-line-n{padding-top:1px;font-size:12.5px;line-height:1.5;text-align:right;color:var(--ch-faint);user-select:none}.ch-line-main{min-width:0}.ch-line-h{margin:0;font-size:13.5px;font-weight:500;line-height:1.5;color:var(--ch-ink-head)}.ch-line-repo{font-size:11.5px;font-weight:400;color:var(--ch-faint);white-space:nowrap}.ch-line-repo:hover{color:var(--ch-dim);text-decoration:underline;text-underline-offset:3px}.ch-line-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;margin-top:1px;font-size:11.5px;line-height:1.5;color:var(--ch-faint)}.ch-line-meta .ch-act{gap:4px}.ch-line-meta .ch-act svg{width:13px;height:13px}.ch-line-meta .ch-kind{font-weight:600}.ch-line-sibs{list-style:none;margin:4px 0 0;padding:0}.ch-line-sib{grid-template-columns:12px minmax(0,1fr);padding:4px 0}.ch-line-sib .ch-line-h{font-size:13px}.ch-foot{display:flex;justify-content:center;padding:28px 0;color:var(--ch-faint);font-size:11.5px}.ch-morebtn{font:inherit;color:var(--ch-dim);background:none;border:1px solid var(--ch-line);border-radius:2px;padding:3px 10px;cursor:pointer}.ch-morebtn:hover{border-color:var(--ch-line-2);color:var(--ch-ink)}.ch-empty{padding:40px 0;color:var(--ch-dim)}.ch-sheet{position:fixed;top:0;right:0;bottom:0;width:640px;max-width:100vw;display:flex;flex-direction:column;background:var(--ch-bg);color:var(--ch-ink);font-family:var(--ch-font);font-size:12.5px;line-height:1.55;border-left:1px solid var(--ch-line);z-index:40}.ch-sheet-bar{display:flex;justify-content:flex-end;padding:8px 24px;border-bottom:1px solid var(--ch-line)}.ch-close{display:inline-grid;place-items:center;width:26px;height:24px;border:1px solid var(--ch-line);border-radius:2px;background:none;color:var(--ch-faint);cursor:pointer}.ch-close svg{width:13px;height:13px}.ch-close:hover{border-color:var(--ch-line-2);color:var(--ch-dim)}.ch-sheet-body{overflow-y:auto;padding:18px 24px 60px}.ch-opened .ch-row{justify-content:space-between}.ch-opened .ch-row .ch-act:last-child{margin-right:0}.ch-sec{display:flex;align-items:center;gap:8px;margin:18px 0 0;font-size:12.5px;font-weight:600;color:var(--ch-ink-head)}.ch-sq{display:inline-block;width:6px;height:6px;border-radius:1px;background:var(--ch-faint)}.ch-sq-g{background:var(--ch-green)}.ch-sq-bl{background:var(--ch-blue)}.ch-sq-r{background:var(--ch-red)}.ch-sq-y{background:var(--ch-yellow)}.ch-sq-p{background:var(--ch-purple)}.ch-sec+.ch-diagram,.ch-sec+p.ch-p{margin-top:8px}.ch-sheet .ch-diagram{font-size:12px}.ch-more{display:inline-flex;align-items:baseline;gap:6px;margin-top:18px;padding:0;border:0;background:none;font:inherit;font-size:11.5px;color:var(--ch-dim);cursor:pointer}.ch-more:hover{color:var(--ch-ink)}.ch-plus{color:var(--ch-faint);font-weight:600}.ch-sibs{margin-top:18px}.ch-sib+.ch-sib{margin-top:14px}.ch-sib>summary{list-style:none;display:flex;align-items:baseline;gap:10px;cursor:pointer}.ch-sib>summary::-webkit-details-marker{display:none}.ch-sib h3{display:flex;align-items:center;gap:10px;margin:0;font-size:14px;font-weight:600;line-height:1.4;color:var(--ch-ink)}.ch-sib>summary:hover h3,.ch-sib[open] h3{color:var(--ch-ink-head)}.ch-chev{margin-left:auto;color:var(--ch-faint);font-size:11px}.ch-chev:before{content:"▸"}.ch-sib[open] .ch-chev:before{content:"▾"}.ch-sib-body .ch-row{margin-top:10px}.ch-scrim{position:fixed;inset:0;background:transparent;z-index:39}@media (max-width:760px){.ch-scrim{background:var(--backdrop)}.ch-main{padding:14px 16px 80px}.ch-diagram{padding:16px 18px;font-size:12px}.ch-sheet-body{padding:14px 16px 90px}}.ch-skeleton .ch-by,.ch-skeleton .ch-h,.ch-skeleton p.ch-p{color:transparent}.ch-skeleton .ch-h{width:60%}