:root{color-scheme:light;--bg:#fbfbfd;--surface:#ffffffe0;--surface-strong:#fff;--surface-soft:#eef1f5;--border:#0c121c29;--text:#05080d;--muted:#384050;--accent:#0079b5;--accent-strong:#004a6d;--accent-soft:#0079b524;--official-badge-bg:#0079b529;--official-badge-border:#0079b557;--official-badge-text:#004a6d;--community-badge-bg:#bd7b1129;--community-badge-border:#bd7b115c;--community-badge-text:#6f4405;--shadow:0 18px 50px #0a121e1a;--code-bg:#0a1623;--code-text:#eaf3ff;--bg-glow-a:#39a7ff24;--bg-glow-b:#0079b529}:root[data-theme=dark]{color-scheme:dark;--bg:#07080a;--surface:#121316e0;--surface-strong:#131418;--surface-soft:#1b1c21;--border:#ffffff1a;--text:#f4f5f7;--muted:#b8bcc4;--accent:#4db5ff;--accent-strong:#8ecdff;--accent-soft:#4db5ff29;--official-badge-bg:#4db5ff24;--official-badge-border:#4db5ff52;--official-badge-text:#a8d4ff;--community-badge-bg:#e8ad4d29;--community-badge-border:#e8ad4d57;--community-badge-text:#ffd799;--shadow:0 24px 60px #00000080;--code-bg:#050608;--code-text:#eaf3ff;--bg-glow-a:#4db5ff0d;--bg-glow-b:#0079b50f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem;font-size:80%}body{background:radial-gradient(circle at top left, var(--bg-glow-a), transparent 28%), radial-gradient(circle at top right, var(--bg-glow-b), transparent 24%), var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}p{font-size:1.22rem;line-height:1.65}img{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong)}pre,code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}main{display:block}.container{width:min(1200px,100% - 2.5rem);margin:0 auto}.section{padding:4.5rem 0}main{isolation:isolate}main>section{z-index:1;background:var(--bg);position:relative}main>section.section-tinted{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}main>.section-tinted:last-child{border-bottom:none}.section-header{max-width:none;margin-bottom:2rem}.section-header h2,.hero-head h1{letter-spacing:-.03em;margin:0;line-height:1.08}.hero-head h1{max-width:none;font-size:clamp(2.35rem,4vw,3.85rem);line-height:.98}.hero-head h1 em{font-style:italic}.section-header h2{font-size:clamp(2rem,3vw,2.9rem)}.section-header p,.hero-lede,.hero-mission,.content-card p,.code-panel p,.footer-intro p{color:var(--muted);text-wrap:pretty}.section-header p{max-width:none}.section-eyebrow,.card-eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .8rem;font-size:.82rem;font-weight:700}.skip-link{z-index:100;background:var(--accent);color:#fff;border-radius:.9rem;padding:.75rem 1rem;position:absolute;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:50;background:color-mix(in srgb, var(--bg) 78%, transparent);border-bottom:1px solid var(--border);backdrop-filter:blur(18px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:5rem;display:flex}.brand{align-items:center;display:inline-flex}.brand-logo{width:min(10.5rem,34vw);height:auto}.site-nav{align-items:center;gap:1.2rem;display:flex}.site-nav a{color:var(--muted);font-weight:600}.header-actions{align-items:center;gap:.75rem;display:flex}.header-install{border:1px solid var(--border);background:var(--surface-strong);opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .35rem .25rem .8rem;transition:opacity .18s,transform .18s;display:none;transform:translateY(-4px)}@media (width>=900px){.header-install{display:inline-flex}}.header-install.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.header-install-command{color:var(--text);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.header-install-command:before{content:"$";color:color-mix(in srgb, var(--text) 45%, transparent);user-select:none;margin-right:.4rem}.header-install .copy-button{width:1.9rem;height:1.9rem}.button,.copy-button{font:inherit}.button{border:1px solid var(--border);border-radius:.95rem;justify-content:center;align-items:center;min-height:2.9rem;padding:.75rem 1.1rem;font-weight:700;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.button:hover,.copy-button:hover{transform:translateY(-1px)}.button-primary{background:linear-gradient(135deg, var(--accent), #4db5ff);color:#fff;box-shadow:var(--shadow);border-color:#0000}.button-secondary{background:var(--surface-strong);color:var(--text)}.hero-icon-button{border-radius:999px;width:3rem;min-width:auto;padding:0}.hero-button-icon{stroke:currentColor;width:1.25rem;height:1.25rem}.hero-button-icon-fill{fill:currentColor;stroke:none}.header-docs{min-height:auto;padding-inline:1rem}.copy-button{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 88%, transparent);width:2.3rem;height:2.3rem;min-height:auto;color:var(--muted);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:inline-grid}.copy-button--with-label{align-items:center;gap:.4rem;width:auto;height:2.3rem;padding:0 .85rem;display:inline-flex}.copy-button-label{letter-spacing:.01em;font-size:.85rem;font-weight:600}.copy-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:.95rem;height:.95rem}.copy-icon-check{display:none}.copy-button[data-copy-state=copied]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.copy-button[data-copy-state=copied] .copy-icon-copy{display:none}.copy-button[data-copy-state=copied] .copy-icon-check{display:block}.hero{padding-top:2.8rem;padding-bottom:1.8rem}#why-pyvista.section{padding-top:3rem}.hero-shell{gap:1.25rem;display:grid}.hero-topcards{grid-template-columns:minmax(0,1.55fr) minmax(18rem,.75fr);align-items:center;gap:1rem;display:grid}.hero-head{min-width:0;padding:.2rem 0 .45rem}.section-split{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);align-items:start;gap:1.35rem;display:grid}.hero-utility-row{max-width:100%;display:block}.hero-mission{max-width:none;margin:1rem 0 0;font-size:1.28rem}.hero-actions-row{justify-items:center;gap:.9rem;display:grid}.button-row{flex-wrap:wrap;justify-content:center;gap:.85rem;margin:1.5rem 0 1rem;display:flex}.hero-utility-row .button-row{margin:0}.button-row-compact,.section-actions{margin-top:1.25rem}.badge-list{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.badge-link,.status-pill{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:var(--surface-soft);min-height:2rem;color:var(--muted);border-radius:999px;align-items:center;padding:.3rem .72rem;font-size:.86rem;font-weight:700;display:inline-flex}.status-official{background:var(--official-badge-bg);border-color:var(--official-badge-border);color:var(--official-badge-text)}.status-community{background:var(--community-badge-bg);border-color:var(--community-badge-border);color:var(--community-badge-text)}.numfocus-lockup{border:1px solid var(--border);background:var(--surface-strong);min-height:4.8rem;box-shadow:var(--shadow);color:var(--text);border-radius:1rem;justify-items:center;gap:.45rem;padding:1rem 1.15rem .9rem;display:inline-grid}.numfocus-lockup img{width:auto;height:2.75rem}.numfocus-lockup-inline{min-height:4.35rem;padding:.95rem 1rem .82rem}.numfocus-tag{background:color-mix(in srgb, var(--accent) 18%, var(--surface-soft));min-height:1.05rem;color:var(--accent);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.05rem .36rem;font-size:.58rem;font-weight:700;display:inline-flex}.code-panel,.content-card,.feature-visual,.hero-shot{background:var(--surface-strong);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1.5rem}.code-panel,.content-card{padding:1.3rem}.code-panel{overflow:hidden}.install-strip{border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow);border-radius:1.1rem;align-self:stretch;align-items:center;gap:.6rem;margin-top:0;padding:1rem 1.1rem;display:flex}.install-inline{flex:1;gap:.35rem;min-width:0;display:grid}.install-command:before{content:"$";color:color-mix(in srgb, var(--code-text) 45%, transparent);user-select:none;margin-right:.6rem}.install-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:700}.install-command{background:var(--code-bg);max-width:100%;min-height:2.9rem;color:var(--code-text);white-space:nowrap;border:1px solid #ffffff14;border-radius:1rem;align-items:center;margin-right:.3rem;padding:.7rem 1rem;font-size:1.05rem;display:inline-flex;overflow:auto hidden}.section-header-trust{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;display:grid}.section-header-trust-text{min-width:0}.section-header-trust-text p{margin:.6rem 0 0}.panel-topline,.project-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.panel-topline>span{color:var(--text);font-size:.95rem;font-weight:700}.panel-topline-actions{align-items:center;gap:.5rem;display:inline-flex}.code-block :global(pre.shiki){border-radius:inherit;box-shadow:none;border:none;margin:0;overflow-x:auto;background:#24292e!important;padding:1.1rem 1.45rem!important}.code-block :global(code){font-size:.93rem}.code-block{background:#24292e;border:1px solid #ffffff0d;border-radius:1.15rem;padding:0 .4rem;overflow-x:auto}.plain-block{white-space:pre-wrap;word-break:break-word;background:var(--code-bg);color:var(--code-text);border:1px solid #ffffff0d;border-radius:1.1rem;margin:0;padding:1rem;overflow-x:auto}.hero-media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;min-height:0;display:grid}.hero-shot,.feature-visual{position:relative;overflow:hidden}.visual-link{width:100%;height:100%;color:inherit;border-radius:inherit;text-decoration:none;display:block;position:relative}.visual-link:after{content:"";border-radius:inherit;pointer-events:none;transition:box-shadow .2s,background .2s;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000}.visual-link:hover:after,.visual-link:focus-visible:after{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 55%, white 12%);background:linear-gradient(#0000 45%,#0710191a)}.hero-shot{aspect-ratio:.86}.hero-shot img,.feature-visual img{object-fit:cover;width:100%;height:100%;display:block}.hero-shot figcaption{color:var(--text);background:0 0;padding:.8rem .95rem .95rem;font-size:.88rem;font-weight:700;position:static}.feature-visual figcaption{color:#fff;backdrop-filter:blur(10px);background:#08131dc7;border-radius:999px;padding:.45rem .75rem;font-size:.86rem;font-weight:700;position:absolute;bottom:1rem;left:1rem}.hero-shot .visual-link{grid-template-rows:minmax(0,1fr) auto;display:grid}.card-grid{gap:1rem;display:grid}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.example-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.5rem}.resource-card-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}.ecosystem-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-card h3,.footer-links strong{margin:0;font-size:.98rem}.accent-card{background:linear-gradient(180deg, var(--surface-strong), color-mix(in srgb, var(--accent-soft) 38%, var(--surface-strong)))}.link-card,.project-card{border-radius:1.1rem;height:100%;padding:1rem 1.1rem}.project-card h3{font-size:1rem}.project-card p{margin:0 0 .75rem;font-size:.92rem}.project-card .project-header{margin-bottom:.55rem}.project-card .status-pill{letter-spacing:.04em;text-transform:uppercase;min-height:1.6rem;padding:.15rem .55rem;font-size:.7rem;font-weight:600}.resource-card{flex-direction:column;display:flex}.resource-card p{margin-bottom:1.25rem}.card-action{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-soft) 75%, transparent);min-height:2.5rem;color:var(--text);border-radius:.85rem;justify-content:center;align-items:center;padding:.55rem .85rem;font-weight:700;display:inline-flex}.resource-card .card-action{width:100%;margin-top:auto}.card-action-muted{background:0 0}.card-link-row{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.feature-visual{aspect-ratio:4/3;min-height:20rem}.example-top-grid .feature-visual{aspect-ratio:3/2;min-height:0;margin-top:0}.example-tabs{gap:1.1rem;margin-top:1.5rem;display:grid}.example-tab-list{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.4rem;padding-bottom:.1rem;display:flex}.example-tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:.7rem .7rem 0 0;margin-bottom:-1px;padding:.55rem 1.05rem;font-size:.95rem;font-weight:600}.example-tab:hover{color:var(--text)}.example-tab[aria-selected=true]{color:var(--text);background:var(--surface-strong);border-color:var(--border)}.example-comparison-caption{color:var(--muted);text-wrap:pretty;max-width:80ch;margin:0 0 1rem}.example-comparison-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.example-comparison-pyvista{gap:1rem;display:grid}.example-comparison-pyvista .feature-visual{aspect-ratio:3/2}.example-gallery-grid .feature-visual{aspect-ratio:1.25;min-height:0}.citation-section{max-width:none}.contributor-grid{flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.contributor-link{border:1px solid var(--border);background:var(--surface-strong);width:3rem;height:3rem;box-shadow:var(--shadow);border-radius:999px;transition:transform .15s,box-shadow .15s,border-color .15s;display:block;overflow:hidden}.contributor-link img{object-fit:cover;width:100%;height:100%;display:block}.contributor-link:hover,.contributor-link:focus-visible{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));transform:translateY(-2px);box-shadow:0 10px 24px #0f1f322e}.citation-actions,.citation-stack{gap:1rem;display:grid}.citation-actions{grid-template-columns:repeat(auto-fit,minmax(180px,max-content));margin-bottom:1rem}.citation-stat{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface-strong);border-radius:1rem;flex-wrap:wrap;align-items:baseline;gap:.75rem 1.25rem;margin:.5rem 0 1.5rem;padding:1rem 1.25rem;display:flex}.citation-stat-figure{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.citation-stat-number{letter-spacing:-.02em;color:var(--accent);font-size:clamp(2.2rem,4vw,3rem);font-weight:700;line-height:1}.citation-stat-label{color:var(--text);font-size:1.05rem;font-weight:600}.citation-stat-source{color:var(--muted);margin-left:auto;font-size:.88rem}.citation-highlights{margin:1.5rem 0 1.75rem}.citation-highlights h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem;font-size:1rem;font-weight:700}.citation-highlights ul{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.citation-highlights li{border:1px solid var(--border);background:var(--surface-strong);border-radius:.85rem;padding:.75rem 1rem}.citation-highlights li a{color:var(--text);text-wrap:pretty;font-weight:600;display:block}.citation-highlights li a:hover{color:var(--accent)}.citation-highlights li p{color:var(--muted);margin:.2rem 0 0;font-size:.88rem}.site-footer{border-top:1px solid var(--border);background:var(--surface-soft);padding:4.5rem 0 2.5rem}.footer-grid{backdrop-filter:blur(18px);grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:1.5rem;display:grid}.footer-intro{gap:.6rem;display:grid}.footer-intro p{margin:0}.footer-contact{gap:.25rem;margin:0;font-style:normal;display:grid}.footer-contact span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:700}.footer-email{font-size:1.02rem;font-weight:700}.footer-logo{width:min(14rem,60vw);height:auto}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.footer-links a{background:0 0;border:none;gap:.15rem;padding:0;display:grid}.footer-links span{color:var(--muted)}@media (width<=1080px){.resource-card-grid,.ecosystem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.site-nav,.header-docs{display:none}.header-inner{justify-content:center}.hero-utility-row,.hero-topcards,.hero-grid,.section-header-trust,.section-split,.example-comparison-grid,.feature-grid,.footer-grid{grid-template-columns:minmax(0,1fr)}.example-top-grid .feature-visual{margin-top:0}.feature-visual{min-height:0}}@media (width<=720px){.container{width:min(1200px,100% - 1.5rem)}.section{padding:3.6rem 0}.header-inner{flex-wrap:wrap;padding-block:.85rem}.button-row,.citation-actions{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.hero-actions-row .button-row{flex-direction:row;justify-content:center;align-items:center}.install-strip{justify-content:space-between}.card-grid{gap:.4rem}.hero-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.hero-media-grid .hero-shot:nth-child(3){display:none}.hero-shot,.example-gallery-grid .feature-visual{box-shadow:none;border:none;border-radius:.75rem}.hero-shot figcaption{padding:.5rem .65rem .7rem;font-size:.82rem}.footer-links{grid-template-columns:1fr}}.steward-banner{z-index:60;border-top:1px solid var(--border);background:var(--surface-strong);position:fixed;inset:auto 0 0;box-shadow:0 -10px 30px #0a121e1f}:root[data-theme=dark] .steward-banner{box-shadow:0 -10px 30px #0006}body{padding-bottom:4.25rem}.steward-banner-inner{align-items:center;gap:1.5rem;padding:.7rem 0;display:flex}.steward-banner img{flex:none;width:5.5rem;height:auto}.steward-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.steward-title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.steward-statement{color:var(--muted);text-wrap:pretty;margin:0;font-size:.92rem;line-height:1.4}.steward-link{white-space:nowrap;color:#18a87f;flex:none;align-items:center;gap:.4rem;font-weight:700;display:inline-flex}:root[data-theme=dark] .steward-link{color:#4ecda5}.steward-link span{transition:transform .18s}.steward-link:hover{color:#4ecda5}.steward-link:hover span{transform:translate(3px)}@media (width<=720px){.steward-banner-inner{flex-wrap:wrap;align-items:center;gap:.45rem .75rem;padding:.6rem 0}.steward-text{flex:100%;order:1}.steward-title{font-size:.98rem}.steward-statement{display:none}.steward-banner img{order:2;width:5rem}.steward-link{order:3;margin-left:auto}body{padding-bottom:5rem}}
