:root{--page:#0B101B;--panel:#161D31;--panel-raised:#283046;--panel-sunk:var(--page);--rule-soft:#232c42;--rule:#2f3852;--rule-bright:#414b6b;--text:#e4e6f0;--text-dim:#a5aac4;--muted:#7e849f;--code:#cfd8e8;--accent:#7f74f1;--accent-solid:#6e61ef;--accent-deep:#4b3fd4;--accent-soft:rgba(127, 116, 241, 0.14);--trace:#038AFF;--trace-deep:#0263b8;--caution:#F7CA18;--amber:#ff8f00;--warn:#f14444;--ok:#B2DE27;--r:3px;--r-lg:6px;--r-doc:10px;--wrap:74rem;--prose:46rem;--font-ui:'Archivo','Archivo Fallback',system-ui,-apple-system,"Segoe UI",sans-serif;--font-data:'IBM Plex Mono','IBM Plex Mono Fallback',ui-monospace,SFMono-Regular,Menlo,monospace}@font-face{font-family:Archivo;src:url('../../fonts/archivo-var.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:'Archivo Fallback';src:local('Arial'),local('Helvetica Neue'),local('Helvetica');size-adjust:101.59%;ascent-override:86.42%;descent-override:20.67%;line-gap-override:0%}@font-face{font-family:'IBM Plex Mono';src:url('../../fonts/ibm-plex-mono-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Mono';src:url('../../fonts/ibm-plex-mono-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Mono';src:url('../../fonts/ibm-plex-mono-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Mono';src:url('../../fonts/ibm-plex-mono-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Mono Fallback';src:local('Courier New'),local('Courier');size-adjust:99.98%;ascent-override:102.52%;descent-override:27.50%;line-gap-override:0%}.app:not(.no-flight) .landing-only{display:none!important}.app>main{display:contents}.header{box-sizing:border-box;display:flex;align-items:center;gap:20px;width:100%;min-height:60px;padding:12px 24px;margin:0;border-bottom:1px solid var(--rule);background:var(--panel);position:sticky;top:0;z-index:20;flex:0 0 auto;font-family:var(--font-ui);font-size:14px;line-height:1.4}.header *{box-sizing:border-box}.header .brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:0}.header .brand>a{display:flex;align-items:center;line-height:0}.header .brand img{display:block;width:150px;height:18px}.header .brand-tag{font-family:inherit;font-size:13px;font-weight:400;line-height:1.4;letter-spacing:.01em;color:var(--text-dim);text-decoration:none;padding-left:10px;border-left:1px solid var(--rule);white-space:nowrap;padding-top:2px}a.brand-tag:focus-visible,a.brand-tag:hover{color:var(--text)}.header .header-file{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-nav{display:flex;align-items:center;gap:18px;margin-left:auto;flex:0 0 auto;font-family:inherit}.header-nav a{font-family:inherit;font-size:14px;font-weight:400;line-height:1.4;color:var(--text-dim);text-decoration:none;padding:2px 0;border-bottom:2px solid transparent;white-space:nowrap}.header-nav a:focus-visible,.header-nav a:hover{color:var(--text)}.header-nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}.header .header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto}.header .header-actions+.header-nav{margin-left:14px}.header .header-actions>.button,.header .header-actions>button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 13px;border:1px solid var(--rule);border-radius:8px;background:var(--panel);color:var(--text);font-family:inherit;font-size:13px;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer}.header .header-actions>.button:hover,.header .header-actions>button:hover{border-color:var(--muted)}.header .header-actions>.button.primary,.header .header-actions>button.primary{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff}.header .header-actions>.button.primary:hover,.header .header-actions>button.primary:hover{filter:brightness(1.1);border-color:var(--accent-solid)}.header .header-actions i{font-size:13px}html{scrollbar-width:thin;scrollbar-color:var(--rule) transparent;scroll-behavior:smooth}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--rule);border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--rule-bright);background-clip:padding-box}::-webkit-scrollbar-corner{background:0 0}body:has(.app.no-flight),html:has(.app.no-flight){height:auto;min-height:100%;overflow:visible}.app.no-flight{height:auto;min-height:100vh;max-height:none;overflow:visible;display:flex;flex-direction:column}.app.no-flight .landing{display:block;height:auto;min-height:0;max-height:none;overflow:visible;flex:0 0 auto;max-width:var(--wrap);margin-left:auto;margin-right:auto}.app.no-flight .landing>aside,.app.no-flight .landing>div{width:auto;max-width:none}.app.no-flight .landing>aside{margin-top:2.5rem}.app.no-flight .landing .library-list{max-height:none;overflow:visible}.app.no-flight .landing-upload .section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;min-height:2rem}.app.no-flight .landing-upload .panel-label{display:inline-flex;align-items:center;gap:.5rem}.landing-copy{max-width:var(--wrap);margin:0 auto;padding:2.5rem 1.5rem 1rem;color:var(--text);line-height:1.65}.landing-copy .copy-intro{max-width:var(--prose)}.landing-copy h2{font-size:1.4rem;font-weight:600;line-height:1.3;letter-spacing:-.01em;margin:0 0 .6rem}.landing-copy h3{font-size:1rem;font-weight:600;margin:0 0 .4rem;display:flex;align-items:baseline;gap:.5rem}.landing-copy h3 i{color:var(--accent);font-size:.9em}.landing-copy p{margin:0 0 .9rem;color:var(--text-dim);font-size:.94rem}.landing-copy p:last-child{margin-bottom:0}.landing-copy a{color:var(--accent);text-decoration:underline;text-underline-offset:0.2em}.landing-copy a:focus-visible,.landing-copy a:hover{color:var(--text)}.landing-copy code{background:var(--panel);border:1px solid var(--rule-soft);border-radius:5px;padding:.1em .38em;font-size:.86em;color:var(--code)}.landing-copy .copy-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin:1.75rem 0 0}.landing-copy .copy-card{flex:1 1 20rem;max-width:24rem;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-doc);padding:1.1rem}.landing-copy .copy-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin:2.5rem 0 0;padding-top:2rem;border-top:1px solid var(--rule-soft)}.landing-copy .copy-links>div{flex:1 1 18rem;max-width:24rem}.button{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;border:1px solid var(--rule);border-radius:var(--r-doc);background:var(--panel);color:var(--text);font:inherit;font-size:.9rem;text-decoration:none;cursor:pointer}.button:hover{border-color:var(--muted)}.button.primary{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff}.button.primary:hover{filter:brightness(1.1);border-color:var(--accent-solid)}.cta{border-top:1px solid var(--rule);background:var(--panel);margin-top:3.5rem;padding:2.5rem 1.5rem}.cta>div{max-width:var(--prose);margin:0 auto}.cta h2{margin-top:0}.cta p{color:var(--text-dim)}.cta .button{margin-right:.5rem}.site-footer{box-sizing:border-box;width:100%;margin-top:auto;padding:40px 24px 48px;border-top:1px solid var(--rule);font-family:var(--font-ui);font-size:14px;line-height:1.5;color:var(--text-dim)}.site-footer *{box-sizing:border-box}.site-footer .footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(208px,1fr));gap:24px;max-width:1184px;margin:0 auto}.site-footer .footer-cols>div{display:flex;flex-direction:column;gap:6px;min-width:0}.site-footer a{font-family:inherit;font-size:14px;font-weight:400;line-height:1.5;color:var(--text-dim);text-decoration:none}.site-footer a:focus-visible,.site-footer a:hover{color:var(--text)}.site-footer .footer-legal{max-width:1184px;margin:32px auto 0;padding-top:20px;border-top:1px solid var(--rule-soft);font-family:inherit;font-size:13px;line-height:1.6;color:var(--muted)}.site-footer .footer-legal a{font-size:inherit;line-height:inherit;color:var(--accent)}.site-footer .footer-legal a:hover{color:var(--text)}.footer-head{font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}@media (max-width:860px){.header{flex-wrap:wrap;gap:12px;padding:10px 16px;position:static}.header-nav{order:3;width:100%;margin-left:0;overflow-x:auto}.header .header-actions+.header-nav{margin-left:0}.site-footer{padding:28px 16px 32px}.landing-copy{padding:1.75rem 1rem .5rem}.landing-copy h2{font-size:1.25rem}.cta{padding-left:1rem;padding-right:1rem}}*{box-sizing:border-box}body.page{margin:0;background:var(--page);color:var(--text);font-family:var(--font-ui);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}.mono,.path,code,kbd{font-family:var(--font-data)}.content{max-width:var(--wrap);margin:0 auto;padding:2.5rem 1.5rem 1rem}.hero{max-width:var(--prose);margin-inline:auto}.hero .eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin:0 0 .6rem}.hero .standfirst{font-size:1.15rem;color:var(--text-dim);margin:0 0 1rem}.prose{max-width:var(--prose);margin-inline:auto}h1{font-size:2.1rem;line-height:1.2;font-weight:600;margin:0 0 .75rem;letter-spacing:-.015em}h2{font-size:1.4rem;line-height:1.3;font-weight:600;margin:2.75rem 0 .75rem;letter-spacing:-.01em;scroll-margin-top:5rem}h3{font-size:1.06rem;font-weight:600;margin:1.75rem 0 .5rem;scroll-margin-top:5rem}p{margin:0 0 1rem}a{color:var(--accent)}a:hover{color:var(--text)}ol,ul{margin:0 0 1rem;padding-left:1.25rem}li{margin-bottom:.4rem}li>ol,li>ul{margin-top:.4rem}strong{font-weight:600;color:var(--text)}code{background:var(--panel);border:1px solid var(--rule-soft);border-radius:5px;padding:.1em .38em;font-size:.86em;color:var(--code)}.path{display:block;background:var(--panel-sunk);border:1px solid var(--rule);border-left:3px solid var(--trace);border-radius:var(--r-doc);padding:.7rem .9rem;margin:0 0 1rem;font-size:.85rem;color:var(--code);overflow-x:auto;white-space:nowrap}.meta{font-size:.82rem;color:var(--muted);border-top:1px solid var(--rule-soft);padding-top:.9rem;margin-top:2.5rem}.note{display:flex;max-width:var(--prose);gap:.75rem;background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:var(--r-doc);padding:.9rem 1rem;margin:0 auto 1.25rem;font-size:.94rem}.note i{color:var(--accent);margin-top:.25rem}.note.caution{border-left-color:var(--caution)}.note.caution i{color:var(--caution)}.note.warn{border-left-color:var(--warn)}.note.warn i{color:var(--warn)}.note.ok{border-left-color:var(--ok)}.note.ok i{color:var(--ok)}.note p:last-child{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:1.25rem 0 1.5rem}.card{background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-doc);padding:1.1rem}.card h3{margin:0 0 .4rem;font-size:1rem;display:flex;align-items:center;gap:.5rem}.card h3 i{color:var(--accent)}.card p{margin:0;font-size:.92rem;color:var(--text-dim)}.card ul{margin:.5rem 0 0;font-size:.92rem;color:var(--text-dim)}.table-scroll{overflow-x:auto;margin:0 0 1.25rem}table{width:100%;border-collapse:collapse;font-size:.92rem;border:1px solid var(--rule);border-radius:var(--r-doc);overflow:hidden}td,th{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--rule-soft);vertical-align:top}th{background:var(--panel);font-weight:600;color:var(--text);white-space:nowrap}tbody tr:last-child td{border-bottom:0}td code{white-space:nowrap}.faq{max-width:var(--prose);margin-inline:auto}.faq-item{border-bottom:1px solid var(--rule-soft);padding:1.1rem 0}.faq-item:first-of-type{border-top:1px solid var(--rule-soft)}.faq-item h3{margin:0 0 .5rem;font-size:1.02rem}.faq-item p:last-child{margin-bottom:0}.toc{background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-doc);padding:1rem 1.1rem;margin:0 auto 2rem;max-width:var(--prose)}.toc .footer-head{margin-bottom:8px}.toc ul{margin:0;padding-left:1.1rem;font-size:.93rem}@media (max-width:860px){.content{padding:1.75rem 1rem 1rem}h1{font-size:1.7rem}h2{font-size:1.25rem}}