@font-face{font-family:Geist;src:url(/fonts/geist-sans.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{color-scheme:dark;--bg: #141412;--surface: #1b1b18;--text: #eeeee7;--muted: #a1a19a;--line: #31312b;--orange: #ff943d;--mono: "Geist Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--text);font-family:Geist,Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}::selection{background:#ff943d45;color:#fff}a{color:inherit;text-decoration:none}a,button{transition:color .18s,background .18s,transform .18s}a:hover{color:var(--orange)}button,input,select{font:inherit}button,summary{cursor:pointer}button{color:inherit}button:disabled{opacity:.45;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px}img{max-width:100%;height:auto}svg{flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2;font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(38px,5.5vw,66px)}h2{font-size:27px}h3{font-size:21px}p{color:var(--muted)}.site-shell{width:min(1200px,calc(100% - 112px));margin:auto;min-height:100dvh;display:flex;flex-direction:column}#main{flex:1 0 auto}.site-header{height:112px;display:flex;align-items:center;gap:40px}.wordmark{font-size:21px;font-weight:550;letter-spacing:-.7px;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.brand-star{color:var(--orange);font-size:30px;line-height:1;display:inline-block;transform:translateY(-1px)}.brand-period{color:var(--orange);margin-left:-9px}.desktop-nav{display:flex;gap:32px;margin-left:auto;font-size:14px}.desktop-nav a{color:#929288;transition:color .15s ease}.desktop-nav a:hover{color:#e4e4dc}.desktop-nav a[aria-current]{color:var(--text);font-weight:500;text-shadow:0 0 12px rgba(255,255,255,.15)}.header-tools{display:flex;align-items:center;gap:22px}.search-open{border:0;background:none;display:flex;align-items:center;gap:10px;padding:6px 8px;color:#929288;border-radius:6px;transition:color .15s ease;cursor:pointer}.search-open:hover{color:#e4e4dc}kbd{font:11px var(--mono);border:1px solid #36362f;border-radius:4px;padding:2px 6px;color:#a4a499;background:#1c1c19}.languages{display:flex;gap:9px;font:11px var(--mono);border-left:1px solid var(--line);padding-left:22px}.languages span{color:#62625d}.languages a[aria-current]{color:var(--orange)}.mobile-menu{display:none}.skip{position:fixed;top:-100px;left:20px;background:var(--orange);color:#141412;padding:12px;z-index:100}.skip:focus{top:10px}.eyebrow{display:flex;align-items:center;gap:10px;font:11px/1.6 var(--mono);letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0;transform:translateY(-.5px);background:var(--orange);box-shadow:0 0 14px #ff943d25}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:22px}.section-heading h2{font-size:23px;margin:0}.section-heading a{font-size:12px;color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.section-number{font:10px var(--mono);color:var(--orange);margin-right:13px;vertical-align:middle;letter-spacing:0}.arrow{font-size:22px;font-weight:300;transition:transform .2s}.row:hover .arrow{transform:translate(4px,-2px)}.row{border-bottom:1px solid var(--line);padding:23px 0;display:flex;gap:22px;align-items:center}.row-title{font-size:19px;font-weight:450;letter-spacing:-.3px}.row p{font-size:14px;margin:5px 0 0}.row .arrow{margin-left:auto}.meta{font:11px/1.7 var(--mono);color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;border:1px solid #4a4a41;border-radius:6px;padding:13px 20px;font-size:14px;line-height:1.5;background:transparent;color:var(--text)}.button:hover{background:#ffffff08;color:var(--text);transform:translateY(-2px)}.button.primary{background:var(--orange);border-color:#ffb06f;color:#1c160e;box-shadow:inset 0 1px #fff4}.button.primary:hover{background:#ffaa5f}.site-footer{margin-top:85px;padding:35px 0 27px;border-top:1px solid var(--line)}.footer-top{display:flex;align-items:center;gap:24px;margin-bottom:28px}.footer-top .wordmark{font-size:18px}.footer-top p{font-size:12px;margin:0}.back-top{margin-left:auto;border:1px solid var(--line);width:32px;height:32px;display:grid;place-items:center;border-radius:4px}.footer-bottom,.other-worlds,.social-links{display:flex;align-items:center;gap:23px;font:11px var(--mono);color:var(--muted)}.footer-bottom{justify-content:space-between}.other-worlds a:first-of-type{color:var(--orange)}.page-intro{padding:66px 0 42px;max-width:850px}.page-intro h1{margin:20px 0}.page-intro p{font-size:19px;line-height:1.7;max-width:730px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.chip{border:1px solid #303029;border-radius:30px;padding:7px 15px;font-size:12.5px;color:#a4a499;background:#181815;transition:all .15s ease;text-transform:capitalize}.chip:hover{border-color:#55554a;color:#f4f4ee;background:#20201c}.chip.active{border-color:var(--orange);color:var(--orange);background:#ff943d14;font-weight:500}.reading{max-width:700px}.prose{font-size:17px;line-height:1.7;color:#d2d2ca;overflow-wrap:anywhere}.prose p{margin-bottom:20px;color:#c6c6bd}.prose li{color:#c6c6bd;margin:7px 0}.prose h2{margin:44px 0 16px;font-size:26px;line-height:1.25;font-weight:600;letter-spacing:-.025em;color:#f2f2eb;scroll-margin-top:32px}.prose h3{margin:32px 0 12px;font-size:20px;line-height:1.35;font-weight:550;letter-spacing:-.015em;color:#eaeae2}.prose a{color:var(--orange);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ff943d55}.prose blockquote{border-left:2.5px solid var(--orange);margin:20px 0;padding:4px 0 4px 18px;font-style:italic;color:#b0b0a6;background:#ff943d08;border-radius:0 4px 4px 0}.prose ul,.prose ol{padding-left:24px}.prose strong{color:#ecece4;font-weight:600}.prose code{font-family:var(--mono);font-size:.82em;background:#24241f;border-radius:3px;padding:2px 5px;margin:0 1px}.prose pre{position:relative;border:1px solid var(--line);border-radius:7px;padding:26px 22px;overflow:auto;max-width:100%;line-height:1.75;font-size:15px}.prose pre code{padding:0;background:transparent}.copy-code{position:absolute;right:9px;top:8px;background:#262622;border:1px solid #55554c;border-radius:4px;padding:4px 8px;font:10px var(--mono)}.table-scroll-wrapper{position:relative;width:100%;margin:30px 0}.prose .table-scroll-wrapper table{margin:0}.table-scroll-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;width:44px;background:linear-gradient(to right,transparent 0%,rgba(20,20,18,.7) 60%,var(--bg) 100%);pointer-events:none;opacity:0;transition:opacity .18s ease}.table-scroll-wrapper[data-overflow-right=true]:after{opacity:1}.prose table{border-collapse:collapse;display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:14px;line-height:1.6;margin:30px 0}.prose table:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:4px}.prose th,.prose td{border:1px solid var(--line);padding:12px 16px;min-width:120px}.prose th{background:var(--surface);text-align:left;color:var(--text)}.prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}.prose img{border-radius:8px}.empty{padding:60px 20px;text-align:center;border:1px dashed var(--line);border-radius:8px}.empty h2{font-size:23px}.muted{color:var(--muted)}[hidden]{display:none!important}dialog:not([open]){display:none!important}#search-dialog{width:min(620px,calc(100% - 32px));max-height:80vh;display:flex;flex-direction:column;overflow:hidden;background:#1d1d19;border:1px solid #4b4b40;border-radius:12px;padding:24px;color:var(--text);box-shadow:0 35px 100px #0009}#search-dialog:not([open]){display:none!important}#search-dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.search-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-shrink:0}.search-top button{font:11px var(--mono);border:1px solid var(--line);border-radius:4px;background:none;padding:5px 8px}#search-input{width:100%;padding:14px;border:1px solid #55554a;border-radius:6px;background:var(--bg);color:var(--text);flex-shrink:0}#search-status{font:11px/1.6 var(--mono);margin:12px 0 8px;color:var(--muted);flex-shrink:0}#search-results{list-style:none;padding:0;margin:0;overflow-y:auto;flex:1;min-height:0}#search-results a{display:block;padding:15px 8px;border-top:1px solid var(--line)}#search-results strong{font-size:16px;font-weight:500}#search-results p{font-size:13px;margin:6px 0 0}.search-foot{font:11px/1.6 var(--mono);margin-top:14px;margin-bottom:0;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);flex-shrink:0}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.15s}@media(min-width:1500px){.site-shell{width:1200px}}@media(max-width:1000px){.site-shell{width:calc(100% - 64px)}.site-header,.desktop-nav{gap:20px}.header-tools{gap:14px}.search-open kbd{display:none}.languages{padding-left:14px}.footer-bottom{gap:24px}.social-links{gap:15px}}@media(max-width:700px){.site-shell{width:calc(100% - 40px)}.site-header{height:88px;gap:10px}.wordmark{font-size:19px}.brand-star{font-size:25px}.desktop-nav{display:none}.header-tools{margin-left:auto;gap:8px}.languages{padding-left:9px;gap:6px;font-size:10px;align-items:center}.languages a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}.search-open{min-width:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center}.mobile-menu{display:block;position:relative;margin-left:4px}.mobile-menu summary{list-style:none;font-size:22px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;z-index:20;right:0;top:48px;min-width:190px;padding:8px;background:#20201bf5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 40px #00000080}.mobile-menu nav a{display:block;padding:11px 14px;font-size:14px;border-radius:5px}.mobile-menu nav a:hover{background:#ffffff0d}.eyebrow{font-size:9px;letter-spacing:1px}.section-heading{flex-wrap:wrap;align-items:baseline;gap:6px 14px}.section-heading h2{font-size:18px;letter-spacing:-.02em}.section-number{margin-right:6px}.section-heading a{font-size:11px;margin-left:auto}.row{gap:14px;padding:20px 0}.row-title{font-size:17px}.row p{font-size:13px}.site-footer{margin-top:60px;padding-top:28px}.footer-top{gap:15px;flex-wrap:wrap}.footer-top p{order:3;flex-basis:100%}.footer-bottom{align-items:flex-start;flex-direction:column}.other-worlds,.social-links{gap:19px;font-size:10px}.page-intro{padding:38px 0 25px}.page-intro p,.prose{font-size:17px}.prose h2{font-size:25px}.prose pre{font-size:13px;padding:32px 16px 20px}}@media(max-width:360px){.site-header{gap:6px}.wordmark{font-size:17px;gap:8px}.brand-star{font-size:22px}.header-tools{gap:4px}.languages{padding-left:6px;gap:4px;border-left:none}.languages a{padding:0 2px}.mobile-menu{margin-left:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}@media print{.site-header,.site-footer,dialog,.toc,.copy-code,.export-links{display:none!important}body{background:#fff;color:#000}.site-shell{width:100%}.prose p,.prose li,.prose h2,.prose h3,.prose h4,.prose strong,.prose th,.prose td{color:#000}.prose th{background:#f2f2f2}article summary,article a{color:#000!important}.prose pre{white-space:pre-wrap}.prose a{color:inherit}}.astro-code span[style*="#6A737D"]{color:#adb7c2!important}@media print{.article-layout{display:block!important}.reading{max-width:100%}.article-intro{padding-top:0}.takeaways{display:block}.prose table{display:table;font-size:10px}.prose th,.prose td{min-width:0;padding:5px}.prose pre{break-inside:avoid}.game-panel{display:none}}html[data-layout=comparison],body[data-layout=comparison]{height:100dvh;max-height:100dvh;width:100%;margin:0;padding:0;overflow:hidden;overscroll-behavior:none}html[data-layout=comparison]{scroll-behavior:auto;scroll-padding-top:0}body[data-layout=comparison]{position:fixed;inset:0}html[data-layout=comparison] .site-shell{width:calc(100% - 48px);max-width:100%;height:100dvh;max-height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);padding-top:env(safe-area-inset-top,0px);padding-bottom:max(20px,env(safe-area-inset-bottom,0px));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);box-sizing:border-box;overflow:clip}@media(max-width:1000px){html[data-layout=comparison] .site-shell{width:calc(100% - 32px)}}@media(max-width:760px){html[data-layout=comparison] .site-shell{width:calc(100% - 16px);padding-bottom:max(10px,env(safe-area-inset-bottom,0px))}}html[data-layout=comparison][data-table-full-width=true] .site-shell{width:calc(100% - 16px);max-width:100%}html[data-layout=comparison] .site-header{height:56px;min-height:56px;max-height:56px;gap:24px;flex-shrink:0}html[data-layout=comparison] .site-header .wordmark{font-size:18px}html[data-layout=comparison] .site-header .brand-star{font-size:24px}html[data-layout=comparison] #main{flex:none;height:100%;min-height:0;min-width:0;overflow:clip;display:grid;grid-template-rows:auto minmax(0,1fr)}html[data-layout=comparison] .page-intro{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:8px 0 10px;margin:0;max-width:100%;width:100%;min-width:0;flex-shrink:0;box-sizing:border-box;overflow:hidden;transition:opacity var(--motion-fast-duration, .14s) var(--motion-easing, cubic-bezier(.16, 1, .3, 1))}html[data-layout=comparison] .intro-heading{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0;padding:0;flex-shrink:0;max-width:100%}html[data-layout=comparison] .page-intro .eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--matrix-muted, #a0a0a0);font-family:var(--font-mono, "Geist Mono", SFMono-Regular, monospace);text-transform:uppercase;white-space:nowrap;line-height:1;text-decoration:none;margin:0}html[data-layout=comparison] .page-intro .eyebrow:hover{color:var(--matrix-accent, #ff943d)}html[data-layout=comparison] .page-intro h1{margin:0;font-size:var(--text-xl, 28px);font-weight:700;letter-spacing:-.03em;line-height:1.2;color:var(--matrix-text, #f2f2f2);font-family:var(--font-body, Geist, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);white-space:normal}html[data-layout=comparison] .page-intro .intro-desc{margin:0;font-size:14px;line-height:21px;color:var(--matrix-muted, #a0a0a0);max-width:68ch;text-align:left;font-family:var(--font-body, Geist, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);display:block}html[data-layout=comparison][data-page-collapsed=true] .page-intro,html[data-layout=comparison]:has([data-page-collapsed=true]) .page-intro{height:0!important;max-height:0!important;opacity:0!important;padding:0!important;margin:0!important;border:0!important;pointer-events:none!important;overflow:hidden!important;visibility:hidden!important}html[data-layout=comparison][data-page-collapsed=true] .comparison-page .toolbar,html[data-layout=comparison] .comparison-page[data-page-collapsed=true] .toolbar{height:48px;min-height:48px;max-height:48px;padding:6px 12px}@media(prefers-reduced-motion:reduce){html[data-layout=comparison] .page-intro{transition:none!important}}html[data-layout=comparison] .comparison-workspace-container{min-height:0;min-width:0;height:100%;width:100%;margin:0;display:flex;flex-direction:column;overflow:clip}html[data-layout=comparison] .comparison-workspace-container>astro-island{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;min-width:0;height:100%;width:100%;overflow:clip}html[data-layout=comparison] .comparison-page{height:100%;min-height:0;min-width:0;flex:1 1 0%;display:flex;flex-direction:column;overflow:clip}html[data-layout=comparison] .comparison-page .workspace{height:100%;min-height:0;min-width:0;flex:1 1 0%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}html[data-layout=comparison]{--matrix-bg: #0e0e0e;--matrix-label-bg: #111111;--matrix-group-bg: #181818;--matrix-text: #f2f2f2;--matrix-muted: #a0a0a0;--matrix-line: #31312b;--matrix-line-vertical: rgba(49, 49, 43, .5);--matrix-group-rule: #70706b;--matrix-positive: #63cda0;--matrix-best-bg: rgba(99, 205, 160, .06);--matrix-hover-row: rgba(242, 242, 242, .025);--matrix-hover-column: rgba(242, 242, 242, .035);--matrix-bar-track: rgba(242, 242, 242, .18);--matrix-bar-fill: #8c8c86;--matrix-accent: #ff943d;--matrix-error: #f47c7c;--surface-elevated: rgba(22, 22, 20, .96);--surface-elevated-border-color: rgba(255, 255, 255, .1);--surface-elevated-border: 1px solid var(--surface-elevated-border-color);--surface-elevated-radius: 10px;--surface-elevated-shadow: 0 16px 40px rgba(0, 0, 0, .45), 0 2px 6px rgba(0, 0, 0, .2);--surface-backdrop-blur: blur(12px);--focus-ring: 2px solid var(--matrix-accent);--focus-ring-offset: 2px;--font-body: Geist, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-eyebrow: 11px;--text-2xs: 12px;--text-xs: 13px;--text-sm: 14px;--text-base: 16px;--text-lg: 20px;--text-xl: 28px;--matrix-space-1: 4px;--matrix-space-2: 8px;--matrix-space-3: 12px;--matrix-space-4: 16px;--matrix-space-6: 24px;--surface-elevated-padding: 12px 16px;--surface-message-padding: 8px 12px;--radius-control: 6px;--radius-icon: 8px;--radius-elevated: 10px;--motion-easing: cubic-bezier(.16, 1, .3, 1);--motion-fast-duration: .14s;--motion-normal-duration: .22s;--motion-fast: .14s var(--motion-easing);--motion-normal: .22s var(--motion-easing);--motion-header-duration: .14s;--z-matrix-canvas: 0;--z-matrix-header: 20;--z-matrix-docks: 30;--z-matrix-mainPanel: 40;--z-matrix-main-panel: 40;--z-matrix-tooltip: 50;--z-matrix-panel: 60;--z-matrix-card: 70;--z-matrix-mobileBackdrop: 80;--z-matrix-mobile-backdrop: 80;--z-matrix-mobileSheet: 90;--z-matrix-mobile-sheet: 90}html[data-layout=comparison] :focus{outline:none}html[data-layout=comparison] :focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}html[data-layout=comparison] [tabindex]:focus-visible,html[data-layout=comparison] button:focus-visible,html[data-layout=comparison] input:focus-visible,html[data-layout=comparison] select:focus-visible,html[data-layout=comparison] a:focus-visible,html[data-layout=comparison] summary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}html[data-layout=comparison] .search-box:has(input:focus-visible),html[data-layout=comparison] .toolbar-search:has(input:focus-visible),html[data-layout=comparison] .search-container:has(input:focus-visible){outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}@media(forced-colors:active){html[data-layout=comparison] :focus-visible,html[data-layout=comparison] [tabindex]:focus-visible,html[data-layout=comparison] button:focus-visible,html[data-layout=comparison] input:focus-visible{outline:2px solid Highlight;outline-offset:2px}}@media(prefers-reduced-motion:reduce){html[data-layout=comparison]{--motion-fast-duration: 0ms;--motion-normal-duration: 0ms;--motion-fast: none;--motion-normal: none;scroll-behavior:auto!important}html[data-layout=comparison] *,html[data-layout=comparison] *:before,html[data-layout=comparison] *:after{animation-duration:0ms!important;animation-iteration-count:1!important;transition-duration:0ms!important;scroll-behavior:auto!important}}html[data-layout=comparison] .chat-thread-composer-inner:focus-within{border-color:var(--matrix-line)}html[data-layout=comparison] .chat-thread-composer-inner:has(textarea:focus-visible),html[data-layout=comparison] .search:has(input:focus-visible){outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}html[data-layout=comparison] .chat-thread-textarea:focus-visible,html[data-layout=comparison] .search input:focus-visible{outline:none}html[data-layout=comparison] .search:focus-within{border-color:var(--matrix-line)}html[data-layout=comparison] .search:focus-within:not(:has(input:focus-visible)){outline:none}html[data-layout=comparison] .canvas-table-links a:focus-visible{top:8px;height:40px;background:var(--matrix-label-bg);color:var(--matrix-text);display:grid;place-items:center;outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}html[data-layout=comparison] .canvas-table-links a:focus-visible:after{content:attr(aria-label);font-size:12px;padding:4px}@media(forced-colors:active){html[data-layout=comparison] .chat-thread-composer-inner:has(textarea:focus-visible),html[data-layout=comparison] .search:has(input:focus-visible){outline-color:Highlight}}
