:root{color-scheme:light dark;--bg:light-dark(#fafafa,#191b20);--panel:light-dark(#fff,#202228);--text:light-dark(#252532,#eeeef1);--soft:light-dark(#494b58,#b1b2bd);--muted:light-dark(#676978,#999ba9);--line:light-dark(#dedfe6,#34363f);--accent:light-dark(#6649aa,#bda8ff);--active:light-dark(#ece7f6,#343043);--mono:Consolas,"IBM Plex Mono",monospace;--rail:68px;--header:66px;--rail-inset:10px;--link-inset:13px;--label-gap:12px;--text-scale:1;font-size:calc(100% * var(--text-scale));font-family:Inter,Apple SD Gothic Neo,Malgun Gothic,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}:root[data-text-size=small]{--text-scale:.875}:root[data-text-size=large]{--text-scale:1.125}:root[data-text-size=larger]{--text-scale:1.25}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body,h1,h2,h3,p,ol{margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;z-index:10;padding:10px;background:var(--panel)}.topbar{height:var(--header);position:sticky;top:0;z-index:4;display:flex;align-items:center;padding:0 30px 0 16px;gap:16px;background:var(--bg);border-bottom:1px solid var(--line)}.tool,.topbar form[role=search] button{width:36px;height:36px;display:grid;place-items:center;color:var(--soft);border-radius:7px;position:relative}.tool:hover{color:var(--accent);background:var(--active)}.brand{display:grid;place-items:center;min-height:44px;font-weight:750;font-size:1.4375rem}.topbar form[role=search]{display:flex;align-items:center;width:min(220px,30vw);min-width:0;margin-left:auto;border-bottom:1px solid var(--line)}.topbar input{background:transparent;border:0;padding:8px 0;font-size:.875rem;min-width:0;width:100%}.topbar input::placeholder{color:var(--muted)}.tools{display:flex;align-items:center;gap:8px;flex-shrink:0}.font-trigger{font:600 1rem Georgia,serif}.preference-picker{position:relative}.preference-panel{position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0;width:min(292px,calc(100vw - 32px));padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);box-shadow:0 5px 18px #0003}.tool [data-theme-icon]{display:none}:root[data-theme=light] [data-theme-icon=light],:root[data-theme=dark] [data-theme-icon=dark]{display:grid;place-items:center}@media(prefers-color-scheme:light){:root:not([data-theme]) [data-theme-icon=light]{display:grid;place-items:center}}@media(prefers-color-scheme:dark){:root:not([data-theme]) [data-theme-icon=dark]{display:grid;place-items:center}}.theme-panel{width:min(320px,calc(100vw - 68px))}.size-options,.theme-options{display:grid;gap:6px}.size-options{grid-template-columns:repeat(4,minmax(0,1fr))}.theme-options{grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr))}.preference-panel button{display:grid;grid-template-rows:32px auto;place-items:center;gap:5px;padding:8px 2px;border:1px solid var(--line);border-radius:6px;color:var(--soft);font-size:.75rem;word-break:keep-all}.size-options button[aria-pressed=true],.size-options button:hover{background:var(--active);border-color:var(--accent);color:var(--accent)}.theme-options{--preview-light:#fafafa;--preview-dark:#252532}.theme-options [data-value=light]{background:var(--preview-light);color:var(--preview-dark)}.theme-options [data-value=dark]{background:var(--preview-dark);color:var(--preview-light)}.theme-options [data-value=system]{isolation:isolate;background:linear-gradient(to right,var(--preview-light) 50%,var(--preview-dark) 50%)}.theme-options [data-value=system]>*{color:#fff;mix-blend-mode:difference}.theme-options button:hover,.theme-options button[aria-pressed=true]{border-color:var(--accent)}.theme-options button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--accent)}@media(forced-colors:active){.theme-options [data-value=system]>*{color:ButtonText;mix-blend-mode:normal}.theme-options button[aria-pressed=true]{outline:2px solid Highlight;outline-offset:-2px}}.size-options [data-value=small] span{font-size:14px}.size-options [data-value=normal] span{font-size:16px}.size-options [data-value=large] span{font-size:18px}.size-options [data-value=larger] span{font-size:20px}.rail{--expand-time:.18s;--fade-time:.15s;position:fixed;top:var(--header);bottom:0;left:0;z-index:3;width:var(--rail);padding:17px var(--rail-inset);display:flex;flex-direction:column;gap:7px;background:var(--bg);border-right:1px solid var(--line);overflow-x:hidden;overflow-y:auto;transition:width var(--expand-time) ease var(--fade-time)}.rail ul{margin:0;padding:0;list-style:none}.rail a{display:flex;align-items:center;gap:var(--label-gap);min-height:44px;padding:6px var(--link-inset);border-radius:6px;color:var(--muted);font-size:.875rem}.rail svg{flex:none}.rail a:hover,.rail a[aria-current=page]{color:var(--accent);background:var(--active)}.rail a span{overflow-wrap:anywhere}.rail small{margin-left:auto;font:.75rem var(--mono)}.category-subtree{display:none}.rail .category-children{margin-left:22px;padding-left:5px;border-left:1px solid var(--line)}.rail .category-children a{min-height:32px;padding-inline:8px}.rail-utilities{margin-top:auto;border-top:1px solid var(--line);padding-top:7px}.subcategories{margin-bottom:14px}@media(min-width:761px){.topbar{padding-inline-start:var(--rail-inset)}.brand{width:calc(20px + 2 * var(--link-inset));flex:none}.rail{--detail-opacity:0;--detail-visibility:hidden;--fade-delay:0s;--width-delay:var(--fade-time);--visibility-delay:var(--fade-time);--subtree-height:0fr;width:var(--rail-width,var(--rail));box-shadow:var(--rail-shadow,none);transition-delay:var(--width-delay)}.rail :is(a span,small,.category-subtree){opacity:var(--detail-opacity);visibility:var(--detail-visibility);transition:opacity var(--fade-time) ease var(--fade-delay),visibility 0s var(--visibility-delay)}.rail a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail .category-subtree{display:grid;grid-template-rows:var(--subtree-height);transition:opacity var(--fade-time) ease var(--fade-delay),visibility 0s var(--visibility-delay),grid-template-rows var(--expand-time) ease var(--width-delay)}.rail .category-children{min-height:0;overflow:hidden}}@media(min-width:761px){.rail:has(:focus-visible){--rail-width:228px;--rail-shadow:10px 0 24px #0002;--detail-opacity:1;--detail-visibility:visible;--subtree-height:1fr;--width-delay:0s;--fade-delay:var(--expand-time);--visibility-delay:var(--expand-time)}}@media(min-width:761px)and (hover:hover){.rail:hover{--rail-width:228px;--rail-shadow:10px 0 24px #0002;--detail-opacity:1;--detail-visibility:visible;--subtree-height:1fr;--width-delay:0s;--fade-delay:var(--expand-time);--visibility-delay:var(--expand-time)}}.workarea{margin-left:var(--rail)}.shell{width:min(1336px,100%);margin:auto;padding-left:clamp(24px,3vw,52px);padding-right:clamp(24px,3vw,52px)}main.shell{padding-top:30px;min-height:calc(100vh - 150px)}.columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,26%);gap:clamp(32px,3.4vw,52px);align-items:start}.stream,.article{min-width:0}.feature,.thumb{--haze:#4c3b7e;--ground:#141221;position:relative;overflow:hidden;background-color:var(--ground);background-image:radial-gradient(ellipse at 75% 42%,var(--haze),transparent 68%);isolation:isolate}.tree{--haze:#27524b;--ground:#142826}.code{--haze:#344974;--ground:#161d2c}.blocks{--haze:#573853;--ground:#281d2d}.feature{display:flex;align-items:flex-end;width:100%;min-height:clamp(274px,23.2vw,345px);padding:clamp(24px,3vw,42px);border:1px solid #494357;border-radius:10px;color:#fff}.feature:before,.thumb:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#cfc7ea55 .8px,transparent 1px);background-size:16px 16px;z-index:-1;opacity:.5}.feature:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#12111ee8 0%,#13111e80 38%,transparent 65%),linear-gradient(0deg,#15131e73,transparent 40%);z-index:-1}.orbit{position:absolute;width:53%;height:100%;right:-1%;top:-2%;z-index:-1;filter:drop-shadow(0 12px 17px #08061488)}.featureText{width:58%;position:relative}.featureTag{display:inline-flex;align-items:center;gap:5px;color:#dbcfff;background:#51406e99;border:1px solid #a994ce66;border-radius:4px;padding:4px 8px;font-size:.6875rem;font-weight:600}.feature h2{margin:15px 0 9px;font-size:clamp(1.75rem,calc(2.9vw * var(--text-scale)),2.625rem);line-height:1.22;letter-spacing:-.065em;word-break:keep-all;color:#fff}.feature p{font-size:.875rem;line-height:1.7;color:#d1cbdc;word-break:keep-all}.read{display:inline-flex;align-items:center;gap:8px;margin-top:19px;font-size:.8125rem;color:#e9e0ff}.slide-stage{display:grid;isolation:isolate;overflow:hidden;border-radius:10px}.slide-stage .feature{grid-area:1/1;opacity:0;visibility:hidden;transform:translate(-14px);transition:opacity .45s ease,transform .45s ease,visibility 0s .45s}.slide-stage .feature[data-current=true]{z-index:1;visibility:visible;opacity:1;transform:translate(0);transition-delay:0s}.pager{display:flex;align-items:center;justify-content:center;height:34px}.pager button{padding:9px 3px}.pager button:after{content:"";display:block;width:6px;height:5px;border-radius:9px;background:var(--line)}.pager button[aria-pressed=true]:after{width:23px;background:var(--accent)}.pager .rotation{margin-left:6px;color:var(--muted);padding:6px;line-height:0}.pager .rotation:after{display:none}.rotation span{display:inline-block;width:8px;height:9px;border-inline:2px solid currentColor}.rotation[data-paused=true] span{border:0;width:0;height:0;border-left:7px solid currentColor;border-block:5px solid transparent}@media(prefers-reduced-motion:reduce){.rail{--expand-time:0s;--fade-time:0s}.slide-stage .feature,.rail,.rail a span{transition:none;transform:none}}.sectionHead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0 15px}.sectionHead h2,.widget h2{font-size:1.125rem;letter-spacing:-.045em}.sectionHead small{font:.75rem var(--mono);color:var(--accent);margin-left:5px}.sectionHead>span,.meta,.byline,.recent small{color:var(--muted);font:.75rem var(--mono)}.row{position:relative;display:grid;grid-template-columns:clamp(112px,13vw,177px) minmax(0,1fr);gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.thumb{display:grid;place-items:center;aspect-ratio:1.75;border-radius:6px;border:1px solid #ffffff12}.thumb img{width:84%;height:100%;position:absolute}.meta,.byline,.contact,.categoryTile,.back{display:flex;align-items:center;gap:8px}.meta i{font-style:normal}.meta span{color:var(--accent);font:.75rem sans-serif}.summary h3{font-size:clamp(1rem,calc(1.5vw * var(--text-scale)),1.3125rem);letter-spacing:-.047em;line-height:1.4;margin:7px 0 5px}.summary p,.lead{font-size:.875rem;color:var(--soft);line-height:1.65;word-break:keep-all}.widget{padding:0 0 24px;border-bottom:1px solid var(--line);margin:0 0 24px}.widget h2{display:flex;align-items:center;gap:10px;margin:0 0 17px;font-size:1rem}.widget h2:after{content:"";background:var(--line);width:25px;height:1px}.recent{list-style:none;padding:0;display:grid;gap:19px}.recent li{display:flex;gap:13px;align-items:baseline}.recent li>span{color:var(--muted);font:.875rem var(--mono)}.recent small{display:block;font-size:.6875rem;margin-bottom:5px}.recent strong{font-size:.9375rem;line-height:1.55;letter-spacing:-.035em;font-weight:600}.chip{display:inline-flex;gap:8px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:5px 9px;margin:0 5px 6px 0;font-size:.8125rem}.chip small{color:var(--muted)}.contact{font:.8125rem var(--mono);color:var(--soft)}footer.shell{margin-top:36px;border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:22px;padding-bottom:24px;color:var(--muted);font:.75rem var(--mono)}.inner{max-width:920px;margin:16px auto 50px}.inner h1,.article h1{font-size:clamp(1.875rem,calc(3.3vw * var(--text-scale)),2.875rem);letter-spacing:-.055em;margin:20px 0}.inner h1 small{font:1.125rem var(--mono);color:var(--accent)}.inner>p{color:var(--soft);margin-bottom:20px}.categoryTile{border:1px solid var(--line);background:var(--panel);padding:20px;border-radius:7px;margin-bottom:10px}.categoryTile small{margin-left:auto}.back,.crumb{font-size:.8125rem;color:var(--muted)}.crumb{display:flex;gap:9px}.lead{font-size:1.0625rem}.byline{margin:22px 0;padding-bottom:20px;border-bottom:1px solid var(--line)}.prose{font-size:1rem;line-height:1.9;overflow-wrap:anywhere;color:var(--soft);margin-bottom:32px}.prose img{display:block;max-width:100%;height:auto}.prose a[href]:not([download]){display:inline-block;position:relative;max-inline-size:100%;word-break:keep-all;overflow-wrap:anywhere;color:var(--accent)}.prose a[href]:not([download]):after{content:"";position:absolute;inset-inline:0;inset-block-end:.14em;height:1px;background:currentColor;pointer-events:none;opacity:0;transform:scaleX(0);transform-origin:left center;transition:opacity .24s ease-out,transform 0s linear .24s}.prose a[href]:not([download]):is(:hover,:focus-visible):after{opacity:1;transform:scaleX(1);transition:transform .22s ease-out,opacity .1s linear}@media(prefers-reduced-motion:reduce){.prose a[href]:not([download]):after,.prose a[href]:not([download]):is(:hover,:focus-visible):after{transition:none}}@media(forced-colors:active){.prose a[href]:not([download]){text-decoration:underline}}.code-block{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;margin:1em 0;border-radius:6px;background:#24292e}.code-block pre{min-width:0;margin:0}.copy-code{display:grid;place-items:center;width:34px;height:34px;margin:9px 9px 0 0;border-radius:5px;color:#c8cdd3}.copy-code:hover,.copy-code:focus-visible{background:#353c44;color:#fff}.copy-code span{display:grid;place-items:center}.copy-code .copied-symbol,.copy-code[data-copied] .copy-symbol{display:none}.copy-code[data-copied] .copied-symbol{display:grid;color:#a8dfb9}.prose h2{font-size:1.4375rem;color:var(--text);letter-spacing:-.04em;margin:30px 0 10px;scroll-margin-top:90px}.prose p{margin:12px 0}.prose pre{padding:16px;border-radius:6px;overflow-x:auto}.prose :not(pre)>code{background:var(--active);border-radius:4px;padding:2px 5px;color:var(--text)}.toc a{display:block;color:var(--soft);font-size:.875rem;margin:10px 0}.toc a:hover{color:var(--accent)}@media(max-width:950px){.columns{grid-template-columns:minmax(0,1fr) 205px;gap:22px}.row{grid-template-columns:105px minmax(0,1fr);gap:12px}.featureText{width:65%}.feature h2{font-size:1.8125rem}}@media(max-width:760px){:root{--rail:0px;--header:56px}.topbar{gap:8px;padding:0 12px}.topbar form[role=search]{width:min(37vw,200px);margin-left:auto}.tools{gap:2px}.brand{font-size:1.3125rem}.shell{padding-left:18px;padding-right:18px}main.shell{padding-top:20px}.columns{grid-template-columns:1fr;gap:30px}.widgets{border-top:1px solid var(--line);padding-top:23px}.feature{min-height:248px}.featureText{width:62%}.feature h2{font-size:1.8125rem}.feature p{font-size:.75rem}.orbit{width:51%}.row{grid-template-columns:92px minmax(0,1fr);padding:15px 0}.summary p{font-size:.75rem}.meta{font-size:.625rem}.thumb{aspect-ratio:1.35}.recent{grid-template-columns:repeat(2,minmax(0,1fr))}.widget{padding-bottom:18px;margin-bottom:18px}.sectionHead{padding-top:6px}footer.shell{font-size:.6875rem;gap:12px}.article .lead{font-size:.9375rem}}@media(max-width:760px){.rail{inset:auto 0 0;width:100%;flex-direction:row;align-items:stretch;gap:6px;padding:5px 8px max(5px,env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);transition:none}.rail li small{display:none}.rail .category-roots{display:flex;flex:1;min-width:0;overflow-x:auto}.category-roots>li{flex:1}.rail .rail-utilities{display:flex;flex:none;margin:0;padding:0;border:0}.rail a{flex-direction:column;justify-content:center;min-width:48px;min-height:46px;height:100%;padding:3px 6px;gap:3px}.rail li a span,.rail-utilities span{display:block;font-size:.6875rem;white-space:nowrap}.workarea{padding-bottom:calc(64px + env(safe-area-inset-bottom))}}
