.cx-k{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--h,var(--acc));font-size:.6875rem;font-weight:500}.cx-h.r12-head__h{text-wrap:balance;font-size:clamp(2rem,3.7vw,3.4rem);line-height:1.04}.cx-open{flex-wrap:wrap;gap:6px 16px;font-size:.88rem;display:flex}.cx-open a{color:var(--h);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.cx-phases{border-top:1px solid var(--line);list-style:none}.cx-phases>li{border-bottom:1px solid var(--line);scroll-margin-top:90px}.cx-ph>summary{cursor:pointer;border-radius:10px;grid-template-columns:3.2em minmax(0,1fr) auto 18px;align-items:center;gap:14px;padding:16px 6px;list-style:none;display:grid}.cx-ph>summary::-webkit-details-marker{display:none}.cx-ph>summary:after{content:"";border-right:1.5px solid var(--w55);border-bottom:1.5px solid var(--w55);width:9px;height:9px;transition:transform .25s var(--ease);transform:rotate(45deg)translateY(-3px)}.cx-ph[open]>summary:after{transform:rotate(225deg)translateY(-1px)}.cx-ph__n{font-family:var(--font-code), ui-monospace, monospace;color:var(--h);font-size:.8rem}.cx-ph__t{letter-spacing:-.01em;color:var(--w-hi);font-size:1.08rem;font-weight:700}.cx-ph__c{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.08em;color:var(--w55);white-space:nowrap;font-size:.72rem}.cx-ph__b{padding:0 6px 22px calc(3.2em + 20px)}.cx-ph__s{color:var(--w70);margin-bottom:12px;font-size:.95rem;line-height:1.55}.cx-ph__go{color:var(--h);margin-top:14px;font-size:.9rem;font-weight:600;display:inline-block}@media (hover:hover){.cx-ph>summary:hover{background:var(--h-wash)}.cx-ph>summary:hover .cx-ph__t{color:var(--h)}}.cx-ls{list-style:none}.cx-ls a{color:inherit;border-radius:8px;grid-template-columns:2.2em minmax(0,1fr);column-gap:10px;padding:7px 4px;display:grid}.cx-ls__n{font-family:var(--font-code), ui-monospace, monospace;color:var(--w55);grid-row:span 3;font-size:.75rem;line-height:1.6rem}.cx-ls__t{color:var(--w85);font-size:.95rem;line-height:1.6rem}.cx-ls__p{color:var(--w70);text-wrap:pretty;font-size:.88rem;line-height:1.5}.cx-ls__m{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.06em;color:var(--w55);margin-top:4px;font-size:.68rem}.cx-ls--big{border-top:1px solid var(--line)}.cx-ls--big>li{border-bottom:1px solid var(--line)}.cx-ls--big a{row-gap:4px;padding:14px 6px}.cx-ls--big .cx-ls__t{color:var(--w-hi);font-size:1.04rem;font-weight:650}@media (hover:hover){.cx-ls a:hover{background:var(--h-wash)}.cx-ls a:hover .cx-ls__t{color:var(--h)}}.cx-pn{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;display:grid}.cx-pn a{border:1px solid var(--line);color:var(--w-hi);border-radius:12px;gap:4px;padding:14px 16px;font-size:.92rem;font-weight:600;line-height:1.35;display:grid}.cx-pn a:last-child:not(:first-child){text-align:right}.cx-pn small{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--h);font-size:.66rem;font-weight:500}@media (hover:hover){.cx-pn a:hover{border-color:var(--h-line);background:var(--h-wash)}}.cx-lh{padding-bottom:8px}.cx-lh .f6-wrap{max-width:860px}.cx-lh .cx-k{margin-top:14px}.cx-lh__h{letter-spacing:-.035em;color:var(--w-hi);text-wrap:balance;margin-top:10px;font-size:clamp(1.9rem,4.2vw,3rem);font-weight:850;line-height:1.06}.cx-lh__s{color:var(--w70);text-wrap:pretty;margin-top:14px;font-size:1.06rem;line-height:1.6}.cx-chips{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.cx-chips span{border:1px solid var(--line-2);font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.04em;color:var(--w70);border-radius:99px;padding:4px 10px;font-size:.7rem}.cx-pre{color:var(--w55);margin-top:12px;font-size:.86rem}.cx-pre b{color:var(--w70);font-weight:600}.cx-grid{max-width:860px;padding-bottom:40px}.cx-main{min-width:0}.cx-note{border:1px solid var(--h-line);border-left:3px solid var(--h);background:var(--h-wash);color:var(--w85);border-radius:12px;gap:10px;margin:18px 0 8px;padding:18px 20px;font-size:.98rem;line-height:1.6;display:grid}.cx-note b{color:var(--w-hi)}.cx-note__k{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--h);font-size:.68rem}.cx-note__ask{color:var(--w70);font-size:.9rem}.cx-note__ask a{color:var(--h);text-underline-offset:3px;margin-left:4px;font-weight:700;text-decoration:underline}.cx-toc{border:1px solid var(--line);border-radius:12px;margin:18px 0 4px}.cx-toc>summary{cursor:pointer;font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--w70);padding:12px 16px;font-size:.72rem}.cx-toc ol{gap:6px;padding:0 16px 14px;list-style:none;display:grid}.cx-toc a{color:var(--w85);font-size:.92rem}.cx-prose{color:var(--w85);overflow-wrap:anywhere;margin-top:18px;font-size:1.02rem;line-height:1.72}.cx-prose>*+*{margin-top:1em}.cx-prose h2{letter-spacing:-.025em;color:var(--w-hi);margin-top:2.2em;scroll-margin-top:90px;font-size:clamp(1.32rem,2.2vw,1.6rem);font-weight:800;line-height:1.2}.cx-prose h3{color:var(--w-hi);margin-top:1.8em;scroll-margin-top:90px;font-size:1.14rem;font-weight:750;line-height:1.3}.cx-prose h4,.cx-prose h5,.cx-prose h6{color:var(--w-hi);margin-top:1.4em;font-size:1rem;font-weight:700}.cx-prose a{color:var(--h);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.cx-prose strong{color:var(--w-hi);font-weight:650}.cx-prose ul,.cx-prose ol{padding-left:1.3em}.cx-prose li+li{margin-top:.35em}.cx-prose li::marker{color:var(--w55)}.cx-prose blockquote{border-left:2px solid var(--line-2);color:var(--w70);padding:2px 0 2px 16px}.cx-prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}.cx-prose :not(pre)>code{background:var(--line);font-family:var(--font-code), ui-monospace, monospace;color:var(--w-hi);border-radius:5px;padding:.1em .35em;font-size:.86em}.cx-code{border:1px solid var(--line);font-family:var(--font-code), ui-monospace, monospace;color:#d9e6dd;tab-size:4;-webkit-overflow-scrolling:touch;overflow-wrap:normal;background:#00000059;border-radius:12px;padding:16px 18px;font-size:.82rem;line-height:1.6;position:relative;overflow-x:auto}.cx-code[data-lang]:before{content:attr(data-lang);letter-spacing:.14em;text-transform:uppercase;color:var(--w55);margin:-6px 0 8px;font-size:.62rem;display:block;position:sticky;left:0}.cx-prose img{border-radius:10px;max-width:100%;height:auto;margin-inline:auto;display:block}.cx-fig{margin:1.4em 0}.cx-mer{border:1px solid var(--line);border-radius:12px;padding:14px;overflow-x:auto}.cx-mer a{display:block}.cx-mer img{width:auto;max-height:70vh}.cx-mer__l,html[data-theme=light] .cx-mer__d{display:none!important}html[data-theme=light] .cx-mer__l{display:block!important}html[data-theme=light] .cx-code{color:#1b2a20;background:#1418140d}.cx-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.cx-table table{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.5}.cx-table th,.cx-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:normal;padding:8px 10px}.cx-table th{color:var(--w-hi);white-space:nowrap;font-weight:700}.cx-quiz,.cx-faq{border-top:1px solid var(--line);margin-top:48px;padding-top:28px}.cx-quiz h2,.cx-faq h2{letter-spacing:-.025em;color:var(--w-hi);margin:6px 0 18px;font-size:clamp(1.32rem,2.2vw,1.6rem);font-weight:800}.cx-quiz>ol{counter-reset:q;gap:18px;list-style:none;display:grid}.cx-quiz>ol>li{border:1px solid var(--line);counter-increment:q;border-radius:12px;padding:16px 18px}.cx-quiz__q{color:var(--w-hi);font-weight:650;line-height:1.45}.cx-quiz__q:before{content:counter(q) ". ";color:var(--h)}.cx-quiz__o{color:var(--w85);gap:4px;margin:10px 0 0;padding-left:1.6em;font-size:.94rem;display:grid}.cx-quiz details{margin-top:10px}.cx-quiz summary{cursor:pointer;color:var(--h);font-size:.86rem;font-weight:600}.cx-quiz details p{color:var(--w70);margin-top:8px;font-size:.92rem;line-height:1.55}.cx-faq>div+div{margin-top:18px}.cx-faq h3{color:var(--w-hi);font-size:1.06rem;font-weight:700;line-height:1.35}.cx-faq p{color:var(--w85);margin-top:6px;line-height:1.6}.cx-src{flex-wrap:wrap;gap:10px;margin-top:36px;display:flex}.cx-src a{border:1px solid var(--line-2);color:var(--w-hi);border-radius:99px;padding:9px 14px;font-size:.86rem;font-weight:600}@media (hover:hover){.cx-src a:hover{border-color:var(--h-line);color:var(--h)}}.cx-credit{color:var(--w55);margin-top:28px;font-size:.8rem;line-height:1.55}.cx-credit a{color:var(--w70);text-underline-offset:2px;text-decoration:underline}@media (max-width:640px){.cx-ph>summary{grid-template-columns:2.4em minmax(0,1fr) auto 14px;gap:10px;padding:14px 2px}.cx-ph__b{padding:0 2px 18px}.cx-pn{grid-template-columns:1fr}.cx-pn a:last-child:not(:first-child){text-align:left}.cx-note{padding:16px}.cx-code{padding:14px;font-size:.78rem}.cx-prose{font-size:1rem}}@media (prefers-reduced-motion:reduce){.cx-ph>summary:after{transition:none}}.l52-fold{margin-top:2px}.l52-fold>summary{cursor:pointer;min-height:44px;color:var(--w85);align-items:center;gap:10px;font-size:.9rem;font-weight:600;list-style:none;display:inline-flex}.l52-fold>summary::-webkit-details-marker{display:none}.l52-fold>summary>span{font-family:var(--font-code), ui-monospace, monospace;color:var(--h);font-size:.75rem;font-weight:500}.l52-fold>summary:after{content:"";border-right:1.5px solid var(--w55);border-bottom:1.5px solid var(--w55);width:8px;height:8px;transition:transform .25s var(--ease);margin-left:2px;transform:rotate(45deg)translateY(-3px)}.l52-fold[open]>summary:after{transform:rotate(225deg)translateY(-1px)}.f6 .l52-fold>summary:focus-visible{outline:2px solid var(--h);outline-offset:2px;border-radius:6px}@media (hover:hover){.l52-fold>summary:hover{color:var(--h)}}.l52 .l52-ph__b{gap:8px}.l52 .cx-open{gap:0 16px}.cx-pre a{color:var(--w85);text-decoration:underline;-webkit-text-decoration-color:var(--h-line);text-decoration-color:var(--h-line);text-underline-offset:3px}.cx-pre a:hover{color:var(--h)}.cx-chips span:first-child{border-color:var(--h-line);color:var(--w85)}.cx-quiz details>summary{align-items:center;min-height:44px;padding-right:8px;display:inline-flex}.cx-quiz details[open]>summary{margin-bottom:-6px}@media (prefers-reduced-motion:reduce){.l52-fold>summary:after{transition:none}}.cx-prose pre[data-lang=figure]{display:none}.cr .ag-top{padding-top:clamp(84px,7.2vw,100px)}.cr-grid{grid-template-columns:minmax(210px,250px) minmax(0,1fr) minmax(170px,216px);align-items:start;column-gap:clamp(28px,3.2vw,52px);padding-top:14px;padding-bottom:28px;display:grid}.cr-main{width:100%;min-width:0;max-width:720px;margin-inline:auto}.cr .cx-lh{padding:0}.cr .cx-lh .l43-crumbs{margin-bottom:4px}.cr .cx-lh__h{margin-top:6px;font-size:clamp(1.75rem,2.9vw,2.45rem)}.cr .cx-lh__s{margin-top:10px;font-size:1.02rem;line-height:1.55}.cr .cx-chips{gap:6px;margin-top:12px}.cr .cx-pre{margin-top:10px}.cr .cx-note{gap:8px;margin:18px 0 0;padding:16px 18px;font-size:.96rem;line-height:1.58}.cr .cx-prose{margin-top:20px;font-size:1rem;line-height:1.66}.cr .cx-prose>*+*{margin-top:.85em}.cr .cx-prose h2{margin-top:1.75em;scroll-margin-top:140px}.cr .cx-prose h3{margin-top:1.45em;scroll-margin-top:140px}.cr .cx-prose h2+*,.cr .cx-prose h3+*{margin-top:.6em}.cr .cx-fig{margin:1.1em 0}.cr .cx-quiz,.cr .cx-faq{margin-top:34px;padding-top:22px}.cr .cx-quiz h2,.cr .cx-faq h2{margin:4px 0 14px;scroll-margin-top:140px}.cr .cx-quiz>ol{gap:10px}.cr .cx-quiz>ol>li{padding:14px 16px}.cr .cx-faq>div+div{margin-top:14px}.cr-nav{min-width:0;position:sticky;top:96px}.cr-nav__in{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;max-height:calc(100vh - 112px);padding:2px 6px 16px 0;overflow-y:auto}.cr-nav__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cr-nav__ph{letter-spacing:-.01em;color:var(--w-hi);gap:2px;font-size:.98rem;font-weight:750;line-height:1.25;display:grid}.cr-nav__ph span{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--h);font-size:.6875rem;font-weight:500}.cr-nav__ph:hover{color:var(--h)}.cr-nav__x{display:none}.cr-prog{border:1px solid var(--line);background:var(--tint);border-radius:12px;gap:5px;margin:14px 0 12px;padding:12px 12px 10px;display:grid}.cr-prog__l{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--w70);font-variant-numeric:tabular-nums;font-size:.6875rem}.cr-prog__l--c{color:var(--w55);margin-top:4px}.cr-prog__bar{background:var(--line);border-radius:2px;height:4px;display:block;overflow:hidden}.cr-prog__bar i,.cr-bar__line i{background:var(--h);transform-origin:0;height:100%;transition:transform .5s var(--ease);display:block;transform:scaleX(0)}.cr-prog__bar--c i{background:color-mix(in srgb, var(--h) 55%, transparent)}.cr-prog__msg:empty{display:none}.cr-prog__msg{color:var(--h);margin-top:4px;font-size:.78rem;line-height:1.4}.cr-ls{gap:1px;list-style:none;display:grid}.cr-ls a{color:var(--w70);border-radius:8px;grid-template-columns:14px 1.7em minmax(0,1fr);align-items:start;column-gap:8px;padding:6px 8px;font-size:.86rem;line-height:1.35;transition:background-color .2s,color .2s;display:grid}.cr-ls__n{font-family:var(--font-code), ui-monospace, monospace;color:var(--w40,var(--w55));font-variant-numeric:tabular-nums;padding-top:.1em;font-size:.7rem}.cr-ls a[aria-current=page]{background:var(--h-wash);color:var(--w-hi);box-shadow:inset 2px 0 0 var(--h);font-weight:600}.cr-ls a[aria-current=page] .cr-ls__n{color:var(--h)}.cr-ls a[data-done]:not([aria-current]){color:var(--w55)}@media (hover:hover){.cr-ls a:not([aria-current]):hover{background:var(--tint);color:var(--w-hi)}}.cr-tick{border:1.5px solid var(--line-2);border-radius:3px;width:14px;height:14px;margin-top:2px;transition:background-color .25s,border-color .25s;display:block;position:relative}.cr-tick:after{content:"";border:solid var(--k);width:4px;height:8px;transition:transform .25s var(--ease);border-width:0 2px 2px 0;position:absolute;top:.5px;left:3.5px;transform:rotate(45deg)scale(0)}[data-done]>.cr-tick,.cr-done[aria-pressed=true]>.cr-tick{background:var(--h);border-color:var(--h)}[data-done]>.cr-tick:after,.cr-done[aria-pressed=true]>.cr-tick:after{transform:rotate(45deg)scale(1)}.cr-phs{border-top:1px solid var(--line);margin-top:12px}.cr-phs>summary{cursor:pointer;min-height:40px;font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--w55);justify-content:space-between;align-items:center;font-size:.6875rem;list-style:none;display:flex}.cr-phs>summary::-webkit-details-marker{display:none}.cr-phs>summary:after{content:"";border-right:1.5px solid var(--w55);border-bottom:1.5px solid var(--w55);width:7px;height:7px;transition:transform .25s var(--ease);transform:rotate(45deg)translateY(-2px)}.cr-phs[open]>summary:after{transform:rotate(225deg)}.cr-phs ol{gap:1px;padding-bottom:6px;list-style:none;display:grid}.cr-phs a{color:var(--w70);border-radius:8px;grid-template-columns:1.9em minmax(0,1fr) auto;gap:6px;padding:5px 8px;font-size:.82rem;line-height:1.3;display:grid}.cr-phs a span{font-family:var(--font-code), ui-monospace, monospace;color:var(--w55);font-size:.7rem}.cr-phs a small{font-family:var(--font-code), ui-monospace, monospace;color:var(--w55);font-variant-numeric:tabular-nums;font-size:.66rem}.cr-phs a small[data-some]{color:var(--h)}.cr-phs a[aria-current]{color:var(--w-hi);background:var(--tint)}@media (hover:hover){.cr-phs a:hover{color:var(--w-hi);background:var(--tint)}}.cr-nav__note{color:var(--w55);margin-top:10px;font-size:.75rem;line-height:1.45}.cr-side{min-width:0;height:100%}.cr-side .cr-toc{overscroll-behavior:contain;scrollbar-width:none;max-height:calc(100vh - 112px);padding-bottom:16px;position:sticky;top:96px;overflow-y:auto}.cr-side .cr-toc::-webkit-scrollbar{display:none}.cr-toc__k{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--w55);margin-bottom:10px;font-size:.6875rem;font-weight:500}.cr-toc__list{border-left:1px solid var(--line);list-style:none}.cr-toc__list a{color:var(--w55);padding:5px 0 5px 14px;font-size:.84rem;line-height:1.35;transition:color .25s;display:block;position:relative}.cr-toc__list [data-lv="3"] a{padding-left:26px;font-size:.79rem}.cr-toc__list a:before{content:"";background:var(--h);width:2px;transition:transform .35s var(--ease);border-radius:2px;position:absolute;top:5px;bottom:5px;left:-1px;transform:scaleY(0)}.cr-toc__list a[aria-current]{color:var(--w-hi)}.cr-toc__list a[aria-current]:before{transform:scaleY(1)}.cr-toc__list a:hover{color:var(--w-hi)}.cr-bar,.cr-scrim,.cr-tocm{display:none}.cr-end{border-top:1px solid var(--line);gap:12px;margin-top:34px;padding-top:22px;scroll-margin-top:140px;display:grid}.cr-end__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.cr .cr-end .cx-src{margin-top:0}.cr-done{border:1px solid var(--line-2);min-height:46px;color:var(--w-hi);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:10px;padding:0 18px 0 14px;font-size:.92rem;font-weight:650;transition:border-color .25s,background-color .25s;display:inline-flex}.cr-done>.cr-tick{width:16px;height:16px;margin-top:0}.cr-done>.cr-tick:after{top:1px;left:4px}.cr-done[aria-pressed=true]{border-color:var(--h-line);background:var(--h-wash)}.f6 .cr-done:focus-visible{outline:2px solid var(--h);outline-offset:2px}@media (hover:hover){.cr-done:hover{border-color:var(--h-line)}}@media (scripting:none){.cr-done{display:none}}.cr-next{border:1px solid var(--h-line);background:var(--h-wash);color:var(--w-hi);border-radius:16px;gap:4px;padding:18px 64px 18px 20px;transition:border-color .25s,background-color .25s;display:grid;position:relative}.cr-next small{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--h);font-size:.7rem}.cr-next b{letter-spacing:-.02em;text-wrap:balance;font-size:clamp(1.12rem,1.6vw,1.32rem);font-weight:800;line-height:1.25}.cr-next svg{background:var(--h);fill:none;width:34px;height:34px;stroke:var(--k);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease);border-radius:50%;margin-top:-17px;padding:8px;position:absolute;top:50%;right:18px}@media (hover:hover){.cr-next:hover{border-color:var(--h)}.cr-next:hover svg{transform:translate(3px)}}.f6 .cr-next:focus-visible{outline:2px solid var(--h);outline-offset:3px}.cr-prev{min-height:44px;color:var(--w70);justify-self:start;align-items:center;gap:8px;font-size:.88rem;display:inline-flex}.cr-prev svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.cr-prev:hover{color:var(--w-hi)}.cr-save{border:1px solid var(--line-2);background:var(--tint);animation:cr-in .45s var(--ease) both;border-radius:16px;gap:12px;margin-top:6px;padding:18px 20px;display:grid;position:relative}@keyframes cr-in{0%{opacity:0;transform:translateY(8px)}}.cr-save__k{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--h);align-items:center;gap:8px;font-size:.7rem;display:inline-flex}.cr-save__k i{background:var(--h);width:7px;height:7px}.cr-save__h{letter-spacing:-.015em;color:var(--w-hi);margin-top:6px;padding-right:64px;font-size:1.12rem;font-weight:800;line-height:1.3}.cr-save__p{color:var(--w70);margin-top:4px;font-size:.92rem;line-height:1.5}.cr-save__row{gap:8px;display:flex}.cr-save__in{border:1px solid var(--line-2);background:var(--k);min-width:0;min-height:46px;color:var(--w-hi);font:inherit;border-radius:999px;flex:1;padding:0 16px;font-size:1rem}.cr-save__in:focus-visible{outline:2px solid var(--h);outline-offset:1px}.cr-save__go{background:var(--h);min-height:46px;color:var(--k);font:inherit;cursor:pointer;border:0;border-radius:999px;flex:none;padding:0 18px;font-size:.9rem;font-weight:700}.cr-save__go:disabled{opacity:.6;cursor:default}.f6 .cr-save__go:focus-visible{outline:2px solid var(--h);outline-offset:3px}.cr-save__alt{min-height:44px;font:inherit;color:var(--w-hi);text-decoration:underline;-webkit-text-decoration-color:var(--h-line);text-decoration-color:var(--h-line);text-underline-offset:.22em;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:.88rem;font-weight:600;display:inline-flex}.cr-save__note{color:var(--w55);margin-top:6px;font-size:.75rem;line-height:1.45}.cr-save__note a{color:var(--w70);text-decoration:underline}.cr-save__err{color:#ff9a8a;margin-top:6px;font-size:.85rem}html[data-theme=light] .cr-save__err{color:#a32a17}.cr-save__after{color:var(--w85);font-size:.92rem;line-height:1.5}.cr-save__url{border:1px dashed var(--line-2);font-family:var(--font-code), ui-monospace, monospace;color:var(--w70);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border-radius:10px;margin-top:6px;padding:10px 12px;font-size:.75rem;line-height:1.45}.cr-save__acts{flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:8px;display:flex}.cr-save__x{min-height:44px;font:inherit;color:var(--w55);cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:.8rem;position:absolute;top:8px;right:8px}.cr-save__x:hover{color:var(--w-hi)}.cr-credit{color:var(--w55);margin-top:18px;font-size:.8rem;line-height:1.55}.cr-credit a{color:var(--w70);text-underline-offset:2px;text-decoration:underline}.cr-credit a:hover{color:var(--w-hi)}.r12 .cr-cta{padding:clamp(12px,2vw,28px) 0 clamp(40px,5vw,72px)}@media (max-width:1099px){.cr-grid{padding-top:0;display:block}.cr-main{max-width:720px}.cr-side{display:none}.cr .ag-top{padding-top:84px}.cr-bar{z-index:30;border-block:1px solid var(--line);background:var(--nav-bg);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);margin:10px 0 14px;display:block;position:sticky;top:74px}.cr-bar__in{align-items:center;gap:12px;max-width:720px;min-height:50px;display:flex;position:relative}.cr-bar__open{border:1px solid var(--h-line);background:var(--h-wash);min-height:36px;color:var(--w-hi);border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 14px 0 10px;font-size:.84rem;font-weight:650;display:inline-flex}.cr-bar__open svg{fill:none;width:16px;height:16px;stroke:var(--h);stroke-width:1.8px;stroke-linecap:round}.f6 .cr-bar__open:focus-visible{outline:2px solid var(--h);outline-offset:2px}.cr-bar__where{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.06em;color:var(--w70);font-size:.75rem;overflow:hidden}.cr-bar__line{left:var(--pad);right:var(--pad);background:0 0;height:2px;position:absolute;bottom:-1px;overflow:hidden}.cr-scrim{z-index:68;opacity:0;pointer-events:none;background:#0000008c;transition:opacity .3s;display:block;position:fixed;inset:0}.cr-scrim.is-open{opacity:1;pointer-events:auto}.cr-nav{z-index:70;border:1px solid var(--line-2);background:var(--k);visibility:hidden;max-width:640px;transition:transform .38s var(--ease), visibility 0s linear .38s;border-bottom:0;border-radius:20px 20px 0 0;margin-inline:auto;position:fixed;inset:auto 0 0;transform:translateY(102%);box-shadow:0 -20px 60px #00000073}.cr-nav.is-open{visibility:visible;transition:transform .38s var(--ease);transform:none}.cr-nav__in{max-height:min(80dvh,680px);padding:14px var(--pad) calc(18px + env(safe-area-inset-bottom))}.cr-nav__top{z-index:1;margin:-14px calc(var(--pad) * -1) 0;padding:14px var(--pad) 8px;background:var(--k);position:sticky;top:-14px}.cr-nav__x{border:1px solid var(--line-2);min-height:40px;color:var(--w-hi);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:0 14px;font-size:.84rem;font-weight:600;display:inline-flex}.cr-ls a{align-items:center;min-height:44px;font-size:.92rem}.cr-ls .cr-tick{margin-top:0}.cr-phs a{align-items:center;min-height:40px}html.cr-lock,html.cr-lock body{overflow:hidden}.cr-tocm{border:1px solid var(--line);border-radius:12px;margin-top:14px;display:block}.cr-tocm>summary{cursor:pointer;align-items:center;gap:12px;min-height:48px;padding:0 14px;list-style:none;display:flex}.cr-tocm>summary::-webkit-details-marker{display:none}.cr-tocm__k{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--w70);flex:none;font-size:.75rem}.cr-tocm__now{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--w85);flex:1;font-size:.88rem;overflow:hidden}.cr-tocm>summary svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .3s var(--ease);flex:none}.cr-tocm[open]>summary svg{transform:rotate(180deg)}.cr-toc--m{max-height:min(55vh,460px);padding:0 14px 10px;overflow-y:auto}.cr-toc--m .cr-toc__list a{align-items:center;min-height:40px;padding-block:4px;font-size:.9rem;display:flex}.cr-toc--m .cr-toc__list [data-lv="3"] a{font-size:.85rem}}@media (min-width:768px) and (max-width:1099px){.cr-bar{top:82px}}@media (max-width:640px){.cr .cx-lh__h{font-size:clamp(1.6rem,7vw,2rem)}.cr .cx-lh__s{font-size:.98rem}.cr .cx-note{padding:14px;font-size:.94rem}.cr .cx-prose{font-size:.98rem;line-height:1.64}.cr-next{padding:16px 58px 16px 16px}.cr-save{padding:16px}.cr-save__row{flex-direction:column}.cr-save__go{width:100%}}@media (prefers-reduced-motion:reduce){.cr-nav,.cr-nav.is-open,.cr-scrim,.cr-tick,.cr-tick:after,.cr-prog__bar i,.cr-bar__line i,.cr-toc__list a:before,.cr-next svg{transition:none}.cr-save{animation:none}}.cxh-head.r12-head,.cxp-head.r12-head{padding-bottom:clamp(14px,1.6vw,22px)}.cxh-sec{padding-block:clamp(18px,2vw,30px)}.cxh-sh{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"tile k""tile h""why why";align-items:center;column-gap:14px;max-width:760px;margin-bottom:16px;display:grid}.cxh-sh .r12-sh__why{margin-top:6px}.cxh-path{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;display:grid}.cxh-card{border:1px solid var(--line);background:var(--tint);border-radius:16px;align-content:start;gap:8px;min-width:0;padding:16px 16px 6px;scroll-margin-top:100px;display:grid}.cxh-card__k{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--h);align-items:center;gap:10px;font-size:.6875rem;display:flex}.cxh-card__k span+span+span{color:var(--w55)}.cxh-card__tile.r12-tile{border-radius:7px;width:36px;height:36px}.cxh-card__tile .r12-glyph{width:22px;height:22px}.cxh-card__h{letter-spacing:-.015em;color:var(--w-hi);font-size:1.08rem;font-weight:750;line-height:1.3}.cxh-card__p{color:var(--w85);text-wrap:pretty;font-size:.9rem;line-height:1.5}.cxh-card__why{color:var(--w70);text-wrap:pretty;font-size:.86rem;line-height:1.5}.cxh-card__why b{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--h);margin-right:4px;font-size:.66rem;font-weight:500}.cxh-card .cx-open{gap:0 14px;font-size:.84rem}.cxh-card .cx-open a{align-items:center;min-height:32px;display:inline-flex}.cxh-card .l52-fold>summary{min-height:40px;font-size:.84rem}.cxh-card .l52-src{margin-bottom:8px}.cxh-card .l52-src__a{grid-template-columns:minmax(0,1fr);grid-template-areas:"t""site""p";padding:8px 0}.cxh-card .l52-src__tag{display:none}.cxh .cx-ph>summary{padding:11px 6px}.cx-ph__d:not([data-some]){display:none}.cx-ph__d[data-some]{background:var(--h-wash);color:var(--h);border-radius:99px;margin-right:8px;padding:2px 7px}.cx-ph__s b{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--h);font-size:.66rem;font-weight:500}.cx-ls a[data-done] .cx-ls__n{color:var(--h)}.cx-ls a[data-done] .cx-ls__n:before{content:"✓ "}.cx-ls a[data-done] .cx-ls__t{color:var(--w70)}.cxh-credit{margin-top:16px}.cr-resume{gap:6px;margin-top:14px;display:grid}.cr-resume__k{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--w55);font-size:.6875rem}.cr-resume[data-on] .cr-resume__k{color:var(--h)}.cr-resume__a{border:1px solid var(--h-line);background:var(--h-wash);color:var(--w-hi);border-radius:14px;gap:2px;padding:12px 54px 12px 14px;transition:border-color .25s;display:grid;position:relative}.cr-resume__a[hidden]{display:none}.cr-resume__m{color:var(--w70);font-size:.78rem}.cr-resume__t{letter-spacing:-.01em;font-size:1.02rem;font-weight:750;line-height:1.3}.cr-resume__a svg{background:var(--h);fill:none;width:28px;height:28px;stroke:var(--k);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease);border-radius:50%;margin-top:-14px;padding:6px;position:absolute;top:50%;right:14px}@media (hover:hover){.cr-resume__a:hover{border-color:var(--h)}.cr-resume__a:hover svg{transform:translate(2px)}}.f6 .cr-resume__a:focus-visible{outline:2px solid var(--h);outline-offset:2px}.cxp-intro{border-left:3px solid var(--h);background:var(--h-wash);color:var(--w85);border-radius:0 10px 10px 0;margin-top:12px;padding:12px 14px;font-size:.95rem;line-height:1.55}.cxp-intro b{font-family:var(--font-code), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--h);margin-right:6px;font-size:.66rem;font-weight:500}.cxp .cx-ls--big{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;display:grid}.cxp .cx-ls--big>li{border-top:1px solid var(--line);border-bottom:0}.cxp .cx-ls--big a{grid-template-columns:2.4em minmax(0,1fr);row-gap:3px;height:100%;padding:11px 6px}.cxp .cx-ls--big .cx-ls__t{font-size:.98rem}.cxp .cx-ls--big .cx-ls__p{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.45;display:-webkit-box;overflow:hidden}.cxp .cx-ls--big .cx-ls__m{margin-top:2px}.cxp .cx-pn{margin-top:18px}@media (max-width:1099px){.cxh-path{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:699px){.cxh-sh{grid-template-areas:"tile h""why why";column-gap:12px;margin-bottom:12px}.cxh-sh .r12-sh__k{display:none}.cxh-sh .r12-tile{border-radius:7px;width:41px;height:41px}.cxh-path{grid-template-columns:minmax(0,1fr);gap:8px}.cxh-card{gap:6px;padding:14px 14px 4px}.cxh-card__p{font-size:.875rem}.cxh-card .cx-open a,.cxh-card .l52-fold>summary{min-height:44px}.cxh .cx-ph>summary{padding:10px 2px}.cxp .cx-ls--big{grid-template-columns:minmax(0,1fr)}.cr-resume__t{font-size:.98rem}.r12 .cxh-card__k,.r12 .cxh-card__why b,.r12 .cr-resume__k,.r12 .cxp-intro b,.r12 .cx-ph__s b,.r12 .cr-prog__l,.r12 .cr-toc__k,.r12 .cr-ls__n,.r12 .cr-phs a small,.r12 .cr-phs a span,.r12 .cr-phs>summary,.r12 .cr-next small,.r12 .cr-save__k{font-size:.75rem}}.cxl-in{max-width:860px;padding-top:10px;padding-bottom:clamp(48px,6vw,88px)}.cxl-text{border:1px solid var(--line);background:var(--tint);font-family:var(--font-code), ui-monospace, monospace;color:var(--w85);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;margin-top:20px;padding:18px 20px;font-size:.8rem;line-height:1.65}.cr .cx-code{overscroll-behavior:auto;max-height:min(26em,62vh);overflow:auto}.cr .cx-mer img{max-height:56vh}@media (max-width:640px){.cr .cx-lh .ag-crumbs li:last-child{display:none}}
