.lshell{--a-bg:#fbfaf7;--a-surface:#fff;--a-sand2:#e9e5de;--a-sand3:#d8d3ca;--a-ink1:#29261f;--a-ink2:#5e5a50;--a-ink3:#726d61;--a-lime50:#f4f8e8;--a-lime500:#9dbf5a;--a-lime700:#71923a;--a-lime800:#5c7a2e;--a-lime-press:color-mix(in srgb, var(--a-lime800) 85%, var(--a-ink1));--ease:cubic-bezier(.2, .7, .3, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--d-elem:.32s;--edge:clamp(20px, 5vw, 64px);--sec:clamp(56px, 7vw, 104px);color:var(--a-ink1)}@media (prefers-color-scheme:dark){html[data-scheme=auto]{--bg:#14120f;--ink1:#ede8df;--lime700:#c1d992}html[data-scheme=auto] .lshell{--a-bg:#14120f;--a-surface:#1f1b16;--a-sand2:#302b23;--a-sand3:#413a30;--a-ink1:#ede8df;--a-ink2:#b0a897;--a-ink3:#8e8779;--a-lime50:#202a13;--a-lime500:#c1d992;--a-lime700:#c1d992;--a-lime800:#e9f1d3;--a-lime-press:#f4f8e8}html[data-scheme=auto] body:has(.lshell):after{opacity:.012}html[data-scheme=auto] .lshell .nav-mark:not(.nav-mark-dark){opacity:0}html[data-scheme=auto] .lshell .nav-mark-dark{opacity:1}html[data-scheme=auto] ::selection{color:#14120f}}body:has(.lshell):after{opacity:.02}.lshell .nav{padding:clamp(18px, 2.6vw, 28px) var(--edge);background:0 0;justify-content:space-between;align-items:center;gap:16px;display:flex;position:static}.lshell .nav-mark{width:auto;height:21px}.lshell .nav-markwrap{display:inline-flex;position:relative}.lshell .nav-mark-dark{opacity:0;transition:opacity var(--d-elem) var(--ease-io);position:absolute;inset:0}@media (width>=900px){.lshell .nav{z-index:10;position:sticky;top:0}.lshell .nav:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(var(--a-bg) 62%, transparent);position:absolute;inset:0 0 -18px}}.lshell .btn{appearance:none;cursor:pointer;font:inherit;white-space:nowrap;transition:background .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);border:0;border-radius:16px;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.lshell .btn.ghost{background:var(--a-surface);color:var(--a-ink1);box-shadow:inset 0 0 0 1px var(--a-sand2);padding:9px 16px;font-size:14px}.lshell .btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--a-sand3)}.lshell .btn:focus-visible{outline:3px solid var(--a-lime700);outline-offset:3px}.lshell .foot{max-width:1180px;margin:var(--sec) auto 0;padding:clamp(16px, 2vw, 22px) var(--edge) clamp(28px, 4vw, 48px);border-top:1px solid var(--a-sand2);color:var(--a-ink3);background:0 0;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;font-size:12.5px;display:flex;position:static}.lshell .foot-links{flex-wrap:wrap;gap:14px;display:flex}.lshell .foot a{color:var(--a-ink3);text-decoration:none}.lshell .foot a:hover{color:var(--a-ink1);text-decoration:underline}@media (prefers-reduced-motion:reduce){.lshell *{transition:none!important;animation:none!important}}.lshell .doc{max-width:680px;padding:clamp(16px, 3vw, 40px) var(--edge) 0;margin:0 auto}.lshell .doc .back{color:var(--a-ink3);align-items:center;gap:6px;margin:0 0 20px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.lshell .doc .back:hover{color:var(--a-ink1)}.lshell .doc h1{letter-spacing:-.035em;color:var(--a-ink1);word-break:keep-all;margin:0 0 12px;font-size:clamp(26px,3.4vw,40px);font-weight:800;line-height:1.24}.lshell .doc .updated{color:var(--a-ink3);margin:0 0 26px;font-size:13px}.lshell .doc .lede{letter-spacing:-.01em;color:var(--a-ink1);word-break:keep-all;margin:0 0 10px;font-size:clamp(16px,1.8vw,18px);line-height:1.78}.lshell .doc h2{letter-spacing:-.03em;color:var(--a-ink1);word-break:keep-all;margin:40px 0 12px;scroll-margin-top:24px;font-size:clamp(17px,2vw,22px);font-weight:700;line-height:1.4}@media (width>=900px){.lshell .doc h2{scroll-margin-top:116px}}.lshell .doc h2 .anchor{color:var(--a-sand3);opacity:0;transition:opacity var(--d-elem) var(--ease-io), color var(--d-elem) var(--ease-io);margin-left:.35em;font-weight:600;text-decoration:none}.lshell .doc h2:hover .anchor,.lshell .doc h2 .anchor:focus-visible{opacity:1}.lshell .doc h2 .anchor:hover{color:var(--a-lime800)}@media (hover:none){.lshell .doc h2 .anchor{opacity:.55}}.lshell .doc h2:target{position:relative}.lshell .doc h2:target:before{content:"";background:var(--a-lime500);border-radius:999px;width:3px;position:absolute;top:.18em;bottom:.18em;left:-14px}.lshell .doc .toc{background:var(--a-surface);box-shadow:inset 0 0 0 1px var(--a-sand2);border-radius:16px;margin:4px 0 34px;padding:18px 20px}.lshell .doc .toc-h{letter-spacing:.08em;color:var(--a-ink3);margin:0 0 10px;scroll-margin-top:0;font-size:12.5px;font-weight:650}.lshell .doc .toc ol{columns:2;column-gap:28px;margin:0;padding:0;list-style:none}@media (width<=560px){.lshell .doc .toc ol{columns:1}}.lshell .doc .toc li{break-inside:avoid;margin:0;padding:0}.lshell .doc .toc li:before{content:none}.lshell .doc .toc a{color:var(--a-ink2);word-break:keep-all;padding:5px 0;font-size:14px;line-height:1.5;text-decoration:none;display:block}.lshell .doc .toc a:hover{color:var(--a-lime800);text-decoration:underline}.lshell .doc p{color:var(--a-ink2);word-break:keep-all;margin:0 0 14px;font-size:clamp(15.5px,1.6vw,16.5px);line-height:1.8}.lshell .doc b{color:var(--a-ink1);font-weight:600}.lshell .doc a{color:var(--a-lime800);text-underline-offset:2px;text-decoration:underline 1px}.lshell .doc a:hover{color:var(--a-lime-press)}.lshell .doc ul{gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.lshell .doc li{color:var(--a-ink2);word-break:keep-all;padding-left:18px;font-size:clamp(15.5px,1.6vw,16.5px);line-height:1.8;position:relative}.lshell .doc li:before{content:"";background:var(--a-lime500);border-radius:999px;width:5px;height:5px;position:absolute;top:.75em;left:2px}.lshell .doc .note{border-left:3px solid var(--a-lime500);background:var(--a-lime50);color:var(--a-ink1);border-radius:0 16px 16px 0;margin:4px 0 14px;padding:14px 18px}.lshell .doc .contact{background:var(--a-surface);box-shadow:inset 0 0 0 1px var(--a-sand2);border-radius:16px;margin:4px 0 0;padding:18px 20px}.lshell .doc .contact p{color:var(--a-ink2);margin:0}.lshell .doc .contact a{color:var(--a-ink1);text-decoration:none}.lshell .doc .contact a:hover{color:var(--a-lime800);text-decoration:underline}.lshell .doc .contact b{font-weight:700}@media (width<=560px){.lshell .doc{padding-top:8px}.lshell .doc h2{margin-top:32px}}
