.hero{background:radial-gradient(120% 62% at 18% 104%,#5696d233,#0000 62%),radial-gradient(70% 55% at 88% 8%,#4680ba1c,#0000 70%),radial-gradient(85% 26% at 34% 100%,#c65c4a17,#0000 72%),linear-gradient(178deg,#081726 0%,#0b2033 46%,#0d2a41 100%);justify-content:center;align-items:center;min-height:clamp(640px,88vh,940px);padding:72px 0 96px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:1;pointer-events:none;background-image:repeating-radial-gradient(circle at 82% 44%,#0000 0 78px,#78b4eb0d 78px 79px,#0000 79px 158px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 82% 44%,#000 0%,#0000 72%);mask-image:radial-gradient(circle at 82% 44%,#000 0%,#0000 72%)}.hero:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(to bottom, transparent, var(--bg));height:180px;position:absolute;bottom:0;left:0;right:0}.home-page .grid-overlay{z-index:1;pointer-events:none;background-image:linear-gradient(90deg,#96c8f008 1px,#0000 1px),linear-gradient(#96c8f008 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000008c 62%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000008c 62%,#0000 100%)}.hero-inner{z-index:2;max-width:var(--container);text-align:left;width:100%;margin:0 auto;padding:0 36px;position:relative}.hero-copy{min-width:0}.hero-title{font-family:"Big Shoulders Display", var(--font-sans);letter-spacing:-.008em;color:var(--text-bright);margin:0;font-size:clamp(44px,5.4vw,86px);font-weight:700;line-height:.92}.hero-title .ht-line{margin-bottom:-.18em;padding-bottom:.18em;display:block;overflow:hidden}.hero-title .ht-inner{animation:.95s cubic-bezier(.16,1,.3,1) both lineRise;display:inline-block;transform:translateY(115%)}.hero-title .ht-line:first-child .ht-inner{animation-delay:.12s}.hero-title .ht-line:nth-child(2) .ht-inner{animation-delay:.3s}@keyframes lineRise{0%{transform:translateY(115%)}to{transform:translateY(0)}}.hero-title .accent{color:var(--brand)}.hero-mission{max-width:486px;font-family:var(--font-sans);color:var(--text);margin-top:26px;font-size:16px;line-height:1.65}.hero-cta-row{flex-wrap:wrap;gap:14px;margin-top:38px;display:flex}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:56px;display:grid}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.2em;color:var(--text-mute);margin-bottom:22px;font-size:10.5px;animation:1s cubic-bezier(.16,1,.3,1) 60ms both titleIn}.feat{border:1px solid var(--line-2);border-radius:var(--r);background:linear-gradient(168deg,#132c41b8,#0a1d2fd1);animation:1.1s cubic-bezier(.16,1,.3,1) .5s both titleIn;position:relative;overflow:hidden}.feat-head{border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.2em;justify-content:space-between;align-items:center;padding:13px 18px;font-size:10px;display:flex}.feat-eyebrow{color:var(--brand)}.feat-fig{color:var(--text-dimmer)}.feat-visual{border-bottom:1px solid var(--line);background:#08182866;padding:10px 14px 4px}.feat-visual .ais{width:100%;height:auto;display:block}.feat-body{padding:20px 22px 22px}.feat-title-row{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.feat-code{font-family:"Big Shoulders Display", var(--font-sans);letter-spacing:.02em;color:var(--text-bright);margin:0;font-size:40px;font-weight:800;line-height:1}.feat-name{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-mute);margin-top:6px;font-size:10.5px}.feat-desc{font-family:var(--font-sans);color:var(--text);margin:14px 0 0;font-size:14.5px;line-height:1.65}.feat-cta{font-family:var(--font-mono);letter-spacing:.16em;color:var(--brand);margin-top:18px;font-size:10.5px;font-weight:600;display:inline-block}.feat-cta:hover{color:var(--text-bright)}.feat-stage,.sp-stage{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-dim);flex:none;align-items:center;gap:6px;font-size:9.5px;display:inline-flex}.feat-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.feat-stage.is-active,.sp-stage.is-active{color:var(--green)}.feat-stage.is-wip,.sp-stage.is-wip{color:var(--orange)}.feat-stage.is-research,.sp-stage.is-research{color:var(--blue)}.ais text{font-family:var(--font-mono);fill:#8fb6d6}.ais .ais-label{letter-spacing:.14em;opacity:.5;font-size:9px}.ais .ais-ident{letter-spacing:.1em;fill:#bcd6ee;font-size:10px;font-weight:600}.ais .ais-read{letter-spacing:.08em;opacity:.62;font-size:8.5px}.ais-grat line{stroke:#6fb0ec;stroke-width:1px;opacity:.28}.ais-airspace path{stroke:#6fb0ec;stroke-width:1px;stroke-dasharray:4 4;opacity:.34;fill:#6fb0ec0b}.ais-airspace-id{opacity:.42}.ais-route{stroke:var(--brand);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;opacity:.75;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:1.7s cubic-bezier(.16,1,.3,1) .75s forwards routeDraw}@keyframes routeDraw{to{stroke-dashoffset:0}}.ais-node .ais-sym{stroke:#7cbaf2;stroke-width:1.3px;opacity:.72;fill:#0a203499}.ais-node .ais-sym-dot{fill:#7cbaf2;stroke:none;opacity:.8}.ais-node .ais-runway{stroke:#7cbaf2;stroke-width:1.2px;opacity:.8}.ais-plate rect{fill:#091c2ec7;stroke:#7cbaf24d;stroke-width:1px}.ais-notam rect{stroke:var(--brand);stroke-width:1.2px;fill:#be3a3429}.ais-notam line{stroke:var(--brand);stroke-width:1.1px;opacity:.9}.ais-notam-id{letter-spacing:.1em;fill:#d08d86;opacity:.85;font-size:8.5px}.ais-notam{animation:.5s cubic-bezier(.16,1,.3,1) both notamIn;animation-delay:calc(var(--i,0) * .22s + 1.9s)}@keyframes notamIn{0%{opacity:0}to{opacity:1}}.ais-strip line{stroke:#6fb0ec;stroke-width:1px;opacity:.22}.panel--selected{background:var(--bg)}.sp-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.sp-card{border:1px solid var(--line);border-radius:var(--r-sm);opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),border-color .2s,background .2s;transition-delay:calc(var(--i,0) * 90ms);background:linear-gradient(160deg,#132c4180,#0a1d2f80);flex-direction:column;display:flex;position:relative;overflow:hidden;transform:translateY(18px)}.sp-grid.is-visible .sp-card{opacity:1;transform:none}a.sp-card:hover{border-color:var(--line-3);background:linear-gradient(160deg,#18364ea8,#0c223799)}.sp-card.is-inop{cursor:not-allowed}.sp-card.is-inop:before{content:"";z-index:1;background:repeating-linear-gradient(45deg,#d9a13a,#d9a13a 8px,#1a1a1a 8px 16px);height:5px;position:absolute;inset:0 0 auto}.sp-card.is-inop .sp-visual,.sp-card.is-inop .sp-name,.sp-card.is-inop .sp-sub{opacity:.5}.sp-card.is-inop .sp-num{color:var(--text-dim)}.sp-inop{font-family:var(--font-mono);letter-spacing:.2em;color:#d9a13a;flex:none;align-items:center;gap:6px;font-size:9.5px;font-weight:700;display:inline-flex}.sp-inop:before{content:"";border:1.5px solid #d9a13a;width:7px;height:7px;display:inline-block;transform:rotate(45deg)}.sp-inop-why{letter-spacing:.16em;color:var(--text-dim);font-weight:400}.sp-inop-why:before{content:"· "}.sp-visual{border-bottom:1px solid var(--line);background:#08182857}.sp-visual svg{width:100%;height:auto;display:block}.sp-body{padding:14px 16px 18px}.sp-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.sp-num{font-family:var(--font-mono);letter-spacing:.18em;color:var(--brand);font-size:10px}.sp-name{font-family:"Big Shoulders Display", var(--font-sans);letter-spacing:.02em;text-transform:uppercase;color:var(--text-bright);margin:10px 0 0;font-size:26px;font-weight:700;line-height:1}.sp-sub{font-family:var(--font-sans);color:var(--text-mute);margin:7px 0 0;font-size:13px;line-height:1.55}.sp-visual .ha-screen,.sp-visual .ha-screen line{stroke:#7cbaf2;stroke-width:1.2px;opacity:.5}.sp-visual .ha-mast line,.sp-visual .ha-mast path{stroke:#7cbaf2;stroke-width:1.2px;opacity:.58;stroke-linecap:round;stroke-linejoin:round;fill:none}.sp-visual .ha-whip{stroke:#7cbaf2;stroke-width:2px;opacity:.7;stroke-linecap:round}.sp-visual .ha-ground line{stroke:#7cbaf2;stroke-width:1.5px;opacity:.6}.sp-visual .ha-hatch line{stroke:#7cbaf2;stroke-width:1px;opacity:.3}.sp-visual .ha-arc circle{stroke:#6fb0ec;stroke-width:1px;opacity:.26}.sp-visual .ha-airspace{stroke:#6fb0ec;stroke-width:1px;opacity:.3;fill:#6fb0ec0a}.sp-visual .ha-beam{stroke:#6fb0ec;stroke-width:.9px;opacity:.32}.sp-visual .ha-box rect{stroke:#7cbaf2;stroke-width:1.1px;opacity:.44;fill:#0a20348c}.sp-visual .ha-note line{stroke:#7cbaf2;stroke-width:1px;opacity:.3}.sp-visual .ha-route{stroke:var(--brand);stroke-width:1.3px;opacity:.65;fill:none;stroke-linecap:round;stroke-linejoin:round}.sp-visual .ha-target circle{stroke:var(--brand);stroke-width:1.3px;opacity:.6;fill:#c63c2e1f}.sp-visual .ha-bar rect,.sp-visual .ha-led{fill:var(--brand);stroke:none;opacity:.75}.sp-visual text{font-family:var(--font-mono);fill:#8fb6d6}.sp-visual .ha-label{letter-spacing:.16em;opacity:.45;font-size:8px}.sp-visual .ha-read{letter-spacing:.08em;opacity:.6;font-size:8px}.manifest-head{justify-content:space-between;align-items:flex-end;margin-bottom:36px;display:flex}.manifest-counts{font-family:var(--font-mono);letter-spacing:.18em;color:var(--text-dim);font-size:12px}.manifest-counts .sep{color:var(--text-dimmer);margin:0 10px}@media (width<=1100px){.hero-grid{gap:40px}.sp-grid{gap:12px}}@media (width<=980px){.hero{min-height:0}.hero-grid{grid-template-columns:minmax(0,1fr);gap:44px}.hero-copy{max-width:640px}.feat{max-width:620px}.sp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.hero{padding:60px 0 88px}.hero-inner{padding:0 20px}.hero-eyebrow{letter-spacing:.16em;margin-bottom:18px;font-size:9.5px}.hero-title{font-size:40px}.hero-mission{margin-top:20px}.hero-cta-row{margin-top:28px}.feat-visual{padding:8px 10px 2px}.feat-body{padding:16px 16px 18px}.feat-code{font-size:34px}.feat-title-row{flex-direction:column;align-items:flex-start;gap:8px}.sp-grid{grid-template-columns:minmax(0,1fr)}.sp-lib{flex-direction:column;align-items:flex-start;gap:14px}}@media (width<=380px){.hero-title{font-size:36px}}.cl-section{border-top:1px solid var(--line-2);margin-top:28px;padding-top:16px}.cl-section-head{margin-bottom:8px}.cl-timeline{flex-direction:column;padding-left:18px;display:flex;position:relative}.cl-timeline:before{content:"";background:var(--line-2);width:1px;position:absolute;top:14px;bottom:8px;left:4px}.cl-row{border-bottom:1px solid var(--line-2);opacity:0;align-items:baseline;gap:12px;padding:5px 0;transition:opacity .5s,transform .5s;display:flex;position:relative;transform:translate(-6px)}.cl-row:last-child{border-bottom:0}.cl-row:before{content:"";background:var(--text-dimmer);width:7px;height:7px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;transition:transform .4s cubic-bezier(.34,1.56,.64,1);position:absolute;top:9px;left:-17px;transform:scale(0)}.cl-row[data-tag=nav]:before{background:var(--blue)}.cl-row[data-tag=blog]:before{background:var(--orange)}.cl-row[data-tag=util]:before{background:var(--green);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px #6fb89e2e}.cl-row[data-tag=site]:before{background:var(--brand);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--brand-soft)}.cl-row.is-visible{opacity:1;transform:none}.cl-row.is-visible:before{transform:scale(1)}.cl-date{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-dimmer);white-space:nowrap;flex-shrink:0;font-size:10px}.cl-tag{font-family:var(--font-mono);letter-spacing:.2em;white-space:nowrap;color:var(--text-mute);border:1px solid var(--line);background:#ffffff0a;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:600}.cl-tag--blue{color:var(--blue);background:#5f93bf14;border:1px solid #5f93bf33}.cl-tag--amber{color:var(--orange);background:#cf9a4a14;border:1px solid #cf9a4a33}.cl-tag--green{color:var(--green);background:#5fa88c14;border:1px solid #5fa88c33}.cl-tag--red{color:var(--brand);background:#be3a3414;border:1px solid #be3a3438}.cl-tag--violet{color:var(--violet);background:#8e7bb814;border:1px solid #8e7bb833}.cl-msg{font-family:var(--font-mono);color:var(--text-mute);font-size:11px;line-height:1.4}.cl-msg em{color:var(--text);font-style:normal}@media (width<=720px){.cl-row{flex-wrap:wrap;gap:10px}.cl-date{font-size:10px}}section.panel.panel--roadmap{padding:64px 0 56px}.roadmap-head{justify-content:space-between;align-items:flex-end;margin-bottom:48px;display:flex}.roadmap-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid;position:relative}.rm-col{padding-top:30px;position:relative}.rm-col:after{content:"";background:var(--line-2);height:1px;position:absolute;top:9px;left:14px;right:-24px}.rm-col:last-child:after{display:none}.rm-col:before{content:"";background:var(--text-dimmer);width:9px;height:9px;box-shadow:0 0 0 3px var(--bg-deep);border-radius:50%;position:absolute;top:5px;left:0}.rm-col.shipped:before{background:var(--green);box-shadow:0 0 0 3px var(--bg-deep), 0 0 0 5px #6fb89e2e}.rm-col.active:before{background:var(--brand);box-shadow:0 0 0 3px var(--bg-deep), 0 0 0 5px var(--brand-soft)}.rm-q{font-family:var(--font-mono);letter-spacing:.22em;color:var(--text-dim);margin-bottom:6px;font-size:11px}.rm-status{font-family:var(--font-mono);letter-spacing:.22em;border-radius:4px;margin-bottom:14px;padding:3px 8px;font-size:9.5px;font-weight:600;display:inline-block}.rm-status.shipped{color:var(--green);background:#6fb89e14;border:1px solid #6fb89e4d}.rm-status.active{color:var(--brand);background:#c8404a14;border:1px solid #c8404a4d}.rm-status.planned{color:var(--text-mute);border:1px solid var(--line-2);background:0 0}.rm-col h3{font-family:var(--font-sans);color:var(--text-bright);margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.2}.rm-col p{font-family:var(--font-mono);color:var(--text-mute);margin:0;font-size:11.5px;line-height:1.6}.journal-head{justify-content:space-between;align-items:flex-end;margin-bottom:40px;display:flex}.journal-head .all-link{font-family:var(--font-mono);letter-spacing:.18em;color:var(--brand);border-bottom:1px solid #0000;align-items:center;gap:8px;padding-bottom:4px;font-size:12px;font-weight:600;transition:border-color .15s;display:inline-flex}.journal-head .all-link:hover{border-bottom-color:var(--brand)}.journal-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.j-card{color:inherit;border:1px solid var(--line-2);border-radius:var(--r-lg);background:#0f283b66;flex-direction:column;text-decoration:none;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.j-card-img{aspect-ratio:16/6;background:radial-gradient(ellipse at 50% 120%, color-mix(in srgb, var(--accent,var(--brand)) 22%, transparent), transparent 70%), linear-gradient(160deg, #ffffff0d, #ffffff03);border-bottom:1px solid var(--line);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.j-card-img img{object-fit:cover;width:100%;height:100%}.j-card-img span{opacity:.55;font-size:40px;line-height:1}.j-card-body{flex-direction:column;flex:1;padding:22px 24px 20px;display:flex}.j-card:hover{border-color:var(--line-3);transform:translateY(-2px)}.j-card:hover h3{color:var(--text-bright)}.j-card .cat{font-family:var(--font-mono);letter-spacing:.22em;color:var(--text-mute);margin-bottom:14px;font-size:10px;font-weight:600}.j-card h3{font-family:var(--font-sans);letter-spacing:-.005em;color:var(--text-bright);margin:0 0 12px;font-size:18px;font-weight:700;line-height:1.25;transition:color .15s}.j-card p{font-family:var(--font-mono);color:var(--text-mute);margin:0 0 18px;font-size:12px;line-height:1.55}.j-card .meta{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-dim);margin-top:auto;font-size:10.5px}.j-card .meta .dot{background:var(--text-dimmer);vertical-align:middle;border-radius:50%;width:3px;height:3px;margin:0 8px;display:inline-block}@media (width<=980px){.roadmap-grid{grid-template-columns:1fr 1fr}.rm-col:nth-child(2n):after{display:none}.journal-grid{grid-template-columns:1fr}}@media (width<=640px){.roadmap-grid{grid-template-columns:1fr;gap:26px}.rm-col{padding-top:0;padding-left:26px}.rm-col:before{top:4px}.rm-col:after{width:1px;height:auto;inset:18px auto -31px 4px}.rm-col:nth-child(2n):after{display:block}.rm-col:last-child:after{display:none}}.hero-mission{animation:1s cubic-bezier(.16,1,.3,1) .3s both titleIn}.hero-cta-row{animation:1s cubic-bezier(.16,1,.3,1) .45s both titleIn}@keyframes titleIn{0%{opacity:0;filter:blur(2px);transform:translateY(24px)}to{opacity:1;filter:none;transform:none}}.rm-col:after{transform-origin:0;transition:transform .7s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * .14s + .5s);transform:scaleX(0)}.roadmap-grid.is-visible .rm-col:after{transform:scaleX(1)}@media (width<=640px){.rm-col:after{transform-origin:top;transform:scaleY(0)}.roadmap-grid.is-visible .rm-col:after{transform:scaleY(1)}}.rm-col{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * .14s + .2s);transform:translateY(20px)}.roadmap-grid.is-visible .rm-col{opacity:1;transform:none}.rm-col:before{transition:transform .5s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(var(--i,0) * .14s + .6s);transform:scale(0)}.roadmap-grid.is-visible .rm-col:before{transform:scale(1)}.journal-grid.is-visible .j-card,.lib-grid.is-visible .lib-card{animation:.8s cubic-bezier(.16,1,.3,1) both fadeUp}.journal-grid.is-visible .j-card:nth-child(2),.lib-grid.is-visible .lib-card:nth-child(2){animation-delay:.15s}.journal-grid.is-visible .j-card:nth-child(3),.lib-grid.is-visible .lib-card:nth-child(3){animation-delay:.3s}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.rm-col,.rm-col:before,.rm-col:after,.cl-row,.hero-title,.hero-title .ht-inner,.hero-eyebrow,.grid-overlay,.hero-mission,.hero-cta-row,.feat,.ais-notam,.sp-card{opacity:1!important;animation:none!important;transform:none!important}.ais-route{stroke-dashoffset:0!important;animation:none!important}}.sp-lib{background:linear-gradient(100deg,#132c419e,#0a1d2f6b);flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px}.sp-lib-main{min-width:0}.sp-lib .sp-top{justify-content:flex-start;gap:14px}.sp-lib-parts{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-dim);font-size:9.5px}.sp-lib .sp-name{margin-top:8px}.sp-lib .sp-sub{max-width:62ch}.sp-lib-cta{font-family:var(--font-mono);letter-spacing:.16em;color:var(--brand);flex:none;font-size:10.5px;font-weight:600;transition:color .2s}.sp-lib:hover .sp-lib-cta{color:var(--text-bright)}.home-page .eyebrow{letter-spacing:.2em;color:var(--text-mute)}.hero-mission{color:var(--text);font-size:17px;line-height:1.7}.rm-status.active{background:0 0}@media (width<=720px){.all-link{padding:14px 0}}.about-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:80px;display:grid}.about-grid .label{font-family:var(--font-mono);letter-spacing:.22em;color:var(--text-dim);border-top:1px solid var(--line-2);padding-top:8px;font-size:11px}.about-grid .body{font-family:var(--font-sans);color:var(--text);font-size:17px;line-height:1.7}.about-grid .body p{margin:0 0 18px}.about-grid .body p:last-child{margin-bottom:0}.about-grid .body strong{color:var(--text-bright);font-weight:600}.stats-row{border:1px solid var(--line-2);border-radius:var(--r-lg);background:#0f283b66;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.stat{border-right:1px solid var(--line);padding:36px 28px}.stat:last-child{border-right:0}.stat .v{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text-bright);font-size:40px;font-weight:800;line-height:1}.stat .v .accent{color:var(--brand)}.stat .k{font-family:var(--font-mono);letter-spacing:.2em;color:var(--text-dim);margin-top:12px;font-size:11px}.principles{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.principle{border:1px solid var(--line-2);border-radius:var(--r-lg);background:#0f283b66;padding:32px 28px;position:relative}.principle .n{font-family:var(--font-mono);letter-spacing:.2em;color:var(--brand);margin-bottom:18px;font-size:11px}.principle h3{font-family:var(--font-sans);color:var(--text-bright);margin:0 0 10px;font-size:20px;font-weight:700}.principle p{font-family:var(--font-mono);color:var(--text-mute);margin:0;font-size:12.5px;line-height:1.65}.stack-list{border-top:1px solid var(--line-2);grid-template-columns:200px 1fr;display:grid}.stack-list>div{border-bottom:1px solid var(--line);padding:18px 0}.stack-list .k{font-family:var(--font-mono);letter-spacing:.2em;color:var(--text-dim);padding-top:22px;font-size:11px}.stack-list .v{font-family:var(--font-mono);color:var(--text);font-size:13px}.stack-list .v .sep{color:var(--text-dimmer);margin:0 10px}@media (width<=880px){.about-grid{grid-template-columns:1fr;gap:24px}.stats-row{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.principles,.stack-list{grid-template-columns:1fr}.stack-list .k{padding-top:18px;padding-bottom:6px}}@media (width<=480px){.about-grid{padding:0 16px}.stats-row{grid-template-columns:1fr}.section-title{font-size:26px}}:root{--c-sim:#6fb89e;--c-eng:#cf9a4a;--c-sw:#6ba4d8;--c-sim-bg:#6fb89e12;--c-eng-bg:#cf9a4a12;--c-sw-bg:#6bb4d812;--c-sim-border:#6fb89e40;--c-eng-border:#cf9a4a40;--c-sw-border:#6bb4d840}.proj-hero{background:#071929;border-bottom:1px solid #408cdc2e;padding:56px 0 52px;position:relative;overflow:hidden}.proj-hero-inner{z-index:2;max-width:var(--container);margin:0 auto;padding:0 40px;position:relative}.proj-crumb{font-family:var(--font-mono);letter-spacing:.22em;color:var(--text-dim);align-items:center;gap:7px;margin-bottom:28px;font-size:10px;display:flex}.proj-crumb a{color:var(--text-dim);text-decoration:none;transition:color .15s}.proj-crumb a:hover{color:var(--text)}.proj-crumb .sep{color:var(--text-dimmer)}.proj-hero-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.proj-hero-title{font-family:"Space Grotesk", var(--font-sans);letter-spacing:-.02em;color:var(--text-bright);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 0 16px;font-size:clamp(34px,4vw,52px);font-weight:700;line-height:1.05}.proj-hero-title .accent{color:var(--text-bright)}.proj-hero-sub{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.06em;max-width:480px;margin:0;font-size:12px;line-height:1.7}.proj-filter-wrap{z-index:30;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-2);background:#0a1c2eeb;position:sticky;top:65px}.proj-filter-inner{max-width:var(--container);justify-content:space-between;align-items:center;gap:0;margin:0 auto;padding:0 40px;display:flex}.proj-filter-tabs{align-items:center;display:flex}.filt-tab{font-family:var(--font-mono);letter-spacing:.2em;color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:14px 18px;font-size:10.5px;transition:color .15s,border-color .15s;display:inline-flex}.filt-tab:hover{color:var(--text)}.filt-tab.is-active{color:var(--text-bright);border-bottom-color:var(--brand)}.filt-tab .filt-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.filt-tab[data-cat=sim] .filt-dot{background:var(--c-sim)}.filt-tab[data-cat=eng] .filt-dot{background:var(--c-eng)}.filt-tab[data-cat=sw] .filt-dot{background:var(--c-sw)}.filt-tab .filt-count{color:var(--text-dim);background:#ffffff0f;border-radius:3px;padding:1px 5px;font-size:9px}.filt-tab.is-active .filt-count{background:var(--brand-soft);color:var(--brand)}.proj-body{max-width:var(--container);margin:0 auto;padding:56px 40px 100px}.proj-section{margin-bottom:64px;transition:opacity .35s,transform .35s}.proj-section.is-hidden{display:none}.proj-section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px;padding-bottom:16px;display:flex;position:relative}.proj-section-head:before{content:"";width:48px;height:1px;position:absolute;bottom:-1px;left:0}.proj-section[data-cat=sim] .proj-section-head:before{background:var(--c-sim)}.proj-section[data-cat=eng] .proj-section-head:before{background:var(--c-eng)}.proj-section[data-cat=sw] .proj-section-head:before{background:var(--c-sw)}.proj-section-label{align-items:center;gap:12px;display:flex}.section-cat-badge{font-family:var(--font-mono);letter-spacing:.22em;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:9.5px;font-weight:600;display:inline-flex}.proj-section[data-cat=sim] .section-cat-badge{color:var(--c-sim);background:var(--c-sim-bg);border:1px solid var(--c-sim-border)}.proj-section[data-cat=eng] .section-cat-badge{color:var(--c-eng);background:var(--c-eng-bg);border:1px solid var(--c-eng-border)}.proj-section[data-cat=sw] .section-cat-badge{color:var(--c-sw);background:var(--c-sw-bg);border:1px solid var(--c-sw-border)}.proj-section-title{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-bright);font-size:19px;font-weight:700;line-height:1}.proj-section-desc{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.04em;max-width:480px;margin-top:5px;font-size:11px;line-height:1.5}.proj-section-count{font-family:var(--font-mono);letter-spacing:.2em;color:var(--text-dimmer);flex-shrink:0;font-size:10px}.proj-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=1100px){.proj-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.proj-grid{grid-template-columns:1fr}}.proj-card{border:1px solid var(--line-2);color:inherit;background:linear-gradient(160deg,#0e1e32e6,#081224f2);border-radius:10px;flex-direction:column;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.proj-card:before{content:"";opacity:0;height:1px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.proj-card[data-cat=sim]:before{background:linear-gradient(90deg, transparent, var(--c-sim), transparent)}.proj-card[data-cat=eng]:before{background:linear-gradient(90deg, transparent, var(--c-eng), transparent)}.proj-card[data-cat=sw]:before{background:linear-gradient(90deg, transparent, var(--c-sw), transparent)}.proj-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px #0006}.proj-card:hover:before{opacity:1}.proj-card[data-cat=sim]:hover{border-color:var(--c-sim-border)}.proj-card[data-cat=eng]:hover{border-color:var(--c-eng-border)}.proj-card[data-cat=sw]:hover{border-color:var(--c-sw-border)}.proj-card-accent{opacity:.5;border-radius:0 2px 2px 0;width:2px;transition:opacity .2s;position:absolute;top:18px;bottom:18px;left:0}.proj-card:hover .proj-card-accent{opacity:1}.proj-card[data-cat=sim] .proj-card-accent{background:var(--c-sim)}.proj-card[data-cat=eng] .proj-card-accent{background:var(--c-eng)}.proj-card[data-cat=sw] .proj-card-accent{background:var(--c-sw)}.proj-card-body{flex-direction:column;flex:1;gap:0;padding:20px 22px 16px 26px;display:flex}.proj-card-hdr{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.proj-card-id{font-family:var(--font-mono);letter-spacing:.18em;color:var(--text-dimmer);font-size:9px}.status-badge{font-family:var(--font-mono);letter-spacing:.18em;white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:9px;font-weight:600;display:inline-flex}.status-badge .dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.status-badge.active{color:#6fb89e;background:#6fb89e14;border:1px solid #6fb89e38}.status-badge.active .dot{background:#6fb89e;box-shadow:0 0 0 2px #6fb89e2e}.status-badge.beta{color:#6ba4d8;background:#6ba4d814;border:1px solid #6ba4d838}.status-badge.beta .dot{background:#6ba4d8}.status-badge.wip{color:#cf9a4a;background:#cf9a4a14;border:1px solid #cf9a4a38}.status-badge.wip .dot{background:#cf9a4a}.status-badge.research{color:#b8a4e0;background:#b8a4e014;border:1px solid #b8a4e038}.status-badge.research .dot{background:#b8a4e0}.proj-card-name{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text-bright);margin-bottom:10px;font-size:17px;font-weight:700;line-height:1.2;transition:color .15s}.proj-card:hover .proj-card-name{color:#fff}.proj-card-desc{font-family:var(--font-mono);color:var(--text-mute);letter-spacing:.02em;flex:1;margin-bottom:16px;font-size:11.5px;line-height:1.65}.proj-card-tech{flex-wrap:wrap;gap:5px;margin-bottom:0;display:flex}.tech-pill{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-dim);border:1px solid var(--line);background:#ffffff0a;border-radius:4px;padding:3px 8px;font-size:9px;transition:border-color .15s,color .15s}.proj-card:hover .tech-pill{border-color:var(--line-2);color:var(--text-mute)}.proj-card-foot{border-top:1px solid var(--line);background:#00000026;justify-content:space-between;align-items:center;gap:10px;padding:12px 22px 12px 26px;display:flex}.proj-card-links{align-items:center;gap:14px;display:flex}.proj-card-link{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-dim);align-items:center;gap:5px;font-size:9.5px;text-decoration:none;transition:color .15s;display:inline-flex}.proj-card[data-cat=sim] .proj-card-link:hover{color:var(--c-sim)}.proj-card[data-cat=eng] .proj-card-link:hover{color:var(--c-eng)}.proj-card[data-cat=sw] .proj-card-link:hover{color:var(--c-sw)}.proj-card-link svg{flex-shrink:0}.proj-empty{font-family:var(--font-mono);color:var(--text-dim);text-align:center;border:1px solid var(--line);background:#ffffff03;border-radius:10px;flex-direction:column;align-items:center;gap:14px;padding:80px 20px;display:none}.proj-empty.is-visible{display:flex}.proj-empty .label{letter-spacing:.22em;text-transform:uppercase;font-size:11px}@media (prefers-reduced-motion:no-preference){.proj-card{opacity:0;animation:.6s cubic-bezier(.16,1,.3,1) both cardIn;transform:translateY(20px)}@keyframes cardIn{to{opacity:1;transform:none}}.proj-section{animation:.5s cubic-bezier(.16,1,.3,1) both sectionIn}@keyframes sectionIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}@media (width<=900px){.proj-hero-inner{padding:0 24px}.proj-filter-inner{padding:0 24px;overflow-x:auto}.proj-body{padding:36px 24px 80px}}@media (width<=640px){.proj-hero-title{font-size:38px}.proj-body{padding:28px 16px 64px}}@media (width<=720px){.proj-card-link{padding:15px 0}.proj-crumb a{position:relative}.proj-crumb a:after{content:"";position:absolute;inset:-14px 0}}.proj-detail-tags{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.proj-detail-body{max-width:var(--container);margin:0 auto;padding:44px 36px 88px}.proj-detail-cover{object-fit:cover;border:1px solid var(--line-2);border-radius:10px;width:100%;max-height:420px;margin-bottom:36px}.proj-detail-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:44px;display:grid}.proj-detail-empty{color:var(--text-dim);font-size:15px;line-height:1.7}.proj-detail-panel{border:1px solid var(--line-2);background:#ffffff05;border-radius:10px;margin-bottom:14px;padding:16px 18px}.proj-detail-panel-k{font-family:var(--font-mono);letter-spacing:.2em;color:var(--text-dimmer);margin-bottom:12px;font-size:9.5px}.proj-detail-kv{grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:13px;display:grid}.proj-detail-kv dt{font-family:var(--font-mono);color:var(--text-dimmer);white-space:nowrap;font-size:11px}.proj-detail-kv dd{color:var(--text);overflow-wrap:anywhere;margin:0}.proj-detail-back{border-top:1px solid var(--line-2);margin-top:48px;padding-top:28px}@media (width<=900px){.proj-detail-grid{grid-template-columns:minmax(0,1fr);gap:32px}}@media (width<=640px){.proj-detail-body{padding:32px 20px 64px}}.contact-header{background:#071929;border-bottom:1px solid #408cdc2e;padding:56px 0 52px;position:relative;overflow:hidden}.contact-header-inner{z-index:2;max-width:var(--container);margin:0 auto;padding:0 36px;position:relative}.contact-crumb{font-family:var(--font-mono);letter-spacing:.24em;color:var(--text-dimmer);align-items:center;gap:8px;margin-bottom:28px;font-size:10px;display:inline-flex}.contact-crumb a{color:var(--text-dim);transition:color .14s}.contact-crumb a:hover{color:var(--text)}.contact-crumb .here{color:var(--brand)}.contact-crumb .sep{color:var(--text-dimmer)}.contact-header-body{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:48px;display:flex}.contact-header-left{flex:480px}.contact-title{font-family:"Space Grotesk", var(--font-sans);letter-spacing:-.02em;color:var(--text-bright);margin:0 0 14px;font-size:clamp(28px,3.5vw,44px);font-weight:700;line-height:1.1}.contact-subtitle{font-family:"Inter", var(--font-sans);color:var(--text-mute);max-width:520px;margin:0;font-size:14.5px;line-height:1.7}.contact-body{max-width:var(--container);grid-template-columns:1fr 1fr;align-items:stretch;gap:44px;margin:0 auto;padding:52px 36px 88px;display:grid}.sec-label{font-family:var(--font-mono);letter-spacing:.3em;color:var(--text-dimmer);border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:20px;padding-bottom:14px;font-size:9.5px;display:flex}.sec-label:before{content:"";background:var(--blue);width:10px;height:1px;display:inline-block}.directory-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dir-card{border:1px solid var(--line-2);border-radius:var(--r-lg);background:#ffffff05;border-top:1.5px solid #4691d733;flex-direction:column;gap:12px;padding:18px 18px 16px;text-decoration:none;transition:border-color .18s,background .18s;display:flex}.dir-card:hover{background:#ffffff08;border-color:#5aaaf061}.dir-card-icon{color:#5aaaf0;background:#4691d712;border:1px solid #4691d726;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .18s,border-color .18s;display:flex}.dir-card:hover .dir-card-icon{background:#4691d724;border-color:#4691d752}.dir-card-channel{font-family:var(--font-mono);letter-spacing:.26em;color:var(--text-dimmer);margin-bottom:3px;font-size:9px}.dir-card-value{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-bright);font-size:12.5px;font-weight:600}.dir-card-footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;margin-top:auto;padding-top:10px;display:flex}.dir-card-arrow{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-dim);align-items:center;gap:5px;font-size:10px;transition:color .14s;display:flex}.dir-card:hover .dir-card-arrow{color:#5aaaf0}.contact-form{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--bg-deep);border-top:1.5px solid #4691d738;flex-direction:column;flex:1;display:flex;overflow:hidden}.form-header{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#4691d712,#ffffff03);justify-content:space-between;align-items:center;padding:14px 22px;display:flex}.form-header-title{font-family:var(--font-mono);letter-spacing:.3em;color:#96c8f0a6;font-size:10px}.form-body{flex:1;padding:22px 22px 4px}.contact-body .field{margin-bottom:15px}.contact-body .field label{font-family:var(--font-mono);letter-spacing:.26em;color:var(--text-dim);margin-bottom:7px;font-size:9.5px;display:block}.contact-body .field input,.contact-body .field textarea,.contact-body .field select{background:var(--inset);border:1px solid var(--line-2);border-radius:var(--r-sm);width:100%;color:var(--text-bright);font-family:var(--font-mono);padding:11px 13px;font-size:12.5px;transition:border-color .15s}.contact-body .field input:focus,.contact-body .field textarea:focus,.contact-body .field select:focus{border-color:#4691d766;outline:none;box-shadow:0 0 0 3px #4691d712}.contact-body .field textarea{resize:vertical;min-height:108px;line-height:1.55}.contact-body .field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-footer{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding:14px 22px 18px;display:flex}.form-status{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-dim);align-items:center;gap:7px;font-size:10px;display:flex}.form-status .sdot{background:var(--green);border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 0 3px #5fa88c2e}.btn-submit{font-family:var(--font-mono);letter-spacing:.18em;border-radius:var(--r-sm);border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;align-items:center;gap:8px;padding:11px 22px;font-size:11px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.btn-submit:hover{background:var(--brand-2);border-color:var(--brand-2)}.btn-submit-full{letter-spacing:.22em;justify-content:center;width:100%;padding:14px 22px;font-size:12px}.contact-body .turnstile-wrap{align-items:center;min-height:65px;margin:4px 0 14px;display:flex}.tooltip-wrap{align-items:center;display:inline-flex;position:relative}.tooltip-icon{border:1px solid var(--line-2);width:16px;height:16px;font-family:var(--font-mono);color:var(--text-dim);cursor:help;background:#ffffff0f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:8px;font-size:9px;font-weight:700;line-height:1;transition:border-color .15s,color .15s;display:inline-flex}.tooltip-icon:hover{color:var(--text);border-color:#ffffff4d}.tooltip-box{border:1px solid var(--line-2);border-radius:var(--r);width:260px;font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-dim);opacity:0;pointer-events:none;z-index:10;background:#0f2538;padding:11px 14px;font-size:10px;line-height:1.6;transition:opacity 60ms;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.tooltip-box:before{content:"";border:5px solid #0000;border-bottom-color:var(--line-2);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.tooltip-box:after{content:"";border:5px solid #0000;border-bottom-color:#0f2538;position:absolute;bottom:calc(100% - 1px);left:50%;transform:translate(-50%)}.tooltip-box-right:before{border:5px solid #0000;border-right-color:var(--line-2);inset:50% 100% auto auto;transform:translateY(-50%)}.tooltip-box-right:after{border:5px solid #0000;border-right-color:#0f2538;inset:50% calc(100% - 1px) auto auto;transform:translateY(-50%)}.info-card{border:1px solid var(--line-2);border-radius:var(--r-lg);background:#ffffff05;border-top:1.5px solid #4691d733;flex-direction:column;flex:1;margin-top:12px;display:flex;overflow:hidden}.info-card-head{border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.3em;color:#96c8f0a6;background:linear-gradient(90deg,#4691d712,#ffffff03);padding:11px 16px;font-size:9.5px}.info-rows{flex-direction:column;flex:1;justify-content:center;display:flex}.email-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;text-decoration:none;transition:background .15s;display:flex}.email-row:last-child{border-bottom:0}.email-row:hover{background:#ffffff05}.email-role{font-family:var(--font-mono);letter-spacing:.18em;color:var(--text-dim);text-transform:uppercase;font-size:9.5px}.email-addr{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-bright);margin-top:4px;font-size:12px;font-weight:600}.email-row:hover .email-addr{color:var(--brand)}.email-row-arrow{color:var(--text-dimmer);flex-shrink:0}.email-row:hover .email-row-arrow{color:var(--brand)}.faq-section{background:var(--bg);border-top:1px solid var(--line);padding:56px 0 72px}.faq-section-inner{max-width:var(--container);margin:0 auto;padding:0 36px}.faq-section-title{font-family:"Space Grotesk", var(--font-sans);letter-spacing:-.01em;color:var(--text-bright);margin:0;font-size:22px;font-weight:700}.faq-section-sub{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-dim);margin-top:5px;font-size:11px}.faq-section-head{margin-bottom:32px}.faq-grid{grid-template-columns:1fr 1fr;gap:0 52px;display:grid}.faq-entry{border-bottom:1px solid var(--line);padding:22px 0}.faq-entry:first-child,.faq-entry:nth-child(2){border-top:1px solid var(--line)}.faq-q{font-family:"Space Grotesk", var(--font-sans);color:var(--text-bright);letter-spacing:-.01em;margin:0 0 9px;font-size:13.5px;font-weight:600}.faq-a{font-family:"Inter", var(--font-sans);color:var(--text-mute);margin:0;font-size:13px;line-height:1.7}@media (width<=720px){.contact-crumb a{position:relative}.contact-crumb a:after{content:"";position:absolute;inset:-14px 0}}@media (width<=900px){.contact-body .field input,.contact-body .field textarea,.contact-body .field select{font-size:16px}}@media (width<=960px){.contact-body{grid-template-columns:minmax(0,1fr);padding:44px 28px 72px}.contact-header{padding:48px 0 44px}.contact-header-inner{padding:0 28px}.faq-section{padding:48px 0 60px}.faq-section-inner{padding:0 28px}}@media (width<=480px){.directory-grid{grid-template-columns:minmax(0,1fr)}.info-card .email-row{position:relative}.info-card .email-addr .tooltip-wrap{position:static!important}.info-card .tooltip-box-right{width:auto!important;inset:auto 20px 6px!important;transform:none!important}}@media (width<=680px){.contact-header-body{flex-direction:column;gap:28px}.contact-header-left{flex:0 auto}.faq-grid{grid-template-columns:1fr}.faq-entry:nth-child(2){border-top:none}.contact-body{padding:32px 20px 64px}.contact-body .field-row{grid-template-columns:1fr}}@media (width<=420px){.contact-header{padding:36px 0}.contact-header-inner{padding:0 20px}}.lib-body,.lib-article,.lib-doc-page{font-family:var(--font-sans)}.accent-orange{--accent:var(--orange)}.accent-blue{--accent:var(--blue)}.accent-green{--accent:var(--green)}.accent-brand{--accent:var(--brand)}.lib-filter-wrap{z-index:30;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#0a1c2eeb;position:sticky;top:65px}.lib-filter-inner{max-width:var(--container);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:12px 36px;display:flex}.lib-search{flex:260px;max-width:360px;position:relative}.lib-search-icon{color:var(--text-dim);display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.lib-search-input{width:100%;font-family:var(--font-mono);color:var(--text-bright);background:var(--inset);border:1px solid var(--line-2);border-radius:var(--r);padding:10px 12px 10px 34px;font-size:12px;transition:border-color .16s}.lib-search-input::placeholder{color:var(--text-dim)}.lib-search-input:focus{border-color:var(--brand-ring);outline:none}.lib-filter-tabs{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.lib-tab{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-mute);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:9px 14px;font-size:10.5px;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.lib-tab:hover{color:var(--text-bright)}.lib-tab.is-active{color:var(--text-bright);border-color:var(--line-2);background:#ffffff0a}.lib-tab-dot{background:var(--accent,var(--brand));border-radius:50%;width:6px;height:6px}.lib-tab-count{color:var(--text-dim);font-size:9.5px}.lib-body{max-width:var(--container);margin:0 auto;padding:56px 36px 96px}.lib-section+.lib-section{margin-top:64px}.lib-section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:22px;padding-bottom:16px;display:flex;position:relative}.lib-section-head:before{content:"";background:var(--brand);width:48px;height:1px;position:absolute;bottom:-1px;left:0}.lib-section-title{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text-bright);margin:0;font-size:26px;font-weight:700}.lib-section-desc{color:var(--text-mute);margin:6px 0 0;font-size:13px}.lib-section-count{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-dim);white-space:nowrap;font-size:10px}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:18px;display:grid}.lib-card{background:var(--bg-deep);border:1px solid var(--line-2);border-radius:var(--r-lg);color:inherit;flex-direction:column;text-decoration:none;transition:border-color .18s,transform .18s;display:flex;overflow:hidden}a.lib-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent);transform:translateY(-3px)}.lib-card-img{aspect-ratio:16/6;background:radial-gradient(ellipse at 50% 120%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%), linear-gradient(160deg, #ffffff0d, #ffffff03);border-bottom:1px solid var(--line);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.lib-card-img img{object-fit:cover;width:100%;height:100%}.lib-card-glyph{opacity:.55;font-size:40px;line-height:1}.lib-card-body{flex-direction:column;flex:1;gap:8px;padding:16px 18px 14px;display:flex}.lib-card-pills{justify-content:space-between;align-items:center;gap:10px;display:flex}.lib-pill{font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent,var(--brand));background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:9px}.lib-card-read{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:10px}.lib-card-title{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text-bright);margin:0;font-size:18px;font-weight:700;line-height:1.3}.lib-card-desc{color:var(--text-mute);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.lib-card-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.lib-card-meta{font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:8px;font-size:10px;display:inline-flex}.lib-card-meta .dot{background:var(--text-dimmer);border-radius:50%;width:3px;height:3px}.lib-card-cta{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent,var(--brand));white-space:nowrap;align-items:center;gap:5px;font-size:10px;transition:gap .16s;display:inline-flex}a.lib-card:hover .lib-card-cta{gap:9px}.lib-arrow{transition:transform .16s}a.lib-card:hover .lib-arrow{transform:translate(3px)}.lib-doc-preview{background:radial-gradient(ellipse at 50% 130%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%), linear-gradient(160deg, #ffffff0d, #ffffff03);border-bottom:1px solid var(--line);justify-content:center;align-items:flex-end;height:132px;display:flex;position:relative;overflow:hidden}.lib-doc-sheet{background:#e9eef3;border-radius:3px 3px 0 0;width:92px;padding:12px 10px;transition:transform .18s;transform:rotate(-4deg)translateY(6px);box-shadow:0 6px 18px #00000059}a.lib-card:hover .lib-doc-sheet{transform:rotate(-2deg)translateY(4px)}.lib-doc-ext{font-family:var(--font-mono);letter-spacing:.1em;color:#fff;background:var(--brand);border-radius:2px;margin-bottom:7px;padding:2px 5px;font-size:8px;font-weight:700;display:inline-block}.lib-doc-line{background:#b9c6d2;border-radius:2px;height:3px;margin-bottom:5px;display:block}.lib-doc-line.w90{width:90%}.lib-doc-line.w70{width:70%}.lib-doc-line.w50{width:50%}.lib-card.is-soon{cursor:default}.lib-card.is-soon .lib-doc-preview,.lib-card.is-soon .lib-card-title{opacity:.75}.lib-doc-soon{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-dim);border:1px dashed var(--line-3);white-space:nowrap;border-radius:4px;padding:3px 7px;font-size:9.5px}.lib-origin{z-index:2;font-family:var(--font-mono);letter-spacing:.08em;border-radius:999px;padding:3px 9px;font-size:9.5px;position:absolute;top:10px;right:10px}.lib-origin.own{color:var(--green);background:color-mix(in srgb, var(--green) 14%, transparent);border:1px solid color-mix(in srgb, var(--green) 32%, transparent)}.lib-origin.external{color:var(--blue);background:color-mix(in srgb, var(--blue) 14%, transparent);border:1px solid color-mix(in srgb, var(--blue) 32%, transparent)}.lib-folder-shape{background:linear-gradient(165deg, color-mix(in srgb, var(--accent) 34%, #10243a), color-mix(in srgb, var(--accent) 12%, #0c1c2e));border:1px solid color-mix(in srgb, var(--accent) 38%, transparent);border-bottom:none;border-radius:0 4px 0 0;justify-content:center;align-items:center;width:104px;height:74px;transition:transform .18s;display:flex;position:relative;transform:rotate(-3deg)translateY(6px);box-shadow:0 6px 18px #00000059}.lib-folder-shape:before{content:"";background:color-mix(in srgb, var(--accent) 30%, #10243a);border:1px solid color-mix(in srgb, var(--accent) 38%, transparent);border-bottom:none;border-radius:4px 8px 0 0;width:44px;height:12px;position:absolute;top:-11px;left:-1px}a.lib-card:hover .lib-folder-shape{transform:rotate(-1deg)translateY(3px)}.lib-folder-glyph{color:var(--accent);opacity:.85;font-size:22px;line-height:1}.lib-folder-count{z-index:2;font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-dim);font-size:11px;font-weight:700;position:absolute;top:10px;right:12px}.lib-folder-list{flex-direction:column;gap:5px;margin:0 0 14px;padding:0;list-style:none;display:flex}.lib-folder-list li{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;padding-left:14px;font-size:10.5px;position:relative;overflow:hidden}.lib-folder-list li:before{content:"—";color:var(--accent);position:absolute;left:0}.lib-folder-list li.is-soon{color:var(--text-dimmer)}.lib-empty{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:80px 20px;display:flex}.lib-empty-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-mute);font-size:12px}.lib-about-strip{background:var(--bg-deep);border:1px solid var(--line-2);border-radius:var(--r-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:72px;padding:28px 30px;display:flex}.lib-article{background:var(--bg);padding:0 0 88px}.lib-article-inner{max-width:var(--container);margin:0 auto;padding:48px 36px 0}.lib-read-tags{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.lib-read-cat{font-family:var(--font-mono);letter-spacing:.24em;color:var(--accent,var(--brand));background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);border-radius:4px;padding:4px 11px;font-size:10px}.lib-meta-strip{background:var(--bg-deep);border-bottom:1px solid var(--line)}.lib-meta-strip-inner{max-width:var(--container);align-items:stretch;margin:0 auto;padding:0 36px;display:flex;overflow-x:auto}.lib-meta-item{border-right:1px solid var(--line);white-space:nowrap;flex-direction:column;flex-shrink:0;gap:4px;margin-right:28px;padding:16px 28px 16px 0;display:flex}.lib-meta-item:last-child{border-right:0;margin-right:0}.lib-meta-k{font-family:var(--font-mono);letter-spacing:.26em;color:var(--text-dimmer);font-size:9px}.lib-meta-v{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-bright);font-size:12px;font-weight:600}.lib-chapter+.lib-chapter{margin-top:8px}.lib-chapter-head{border-bottom:1px solid var(--line);margin:48px 0 18px;padding-bottom:14px}.lib-chapter:first-child .lib-chapter-head{margin-top:0}.lib-chapter-num{font-family:var(--font-mono);letter-spacing:.3em;color:var(--text-dimmer);align-items:center;gap:12px;margin-bottom:12px;font-size:9.5px;font-weight:700;display:flex}.lib-chapter-num:before{content:"";background:var(--orange);width:10px;height:1px;display:inline-block}.lib-chapter-head .lib-h2{margin:0}.lib-h2{font-family:var(--font-sans);letter-spacing:-.015em;color:var(--text-bright);text-wrap:balance;margin:48px 0 16px;scroll-margin-top:90px;font-size:28px;font-weight:700;line-height:1.25}.lib-p{color:var(--text);text-wrap:pretty;margin:0 0 22px;font-size:14.5px;line-height:1.75}.lib-list{flex-direction:column;gap:10px;margin:0 0 24px;padding-left:24px;display:flex}.lib-list li{color:var(--text);text-wrap:pretty;font-size:14.5px;line-height:1.75}.lib-list li::marker{color:var(--brand)}.lib-code{background:var(--bg-deep);border:1px solid var(--line-2);border-radius:var(--r);margin:0 0 24px;position:relative}.lib-code pre{margin:0;padding:16px 18px;overflow-x:auto}.lib-code code{font-family:var(--font-mono);color:var(--text-bright);white-space:pre;font-size:14px;line-height:1.7}.lib-code-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px 8px 18px;display:flex}.lib-code-lang{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-size:9.5px}.lib-code-copy{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-mute);border:1px solid var(--line-2);border-radius:var(--r-sm);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:5px 10px;font-size:10px;transition:color .16s,border-color .16s;display:inline-flex}.lib-code-copy:hover{color:var(--text-bright);border-color:var(--line-3)}.lib-code-copy.is-done{color:var(--green);border-color:color-mix(in srgb, var(--green) 40%, transparent)}.lib-quote{border-left:2px solid var(--brand);color:var(--text-bright);text-wrap:pretty;background:#be3a340d;margin:0 0 24px;padding:6px 0 6px 20px;font-size:14.5px;font-style:italic;line-height:1.65}.lib-figure{margin:0 0 24px}.lib-figure img{border:1px solid var(--line);border-radius:2px;width:100%;height:auto;display:block}.lib-end{max-width:var(--container);margin:0 auto;padding:0 36px}.lib-end-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;margin:64px 0 22px;padding-bottom:14px;display:flex;position:relative}.lib-end-head:before{content:"";background:var(--brand);width:48px;height:1px;position:absolute;bottom:-1px;left:0}.lib-end-title{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text-bright);margin:0;font-size:22px;font-weight:700}.lib-author-strip{background:var(--bg-deep);border:1px solid var(--line-2);border-radius:var(--r-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:44px;padding:24px 28px;display:flex}.lib-author-strip-name{font-family:var(--font-sans);color:var(--text-bright);margin:4px 0 2px;font-size:18px;font-weight:700}.lib-author-strip-role{color:var(--text-mute);font-size:13px}.lib-back-row{margin-top:40px}.lib-author-links{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.lib-author-link{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-mute);border:1px solid var(--line-2);border-radius:999px;padding:7px 14px;font-size:11px;text-decoration:none;transition:color .16s,border-color .16s}.lib-author-link:hover{color:var(--text-bright);border-color:var(--brand-ring)}.lib-doc-page{background:var(--bg);padding:40px 0 80px}.lib-doc-page-inner{max-width:var(--container);margin:0 auto;padding:0 36px}.lib-viewer{grid-template-columns:minmax(0,1fr) 320px;gap:22px;min-height:480px;display:grid}.lib-pdf{background:var(--bg-deep);border:1px solid var(--line-2);border-radius:var(--r-lg);min-height:78vh;overflow:hidden}.lib-pdf-frame{border:0;width:100%;height:100%;min-height:78vh;display:block}.lib-pdf-fallback{text-align:center;height:100%;color:var(--text-mute);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.lib-aside{background:var(--bg-deep);border:1px solid var(--line-2);border-radius:var(--r-lg);flex-direction:column;align-self:start;gap:14px;padding:22px;display:flex;position:sticky;top:88px}.lib-aside .lib-origin{align-self:flex-start;position:static}.lib-aside-title{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text-bright);margin:0;font-size:22px;font-weight:700;line-height:1.25}.lib-aside-desc{color:var(--text-mute);margin:0;font-size:13.5px;line-height:1.65}.lib-aside-meta{flex-direction:column;gap:0;margin:4px 0 0;display:flex}.lib-aside-meta>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;display:flex}.lib-aside-meta dt{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase;font-size:10px}.lib-aside-meta dd{color:var(--text-bright);text-align:right;margin:0;font-size:13px}.lib-download{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-bright);background:var(--brand);border-radius:var(--r);justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:11px;text-decoration:none;transition:background .16s;display:inline-flex}.lib-download:hover{background:var(--brand-2)}.lib-open-tab{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-mute);text-align:center;font-size:11px;text-decoration:none;transition:color .16s}.lib-open-tab:hover{color:var(--brand)}.lib-h3{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text-bright);text-wrap:balance;margin:32px 0 12px;scroll-margin-top:90px;font-size:19px;font-weight:700;line-height:1.3}.lib-list.is-ordered{list-style:decimal}.lib-list.is-ordered li::marker{font-family:var(--font-mono);font-size:.9em}.lib-list .lib-list{gap:8px;margin:10px 0 0}.lib-quote{white-space:pre-line}.lib-callout{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--panel);border-left-width:3px;margin:0 0 24px;padding:16px 18px}.lib-callout-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;margin:0 0 6px;font-size:9.5px;font-weight:700}.lib-callout-body{color:var(--text);white-space:pre-line;font-size:14.5px;line-height:1.75}.lib-callout-body>:last-child{margin-bottom:0}.lib-callout.is-note{border-left-color:var(--blue)}.lib-callout.is-note .lib-callout-label{color:var(--blue)}.lib-callout.is-warning{border-left-color:var(--orange)}.lib-callout.is-warning .lib-callout-label{color:var(--orange)}.lib-callout.is-important{border-left-color:var(--brand)}.lib-callout.is-important .lib-callout-label{color:var(--brand)}.lib-table-wrap{border:1px solid var(--line-2);border-radius:var(--r-sm);margin:0 0 24px;overflow-x:auto}.lib-table{border-collapse:collapse;width:100%;font-size:13.5px;line-height:1.6}.lib-table th,.lib-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 14px}.lib-table th{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);background:var(--inset);white-space:nowrap;font-size:10.5px;font-weight:700}.lib-table td{color:var(--text)}.lib-table tr:last-child td{border-bottom:0}.lib-hr{border:0;border-top:1px solid var(--line-3);width:64px;margin:36px auto}.lib-figure figcaption{font-family:var(--font-mono);color:var(--text-mute);text-align:center;margin-top:10px;font-size:11px;line-height:1.6}.lib-inline-code{font-family:var(--font-mono);border:1px solid var(--line);background:var(--inset);color:var(--text-bright);white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:.88em}.lib-inline-img{vertical-align:middle;border-radius:3px;max-width:100%}.lib-p s,.lib-list s,.lib-callout-body s{color:var(--text-mute)}.inline-toc-list li.is-sub{padding-left:22px}.inline-toc-list li.is-sub .itoc-num{opacity:0}@media (width<=720px){.lib-h3{margin:26px 0 10px;font-size:17px}.lib-table th,.lib-table td{padding:8px 11px}}@media (width<=980px){.lib-viewer{grid-template-columns:1fr}.lib-pdf,.lib-pdf-frame{min-height:62vh}.lib-aside{position:static}}@media (width<=720px){.lib-end-head .lib-card-cta{padding:15px 0}.lib-tab,.lib-article .doc-comment-submit,.lib-author-link{min-height:44px}.lib-tab,.lib-author-link{padding-top:12px;padding-bottom:12px}.lib-filter-inner,.lib-body,.lib-article-inner,.lib-doc-page-inner,.lib-meta-strip-inner,.lib-end{padding-left:20px;padding-right:20px}.lib-body{padding-top:40px}.lib-search{max-width:none}.lib-about-strip,.lib-author-strip{padding:22px 20px}}@media (width<=560px){.lib-article-inner,.lib-end{padding-left:18px;padding-right:18px}.lib-h2{margin-top:40px}}.lib-article .doc-comments{border-top:1px solid var(--line);margin-top:52px;padding-top:32px}.lib-article .doc-comments-head{align-items:center;gap:10px;margin-bottom:22px;display:flex}.lib-article .doc-comments-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-bright);margin:0;font-size:20px;font-weight:700}.lib-article .doc-comments-count{font-family:var(--font-mono);color:var(--text-mute);background:var(--bg-deep);border:1px solid var(--line-2);border-radius:999px;padding:2px 9px;font-size:11px}.lib-article .doc-comment-form{border:1px solid var(--line);border-radius:var(--r-lg);background:#0c1c2d66;flex-direction:column;gap:10px;margin-bottom:34px;padding:18px;display:flex}.lib-article .doc-comment-form.is-reply{background:var(--bg-deep);margin:12px 0 4px;padding:14px}.lib-article .doc-comment-input,.lib-article .doc-comment-textarea{width:100%;font-family:var(--font-sans);color:var(--text-bright);background:var(--bg-deep);border:1px solid var(--line-2);border-radius:var(--r);resize:vertical;padding:12px 14px;font-size:14px;transition:border-color .16s}.lib-article .doc-comment-form.is-reply .doc-comment-input,.lib-article .doc-comment-form.is-reply .doc-comment-textarea{background:var(--bg)}.lib-article .doc-comment-input::placeholder,.lib-article .doc-comment-textarea::placeholder{color:var(--text-dim)}.lib-article .doc-comment-input:focus,.lib-article .doc-comment-textarea:focus{border-color:var(--brand-ring,#be3a3473);outline:none}.lib-article .doc-comment-form-foot{justify-content:space-between;align-items:center;display:flex}.lib-article .doc-comment-hint{font-family:var(--font-mono);color:var(--text-dim);font-size:10px}.lib-article .doc-comment-error{color:var(--brand);border:1px solid var(--brand-ring,#be3a344d);border-radius:var(--r-sm);background:#be3a3414;padding:8px 12px;font-size:12.5px}.lib-article .doc-comment-submit{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-bright);background:var(--brand);border-radius:var(--r);cursor:pointer;border:none;padding:9px 20px;font-size:11px;transition:background .16s,opacity .16s}.lib-article .doc-comment-submit:hover{background:var(--brand-2,#962a25)}.lib-article .doc-comment-submit:disabled{opacity:.4;cursor:not-allowed}.lib-article .doc-comments-empty{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-dim);margin:0;font-size:12px}.lib-article .doc-comment-list{flex-direction:column;gap:24px;margin:0;padding:0;list-style:none;display:flex}.lib-article .doc-comment{gap:14px;display:flex}.lib-article .doc-comment-avatar{width:38px;height:38px;font-family:var(--font-mono);color:var(--text-bright);background:linear-gradient(145deg, var(--blue,#5f93bf), var(--bg-deep));border:1px solid var(--line-2);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.lib-article .doc-comment-avatar.is-author{background:linear-gradient(145deg, var(--brand), var(--brand-2,#962a25));border-color:#ffffff29}.lib-article .doc-comment.is-reply .doc-comment-avatar{width:30px;height:30px;font-size:10.5px}.lib-article .doc-comment-body{flex:1;min-width:0}.lib-article .doc-comment-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:5px;display:flex}.lib-article .doc-comment-name{color:var(--text-bright);font-size:13.5px;font-weight:600}.lib-article .doc-comment-badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand);border:1px solid var(--brand-ring,#be3a344d);background:#be3a341a;border-radius:999px;align-items:center;gap:4px;padding:2px 8px 2px 6px;font-size:9.5px;display:inline-flex}.lib-article .doc-comment-badge svg{display:block}.lib-article .doc-comment-dot{background:var(--text-dimmer);border-radius:50%;width:3px;height:3px}.lib-article .doc-comment-date{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}.lib-article .doc-comment-text{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14.5px;line-height:1.6}.lib-article .doc-comment-replies{border-left:1px solid var(--line-2);flex-direction:column;gap:18px;margin:16px 0 0;padding:0 0 0 18px;list-style:none;display:flex}@media (width<=900px){.lib-search-input,.lib-article .doc-comment-input,.lib-article .doc-comment-textarea{font-size:16px}}@font-face{font-family:Inter;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/inter-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}@font-face{font-family:Inter;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/space-grotesk-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}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/space-grotesk-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display;font-style:normal;font-weight:600 900;font-display:swap;src:url(/fonts/big-shoulders-display-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}@font-face{font-family:Big Shoulders Display;font-style:normal;font-weight:600 900;font-display:swap;src:url(/fonts/big-shoulders-display-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#0e263b;--bg-2:#102c42;--bg-deep:#0c2031;--panel:#132c41;--inset:#0a1d2f;--line:#fff1;--line-2:#ffffff1c;--line-3:#ffffff30;--text-bright:#eef3f8;--text:#b8c8d6;--text-mute:#7090a4;--text-dim:#4f6880;--text-dimmer:#384f63;--brand:#be3a34;--brand-2:#962a25;--brand-soft:#be3a341a;--brand-ring:#be3a344d;--orange:#cf9a4a;--blue:#5f93bf;--green:#5fa88c;--violet:#8e7bb8;--r-sm:6px;--r:10px;--r-lg:14px;--font-mono:"JetBrains Mono", ui-monospace, monospace;--font-sans:"Inter", -apple-system, system-ui, sans-serif;--container:1280px}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);min-height:100vh;font-size:13px;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#ffffff24}.topnav{z-index:50;border-bottom:1px solid var(--line);background:linear-gradient(#14304a 0%,#102a40 100%);position:sticky;top:0}.topnav-inner{max-width:var(--container);justify-content:space-between;align-items:center;gap:32px;margin:0 auto;padding:18px 36px;display:flex}.brand{color:var(--text-bright);align-items:center;gap:0;text-decoration:none;display:flex}.brand-logo{width:auto;height:32px;display:block}.nav-links{align-items:center;gap:40px;margin-left:auto;display:flex}.nav-link{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text);border-bottom:1px solid #0000;padding:8px 0;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.nav-link:hover{color:var(--text-bright)}.nav-link.is-active{color:var(--text-bright);border-bottom-color:var(--brand)}.nav-item{align-items:center;gap:6px;display:flex;position:relative}.nav-caret{color:var(--text-dim);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:8px 2px;transition:transform .2s cubic-bezier(.16,1,.3,1),color .15s;display:flex;position:relative}.nav-caret:after{content:"";position:absolute;inset:-10px -25px -10px -6px}.nav-item:hover .nav-caret,.nav-caret.is-open{color:var(--text-bright)}.nav-caret.is-open{transform:scaleY(-1)}.nav-menu{border:1px solid var(--line-2);border-radius:var(--r-sm);opacity:0;visibility:hidden;z-index:60;background:#071929;flex-direction:column;min-width:178px;margin-top:12px;padding:6px;transition:opacity .15s,transform .15s,visibility .15s;display:flex;position:absolute;top:100%;left:-14px;transform:translateY(-4px);box-shadow:0 18px 40px #00000073}.nav-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}.nav-menu:before{content:"";height:12px;position:absolute;top:-12px;left:0;right:0}.nav-menu-link{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text-dim);border-left:2px solid #0000;border-radius:4px;padding:11px 14px;font-size:12px;font-weight:500;transition:color .14s,background .14s,border-color .14s}.nav-menu-link:hover{color:var(--text-bright);border-left-color:var(--brand);background:#ffffff0a}.nav-menu-link.is-active{color:var(--text-bright);border-left-color:var(--brand)}.nav-cta{font-family:var(--font-mono);letter-spacing:.14em;background:var(--brand);color:#fff;border-radius:var(--r-sm);border:1px solid var(--brand);padding:13px 24px;font-size:13px;font-weight:600;transition:background .15s}.nav-cta:hover{background:var(--brand-2)}.btn{font-family:var(--font-mono);letter-spacing:.14em;border-radius:var(--r-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:16px 32px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-primary:hover{background:var(--brand-2)}.btn-ghost{color:var(--text-bright);border:1px solid var(--line-3);background:0 0}.btn-ghost:hover{background:#ffffff08;border-color:#ffffff52}#root{flex-direction:column;min-height:100vh;display:flex}#root>.site-footer{margin-top:auto}#root>*{width:100%}section.panel{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:120px 0}.container{max-width:var(--container);margin:0 auto;padding:0 36px}.eyebrow{font-family:var(--font-mono);letter-spacing:.22em;color:var(--text-dim);margin-bottom:14px;font-size:11px}.section-title{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text-bright);margin:0;font-size:42px;font-weight:800;line-height:1.05}@media (width<=380px){.turnstile-box{transform-origin:0;transform:scale(.88)}}.bp-header{background:#071929;border-bottom:1px solid #408cdc2e;padding:56px 0 52px;position:relative;overflow:hidden}.bp-grid{z-index:0;pointer-events:none;background-image:linear-gradient(#4691d70b 1px,#0000 1px),linear-gradient(90deg,#4691d70b 1px,#0000 1px),linear-gradient(#4691d717 1px,#0000 1px),linear-gradient(90deg,#4691d717 1px,#0000 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px;position:absolute;inset:0}.bp-fade{z-index:1;pointer-events:none;background:radial-gradient(at 0%,#071929b3 0%,#0000 60%);position:absolute;inset:0}.bp-header-inner{z-index:2;max-width:var(--container);margin:0 auto;padding:0 36px;position:relative}.bp-crumb{font-family:var(--font-mono);letter-spacing:.22em;color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px 7px;margin-bottom:26px;font-size:10px;display:flex}.bp-crumb a{color:var(--text-dim);transition:color .15s}.bp-crumb a:hover{color:var(--text)}.bp-crumb .sep{color:var(--text-dimmer)}.bp-crumb .here{color:var(--brand)}.bp-title{font-family:"Space Grotesk", var(--font-sans);letter-spacing:-.02em;color:var(--text-bright);text-wrap:balance;-webkit-font-smoothing:antialiased;margin:0 0 14px;font-size:clamp(30px,4vw,50px);font-weight:700;line-height:1.08}.bp-title .accent{color:var(--brand)}.bp-sub{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-dim);max-width:660px;margin:0;font-size:12px;line-height:1.7}@media (width<=720px){.bp-header{padding:40px 0 36px}.bp-header-inner{padding:0 20px}}.inline-toc{font-family:"Inter", var(--font-sans);border:1px solid var(--line-2);border-radius:var(--r-lg);background:#0c1c2e8c;min-width:260px;max-width:400px;margin-bottom:32px;display:inline-block;overflow:hidden}.inline-toc-label{font-family:"Inter", var(--font-sans);color:var(--text);appearance:none;text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0000;border-radius:0;outline:none;align-items:center;gap:14px;width:100%;padding:11px 18px;font-size:14px;font-weight:500;transition:background .14s;display:flex}.inline-toc-label:hover{background:#ffffff08}.inline-toc-label[aria-expanded=true]{border-bottom-color:var(--line-2)}.inline-toc-label[aria-expanded=true] .toc-arrow{transform:scaleY(-1)}.inline-toc-count{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-dimmer);white-space:nowrap;margin-left:auto;font-size:9.5px;font-weight:600;transition:color .14s}.inline-toc-label:hover .inline-toc-count{color:var(--text-dim)}.toc-arrow{color:var(--text-dim);flex-shrink:0;align-items:center;transition:transform .25s cubic-bezier(.16,1,.3,1),color .14s;display:flex}.inline-toc-label:hover .toc-arrow{color:var(--text-bright)}.inline-toc-list[hidden]{display:none}.inline-toc-list{flex-direction:column;margin:0;padding:6px 0;list-style:none;display:flex}.inline-toc-list a{font-family:"Inter", var(--font-sans);color:var(--text-dim);border-left:2px solid #0000;align-items:center;gap:14px;padding:8px 18px;font-size:13px;font-weight:500;text-decoration:none;transition:color .14s,background .14s,border-color .14s;display:flex}.inline-toc-list a:hover{color:var(--text-bright);border-left-color:var(--brand);background:#ffffff08}.inline-toc-list a:hover .itoc-num{color:var(--brand)}.itoc-num{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-dimmer);flex-shrink:0;min-width:20px;font-size:9.5px;font-weight:700;transition:color .14s}@media (width<=680px){.inline-toc{min-width:0;max-width:100%;display:block}}.page-header{border-bottom:1px solid var(--line);background:radial-gradient(at 70% 30%,#6aa4d80f,#0000 60%),linear-gradient(#0f283b 0%,#0a1d2d 100%);padding:96px 0 80px;position:relative;overflow:hidden}.page-header .grid-overlay{pointer-events:none;background-image:linear-gradient(90deg,#ffffff06 1px,#0000 1px),linear-gradient(#ffffff06 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 80%);mask-image:radial-gradient(#000 30%,#0000 80%)}.page-header-inner{z-index:2;max-width:var(--container);margin:0 auto;padding:0 36px;position:relative}.page-title{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text-bright);margin:0;font-size:clamp(48px,7vw,88px);font-weight:900;line-height:.95}.page-title .accent{color:var(--brand)}.page-sub{max-width:620px;font-family:var(--font-sans);color:var(--text-mute);margin-top:22px;font-size:17px;line-height:1.6}.page-crumb{font-family:var(--font-mono);letter-spacing:.22em;color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:22px;font-size:11px;display:inline-flex}.page-crumb .sep{color:var(--text-dimmer)}.page-crumb .here{color:var(--brand)}.contribute{background:var(--bg-deep);border-top:1px solid var(--line);padding:64px 0}.contribute-row{max-width:var(--container);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:48px;margin:0 auto;padding:0 36px;display:flex}.contribute-copy .eyebrow{margin-bottom:18px}.contribute-copy h3{font-family:var(--font-sans);color:var(--text-bright);margin:0 0 8px;font-size:28px;font-weight:700}.contribute-copy h3 .sep{color:var(--text-dimmer);margin:0 12px;font-weight:400}.contribute-copy .small{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.contribute-actions{gap:12px;display:flex}.site-footer{border-top:1px solid var(--line);background:#08182a}.site-footer-top{max-width:var(--container);grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:48px;margin:0 auto;padding:56px 36px 44px;display:grid}.footer-brand{min-width:0}.footer-logo{width:auto;height:26px;margin-bottom:16px;display:block}.footer-tagline{max-width:380px;font-family:var(--font-sans);color:var(--text-dim);margin:0 0 22px;font-size:13px;line-height:1.65}.footer-col{min-width:0}.footer-col-head{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute);margin:0 0 16px;font-size:10px;font-weight:600}.footer-col ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.footer-col a{font-family:var(--font-sans);color:var(--text-dim);font-size:13.5px;transition:color .15s}.footer-col a:hover{color:var(--text-bright)}.site-footer-inner{max-width:var(--container);border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.08em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:18px 36px;font-size:11px;display:flex}.footer-meta{align-items:center;gap:10px;display:flex}.footer-meta a{color:var(--text-dim);transition:color .15s}.footer-meta a:hover{color:var(--text-bright)}.footer-meta .sep{color:var(--text-dimmer)}.footer-social{align-items:center;gap:10px;display:flex}.social-btn{border:1px solid var(--line-2);border-radius:var(--r-sm);width:34px;height:34px;color:var(--text-dim);background:#ffffff05;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s,transform .15s;display:inline-flex}.social-btn:hover{border-color:var(--line-3);background:#ffffff0d;transform:translateY(-2px)}.social-btn[aria-label=GitHub]:hover{color:#e6edf3}.social-btn[aria-label=LinkedIn]:hover{color:#0a66c2}.social-btn[aria-label=YouTube]:hover{color:red}.social-btn[aria-label=Discord]:hover{color:#5865f2}.social-btn svg{width:16px;height:16px;display:block}@media (width<=720px){.footer-social{gap:8px}}@media (hover:none) and (pointer:coarse){.social-btn{width:44px;height:44px}.footer-col ul{gap:0}.footer-col a{padding:14px 0;display:block}.footer-meta a{align-items:center;min-height:44px;display:inline-flex}}.mnav-toggle{border:1px solid var(--line-2);border-radius:var(--r-sm);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin-left:auto;padding:0;display:none}.mnav-toggle span{background:var(--text-bright);border-radius:2px;width:18px;height:2px;transition:transform .26s cubic-bezier(.16,1,.3,1),opacity .2s;display:block}.mnav-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.mnav-toggle.is-open span:nth-child(2){opacity:0}.mnav-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mnav-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;z-index:90;background:#06101c9e;transition:opacity .28s;position:fixed;inset:0}.mnav-backdrop.is-open{opacity:1;pointer-events:auto}.mnav-drawer{border-left:1px solid var(--line-2);z-index:95;background:linear-gradient(#14304a 0%,#0d2236 100%);flex-direction:column;width:min(82vw,340px);padding:0;transition:transform .32s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-24px 0 60px #00000080}.mnav-drawer.is-open{transform:translate(0)}.mnav-drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.mnav-drawer-title{font-family:var(--font-mono);letter-spacing:.26em;color:var(--text-dim);font-size:11px}.mnav-close{border:1px solid var(--line-2);border-radius:var(--r-sm);width:34px;height:34px;color:var(--text-mute);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:flex}.mnav-close:hover{color:var(--text-bright);border-color:var(--line-3)}.mnav-list{flex-direction:column;flex:1;padding:14px 14px 0;display:flex;overflow-y:auto}.mnav-link{min-height:52px;font-family:var(--font-mono);letter-spacing:.12em;color:var(--text);border-radius:var(--r-sm);border-bottom:1px solid var(--line);align-items:center;padding:0 12px;font-size:14px;font-weight:600;transition:background .15s,color .15s;display:flex}.mnav-link:last-child{border-bottom:none}.mnav-link:hover,.mnav-link:active{color:var(--text-bright);background:#ffffff0a}.mnav-link.is-active{color:var(--brand)}.mnav-sub{color:var(--text-dim);padding-left:26px;font-size:12.5px;font-weight:500}.mnav-sub:before{content:"";background:var(--line-3);flex-shrink:0;width:10px;height:1px;margin-right:10px}.mnav-foot{border-top:1px solid var(--line);padding:16px 18px 22px}.mnav-cta{width:100%;min-height:50px;font-family:var(--font-mono);letter-spacing:.14em;background:var(--brand);color:#fff;border-radius:var(--r-sm);justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:background .15s;display:flex}.mnav-cta:hover{background:var(--brand-2)}@media (width<=980px){.nav-links{gap:24px}.nav-link{font-size:12px}}@media (width<=720px){.brand{position:relative}.brand:after{content:"";position:absolute;inset:-9px -8px}.bp-crumb a,.page-crumb a{position:relative}.bp-crumb a:after,.page-crumb a:after{content:"";position:absolute;inset:-14px 0}.social-btn{width:44px;height:44px}.topnav-inner{gap:16px;padding:14px 20px}.nav-links,.topnav-inner>.nav-cta{display:none}.mnav-toggle{display:flex}section.panel{padding:72px 0}.page-header{padding:64px 0 56px}.section-title{font-size:30px}.container,.page-header-inner{padding:0 20px}.contribute-row{flex-flow:column;align-items:flex-start;padding:0 20px}.contribute-row>*{min-width:0;max-width:100%}.contribute-actions{flex-wrap:wrap}.contribute{padding:48px 0}.site-footer-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 20px;padding:40px 20px 32px}.footer-brand{grid-column:1/-1}.site-footer-inner{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 20px}}@media (width<=480px){.topnav-inner{padding:12px 16px}.brand-logo{height:26px}.site-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));padding:34px 16px 28px}.site-footer-inner{padding:14px 16px;font-size:10px}}
