.doc{max-width:var(--layout-container);grid-template-columns:minmax(0,1fr);margin-inline:auto;display:grid}.doc__main{min-width:0;padding:var(--space-8) var(--layout-gutter) var(--space-20);outline:none}.doc__nav,.doc__toc{font-family:var(--font-sans)}.doc__toc{display:none}@media (width>=1024px){.doc{grid-template-columns:var(--layout-sidebar-w) minmax(0, 1fr)}.doc__nav{top:var(--layout-header-h);height:calc(100dvh - var(--layout-header-h));padding:var(--space-6) var(--space-4) var(--space-10) var(--layout-gutter);border-right:1px solid var(--color-border-subtle);scrollbar-width:thin;align-self:start;position:sticky;overflow-y:auto}.doc__main{padding-inline:var(--space-10)}}@media (width>=1280px){.doc{grid-template-columns:var(--layout-sidebar-w) minmax(0, 1fr) var(--layout-toc-w)}.doc__toc{display:block}.doc__toc-in{top:calc(var(--layout-header-h) + var(--space-6));padding-right:var(--layout-gutter);max-height:calc(100dvh - var(--layout-header-h) - var(--space-10));position:sticky;overflow-y:auto}.doc__main{padding-inline:var(--space-8)}}@media (width<=1023px){.doc__nav{z-index:var(--z-drawer);width:min(20rem,86vw);padding:var(--space-6) var(--space-4) var(--space-10);background:var(--color-bg-surface);border-right:1px solid var(--color-border-default);box-shadow:var(--shadow-lg);visibility:hidden;transition:transform var(--duration-slow) var(--ease-standard), visibility 0s var(--duration-slow);position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-102%)}body[data-nav-open] .doc__nav{visibility:visible;transition-delay:0s;transform:none}.doc__overlay{z-index:var(--z-overlay);background:var(--color-bg-overlay);backdrop-filter:blur(2px);animation:overlay-in var(--duration-base) var(--ease-standard);position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}}body[data-nav-open]{overflow:hidden}}@media (width>=1024px){.doc__overlay{display:none}}.ctree{font-family:var(--font-sans);font-size:var(--text-sm)}.ctree__groups{gap:var(--space-1);margin:0;padding:0;display:grid}.ctree__summary{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;border-radius:var(--radius-md);font-weight:var(--weight-semibold);color:var(--color-text-primary);transition:background-color var(--duration-fast), transform var(--duration-fast) var(--ease-spring);list-style:none;display:flex}.ctree__summary::-webkit-details-marker{display:none}.ctree__summary:hover{background:var(--color-bg-subtle)}.ctree__summary:active{transform:scale(.98)}.ctree__summary:focus-visible{outline:2px solid var(--accent-solid);outline-offset:-2px}.ctree__chev{color:var(--color-text-muted);transition:transform var(--duration-base) var(--ease-spring);flex:none}.ctree__group[open]>.ctree__summary .ctree__chev{transform:rotate(90deg)}.ctree__count{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);background:var(--color-bg-subtle);border-radius:var(--radius-pill);margin-left:auto;padding:0 .45rem}.ctree__items{margin:var(--space-1) 0 var(--space-2) var(--space-4);padding:0 0 0 var(--space-3);border-left:1px solid var(--color-border-default);gap:2px;display:grid}.ctree__group[open]>.ctree__items{animation:ctree-open var(--duration-base) var(--ease-enter)}@keyframes ctree-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ctree__link{align-items:center;gap:var(--space-2);padding:.4rem var(--space-3);color:var(--color-text-secondary);border-radius:var(--radius-md);line-height:var(--leading-snug);transition:background-color var(--duration-fast), color var(--duration-fast), padding var(--duration-base) var(--ease-spring);text-decoration:none;display:flex;position:relative}.ctree__link:hover{background:var(--color-bg-subtle);color:var(--color-text-primary);padding-left:calc(var(--space-3) + 3px)}.ctree__link:active{background:var(--color-bg-sunken)}.ctree__link:before{content:"";left:calc(-1 * var(--space-3) - 1px);background:var(--accent-solid);width:3px;transition:transform var(--duration-base) var(--ease-spring);border-radius:2px;position:absolute;top:18%;bottom:18%;transform:scaleY(0)}.ctree__link.is-current{background:var(--accent-tint);color:var(--accent-text);font-weight:var(--weight-semibold)}.ctree__link.is-current:before{transform:scaleY(1)}.ctree__label{flex:1;min-width:0}.ctree__done{color:var(--success-solid);flex:none}.ctree__link.is-done:not(.is-current){color:var(--color-text-muted)}.ctree__empty{align-items:center;gap:var(--space-2);padding:var(--space-4);color:var(--color-text-muted);background:var(--color-bg-subtle);border:1px dashed var(--color-border-default);border-radius:var(--radius-md);display:flex}.pn{gap:var(--space-4);max-width:var(--layout-measure);margin-top:var(--space-12);font-family:var(--font-sans);grid-template-columns:1fr 1fr;display:grid}.pn__card{gap:var(--space-1);padding:var(--space-4) var(--space-5);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);color:inherit;box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-spring), box-shadow var(--duration-base), border-color var(--duration-fast), background-color var(--duration-fast);flex-direction:column;text-decoration:none;display:flex}.pn__card--next{text-align:right;align-items:flex-end}.pn__card:hover{box-shadow:var(--shadow-md);border-color:var(--accent-solid);background:var(--accent-tint);transform:translateY(-3px)}.pn__card:active{box-shadow:none;transition-duration:var(--duration-instant);transform:scale(.985)}.pn__card:focus-visible{outline:2px solid var(--accent-solid);outline-offset:2px;border-radius:var(--radius-lg)}.pn__dir{align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);display:inline-flex}.pn__arrow{transition:transform var(--duration-base) var(--ease-spring)}.pn__card--next:hover .pn__arrow{transform:translate(4px)}.pn__card--prev:hover .pn__arrow{transform:translate(-4px)}.pn__title{font-family:var(--font-serif);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}@media (width<=639px){.pn{grid-template-columns:1fr}.pn__gap{display:none}}
