/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:"Geist Variable", "Geist fallback", system-ui, sans-serif;--font-serif:"Source Serif 4 Variable", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--font-weight-semibold:600;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Geist Variable", "Geist fallback", system-ui, sans-serif;--default-mono-font-family:var(--font-mono);--shadow-card:var(--shadow-card);--shadow-popover:var(--shadow-popover);--shadow-window:var(--shadow-window)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--canvas:var(--bg)}@supports (color:color-mix(in lab, red, red)){:root{--canvas:color-mix(in oklab, var(--bg) 96%, var(--fg))}}:root{--radius-island:16px;--radius-card:14px}html{scroll-behavior:smooth}section[id]{scroll-margin-top:72px}body{background:var(--canvas);color:var(--fg);font-family:var(--gh-font-body,var(--font-sans));letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;font-weight:500;line-height:22px}::selection{background:oklch(52% .19 262/.2)}}@layer components{.text-display{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(30px,min(16px + 4.6svh,8.2vw),76px);font-weight:600;line-height:.98}.text-h2{letter-spacing:-.01em;text-wrap:balance;font-size:clamp(30px,24px + 1.1vw,40px);font-weight:550;line-height:1.1}.text-h3{letter-spacing:-.01em;text-wrap:balance;font-size:24px;font-weight:550;line-height:1.15}.tnum{font-variant-numeric:tabular-nums}.post-title{letter-spacing:-.01em;text-wrap:balance;font-size:clamp(25px,19px + 1.5vw,40px);font-weight:550;line-height:1.12}.card-title{letter-spacing:-.01em;text-wrap:balance;font-size:clamp(20px,17px + .8vw,24px);font-weight:550;line-height:1.2}.texture-dots{background-image:radial-gradient(var(--stroke) 1px, transparent 1px)}@supports (color:color-mix(in lab, red, red)){.texture-dots{background-image:radial-gradient(color-mix(in oklab, var(--stroke) 88%, var(--fg)) 1px, transparent 1px)}}.texture-dots{background-size:14px 14px}.texture-hatch{background-image:repeating-linear-gradient(90deg, var(--stroke) 0 1px, transparent 1px 7px)}.chip{background:var(--accent-soft-bg);letter-spacing:-.01em;height:24px;color:var(--accent-soft-fg);border-radius:8px;align-items:center;padding-inline:6px;font-size:14px;font-weight:500;line-height:20px;text-decoration:none;display:inline-flex}.btn{border-radius:var(--radius);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:14px;font-weight:550;transition:background-color .3s,border-color .3s,color .3s;display:inline-flex;position:relative}.btn:hover{transition-duration:50ms}.btn-lg{border-radius:12px;height:44px;padding:0 18px;font-size:15px}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-border);overflow:hidden}.btn-primary:before{content:"";opacity:.55;pointer-events:none;background:radial-gradient(120% 80% at 50% -30%,#ffffff3d,#0000 55%);transition:opacity .3s;position:absolute;inset:0}.btn-primary:hover:before{opacity:1;transition-duration:50ms}.dark .btn-primary:before{mix-blend-mode:soft-light;background:radial-gradient(120% 80% at 50% -30%,#ffffffa6,#0000 55%)}.btn-outline{background:var(--bg);color:var(--fg);border-color:var(--stroke-strong)}.btn-outline:hover{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.btn-outline:hover{background:color-mix(in oklab, var(--bg) 96%, var(--fg))}}.btn-ghost{color:var(--fg-muted);background:0 0}.btn-ghost:hover{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.btn-ghost:hover{background:color-mix(in oklab, var(--bg) 94%, var(--fg))}}.btn-ghost:hover{color:var(--fg)}.menu-summary{list-style:none}.menu-summary::-webkit-details-marker{display:none}.rails{display:block}.rails-center{min-width:0}.rail{align-self:stretch;display:none}.rail-sticky{top:calc(var(--header-h) + 1px + 32px);position:sticky}@media (min-width:1024px) and (max-width:1279.98px){.rails{grid-template-columns:minmax(0,1fr) 312px;gap:20px;display:grid}.rail-right{display:block}}@media (min-width:1280px){.rails{grid-template-columns:220px minmax(0,1fr) 312px;gap:20px;display:grid}.rail{display:block}}.card-hover{box-shadow:var(--shadow-card);transition:box-shadow .3s}.card-hover:hover{box-shadow:var(--shadow-popover);transition-duration:50ms}.rail-title{color:var(--fg-muted);padding-inline:10px;font-size:13px;line-height:18px}.rail-link{min-height:40px;color:var(--fg-muted);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding-inline:10px;font-size:15px;line-height:20px;transition:background-color .3s,color .3s,box-shadow .3s;display:flex}.rail-link:hover{background:var(--bg);color:var(--fg);transition-duration:50ms}.rail-link[aria-current]{background:var(--bg);color:var(--fg);box-shadow:var(--sh-1), var(--sh-2)}.rail-count{color:var(--fg-muted);font-size:13px;line-height:18px}.rail-ico{border-radius:9999px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.rail-ico svg{width:16px;height:16px}.rail-ico-sky{background:var(--chip-sky-bg);color:var(--chip-sky-fg)}.rail-ico-mint{background:var(--chip-mint-bg);color:var(--chip-mint-fg)}.rail-ico-amber{background:var(--chip-amber-bg);color:var(--chip-amber-fg)}.rail-ico-lilac{background:var(--chip-lilac-bg);color:var(--chip-lilac-fg)}.rail-ico-accent{background:var(--accent-soft-bg);color:var(--accent-soft-fg)}.promo-title{letter-spacing:-.01em;text-wrap:balance;color:var(--fg);margin-top:18px;font-size:21px;font-weight:550;line-height:1.2}.promo-lead{color:var(--fg-muted);margin-top:10px;font-size:14px;line-height:20px}.promo-scene{border:1px solid var(--stroke);background:var(--bg);border-right:0;border-radius:10px 0 0 10px;margin-top:20px;margin-right:-24px;overflow:hidden}.promo-scene-head{border-bottom:1px solid var(--stroke);background:var(--bg-2);color:var(--fg-muted);justify-content:space-between;align-items:center;gap:8px;padding:7px 12px;font-size:11.5px;line-height:15px;display:flex}.promo-hint{color:var(--fg-faint)}.promo-row{align-items:flex-start;gap:9px;padding:10px 18px 10px 14px;display:flex}.promo-row+.promo-row{border-top:1px solid var(--stroke)}.promo-row-plain{display:block}.promo-mark{color:#fff;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;font-size:9.5px;font-weight:600;display:grid}.promo-mark-no{background:var(--chip-rose-bg);color:var(--chip-rose-fg)}.promo-row-title{color:var(--fg);font-size:13.5px;font-weight:500;line-height:18px;display:block}.promo-row-note{color:var(--fg-muted);margin-top:2px;font-size:12px;line-height:16px;display:block}.promo-src{color:var(--accent)}.promo-label{color:var(--fg-faint);margin-bottom:3px;font-size:10.5px;line-height:14px;display:block}.promo-quote{border-left:2px solid var(--accent);padding-left:10px}.promo-draft{background:var(--bg-2);border-radius:8px;padding:10px;display:block}.promo-live{background:var(--class-a);vertical-align:2px;border-radius:9999px;width:5px;height:5px;display:inline-block}@keyframes btnShine{0%{transform:translate(-130%)skew(-18deg)}22%{transform:translate(230%)skew(-18deg)}to{transform:translate(230%)skew(-18deg)}}.btn-shine:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 15%,#ffffff59 50%,#0000 85%);width:40%;animation:5s ease-in-out 1.2s infinite btnShine;position:absolute;top:0;bottom:0}@property --promo-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes promoOrbit{to{--promo-angle:360deg}}.promo-card{position:relative}.promo-card:before{content:"";border-radius:calc(var(--radius-island) + 1.5px);background:conic-gradient(from var(--promo-angle), transparent 0deg 264deg, oklch(52% .19 262/.55) 306deg, var(--accent) 330deg, transparent 360deg);-webkit-mask-composite:xor;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;padding:1.5px;animation:7s linear infinite promoOrbit;position:absolute;inset:-1.5px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes promoRowIn{0%{opacity:0;filter:blur(1.5px);transform:translateY(6px)}to{opacity:1;filter:blur();transform:none}}.promo-rows>.promo-row{animation:.6s cubic-bezier(.22,1,.36,1) both promoRowIn}.promo-rows>.promo-row:first-child{animation-delay:80ms}.promo-rows>.promo-row:nth-child(2){animation-delay:.17s}.promo-rows>.promo-row:nth-child(3){animation-delay:.26s}@keyframes promoBreath{0%,to{opacity:1}50%{opacity:.5}}.promo-live{animation:4s ease-in-out infinite promoBreath}.toc-list a{border-left:2px solid var(--stroke);color:var(--fg-muted);padding:5px 10px 5px 12px;font-size:14px;line-height:20px;transition:color .3s,border-color .3s;display:block}.toc-list a:hover{color:var(--fg);transition-duration:50ms}.toc-list a[aria-current]{color:var(--fg);border-left-color:var(--accent)}.toc-inline{border:1px solid var(--stroke);border-radius:var(--radius);padding:12px 16px}.toc-inline summary{cursor:pointer;letter-spacing:-.01em;font-size:14px;font-weight:550;list-style:none}.toc-inline summary::-webkit-details-marker{display:none}.toc-inline[open] summary{margin-bottom:8px}}@layer utilities{.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-16{top:calc(var(--spacing) * 16)}.right-0{right:0}.left-0{left:0}.z-10{z-index:10}.z-50{z-index:50}.-mx-5{margin-inline:calc(var(--spacing) * -5)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-auto{margin-top:auto}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-7{height:calc(var(--spacing) * 7)}.h-16{height:calc(var(--spacing) * 16)}.h-18{height:calc(var(--spacing) * 18)}.h-\[22px\]{height:22px}.min-h-\[calc\(100svh-var\(--header-h\)\)\]{min-height:calc(100svh - var(--header-h))}.w-7{width:calc(var(--spacing) * 7)}.w-18{width:calc(var(--spacing) * 18)}.w-auto{width:auto}.w-full{width:100%}.max-w-\[300px\]{max-width:300px}.max-w-\[560px\]{max-width:560px}.max-w-\[640px\]{max-width:640px}.max-w-\[720px\]{max-width:720px}.max-w-\[900px\]{max-width:900px}.max-w-\[1440px\]{max-width:1440px}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-\[var\(--radius-card\)\]{border-radius:var(--radius-card)}.rounded-\[var\(--radius-island\)\]{border-radius:var(--radius-island)}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-stroke{border-color:var(--stroke)}.bg-bg{background-color:var(--bg)}.bg-bg-2{background-color:var(--bg-2)}.object-cover{object-fit:cover}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.text-center{text-align:center}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[22px\]{font-size:22px}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-\[21px\]{--tw-leading:21px;line-height:21px}.font-\[550\]{--tw-font-weight:550;font-weight:550}.font-\[600\]{--tw-font-weight:600;font-weight:600}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.text-balance{text-wrap:balance}.text-accent{color:var(--accent)}.text-fg{color:var(--fg)}.text-fg-muted{color:var(--fg-muted)}.opacity-25{opacity:.25}.shadow-card{--tw-shadow:var(--shadow-card);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.group-open\:block:is(:where(.group):is([open],:popover-open,:open) *){display:block}.group-open\:hidden:is(:where(.group):is([open],:popover-open,:open) *){display:none}@media (hover:hover){.hover\:text-accent:hover{color:var(--accent)}.hover\:text-fg:hover{color:var(--fg)}}@media (min-width:48rem){.md\:-mx-7{margin-inline:calc(var(--spacing) * -7)}.md\:mb-5{margin-bottom:calc(var(--spacing) * 5)}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[1\.2fr_repeat\(3\,1fr\)\]{grid-template-columns:1.2fr repeat(3,1fr)}.md\:gap-5{gap:calc(var(--spacing) * 5)}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:p-7{padding:calc(var(--spacing) * 7)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:px-14{padding-inline:calc(var(--spacing) * 14)}.md\:px-\[calc\(100\%\/24\)\]{padding-inline:4.16667%}.md\:py-16{padding-block:calc(var(--spacing) * 16)}.md\:py-20{padding-block:calc(var(--spacing) * 20)}.md\:pt-4{padding-top:calc(var(--spacing) * 4)}.md\:pt-8{padding-top:calc(var(--spacing) * 8)}.md\:pt-14{padding-top:calc(var(--spacing) * 14)}.md\:pb-8{padding-bottom:calc(var(--spacing) * 8)}.md\:pb-10{padding-bottom:calc(var(--spacing) * 10)}.md\:pb-20{padding-bottom:calc(var(--spacing) * 20)}.md\:text-\[15px\]{font-size:15px}.md\:text-\[20px\]{font-size:20px}.md\:text-\[26px\]{font-size:26px}}@media (min-width:64rem){.lg\:hidden{display:none}}@media (min-width:80rem){.xl\:hidden{display:none}}}:root{--bg:oklch(100% 0 0);--bg-2:oklch(96.4% .004 95);--fg:oklch(14.5% 0 0);--fg-muted:oklch(50% 0 0);--fg-faint:oklch(66% 0 0);--stroke:oklch(92.2% 0 0);--stroke-strong:oklch(86% 0 0);--accent:oklch(52% .19 262);--accent-fg:oklch(98.5% 0 0);--accent-soft-bg:oklch(94.5% .03 262);--accent-soft-fg:oklch(45% .17 262);--class-a:oklch(63% .15 152);--class-b:var(--accent);--class-c:oklch(80% .14 85);--class-d:oklch(71% .01 260);--chip-mint-bg:oklch(95% .05 160);--chip-mint-fg:oklch(35% .07 160);--chip-sky-bg:oklch(95% .04 235);--chip-sky-fg:oklch(36% .07 235);--chip-amber-bg:oklch(96% .06 85);--chip-amber-fg:oklch(42% .09 85);--chip-rose-bg:oklch(95% .04 20);--chip-rose-fg:oklch(42% .09 20);--chip-lilac-bg:oklch(95% .04 300);--chip-lilac-fg:oklch(40% .08 300);--chip-lime-bg:oklch(96% .07 125);--chip-lime-fg:oklch(40% .08 125);--btn-primary-bg:oklch(20.5% 0 0);--btn-primary-fg:oklch(98.5% 0 0);--btn-primary-border:oklch(30% 0 0/.6);--sh-1:0 1px 3px #00000003;--sh-2:0 2px 6px #00000005;--sh-3:0 4px 12px #00000008;--sh-4:0 8px 24px #0000000a;--sh-5:0 16px 48px #0000000d;--sh-6:0 32px 96px #0000000f;--shadow-card:var(--sh-1), var(--sh-2), var(--sh-3);--shadow-popover:var(--sh-1), var(--sh-2), var(--sh-3), var(--sh-4);--shadow-window:var(--sh-2), var(--sh-3), var(--sh-4), var(--sh-5), var(--sh-6);--radius:10px;--header-h:64px}.dark{--bg:oklch(15.5% .006 262);--bg-2:oklch(19% .007 262);--fg:oklch(97% .002 262);--fg-muted:oklch(67% .008 262);--fg-faint:oklch(52% .008 262);--stroke:oklch(27% .008 262);--stroke-strong:oklch(34% .008 262);--accent:oklch(68% .14 262);--accent-fg:oklch(14.5% 0 0);--accent-soft-bg:oklch(28% .06 262);--accent-soft-fg:oklch(80% .09 262);--btn-primary-bg:oklch(93% .003 262);--btn-primary-fg:oklch(17% .006 262);--btn-primary-border:oklch(100% 0 0/.14)}@font-face{font-family:Geist fallback;src:local(Arial);size-adjust:102.85%;ascent-override:97.72%;descent-override:28.68%}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/geist-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/geist-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/geist-latin-ext-wght-normal.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/geist-latin-wght-normal.woff2)format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../fonts/source-serif-4-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../fonts/source-serif-4-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../fonts/source-serif-4-latin-ext-wght-normal.woff2)format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../fonts/source-serif-4-latin-wght-normal.woff2)format("woff2-variations");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}.island-grid{--pad:16px;grid-template-columns:[full-start] minmax(var(--pad), 1fr) [wide-start] minmax(0, var(--wide-x,0px)) [main-start] minmax(0, var(--main-w,704px)) [main-end] minmax(0, var(--wide-x,0px)) [wide-end] minmax(var(--pad), 1fr) [full-end];display:grid}@media (min-width:768px){.island-grid{--pad:20px;--wide-x:12px;--main-w:720px}}.island-grid>*{grid-column:main-start/main-end;min-width:0}.island-grid>.col-wide,.island-grid>.kg-width-wide{grid-column:wide-start/wide-end}.island-grid>.col-full,.island-grid>.kg-width-full{grid-column:full-start/full-end}.post-content{color:var(--fg)}.post-content [id]{scroll-margin-top:88px}.post-content p{font-family:var(--gh-font-body,var(--font-sans));letter-spacing:-.005em;margin:20px 0;font-size:18px;font-weight:450;line-height:1.65}.post-content h2{font-family:var(--gh-font-heading,var(--font-sans));letter-spacing:-.01em;text-wrap:balance;margin:52px 0 16px;font-size:clamp(30px,24px + 1.1vw,40px);font-weight:550;line-height:1.1}.post-content h3{font-family:var(--gh-font-heading,var(--font-sans));letter-spacing:-.01em;text-wrap:balance;margin:40px 0 12px;font-size:24px;font-weight:550;line-height:1.15}.post-content h4,.post-content h5,.post-content h6{font-family:var(--gh-font-heading,var(--font-sans));letter-spacing:-.01em;margin:32px 0 10px;font-size:19px;font-weight:600;line-height:1.25}.post-content a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;transition:color .3s}.post-content a:hover{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.post-content a:hover{color:color-mix(in oklab, var(--accent) 80%, var(--fg))}}.post-content a:hover{transition-duration:50ms}.post-content strong,.post-content b{font-weight:600}.post-content em{font-style:italic}.post-content mark{background:var(--accent-soft-bg);color:var(--accent-soft-fg);border-radius:4px;padding:0 3px}.post-content small{color:var(--fg-muted);font-size:14px}.post-content ul,.post-content ol{font-family:var(--gh-font-body,var(--font-sans));letter-spacing:-.005em;margin:20px 0;padding-left:1.35em;font-size:18px;font-weight:450;line-height:1.65}.post-content ul{list-style:outside}.post-content ol{list-style:decimal}.post-content li+li{margin-top:8px}.post-content li>ul,.post-content li>ol{margin:8px 0}.post-content li::marker{color:var(--fg-faint)}.post-content blockquote{font-family:var(--font-serif);border-left:2px solid var(--stroke-strong);margin:32px 0;padding-left:20px;font-size:21px;font-weight:400;line-height:1.5}.post-content blockquote p{font-size:inherit;line-height:inherit;margin:0}.post-content blockquote p+p{margin-top:14px}.post-content hr{border:0;border-top:1px solid var(--stroke);margin:44px 0}.post-content img,.post-content video{border-radius:var(--radius);max-width:100%;height:auto;margin-inline:auto;display:block}.post-content figure{margin:36px 0}.post-content figcaption{font-family:var(--gh-font-body,var(--font-sans));color:var(--fg-muted);text-align:center;margin-top:10px;font-size:13px;font-weight:500;line-height:18px}.post-content figcaption a{color:var(--fg-muted)}.post-content table{border-collapse:collapse;width:100%;font-family:var(--gh-font-body,var(--font-sans));margin:32px 0;font-size:14px;line-height:20px;display:block;overflow-x:auto}.post-content th,.post-content td{border-bottom:1px solid var(--stroke);text-align:left;vertical-align:top;padding:10px 12px}.post-content th{color:var(--fg-muted);border-bottom-color:var(--stroke-strong);font-size:13px;font-weight:550}.post-content tbody tr:last-child td{border-bottom:0}.post-content code{background:var(--bg-2);border-radius:6px;padding:2px 5px;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:14px}.post-content pre,.post-content figure.kg-code-card pre{background:var(--bg-2);border:1px solid var(--stroke);border-radius:var(--radius);white-space:pre;color:var(--fg);margin:32px 0;padding:16px 18px;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:14px;line-height:1.55;overflow-x:auto}.post-content pre code,.post-content figure.kg-code-card pre code{font-size:inherit;color:inherit;background:0 0;border-radius:0;padding:0}.post-content figure.kg-code-card{margin:32px 0}.post-content figure.kg-code-card pre{margin:0}.post-content .kg-card{margin:36px 0}.post-content .kg-image{border-radius:var(--radius);margin-inline:auto}.post-content .kg-width-full .kg-image{border-radius:0;width:100%}.post-content .kg-card figcaption{font-family:var(--gh-font-body,var(--font-sans));color:var(--fg-muted);text-align:center;font-size:13px;line-height:18px}.post-content .kg-bookmark-card a.kg-bookmark-container{color:var(--fg);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow-card);align-items:stretch;text-decoration:none;transition:border-color .3s,box-shadow .3s;display:flex;overflow:hidden}.post-content .kg-bookmark-card a.kg-bookmark-container:hover{border-color:var(--stroke-strong);box-shadow:var(--shadow-popover);transition-duration:50ms}.post-content .kg-bookmark-content{flex:auto;min-width:0;padding:18px 20px}.post-content .kg-bookmark-title{font-family:var(--gh-font-body,var(--font-sans));letter-spacing:-.01em;color:var(--fg);font-size:15px;font-weight:550;line-height:20px}.post-content .kg-bookmark-description{font-family:var(--gh-font-body,var(--font-sans));color:var(--fg-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:14px;font-weight:500;line-height:20px;display:-webkit-box;overflow:hidden}.post-content .kg-bookmark-metadata{font-family:var(--gh-font-body,var(--font-sans));color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;font-size:13px;line-height:18px;display:flex}.post-content .kg-bookmark-icon{border-radius:4px;width:18px;height:18px;margin:0}.post-content .kg-bookmark-thumbnail{flex:0 0 33%;max-height:180px}.post-content .kg-bookmark-thumbnail img{object-fit:cover;border-radius:0;width:100%;height:100%}@media (max-width:640px){.post-content .kg-bookmark-card a.kg-bookmark-container{flex-direction:column-reverse}.post-content .kg-bookmark-thumbnail{flex:none;max-height:140px}}.post-content .kg-callout-card,.post-content [class*=kg-callout-card-]{background:var(--bg-2);border:1px solid var(--stroke);border-radius:var(--radius);align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.post-content .kg-callout-emoji{font-size:19px;line-height:1.4}.post-content .kg-callout-text{font-family:var(--gh-font-body,var(--font-sans));color:var(--fg);font-size:16px;font-weight:450;line-height:1.6}.post-content .kg-button-card .kg-btn{height:44px;font-family:var(--gh-font-body,var(--font-sans));letter-spacing:-.01em;white-space:nowrap;background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:1px solid var(--btn-primary-border);border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:15px;font-weight:550;text-decoration:none;transition:background-color .3s,border-color .3s,color .3s;display:inline-flex}.post-content .kg-button-card .kg-btn:hover{background:var(--btn-primary-bg);transition-duration:50ms}@supports (color:color-mix(in lab, red, red)){.post-content .kg-button-card .kg-btn:hover{background:color-mix(in oklab, var(--btn-primary-bg) 88%, var(--fg))}}.post-content .kg-toggle-card{border:1px solid var(--stroke);border-radius:var(--radius);background:var(--bg);padding:16px 18px}.post-content .kg-toggle-heading-text{font-family:var(--gh-font-heading,var(--font-sans));letter-spacing:-.01em;color:var(--fg);font-size:17px;font-weight:550;line-height:1.3}.post-content .kg-toggle-content{color:var(--fg-muted)}.post-content .kg-embed-card{flex-direction:column;align-items:center;display:flex}.post-content .kg-embed-card iframe{aspect-ratio:16/9;border-radius:var(--radius);border:0;width:100%;height:auto}.post-content .kg-header-card{background:var(--bg-2);border:1px solid var(--stroke);border-radius:var(--radius);text-align:center;padding:48px 32px}.post-content .kg-header-card h2,.post-content .kg-header-card .kg-header-card-header{font-family:var(--gh-font-heading,var(--font-sans));letter-spacing:-.01em;color:var(--fg);margin:0;font-size:clamp(30px,24px + 1.1vw,40px);font-weight:550;line-height:1.1}.post-content .kg-header-card .kg-header-card-subheader{font-family:var(--gh-font-body,var(--font-sans));color:var(--fg-muted);margin-top:12px;font-size:17px;font-weight:500;line-height:1.45}.post-content .kg-header-card .kg-header-card-button{margin-top:24px}.post-content .kg-gallery-image img{border-radius:var(--radius)}.post-content .kg-gallery-card .kg-gallery-row{gap:6px}.post-content .kg-gallery-card .kg-gallery-image:not(:first-of-type){margin:0}.post-content .kg-gallery-card .kg-gallery-row:not(:first-of-type){margin:6px 0 0}.post-content>:first-child{margin-top:0}.post-content>:last-child{margin-bottom:0}@media (max-width:767.98px){.post-content p,.post-content ul,.post-content ol{font-size:16px;line-height:1.6}.post-content blockquote{font-size:18px}.post-content h2{margin:40px 0 12px;font-size:24px}.post-content h3{margin:30px 0 10px;font-size:20px}.post-content .kg-callout-text{font-size:16px}}.post-content img,.post-lightboxable img{cursor:zoom-in}.lightbox{z-index:100;cursor:zoom-out;background:oklch(14.5% 0 0/.86);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox img{border-radius:var(--radius);max-width:min(1280px,100%);max-height:100%;box-shadow:var(--shadow-window);cursor:zoom-out}body:has(.lightbox){overflow:hidden}@media (prefers-reduced-motion:reduce){.promo-rows>.promo-row{opacity:1;filter:none;animation:none;transform:none}.promo-live{animation:none}.btn-shine:after{opacity:0;animation:none}.promo-card:before{content:none;animation:none}html{scroll-behavior:auto}.btn,.btn-primary:before,.card-hover,.rail-link,.post-content a,.post-content .kg-bookmark-card a.kg-bookmark-container,.post-content .kg-button-card .kg-btn{transition:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}