@font-face{font-family:ibm plex sans;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-sans-latin-ext-400-normal.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:ibm plex sans;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex sans;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-sans-latin-ext-500-normal.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:ibm plex sans;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex sans;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-sans-latin-ext-600-normal.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:ibm plex sans;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-ext-400-normal.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:ibm plex mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-ext-500-normal.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:ibm plex mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-xs:0.6875rem;--text-sm:0.8125rem;--text-base:0.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--weight-regular:400;--weight-medium:500;--weight-strong:600;--leading-tight:1.25;--leading:1.45;--tracking-label:0.06em;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--radius-sm:4px;--radius:6px;--radius-lg:8px;--radius-full:999px;--border:1px;--row-height:2.5rem;--row-height-dense:2.125rem;--target-min:2.75rem;--duration-fast:120ms;--duration:180ms;--ease:cubic-bezier(0.2, 0.8, 0.2, 1)}:root,[data-theme=dark],[data-theme=system]{color-scheme:dark;--color-bg:#0f1217;--color-panel:#161a20;--color-raised:#1c2129;--color-line:#2a303a;--color-line-strong:#3b4250;--color-band:#181c23;--color-band-alt:#1f242c;--color-text:#e6e9ee;--color-muted:#a0a8b5;--color-faint:#848d9b;--color-accent:#7a9cf2;--color-accent-text:#0b1430;--color-accent-soft:#1c2640;--color-good:#63c994;--color-good-soft:#15291f;--color-warn:#e9a93f;--color-warn-soft:#2e2412;--color-bad:#f27f5c;--color-bad-soft:#36190f;--color-enemy:#8a93a1;--color-cast:#2e3847;--color-debuff:#5a3125;--color-hit:#a5705f;--color-heal:#4f9a83;--class-death-knight:#e7637a;--class-demon-hunter:#c16edc;--class-druid:#ff7c0a;--class-evoker:#38a08a;--class-hunter:#aad372;--class-mage:#3fc7eb;--class-monk:#00ff98;--class-paladin:#f48cba;--class-priest:#ffffff;--class-rogue:#fff468;--class-shaman:#1e90ff;--class-warlock:#8788ee;--class-warrior:#c69b6d;--shadow-1:none;--shadow-2:0 8px 24px rgb(0 0 0 / 0.45)}[data-theme=light]{color-scheme:light;--color-bg:#f5f6f8;--color-panel:#ffffff;--color-raised:#fafbfc;--color-line:#e2e5ea;--color-line-strong:#c8cdd5;--color-band:#fcfcfd;--color-band-alt:#f3f5f8;--color-text:#14171c;--color-muted:#566070;--color-faint:#5f6876;--color-accent:#2b57c9;--color-accent-text:#ffffff;--color-accent-soft:#e8eefb;--color-good:#1f7a55;--color-good-soft:#e3f2eb;--color-warn:#8f5400;--color-warn-soft:#fbefd9;--color-bad:#b83a14;--color-bad-soft:#fbe6de;--color-enemy:#6b7483;--color-cast:#c9d3e6;--color-debuff:#f2c9b8;--color-hit:#b5806f;--color-heal:#5fa58f;--class-death-knight:#c41e3a;--class-demon-hunter:#a130c7;--class-druid:#a84e00;--class-evoker:#287363;--class-hunter:#517223;--class-mage:#0e708a;--class-monk:#007847;--class-paladin:#ca1364;--class-priest:#676767;--class-rogue:#726a00;--class-shaman:#0066c9;--class-warlock:#5153e6;--class-warrior:#886035;--shadow-1:0 1px 2px rgb(20 23 28 / 0.06);--shadow-2:0 8px 24px rgb(20 23 28 / 0.12)}@media(prefers-color-scheme:light){[data-theme=system]{color-scheme:light;--color-bg:#f5f6f8;--color-panel:#ffffff;--color-raised:#fafbfc;--color-line:#e2e5ea;--color-line-strong:#c8cdd5;--color-band:#fcfcfd;--color-band-alt:#f3f5f8;--color-text:#14171c;--color-muted:#566070;--color-faint:#5f6876;--color-accent:#2b57c9;--color-accent-text:#ffffff;--color-accent-soft:#e8eefb;--color-good:#1f7a55;--color-good-soft:#e3f2eb;--color-warn:#8f5400;--color-warn-soft:#fbefd9;--color-bad:#b83a14;--color-bad-soft:#fbe6de;--color-enemy:#6b7483;--color-cast:#c9d3e6;--color-debuff:#f2c9b8;--color-hit:#b5806f;--color-heal:#5fa58f;--class-death-knight:#c41e3a;--class-demon-hunter:#a130c7;--class-druid:#a84e00;--class-evoker:#287363;--class-hunter:#517223;--class-mage:#0e708a;--class-monk:#007847;--class-paladin:#ca1364;--class-priest:#676767;--class-rogue:#726a00;--class-shaman:#0066c9;--class-warlock:#5153e6;--class-warrior:#886035;--shadow-1:0 1px 2px rgb(20 23 28 / 0.06);--shadow-2:0 8px 24px rgb(20 23 28 / 0.12)}}@media(prefers-reduced-motion:reduce){:root{--duration-fast:0ms;--duration:0ms}}:root,[data-theme]{color:var(--color-text);background-color:var(--color-bg)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:var(--leading);color:var(--color-text);background:var(--color-bg)}a{color:var(--color-accent);text-underline-offset:.15em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}h1,h2,h3{line-height:var(--leading-tight);font-weight:var(--weight-strong);margin:0 0 var(--space-3,12px)}h1{font-size:clamp(1.75rem,1.2rem + 2.4vw,2.75rem);letter-spacing:-.01em}h2{font-size:1.5rem;margin-top:var(--space-10,40px)}h3{font-size:var(--text-md)}.wrap{max-width:68rem;margin:0 auto;padding:0 16px}@media(min-width:48rem){.wrap{padding:0 24px}}.muted{color:var(--color-muted)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.label{margin:0 0 4px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-faint)}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;padding:8px 12px;background:var(--color-panel);z-index:10}.site-header{border-bottom:var(--border)solid var(--color-line);background:var(--color-panel)}.header-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;min-height:64px;padding-top:8px;padding-bottom:8px}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-strong);font-size:var(--text-lg);color:var(--color-text);text-decoration:none;margin-right:auto}.brand:hover{color:var(--color-accent)}.mark{flex:none;width:22px;height:22px;fill:var(--color-accent)}.footer-brand{display:flex;align-items:center;gap:var(--space-2)}.footer-brand .mark{width:16px;height:16px}.site-header nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0}.site-header nav a{color:var(--color-muted);text-decoration:none;font-size:var(--text-sm)}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--color-text)}@media(max-width:40rem){.site-header nav{order:3;width:100%}}.site-footer{margin-top:64px;border-top:var(--border)solid var(--color-line);padding:24px 0;font-size:var(--text-sm)}.footer-row p{margin:0 0 8px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--target-min);padding:0 18px;border-radius:var(--radius);border:var(--border)solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-text);font-weight:var(--weight-medium);text-decoration:none;transition:background-color var(--duration-fast)var(--ease)}.button:hover{text-decoration:none;filter:brightness(1.08)}.button-quiet{background:0 0;color:var(--color-text);border-color:var(--color-line-strong)}.site-header .button{min-height:36px;font-size:var(--text-sm)}.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.hero{padding:64px 0 40px}.eyebrow{color:var(--color-accent);font-size:var(--text-sm);font-weight:var(--weight-medium);margin:0 0 8px}.lede{font-size:1.125rem;color:var(--color-muted);max-width:40rem}.compare{margin:0;display:grid;gap:1px;grid-template-columns:1fr;background:var(--color-line);border:var(--border)solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden}@media(min-width:40rem){.compare{grid-template-columns:1fr 1fr}}.compare-col{background:var(--color-panel);padding:16px}.compare-col p.mono{margin:0;font-size:var(--text-md)}.compare-ours{background:var(--color-accent-soft)}.compare figcaption{grid-column:1/-1;background:var(--color-panel);padding:12px 16px;font-size:var(--text-sm)}.feature-grid{list-style:none;padding:0;margin:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.panel{background:var(--color-panel);border:var(--border)solid var(--color-line);border-radius:var(--radius-lg);padding:16px}.panel p{margin:0;color:var(--color-muted);font-size:var(--text-base)}.shot{margin:32px 0}.shot-frame{border:var(--border)solid var(--color-line-strong);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg);box-shadow:0 12px 40px -12px rgb(0 0 0/.5)}.shot img{display:block;width:100%;height:auto}.shot figcaption{margin-top:10px;font-size:var(--text-sm);color:var(--color-muted)}.hero-shot .shot{margin:48px 0 0}.showcase{margin-top:24px}.showcase-row{display:grid;gap:8px 40px;align-items:center;padding:40px 0;border-top:var(--border)solid var(--color-line)}.showcase-row:first-child{border-top:0}.showcase-row .shot{margin:16px 0 0}.showcase-text h2{margin-top:0}.showcase-text p:last-child{color:var(--color-muted);margin-bottom:0}@media(min-width:60rem){.showcase-row{grid-template-columns:minmax(0,2fr)minmax(0,3fr)}.showcase-row .shot{margin:0}.showcase-row:nth-child(even) .showcase-text{order:2}}.features h2{margin-top:32px}.page{padding-top:48px}.prose{max-width:44rem}.prose.wrap{margin-left:auto;margin-right:auto}.prose li{margin-bottom:6px}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--color-raised);padding:1px 4px;border-radius:var(--radius-sm)}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.prose th,.prose td{text-align:left;padding:8px;border-bottom:var(--border)solid var(--color-line);vertical-align:top}.download-grid{list-style:none;padding:0;margin:32px 0 8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));max-width:44rem}.download-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.download-card h2{margin:0;font-size:var(--text-md)}.download-card p{margin:0;font-size:var(--text-sm)}.download-card p.mono{color:var(--color-text);overflow-wrap:anywhere}