﻿:root{--color-accent: #00a5f9;--color-accent-dark: #007fc4;--color-ink: #2c3e50;--color-body: #5a6b7b;--color-muted: #8a99a8;--color-line: #e6ebef;--color-bg: #ffffff;--color-bg-alt: #f6f8fa;--color-dark: #222d35;--font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;--font-body: "Lato", "Helvetica Neue", Arial, sans-serif;--font-hero: "IBM Plex Sans", "Montserrat", "Helvetica Neue", Arial, sans-serif;--container: 1140px;--container-narrow: 820px;--radius: 4px;--shadow: 0 10px 30px rgba(34, 45, 53, .08)}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:18px;line-height:1.7;color:var(--color-body);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-ink);line-height:1.25;font-weight:700}a{color:var(--color-accent-dark);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}.container--narrow{max-width:var(--container-narrow)}.skip-link{position:absolute;left:-999px;top:0;background:var(--color-accent);color:#fff;padding:10px 16px;z-index:1000}.skip-link:focus{left:8px;top:8px}.site-header{position:sticky;top:0;z-index:100;background:hsla(0,0%,100%,.96);backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--color-line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:16px}.brand{display:flex;align-items:center;line-height:1}.brand:hover{text-decoration:none}.brand-logo{display:block;width:auto;height:52px;max-width:min(280px,58vw)}.header-right{display:flex;align-items:center;gap:14px;margin-left:auto}.header-actions{display:flex;align-items:center;gap:8px}.header-action{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--color-ink);border:1px solid var(--color-line);border-radius:50%;transition:color .15s ease,background .15s ease,border-color .15s ease}.header-action:hover{color:var(--color-accent-dark);background:rgba(0,165,249,.08);border-color:rgba(0,165,249,.32)}.header-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.header-action svg.icon-brand{width:19px;height:19px;fill:currentColor;stroke:none}.header-cta{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 17px;color:#fff;background:var(--color-accent);border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:.9rem;white-space:nowrap;transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.header-cta:hover{color:#fff;background:var(--color-accent-dark);box-shadow:0 4px 14px rgba(0,165,249,.35);transform:translateY(-1px)}.header-cta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.site-nav .menu{list-style:none;display:flex;align-items:center;gap:4px;margin:0;padding:0}.menu-item{position:relative}.menu-item>a{position:relative;display:block;padding:10px 14px;color:var(--color-ink);font-family:var(--font-display);font-weight:500;font-size:.92rem;border-radius:var(--radius);transition:color .18s ease}.site-nav>.menu>.menu-item>a::before{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;background:var(--color-accent);border-radius:999px;transform:scaleX(0);transform-origin:center;transition:transform .18s ease,opacity .18s ease;opacity:.55}.menu-item>a:hover{color:var(--color-accent-dark);text-decoration:none}.site-nav>.menu>.menu-item>a:hover::before{transform:scaleX(1)}.menu-item>a:focus-visible{outline:2px solid rgba(0,165,249,.45);outline-offset:2px;text-decoration:none}.menu-item>a.active{font-weight:700;color:var(--color-accent-dark);text-decoration:none}.site-nav>.menu>.menu-item>a.active::before{height:3px;opacity:1;transform:scaleX(1)}.has-children.is-active>a::after{color:var(--color-accent-dark)}.has-children>a::after{content:"▾";font-size:.7em;margin-left:6px;color:var(--color-muted)}.submenu{list-style:none;margin:0;padding:6px;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:all .18s ease}.submenu .submenu{top:-7px;left:100%}.menu-item:hover>.submenu,.menu-item:focus-within>.submenu{opacity:1;visibility:visible;transform:translateY(0)}.submenu .menu-item>a{padding:8px 12px;font-size:.88rem;border-radius:3px}.submenu .menu-item>a:hover{background:rgba(0,165,249,.07)}.submenu .menu-item>a.active{background:rgba(0,0,0,0);box-shadow:inset 0 -2px 0 var(--color-accent)}.submenu .has-children>a::after{content:"▸";float:right}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:40px;background:none;border:1px solid var(--color-line);border-radius:var(--radius);cursor:pointer}.nav-toggle span{display:block;height:2px;width:22px;margin:0 auto;background:var(--color-ink);transition:.2s}.hero{position:relative;min-height:min(760px,78vh);display:flex;align-items:center;text-align:center;overflow:hidden;background:#06151d}.hero-parallax{position:absolute;inset:0;background:linear-gradient(180deg, rgba(4, 14, 20, 0.24), rgba(4, 14, 20, 0.72)),radial-gradient(circle at 50% 34%, rgba(7, 20, 29, 0.18), rgba(3, 10, 15, 0.78) 72%),url("../img/cosyverif-hero-bg.webp");background-attachment:fixed;background-position:center;background-size:cover;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(0, 165, 249, 0.16), transparent 30%, transparent 70%, rgba(0, 165, 249, 0.12)),linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 28%, transparent 72%, rgba(0, 0, 0, 0.22));mix-blend-mode:screen;opacity:.72}.hero::after{content:"";position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(180deg, transparent, rgba(6, 21, 29, 0.58));pointer-events:none}.hero-inner{position:relative;z-index:1;width:100%;color:#fff}.hero-kicker{display:inline-flex;align-items:center;gap:.6em;margin:0 0 1rem;color:rgba(210,237,252,.86);font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero-kicker::before,.hero-kicker::after{content:"";display:block;width:28px;height:1px;background:rgba(151,218,255,.6)}.hero-title{font-family:var(--font-hero);color:#fff;font-size:clamp(3.15rem,8vw,6.1rem);font-weight:700;line-height:.96;letter-spacing:0;margin:0 0 .24em;text-shadow:0 16px 42px rgba(0,0,0,.52)}.hero-subtitle{font-size:clamp(1.05rem,2.1vw,1.36rem);font-weight:400;line-height:1.62;max-width:720px;margin:0 auto 1.8em;color:rgba(232,246,255,.92);text-shadow:0 2px 18px rgba(0,0,0,.48)}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:1px;text-transform:uppercase;padding:14px 36px;border-radius:var(--radius);border:2px solid rgba(0,0,0,0);cursor:pointer;transition:.2s}.btn--primary{background:var(--color-accent);color:#fff}.btn--primary:hover{background:var(--color-accent-dark);border-color:#fff;color:#fff;text-decoration:none}.btn--secondary{color:#fff;background:hsla(0,0%,100%,.08);border-color:rgba(205,236,255,.72);backdrop-filter:blur(8px)}.btn--secondary:hover{color:var(--color-ink);background:hsla(0,0%,100%,.95);border-color:#fff;text-decoration:none}.partners{background:var(--color-bg-alt);border-bottom:1px solid var(--color-line);padding:36px 0}.partner-strip{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:48px}.partner-strip img{max-height:56px;width:auto;transition:.2s}.partner-strip a:hover img{transform:translateY(-2px)}.partner-strip a[title=CNRS] img{max-height:64px}.section{padding:72px 0}.section--alt{background:var(--color-bg-alt)}.section-title{font-size:clamp(1.6rem,4vw,2.2rem);text-align:center;margin:0 0 .9em;position:relative}.section-title::after{content:"";display:block;width:56px;height:3px;background:var(--color-accent);margin:.6em auto 0;border-radius:3px}.section p{margin:0 0 1.1em}.video-embed{position:relative;padding-top:56.25%;margin:2em 0 0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.feature-grid{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));gap:24px;max-width:980px}.feature{position:relative;display:flex;flex-direction:column;min-height:220px;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius);padding:32px 30px;text-align:left;box-shadow:0 1px 0 rgba(34,45,53,.04);overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.feature::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:var(--color-accent)}.feature-figure{display:flex;align-items:center;margin-bottom:26px}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;color:var(--color-accent-dark);background:linear-gradient(135deg, rgba(0, 165, 249, 0.14), rgba(0, 165, 249, 0.04));border:1px solid rgba(0,165,249,.24);border-radius:8px}.feature-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.feature-icon--extensible{color:#007fc4}.feature-icon--interface{color:#167f5f;background:linear-gradient(135deg, rgba(22, 127, 95, 0.14), rgba(22, 127, 95, 0.04));border-color:rgba(22,127,95,.24)}.feature-icon--services{color:#6353b8;background:linear-gradient(135deg, rgba(99, 83, 184, 0.14), rgba(99, 83, 184, 0.04));border-color:rgba(99,83,184,.24)}.feature:hover{transform:translateY(-4px);border-color:rgba(0,165,249,.38);box-shadow:0 16px 34px rgba(34,45,53,.12)}.feature h3{color:var(--color-ink);margin:0 0 .65em;font-size:1.25rem}.feature p{margin:0;color:var(--color-body)}.people-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3, 1fr);gap:28px;max-width:760px;margin-inline:auto}.person-card{text-align:center}.person-avatar{width:110px;height:110px;margin:0 auto 16px;border-radius:50%;display:block;object-fit:cover;object-position:center;border:3px solid #fff;box-shadow:var(--shadow)}.person-card h3{margin:0;font-size:1.05rem}.lead-dev{max-width:640px;margin:48px auto 0;display:flex;align-items:center;gap:28px;padding:26px 32px;background:linear-gradient(135deg, rgba(0, 165, 249, 0.09), rgba(0, 165, 249, 0.02));border:1px solid rgba(0,165,249,.25);border-radius:16px;box-shadow:var(--shadow)}.lead-dev-avatar{flex-shrink:0;width:128px;height:128px;border-radius:50%;object-fit:cover;object-position:center;border:4px solid #fff;box-shadow:0 8px 20px rgba(0,127,196,.28)}.lead-dev-badge{display:inline-block;padding:3px 12px;color:#fff;background:var(--color-accent);border-radius:999px;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.lead-dev-name{margin:.45em 0 .2em;font-size:1.45rem;color:var(--color-ink)}.lead-dev-role{margin:0;color:var(--color-body);font-size:.98rem}.page-body ul.contributors{list-style:none;margin:1.3em 0 2.4em;padding:0;column-width:16rem;column-gap:2.4rem}.page-body ul.contributors .contributor{break-inside:avoid;display:flex;align-items:baseline;justify-content:space-between;gap:.9rem;margin:0;padding:.5rem .7rem;text-align:left;border-left:2px solid rgba(0,0,0,0);border-bottom:1px solid var(--color-line);transition:background .15s ease,border-color .15s ease}.page-body ul.contributors .contributor:hover{background:var(--color-bg-alt);border-left-color:var(--color-line)}.page-body ul.contributors .contributor-name{color:var(--color-ink);font-weight:500}.page-body ul.contributors a.contributor-name{color:var(--color-accent-dark)}.page-body ul.contributors a.contributor-name:hover{text-decoration:underline}.page-body ul.contributors .contributor-period{flex-shrink:0;color:var(--color-muted);font-size:.78rem;white-space:nowrap;font-variant-numeric:tabular-nums}.page-body ul.contributors .contributor.is-current{border-left-color:var(--color-accent);background:linear-gradient(90deg, rgba(0, 165, 249, 0.07), transparent 75%)}.page-body ul.contributors .contributor.is-current .contributor-name{color:var(--color-accent-dark);font-weight:600}.page-body ul.contributors .contributor.is-current .contributor-period{color:var(--color-accent-dark)}.page-banner{position:relative;background:rgba(0,0,0,0);padding:56px 0 10px;text-align:left}.page-title{position:relative;color:var(--color-ink);font-size:clamp(2.2rem,5vw,3.4rem);margin:0;padding-bottom:18px}.page-title::after{content:"";display:block;width:76px;height:3px;margin-top:16px;background:var(--color-accent);border-radius:999px}.page-subtitle{max-width:720px;margin:.3em 0 0;color:var(--color-body);font-size:1.08rem}.page-body{padding:32px 0 80px}.page-body p,.page-body li,.container--narrow p,.container--narrow li{text-align:justify}.page-body h2{font-size:1.6rem;margin:1.8em 0 .6em;padding-bottom:.3em;border-bottom:2px solid var(--color-line)}.page-body h2:first-child{margin-top:0}.page-body h3{font-size:1.2rem;color:var(--color-accent-dark);margin:1.4em 0 .5em}.page-body ul,.page-body ol{padding-left:1.3em}.page-body li{margin:.35em 0}.page-body ol.bibliography{list-style:none;counter-reset:pub;padding-left:0;margin:1.4em 0 2.2em;display:grid;gap:.85rem}.page-body ol.bibliography li{counter-increment:pub;position:relative;margin:0;padding:1.05rem 1.25rem 1.05rem 3.7rem;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-line);border-radius:10px;box-shadow:0 1px 2px rgba(44,62,80,.05);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;border-left:3px solid var(--color-line);line-height:1.62}.page-body ol.bibliography li::before{content:counter(pub);position:absolute;left:1rem;top:1.05rem;display:flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--color-accent-dark);background:linear-gradient(135deg, rgba(0, 165, 249, 0.14), rgba(0, 165, 249, 0.04));border:1px solid rgba(0,165,249,.24);border-radius:8px}.page-body ol.bibliography li:hover{border-color:rgba(0,165,249,.4);border-left-color:var(--color-accent);box-shadow:0 8px 22px rgba(44,62,80,.1);transform:translateY(-2px)}.page-body ol.bibliography li:hover::before{color:#fff;background:var(--color-accent);border-color:var(--color-accent)}.page-body ol.bibliography li i{color:var(--color-body)}.page-body .pub-doi{display:inline-flex;align-items:center;gap:.3em;margin-left:.25em;padding:.05em .5em;color:var(--color-accent-dark);border:1px solid rgba(0,165,249,.3);border-radius:5px;font-size:.8em;font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;background:rgba(0,165,249,.06);transition:background .15s ease,color .15s ease,border-color .15s ease}.page-body .pub-doi:hover{color:#fff;background:var(--color-accent);border-color:var(--color-accent)}.page-body .bib-download{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:.4em;vertical-align:middle;color:var(--color-accent-dark);background:linear-gradient(135deg, rgba(0, 165, 249, 0.14), rgba(0, 165, 249, 0.04));border:1px solid rgba(0,165,249,.24);border-radius:8px;transition:background .15s ease,border-color .15s ease}.page-body .bib-download:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.page-body .bib-download svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.page-body .bib-download svg text{fill:currentColor;stroke:none;text-anchor:middle;font-family:var(--font-display);font-size:6.5px;font-weight:700}.page-body .docker-link{display:inline-flex;align-items:center;margin:0 .15em;vertical-align:middle;transition:opacity .15s ease,transform .15s ease}.page-body .docker-link:hover{opacity:.8;transform:translateY(-1px)}.page-body .docker-link img{width:22px;height:auto;display:block}.page-body .figure{margin:1.8em 0;text-align:center}.page-body .figure img{width:70%;max-width:100%;height:auto}.page-body .figure img.figure-graph{width:380px}.page-body .figure--screenshot img{width:100%;max-width:560px;border:1px solid var(--color-line);border-radius:10px;box-shadow:0 12px 30px rgba(44,62,80,.14);transition:box-shadow .18s ease,transform .18s ease}.page-body .figure--screenshot img:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(44,62,80,.2)}.page-body .figure figcaption{margin-top:.7em;color:var(--color-muted);font-size:.9rem}.page-body ol.doc-flow{list-style:none;display:flex;flex-wrap:wrap;gap:14px;margin:1.8em 0 2em;padding:0}.page-body ol.doc-flow .doc-flow-step{position:relative;flex:1 1 0;min-width:150px;margin:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;padding:20px 16px;background:var(--color-bg-alt);border:1px solid var(--color-line);border-radius:12px}.doc-flow-step+.doc-flow-step::before{content:"→";position:absolute;left:-7px;top:50%;transform:translate(-50%, -50%);color:var(--color-accent);font-size:2rem;line-height:1;font-weight:700}.doc-flow-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;color:var(--color-accent-dark);background:linear-gradient(135deg, rgba(0, 165, 249, 0.14), rgba(0, 165, 249, 0.04));border:1px solid rgba(0,165,249,.24);border-radius:12px}.doc-flow-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.doc-flow-title{font-family:var(--font-display);font-weight:700;color:var(--color-ink)}.doc-flow-sub{font-size:.82rem;color:var(--color-muted)}.doc-flow-sub strong{color:var(--color-accent-dark)}.doc-toc{margin:0 0 2.4em;padding:16px 20px;background:var(--color-bg-alt);border:1px solid var(--color-line);border-left:3px solid var(--color-accent);border-radius:0 10px 10px 0}.doc-toc-title{display:block;margin-bottom:.55em;color:var(--color-muted);font-family:var(--font-display);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.doc-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4em 1.6em}.doc-toc li{margin:0;text-align:left}.doc-toc a{color:var(--color-accent-dark);font-weight:500}.doc-toc a:hover{text-decoration:underline}.page-body h2,.page-body h3{scroll-margin-top:90px}.page-body .code-copy{position:absolute;top:10px;right:4.7rem;z-index:2;height:20px;display:inline-flex;align-items:center;padding:0 9px;color:#697684;background:#fff;border:1px solid #d8e0e8;border-radius:999px;font-family:var(--font-display);font-size:.62rem;line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease,border-color .15s ease}.page-body div.highlighter-rouge:hover .code-copy,.page-body .code-copy:focus{opacity:1}.page-body .code-copy:hover{color:var(--color-accent-dark);border-color:var(--color-accent)}.page-body .code-copy.is-copied{color:#167f5f;border-color:#167f5f;opacity:1}.page-body .heading-anchor{margin-left:.4em;color:var(--color-muted);font-weight:400;text-decoration:none;opacity:0;transition:opacity .15s ease,color .15s ease}.page-body h2:hover .heading-anchor,.page-body h3:hover .heading-anchor,.page-body .heading-anchor:focus{opacity:1}.page-body .heading-anchor:hover{color:var(--color-accent-dark)}@media(hover: none){.page-body .code-copy,.page-body .heading-anchor{opacity:1}}.page-body .doc-step{position:relative;margin:1.6em 0 .7em;padding-left:2.3rem;text-align:left;color:var(--color-ink)}.page-body .doc-step .doc-step-num{position:absolute;left:0;top:.05em;display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;color:#fff;background:var(--color-accent);border-radius:50%;font-family:var(--font-display);font-size:.82rem;font-weight:700;line-height:1}.page-body .callout{margin:1.6em 0;padding:14px 18px;background:rgba(0,165,249,.06);border:1px solid rgba(0,165,249,.22);border-left:3px solid var(--color-accent);border-radius:0 10px 10px 0}.page-body .callout-title{display:block;margin-bottom:.35em;color:var(--color-accent-dark);font-family:var(--font-display);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.page-body .callout p{margin:0;text-align:left}.page-body .figure img.is-zoomable{cursor:zoom-in}.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:4vmin;background:rgba(20,28,36,.88);cursor:zoom-out;animation:lightbox-in .15s ease}.lightbox[hidden]{display:none}.lightbox img{max-width:96vw;max-height:92vh;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:16px;right:20px;width:42px;height:42px;color:#fff;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.35);border-radius:50%;font-size:1.6rem;line-height:1;cursor:pointer}.lightbox-close:hover{background:hsla(0,0%,100%,.25)}@keyframes lightbox-in{from{opacity:0}to{opacity:1}}.notfound{text-align:center;padding:8px 0 16px}.notfound-code{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(5rem,22vw,9rem);line-height:1;letter-spacing:.02em;background:linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);color:rgba(0,0,0,0)}.notfound-lead{margin:-0.2em auto 2em;max-width:40ch;color:var(--color-body);font-size:1.25rem;font-weight:400;line-height:1.6;text-align:center;text-wrap:balance}.notfound-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.notfound-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 26px;border-radius:999px;font-family:var(--font-display);font-weight:600;color:#fff;background:var(--color-accent);border:1px solid var(--color-accent);transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.notfound-btn:hover{color:#fff;background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:0 6px 16px rgba(0,165,249,.3);transform:translateY(-1px)}.notfound-btn--ghost{color:var(--color-accent-dark);background:rgba(0,0,0,0)}.notfound-btn--ghost:hover{color:var(--color-accent-dark);background:rgba(0,165,249,.08);box-shadow:none}.page-body .dl-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:1.4em 0 2em}.page-body .dl-card{display:flex;flex-direction:column;padding:20px 22px 18px;background:var(--color-bg);border:1px solid var(--color-line);border-radius:12px;box-shadow:0 1px 2px rgba(44,62,80,.05);transition:border-color .18s ease,box-shadow .18s ease}.page-body .dl-card:hover{border-color:rgba(0,165,249,.35);box-shadow:0 8px 22px rgba(44,62,80,.1)}.page-body .dl-card h4{margin:0 0 .2em;font-family:var(--font-display);font-size:1.15rem;color:var(--color-ink)}.page-body .dl-card>p{margin:0 0 .9em;color:var(--color-body);text-align:left}.page-body .dl-card .highlighter-rouge{margin:0 0 1em}.page-body .dl-card>a:last-child{margin-top:auto;font-family:var(--font-display);font-weight:600;font-size:.92rem}.page-body .dl-legacy{margin:1.5em 0;border:1px solid var(--color-line);border-radius:10px;background:var(--color-bg-alt)}.page-body .dl-legacy>summary{padding:14px 18px;font-family:var(--font-display);font-weight:600;color:var(--color-ink);cursor:pointer;list-style:none}.page-body .dl-legacy>summary::-webkit-details-marker{display:none}.page-body .dl-legacy>summary::before{content:"▸";display:inline-block;margin-right:.6em;color:var(--color-accent);transition:transform .15s ease}.page-body .dl-legacy[open]>summary::before{transform:rotate(90deg)}.page-body .dl-legacy[open]>summary{border-bottom:1px solid var(--color-line)}.page-body .dl-legacy>*:not(summary){padding-inline:18px}.page-body .dl-legacy>*:last-child{padding-bottom:12px}.page-body ul.bk-measures{list-style:none;margin:1.4em 0 1.8em;padding:0;display:grid;grid-template-columns:repeat(2, 1fr);gap:16px}.page-body ul.bk-measures li{margin:0;padding:18px 20px;text-align:left;background:var(--color-bg-alt);border:1px solid var(--color-line);border-radius:12px}.bk-measure-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--color-accent-dark);background:var(--color-bg);border:1px solid rgba(0,165,249,.24);border-radius:10px;margin-bottom:.55em}.bk-measure-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.bk-measure-title{display:block;font-family:var(--font-display);font-weight:700;color:var(--color-ink)}.bk-measure-desc{display:block;margin-top:.15em;color:var(--color-body);font-size:.92rem;line-height:1.5}.page-body .cta-button{display:inline-flex;align-items:center;gap:.55em;margin:.4em 0 1.4em;padding:11px 22px;color:#fff;background:var(--color-ink);border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:.95rem;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.page-body .cta-button:hover{color:#fff;background:var(--color-dark);transform:translateY(-1px);box-shadow:0 6px 16px rgba(34,45,53,.25)}.page-body .cta-button svg{width:18px;height:18px;fill:currentColor}.page-body ul.dl-files{list-style:none;padding-left:18px;margin:.8em 0 1.2em}.page-body ul.dl-files li{margin:.55em 0;text-align:left}.page-body .dl-file-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;margin-right:.55em;vertical-align:-0.28em;color:var(--color-accent-dark)}.page-body .dl-file-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.page-body ul.bk-timeline{list-style:none;padding-left:0;margin:1.3em 0 2em}.page-body ul.bk-timeline li{display:flex;gap:16px;margin:0 0 18px}.bk-version{flex-shrink:0;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-width:3.1em;padding:.25em .6em;color:#fff;background:var(--color-accent);border-radius:999px;font-family:var(--font-display);font-weight:700;font-size:.82rem}.bk-release{text-align:left}.bk-date{display:block;margin-bottom:.15em;color:var(--color-muted);font-size:.82rem;font-weight:600}.bk-release p{margin:0;color:var(--color-body);text-align:left}.page-body a.bench-card{display:flex;flex-direction:column;gap:.15em;padding:22px 24px;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-line);border-radius:12px;box-shadow:0 1px 2px rgba(44,62,80,.05);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.page-body a.bench-card:hover{border-color:rgba(0,165,249,.35);box-shadow:0 8px 22px rgba(44,62,80,.1);transform:translateY(-2px);text-decoration:none}.bench-card-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;color:var(--color-accent-dark);background:linear-gradient(135deg, rgba(0, 165, 249, 0.14), rgba(0, 165, 249, 0.04));border:1px solid rgba(0,165,249,.24);border-radius:10px;margin-bottom:.5em}.bench-card-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.bench-card-title{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--color-ink)}.bench-card-desc{color:var(--color-body);font-size:.92rem;line-height:1.5}.page-body .bench-filter{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:1.4em 0 .9em}.page-body .bench-filter-input{flex:1 1 220px;min-width:0;padding:9px 14px;font:inherit;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-line);border-radius:8px}.page-body .bench-filter-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(0,165,249,.15)}.page-body .bench-count{flex-shrink:0;color:var(--color-muted);font-family:var(--font-display);font-size:.85rem;font-variant-numeric:tabular-nums}.page-body .dl-pill{display:inline-flex;align-items:center;gap:.35em;padding:3px 11px 3px 9px;color:var(--color-accent-dark);background:rgba(0,165,249,.06);border:1px solid rgba(0,165,249,.3);border-radius:999px;font-family:var(--font-display);font-size:.76rem;font-weight:600;white-space:nowrap}.page-body .dl-pill:hover{color:#fff;background:var(--color-accent);border-color:var(--color-accent);text-decoration:none}.page-body .dl-pill svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.page-body table.bench-filterable thead th{position:sticky;top:70px;z-index:1}.page-body table.bench-refs td:nth-child(2){color:var(--color-muted);font-size:.88rem}@media(max-width: 640px){.page-body table.bench-filterable,.page-body table.bench-filterable tbody,.page-body table.bench-filterable tr,.page-body table.bench-filterable td{display:block;width:auto}.page-body table.bench-filterable thead{display:none}.page-body table.bench-filterable tr{margin:0 0 12px;padding:12px 14px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-bg)}.page-body table.bench-filterable td{border:none;padding:4px 0;text-align:left}.page-body table.bench-filterable td::before{content:attr(data-label);display:block;margin-bottom:.1em;color:var(--color-muted);font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.page-body table.bench-refs td:nth-child(2){font-size:inherit}}.page-body ul.dl-os{list-style:none;padding-left:18px;margin:.8em 0 1.4em}.page-body ul.dl-os li{margin:.55em 0;text-align:left}.page-body .dl-os-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;margin-right:.5em;vertical-align:-0.18em;color:var(--color-ink)}.page-body .dl-os-icon svg{width:17px;height:17px;fill:currentColor}.page-body .table-scroll{margin:1.5em 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.page-body table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.96rem}.page-body .table-scroll table{margin:0}@media(max-width: 700px){.page-body .table-scroll table{min-width:40rem}}.page-body th,.page-body td{text-align:left;padding:10px 14px;border:1px solid var(--color-line);vertical-align:top}.page-body thead th{background:var(--color-ink);color:#fff;font-family:var(--font-display)}.page-body tbody tr:nth-child(even){background:var(--color-bg-alt)}.page-body pre,.page-body code{font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}.page-body code{background:rgba(0,165,249,.08);color:var(--color-accent-dark);padding:.15em .42em;border-radius:4px;font-size:.88em}.page-body div.highlighter-rouge,.page-body .container>pre{position:relative;margin:1.6em 0}.page-body .highlight,.page-body .container>pre{background:#f6f8fa;border:1px solid #d8e0e8;border-left:4px solid var(--color-accent);border-radius:6px;box-shadow:0 8px 24px rgba(34,45,53,.07)}.page-body div.highlighter-rouge::before,.page-body .container>pre::before{content:"CODE";position:absolute;top:10px;right:12px;z-index:1;color:#697684;background:#fff;border:1px solid #d8e0e8;border-radius:999px;padding:0 9px;height:20px;display:inline-flex;align-items:center;font-family:var(--font-display);font-size:.62rem;line-height:1;font-weight:700;letter-spacing:.08em}.page-body div.language-xml.highlighter-rouge::before{content:"XML"}.page-body div.language-bibtex.highlighter-rouge::before{content:"BIBTEX"}.page-body .container>pre:has(code.language-csv)::before{content:"CSV"}.page-body .container>pre:has(code.language-bash)::before{content:"BASH"}.page-body .container>pre:has(code.language-plaintext)::before{content:"TEXT"}.page-body .highlight{overflow:hidden}.page-body .highlight pre,.page-body .container>pre{margin:0;padding:22px 20px;overflow-x:auto;font-size:.9rem;line-height:1.62;color:#24292f;background:rgba(0,0,0,0)}.page-body .highlight code,.page-body pre code{background:none;color:inherit;padding:0;border-radius:0;font-size:inherit}.page-body .highlight table td{padding:5px}.page-body .highlight table pre{margin:0}.page-body .highlight,.page-body .highlight .w{color:#24292f;background-color:#f6f8fa}.page-body .highlight .k,.page-body .highlight .kd,.page-body .highlight .kn,.page-body .highlight .kp,.page-body .highlight .kr,.page-body .highlight .kt,.page-body .highlight .kv{color:#cf222e}.page-body .highlight .gr{color:#f6f8fa}.page-body .highlight .gd{color:#82071e;background-color:#ffebe9}.page-body .highlight .nb,.page-body .highlight .nc,.page-body .highlight .no,.page-body .highlight .nn{color:#953800}.page-body .highlight .sr,.page-body .highlight .na,.page-body .highlight .nt{color:#116329}.page-body .highlight .gi{color:#116329;background-color:#dafbe1}.page-body .highlight .ges{font-weight:bold;font-style:italic}.page-body .highlight .kc,.page-body .highlight .l,.page-body .highlight .ld,.page-body .highlight .m,.page-body .highlight .mb,.page-body .highlight .mf,.page-body .highlight .mh,.page-body .highlight .mi,.page-body .highlight .il,.page-body .highlight .mo,.page-body .highlight .mx,.page-body .highlight .sb,.page-body .highlight .bp,.page-body .highlight .ne,.page-body .highlight .nl,.page-body .highlight .py,.page-body .highlight .nv,.page-body .highlight .vc,.page-body .highlight .vg,.page-body .highlight .vi,.page-body .highlight .vm,.page-body .highlight .o,.page-body .highlight .ow{color:#0550ae}.page-body .highlight .gh,.page-body .highlight .gu{color:#0550ae;font-weight:bold}.page-body .highlight .s,.page-body .highlight .sa,.page-body .highlight .sc,.page-body .highlight .dl,.page-body .highlight .sd,.page-body .highlight .s2,.page-body .highlight .se,.page-body .highlight .sh,.page-body .highlight .sx,.page-body .highlight .s1,.page-body .highlight .ss{color:#0a3069}.page-body .highlight .nd,.page-body .highlight .nf,.page-body .highlight .fm{color:#8250df}.page-body .highlight .err{color:#f6f8fa;background-color:#82071e}.page-body .highlight .c,.page-body .highlight .ch,.page-body .highlight .cd,.page-body .highlight .cm,.page-body .highlight .cp,.page-body .highlight .cpf,.page-body .highlight .c1,.page-body .highlight .cs,.page-body .highlight .gl,.page-body .highlight .gt{color:#6e7781}.page-body .highlight .ni,.page-body .highlight .si{color:#24292f}.page-body .highlight .ge{color:#24292f;font-style:italic}.page-body .highlight .gs{color:#24292f;font-weight:bold}.site-footer{background:var(--color-dark);color:#aeb9c2;font-size:.9rem;border-top:3px solid var(--color-accent)}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:30px 48px;padding-block:48px 38px}.footer-wordmark{font-family:var(--font-display);font-size:1.45rem;font-weight:700;letter-spacing:.01em;color:#fff}.footer-tagline{margin:.7em 0 0;max-width:36ch;line-height:1.6;color:#8b97a1}.footer-heading{margin:0 0 1em;color:#fff;font-family:var(--font-display);font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.footer-col ul{list-style:none;margin:0;padding:0}.footer-col li{margin:.55em 0}.footer-col a{color:#aeb9c2;transition:color .15s ease}.footer-col a:hover{color:var(--color-accent)}.footer-bottom{border-top:1px solid hsla(0,0%,100%,.08)}.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding-block:18px}.footer-copyright,.footer-meta{margin:0;font-size:.82rem;color:#8b97a1}.footer-meta a{color:#aeb9c2;transition:color .15s ease}.footer-meta a:hover{color:var(--color-accent)}@media(max-width: 1024px){.brand-logo{height:44px;max-width:180px}.header-right{gap:8px}.header-actions{gap:6px}.nav-toggle{display:flex}.site-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--color-line);box-shadow:var(--shadow);max-height:0;overflow:hidden;transition:max-height .3s ease}.site-nav.open{max-height:80vh;overflow-y:auto}.site-nav .menu{flex-direction:column;align-items:stretch;padding:8px;gap:0}.menu-item>a{padding:12px 14px}.submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;border-left:2px solid var(--color-line);margin-left:14px;border-radius:0;display:none}.menu-item.open>.submenu{display:block}.submenu .submenu{margin-left:14px}.has-children>a::after{content:"+";float:right}.menu-item.open>a::after{content:"−"}.hero-parallax{background-attachment:scroll}}@media(max-width: 900px){.feature-grid,.people-cards{grid-template-columns:1fr}.lead-dev{flex-direction:column;text-align:center;gap:18px;padding:24px}}@media(max-width: 640px){.footer-grid{grid-template-columns:1fr 1fr;gap:30px 24px;padding-block:48px 36px}.footer-brand{grid-column:1/-1}.footer-tagline{max-width:none}.footer-bottom-inner{justify-content:flex-start;padding-block:24px 26px}}@media(max-width: 560px){.hero{min-height:68vh}.hero-parallax{background-position:52% center}.hero-kicker::before,.hero-kicker::after{width:18px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}.page-body ol.doc-flow{flex-direction:column;gap:26px}.doc-flow-step+.doc-flow-step::before{content:"↓";left:50%;top:-13px;transform:translate(-50%, -50%)}.brand-logo{max-width:150px}.header-cta{width:38px;padding:0;justify-content:center}.header-cta span{display:none}.page-body .dl-grid{grid-template-columns:1fr}.page-body ul.bk-measures{grid-template-columns:1fr}}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none !important}}/*# sourceMappingURL=style.css.map */