@font-face{font-family:Audiowide;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/audiowide-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html,body{touch-action:manipulation;-ms-touch-action:manipulation}html{scroll-behavior:smooth}:root{--os-bg:#05070d;--os-ink:#eef3fb;--os-ink-dim:#a9b8d0;--os-ink-faint:#6f7f99;--os-line:#78a0d238;--os-red:#ff2d4d;--os-blue:#2e9bff;--os-cyan:#7fd4ff;--os-gold:#c9a25f;--os-purple:#9a8fb8;--os-green:#6fa08f;--os-pink:#d889a7;--os-steel:#7d9cbd;--os-violet:#b08fd8;--os-font-en:"Audiowide", "Microsoft YaHei", sans-serif;--os-font-cn:"Microsoft YaHei", "PingFang SC", sans-serif;--os-slant:-16deg;--os-stripes:repeating-linear-gradient(135deg, #7fd4ff17 0 1px, transparent 1px 9px);--os-hairline:linear-gradient(90deg, var(--os-red), var(--os-blue) 55%, transparent);--os-ease-out:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--os-bg);color:var(--os-ink);font-family:"Segoe UI", var(--os-font-cn);line-height:1.75;overflow-x:hidden}a{color:var(--os-cyan);text-decoration:none}::selection{background:#ff2d4d73}.skip-link{z-index:220;background:var(--os-blue);color:#05070d;padding:9px 15px;font-weight:800;position:absolute;top:-60px;left:18px}.skip-link:focus{top:0}.wrap{max-width:1140px;margin:0 auto;padding:0 28px}a:focus-visible,button:focus-visible{outline:2px solid var(--os-cyan);outline-offset:4px}#warp{z-index:-3;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}#nebula{z-index:-4;pointer-events:none;background:radial-gradient(1100px 700px at 82% -10%, #2e9bff21, transparent 60%), radial-gradient(900px 600px at 5% 110%, #ff2d4d17, transparent 62%), radial-gradient(700px 500px at 52% 46%, #7f9cf50d, transparent 70%), var(--os-bg);position:fixed;inset:-3%}#flash{z-index:200;background:var(--os-bg);opacity:0;pointer-events:none;transition:opacity .5s 60ms;position:fixed;inset:0}body.is-warping #flash{opacity:1;transition:opacity .34s .28s}.os-warp-in #flash{opacity:1}body.os-shrinking{transition:transform .6s cubic-bezier(.55,0,.85,.4);transform:scale(.1)}body.os-shrinking #flash{opacity:1;transition:opacity .6s 50ms}body.os-animating nav,body.is-warping nav,body.os-shrinking nav,html.os-boost nav,body.os-animating .post-toc,body.is-warping .post-toc,body.os-shrinking .post-toc,html.os-boost .post-toc{-webkit-backdrop-filter:none;backdrop-filter:none}nav{z-index:30;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#05070dd1;position:fixed;top:0;left:0;right:0}nav:after{content:"";background:linear-gradient(90deg, var(--os-red), var(--os-blue) 60%, #2e9bff0d);opacity:.75;height:1px;display:block}.navbar{justify-content:space-between;align-items:center;gap:22px;height:64px;display:flex}.logo{color:var(--os-ink);letter-spacing:2px;font-weight:400;font-family:var(--os-font-en);align-items:center;gap:11px;font-size:15px;display:flex}.logo img{object-fit:contain;width:34px;height:34px}.logo small{color:var(--os-ink-faint);font:400 9px var(--os-font-en);letter-spacing:1.5px;display:block}.navlinks{align-items:center;gap:22px;font-size:13px;display:flex}.navlinks a{color:var(--os-ink-dim)}.navlinks a:hover,.navlinks .active{color:var(--os-cyan)}.navlinks .active{box-shadow:inset 0 -2px 0 var(--os-red)}.navlinks .join{color:#05070d;background:var(--os-red);transform:skewX(var(--os-slant));white-space:nowrap;padding:7px 16px;font-weight:800}.navlinks .join>*{display:inline-block;transform:skew(16deg)}.navlinks .join:hover{background:var(--os-blue);color:#05070d}main{padding-top:64px;position:relative}.hero{align-items:center;min-height:590px;padding:92px 0 84px;display:flex;position:relative;overflow:hidden}.hero:after{content:"OPEN SOURCE";font:400 clamp(70px, 13vw, 170px)/1 var(--os-font-en);letter-spacing:8px;pointer-events:none;background:repeating-linear-gradient(135deg,#7fd4ff29 0 2px,#ff2d4d14 2px 4px,#0000 4px 14px);color:#0000;-webkit-background-clip:text;background-clip:text;position:absolute;top:128px;right:-60px;transform:rotate(90deg)}.hero:before{content:"";pointer-events:none;background:var(--os-stripes);opacity:.8;width:min(38vw,460px);height:100%;position:absolute;top:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 65%);mask-image:linear-gradient(90deg,#0000,#000 65%)}.hero .eyebrow,.hero h1,.hero p,.hero .sub,.hero-actions,.hero .stats{animation:os-rise .85s var(--os-ease-out) both}.hero h1{animation-delay:80ms}.hero p{animation-delay:.16s}.hero .sub{animation-delay:.22s}.hero-actions{animation-delay:.3s}.hero .stats{animation-delay:.38s}@keyframes os-rise{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.eyebrow{font:400 11px var(--os-font-en);letter-spacing:3px;color:var(--os-cyan);text-transform:uppercase;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);background:#2e9bff12;border:1px solid #2e9bff61;align-items:center;gap:9px;padding:5px 14px;display:inline-flex}.eyebrow:before{content:"";background:var(--os-red);width:7px;height:7px;box-shadow:0 0 12px var(--os-red)}h1{letter-spacing:5px;max-width:780px;color:var(--os-ink);text-shadow:0 0 34px #2e9bff40;margin-top:22px;font-size:clamp(42px,8vw,82px);font-weight:700;line-height:1.12}h1 .h1-sub{letter-spacing:3px;color:#c4d2e8;text-shadow:none;font-size:clamp(20px,3.8vw,38px)}.hero p{color:#c4d2e8;max-width:680px;margin-top:22px;font-size:17px}.hero .sub{font:400 13px var(--os-font-en);color:var(--os-ink-faint);letter-spacing:2px;margin-top:20px}.hero-actions{flex-wrap:wrap;gap:13px;margin-top:30px;display:flex}.btn{font:400 13px var(--os-font-en);letter-spacing:0;transform:skewX(var(--os-slant));align-items:center;gap:8px;padding:11px 22px;transition:transform .2s,filter .2s,box-shadow .2s;display:inline-flex}.btn>*{transform:skew(16deg)}.btn:hover{transform:translateY(-2px) skewX(var(--os-slant));filter:brightness(1.14)}.btn-primary{background:linear-gradient(120deg, var(--os-red), #d81f3e);color:#fff;box-shadow:0 7px 24px #ff2d4d4d}.btn-outline{color:var(--os-cyan);background:#2e9bff0f;border:1px solid #2e9bff73}.stats{flex-wrap:wrap;gap:42px;margin-top:48px;display:flex}.stat strong{color:var(--os-cyan);font:400 27px var(--os-font-en);display:block}.stat:first-child strong{color:var(--os-red)}.stat span{color:var(--os-ink-faint);font-size:12px;display:block}.stat,.post-stat,.stat-shine{position:relative}.stat-shine:before{content:"";z-index:4;pointer-events:none;clip-path:inset(30.8% 23.7%);background:linear-gradient(-45deg,#0000 46%,#bce2ffe6 50%,#0000 54%);animation:.85s linear forwards os-shine-sweep;position:absolute;inset:-80% -45%;transform:translate(-135%)}.stat-shine b,.stat-shine strong{animation:.85s ease-out os-shine-pop}@keyframes os-shine-sweep{0%{opacity:0;transform:translate(-135%)}14%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate(135%)}}@keyframes os-shine-pop{0%{filter:brightness();transform:scale(1)}38%{filter:brightness(2.1);text-shadow:0 0 16px #7ed2fff2,0 0 44px #7ed2ff8c;transform:scale(1.14)}to{filter:brightness();text-shadow:none;transform:scale(1)}}section{padding:86px 0;position:relative}.os-fold:before{content:"";z-index:3;pointer-events:none;background:linear-gradient(90deg, var(--os-red), var(--os-blue));clip-path:polygon(0 55%,6% 55%,8% 0,26% 0,29% 55%,100% 55%,100% calc(55% + 2px),29% calc(55% + 2px),26% 2px,8% 2px,6% calc(55% + 2px),0 calc(55% + 2px));width:100%;height:46px;position:absolute;top:-1px;left:0}#archive.os-fold:before{clip-path:polygon(0 55%,71% 55%,74% 0,92% 0,94% 55%,100% 55%,100% calc(55% + 2px),94% calc(55% + 2px),92% 2px,74% 2px,71% calc(55% + 2px),0 calc(55% + 2px))}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px;padding-top:34px;display:flex}.section-head h2{letter-spacing:3px;font-size:clamp(27px,4vw,40px)}.section-head h2:before{content:"// ";color:var(--os-red);font-family:var(--os-font-en)}.section-head .en{color:var(--os-ink-faint);font:400 11px var(--os-font-en);letter-spacing:4px;text-transform:uppercase;margin-top:4px}.section-count{color:var(--os-ink-faint);font:400 11px/2 var(--os-font-en);letter-spacing:2px;text-align:right;border-right:2px solid;border-image:linear-gradient(180deg, var(--os-red), var(--os-blue)) 1;padding-right:12px}.archive-intro{color:#b6c4dc;max-width:790px;margin-bottom:21px}.reveal{opacity:0;transition:opacity .7s var(--os-ease-out), transform .7s var(--os-ease-out);transition-delay:var(--reveal-delay,0s);transform:translateY(30px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.filters{flex-wrap:wrap;gap:9px;margin-bottom:34px;display:flex}.filter{--tone:var(--os-cyan);cursor:pointer;border:1px solid var(--os-line);color:var(--os-ink-dim);font:400 11px var(--os-font-cn);letter-spacing:1px;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);background:#2e9bff0d;min-height:40px;padding:8px 16px;transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .25s}.filter b{font:400 10px var(--os-font-en);opacity:.75;margin-left:6px}.filter:hover{color:var(--tone);border-color:var(--tone);transform:translateY(-2px)}.filter.active{color:#fff;background:var(--tone);box-shadow:0 6px 22px color-mix(in srgb, var(--tone) 40%, transparent);border-color:#0000}.filter.active b{opacity:.9}.cat-section{--tone:var(--os-cyan);margin-bottom:54px;scroll-margin-top:90px}.cat-section[hidden]{display:none}.cat-head{border-bottom:1px solid var(--os-line);flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:22px;padding-bottom:12px;display:flex;position:relative}.cat-head:after{content:"";background:var(--tone);width:0;height:2px;box-shadow:0 0 14px var(--tone);transition:width .9s var(--os-ease-out) .15s;position:absolute;bottom:-1px;left:0}.cat-section.is-visible .cat-head:after{width:min(220px,42%)}.cat-chip{font:400 10px var(--os-font-en);letter-spacing:2px;color:#05070d;background:var(--tone);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);padding:4px 10px}.cat-head h3{letter-spacing:1px;font-size:21px}.cat-head .cat-count{color:var(--os-ink-faint);font:400 11px var(--os-font-en);letter-spacing:2px;margin-left:auto}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;display:grid}.os-card{--tone:var(--os-cyan);isolation:isolate;min-width:0;min-height:232px;color:var(--os-ink);border:1px solid var(--os-line);border-left:4px solid var(--tone);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);transition:transform .4s var(--os-ease-out), border-color .3s ease, box-shadow .4s ease;background:linear-gradient(150deg,#0a101cf0,#05070df0);flex-direction:column;padding:18px 19px 16px;display:flex;position:relative;overflow:hidden}.os-card:hover,.os-card:focus-visible{border-color:color-mix(in srgb, var(--tone) 70%, transparent);box-shadow:0 18px 44px #00000073, 0 0 0 1px color-mix(in srgb, var(--tone) 32%, transparent), 0 10px 34px color-mix(in srgb, var(--tone) 18%, transparent);transform:translateY(-6px)}.os-card:after{content:"";z-index:-1;background:linear-gradient(112deg,#05070df0 8%,#05070db8 52%,#05070de6 100%);transition:opacity .4s;position:absolute;inset:0}.os-card-shine:before{content:"";z-index:6;pointer-events:none;background:linear-gradient(-45deg,#0000 44%,#ffffffeb 50%,#0000 56%);animation:.9s cubic-bezier(.35,.6,.3,1) forwards os-card-shine-sweep;position:absolute;inset:-60% -35%;transform:translate(-130%)}@keyframes os-card-shine-sweep{to{transform:translate(130%)}}.os-card-preview{z-index:-2;object-fit:cover;object-position:center;opacity:.28;filter:saturate(.9)contrast(1.04);width:100%;height:100%;transition:opacity .45s ease, transform .6s var(--os-ease-out), filter .45s ease;position:absolute;inset:0;transform:scale(1.02)}.os-card:hover .os-card-preview,.os-card:focus-visible .os-card-preview{opacity:.9;filter:saturate(1.05)contrast(1.08);transform:scale(1.07)}.os-card:hover:after,.os-card:focus-visible:after{opacity:.55}.os-leap-clone{border-color:color-mix(in srgb, var(--tone) 78%, transparent);box-shadow:0 0 90px color-mix(in srgb, var(--tone) 38%, transparent), 0 0 0 1px color-mix(in srgb, var(--tone) 45%, transparent);will-change:transform, opacity;background:linear-gradient(150deg,#182640fa,#0b1220fa)}.os-leap-clone:after{opacity:.3}.os-leap-clone .os-card-preview{opacity:.62;filter:saturate(1.05)contrast(1.08)}.os-card-preview--placeholder{background:radial-gradient(circle at 78% 20%, color-mix(in srgb, var(--tone) 26%, transparent), transparent 26%), linear-gradient(135deg, transparent 0 45%, #2e9bff29 45% 46%, transparent 46% 54%, #ff2d4d24 54% 55%, transparent 55%), repeating-linear-gradient(0deg, #7fd4ff14 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, #7fd4ff14 0 1px, transparent 1px 30px);opacity:.5}.os-card-top{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.os-card-index{color:var(--tone);font:400 10.5px var(--os-font-en);letter-spacing:2px}.os-card-tag{font:400 10px var(--os-font-cn);letter-spacing:1px;color:var(--tone);border:1px solid color-mix(in srgb, var(--tone) 45%, transparent);background:color-mix(in srgb, var(--tone) 10%, #05091199);clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%);margin-left:auto;padding:2px 9px}.os-card h4{font:700 15px/1.5 var(--os-font-cn);letter-spacing:.2px;margin-top:10px}.os-card-blurb{color:#b3c1d8;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:7px;font-size:12.5px;line-height:1.65;display:-webkit-box;overflow:hidden}.os-card-bottom{align-items:center;gap:13px;margin-top:auto;padding-top:13px;display:flex}.os-card-stats{color:var(--os-ink-faint);font:400 10.5px var(--os-font-en);letter-spacing:1px;gap:12px;display:flex}.os-card-stats b{color:var(--os-gold);margin-right:3px;font-weight:400}.os-card-go{color:var(--tone);font:400 11px var(--os-font-en);letter-spacing:1px;white-space:nowrap;align-items:center;gap:5px;margin-left:auto;display:inline-flex}.os-card-go i{transition:transform .3s var(--os-ease-out);font-style:normal}.os-card:hover .os-card-go i,.os-card:focus-visible .os-card-go i{transform:translate(5px)}.empty{color:var(--os-ink-dim);font:400 13px var(--os-font-cn);padding:30px 0;display:none}.notice{border:1px dashed #c9a25f66;border-left:4px solid var(--os-gold);color:#bfcadd;background:var(--os-stripes), #c9a25f0b;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);margin-top:30px;padding:16px 19px;font-size:12.5px}.notice strong{color:var(--os-gold)}.timestamp{color:var(--os-ink-faint);font:400 11px var(--os-font-cn);letter-spacing:.7px;margin-top:13px}.video-shell{border:1px solid var(--os-line);border-left:4px solid var(--os-red);background:var(--os-stripes), #070b14d9;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%);overflow:hidden;box-shadow:0 16px 56px #00000040}.video-shell iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.video-note{color:var(--os-ink-dim);padding:15px 20px;font-size:12px}.preface-grid{grid-template-columns:1.25fr 1fr;gap:16px;display:grid}.preface-card{border:1px solid var(--os-line);border-left:4px solid var(--os-blue);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);background:#080d17b8;padding:24px 26px}.preface-card h3{letter-spacing:2px;color:var(--os-cyan);margin-bottom:12px;font-size:17px}.preface-card p{color:#b6c4dc;font-size:13.5px;line-height:1.9}.preface-card p+p{margin-top:10px}.preface-card a{border-bottom:1px solid #7fd4ff66}.preface-card--notice{border-left-color:var(--os-gold)}.preface-card--notice h3{color:var(--os-gold)}.footer{z-index:1;color:var(--os-ink-dim);padding:30px 0 45px;font-size:12px;position:relative}.footer:before{content:"";background:var(--os-hairline);opacity:.6;height:1px;margin-bottom:30px;display:block}.footer b{color:var(--os-cyan);font-family:var(--os-font-en);letter-spacing:1px}.post-main{padding-top:64px}.post-hero{padding:74px 0 44px;position:relative;overflow:hidden}.post-hero:before{content:"";pointer-events:none;background:var(--os-stripes);opacity:.55;width:min(38vw,460px);height:100%;position:absolute;top:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 65%);mask-image:linear-gradient(90deg,#0000,#000 65%)}.post-crumbs{color:var(--os-ink-faint);letter-spacing:1px;animation:os-rise .7s var(--os-ease-out) both;align-items:center;gap:10px;font-size:12px;display:flex}.post-crumbs a{border-bottom:1px solid #7fd4ff59}.post-cat-chip{--tone:var(--os-cyan);font:400 10px var(--os-font-en);letter-spacing:2px;color:#05070d;background:var(--tone);clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%);padding:3px 10px}.post-hero h1{letter-spacing:1px;max-width:900px;animation:os-rise .7s var(--os-ease-out) 80ms both;margin-top:18px;font-size:clamp(26px,4.4vw,44px);line-height:1.3}.post-meta{color:var(--os-ink-faint);animation:os-rise .7s var(--os-ease-out) .16s both;flex-wrap:wrap;align-items:center;gap:18px;margin-top:20px;font-size:12.5px;display:flex}.post-author{color:var(--os-ink-dim);align-items:center;gap:9px;font-size:14px;font-weight:600;display:inline-flex}.post-hero h1.stat-shine,.post-meta .post-author.stat-shine{animation:.85s ease-out os-shine-pop}.post-author img{object-fit:cover;border:1px solid var(--os-line);border-radius:50%;width:30px;height:30px}.post-author img.is-broken{display:none}.post-stats{animation:os-rise .7s var(--os-ease-out) .24s both;flex-wrap:wrap;gap:14px;margin-top:24px;display:flex}.post-stat{border:1px solid var(--os-line);border-left:3px solid var(--os-gold);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);background:#080d17b8;min-width:108px;padding:10px 14px}.post-stat:nth-child(2){border-left-color:var(--os-red)}.post-stat:nth-child(3){border-left-color:var(--os-cyan)}.post-stat:nth-child(4){border-left-color:var(--os-blue)}.post-stat b{color:var(--os-ink);font:400 20px var(--os-font-en);display:block}.post-stat span{color:var(--os-ink-faint);letter-spacing:1px;font-size:11px}.post-main [id]{scroll-margin-top:92px}.post-toc{z-index:60;border:1px solid var(--os-line);border-left:3px solid var(--os-cyan);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:.6;background:#060a12c7;width:188px;max-height:62vh;padding:12px 0;transition:opacity .25s;display:none;position:fixed;top:50%;right:26px;overflow-y:auto;transform:translateY(-50%)}.post-toc:hover,.post-toc:focus-within{opacity:1}.post-toc.is-hidden{opacity:0;pointer-events:none}.post-toc-title{color:var(--os-ink-faint);font:400 10px var(--os-font-en);letter-spacing:1.6px;padding:0 14px 8px}.post-toc-link{color:#9fb0cc;white-space:nowrap;text-overflow:ellipsis;border-left:2px solid #0000;padding:5px 14px;font-size:12px;line-height:1.5;transition:color .2s,border-color .2s,background .2s;display:block;overflow:hidden}.post-toc-link.is-sub{padding-left:26px;font-size:11.5px}.post-toc-link:hover{color:var(--os-ink)}.post-toc-link.is-active{color:var(--os-cyan);border-left-color:var(--os-cyan);text-shadow:0 0 12px #2e9bff99;background:#2e9bff1a}@media (width>=1320px){.post-toc{display:block}.post-main .wrap{padding-right:230px}}.post-tags{animation:os-rise .7s var(--os-ease-out) .3s both;flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.post-tag{font:400 10.5px var(--os-font-cn);letter-spacing:1px;color:var(--os-cyan);clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%);background:#2e9bff12;border:1px solid #7fd4ff52;padding:3px 11px}.post-actions{animation:os-rise .7s var(--os-ease-out) .36s both;flex-wrap:wrap;gap:13px;margin-top:26px;display:flex}.post-body{padding:30px 0 40px;position:relative}.post-cover{border:1px solid var(--os-line);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);margin-bottom:30px;overflow:hidden}.post-cover img{background:#080d1799;max-width:100%;max-height:480px;margin:0 auto;display:block}.forge-content{color:#c9d5e8;word-break:break-word;max-width:860px;margin:0 auto;font-size:15.5px;line-height:1.95}.forge-content>*+*{margin-top:14px}.forge-content h1,.forge-content h2,.forge-content h3,.forge-content h4,.forge-content h5,.forge-content h6{color:var(--os-ink);letter-spacing:.5px;margin-top:34px;line-height:1.4}.forge-content h1{font-size:26px}.forge-content h2{border-bottom:1px solid var(--os-line);padding-bottom:8px;font-size:22px}.forge-content h3{color:var(--os-cyan);font-size:18px}.forge-content h4{font-size:16px}.forge-content h5,.forge-content h6{color:var(--os-ink-dim);font-size:14px}.forge-content h2:before,.forge-content h3:before{content:"// ";color:var(--os-red);font-family:var(--os-font-en)}.forge-content a{color:var(--os-cyan);overflow-wrap:anywhere;border-bottom:1px solid #7fd4ff66}.forge-content a:hover{color:#fff;border-bottom-color:var(--os-red)}.forge-content img{border:1px solid var(--os-line);cursor:zoom-in;background:#080d1780;max-width:100%;height:auto;margin:18px auto;transition:border-color .25s,box-shadow .25s;display:block}.forge-content img:hover{border-color:#7fd4ff99;box-shadow:0 10px 34px #2e9bff2e}.forge-content video{border:1px solid var(--os-line);background:#000;width:100%;max-width:720px;margin:18px auto;display:block}.forge-content iframe{aspect-ratio:16/9;border:1px solid var(--os-line);width:100%;max-width:720px;margin:18px auto;display:block}.forge-content ul,.forge-content ol{padding-left:26px}.forge-content li+li{margin-top:6px}.forge-content strong,.forge-content b{color:var(--os-ink)}.forge-content blockquote{border-left:3px solid var(--os-red);color:var(--os-ink-dim);background:#ff2d4d0d;padding:6px 16px}.forge-content code{color:var(--os-cyan);background:#2e9bff1a;border:1px solid #2e9bff38;padding:1px 6px;font-family:Consolas,Courier New,monospace;font-size:13.5px}.forge-content pre{border:1px solid var(--os-line);border-left:3px solid var(--os-blue);background:#04070ce6;padding:15px 18px;overflow-x:auto}.forge-content pre code{color:#c9d5e8;background:0 0;border:none;padding:0}.forge-content hr{background:var(--os-hairline);border:none;height:1px;margin:26px 0}.forge-content table{border-collapse:collapse;width:100%;margin:18px 0;font-size:13.5px;display:block;overflow-x:auto}.forge-content th,.forge-content td{border:1px solid var(--os-line);text-align:left;vertical-align:top;padding:8px 12px}.forge-content th{color:var(--os-cyan);white-space:nowrap;background:#2e9bff1a}.forge-content tr:nth-child(2n) td{background:#7fd4ff08}.post-block{margin-top:44px}.post-block h2{letter-spacing:2px;margin-bottom:16px;font-size:19px}.post-block h2:before{content:"// ";color:var(--os-red);font-family:var(--os-font-en)}.post-attach-list,.post-ref-list{gap:10px;list-style:none;display:grid}.post-attach,.post-ref{border:1px solid var(--os-line);border-left:3px solid var(--os-gold);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);background:#080d17a8;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 16px;display:flex}.post-ref{border-left-color:var(--os-blue)}.post-attach a,.post-ref a{overflow-wrap:anywhere}.post-attach span,.post-ref span{color:var(--os-ink-faint);font:400 10.5px var(--os-font-en);letter-spacing:1px;white-space:nowrap;margin-left:auto}.post-comments{padding:30px 0 60px;position:relative}.post-comments-count{color:var(--os-red);font-family:var(--os-font-en);font-size:.7em}.cmt-list{list-style:none}.cmt{border-bottom:1px dashed #78a0d22e;gap:15px;padding:18px 0;scroll-margin-top:90px;display:flex}.cmt--reply{border-bottom:none;margin-left:44px;padding:14px 0 4px}.cmt-floor{width:44px;color:var(--os-ink-faint);font:400 10px var(--os-font-en);letter-spacing:1px;text-align:right;flex-shrink:0;padding-top:5px}.cmt--reply .cmt-floor{width:34px}.cmt-main{flex:1;min-width:0}.cmt-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cmt-avatar-wrap{flex-shrink:0;width:30px;height:30px;position:relative}.cmt-avatar{object-fit:cover;border:1px solid var(--os-line);background:#2e9bff1f;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.cmt-avatar.is-broken{display:none}.cmt-avatar-fallback{border:1px solid var(--os-line);width:100%;height:100%;color:var(--os-cyan);background:#2e9bff24;border-radius:50%;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.cmt-author{color:var(--os-ink);font-size:13.5px;font-weight:600}.cmt-reply-to{color:var(--os-blue);font-size:12px}.cmt-time{color:var(--os-ink-faint);font-size:11px}.cmt-body{color:#c0cde2;word-break:break-word;margin-top:7px;font-size:13.5px;line-height:1.85}.cmt-body img{border:1px solid var(--os-line);cursor:zoom-in;max-width:220px;margin-top:8px}.cmt-body blockquote{border-left:3px solid var(--os-blue);color:var(--os-ink-faint);margin:6px 0;padding:4px 12px}.cmt-actions{margin-top:7px}.cmt-like{color:var(--os-gold);font:400 11px var(--os-font-en);letter-spacing:1px}.cmt-empty{color:var(--os-ink-faint);padding:18px 0;font-size:13px}.post-source-note{padding-bottom:60px}.lightbox{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;cursor:zoom-out;background:#030509e6;justify-content:center;align-items:center;padding:34px;transition:opacity .25s;display:flex;position:fixed;inset:0}.lightbox.is-open{opacity:1;pointer-events:auto}.lightbox img{object-fit:contain;border:1px solid var(--os-line);-webkit-user-select:none;user-select:none;touch-action:none;max-width:100%;max-height:100%;box-shadow:0 30px 90px #0009}.lightbox img.is-zoomed{cursor:grab}.lightbox img.is-dragging{cursor:grabbing}.lightbox-bar{border:1px solid var(--os-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--os-font-en);letter-spacing:.12em;background:#05070db8;align-items:center;gap:14px;padding:10px 18px;font-size:12px;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.lightbox-hint{color:var(--os-ink-faint)}.lightbox-bar input[type=range]{width:220px;accent-color:var(--os-cyan)}.lightbox-bar b{color:var(--os-cyan);text-align:right;min-width:44px;font-weight:400}@media (width<=980px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preface-grid{grid-template-columns:1fr}}@media (width<=700px){.wrap{padding:0 19px}.navlinks a:not(.join){display:none}.logo small{white-space:nowrap;max-width:150px;overflow:hidden}.hero{min-height:auto;padding:75px 0 65px}.hero:after{top:230px;right:-100px}.hero p{font-size:15px}.stats{gap:22px}.section-count{display:none}section{padding:67px 0}.card-grid{grid-template-columns:1fr}.os-card{min-height:210px}.cmt{gap:10px}.cmt-floor{width:30px}.post-stat{flex:1;min-width:86px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.os-card,.os-card-preview,.filter,.lightbox,.lightbox img,#flash{transition:none}.hero .eyebrow,.hero h1,.hero p,.hero .sub,.hero-actions,.hero .stats,.post-crumbs,.post-hero h1,.post-meta,.post-stats,.post-tags,.post-actions{animation:none}.reveal{opacity:1;transition:none;transform:none}.btn:hover,.os-card:hover,.filter:hover{transform:none}.cat-head:after{width:min(220px,42%);transition:none}}.footer-sites{letter-spacing:.06em;margin-top:8px;font-size:12px}.footer-sites a{color:inherit;opacity:.72;text-decoration:none}.footer-sites a:hover{opacity:1;text-decoration:underline}.lightbox-close{appearance:none;border:1px solid var(--os-line);color:var(--os-ink);cursor:pointer;background:0 0;border-radius:2px;flex:none;width:30px;height:30px;font-size:13px;line-height:1}.lightbox-close:hover,.lightbox-close:focus-visible{border-color:var(--os-cyan);color:var(--os-cyan)}@media (width<=560px){.lightbox-hint{display:none}.lightbox-bar{gap:10px;padding:8px 12px}.lightbox-bar input[type=range]{width:38vw}}.tt-layout{grid-template-columns:250px minmax(0,1fr) 190px;align-items:start;gap:42px;max-width:1440px;margin:0 auto;padding:104px 24px 70px;display:grid}.tt-layout.tt-no-toc{grid-template-columns:250px minmax(0,1fr);max-width:1240px}.tt-side{max-height:calc(100vh - 110px);font-size:14px;position:sticky;top:88px;overflow:auto}.tt-side-title{font-family:var(--os-font-en);letter-spacing:.3em;color:var(--os-cyan);text-transform:uppercase;margin-bottom:14px;font-size:11px}.tt-side ul{margin:0;padding:0;list-style:none}.tt-side li{margin:2px 0}.tt-side a{border-left:2px solid var(--os-hairline);color:var(--os-ink-dim);padding:6px 10px;text-decoration:none;transition:color .2s,border-color .2s;display:block}.tt-side a:hover{color:var(--os-ink);border-left-color:var(--os-cyan)}.tt-side a.active{color:var(--os-cyan);border-left-color:var(--os-cyan);background:#7fd4ff0f}.tt-side details{margin-bottom:8px}.tt-side summary{cursor:pointer;color:var(--os-ink);letter-spacing:.08em;padding:6px 10px;font-weight:600;list-style:none}.tt-side .tt-d1>details>summary{letter-spacing:.14em;font-size:14.5px}.tt-side .tt-d2>details>summary,.tt-side .tt-d3>details>summary{font-size:13px;font-weight:550}.tt-side summary:before{content:"// ";color:var(--os-cyan);font-family:var(--os-font-en)}.tt-side summary a{color:inherit;text-decoration:none}.tt-side li[class*=tt-d] summary a{background:0 0;border-left:none;padding:0;display:inline}.tt-side li[class*=tt-d] summary a:hover{color:var(--os-cyan)}.tt-side .tt-d2 a{padding-left:26px}.tt-side .tt-d3 a{padding-left:42px;font-size:13px}.tt-side .tt-d4 a{padding-left:58px;font-size:13px}.tt-side .tt-d2>details>summary{padding-left:26px}.tt-side .tt-d3>details>summary{padding-left:42px}.tt-side .tt-d4>details>summary{padding-left:58px}.tt-g0{--tt-acc:#7fd4ff}.tt-g1{--tt-acc:#ff7a93}.tt-g2{--tt-acc:#ffc857}.tt-g3{--tt-acc:#b39dff}.tt-g4{--tt-acc:#7fe0b2}.tt-g5{--tt-acc:#ffa06e}.tt-side li[class*=tt-g]>details>summary,.tt-side li[class*=tt-g] summary:before{color:var(--tt-acc)}.tt-side li[class*=tt-g] a:hover{color:var(--tt-acc);border-left-color:var(--tt-acc)}.tt-side li[class*=tt-g] a.active{color:var(--tt-acc);border-left-color:var(--tt-acc);background:color-mix(in srgb, var(--tt-acc) 8%, transparent)}.tt-side li[class*=tt-g] summary a:hover,.tt-side li[class*=tt-g] summary a.active{border-left:none}.tt-side,.tt-toc{scrollbar-width:thin;scrollbar-color:#7fd4ff38 transparent}.tt-side::-webkit-scrollbar{width:5px}.tt-toc::-webkit-scrollbar{width:5px}.tt-side::-webkit-scrollbar-track{background:0 0}.tt-toc::-webkit-scrollbar-track{background:0 0}.tt-side::-webkit-scrollbar-thumb{background:#7fd4ff29;border-radius:3px}.tt-toc::-webkit-scrollbar-thumb{background:#7fd4ff29;border-radius:3px}.tt-side::-webkit-scrollbar-thumb:hover{background:#7fd4ff57}.tt-toc::-webkit-scrollbar-thumb:hover{background:#7fd4ff57}.tt-toc{max-height:calc(100vh - 110px);font-size:13px;position:sticky;top:88px;overflow:auto}.tt-toc-title{font-family:var(--os-font-en);letter-spacing:.3em;color:var(--os-ink-dim);text-transform:uppercase;margin-bottom:12px;font-size:11px}.tt-toc ul{margin:0;padding:0;list-style:none}.tt-toc a{border-left:1px solid var(--os-hairline);color:var(--os-ink-dim);padding:3px 0 3px 12px;text-decoration:none;transition:color .2s,border-color .2s;display:block}.tt-toc a:hover{color:var(--os-cyan);border-left-color:var(--os-cyan)}.tt-toc .tt-toc-l3 a{padding-left:26px;font-size:12px}.tt-content{min-width:0}.tt-content .forge-content h1{letter-spacing:1px;border-bottom:1px solid var(--os-line);margin-top:0;padding-bottom:14px;font-size:30px;font-weight:700}.tt-content .forge-content h1:before{content:"// ";color:var(--os-red);font-family:var(--os-font-en)}.tt-content .forge-content h2{border-bottom:none;margin-top:44px;padding-bottom:0;font-size:20px;font-weight:650}.tt-content .forge-content h2:before{color:var(--os-cyan)}.tt-content .forge-content h3{letter-spacing:.3px;margin-top:26px;font-size:16px;font-weight:600}.tt-content .forge-content h3:before{content:""}.tt-content .forge-content h4{color:var(--os-ink-dim);font-size:14px;font-weight:600}.tt-layout[class*=tt-g] .forge-content h1:before,.tt-layout[class*=tt-g] .forge-content h2:before,.tt-layout[class*=tt-g] .forge-content h3{color:var(--tt-acc)}.tt-layout[class*=tt-g] .tt-toc a:hover{color:var(--tt-acc);border-left-color:var(--tt-acc)}.tt-content .forge-content blockquote{border-left:2px solid var(--os-hairline);background:#ffffff08;padding:8px 16px}.tt-layout[class*=tt-g] .forge-content blockquote{border-left-color:color-mix(in srgb, var(--tt-acc) 55%, transparent)}.tt-updated{border-top:1px solid var(--os-hairline);color:var(--os-ink-dim);letter-spacing:.05em;margin-top:48px;padding-top:14px;font-size:12px}.tt-content .forge-content table{display:block;overflow-x:auto}.tt-content .forge-content img{background:#ffffffeb}.tt-content .forge-content iframe{border:1px solid var(--os-hairline);background:#ffffff0a;width:100%;min-height:420px}@media (width<=1200px){.tt-layout{grid-template-columns:250px minmax(0,1fr);max-width:1240px}.tt-toc{display:none}}@media (width<=900px){.tt-layout,.tt-layout.tt-no-toc{grid-template-columns:1fr;gap:24px;padding-top:92px}.tt-side{border-bottom:1px solid var(--os-hairline);max-height:none;padding-bottom:16px;position:static}}.tt-content .forge-content img{cursor:zoom-in}.tt-viewer{z-index:210;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05070de0;justify-content:center;align-items:center;animation:.18s tt-viewer-in;display:flex;position:fixed;inset:0}.tt-viewer img{object-fit:contain;border:1px solid var(--os-line);-webkit-user-select:none;user-select:none;touch-action:none;max-width:92vw;max-height:82vh;box-shadow:0 0 44px #7fd4ff29}.tt-viewer img.is-zoomed{cursor:grab}.tt-viewer img.is-dragging{cursor:grabbing}.tt-viewer-bar{border:1px solid var(--os-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--os-font-en);letter-spacing:.12em;background:#05070db8;align-items:center;gap:14px;padding:10px 18px;font-size:12px;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.tt-viewer-hint{color:var(--os-ink-faint)}.tt-viewer-bar input[type=range]{width:220px;accent-color:var(--os-cyan)}.tt-viewer-bar b{color:var(--os-cyan);text-align:right;min-width:44px;font-weight:400}@keyframes tt-viewer-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.tt-viewer{animation:none}}.tt-viewer-close{appearance:none;border:1px solid var(--os-line);color:var(--os-ink);cursor:pointer;background:0 0;border-radius:2px;flex:none;width:30px;height:30px;font-size:13px;line-height:1}.tt-viewer-close:hover,.tt-viewer-close:focus-visible{border-color:var(--os-cyan);color:var(--os-cyan)}@media (width<=560px){.tt-viewer-hint{display:none}.tt-viewer-bar{gap:10px;padding:8px 12px;bottom:18px}.tt-viewer-bar input[type=range]{width:38vw}}
