.dc{display:grid;grid-template-columns:240px minmax(0,1fr) 200px;gap:clamp(24px,4vw,56px);align-items:start;padding-top:clamp(20px,3vw,36px)}.dc svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dc-side{position:sticky;top:76px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;max-height:calc(100vh - 92px)}.dc-search-open{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px 12px;border:0;border-radius:999px;background:var(--fill-quiet);color:var(--text-3);font:400 14px/1 var(--font-ui);box-shadow:inset 0 0 0 1px var(--border);cursor:pointer;transition:background var(--duration-fast) var(--ease)}.dc-search-open:hover{background:var(--fill-hover)}.dc-search-open svg{width:16px;height:16px}.dc-search-open span{flex:1;text-align:left}.dc kbd,.dc-search kbd{padding:2px 6px;border-radius:6px;background:var(--bg-group);color:var(--text-2);font:500 11px/1.4 var(--font-mono);box-shadow:inset 0 0 0 1px var(--border)}.dc-parts{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.dc-parts summary{display:none}.dc-parts section+section{margin-top:20px}.dc-parts h2{margin:0 0 4px;padding:0 12px;color:var(--text-3);font-size:12px;font-weight:600;letter-spacing:.02em}.dc-parts ul{margin:0;padding:0;list-style:none}.dc-parts a{display:block;padding:6px 12px;border-radius:10px;color:var(--text-2);font-size:14px;line-height:1.35;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.dc-parts a:hover{color:var(--text)}.dc-parts a[aria-current]{background:var(--fill-hover);color:var(--text);font-weight:600}.dc-main{min-width:0;padding-bottom:24px;animation:rise .42s var(--spring) both}.dc-part{color:var(--text-3);font-size:13px;font-weight:600}.dc-main>h1{margin-top:6px;font-size:var(--text-title);font-weight:700;line-height:1.1;letter-spacing:-.03em;text-wrap:balance}.dc-lead{margin-top:12px;color:var(--text-2);font-size:var(--text-lead);text-wrap:pretty}.dc-prose{margin-top:28px;font-size:16px;line-height:1.65;overflow-wrap:break-word}.dc-prose>*+*{margin-top:16px}.dc-prose h2{margin-top:44px;padding-top:24px;border-top:1px solid var(--border);font-size:var(--text-heading);font-weight:700;line-height:1.2;letter-spacing:-.02em;scroll-margin-top:76px}.dc-prose h3{margin-top:30px;font-size:17px;font-weight:600;letter-spacing:-.01em;scroll-margin-top:84px}.dc-prose p,.dc-prose li{color:color-mix(in srgb,var(--text) 86%,var(--bg))}.dc-prose ul,.dc-prose ol{margin-block:16px 0;padding-left:22px}.dc-prose li+li{margin-top:6px}.dc-prose li>ul,.dc-prose li>ol{margin-top:6px}.dc-prose a,.dc-foot a{text-decoration:underline;text-decoration-color:var(--text-3);text-underline-offset:3px;transition:text-decoration-color var(--duration-fast) var(--ease)}.dc-prose a:hover,.dc-foot a:hover{text-decoration-color:currentColor}.dc-prose strong{color:var(--text);font-weight:600}.dc-prose :not(pre)>code,.dc-foot code{padding:2px 6px;border-radius:6px;background:var(--fill-quiet);font-size:.86em;overflow-wrap:anywhere}.dc-prose pre{position:relative;margin-top:16px;padding:16px 18px;overflow-x:auto;border-radius:16px;background:var(--bg-group)!important;box-shadow:var(--shadow-group),inset 0 0 0 1px var(--border);font-size:13.5px;line-height:1.6;scrollbar-width:thin;tab-size:4}.dc-prose pre code{font-size:inherit}.astro-code span{color:var(--shiki-light)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)}}:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)}.dc-copy{position:absolute;top:8px;right:8px;padding:5px 10px;border:0;border-radius:999px;background:var(--fill-hover);color:var(--text-2);font:600 12px/1 var(--font-ui);opacity:0;cursor:pointer;backdrop-filter:blur(8px);transition:opacity var(--duration-fast) var(--ease)}.dc-prose pre:hover .dc-copy,.dc-copy:focus-visible{opacity:1}.dc-prose table{display:block;width:fit-content;max-width:100%;margin-top:16px;overflow-x:auto;border-collapse:collapse;border-radius:16px;background:var(--bg-group);box-shadow:var(--shadow-group),inset 0 0 0 1px var(--border);font-size:14.5px;line-height:1.5}.dc-prose th,.dc-prose td{padding:10px 16px;text-align:left;vertical-align:top}.dc-prose th{color:var(--text-2);font-size:13px;font-weight:600;white-space:nowrap}.dc-prose tbody tr{border-top:1px solid var(--border)}.dc-prose td:first-child code{white-space:nowrap}.dc-prose blockquote{margin:16px 0 0;padding:14px 18px;border-radius:16px;background:var(--fill-quiet)}.dc-prose blockquote>*+*{margin-top:8px}.dc-prose hr{height:1px;margin-block:32px;border:0;background:var(--border)}.dc-prose .dc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:20px;padding:0;list-style:none}.dc-prose .dc-cards li{margin:0}.dc-prose .dc-cards a{display:grid;gap:4px;height:100%;padding:18px 20px;border-radius:var(--radius);background:var(--bg-group);box-shadow:var(--shadow-group),inset 0 0 0 1px var(--border);text-decoration:none;transition:transform var(--duration-base) var(--spring)}.dc-prose .dc-cards a:hover{transform:translateY(-2px)}.dc-prose .dc-cards b{color:var(--text);font-size:16px;letter-spacing:-.01em}.dc-prose .dc-cards span{color:var(--text-2);font-size:14px;line-height:1.45}.dc-turn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:56px}.dc-turn a{display:grid;gap:2px;padding:14px 18px;border-radius:var(--radius);background:var(--bg-group);box-shadow:var(--shadow-group),inset 0 0 0 1px var(--border);transition:transform var(--duration-base) var(--spring)}.dc-turn a:hover{transform:translateY(-2px)}.dc-turn small{color:var(--text-3);font-size:12px;font-weight:600}.dc-turn b{font-size:15px;letter-spacing:-.01em}.dc-next{text-align:right}.dc-foot{margin-top:28px;color:var(--text-3);font-size:14px}.dc-toc{position:sticky;top:76px;max-height:calc(100vh - 92px);overflow-y:auto;scrollbar-width:none}.dc-toc h2{margin-bottom:8px;color:var(--text-3);font-size:12px;font-weight:600;letter-spacing:.02em}.dc-toc ul{margin:0;padding:0;list-style:none}.dc-toc a{display:block;padding:4px 0;color:var(--text-3);font-size:13px;line-height:1.35;transition:color var(--duration-fast) var(--ease)}.dc-toc .dc-d3 a{padding-left:12px}.dc-toc a:hover,.dc-toc a[aria-current]{color:var(--text)}.dc-toc a[aria-current]{font-weight:600}.dc-search{width:min(100% - 32px,620px);max-height:min(70vh,620px);margin-top:12vh;padding:0;overflow:hidden;border:0;border-radius:22px;background:var(--bg-group);color:var(--text);box-shadow:var(--shadow-sheet),inset 0 0 0 1px var(--border)}.dc-search[open]{display:grid;grid-template-rows:auto minmax(0,1fr);animation:dc-sheet .26s var(--spring) both}.dc-search::backdrop{background:#00000047;backdrop-filter:blur(6px)}@keyframes dc-sheet{0%{opacity:0;transform:translateY(10px) scale(.98)}}.dc-search form{display:flex;align-items:center;gap:10px;padding:14px 18px}.dc-search form svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--text-3);stroke-width:2;stroke-linecap:round}.dc-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--text);font:400 17px/1.4 var(--font-ui)}.dc-search input::-webkit-search-cancel-button{display:none}.dc-search ol{margin:0;padding:0 8px 8px;overflow-y:auto;list-style:none}.dc-search ol:empty{display:none}.dc-search li a{display:grid;gap:2px;padding:10px 12px;border-radius:12px}.dc-search li[data-chosen] a,.dc-search li a:hover{background:var(--fill-hover)}.dc-search li b{font-size:15px}.dc-search li small{color:var(--text-3);font-size:12px}.dc-search li span{color:var(--text-2);font-size:13px;line-height:1.4}.dc-none{padding:18px 12px;color:var(--text-2);font-size:14px;text-align:center}@media(max-width:1100px){.dc{grid-template-columns:220px minmax(0,1fr)}.dc-toc{display:none}}@media(max-width:900px){.dc{grid-template-columns:minmax(0,1fr);gap:20px}.dc-side{position:static;max-height:none}.dc-parts{border-radius:16px;background:var(--bg-group);box-shadow:var(--shadow-group),inset 0 0 0 1px var(--border)}.dc-parts summary{display:block;padding:12px 16px;font-size:14px;font-weight:600;list-style:none;cursor:pointer}.dc-parts summary::-webkit-details-marker{display:none}.dc-parts summary:after{content:"Contents";float:right;color:var(--text-3);font-weight:500}.dc-parts nav{padding:4px 6px 12px;border-top:1px solid var(--border)}.dc-parts section:first-child{margin-top:12px}.dc-search-open kbd{display:none}}
