@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:italic;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:italic;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-italic.CfQkWpeR.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:italic;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-italic.Dmq-fBVQ.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:italic;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-italic.Dcombn6O.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:italic;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-italic.BrDczivE.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:italic;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-italic.B2M6KQje.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--ink: #0b1220;--ink-soft: #334155;--muted: #64748b;--line: #e2e8f0;--line-strong: #cbd5e1;--bg: #ffffff;--bg-soft: #f8fafc;--bg-panel: #f1f5f9;--surface: #ffffff;--header-bg: rgba(255, 255, 255, .85);--accent: #4f46e5;--accent-soft: #eef2ff;--accent-ink: #3730a3;--good: #047857;--good-soft: #ecfdf5;--good-line: #a7f3d0;--warn: #b45309;--warn-soft: #fffbeb;--warn-line: #fde68a;--bad: #be123c;--bad-soft: #fff1f2;--bad-line: #fecdd3;--accent-line: #c7d2fe;--knowledge-grad: #f5f3ff;--radius: 14px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .06);--maxw: 1120px;--mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root{--ink: #e8eef7;--ink-soft: #b6c2d4;--muted: #8b9bb0;--line: #2a3548;--line-strong: #3d4b63;--bg: #0b1220;--bg-soft: #111827;--bg-panel: #1a2333;--surface: #151d2c;--header-bg: rgba(11, 18, 32, .88);--accent: #818cf8;--accent-soft: #1e1b4b;--accent-ink: #c7d2fe;--good: #34d399;--good-soft: #064e3b;--good-line: #047857;--warn: #fbbf24;--warn-soft: #451a03;--warn-line: #92400e;--bad: #fb7185;--bad-soft: #4c0519;--bad-line: #9f1239;--accent-line: #4338ca;--knowledge-grad: #1e1b4b;--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .4)}}@media print{:root{color-scheme:light;--ink: #0b1220;--ink-soft: #334155;--muted: #64748b;--line: #e2e8f0;--line-strong: #cbd5e1;--bg: #ffffff;--bg-soft: #f8fafc;--bg-panel: #f1f5f9;--surface: #ffffff;--header-bg: #ffffff;--accent: #4f46e5;--accent-soft: #eef2ff;--accent-ink: #3730a3;--good: #047857;--good-soft: #ecfdf5;--good-line: #a7f3d0;--warn: #b45309;--warn-soft: #fffbeb;--warn-line: #fde68a;--bad: #be123c;--bad-soft: #fff1f2;--bad-line: #fecdd3;--accent-line: #c7d2fe;--knowledge-grad: #f5f3ff;--shadow: none}body{background:#fff;color:#0b1220}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--mono);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{line-height:1.2;color:var(--ink);font-weight:700;letter-spacing:-.02em}h1{font-size:clamp(2rem,4.5vw,3.1rem)}h2{font-size:clamp(1.5rem,2.6vw,2rem)}p{color:var(--ink-soft)}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.section{padding:4rem 0}.section.tight{padding:2.5rem 0}.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}.site-header .inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{display:flex;align-items:center;gap:.55rem;font-weight:800;color:var(--ink);letter-spacing:-.03em}.brand .mark{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--accent),#7c3aed);display:grid;place-items:center;color:#fff;font-size:.85rem}nav.main{display:flex;gap:1.25rem;align-items:center}nav.main a{color:var(--ink-soft);font-size:.92rem;font-weight:500}nav.main a:hover{color:var(--accent);text-decoration:none}.site-footer{border-top:1px solid var(--line);background:var(--bg-soft);color:var(--muted);font-size:.9rem}.site-footer .inner{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;padding:2rem 1.25rem;max-width:var(--maxw);margin:0 auto}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1rem;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:transform .05s ease,background .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-ink);text-decoration:none}.btn-ghost{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:600;padding:.18rem .5rem;border-radius:999px;border:1px solid var(--line);color:var(--ink-soft);background:var(--surface);white-space:nowrap}.badge.good{color:var(--good);background:var(--good-soft);border-color:var(--good-line)}.badge.warn{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-line)}.badge.bad{color:var(--bad);background:var(--bad-soft);border-color:var(--bad-line)}.badge.accent{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-line)}.dot{width:7px;height:7px;border-radius:999px;background:currentColor;display:inline-block}.chip{display:inline-flex;align-items:center;font-size:.8rem;padding:.25rem .6rem;border-radius:999px;background:var(--bg-panel);color:var(--ink-soft);border:1px solid var(--line)}.hero{padding:4.5rem 0 3rem;border-bottom:1px solid var(--line);background:radial-gradient(1200px 400px at 70% -10%,var(--accent-soft),transparent 60%)}.hero .lede{max-width:46rem;font-size:1.18rem;color:var(--ink-soft)}.hero .cta-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.hero .eyebrow{color:var(--accent);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.grid{display:grid;gap:1rem}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}@media(max-width:860px){.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1.25rem;box-shadow:var(--shadow);transition:border-color .15s ease,transform .12s ease}.card:hover{border-color:var(--accent)}.card h3{margin:0 0 .25rem;font-size:1.1rem}.card .tagline{color:var(--muted);font-size:.92rem;margin:0 0 .85rem}.card .badges{display:flex;flex-wrap:wrap;gap:.4rem}.cat-card{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.cat-card:hover{text-decoration:none;border-color:var(--accent)}.cat-card .count{color:var(--accent);font-weight:700;font-size:.85rem}.cat-card p{margin:.5rem 0 0}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line);margin-bottom:1rem}.toolbar .facets{display:flex;gap:1rem;flex-wrap:wrap}.toolbar label{display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem;color:var(--ink-soft);cursor:pointer;user-select:none}.toolbar input[type=search]{flex:0 0 auto;min-width:200px;padding:.5rem .75rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:.92rem}table.dir{width:100%;border-collapse:collapse;font-size:.92rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:700px){table.dir{font-size:.85rem}table.dir th,table.dir td{padding:.5rem .35rem}table.dir th:nth-child(2),table.dir td:nth-child(2){display:none}}table.dir th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.5rem .6rem;border-bottom:1px solid var(--line)}table.dir td{padding:.7rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}table.dir tr:hover td{background:var(--bg-soft)}table.dir .name a{color:var(--ink);font-weight:650}table.dir .name a:hover{color:var(--accent)}table.dir .name .sub{color:var(--muted);font-size:.82rem}.stars{color:var(--muted);font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:.85rem}.tool-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-end}.tool-head h1{margin:.2rem 0}.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1.5rem;margin:1rem 0}@media(max-width:640px){.spec-grid{grid-template-columns:1fr}}.spec-grid div{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px dashed var(--line);font-size:.93rem}.spec-grid .k{color:var(--muted)}.spec-grid .v{font-weight:600;color:var(--ink);text-align:right}.proscons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}@media(max-width:640px){.proscons{grid-template-columns:1fr}}.proscons .box{border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem}.proscons h4{margin:0 0 .5rem;font-size:.9rem}.proscons ul{margin:0;padding-left:1.1rem;color:var(--ink-soft)}.proscons li{margin:.2rem 0}.knowledge{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:1.5rem}.knowledge>header{background:linear-gradient(135deg,var(--accent-soft),var(--knowledge-grad));padding:1rem 1.25rem;border-bottom:1px solid var(--line)}.knowledge>header h3{margin:0}.knowledge>header p{margin:.2rem 0 0;font-size:.88rem;color:var(--ink-soft)}.insight{padding:1rem 1.25rem;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;align-items:start}.insight:last-child{border-bottom:none}.insight .claim{color:var(--ink)}.insight .meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.novelty{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:600;color:var(--accent-ink)}.novelty .bar{width:46px;height:6px;border-radius:999px;background:var(--line);overflow:hidden}.novelty .bar>i{display:block;height:100%;background:linear-gradient(90deg,#818cf8,var(--accent))}.vs-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:720px){.vs-grid{grid-template-columns:1fr}}.vs-col{border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.eyebrow{display:none;color:var(--accent);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.muted{color:var(--muted)}.center{text-align:center}.section-head{max-width:46rem;margin-bottom:1.5rem}.list-bare{list-style:none;padding:0;margin:0}.feature{display:flex;gap:.85rem;align-items:flex-start}.feature .ic{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;font-weight:800;flex-shrink:0}.feature h4{margin:0 0 .2rem}.feature p{margin:0;font-size:.92rem}.callout{border-left:3px solid var(--accent);background:var(--bg-soft);padding:.9rem 1.1rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.95rem}.wikibody h1{font-size:1.9rem;margin:0 0 .5rem}.wikibody h2{font-size:1.3rem;margin:1.6rem 0 .5rem}.wikibody h3{font-size:1.05rem;margin:1.2rem 0 .4rem}.wikibody p{margin:.6rem 0}.wikibody ul{padding-left:1.2rem}.wikibody li{margin:.25rem 0}.wikibody code{background:var(--bg-panel);padding:.1rem .3rem;border-radius:4px;font-family:var(--mono);font-size:.9em}.wikibody pre{background:var(--bg-panel);padding:.8rem 1rem;border-radius:var(--radius-sm);overflow-x:auto}.wikigrid{display:grid;grid-template-columns:1fr 16rem;gap:2rem;align-items:start}.wikigrid aside{position:sticky;top:80px;font-size:.9rem}@media(max-width:760px){.wikigrid{grid-template-columns:1fr}.wikigrid aside{position:static}}
