.cs-root{--paper:#f7f5f0;--panel:#fffdfa;--raised:#f1eee7;--track:#ebe7de;--line:#dcd7cc;--line-soft:#e8e4db;--text:#2c2c2a;--dim:#55534e;--faint:#6e6b64;--teal:#0f6e56;--teal-deep:#0c5b47;--teal-soft:rgba(15, 110, 86, .07);--teal-line:rgba(15, 110, 86, .26);--safe:#0f6e56;--check:#8a6010;--break:#b4432e;--tx:1.06;--display:"Inter Tight", "Inter", system-ui, -apple-system, sans-serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--wrap:1180px;--gut:28px;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:calc(17px*var(--tx));line-height:1.55;-webkit-font-smoothing:antialiased}.cs-root *,.cs-root :before,.cs-root :after{box-sizing:border-box}.cs-root a{color:inherit;text-decoration:none}.cs-root button{font:inherit;color:inherit;background:0 0;border:0;cursor:pointer}.cs-root :focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:3px}.cs-root .wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}.cs-root h1,.cs-root h2,.cs-root .faq-q,.cs-root .tier-price,.cs-root .bx-drawer-title,.cs-root .brand{font-family:var(--display)}.cs-root .announce{display:flex;align-items:center;justify-content:center;gap:12px;padding:9px var(--gut);text-align:center;background:var(--teal);color:#fff;font-size:calc(14px*var(--tx));line-height:1.4}.cs-root .announce:hover .announce-go{transform:translate(3px)}.cs-root .announce-tag{flex:none;font-family:var(--mono);font-size:calc(11px*var(--tx));letter-spacing:.08em;text-transform:uppercase;font-weight:600;border:1px solid rgba(255,255,255,.45);border-radius:100px;padding:2px 9px}.cs-root .announce-t{color:#fffffff0}.cs-root .announce-go{flex:none;transition:transform .16s ease}.cs-root .top{position:sticky;top:0;z-index:40;background:#f7f5f0db;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line-soft)}.cs-root .top-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:62px}.cs-root .brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:calc(17px*var(--tx));letter-spacing:-.015em}.cs-root .brand img{width:25px;height:25px;display:block}.cs-root .nav{display:flex;align-items:center;gap:22px;font-size:calc(14.5px*var(--tx));color:var(--dim)}.cs-root .nav-link{transition:color .14s ease}.cs-root .nav-link:hover{color:var(--text)}.cs-root .nav-sep{width:1px;height:18px;background:var(--line)}.cs-root .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;font-size:calc(14.5px*var(--tx));font-weight:500;padding:9px 16px;white-space:nowrap;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.cs-root .btn-primary{background:var(--teal);color:#fff;box-shadow:0 1px 2px #0c5b4738}.cs-root .btn-primary:hover{background:var(--teal-deep);box-shadow:0 2px 8px #0c5b473d}.cs-root .btn-ghost{border:1px solid var(--line);color:var(--text);background:var(--panel)}.cs-root .btn-ghost:hover{border-color:#c2bcae;background:var(--raised)}.cs-root .btn-lg{padding:12px 24px;font-size:calc(16px*var(--tx));border-radius:9px}.cs-root .actions{display:flex;flex-wrap:wrap;gap:10px}.cs-root .mnav{display:none;position:relative}.cs-root .mnav>summary{list-style:none;cursor:pointer;display:flex;align-items:center;padding:7px;border:1px solid var(--line);border-radius:8px;color:var(--text)}.cs-root .mnav>summary::-webkit-details-marker{display:none}.cs-root .mnav>summary svg{width:21px;height:21px;display:block}.cs-root .mnav-sheet{position:absolute;right:0;top:calc(100% + 9px);z-index:50;display:flex;flex-direction:column;gap:2px;min-width:232px;padding:9px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #2c2c2a21}.cs-root .mnav-sheet a{padding:9px 11px;border-radius:7px;font-size:calc(15px*var(--tx));color:var(--text)}.cs-root .mnav-sheet a:hover{background:var(--raised)}.cs-root .mnav-sheet .btn{margin-top:6px}.cs-root .mnav-sheet .btn:hover{background:var(--teal-deep)}.cs-root .hero-sec{position:relative;border-top:none;padding:0 0 66px}.cs-root .hero-sec:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1000px 400px at 16% -10%,rgba(15,110,86,.06),transparent 64%),linear-gradient(rgba(44,44,42,.028) 1px,transparent 1px)0 0/100% 96px,linear-gradient(90deg,rgba(44,44,42,.028) 1px,transparent 1px)0 0/96px 100%;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 34%,transparent 76%);mask-image:linear-gradient(180deg,#000 0,#000 34%,transparent 76%)}.cs-root .hero-sec>*{position:relative;z-index:1}.cs-root .hero{padding-block:84px 44px}.cs-root .eyebrow{display:inline-block;margin:0 0 20px;font-family:var(--mono);font-size:calc(12px*var(--tx));letter-spacing:.04em;color:var(--teal);border:1px solid var(--teal-line);background:var(--teal-soft);border-radius:100px;padding:5px 13px}.cs-root h1{font-size:calc(clamp(2.4rem,4.6vw,3.5rem)*var(--tx));line-height:1.06;letter-spacing:-.033em;font-weight:500;margin:0 0 20px;max-width:16ch;text-wrap:balance;color:var(--text)}.cs-root .lede{font-size:calc(clamp(1.06rem,1.5vw,1.18rem)*var(--tx));color:var(--dim);max-width:50ch;margin:0;line-height:1.6}.cs-root .hero-actions{margin-top:30px}.cs-root .hero-fine{margin:16px 0 0;font-size:calc(13.5px*var(--tx));color:var(--faint)}.cs-root .hstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:1px;margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line-soft)}.cs-root .hstat{position:relative;padding:24px 22px 22px;background:var(--panel)}.cs-root .hstat-rank{position:absolute;top:16px;right:18px;font-family:var(--mono);font-size:calc(11px*var(--tx));color:var(--faint)}.cs-root .hstat-n{font-family:var(--mono);font-weight:600;letter-spacing:-.045em;line-height:1;font-size:calc(58px*var(--tx));color:var(--dim)}.cs-root .hstat-bar{height:5px;border-radius:3px;background:var(--track);margin:15px 0 12px;overflow:hidden}.cs-root .hstat-bar i{display:block;height:100%;border-radius:3px;background:#cfc9bc}.cs-root .hstat-l{font-size:calc(15.5px*var(--tx));font-weight:500;color:var(--text);line-height:1.35}.cs-root .hstat-s{font-family:var(--mono);font-size:calc(12px*var(--tx));color:var(--faint);margin-top:4px}.cs-root .hstat-us{background:linear-gradient(var(--teal-soft),var(--teal-soft)),var(--panel)}.cs-root .hstat-us .hstat-n{color:var(--teal)}.cs-root .hstat-us .hstat-bar i{background:var(--teal)}.cs-root .hstat-us .hstat-l,.cs-root .hstat-us .hstat-rank{color:var(--teal)}.cs-root .hstats-note{margin:14px 0 0;max-width:100ch;font-family:var(--mono);font-size:calc(12px*var(--tx));color:var(--faint);line-height:1.65}.cs-root .hstats-note a{color:var(--teal);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.cs-root .deltas{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 32px;margin:34px 0 0}.cs-root .delta{display:flex;align-items:baseline;gap:12px}.cs-root .delta-n{flex:none;font-family:var(--mono);font-weight:600;font-size:calc(30px*var(--tx));letter-spacing:-.03em;color:var(--teal);line-height:1}.cs-root .delta-d{font-size:calc(14.5px*var(--tx));color:var(--dim);line-height:1.45}.cs-root .strip-sec{border-top:1px solid var(--line-soft);padding:30px 0;background:var(--panel)}.cs-root .strip{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}.cs-root .strip-l{margin:0;font-size:calc(12.5px*var(--tx));text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--faint)}.cs-root .strip-list{display:flex;flex-wrap:wrap;gap:8px 10px;margin:0;padding:0;list-style:none}.cs-root .strip-list li{font-size:calc(13.5px*var(--tx));color:var(--dim);border:1px solid var(--line-soft);border-radius:100px;padding:4px 13px;background:var(--paper)}.cs-root .strip-list .strip-more{color:var(--faint);font-style:italic}.cs-root section{padding:84px 0;border-top:1px solid var(--line-soft)}.cs-root .kicker{margin:0 0 12px;font-family:var(--mono);font-size:calc(11.5px*var(--tx));letter-spacing:.09em;text-transform:uppercase;font-weight:600;color:var(--teal)}.cs-root h2{font-size:calc(clamp(1.7rem,3vw,2.2rem)*var(--tx));font-weight:500;letter-spacing:-.03em;line-height:1.14;margin:0 0 14px;max-width:20ch;text-wrap:balance;color:var(--text)}.cs-root .sec-lede{font-size:calc(16.5px*var(--tx));color:var(--dim);max-width:62ch;margin:0 0 36px;line-height:1.6}.cs-root h2+.steps,.cs-root h2+.uses,.cs-root h2+.facts,.cs-root h2+.tiers,.cs-root h2+.faq,.cs-root h2+.rt-wrap,.cs-root h2+.cmp-wrap{margin-top:36px}.cs-root .note-fold{margin-top:18px;max-width:86ch}.cs-root .note-fold>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:calc(13.5px*var(--tx));color:var(--faint)}.cs-root .note-fold>summary::-webkit-details-marker{display:none}.cs-root .note-fold>summary:before{content:"▸";display:inline-block;color:var(--teal);transition:transform .15s ease}.cs-root .note-fold[open]>summary:before{transform:rotate(90deg)}.cs-root .note-fold>summary:hover{color:var(--text)}.cs-root .note-fold>.rt-wrap{margin-top:14px}.cs-root .note-fold p{margin:12px 0 0;padding-left:16px;border-left:1px solid var(--line);font-size:calc(13px*var(--tx));color:var(--faint);line-height:1.65}.cs-root .facts{display:flex;flex-wrap:wrap;gap:12px 34px;margin:0 0 22px;padding:0;list-style:none}.cs-root .facts li{display:flex;align-items:baseline;gap:8px;font-size:calc(13.5px*var(--tx));color:var(--faint);line-height:1.3}.cs-root .facts b{font-family:var(--mono);font-weight:600;font-size:calc(21px*var(--tx));letter-spacing:-.025em;color:var(--teal)}@media (prefers-reduced-motion:reduce){.cs-root .announce:hover .announce-go{transform:none}}.cs-root .bx-sec{padding:84px 0}.cs-root .bx-intro{margin-bottom:12px}.cs-root .bx-intro p{margin:0;font-family:var(--mono);font-size:calc(12.5px*var(--tx));color:var(--faint);line-height:1.6}.cs-root .console{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;box-shadow:0 1px 2px #2c2c2a0a,0 12px 32px #2c2c2a0d}.cs-root .bx-head{padding:18px 20px;border-bottom:1px solid var(--line-soft);background:var(--raised)}.cs-root .bx-eyebrow{display:block;margin-bottom:8px;font-size:calc(12.5px*var(--tx));letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-weight:600}.cs-root .bx-pick{position:relative;display:block}.cs-root .bx-select{appearance:none;-webkit-appearance:none;width:100%;padding:12px 42px 12px 14px;font:inherit;font-size:calc(16px*var(--tx));color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:9px;cursor:pointer;text-overflow:ellipsis}.cs-root .bx-select:hover{border-color:#c2bcae}.cs-root .bx-select:focus-visible{outline:2px solid var(--teal);outline-offset:1px}.cs-root .bx-pick svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--faint);pointer-events:none}.cs-root .bx-fold{border-top:1px solid var(--line-soft)}.cs-root .bx-fold>summary{display:flex;align-items:baseline;gap:10px;cursor:pointer;list-style:none;padding:16px 20px;font-size:calc(15.5px*var(--tx));color:var(--text)}.cs-root .bx-fold>summary::-webkit-details-marker{display:none}.cs-root .bx-fold>summary:after{content:"▸";margin-left:auto;color:var(--faint);transition:transform .15s ease}.cs-root .bx-fold[open]>summary:after{transform:rotate(90deg)}.cs-root .bx-fold>summary:hover{background:var(--raised)}.cs-root .bx-fold-hint{color:var(--faint);font-size:calc(13.5px*var(--tx))}.cs-root .bx-prompt-mark{font-family:var(--mono);font-size:calc(17px*var(--tx));color:var(--teal);flex:none}.cs-root .bx-q{margin:0 20px;padding:14px 16px;max-width:96ch;border-left:2px solid var(--teal-line);background:var(--paper);font-size:calc(16px*var(--tx));line-height:1.6;color:var(--text)}.cs-root .bx-rowlabel{margin:18px 20px 8px;font-size:calc(12px*var(--tx));text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600}.cs-root .bx-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 20px 0;font-size:calc(13.5px*var(--tx));color:var(--faint)}.cs-root .bx-meta a{color:var(--teal);text-decoration:underline;text-underline-offset:2px}.cs-root .bx-meta span{font-family:var(--mono);font-size:calc(12.5px*var(--tx))}.cs-root .bx-meta>*+:before{content:"·";margin-right:14px;opacity:.55}.cs-root .bx-repos{display:flex;flex-wrap:wrap;gap:6px;margin:0 20px}.cs-root .bx-repo{display:inline-flex;align-items:baseline;gap:6px;font-family:var(--mono);font-size:calc(12.5px*var(--tx));color:var(--dim);border:1px solid var(--line-soft);border-radius:6px;padding:4px 9px;background:var(--paper)}.cs-root .bx-repo i{font-style:normal;color:var(--faint);font-size:calc(11.5px*var(--tx))}.cs-root .bx-repo b{font-weight:600;color:var(--faint);font-size:calc(11.5px*var(--tx));border-left:1px solid var(--line);padding-left:6px}.cs-root .bx-repo-gold{border-color:var(--teal-line);background:var(--teal-soft);color:var(--teal)}.cs-root .bx-repo-gold i,.cs-root .bx-repo-gold b{color:var(--teal)}.cs-root .bx-tools{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 20px}.cs-root .bx-tool{display:inline-flex;align-items:baseline;gap:9px;padding:9px 14px;border-radius:8px;border:1px solid var(--line-soft);background:var(--paper);transition:border-color .14s,background .14s}.cs-root .bx-tool:hover{border-color:#c2bcae}.cs-root .bx-tool-name{font-size:calc(15px*var(--tx));color:var(--dim)}.cs-root .bx-tool-score{font-family:var(--mono);font-size:calc(12.5px*var(--tx));color:var(--faint)}.cs-root .bx-tool[aria-selected=true]{background:var(--panel);border-color:var(--text)}.cs-root .bx-tool[aria-selected=true] .bx-tool-name{color:var(--text);font-weight:600}.cs-root .bx-tool[aria-selected=true] .bx-tool-score{color:var(--dim)}.cs-root .bx-tool-us[aria-selected=true]{background:var(--teal-soft);border-color:var(--teal)}.cs-root .bx-tool-us[aria-selected=true] .bx-tool-name,.cs-root .bx-tool-us[aria-selected=true] .bx-tool-score{color:var(--teal)}.cs-root .bx-tool-flag{color:var(--check);font-weight:700;cursor:help}.cs-root .bx-score{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 22px;align-items:center;padding:20px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--raised)}.cs-root .bx-score-n{font-family:var(--mono);font-size:calc(40px*var(--tx));font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--text)}.cs-root .bx-score-l{font-size:calc(15.5px*var(--tx));color:var(--dim);line-height:1.5;max-width:58ch}.cs-root .bx-score-l b{color:var(--text);font-weight:600}.cs-root .bx-score-l i{font-style:normal;color:var(--faint)}.cs-root .bx-score-side{display:flex;flex-direction:column;gap:2px;text-align:right;font-family:var(--mono);font-size:calc(12.5px*var(--tx));color:var(--faint);white-space:nowrap}.cs-root .bx-calls{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;padding:14px 20px;border-top:1px solid var(--line-soft);background:var(--paper)}.cs-root .bx-calls-l{font-size:calc(12px*var(--tx));text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600}.cs-root .bx-calls-list{display:flex;flex-wrap:wrap;gap:6px}.cs-root .bx-call{font-family:var(--mono);font-size:calc(12px*var(--tx));color:var(--dim);border:1px solid var(--line-soft);border-radius:5px;padding:3px 8px;background:var(--panel)}.cs-root .bx-call b{color:var(--text);font-weight:600;margin-left:5px}.cs-root .bx-calls-none{font-size:calc(13px*var(--tx));color:var(--faint)}.cs-root .bx-call,.cs-root .bx-row{transition:opacity .24s ease}.cs-root .bx-call.is-out,.cs-root .bx-row.is-out{opacity:0}.cs-root .bx-out.is-waiting{opacity:.25;pointer-events:none}.cs-root .bx-out{transition:opacity .3s ease}.cs-root .bx-run{font-family:var(--mono);font-size:calc(12.5px*var(--tx));color:var(--teal)}.cs-root .bx-run:after{content:"▍";margin-left:3px;animation:bx-blink 1s steps(2,start) infinite}@keyframes bx-blink{to{visibility:hidden}}@media (prefers-reduced-motion:reduce){.cs-root .bx-call,.cs-root .bx-row,.cs-root .bx-out{transition:none}.cs-root .bx-run:after{animation:none}}.cs-root .bx-tablewrap{max-height:60vh;overflow:auto;border-top:1px solid var(--line-soft)}.cs-root .bx-table{width:100%;border-collapse:collapse;table-layout:fixed}.cs-root .bx-table thead th{position:sticky;top:0;z-index:1;background:var(--raised);text-align:left;font-weight:600;font-size:calc(11.5px*var(--tx));text-transform:uppercase;letter-spacing:.05em;color:var(--faint);padding:9px 14px;border-bottom:1px solid var(--line)}.cs-root .bx-th-repo{width:130px}.cs-root .bx-th-verdict{width:150px}.cs-root .bx-table td{padding:8px 14px;border-bottom:1px solid var(--line-soft);vertical-align:baseline}.cs-root .bx-table tr:last-child td{border-bottom:none}.cs-root .bx-row[tabindex]{cursor:pointer}.cs-root .bx-row[tabindex]:hover td{background:var(--raised)}.cs-root .bx-row[tabindex]:hover .bx-td-path{color:var(--text)}.cs-root .bx-row[aria-disabled]{cursor:default}.cs-root .bx-td-repo{font-family:var(--mono);font-size:calc(12px*var(--tx));color:var(--dim)}.cs-root .bx-td-path{font-family:var(--mono);font-size:calc(12.5px*var(--tx));line-height:1.5;color:var(--dim);overflow-wrap:anywhere}.cs-root .bx-row-found .bx-td-path{color:var(--text)}.cs-root .bx-row-missed .bx-td-path{color:var(--check)}.cs-root .bx-v{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:calc(12.5px*var(--tx));color:var(--faint)}.cs-root .bx-v:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.cs-root .bx-v-found{color:var(--safe)}.cs-root .bx-v-missed{color:var(--check)}.cs-root .bx-v-other{color:var(--faint)}.cs-root .bx-showrest{display:block;width:100%;text-align:left;padding:12px 20px;border-top:1px solid var(--line-soft);font-size:calc(13.5px*var(--tx));color:var(--teal);font-weight:500}.cs-root .bx-showrest:hover{background:var(--raised)}.cs-root .bx-showrest:before{content:"+ "}.cs-root .bx-showrest[aria-expanded=true]:before{content:"− "}.cs-root .bx-hint{margin:0;padding:13px 20px;border-top:1px solid var(--line-soft);background:var(--raised);font-size:calc(13.5px*var(--tx));color:var(--faint)}.cs-root .bx-file[aria-current]{background:var(--teal-soft)}.cs-root .bx-file[aria-current] .bx-td-path{color:var(--teal)}.cs-root .bx-scrim{position:fixed;inset:0;z-index:60;background:#2c2c2a57;backdrop-filter:blur(2px)}.cs-root .bx-drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(940px,100vw);display:flex;flex-direction:column;background:var(--paper);border-left:1px solid var(--line);box-shadow:-18px 0 48px #2c2c2a24;transform:translate(100%);transition:transform .22s cubic-bezier(.32,.72,0,1)}.cs-root .bx-drawer.on{transform:translate(0)}@media (prefers-reduced-motion:reduce){.cs-root .bx-drawer{transition:none}}.cs-root .bx-drawer-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--panel)}.cs-root .bx-drawer-title{margin:0;flex:1;max-width:none;font-size:calc(17px*var(--tx));font-weight:600;letter-spacing:-.015em;color:var(--text)}.cs-root .bx-drawer-close,.cs-root .bx-drawer-back{padding:5px 9px;border-radius:6px;color:var(--dim);display:inline-flex;align-items:center;gap:5px;font-size:calc(13.5px*var(--tx))}.cs-root .bx-drawer-close:hover,.cs-root .bx-drawer-back:hover{background:var(--raised);color:var(--text)}.cs-root .bx-drawer-close svg,.cs-root .bx-drawer-back svg{width:16px;height:16px}.cs-root .bx-drawer-body{flex:1;overflow-y:auto;padding:22px 26px 48px}.cs-root .bx-spec-msg{margin:0;font-size:calc(15px*var(--tx));color:var(--dim)}.cs-root .bx-spec{--bg:var(--paper);--panel-s:var(--panel);--panel2:var(--raised);--border:var(--line);--muted:var(--dim);--accent:var(--teal);--accent2:var(--safe);--warn:var(--check);--bad:var(--break);--code:var(--raised);font-size:calc(14.5px*var(--tx));line-height:1.55;color:var(--text)}.cs-root .bx-spec section{padding:0;border-top:none}.cs-root .bx-spec h1.filetitle,.cs-root .bx-spec .s{max-width:none}.cs-root .bx-spec a{color:var(--accent)}.cs-root .bx-spec a:hover{text-decoration:underline}.cs-root .bx-spec code,.cs-root .bx-spec pre{font-family:var(--mono)}.cs-root .bx-spec .muted{color:var(--muted)}.cs-root .bx-spec .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:middle}.cs-root .bx-spec .crumb{color:var(--muted);font-size:calc(12.5px*var(--tx));margin-bottom:10px;font-family:var(--mono)}.cs-root .bx-spec h1.filetitle{font-family:var(--display);font-size:calc(21px*var(--tx));font-weight:600;letter-spacing:-.02em;margin:4px 0;word-break:break-all;color:var(--text)}.cs-root .bx-spec .lead{color:var(--text);font-size:calc(16px*var(--tx));max-width:68ch;margin:12px 0}.cs-root .bx-spec .stats{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:calc(12.5px*var(--tx));margin:8px 0 4px;font-family:var(--mono)}.cs-root .bx-spec .stats b{color:var(--text);font-weight:600}.cs-root .bx-spec .s{font-size:calc(12px*var(--tx));text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin:26px 0 10px;font-weight:700;display:flex;align-items:center;gap:9px}.cs-root .bx-spec .s:before{content:"";width:14px;height:2px;background:var(--accent);border-radius:2px}.cs-root .bx-spec details.sec{margin:10px 0;border-top:1px solid var(--line-soft)}.cs-root .bx-spec summary.s{cursor:pointer;list-style:none;margin:0;padding:12px 0}.cs-root .bx-spec summary.s::-webkit-details-marker{display:none}.cs-root .bx-spec summary.s:after{content:"▸";margin-left:auto;color:var(--faint);font-size:calc(15px*var(--tx));line-height:1;transition:transform .15s ease}.cs-root .bx-spec details.sec[open]>summary.s:after{transform:rotate(90deg)}.cs-root .bx-spec summary.s:hover{color:var(--dim)}.cs-root .bx-spec .secbody{padding-bottom:10px}.cs-root .bx-spec .kv{margin:14px 0}.cs-root .bx-spec .lab{color:var(--faint);font-size:calc(11px*var(--tx));text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:6px}.cs-root .bx-spec .chips{display:flex;gap:6px;flex-wrap:wrap}.cs-root .bx-spec .chip{font-size:calc(12px*var(--tx));padding:3px 10px;border-radius:999px;background:var(--panel2);border:1px solid var(--border);color:var(--muted)}.cs-root .bx-spec .chip.cap{border-color:var(--teal-line);color:var(--teal);background:var(--teal-soft)}.cs-root .bx-spec .chip.ent{border-color:var(--border);color:var(--text)}.cs-root .bx-spec .chip.kw{border-color:var(--border);color:var(--faint);font-family:var(--mono);font-size:calc(11.5px*var(--tx))}.cs-root .bx-spec ul.clean{margin:6px 0;padding-left:18px}.cs-root .bx-spec ul.clean li{margin:4px 0}.cs-root .bx-spec p{margin:8px 0;max-width:72ch}.cs-root .bx-spec .bx-xref{font-family:var(--mono);font-size:calc(12.5px*var(--tx));color:var(--accent);padding:0;text-align:left;word-break:break-all;line-height:1.5}.cs-root .bx-spec .bx-xref:hover{text-decoration:underline}.cs-root .bx-spec .bx-xref-off{font-family:var(--mono);font-size:calc(12.5px*var(--tx));color:var(--faint);word-break:break-all;line-height:1.5}.cs-root .bx-spec .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}.cs-root .bx-spec .box{border:1px solid var(--border);border-radius:9px;padding:11px 13px;background:var(--panel2)}.cs-root .bx-spec .box .h{font-size:calc(11px*var(--tx));text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:700;margin-bottom:6px}.cs-root .bx-spec .box.good .h{color:var(--accent2)}.cs-root .bx-spec .box.warn .h{color:var(--warn)}.cs-root .bx-spec .box.bad .h{color:var(--bad)}.cs-root .bx-spec .band{margin:18px 0 6px}.cs-root .bx-spec .callout{border:1px solid var(--border);border-radius:12px;padding:12px 15px;margin-bottom:10px}.cs-root .bx-spec .callout .h{font-size:calc(12px*var(--tx));text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:7px}.cs-root .bx-spec .callout.bad{border-color:#b4432e66;background:#b4432e0f}.cs-root .bx-spec .callout.bad .h{color:var(--bad)}.cs-root .bx-spec .callout.warn{border-color:#8a601066;background:#8a60100f}.cs-root .bx-spec .callout.warn .h{color:var(--warn)}.cs-root .bx-spec .callout.good{border-color:var(--teal-line);background:var(--teal-soft)}.cs-root .bx-spec .callout.good .h{color:var(--accent2)}.cs-root .bx-spec .ctxline{color:var(--muted);font-size:calc(12.5px*var(--tx))}.cs-root .bx-spec .ctxline b{color:var(--text)}.cs-root .bx-spec .unit{border:1px solid var(--border);border-radius:11px;margin-bottom:10px;background:var(--panel-s);overflow:hidden}.cs-root .bx-spec .unit>summary{cursor:pointer;padding:11px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;list-style:none}.cs-root .bx-spec .unit>summary::-webkit-details-marker{display:none}.cs-root .bx-spec .unit[open]>summary{border-bottom:1px solid var(--border);background:var(--panel2)}.cs-root .bx-spec .uname{font-family:var(--mono);font-weight:600;font-size:calc(13px*var(--tx))}.cs-root .bx-spec .ukind{font-size:calc(10px*var(--tx));text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:5px;font-weight:700;background:var(--raised);color:var(--faint)}.cs-root .bx-spec .ukind.function,.cs-root .bx-spec .ukind.method{background:var(--teal-soft);color:var(--teal)}.cs-root .bx-spec .ukind.interface,.cs-root .bx-spec .ukind.type_alias,.cs-root .bx-spec .ukind.enum{background:#8a60101a;color:var(--check)}.cs-root .bx-spec .uvis{font-size:calc(11px*var(--tx));color:var(--faint)}.cs-root .bx-spec .uloc{margin-left:auto;font-size:calc(11px*var(--tx));color:var(--faint);font-family:var(--mono)}.cs-root .bx-spec .ubody{padding:14px 15px}.cs-root .bx-spec .sig{font-family:var(--mono);font-size:calc(12.5px*var(--tx));color:var(--teal);background:var(--code);border:1px solid var(--border);border-radius:7px;padding:8px 11px;white-space:pre-wrap;word-break:break-word;margin-bottom:9px}.cs-root .bx-spec pre.code{background:var(--code);border:1px solid var(--border);border-radius:8px;padding:12px;overflow:auto;font-size:calc(12.2px*var(--tx));color:var(--text);line-height:1.5}.cs-root .bx-spec .srcsum{cursor:pointer;color:var(--muted);font-size:calc(12px*var(--tx));margin-bottom:6px}.cs-root .bx-spec .tst{border-left:2px solid var(--accent);padding:6px 0 6px 11px;margin:8px 0}.cs-root .bx-spec .tst .id{font-family:var(--mono);font-size:calc(12px*var(--tx));color:var(--accent);font-weight:600}.cs-root .bx-spec .tst .row{font-size:calc(12.5px*var(--tx));margin-top:3px}.cs-root .bx-spec .tst .row b{color:var(--faint)}.cs-root .bx-spec .badge{font-size:calc(11px*var(--tx));padding:2px 8px;border-radius:6px;background:var(--panel2);border:1px solid var(--border);color:var(--muted);font-weight:600}.cs-root .bx-spec .badge.good{color:var(--accent2);border-color:var(--teal-line)}.cs-root .bx-spec .note{border:1px dashed var(--border);border-radius:10px;padding:11px 14px;color:var(--muted);background:var(--panel2);font-size:calc(13px*var(--tx));margin-bottom:12px}.cs-root .bx-spec .amb{border-left:2px solid var(--warn);padding:5px 0 5px 11px;margin:7px 0;font-size:calc(13px*var(--tx))}.cs-root .bx-spec .amb .q{font-weight:600}.cs-root .bx-spec .sei{margin:6px 0}.cs-root .bx-spec .drill{margin-top:8px}.cs-root .bx-spec .drill>summary{cursor:pointer;color:var(--muted);font-size:calc(12px*var(--tx))}.cs-root .bx-spec .legend{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 8px;font-size:calc(11.5px*var(--tx));color:var(--muted)}.cs-root .bx-spec .legend .lg{display:inline-flex;align-items:center;gap:6px}.cs-root .bx-spec .legend .lg i{width:11px;height:11px;border-radius:3px;border:1px solid;display:inline-block}.cs-root .bx-spec .diagram{background:var(--panel-s);border:1px solid var(--border);border-radius:12px;padding:12px;margin:8px 0;overflow-x:auto}.cs-root .bx-spec .diagram pre.mermaid{margin:0}.cs-root .bx-spec .diagram pre.mermaid:not([data-processed]){font-size:calc(11.5px*var(--tx));color:var(--faint);white-space:pre-wrap;opacity:.75}.cs-root .bx-spec .diagram svg{max-width:none;height:auto}.cs-root .rt-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.cs-root .rt{width:100%;border-collapse:collapse}.cs-root .rt th{text-align:left;font-weight:600;white-space:nowrap;font-size:calc(11.5px*var(--tx));text-transform:uppercase;letter-spacing:.05em;color:var(--faint);padding:11px 14px;border-bottom:1px solid var(--line);background:var(--raised)}.cs-root .rt td{padding:11px 14px;border-bottom:1px solid var(--line-soft)}.cs-root .rt tr:last-child td{border-bottom:none}.cs-root .rt-case{font-size:calc(14.5px*var(--tx));color:var(--text)}.cs-root .rt-n{text-align:right;font-family:var(--mono);font-size:calc(12.5px*var(--tx));color:var(--dim);white-space:nowrap}.cs-root .rt-n i{font-style:normal;color:var(--faint)}.cs-root .rt tr.rt-us td{color:var(--teal);background:var(--teal-soft)}.cs-root .rt tr.rt-us .rt-case{font-weight:600}.cs-root .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.cs-root .step{padding:26px 30px 6px 0;border-top:2px solid var(--teal)}.cs-root .step+.step{padding-left:30px;border-left:1px solid var(--line-soft)}.cs-root .step-n{display:block;font-family:var(--mono);font-size:calc(12.5px*var(--tx));font-weight:600;color:var(--teal);letter-spacing:.06em;margin-bottom:12px}.cs-root .step-t{margin:0 0 8px;font-size:calc(19px*var(--tx));font-weight:500;letter-spacing:-.015em;color:var(--text)}.cs-root .step-d{margin:0;font-size:calc(15px*var(--tx));color:var(--dim);line-height:1.62}.cs-root .uses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cs-root .use{border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:22px 24px 24px}.cs-root .use-t{margin:0 0 12px;font-size:calc(16.5px*var(--tx));font-weight:600;color:var(--text)}.cs-root .use-q{margin:0;padding:11px 14px;border-left:2px solid var(--teal-line);background:var(--paper);font-family:var(--mono);font-size:calc(13px*var(--tx));line-height:1.55;color:var(--teal)}.cs-root .cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.cs-root .cmp{width:100%;border-collapse:collapse;min-width:720px}.cs-root .cmp th{text-align:left;font-weight:600;white-space:nowrap;font-size:calc(11.5px*var(--tx));text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:13px 18px;border-bottom:1px solid var(--line);background:var(--raised)}.cs-root .cmp th.cmp-us-h{color:var(--teal);background:#0f6e561a}.cs-root .cmp td{padding:14px 18px;border-bottom:1px solid var(--line-soft);font-size:calc(14.5px*var(--tx));vertical-align:top}.cs-root .cmp tr:last-child td{border-bottom:none}.cs-root .cmp-ask{color:var(--text);font-weight:500;width:30%}.cs-root .cmp td.cmp-us{position:relative;color:var(--teal);background:var(--teal-soft);width:33%;padding-left:42px}.cs-root .cmp-tick{position:absolute;left:18px;top:14px;font-weight:700}.cs-root .cmp-them{color:var(--faint);width:33%}.cs-root .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.cs-root .tier{position:relative;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:26px 24px;display:flex;flex-direction:column}.cs-root .tier-featured{border-color:var(--teal);background:var(--teal-soft);box-shadow:0 10px 30px #0f6e5614}.cs-root .tier-badge{position:absolute;top:-11px;left:24px;font-family:var(--mono);font-size:calc(11px*var(--tx));font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--teal);color:#fff;border-radius:100px;padding:4px 11px}.cs-root .tier-name{font-size:calc(15px*var(--tx));color:var(--dim)}.cs-root .tier-price{font-size:calc(32px*var(--tx));font-weight:500;letter-spacing:-.03em;margin:8px 0 2px;line-height:1.15}.cs-root .tier-price span{font-size:calc(15px*var(--tx));color:var(--dim);font-weight:400;letter-spacing:0;display:block;margin-top:4px}.cs-root .tier-list{margin:16px 0 24px;padding:0;list-style:none;border-top:1px solid var(--line-soft)}.cs-root .tier-list li{font-size:calc(14px*var(--tx));color:var(--dim);padding:9px 0 0 24px;position:relative;line-height:1.5}.cs-root .tier-list li:before{content:"✓";position:absolute;left:0;top:9px;color:var(--teal);font-weight:700;font-size:calc(13px*var(--tx))}.cs-root .tier .btn{margin-top:auto;text-align:center}.cs-root .faq{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;align-content:start}.cs-root .faq-item{border-top:1px solid var(--line-soft)}.cs-root .faq-q{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:19px 0;margin:0;font-size:calc(16px*var(--tx));font-weight:500;color:var(--text);transition:color .14s ease}.cs-root .faq-q::-webkit-details-marker{display:none}.cs-root .faq-q:after{content:"+";margin-left:auto;flex:none;font-family:var(--mono);font-size:calc(18px*var(--tx));line-height:1;color:var(--faint)}.cs-root .faq-q:hover{color:var(--teal)}.cs-root .faq-item[open]>.faq-q{color:var(--teal)}.cs-root .faq-item[open]>.faq-q:after{content:"−";color:var(--teal)}.cs-root .faq-a{font-size:calc(15px*var(--tx));color:var(--dim);margin:0;padding:0 0 20px;line-height:1.62;max-width:58ch}.cs-root .cta-sec{background:var(--panel)}.cs-root .cta{text-align:center}.cs-root .cta h2{max-width:24ch;margin-left:auto;margin-right:auto}.cs-root .cta-d{font-size:calc(16.5px*var(--tx));color:var(--dim);max-width:56ch;margin:0 auto 32px;line-height:1.6}.cs-root .cta .actions{justify-content:center}.cs-root footer{border-top:1px solid var(--line-soft);padding:52px 0 0;font-size:calc(14.5px*var(--tx));color:var(--faint)}.cs-root .foot{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:32px;padding-bottom:44px}.cs-root .foot-brand .brand{margin-bottom:12px}.cs-root .foot-t{margin:0;max-width:28ch;color:var(--faint);line-height:1.55}.cs-root .foot-col{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.cs-root .foot-h{margin:0 0 2px;font-size:calc(12px*var(--tx));text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--text)}.cs-root .foot-col a{color:var(--faint)}.cs-root .foot-col a:hover{color:var(--teal)}.cs-root .foot-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;padding-bottom:40px;border-top:1px solid var(--line-soft);font-size:calc(13.5px*var(--tx))}.cs-root .foot-links{display:flex;gap:22px;flex-wrap:wrap}.cs-root .foot-links a:hover{color:var(--text)}.cs-root.reveal-on .rv{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .55s cubic-bezier(.22,.61,.36,1)}.cs-root.reveal-on .rv.is-in{opacity:1;transform:none}.cs-root{--stagger:.35s}.cs-root.reveal-on .st{opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .5s cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--st, 0)*var(--stagger))}.cs-root.reveal-on.staged .st{opacity:1;transform:none}.cs-root.reveal-on .hstats .hstat-bar i{transform:scaleX(0);transform-origin:left center;transition:transform .8s cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--st, 0)*var(--stagger) + .15s)}.cs-root.reveal-on.staged .hstats .hstat-bar i{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.cs-root.reveal-on .rv,.cs-root.reveal-on .st{opacity:1;transform:none;transition:none}.cs-root.reveal-on .hstats .hstat-bar i{transform:scaleX(1);transition:none}}@media (max-width:1040px){.cs-root .hero{padding-block:58px 38px}.cs-root .steps{grid-template-columns:1fr}.cs-root .step{padding:24px 0 4px}.cs-root .step+.step{padding-left:0;border-left:none}.cs-root .foot{grid-template-columns:1fr 1fr;gap:36px 24px}}@media (max-width:900px){.cs-root .uses{grid-template-columns:1fr}.cs-root .nav{display:none}.cs-root .mnav{display:block}.cs-root .tiers{grid-template-columns:1fr}.cs-root .tier-featured{order:-1}.cs-root .faq{grid-template-columns:1fr}.cs-root .hstats{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-root .bx-score{grid-template-columns:auto minmax(0,1fr)}.cs-root .bx-score-side{grid-column:1/-1;flex-direction:row;gap:14px;text-align:left;margin-top:4px}}@media (max-width:700px){.cs-root{--gut:18px;--tx:1}.cs-root section{padding:58px 0}.cs-root .bx-sec{padding:58px 0}.cs-root .announce{font-size:calc(12.5px*var(--tx));gap:9px;padding:8px var(--gut)}.cs-root .announce-tag{display:none}.cs-root .hero{padding-block:44px 34px}.cs-root .eyebrow{font-size:calc(11px*var(--tx));padding:5px 11px}.cs-root .hstats{grid-template-columns:1fr}.cs-root .hstat{padding:20px 18px}.cs-root .hstat-n{font-size:calc(48px*var(--tx))}.cs-root .deltas{gap:16px}.cs-root .bx-score{grid-template-columns:1fr;gap:10px}.cs-root .bx-score-n{font-size:calc(34px*var(--tx))}.cs-root .bx-drawer-body{padding:18px 18px 36px}.cs-root .bx-spec .detail-grid{grid-template-columns:1fr}.cs-root .foot{grid-template-columns:1fr;gap:28px}.cs-root .bx-table{min-width:560px}.cs-root .bx-tablewrap{-webkit-overflow-scrolling:touch}.cs-root .bx-th-repo{width:96px}.cs-root .bx-th-verdict{width:118px}.cs-root .bx-table td,.cs-root .bx-table thead th{padding-left:10px;padding-right:10px}}@media (max-width:520px){.cs-root .hero-actions .btn,.cs-root .cta .actions .btn{flex:1 0 100%}}