:root{color-scheme:light;--bg: #ffffff;--bg-2: #fafafa;--fg: #171717;--fg-2: #4d4d4d;--fg-3: #737373;--border: #ebebeb;--border-2: #d4d4d4;--hover: #f5f5f5;--link: #0068d6;--focus: #0072f5;--ok: #1a9f4a;--err: #d93036;--err-bg: #fff0f0;--sk: #ededed;--sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 64px;--radius: 6px}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--bg: #0a0a0a;--bg-2: #111111;--fg: #ededed;--fg-2: #b4b4b4;--fg-3: #8f8f8f;--border: #1f1f1f;--border-2: #2e2e2e;--hover: #171717;--link: #52a8ff;--focus: #3291ff;--ok: #3ecf6e;--err: #ff6166;--err-bg: #2a1215;--sk: #1c1c1c}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.prose a,.link,.refs a,.guide a,.empty a{color:var(--link)}.prose a:hover,.refs a:hover,.guide a:hover,.empty a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}h1,h2,h3{margin:0;line-height:1.2;letter-spacing:-.02em;font-weight:600}h1{font-size:clamp(1.75rem,4vw,2.25rem);letter-spacing:-.035em}button,input{font:inherit;color:inherit}code,pre,.mono,kbd{font-family:var(--mono)}.num{font-variant-numeric:tabular-nums}.dim{color:var(--fg-3)}.small-text{font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}kbd{font-size:11px;line-height:1;padding:3px 5px;border:1px solid var(--border-2);border-radius:4px;color:var(--fg-3);background:var(--bg)}.shell{min-height:100vh;display:flex;flex-direction:column}.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:saturate(1.8) blur(8px);backdrop-filter:saturate(1.8) blur(8px);border-bottom:1px solid var(--border)}.top-inner{max-width:1100px;margin:0 auto;padding:0 clamp(16px,4vw,32px);height:60px;display:flex;align-items:center;gap:var(--s5)}.wordmark{display:block;width:88px;aspect-ratio:520 / 115;background:var(--fg);-webkit-mask:url(/brand/wordmark.png) center / contain no-repeat;mask:url(/brand/wordmark.png) center / contain no-repeat}.nav{display:flex;gap:var(--s1)}.nav a{font-size:14px;color:var(--fg-3);padding:6px 10px;border-radius:var(--radius);transition:color .12s,background-color .12s}.nav a:hover{color:var(--fg);background:var(--hover)}.nav a.active{color:var(--fg)}.cmd-trigger{margin-left:auto;display:inline-flex;align-items:center;gap:var(--s4);height:34px;padding:0 6px 0 12px;border:1px solid var(--border-2);border-radius:var(--radius);background:var(--bg);color:var(--fg-3);font-size:14px;cursor:pointer;min-width:180px;justify-content:space-between}.cmd-trigger:hover{border-color:var(--fg-3);color:var(--fg-2)}@media (max-width: 560px){.cmd-trigger{min-width:0}.cmd-trigger span{display:none}.nav a{padding:6px 8px}}.page{width:100%;max-width:1100px;margin:0 auto;padding:var(--s7) clamp(16px,4vw,32px) var(--s8)}.page.narrow{max-width:760px}.page-head{margin-bottom:var(--s6)}.lede{color:var(--fg-3);font-size:16px;margin:var(--s2) 0 0}.crumbs{display:flex;gap:var(--s2);font-size:14px;color:var(--fg-3);margin-bottom:var(--s5)}.crumbs a:hover{color:var(--fg)}.foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:var(--s4);flex-wrap:wrap;max-width:1100px;width:100%;margin-inline:auto;padding:var(--s5) clamp(16px,4vw,32px);font-size:13px;color:var(--fg-3);border-top:1px solid var(--border)}.foot-links{display:flex;gap:var(--s4)}.foot-links a{font-family:var(--mono);font-size:12px}.foot-links a:hover{color:var(--fg)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:36px;padding:0 var(--s4);border-radius:var(--radius);border:1px solid var(--border-2);background:var(--bg);color:var(--fg);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .12s,border-color .12s}.btn:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.btn:hover{background:var(--hover);border-color:var(--fg-3)}.btn:disabled{cursor:default;opacity:.7}.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn.primary:hover{opacity:.88}.btn.sm{height:28px;padding:0 var(--s3);font-size:13px}.btn.wide{width:100%;margin-top:var(--s5)}.link-btn{background:none;border:0;padding:0;color:var(--link);cursor:pointer;font:inherit}.link-btn:hover{text-decoration:underline;text-underline-offset:3px}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-2);border-top-color:var(--fg);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.seg{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--bg-2)}.seg button{border:0;background:transparent;height:28px;padding:0 var(--s3);border-radius:var(--radius);color:var(--fg-3);font-size:13px;font-weight:500;cursor:pointer}.seg button.on{background:var(--bg);color:var(--fg);box-shadow:0 0 0 1px var(--border-2),0 1px 2px #0000000f}.copy-field{display:flex;align-items:flex-start;gap:var(--s2);padding:var(--s2) var(--s2) var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2)}.copy-field code{flex:1;min-width:0;font-size:12.5px;line-height:1.6;padding-top:3px;overflow-x:auto;white-space:nowrap}.copy-field.wrap code{white-space:pre-wrap;overflow-wrap:anywhere}.error{color:var(--err);background:var(--err-bg);border:1px solid color-mix(in srgb,var(--err) 30%,transparent);border-radius:var(--radius);padding:var(--s3) var(--s4);font-size:14px}.error strong{font-weight:600}.error span{color:var(--fg-2)}.notice{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s3) var(--s4);font-size:14px}.sk{display:block;background:linear-gradient(90deg,var(--sk) 25%,color-mix(in srgb,var(--sk) 55%,var(--bg)) 50%,var(--sk) 75%);background-size:200% 100%;border-radius:4px;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.sk-title{height:18px;width:55%;margin-bottom:var(--s3)}.sk-line{height:12px;width:90%;margin-bottom:var(--s2)}.sk-line.short{width:40%}.sk-h1{height:34px;width:60%;margin-bottom:var(--s5)}.sk-page{max-width:720px}.skeleton-row{padding:var(--s5) 0}.badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;margin-right:8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.02em;vertical-align:2px}.badge.skill{background:var(--fg);color:var(--bg)}.kind-filter{flex-shrink:0;align-self:center}.skill-kicker{display:flex;align-items:center;gap:2px;margin:0 0 var(--s3)}.skill-kicker code{font-size:13px;color:var(--fg-3)}.when-to-use{margin:var(--s4) 0 0;padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--fg-2);font-size:14.5px}.when-to-use span{display:block;font-size:12px;font-weight:500;color:var(--fg-3);margin-bottom:2px}.panel.install .seg{margin-bottom:var(--s3)}.panel.install .seg button{padding:0 var(--s2)}@media (max-width: 560px){.toolbar{flex-wrap:wrap}.kind-filter{order:2}}.list-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);margin:0 0 var(--s2)}.list-head .result-count{margin:0}.seg.sort button{height:24px;font-size:12px}.usage{font-size:12px;color:var(--fg-3)}.cmd-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000059;display:flex;justify-content:center;align-items:flex-start;padding:12vh var(--s4) var(--s4);animation:fade .12s ease-out}.cmd{width:min(640px,100%);background:var(--bg);border:1px solid var(--border-2);border-radius:12px;box-shadow:0 16px 70px #00000040;overflow:hidden;animation:pop .14s ease-out}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.98) translateY(-4px)}}.cmd-input{width:100%;border:0;outline:none;background:transparent;padding:var(--s4) var(--s5);font-size:16px;border-bottom:1px solid var(--border)}.cmd-input:focus-visible{outline:none}.cmd-list{list-style:none;margin:0;padding:var(--s2);max-height:50vh;overflow-y:auto}.cmd-list li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 var(--s3);padding:10px var(--s3);border-radius:8px;cursor:pointer}.cmd-list li.on{background:var(--hover)}.cmd-kind{font-size:12px;color:var(--fg-3);padding-top:2px}.cmd-label{font-size:14px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-sub{grid-column:2;font-size:12px;color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-empty{display:block!important;color:var(--fg-3);font-size:14px;cursor:default!important}.cmd-foot{display:flex;gap:var(--s4);padding:var(--s2) var(--s4);border-top:1px solid var(--border);font-size:12px;color:var(--fg-3);background:var(--bg-2)}.cmd-foot kbd{margin-right:2px}.toolbar{display:flex;gap:var(--s3)}.search-box{flex:1;display:flex;align-items:center;gap:var(--s2);height:40px;padding:0 var(--s3);border:1px solid var(--border-2);border-radius:var(--radius);background:var(--bg);color:var(--fg-3);transition:border-color .12s,box-shadow .12s}.search-box:focus-within{border-color:var(--fg-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 25%,transparent)}.search{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:15px;color:var(--fg);height:100%}.search:focus-visible{outline:none}.search::placeholder{color:var(--fg-3)}.chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}.chip{position:relative;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--fg-2);font-size:13px;cursor:pointer;transition:border-color .12s,background-color .12s}.chip:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.chip:hover{border-color:var(--border-2);background:var(--hover)}.chip .num{font-family:var(--mono);font-size:11px;color:var(--fg-3)}.chip.on{background:var(--fg);border-color:var(--fg);color:var(--bg)}.chip.on .num{color:color-mix(in srgb,var(--bg) 70%,var(--fg))}.browse{margin-top:var(--s5)}.result-count{font-size:13px;margin:0 0 var(--s2);min-height:1.2em}.empty{color:var(--fg-2);padding:var(--s6) 0}.post-list{list-style:none;margin:0;padding:0}.post-row+.post-row{border-top:1px solid var(--border)}.post-link{display:block;padding:var(--s5) 0}.post-title{font-size:17px;font-weight:600;letter-spacing:-.015em;color:var(--fg)}.post-link:hover .post-title{text-decoration:underline;text-decoration-color:var(--border-2);text-underline-offset:4px}.post-summary{margin:6px 0 var(--s3);color:var(--fg-2);font-size:14.5px;max-width:72ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s3);font-size:13px;color:var(--fg-3)}.post-meta .mono{font-size:12px}.post-meta.big{font-size:14px;margin-top:var(--s3)}.post-meta.big a:hover{color:var(--fg)}.tag{display:inline-block;font-size:12px;padding:1px 8px;border-radius:999px;background:var(--bg-2);border:1px solid var(--border);color:var(--fg-2)}a.tag:hover{border-color:var(--border-2);color:var(--fg)}.sep{color:var(--border-2)}.post-list.compact .post-link{padding:var(--s3) 0}.post-list.compact .post-title{font-size:14px;font-weight:500}.post-list.compact .post-summary,.post-list.compact .tag{display:none}.post-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--s7);align-items:start}@media (max-width: 900px){.post-grid{grid-template-columns:minmax(0,1fr);gap:var(--s6)}}.post-body{min-width:0;max-width:720px}.post-h1{font-size:clamp(1.9rem,4.4vw,2.6rem);letter-spacing:-.04em;font-weight:700}.view-toggle{margin-top:var(--s5)}.side{display:flex;flex-direction:column;gap:var(--s6);position:sticky;top:84px}@media (max-width: 900px){.side{position:static}}.panel h2{font-size:13px;font-weight:500;color:var(--fg-3);letter-spacing:0;margin-bottom:var(--s3)}.panel p{margin:var(--s2) 0 0}.refs{margin:0;padding:0 0 0 1.4em;display:flex;flex-direction:column;gap:var(--s3);font-size:14px}.refs li::marker{font-family:var(--mono);font-size:12px;color:var(--fg-3)}.ref-host{display:block;font-size:12px;color:var(--fg-3);margin-top:1px}.ref-note{display:block;font-size:13px;color:var(--fg-2);margin-top:2px}.fm{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px var(--s4);margin:var(--s5) 0;padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);font-size:13px}.fm div{display:contents}.fm dt{font-family:var(--mono);color:var(--fg-3)}.fm dd{margin:0;overflow-wrap:anywhere}.source{margin-top:var(--s5);padding:var(--s4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);font-size:13px;line-height:1.65;overflow-x:auto;white-space:pre-wrap}.prose{margin-top:var(--s5);font-size:16px;line-height:1.75;color:var(--fg-2);overflow-wrap:break-word}.prose>:first-child{margin-top:0}.prose h1,.prose h2,.prose h3{color:var(--fg)}.prose h1{font-size:1.6rem;margin:var(--s7) 0 var(--s3)}.prose h2{font-size:1.35rem;margin:var(--s7) 0 var(--s3)}.prose h3{font-size:1.08rem;margin:var(--s6) 0 var(--s2)}.prose p,.prose ul,.prose ol{margin:var(--s4) 0}.prose li+li{margin-top:6px}.prose strong{color:var(--fg);font-weight:600}.prose code{font-size:.86em;padding:.12em .36em;border-radius:4px;background:var(--bg-2);border:1px solid var(--border);color:var(--fg)}.prose pre{padding:var(--s4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);overflow-x:auto;font-size:13px;line-height:1.65}.prose pre code{padding:0;border:0;background:none}.prose blockquote{margin:var(--s5) 0;padding-left:var(--s4);border-left:2px solid var(--border-2);color:var(--fg-3)}.prose table{border-collapse:collapse;display:block;overflow-x:auto;font-size:14px;font-variant-numeric:tabular-nums}.prose th,.prose td{text-align:left;padding:var(--s2) var(--s3);border-bottom:1px solid var(--border)}.prose th{color:var(--fg);font-weight:600;font-size:13px}.prose img{max-width:100%}.prose hr{border:0;border-top:1px solid var(--border);margin:var(--s7) 0}.guide{margin-top:var(--s6)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}#root>main{max-width:760px;margin:0 auto;padding:2rem 1rem}#root>main pre{white-space:pre-wrap;background:var(--bg-2);border:1px solid var(--border);padding:1rem;border-radius:6px}.suggestions{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--border)}.suggestions h2{font-size:16px;font-weight:600;margin:0 0 var(--s4)}.sugg-list{list-style:none;margin:0 0 var(--s4);padding:0;display:flex;flex-direction:column}.sugg{padding:var(--s4) 0;border-bottom:1px solid var(--border);scroll-margin-top:84px}.sugg:first-child{padding-top:0}.sugg-meta{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);font-size:13px;color:var(--fg-3)}.sugg-meta a{color:var(--fg-2)}.sugg-status{font-weight:500;color:var(--fg)}.sugg-status.accepted{color:var(--ok)}.sugg-status.rejected{color:var(--fg-3)}.sugg-title{margin:var(--s2) 0 0;font-size:15px;font-weight:600}.sugg-title a{color:var(--fg)}.sugg-msg{margin:var(--s2) 0 0;font-size:14.5px;white-space:pre-wrap;overflow-wrap:anywhere}.sugg-reply{margin:var(--s2) 0 0;padding-left:var(--s3);border-left:2px solid var(--border);color:var(--fg-2);font-size:14px}.sugg details{margin-top:var(--s2);font-size:13px}.sugg summary{cursor:pointer;color:var(--fg-2);width:fit-content}.sugg summary:focus-visible{outline:2px solid var(--focus, currentColor);outline-offset:2px;border-radius:4px}.diff{margin:var(--s2) 0 0;padding:var(--s3) 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);font-family:var(--mono);font-size:12.5px;line-height:1.6;overflow-x:auto}.diff span{display:block;padding:0 var(--s3);white-space:pre}.diff .add{background:color-mix(in srgb,var(--ok) 12%,transparent)}.diff .del{background:color-mix(in srgb,var(--err) 10%,transparent)}.diff .hunk,.diff .file{color:var(--fg-3)}.sugg details .source{margin-top:var(--s2);max-height:480px}
