.v3{--bg:#dddbd5;--paper-hi:#ecebe5;--panel:#e5e3dd;--panel-2:#d5d3cc;--ink:#121212;--muted:#4c4e52;--line:#121212;--hair:#1212122b;--accent:#121212;--accent-dim:#55575a;--green:#121212;--well:#121212;--star:#ecebe5;--shadow:none;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain-blend:multiply;--grain-opacity:.3;--extrude-fill:var(--paper-hi);--extrude-stroke:var(--ink);--extrude-shadow:var(--ink);background:var(--bg)}
:root[data-theme=dark] .v3{--bg:#161616;--paper-hi:#1f1f1f;--panel:#1b1b1b;--panel-2:#262626;--ink:#e8e6e0;--muted:#a5a5a1;--line:#e8e6e0;--hair:#e8e6e02b;--accent:#e8e6e0;--accent-dim:#9a9a96;--green:#e8e6e0;--well:#050505;--star:#e8e6e0;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain-blend:screen;--grain-opacity:.1;--extrude-fill:#e8e6e0;--extrude-stroke:#161616;--extrude-shadow:#62625e}
body.v3::after{content:'';position:fixed;inset:0;z-index:40;pointer-events:none;background-image:var(--grain);background-size:180px;opacity:var(--grain-opacity);mix-blend-mode:var(--grain-blend)}
.v3 em{font-family:inherit;color:inherit}.v3 ::selection{color:var(--bg);background:var(--ink)}
.v3 .site-header{border-bottom:0;min-height:86px}.v3 .site-header nav a{font:600 12px var(--sans);letter-spacing:2.4px;text-transform:uppercase}.v3 .site-header nav a[aria-current=page]{text-decoration:underline 1.5px;text-underline-offset:8px}.v3 .brand{font-weight:700;letter-spacing:3px;text-transform:uppercase;font-size:16px}.v3 .eyebrow{font:600 10px/1.6 var(--mono);letter-spacing:2.6px;color:var(--ink)}
/* Extruded display type. The self-hosted face has one weight, so a same-colour
   stroke thickens it, a shadow ring draws the outline and two offsets extrude it. */
.v3 :is(.extrude,.section-intro h2,.clarity-section h2,.guide-section h2,.sponsor-band h2,.doc-header h1,.sponsor-page h1){font-family:var(--sans);font-weight:400;text-transform:uppercase;color:var(--extrude-fill);-webkit-text-stroke:.04em var(--extrude-fill);text-shadow:0.03em 0em 0 var(--extrude-stroke),-0.03em 0em 0 var(--extrude-stroke),0em 0.03em 0 var(--extrude-stroke),0em -0.03em 0 var(--extrude-stroke),0.021em 0.021em 0 var(--extrude-stroke),-0.021em -0.021em 0 var(--extrude-stroke),0.021em -0.021em 0 var(--extrude-stroke),-0.021em 0.021em 0 var(--extrude-stroke),.06em .06em 0 var(--extrude-shadow),.085em .085em 0 var(--extrude-shadow);letter-spacing:.025em;line-height:1.02}
.v3 :is(.clarity-section,.sponsor-band){--extrude-fill:var(--well);--extrude-stroke:var(--star);--extrude-shadow:var(--star)}
/* Faux weight for titles, since the face has no bold. */
.v3 :is(.flip strong,.surface-select strong,.clarity-list h3,.install-grid h3,.guide-links h3,.sky-meta,.brand){-webkit-text-stroke:.028em currentColor;letter-spacing:.02em}
.v3 .button{border-radius:999px;border:1.5px solid var(--ink);font:600 11px var(--mono);letter-spacing:1.6px;text-transform:uppercase;padding:15px 24px;display:inline-flex;gap:12px;align-items:center;transition:background .2s,color .2s}.v3 .button.primary{background:var(--ink);color:var(--bg)}.v3 .button.primary:hover{background:transparent;color:var(--ink)}.v3 .button.secondary{background:transparent;color:var(--ink)}.v3 .button.secondary:hover{background:var(--ink);color:var(--bg)}.v3 .text-link{font:600 11px var(--mono);letter-spacing:1.5px;text-transform:uppercase;border-bottom:1.5px solid currentColor;padding-bottom:3px}
.hero-v3{position:relative;isolation:isolate;overflow:hidden;min-height:max(720px,calc(100svh - 86px));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px 50px}.hero-v3>canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.sky-wells{position:absolute;inset:0;z-index:-2;pointer-events:none}.sky-wells i{position:absolute;border-radius:50%;background:var(--well)}.sky-wells i:nth-child(1){left:-14%;top:52%;width:42%;height:90%}.sky-wells i:nth-child(2){left:75%;top:3%;width:16%;height:56%}.sky-wells i:nth-child(3){left:76%;top:60%;width:36%;height:80%}.has-gl .sky-wells i{visibility:hidden}
.sky-hub{position:absolute;left:83%;top:26%;width:clamp(92px,8.4vw,146px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;color:var(--star)}.sky-planet{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--star);background:repeating-linear-gradient(0deg,var(--star) 0 1px,transparent 1px 6px)}.has-gl .sky-planet{border-color:transparent;background:none}.sky-hub small{position:absolute;top:calc(100% + 34px);left:50%;transform:translateX(-50%);font:600 8px var(--mono);letter-spacing:2.6px;white-space:nowrap}
.sky-stars{position:absolute;inset:0;z-index:2;pointer-events:none}.sky-star{position:absolute;display:flex;align-items:center;gap:12px;padding:6px;transform:translate(-10px,-50%);pointer-events:auto}.sky-star.flip{flex-direction:row-reverse;transform:translate(calc(-100% + 10px),-50%)}.sky-star i{width:8px;height:8px;border-radius:50%;background:var(--star);flex:none}.has-gl .sky-star i{background:transparent}.sky-star span{font:11px var(--mono);color:var(--star);background:var(--well);border:1px solid color-mix(in srgb,var(--star) 40%,transparent);border-radius:999px;padding:5px 12px;white-space:nowrap;transition:background .2s,color .2s}.sky-star small{font-size:inherit;opacity:.65}.sky-star[aria-pressed=true] span,.sky-star:hover span{background:var(--star);color:var(--well)}
.s0{left:11%;top:70%}.s1{left:21%;top:87%}.s2{left:85%;top:76%}.s3{left:94%;top:90%}.s4{left:80%;top:50%}
.hero-v3-copy{position:relative;z-index:3;max-width:1180px;pointer-events:none}.hero-v3-copy :is(a,button){pointer-events:auto}.hero-v3-copy .extrude{font-size:clamp(52px,7vw,112px);white-space:nowrap;margin:22px 0 28px}.hero-v3-line{font:13px/1.8 var(--mono);letter-spacing:.6px;max-width:520px;margin:auto}.hero-v3 .actions{justify-content:center;margin-top:30px;gap:14px}
.sky-readout{margin-top:46px;display:grid;justify-items:center;gap:8px}.sky-note{font:13px/1.6 var(--mono);letter-spacing:.5px;min-height:1.6em}.sky-meta{font:600 13px var(--sans);letter-spacing:.3px}.sky-controls{display:flex;align-items:center;gap:12px;margin-top:10px}.sky-controls button{width:38px;height:38px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:13px;line-height:1}.sky-controls button:hover{background:var(--ink);color:var(--bg)}.sky-count{display:flex;align-items:center;gap:10px;font:11px var(--mono);color:var(--muted)}.sky-count b{font-weight:400;color:var(--ink)}.sky-count i{width:46px;height:1px;background:var(--ink)}.sky-sample{font:8px var(--mono);letter-spacing:1.6px;color:var(--muted);margin-top:6px}
.v3 .product-strip{border-block:1.5px solid var(--ink);font:600 11px var(--sans);letter-spacing:2.6px;color:var(--ink)}
.v3 .section-intro{max-width:none;margin-bottom:55px;display:grid;grid-template-columns:1fr minmax(0,360px);align-items:end;column-gap:50px}.v3 .section-intro .eyebrow{grid-column:1/-1}.v3 .section-intro>p:last-child{position:static}.v3 .section-intro .eyebrow{margin-bottom:22px}.v3 .section-intro h2{font-size:clamp(44px,5.4vw,82px)}.v3 .section-intro>p:last-child{font:13px/1.8 var(--mono);color:var(--muted);max-width:360px}
.v3 .product-section,.v3 .install-section,.v3 .primer-v3{padding-block:110px}.v3 .surface-select button{border-color:var(--ink)}.v3 .surface-select button>span:first-child,.v3 .surface-arrow{color:var(--ink)}.v3 .surface-select strong{font-weight:700;text-transform:uppercase;letter-spacing:.2px}.v3 .surface-select p{font-family:var(--mono);font-size:12px}.v3 .surface-select button[aria-selected=true]:before{background:var(--ink)}
.v3 .surface-panel{border:1.5px solid var(--ink);border-radius:28px;overflow:hidden;background:var(--paper-hi);box-shadow:8px 8px 0 var(--ink)}.v3 .window-chrome{border-color:var(--ink);background:var(--panel)}.v3 .window-chrome i:first-child{background:var(--ink)}.v3 .mini-table>div,.v3 .panel-link{border-color:var(--hair)}.v3 .mini-nav strong{border-color:var(--ink)}.v3 .panel-link{color:var(--ink);font:600 11px var(--mono);letter-spacing:1px;text-transform:uppercase}
.flip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.flip{position:relative;min-height:290px;perspective:1100px;text-align:left;padding:0}.flip-face{position:absolute;inset:0;display:flex;flex-direction:column;padding:30px;border:1.5px solid var(--ink);border-radius:28px;background:var(--paper-hi);backface-visibility:hidden;transition:transform .6s cubic-bezier(.3,.7,.2,1)}.flip-back{transform:rotateY(180deg);background:var(--well);color:var(--star);border-color:var(--well)}.flip[aria-expanded=true] .flip-front{transform:rotateY(-180deg)}.flip[aria-expanded=true] .flip-back{transform:rotateY(0)}
.flip-top{display:flex;justify-content:space-between;align-items:start;font:11px var(--mono);letter-spacing:1px}.flip-glyph{width:46px;height:46px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:18px}.flip strong{margin-top:auto;font:700 clamp(24px,2.3vw,34px)/1.05 var(--sans);text-transform:uppercase;letter-spacing:-.3px}.flip-hint{font:600 10px var(--mono);letter-spacing:1.6px;margin-top:14px;color:var(--muted)}.flip-body{font:13px/1.75 var(--mono);margin-top:auto}.flip-back small{font:600 10px/1.6 var(--mono);letter-spacing:1px;text-transform:uppercase;margin-top:18px;opacity:.7}.flip:hover .flip-front{box-shadow:6px 6px 0 var(--ink)}.flip:focus-visible{outline:0}.flip:focus-visible .flip-face{outline:2px solid var(--ink);outline-offset:4px}
/* Dark wells for bands: a rounded field with a sparse, static starfield. */
.v3 .clarity-section,.v3 .sponsor-band{--line:color-mix(in srgb,var(--star) 26%,transparent);--muted:color-mix(in srgb,var(--star) 72%,transparent);--ink:var(--star);background-color:var(--well);color:var(--star);background-image:radial-gradient(1.2px 1.2px at 22px 34px,var(--star) 50%,transparent 60%),radial-gradient(1px 1px at 140px 90px,var(--star) 50%,transparent 60%),radial-gradient(1.6px 1.6px at 210px 20px,var(--star) 50%,transparent 60%),radial-gradient(1px 1px at 80px 150px,var(--star) 50%,transparent 60%);background-size:260px 190px;border:0;border-radius:44px}
.v3 .clarity-section{margin-inline:clamp(16px,2.5vw,44px);padding-block:110px}.v3 .clarity-section .eyebrow,.v3 .clarity-list article>span{color:var(--star)}.v3 .clarity-section h2{font-size:clamp(40px,4.4vw,66px)}.v3 .clarity-list h3{font-weight:700;text-transform:uppercase;font-size:19px;letter-spacing:.2px}.v3 .clarity-list p{font-family:var(--mono);font-size:12px}.v3 .clarity-section .text-link{color:var(--star)}
.v3 .install-grid{border-top:0;gap:26px}.v3 .install-grid>article{border:1.5px solid var(--ink);border-radius:28px;padding:32px;background:var(--paper-hi)}.v3 .install-number{color:var(--ink);font-size:10px;font-weight:600;border:1.5px solid var(--ink);border-radius:999px;padding:5px 12px;display:inline-block}.v3 .install-grid h3{font-weight:700;text-transform:uppercase;font-size:24px;letter-spacing:-.2px}.v3 .install-grid>article>p{font-family:var(--mono)}.v3 .code-block{background:var(--well);color:var(--star);border-color:var(--well);border-radius:18px;overflow:hidden}.v3 .code-top{border-color:color-mix(in srgb,var(--star) 22%,transparent);color:color-mix(in srgb,var(--star) 70%,transparent)}.v3 .code-top button{color:var(--star)}.v3 .version-note strong{color:var(--ink);font-weight:600}
.v3 .guide-section{border-top:1.5px solid var(--ink);padding-block:110px}.v3 .guide-section h2{font-size:clamp(40px,4.4vw,66px)}.v3 .guide-section>div>p:not(.eyebrow){font-family:var(--mono)}.v3 .guide-links a{border-bottom:1.5px solid var(--ink);align-items:center;padding:26px 0}.v3 .guide-links a:first-child{padding-top:26px;border-top:1.5px solid var(--ink)}.v3 .guide-links a>span{color:var(--ink);padding:0}.v3 .guide-links a>span:last-child{width:46px;height:46px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;flex:none;transition:background .2s,color .2s}.v3 .guide-links a:hover>span:last-child{background:var(--ink);color:var(--bg)}.v3 .guide-links a:hover h3{color:var(--ink)}.v3 .guide-links h3{font-weight:700;font-size:21px;text-transform:uppercase}.v3 .guide-links p{font-family:var(--mono)}
.v3 .sponsor-band{margin-block:40px 90px;padding:60px clamp(28px,4vw,64px)}.v3 .sponsor-band h2{font-size:clamp(28px,3vw,44px);line-height:1.05}.v3 .sponsor-band .eyebrow{color:var(--star)}.v3 .sponsor-glyph{color:var(--star)}.v3 .sponsor-band .button.primary{background:var(--star);color:var(--well);border-color:var(--star)}.v3 .sponsor-band .button.primary:hover{background:transparent;color:var(--star)}
.v3 .site-footer{background:var(--paper-hi);border-top:1.5px solid var(--ink)}.v3 .footer-grid h2{color:var(--ink);font-weight:600}
.v3 .doc-header h1{font-size:clamp(40px,4.6vw,68px)}.v3 .sponsor-page h1{font-size:clamp(40px,5vw,76px)}.v3 .guide-card,.v3 .sponsor-options a{border:1.5px solid var(--ink);border-radius:24px}
@media(max-width:850px){
  .hero-v3{min-height:1080px;justify-content:flex-start;padding-top:46px}.hero-v3-copy .extrude{font-size:clamp(40px,11.4vw,90px)}.sky-readout{margin-top:34px}
  .sky-wells i:nth-child(1){left:-40%;top:73%;width:100%;height:50%}.sky-wells i:nth-child(2){left:54%;top:63%;width:52%;height:23%}.sky-wells i:nth-child(3){left:40%;top:88%;width:90%;height:40%}
  .sky-hub{left:80%;top:74%;width:76px}.sky-hub small{display:none}
  .s4{flex-direction:row-reverse;transform:translate(calc(-100% + 10px),-50%)}
  .s0{left:10%;top:86%}.s1{left:28%;top:95%}.s2{left:60%;top:96%}.s3{left:94%;top:98.5%}.s4{left:64%;top:77%}
  .v3 .section-intro{display:block}.v3 .section-intro>p:last-child{margin-top:22px}.flip-grid{grid-template-columns:1fr 1fr}.v3 .clarity-section,.v3 .sponsor-band{border-radius:30px}
}
@media(max-width:600px){.v3 .site-header nav a{font-size:10px;letter-spacing:1.2px}.flip-grid{grid-template-columns:1fr}.flip{min-height:240px}.hero-v3-line br{display:none}.v3 .sponsor-band{flex-direction:column;align-items:start}.v3 .sponsor-band .button{margin-left:0}}
@media(prefers-reduced-motion:reduce){.v3 *{transition:none!important}}
