:root{--bg:#fff;--sidebar:#f7f7f5;--text:#37352f;--text-secondary:#37352fa6;--hover:#37352f0f;--active:#37352f1a;--divider:#37352f17;--border:#e9e9e7;--callout:#f1f1ef;--table-header:#f7f6f3;--cover:#f7f6f3;--pill:#e8e7e4;--link:#337ea9;--segment:#37352f14;--segment-active:#fff;--code:#87837826;--up:#c23b33;--down:#1d7a45;--warn:#a56b00;--chart-3:#8d5a3c;--sidebar-width:240px;--font:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;color-scheme:light}:root[data-theme=dark]{--bg:#191919;--sidebar:#202020;--text:#ffffffe6;--text-secondary:#fff9;--hover:#ffffff0e;--active:#ffffff17;--divider:#ffffff18;--border:#ffffff21;--callout:#252525;--table-header:#202020;--cover:#2f2f2f;--pill:#2f2f2f;--link:#529cca;--segment:#ffffff14;--segment-active:#2f2f2f;--code:#ffffff1a;--up:#ff8a82;--down:#5dcc8e;--warn:#f0c14d;--chart-3:#e0b08a;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#191919;--sidebar:#202020;--text:#ffffffe6;--text-secondary:#fff9;--hover:#ffffff0e;--active:#ffffff17;--divider:#ffffff18;--border:#ffffff21;--callout:#252525;--table-header:#202020;--cover:#2f2f2f;--pill:#2f2f2f;--link:#529cca;--segment:#ffffff14;--segment-active:#2f2f2f;--code:#ffffff1a;--up:#ff8a82;--down:#5dcc8e;--warn:#f0c14d;--chart-3:#e0b08a;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}h1,h2,h3,h4,p{margin:0}ul,ol{margin:0;padding:0}a{color:inherit;text-underline-offset:.15em}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--link);outline-offset:2px}::selection{background:#2383e247}.skip{z-index:50;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:6px 10px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip:focus{transform:none}.workspace{min-height:100vh}.sidebar{z-index:30;width:var(--sidebar-width);background:var(--sidebar);border-right:1px solid var(--divider);flex-direction:column;padding:14px 10px 12px;display:flex;position:fixed;inset:0 auto 0 0}.workspace-link{color:inherit;border-radius:4px;align-items:center;gap:8px;margin:0 4px 14px;padding:4px;text-decoration:none;display:flex}.workspace-link:hover{background:var(--hover)}.workspace-mark{background:var(--text);width:22px;height:22px;color:var(--bg);border-radius:4px;flex:none;place-items:center;font-size:12px;font-weight:650;line-height:1;display:grid}.workspace-name{font-size:14px;font-weight:600;line-height:1.3}.sidebar-nav{flex-direction:column;gap:1px;display:flex}.nav-link{color:var(--text);border-radius:4px;align-items:center;gap:8px;padding:4px 8px;font-size:14px;text-decoration:none;display:flex}.nav-link:hover,.nav-link[aria-current=page]{background:var(--hover)}.nav-ico{width:16px;color:var(--text-secondary);flex:none;place-items:center;display:grid}.nav-link[aria-current=page] .nav-ico{color:var(--text)}.icon{display:block}.workspace-main{margin-left:var(--sidebar-width);min-height:100vh}.topbar{z-index:15;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(10px);justify-content:flex-end;align-items:center;gap:8px;height:45px;padding:0 16px;display:flex;position:sticky;top:0}.menu-button{cursor:pointer;background:0 0;border:0;border-radius:4px;margin-right:auto;padding:4px 8px;font-size:14px;display:none}.menu-button:hover{background:var(--hover)}.segment{background:var(--segment);border-radius:6px;padding:2px;display:inline-flex}.segment a{min-width:3.2rem;color:var(--text-secondary);text-align:center;border-radius:4px;padding:3px 8px;font-size:12px;line-height:1.5;text-decoration:none}.segment a:hover{color:var(--text)}.segment a[aria-current=true]{background:var(--segment-active);color:var(--text)}.theme-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 8px;font-size:13px}.theme-toggle:hover{background:var(--hover);color:var(--text)}.cover{background:var(--cover);height:clamp(140px,24vh,220px)}.page{width:min(720px,100% - 96px);margin:0 auto;padding:0 0 96px}.page.page-wide{width:min(960px,100% - 64px)}.page-icon{z-index:1;width:36px;height:36px;color:var(--text-secondary);place-items:center;margin-top:-18px;display:grid;position:relative}.page h1{text-wrap:balance;margin:12px 0 2px;font-size:40px;font-weight:700;line-height:1.2}.page h2{margin-top:1.6rem;font-size:1.4rem;font-weight:600}.lede{color:var(--text-secondary);margin:6px 0 8px;font-size:16px;line-height:1.6}.props{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px 12px;margin:10px 0 14px;font-size:14px;display:flex}.props a{color:inherit;text-decoration:none}.props a:hover{color:var(--link);text-decoration:underline}.pill{background:var(--pill);color:var(--text);vertical-align:1px;border-radius:3px;margin-left:6px;padding:0 6px;font-size:12px;font-weight:500;line-height:1.7;display:inline-block}.pill-link{margin-left:0;text-decoration:none}.pill-link:hover{background:var(--active)}.callout,.prose blockquote{background:var(--callout);color:var(--text);border-radius:4px;align-items:flex-start;gap:10px;margin:4px 0 16px;padding:16px 16px 16px 12px;line-height:1.6;display:flex}.callout-icon{color:var(--text-secondary);flex:none;margin-top:2px}.callout-text,.prose blockquote p{min-width:0}.prose blockquote p,.callout-text p{margin:0}.section{margin-top:28px}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin:0 8px 4px;display:flex}.section-head h2,.toggle summary{margin:0;font-size:16px;font-weight:600}.section-head a{color:var(--text-secondary);font-size:14px;text-decoration:none}.section-head a:hover{color:var(--text)}.rows{flex-direction:column;display:flex}.row{color:inherit;border-radius:4px;align-items:flex-start;gap:10px;padding:6px 8px;text-decoration:none;display:flex}.row:hover{background:var(--hover)}.row-icon{width:16px;height:1.45em;color:var(--text-secondary);flex:none;place-items:center;display:grid}.row-body{flex:1;min-width:0}.row-title{font-size:15px;font-weight:500;line-height:1.45}.row-summary,.row-kicker{color:var(--text-secondary);font-size:13px;line-height:1.5;display:block}.row-summary{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.row-meta{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;margin-left:8px;font-size:12px;line-height:1.7}.row-lead{padding-top:8px;padding-bottom:8px}.row-lead .row-title{font-size:20px;font-weight:600}.row-lead .row-summary{-webkit-line-clamp:2;margin-top:2px}.toggle{margin-top:8px}.toggle summary{cursor:pointer;border-radius:4px;padding:6px 8px;list-style:none}.toggle summary::-webkit-details-marker{display:none}.toggle summary:before{content:"";width:.4em;height:.4em;color:var(--text-secondary);vertical-align:.05em;border-bottom:1.5px solid;border-right:1.5px solid;margin-right:.45em;display:inline-block;transform:translateY(-.1em)rotate(-45deg)}.toggle[open] summary:before{transform:translateY(-.15em)rotate(45deg)}.toggle summary:hover{background:var(--hover)}.empty{color:var(--text-secondary);margin:4px 8px;font-size:14px}.prose{line-break:strict;overflow-wrap:anywhere;text-wrap:pretty;margin-top:8px;font-size:16px;line-height:1.7}.prose h2,.prose h3,.prose h4{text-wrap:balance;font-weight:600;line-height:1.3}.prose h2{margin:1.6em 0 .4em;font-size:1.5em}.prose h3{margin:1.3em 0 .3em;font-size:1.25em}.prose h4{margin:1.1em 0 .25em;font-size:1.1em}.prose p,.prose ul,.prose ol,.prose pre,.prose .table-scroll{margin:0 0 .7em}.prose ul,.prose ol{padding-left:1.5em}.prose li+li{margin-top:.2em}.prose a{color:var(--link);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--link) 40%, transparent)}.prose a:hover{text-decoration-color:var(--link)}.prose hr{border:0;border-top:1px solid var(--divider);margin:1.4em 0}.prose code{background:var(--code);border-radius:3px;padding:.15em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:85%}.prose pre{background:var(--callout);border-radius:4px;padding:14px 16px;line-height:1.55;overflow-x:auto}.prose pre code{background:0 0;padding:0}.table-scroll{overscroll-behavior-x:contain;border:1px solid var(--border);background:var(--bg);border-radius:4px;overflow-x:auto}.prose table,.table-scroll table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:max-content;min-width:100%;font-size:13px;line-height:1.45}.prose th,.prose td,.table-scroll th,.table-scroll td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:top;overflow-wrap:break-word;word-break:normal;min-width:5.5rem;padding:5px 8px}.prose th:last-child,.prose td:last-child,.table-scroll th:last-child,.table-scroll td:last-child{border-right:0}.prose tr:last-child td,.table-scroll tr:last-child td{border-bottom:0}.prose th,.table-scroll th{background:var(--table-header);color:var(--text-secondary);font-weight:600}.table-scroll th:first-child,.table-scroll td:first-child{z-index:1;background:var(--bg);min-width:7.5rem;max-width:14rem;box-shadow:1px 0 0 var(--border);position:sticky;left:0}.table-scroll th:first-child{z-index:2;background:var(--table-header)}.table-scroll tr.is-highlight td,.table-scroll tr.is-highlight td:first-child{background:color-mix(in srgb, var(--warn) 16%, var(--bg))}.cell-end{text-align:right}.cell-center{text-align:center}.tone-up{color:var(--up)}.tone-down{color:var(--down)}.tone-warn{color:var(--warn)}.neighbors{border-top:1px solid var(--divider);margin-top:28px;padding-top:8px}.fine-print{color:var(--text-secondary);margin-top:48px;font-size:12px;line-height:1.6}.backdrop{z-index:25;background:#00000059;position:fixed;inset:0}@media (width<=780px){.sidebar{transform:translate(-105%)}.sidebar.is-open{transform:none}.workspace-main{margin-left:0}.menu-button{display:inline-flex}.topbar{background:var(--bg);border-bottom:1px solid var(--divider);justify-content:flex-start}.page{width:min(720px,100% - 40px)}.page.page-wide{width:min(960px,100% - 32px)}.page h1{font-size:32px}.page-icon{margin-top:-14px}.cover{height:120px}.row{flex-wrap:wrap}.row-meta{width:100%;margin-left:28px}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.report-section{margin-top:1.8rem;scroll-margin-top:64px}.report-section .report-section{margin-top:1.15rem}.report h2,.report h3{margin:0 0 .35rem;font-weight:650;line-height:1.3}.report>.report-section>h2,.report>.report-section>.report-details>summary h2{font-size:1.45rem}.report h3,.report .report-details>summary h3{font-size:1.12rem}.report-details>summary h2,.report-details>summary h3{font-size:inherit;margin:0;display:inline}.report .toggle.report-details>summary{font-size:1.12rem;font-weight:650}.report>.report-section>.toggle.report-details>summary{font-size:1.45rem}.report-caption,.report-figure{margin:.15rem 0 .75rem}.report-caption{color:var(--text-secondary);font-size:14px;line-height:1.6}.report-text{margin:.35rem 0 .8rem;line-height:1.7}.report a{color:var(--link);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--link) 40%, transparent);text-underline-offset:.15em}.report a:hover{text-decoration-color:var(--link)}.report-numbered,.report-bullets{margin:.35rem 0 .85rem;padding-left:1.35rem}.report-numbered>li+li,.report-bullets>li+li{margin-top:.55rem}.report li>.report-bullets{margin-top:.28rem;margin-bottom:.2rem}.toc{border:1px solid var(--border);background:var(--callout);border-radius:4px;margin:4px 0 8px;padding:10px 14px 12px}.toc-title{color:var(--text-secondary);letter-spacing:.04em;margin:0 0 4px;font-size:12px;font-weight:650}.toc ol{margin:0;padding-left:1.15rem}.toc li{margin:1px 0;font-size:14px;line-height:1.45}.toc a{color:inherit;text-decoration:none}.toc a:hover{color:var(--link)}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 16px;display:grid}.metric{border:1px solid var(--border);background:var(--bg);border-radius:4px;min-width:0;padding:10px 12px 11px}.metric-value,.metric-label,.metric-detail{margin:0}.metric-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.35rem;font-weight:650;line-height:1.2}.metric-label{margin-top:4px;font-size:13px;font-weight:600;line-height:1.35}.metric-detail{color:var(--text-secondary);margin-top:3px;font-size:12px;line-height:1.45}.chart{margin:8px 0 16px}.chart svg{width:100%;max-width:720px;height:auto;display:block}.chart-grid{stroke:var(--divider);stroke-width:1px}.chart-label{fill:var(--text-secondary);font-family:var(--font);font-size:13px}.chart-line{stroke:var(--series,var(--text));stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--series,var(--text));stroke:var(--bg);stroke-width:1.5px}.chart-hit{fill:#0000}.chart-series-0{--series:var(--text)}.chart-series-1{--series:var(--link)}.chart-series-2{--series:var(--chart-3)}.chart-series-1 .chart-line{stroke-dasharray:7 4}.chart-series-2 .chart-line{stroke-dasharray:1.5 3.5}.chart-legend{color:var(--text-secondary);flex-wrap:wrap;gap:8px 16px;margin:8px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.chart-legend li{align-items:center;gap:6px;display:inline-flex}.chart-swatch{border-top:3px solid var(--series,var(--text));width:18px}.chart-series-1 .chart-swatch{border-top-style:dashed}.chart-series-2 .chart-swatch{border-top-style:dotted}.proscons{grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 14px;display:grid}.proscons-col{border:1px solid var(--border);border-radius:4px;min-width:0;padding:10px 12px 4px}.proscons-col h3{margin-bottom:.4rem}.link-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:8px 0 12px;padding:0;list-style:none;display:grid}.link-card{border:1px solid var(--border);height:100%;color:inherit;border-radius:4px;flex-direction:column;gap:3px;padding:10px 12px;text-decoration:none;display:flex}.link-card:hover{background:var(--hover)}.link-card-title{color:var(--link);font-weight:650;line-height:1.35}.link-card-site{color:var(--text-secondary);font-size:12px;line-height:1.4}@media (width<=720px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.proscons{grid-template-columns:1fr}.metric-value{font-size:1.15rem}}@media print{.sidebar,.topbar,.skip,.backdrop,.neighbors{display:none!important}.workspace-main{margin-left:0}.cover{display:none}.page-icon{margin-top:0}body,:root{--bg:#fff;--text:#111}}
