.how-glyph{--how-glyph-a: var(--how-a, 1);--how-glyph-b: var(--how-b, 1);--how-glyph-c: var(--how-c, 1);width:100%;height:100%;display:block;overflow:visible}.how-glyph g{transform-box:view-box}.how-glyph-faint{opacity:.3}.how-glyph-surface{fill:#0a0a0a}.how-glyph-solid{fill:currentColor;stroke:none}.how-glyph-digit{fill:currentColor;stroke:none;font:500 23px/1 var(--font-mono, monospace);text-anchor:middle}.how-glyph-reveal-b,.how-glyph-reveal-b>path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--how-glyph-b))}.how-glyph-reveal-c,.how-glyph-reveal-c>path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--how-glyph-c))}.how-glyph-install-package{transform:translateY(calc((1 - var(--how-glyph-c)) * -7px))}.how-glyph-install-left{transform:translate(calc((1 - var(--how-glyph-a)) * -19px))}.how-glyph-install-right{transform:translate(calc((1 - var(--how-glyph-a)) * 19px))}.how-glyph-install-lid{transform-origin:54px 29px;transform:translateY(calc((1 - var(--how-glyph-b)) * -10px)) scaleY(calc(.45 + var(--how-glyph-b) * .55))}.how-glyph-install-dock{transform:translateY(calc((1 - var(--how-glyph-c)) * 6px));opacity:calc(.3 + var(--how-glyph-c) * .7)}.how-glyph-install-check{opacity:var(--how-glyph-c)}.how-glyph-migrate-old{opacity:calc((1 - var(--how-glyph-b)) * .3)}.how-glyph-migrate-upper{transform:translate(calc((1 - var(--how-glyph-a)) * -8px),calc((1 - var(--how-glyph-b)) * 44px))}.how-glyph-migrate-lower{transform:translate(calc((1 - var(--how-glyph-a)) * 8px),calc((1 - var(--how-glyph-b)) * -44px))}.how-glyph-migrate-center{transform-origin:54px 42px;transform:scaleX(calc(.82 + var(--how-glyph-a) * .18))}.how-glyph-migrate-locks{transform-origin:86px 42px;transform:scaleY(var(--how-glyph-c));opacity:var(--how-glyph-c)}.how-glyph-develop-code{transform:translate(calc((1 - var(--how-glyph-a)) * 17px))}.how-glyph-develop-browser{transform:translate(calc((1 - var(--how-glyph-a)) * -17px))}.how-glyph-develop-link{opacity:var(--how-glyph-b)}.how-glyph-develop-preview{transform-origin:78px 38px;transform:scaleY(var(--how-glyph-c));opacity:calc(.2 + var(--how-glyph-c) * .8)}.how-glyph-develop-brackets{transform:translateY(calc((1 - var(--how-glyph-b)) * 6px));opacity:calc((1 - var(--how-glyph-c)) * .3)}.how-glyph-build-module{opacity:calc(1 - var(--how-glyph-b))}.how-glyph-build-module-one{transform:translate(calc(var(--how-glyph-a) * 34px),calc(var(--how-glyph-a) * 20px))}.how-glyph-build-module-two{transform:translate(calc(var(--how-glyph-a) * 34px))}.how-glyph-build-module-three{transform:translate(calc(var(--how-glyph-a) * 34px),calc(var(--how-glyph-a) * -20px))}.how-glyph-build-inputs{opacity:calc((1 - var(--how-glyph-b)) * .3)}.how-glyph-build-artifact{transform-origin:56.5px 42px;transform:translate(calc(var(--how-glyph-c) * 5px)) scaleX(calc(.72 + var(--how-glyph-b) * .28))}.how-glyph-build-press{transform-origin:56.5px 42px;transform:scaleY(calc(1.2 - var(--how-glyph-b) * .2))}.how-glyph-build-serve{opacity:var(--how-glyph-c)}@media(prefers-reduced-motion:reduce){.how-glyph{--how-glyph-a: 1;--how-glyph-b: 1;--how-glyph-c: 1}}@media(forced-colors:active){.how-glyph-surface{fill:canvas}}.how-use{color:#ededed;background:#0a0a0a;border:1px solid #222;border-radius:18px;width:min(1140px,100% - 56px);margin:clamp(40px,6vw,72px) auto;scroll-margin-top:16px}.how-use-header{padding:44px 48px}.how-use-header h2{letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(28px,3.5vw,36px);font-weight:550;line-height:1.2}.how-use-header h2:focus{outline:none}.how-use-steps{margin:0;padding:0;list-style:none}.how-use-steps>li{border-top:1px solid #222}.how-use-step{--how-progress: 1;--how-a: 1;--how-b: 1;--how-c: 1;min-height:124px;color:inherit;grid-template-columns:96px minmax(170px,.8fr) minmax(0,1.5fr);align-items:center;gap:28px;padding:24px 48px;text-decoration:none;display:grid}.how-use-number{color:#ddd;place-items:center;width:96px;height:76px;display:grid}.how-use-step h3{letter-spacing:-.025em;margin:0;font-size:18px;font-weight:550;line-height:1.45}.how-use-step p{color:#aaa;max-width:650px;margin:0;font-size:15px;line-height:1.75}.how-use-footer{border-top:1px solid #222;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:32px 48px;display:flex}.how-use-version{color:#fff;letter-spacing:1px;text-transform:uppercase;flex-shrink:0;align-items:center;min-height:44px;font:700 10px/28px Verdana,Geneva,sans-serif;text-decoration:none;display:inline-flex}.how-use-version span,.how-use-version strong{height:28px;padding-inline:12px;display:block}.how-use-version span{background:#161b22}.how-use-version strong{color:#fff;background:#007ec6;font-weight:700}.how-use-guide{color:#111;letter-spacing:.025em;background:#ededed;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:12px 20px;font-size:12px;font-weight:550;line-height:1.5;text-decoration:none;display:inline-flex}.how-use-step:focus-visible{outline-offset:-3px;outline:2px solid #999}.how-use-guide:focus-visible,.how-use-version:focus-visible{outline-offset:4px;outline:2px solid #ededed}@media(hover:hover)and (pointer:fine){.how-use-step:hover{background:#111}.how-use-step:hover h3{text-underline-offset:4px;text-decoration:underline}.how-use-guide:hover{background:#fff}}@media(prefers-reduced-motion:no-preference){.how-use-step,.how-use-guide{transition:background-color .15s ease-out}}@media(width<=760px){.how-use-header{padding:32px 24px}.how-use-step{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:8px 16px;padding:24px}.how-use-number{grid-row:span 2;align-self:start;width:64px;height:54px}.how-use-step h3{align-self:center;font-size:17px}.how-use-step p{grid-column:2;font-size:14px}.how-use-footer{padding:28px 24px}}@media(width<=640px){.how-use{width:calc(100% - 40px)}}@media(width<=380px){.how-use{width:calc(100% - 32px)}.how-use-header,.how-use-footer{padding-inline:20px}.how-use-step{grid-template-columns:56px minmax(0,1fr);gap:8px 12px;padding-inline:20px}.how-use-number{width:56px;height:48px}}@media(forced-colors:active){.how-use-step:focus-visible,.how-use-guide:focus-visible,.how-use-version:focus-visible{outline-color:highlight}}.speed-race{color:#e4eae8;width:100%;min-width:0;max-width:320px;margin-inline:auto}.speed-race-figure{margin:0}.speed-race-lanes{gap:20px;display:grid}.speed-race-lane{--race-color: #e4eae8;min-width:0}.speed-race-lane--prnext{--race-color: #63ead2}.speed-race-lane-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:12px;display:flex}.speed-race-name{color:var(--race-color);font-size:12px;font-weight:500}.speed-race-lane--prnext .speed-race-name{font-weight:700}.speed-race-course{grid-template-columns:10px minmax(0,1fr) 10px;align-items:center;gap:10px;display:grid}.speed-race-endpoint{color:#87928f;font:10px/1.4 var(--font-mono);text-align:center}.speed-race-track{overflow-clip-margin:12px;background:#303a36;height:1px;display:block;position:relative;overflow:clip}.speed-race-runner{width:100%;height:0;color:var(--race-color);transform:translate(var(--race-progress));animation-play-state:paused;display:block;position:absolute;top:50%;left:0}.speed-race-runner:before{opacity:.4;content:"";background:linear-gradient(90deg,#0000,currentColor,#0000);width:48px;height:2px;position:absolute;top:-1px;left:-24px;transform:scaleX(.18)}.speed-race-dot{width:7px;height:7px;box-shadow:0 0 9px 1px color-mix(in srgb,currentColor 45%,transparent);background:currentColor;border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.speed-race-controls{min-height:32px;margin-top:12px}.speed-race-details>summary:focus-visible{outline-offset:3px;outline:2px solid #63ead2}.speed-race-summary{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.speed-race-details{width:100%}.speed-race-details>summary{color:#a5b1ac;cursor:pointer;background:none;border:0;border-radius:0;align-items:center;gap:6px;max-width:100%;min-height:32px;padding:4px 0;font-size:11px;line-height:1.6;list-style:none;display:inline-flex}.speed-race-details>summary::-webkit-details-marker{display:none}.speed-race-details>summary::marker{content:""}.speed-race-details>summary svg{flex-shrink:0}.speed-race-details>summary .when-open,.speed-race-details[open]>summary .when-closed{display:none}.speed-race-details[open]>summary .when-open{display:inline}.speed-race-details[open]>summary svg{rotate:180deg}.speed-race-details-body{padding-top:24px}.speed-race-metrics{border-collapse:collapse;table-layout:fixed;text-align:right;font-variant-numeric:tabular-nums;width:100%;margin:0}.speed-race-metrics col:first-child{width:34%}.speed-race-metrics col:nth-child(2){width:31%}.speed-race-metrics col:last-child{width:35%}.speed-race-metrics thead th{color:#cbd3cf;padding:0 0 12px;font-size:11px;font-weight:500;line-height:1.5}.speed-race-metrics thead th:last-child{color:#63ead2}.speed-race-metrics tbody tr{border-top:1px solid #27312d}.speed-race-metrics tbody th{color:#a5b1ac;text-align:left;overflow-wrap:anywhere;padding:12px 8px 12px 0;font-size:11px;font-weight:400;line-height:1.5}.speed-race-metrics td{color:#dbe3df;font:12px/1.5 var(--font-mono);white-space:nowrap;padding:12px 0 12px 8px}.speed-race-metrics tbody td:last-child{color:#63ead2}@media(hover:hover)and (pointer:fine){.speed-race-details>summary:hover{color:#e4eae8}}@media(prefers-reduced-motion:no-preference){.speed-race[data-ready=true] .speed-race-runner{animation:speed-race-pass var(--race-duration) linear infinite alternate both;animation-play-state:paused}.speed-race[data-ready=true] .speed-race-runner:before{animation:speed-race-streak var(--race-duration) linear infinite alternate both;animation-play-state:paused}.speed-race[data-ready=true] .speed-race-dot{animation:speed-race-turn var(--race-duration) linear infinite alternate both;animation-play-state:paused}.speed-race[data-running=true] .speed-race-runner,.speed-race[data-running=true] .speed-race-runner:before,.speed-race[data-running=true] .speed-race-dot{animation-play-state:running}.speed-race-details>summary svg{transition:rotate .22s cubic-bezier(.2,0,0,1)}@supports (interpolate-size: allow-keywords) and (transition-behavior: allow-discrete){.speed-race-details::details-content{interpolate-size:allow-keywords;transition-behavior:allow-discrete;block-size:0;transition:block-size .26s cubic-bezier(.2,0,0,1),content-visibility .26s;overflow:clip}.speed-race-details[open]::details-content{block-size:auto}}}@keyframes speed-race-pass{0%{animation-timing-function:cubic-bezier(.333,0,.667,.429);transform:translate(0)}15%{animation-timing-function:linear;transform:translate(10%)}85%{animation-timing-function:cubic-bezier(.333,.571,.667,1);transform:translate(90%)}to{transform:translate(100%)}}@keyframes speed-race-streak{0%,to{opacity:.25;transform:scaleX(.18)}25%,75%{opacity:.4;transform:scaleX(.9)}50%{opacity:.5;transform:scaleX(1)}}@keyframes speed-race-turn{0%,to{transform:translate(-50%,-50%) scale(.86,1.12)}25%,75%{transform:translate(-50%,-50%) scale(1.1,.96)}50%{transform:translate(-50%,-50%) scale(1.16,.92)}}@media(width<=420px){.speed-race-metrics td{padding-left:5px;font-size:11px}.speed-race-metrics tbody th,.speed-race-metrics thead th{font-size:10px}}@media(forced-colors:active){.speed-race-track{background:graytext}.speed-race-dot{box-shadow:none;background:canvastext}.speed-race-details>summary:focus-visible{outline-color:highlight}}@media print{.speed-race-details>summary{display:none!important}.speed-race-details::details-content{content-visibility:visible;block-size:auto;display:block;overflow:visible}.speed-race-details-body{display:block}}.speed-race-method{color:#a5b1ac;overflow-wrap:anywhere;margin:14px 0 0;font-size:10px;line-height:1.7}.speed-race-source{color:#9ce4d7;text-underline-offset:3px;align-items:center;min-height:36px;margin-top:6px;font-size:11px;text-decoration:underline;display:inline-flex}.speed-race-metrics thead th{overflow-wrap:anywhere}.why-prnext{color:#eeeee7;background:#0a0a0a;padding:72px 28px 56px;scroll-margin-top:80px}.why-prnext-inner{width:100%;max-width:1100px;margin-inline:auto}.why-prnext-header{text-align:center;max-width:620px;margin:0 auto 48px}.why-prnext-header h2{letter-spacing:-.045em;text-wrap:balance;margin:0;font-family:PRNext Display,-apple-system,sans-serif;font-size:clamp(38px,4.6vw,58px);font-weight:600;line-height:1.1}.why-prnext-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:56px;max-width:960px;margin-inline:auto;display:grid}.why-prnext-copy{align-self:start;max-width:380px;padding-top:24px}.why-prnext-copy h3{color:#f5f5f2;letter-spacing:-.035em;text-wrap:balance;max-width:360px;margin:0;font-family:PRNext Display,-apple-system,sans-serif;font-size:clamp(28px,3vw,36px);font-weight:650;line-height:1.14}@media(width<=820px){.why-prnext{padding-top:72px;padding-bottom:48px}.why-prnext-header{margin-bottom:48px}.why-prnext-row{grid-template-columns:minmax(0,1fr);gap:24px;max-width:560px}.why-prnext-copy{max-width:460px;padding-top:0}}@media(width<=640px){.why-prnext{padding:48px 24px 32px}.why-prnext-header{margin-bottom:40px}}.why-prnext-context{color:#a5b1ac;text-wrap:pretty;margin:16px 0 0;font-size:13px;line-height:1.7}.blog-shell{color:#ededed;background:#000;min-height:100vh;font-family:Arial,Helvetica,sans-serif}.blog-index,.blog-article,.blog-footer{--blog-muted: #999;--blog-line: #222;text-align:left;margin-inline:auto}.blog-index{width:min(1400px,100% - 96px);padding-top:140px}.blog-index svg,.blog-article svg,.blog-footer svg{flex-shrink:0;width:18px;height:18px;display:block}.blog-index h1{letter-spacing:-2.2px;margin:0;font-size:48px;font-weight:400;line-height:1.15}.blog-index-header>p,.blog-index-outro>p{color:#999;max-width:62ch;margin:20px 0 0;font-size:16px;line-height:1.6}.blog-index-outro{margin:48px 0 64px}.blog-benchmark-link{color:#ccc;text-underline-offset:5px;align-items:center;min-height:44px;margin-top:16px;font-size:14px;text-decoration:underline;display:inline-flex}.blog-browse{margin-top:40px}.blog-search{max-width:720px}.blog-search-field{min-width:0;position:relative}.blog-search-field>svg{inset-inline-start:15px;color:#999;pointer-events:none;width:18px;height:18px;position:absolute;top:16px}.blog-search input{box-sizing:border-box;color:#ededed;background:#0a0a0a;border:1px solid #333;border-radius:0;width:100%;min-height:50px;padding:12px 14px 12px 44px;font:16px/1.5 Arial,Helvetica,sans-serif;display:block}.blog-search input::placeholder{color:#888;opacity:1}.blog-search input:focus-visible{outline-offset:3px;outline:2px solid #ededed}.blog-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px;display:flex}.blog-filters a{color:#aaa;background:#080808;border:0;border-radius:4px;align-items:center;gap:10px;min-height:44px;padding:9px 14px;font-size:14px;line-height:1.5;text-decoration:none;display:inline-flex}.blog-filters a>span{color:#999;font-variant-numeric:tabular-nums;font-size:12px}.blog-filters a[aria-current=page]{color:#111;background:#ededed}.blog-filters a[aria-current=page]>span{color:#444}.blog-results-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-top:24px;display:flex}.blog-results-meta p{color:#999;overflow-wrap:anywhere;min-width:0;margin:0;font-size:13px;line-height:1.6}.blog-results-meta>a{color:#ccc;text-underline-offset:4px;align-items:center;min-height:44px;font-size:13px;display:inline-flex}.blog-column-title{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.blog-column-title>a{color:inherit;text-decoration:none}.blog-category-more{color:#ccc;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin:24px 24px 0;padding-block:10px;font-size:14px;line-height:1.5;text-decoration:none;display:flex}.blog-category-more svg{width:16px;height:16px}.blog-listing-bottom{border-top:1px solid var(--blog-line);gap:24px;margin:40px 24px 0;padding-top:24px;display:grid}.blog-listing-bottom>p{color:#999;margin:0;font-size:13px;line-height:1.6}.blog-pagination{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid}.blog-pagination a{color:#ccc;text-decoration:none}.blog-page-direction{justify-self:start;align-items:center;gap:10px;min-height:44px;font-size:14px;line-height:1.5;display:inline-flex}.blog-page-direction:last-child{justify-self:end}.blog-page-direction[aria-disabled=true]{color:#666}.blog-page-direction svg{width:15px;height:15px}.blog-page-prev{rotate:180deg}.blog-page-numbers{align-items:center;gap:6px;display:flex}.blog-page-numbers>:is(a,span){font-variant-numeric:tabular-nums;border:1px solid #292929;border-radius:7px;place-content:center;min-width:44px;min-height:44px;font-size:14px;line-height:1.5;display:inline-grid}.blog-page-numbers>[aria-current=page]{color:#111;background:#ededed;border-color:#ddd}.blog-page-numbers>.blog-page-gap{color:#999;border:0;min-width:16px}.blog-empty{padding:64px 0 80px}.blog-empty h2{letter-spacing:-.6px;margin:0;font-size:26px;font-weight:400;line-height:1.3}.blog-empty p{color:#999;margin:16px 0;font-size:16px;line-height:1.6}.blog-empty>a{color:#ededed;align-items:center;gap:12px;min-height:44px;font-size:14px;text-decoration:none;display:inline-flex}@media(hover:hover)and (pointer:fine){.blog-filters a:not([aria-current=page]):hover{color:#ededed;background:#151515}.blog-page-numbers>a:hover{color:#ededed;background:#151515;border-color:#555}.blog-category-more:hover,.blog-page-direction[href]:hover,.blog-column-title>a:hover{color:#fff;text-underline-offset:5px;text-decoration:underline}}@media(width<=600px){.blog-index-header>p,.blog-index-outro>p{margin-top:16px;font-size:15px}.blog-browse{margin-top:28px}.blog-filters{margin-top:22px}.blog-filters a{gap:8px;padding-inline:12px;font-size:13px}.blog-category-more{margin-inline:24px}.blog-listing-bottom{margin-inline:0}.blog-empty{padding-block:44px 56px}}@media(width<=420px){.blog-pagination{grid-template-columns:1fr 1fr;gap:12px}.blog-page-numbers{flex-wrap:wrap;grid-area:1 / 1 / auto / -1;justify-content:center}.blog-page-direction{grid-row:2}}.blog-stories{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;display:grid}.blog-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:48px 24px;display:grid}.blog-column{flex-direction:column;min-width:0;display:flex}.blog-column-title{border-bottom:1px solid var(--blog-line);color:#aaa;letter-spacing:normal;margin:0 24px 12px;padding-bottom:14px;font-size:16px;font-weight:500;line-height:1.5}.blog-column-stories{flex:1;align-content:start;gap:44px;min-height:320px;display:grid;position:relative}.blog-column+.blog-column .blog-column-stories:before{content:"";border-inline-start:1px solid var(--blog-line);opacity:.88;pointer-events:none;width:0;position:absolute;inset-block:24px;inset-inline-start:-12px}@media(resolution>=1.2x)and (resolution<=1.3x){.blog-column+.blog-column .blog-column-stories:before{opacity:.74}}.blog-card{min-width:0;scroll-margin-top:calc(var(--navigation-offset) + 20px)}.blog-card-link{color:inherit;background-color:#0000;border-radius:2px;text-decoration:none;display:block}.blog-card-content{flex-direction:column;width:100%;padding:24px;display:flex}.blog-card-meta{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:17px;font-size:14px;line-height:1.5;display:flex}.blog-card-meta>span{color:#999;font-size:12px}.blog-card :is(h2,h3){color:#ededed;letter-spacing:-.8px;text-wrap:pretty;margin:0;font-size:26px;font-weight:400;line-height:1.3}.blog-card-content>p{color:#aaa;margin:16px 0 0;font-size:14px;line-height:1.5}.blog-card-bottom{margin-top:24px}.blog-author{color:#ededed;align-items:center;gap:9px;font-size:14px;line-height:1.5;display:inline-flex}.blog-author-logo{background:#171717;border-radius:50%;place-content:center;width:22px;height:22px;display:grid;overflow:hidden}.blog-author-logo img{width:34px;max-width:none;height:34px;display:block}.blog-card-link:focus-visible{background-color:#191919}.blog-card-link:focus-visible :is(h2,h3){color:#fff}@media(hover:hover)and (pointer:fine){.blog-card-link:hover{background-color:#191919}.blog-card-link:hover :is(h2,h3){color:#fff}}.blog-story-section{margin-block:40px 80px}.blog-stories{row-gap:44px}.blog-column-updates{gap:12px}.blog-card-compact .blog-card-content{padding-block:12px}.blog-card-compact .blog-card-meta{color:#999;margin-bottom:6px;font-size:12px}.blog-card.blog-card-compact :is(h2,h3){letter-spacing:normal;font-size:16px;line-height:1.5}.blog-card-meta .blog-latest{color:#bbb;letter-spacing:normal;white-space:nowrap;background:#1a1a1a;border-radius:4px;align-items:center;padding:2px 6px;font-size:11px;font-weight:500;line-height:1.4;display:inline-flex}.blog-article{width:min(896px,100% - 48px);padding-top:140px}.blog-article-header{margin-bottom:64px}.blog-article-meta{align-items:center;gap:16px;font-size:14px;line-height:1.5;display:flex}.blog-article-meta a{color:#999;text-decoration:none}.blog-article-meta a:hover{color:#ededed}.blog-article h1{letter-spacing:-2px;text-wrap:pretty;max-width:896px;margin:26px 0 24px;font-size:48px;font-weight:400;line-height:1.12}.blog-article-byline{justify-content:space-between;align-items:center;gap:16px;display:flex}.blog-ask{--blog-ai-surface: #0a0a0a;--blog-ai-hover: #151515;--blog-ai-radius: 8px;flex-shrink:0;min-width:140px;font:13px/1.5 Arial,Helvetica,sans-serif;position:relative}.blog-ask-button{border-radius:var(--blog-ai-radius);background:var(--blog-ai-surface);display:flex}.blog-ask-primary,.blog-ask-toggle{color:#ddd;min-height:38px;font:inherit;cursor:pointer;background:none;border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.blog-ask-primary{border-radius:8px 0 0 8px;flex:1;justify-content:flex-start;gap:8px;padding:9px 12px}.blog-ask-primary>span{white-space:nowrap}.blog-ask-toggle{border-radius:0 8px 8px 0;width:34px;padding:0}.blog-ask-toggle svg{width:13px;height:13px;rotate:90deg}.blog-ask-toggle[aria-expanded=true] svg{rotate:270deg}.blog-ai-logo{object-fit:contain;flex-shrink:0;width:18px;height:18px;display:block}.blog-ai-panel{--blog-ai-closed-clip: inset(-1px -1px calc(100% + 1px) -1px round var(--blog-ai-radius));z-index:30;top:calc(100% + 8px);box-sizing:border-box;overscroll-behavior:contain;border-radius:var(--blog-ai-radius);color:#ddd;background:var(--blog-ai-surface);transform-origin:100% 0;width:100%;max-height:min(520px,65dvh);padding:4px;position:absolute;inset-inline-end:0;overflow-y:auto;box-shadow:0 12px 32px #0008}.blog-ai-panel[hidden]{display:none}.blog-ai-provider{color:#ddd;border-radius:4px;align-items:center;gap:10px;min-height:42px;padding:8px 10px;text-decoration:none;display:flex}.blog-ai-provider>svg{color:#999;width:14px;height:14px;margin-inline-start:auto}.blog-ai-close{color:#aaa;cursor:pointer;background:none;border:0;border-radius:4px;place-items:center;width:28px;height:28px;margin-inline-start:auto;padding:0;font-size:20px;display:grid}.blog-shell :is(.blog-ask,.blog-copy-page) :is(a,button):focus-visible{outline-offset:-2px;outline:2px solid #999}.blog-copy-page{font:13px/1.5 Arial,Helvetica,sans-serif;position:relative}.blog-ai-copy{border-top:1px solid #1b1b1b;margin-top:6px;padding-top:6px}.blog-copy-page-button{color:#ddd;width:100%;min-height:42px;font:inherit;text-align:start;cursor:pointer;background:none;border:0;border-radius:4px;align-items:center;gap:10px;padding:8px 10px;display:flex}.blog-copy-page-button .blog-action-icons,.blog-copy-page-button .blog-action-icons svg{width:18px;height:18px}.blog-page-fallback{box-sizing:border-box;color:#ddd;background:#080808;border-radius:6px;width:100%;margin-top:4px;padding:8px}.blog-page-fallback>div{align-items:center;gap:8px;margin-bottom:10px;display:flex}.blog-page-fallback p{color:#aaa;overflow-wrap:anywhere;min-width:0;margin:0;font-size:12px}.blog-page-fallback textarea{box-sizing:border-box;resize:vertical;color:#ddd;width:100%;max-height:220px;font:12px/1.6 var(--font-mono);background:#080808;border:1px solid #333;border-radius:5px;padding:8px;display:block}.blog-page-fallback textarea:focus-visible{outline-offset:-2px;outline:2px solid #999}@media(hover:hover)and (pointer:fine){.blog-ask-primary:hover,.blog-ask-toggle:hover,.blog-ai-provider:hover,.blog-ai-close:hover,.blog-copy-page-button:hover{color:#fff;background:var(--blog-ai-hover)}}.blog-article-layout{grid-template-columns:688px 190px;align-items:start;gap:144px;display:grid}.blog-sidebar{z-index:30;top:calc(var(--navigation-offset) + 20px);grid-area:1 / 2;min-width:0;position:sticky}.blog-article-tools{flex-direction:column;gap:4px;margin-bottom:24px;display:flex}.blog-prose{color:#ededed;grid-area:1 / 1;min-width:0;font-size:18px;line-height:1.56}.blog-prose p{overflow-wrap:anywhere;margin:0 0 26px}.blog-table{margin-block:28px 32px}.blog-prose .blog-table-hint{color:#aaa;margin-bottom:12px;font-size:13px}.blog-table-scroll{scrollbar-width:thin;max-width:100%;overflow-x:auto}.blog-table-scroll:focus-visible{outline-offset:4px;outline:2px solid #fff}.blog-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px;line-height:1.5}.blog-table table[data-wide]{min-width:640px}.blog-table caption{text-align:start;color:#aaa;padding-bottom:16px;font-size:14px}.blog-table :is(th,td){font-size:inherit;text-align:end;border-top:0;border-bottom:1px solid #252525;padding:14px 12px}.blog-table thead th{color:#aaa;vertical-align:bottom;font-weight:500}.blog-table tbody th{font-weight:500}.blog-table tr>:first-child{text-align:start;padding-inline-start:0}.blog-table tr>:last-child{padding-inline-end:0}.blog-table td{white-space:nowrap}.blog-table tbody tr:nth-child(2n){background:#101010}@media(forced-colors:active){.blog-table-scroll:focus-visible{outline-color:highlight}}.blog-prose-section{scroll-margin-top:calc(var(--navigation-offset) + 20px);margin-block:42px}.blog-prose h2{letter-spacing:-.6px;margin:0 0 20px;font-size:28px;font-weight:500;line-height:1.3;position:relative}.blog-prose h2 a{color:inherit;text-decoration:none}.blog-heading-hash{color:#999;opacity:0;font-size:20px;line-height:1.8;position:absolute;left:-24px}.blog-prose h2 a:hover .blog-heading-hash,.blog-prose h2 a:focus-visible .blog-heading-hash{opacity:1}.blog-prose ul{margin-block:24px;padding-left:24px}.blog-prose li{margin-block:10px;padding-left:3px}.blog-prose li::marker{color:#999}.blog-toc{max-height:calc(100dvh - var(--navigation-offset) - 150px);overscroll-behavior:contain;scrollbar-width:thin;overflow-y:auto}.blog-toc>p{margin:0 0 15px;font-size:14px;font-weight:600;line-height:1.5}.blog-toc ol{gap:18px;margin:0;padding:0;list-style:none;display:grid}.blog-toc a{color:#999;font-size:14px;line-height:1.6;text-decoration:none;display:block}.blog-toc a:hover{color:#ededed}.blog-shell [data-blog-contents] a{padding-inline-start:12px;position:relative}.blog-shell [data-blog-contents] a[aria-current=location]{color:#fff}.blog-shell [data-blog-contents] a[aria-current=location]:before{inset-inline-start:0;content:"";background:currentColor;border-radius:1px;width:2px;height:12px;position:absolute;top:50%;transform:translateY(-50%)}.blog-mobile-toc{display:none}.blog-code{background:#0a0a0a;border:1px solid #222;border-radius:4px;margin-block:24px;overflow:hidden}.blog-code-header{color:#999;border-bottom:1px solid #222;justify-content:space-between;align-items:center;gap:12px;padding:5px 12px 5px 18px;font-size:12px;display:flex}.blog-code-header>span{align-items:center;gap:8px;display:flex}.blog-code-header>span svg{width:13px;height:13px}.blog-share button,.blog-code button{color:#999;background:none;border:0;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:7px 3px;font-size:12px;line-height:1.5;display:inline-flex}.blog-share button:hover,.blog-code button:hover{color:#ededed}.blog-code pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:20px}.blog-code code{color:#ddd;font:13px/1.8 var(--font-mono)}.blog-action-icons{flex-shrink:0;width:14px;height:14px;position:relative}.blog-action-icons svg{width:14px;height:14px;position:absolute;inset:0}.blog-action-icons svg[data-active=false]{opacity:0}.blog-share-manual{color:#ddd;font:12px/1.6 var(--font-mono);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;padding-top:8px;display:block}.blog-sources{border-top:1px solid #222;margin-block:48px;padding-top:24px}.blog-sources h2{font-size:22px}.blog-source-links{margin:0}.blog-source-links p{margin:8px 0}.blog-sources a{color:#ededed;text-underline-offset:4px;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;line-height:1.7;display:inline-flex}.blog-sources svg{width:13px;height:13px}.blog-article-end{border-top:1px solid #222;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:48px;padding-top:24px;display:flex}.blog-back{color:#999;align-items:center;gap:8px;min-height:40px;font-size:14px;text-decoration:none;display:inline-flex}.blog-back svg{width:14px;height:14px;rotate:180deg}.blog-back:hover{color:#ededed}.blog-related{border-top:1px solid #222;margin-block:72px 60px;padding-top:36px}.blog-related>h2{letter-spacing:-.7px;margin:0 0 20px;font-size:28px;font-weight:400;line-height:1.3}.blog-related .blog-card-content{padding:20px 0}.blog-related .blog-card h2{font-size:22px}.blog-footer{border-top:1px solid #222;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:min(1400px,100% - 96px);padding-block:28px 36px;font-size:12px;display:flex}.blog-footer>span{color:#999}.blog-footer a{color:#999;align-items:center;min-height:40px;text-decoration:none;display:inline-flex}.blog-footer a:hover{color:#ededed}.blog-footer .blog-footer-brand{color:#ededed;letter-spacing:-.7px;gap:6px;font-size:18px;font-weight:500}.blog-footer-brand>span:last-child{margin-left:-6px}.blog-footer>div{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.blog-footer .github-link,.blog-footer .x-link{font-size:12px}.blog-logo{place-content:center;width:27px;height:27px;display:grid;overflow:hidden}.blog-logo img{width:50px;max-width:none;height:50px;display:block}.blog-sr-only{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.blog-shell :is(a,button,summary):focus-visible{outline-offset:4px;outline:2px solid #ededed}.blog-card-link:focus-visible{outline-offset:-2px}.blog-shell .site-navigation[data-scrolled=true],.blog-shell .site-navigation[data-menu-open=true]{box-shadow:none;background:#000000ed}@media(width<=1199px){.blog-article{width:min(688px,100% - 48px)}.blog-article-layout{display:block}.blog-sidebar{display:contents}.blog-article-tools{z-index:40;top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:max-content;max-width:calc(100vw - 32px);box-shadow:none;background:none;border:0;flex-direction:row;align-items:center;gap:0;margin:0;padding:0;position:fixed;inset-inline-start:max(16px,env(safe-area-inset-left,0px));inset-inline-end:auto}.blog-article-tools .blog-ai-panel{--blog-ai-enter-y: 6px;--blog-ai-closed-clip: inset( calc(100% + 1px) -1px -1px -1px round var(--blog-ai-radius));top:auto;bottom:calc(100% + 8px);transform-origin:0 100%;inset-inline:0 auto}.blog-article+.blog-footer{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.blog-ai-provider,.blog-copy-page-button{gap:6px;padding-inline:8px;font-size:12px}.blog-ai-provider>svg{width:12px;height:12px}.blog-toc{display:none}.blog-mobile-toc{border-bottom:1px solid #222;margin-bottom:28px;padding-bottom:12px;display:block}.blog-mobile-toc summary{color:#999;justify-content:space-between;align-items:center;min-height:36px;font-size:14px;list-style:none;display:flex}.blog-mobile-toc summary::-webkit-details-marker{display:none}.blog-mobile-toc summary svg{width:13px;height:13px;rotate:90deg}.blog-mobile-toc[open] summary svg{rotate:-90deg}.blog-mobile-toc ol{gap:8px;margin:14px 0;padding:0;list-style:none;display:grid}.blog-mobile-toc li{margin:0;padding:0}.blog-mobile-toc a{color:#999;padding-block:5px;font-size:14px;line-height:1.6;text-decoration:none;display:block}}@media(width<=1000px){.blog-index,.blog-footer{width:calc(100% - 48px)}.blog-stories,.blog-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-column:nth-child(odd) .blog-column-stories:before{display:none}}@media(width<=600px){.blog-index,.blog-article,.blog-footer{width:calc(100% - 40px)}.blog-index,.blog-article{padding-top:120px}.blog-index h1{letter-spacing:-1.5px;font-size:36px}.blog-stories{grid-template-columns:minmax(0,1fr);gap:24px}.blog-columns{grid-template-columns:minmax(0,1fr);gap:48px}.blog-column-stories{gap:24px;min-height:0}.blog-column+.blog-column .blog-column-stories:before{display:none}.blog-card :is(h2,h3){letter-spacing:-.8px;font-size:28px;line-height:1.25}.blog-card-content{padding:24px}.blog-story-section{margin-block:28px 48px}.blog-article h1{letter-spacing:-1.4px;margin-top:24px;font-size:36px;line-height:1.15}.blog-article-header{margin-bottom:48px}.blog-prose{font-size:17px;line-height:1.65}.blog-prose h2{font-size:26px}.blog-prose-section{margin-block:36px}.blog-heading-hash{display:none}.blog-related{margin-block:48px 40px;padding-top:28px}.blog-related>h2{font-size:26px}.blog-related .blog-card h2{font-size:24px}.blog-footer{gap:8px;padding-block:24px}.blog-footer>span{order:3;width:100%;padding-top:10px;font-size:11px}.blog-footer>div{gap:16px}}@media(width<=370px){.blog-index,.blog-article,.blog-footer{width:calc(100% - 32px)}.blog-index h1,.blog-article h1{font-size:32px}.blog-card-content{padding:20px}.blog-column-title{margin-inline:20px}.blog-code pre{padding:16px}}@media(pointer:coarse){.blog-ask-primary,.blog-ask-toggle,.blog-ai-provider,.blog-copy-page-button{min-height:44px}.blog-ask-toggle,.blog-ai-close{min-width:44px;min-height:44px}}@media(prefers-reduced-motion:no-preference){.blog-ask-primary,.blog-ask-toggle,.blog-ai-provider,.blog-copy-page-button{transition:color .14s ease-out,background-color .14s ease-out}.blog-ask-toggle svg{transition:rotate .16s ease-out}.blog-ai-panel{clip-path:inset(-32px -32px -40px -32px round var(--blog-ai-radius));transition:clip-path .26s cubic-bezier(.2,.7,.2,1),transform .26s cubic-bezier(.2,.7,.2,1),opacity .16s ease-out,display .26s allow-discrete}.blog-ai-panel[hidden]{opacity:0;clip-path:var(--blog-ai-closed-clip);transform:translateY(var(--blog-ai-enter-y, -6px))}@starting-style{.blog-ai-panel:not([hidden]){opacity:0;clip-path:var(--blog-ai-closed-clip);transform:translateY(var(--blog-ai-enter-y, -6px))}}.blog-card-link{transition:background-color .15s ease-out}.blog-card :is(h2,h3){transition:transform .15s cubic-bezier(.2,0,0,1),color .15s ease-out}.blog-card-link:focus-visible :is(h2,h3){transform:translateY(-2px)}.blog-action-icons svg{transition:opacity .3s cubic-bezier(.2,0,0,1),scale .3s cubic-bezier(.2,0,0,1),filter .3s cubic-bezier(.2,0,0,1)}.blog-action-icons svg[data-active=false]{filter:blur(4px);scale:.25}}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.blog-card-link:hover :is(h2,h3){transform:translateY(-2px)}}@media(forced-colors:active){.blog-ask-button,.blog-ai-panel,.blog-copy-page-button,.blog-page-fallback{border:1px solid buttontext}.blog-shell :is(.blog-ask,.blog-copy-page) :is(a,button):focus-visible,.blog-shell :is(a,button,summary):focus-visible{outline-color:highlight}.blog-card-link:is(:hover,:focus-visible) :is(h2,h3){text-underline-offset:5px;text-decoration:underline}}.home-blog{max-width:1140px;margin-inline:auto;padding:80px 28px 96px;scroll-margin-top:100px}.home-blog-header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;display:flex}.home-blog-header h2{color:#ededed;letter-spacing:-.045em;text-wrap:balance;max-width:760px;margin:0;font-size:clamp(30px,4vw,42px);font-weight:400;line-height:1.15}.home-blog-header>a{color:#aaa;text-underline-offset:5px;flex-shrink:0;align-items:center;gap:12px;min-height:44px;font-size:13px;text-decoration:none;display:inline-flex}.home-blog-header>a:hover{color:#ededed;text-decoration:underline}.home-blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:32px 24px;display:grid}.home-blog-column{min-width:0}.home-blog .blog-card-link{background-color:#191919}.home-blog .blog-card :is(h2,h3){color:#fff}.home-blog-category{color:#aaa;border-bottom:1px solid #222;margin:0 24px 12px;padding-bottom:8px;font-size:14px;line-height:1.5}.home-blog-category a{min-height:44px;color:inherit;text-underline-offset:4px;align-items:center;text-decoration:none;display:inline-flex}.home-blog-category a:hover{color:#ededed;text-decoration:underline}.home-blog-header>a:focus-visible,.home-blog-category a:focus-visible{outline-offset:4px;outline:2px solid #999}@media(width<=1000px){.home-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(width<=640px){.home-blog{padding:64px 20px}.home-blog-header{flex-direction:column;align-items:start;gap:12px;margin-bottom:24px}.home-blog-grid{grid-template-columns:minmax(0,1fr);gap:32px}.home-blog-category{margin-inline:20px}}@media(width<=380px){.home-blog{padding-inline:16px}}@media(forced-colors:active){.home-blog-header>a:focus-visible,.home-blog-category a:focus-visible{outline-color:highlight}}.home-faq{color:#ededed;background:#0a0a0a;border:1px solid #222;border-radius:18px;width:min(1140px,100% - 56px);margin:0 auto 72px;padding:56px 48px 64px;scroll-margin-top:16px}.home-faq>h2{letter-spacing:-.045em;margin:0 0 44px;font-size:clamp(36px,4.5vw,48px);font-weight:550;line-height:1.1}.home-faq-item{border-top:1px solid #222;scroll-margin-top:16px}.home-faq-item:last-child{border-bottom:1px solid #222}.home-faq-item>summary{cursor:pointer;min-height:88px;padding:26px 0;list-style:none}.home-faq-item>summary::-webkit-details-marker{display:none}.home-faq-item>summary::marker{content:""}.home-faq-item h3{letter-spacing:-.02em;justify-content:space-between;align-items:center;gap:24px;margin:0;font-size:18px;font-weight:550;line-height:1.5;display:flex}.home-faq-chevron{color:#ccc;background:#171717;border:1px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.home-faq-chevron svg{width:18px;height:18px;display:block}.home-faq-item[open] .home-faq-chevron{background:none;border-color:#292929}.home-faq-item[open] .home-faq-chevron svg{rotate:180deg}.home-faq-answer{padding:0 0 28px}.home-faq-answer>p{color:#aaa;overflow-wrap:anywhere;max-width:800px;margin:0;font-size:15px;line-height:1.8}.home-faq-answer a{color:#ddd;text-underline-offset:4px;text-decoration-thickness:1px}.home-faq-item>summary:focus-visible{outline-offset:-4px;outline:2px solid #999}.home-faq-answer a:focus-visible{outline-offset:4px;outline:2px solid #999}@media(hover:hover)and (pointer:fine){.home-faq-item>summary:hover h3{color:#fff}.home-faq-item>summary:hover .home-faq-chevron{border-color:#333}.home-faq-answer a:hover{color:#fff}}@media(prefers-reduced-motion:no-preference){.home-faq-chevron svg{transition:rotate .22s cubic-bezier(.2,0,0,1)}@supports (interpolate-size: allow-keywords) and (transition-behavior: allow-discrete){.home-faq-item::details-content{interpolate-size:allow-keywords;transition-behavior:allow-discrete;block-size:0;transition:block-size .26s cubic-bezier(.2,0,0,1),content-visibility .26s;overflow:clip}.home-faq-item[open]::details-content{block-size:auto}}}@media(width<=640px){.home-faq{width:calc(100% - 40px);margin-bottom:56px;padding:36px 24px 40px}.home-faq>h2{margin-bottom:28px}.home-faq-item>summary{min-height:84px;padding-block:22px}.home-faq-item h3{gap:16px;font-size:16px}.home-faq-answer>p{font-size:14px}.home-faq-answer{padding-bottom:24px}}@media(width<=380px){.home-faq{width:calc(100% - 32px);padding-inline:20px}}@media(forced-colors:active){.home-faq-chevron{border-color:buttontext}.home-faq-item>summary:focus-visible,.home-faq-answer a:focus-visible{outline-color:highlight}}.home-sponsors{border-top:1px solid var(--line);max-width:1070px;margin:0 auto 76px;padding:40px 0 0}.home-sponsors .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-sponsors-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.home-sponsors h2{color:var(--ink);letter-spacing:-.7px;font-size:28px;font-weight:550;line-height:1.2}.home-sponsors-heading p{color:var(--secondary);margin:10px 0 0;font-size:14px;line-height:1.7}.home-sponsors-action{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#141019;border-radius:9px;justify-content:center;align-items:center;gap:9px;padding:10px 16px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.home-sponsors-action:hover{background:#201927;border-color:#655073}.home-sponsors-action svg{color:#e5a1c7;width:16px;height:16px}.home-sponsors-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:25px 0 0;padding:0;list-style:none;display:grid}.home-sponsor{min-height:72px;color:var(--ink);border:1px solid var(--line);background:#100d14;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:14px;text-decoration:none;display:flex}.home-sponsor:hover{background:#1b1521;border-color:#655073}.home-sponsor img{object-fit:contain;outline-offset:-1px;border-radius:8px;outline:1px solid #ffffff1a;flex:none;width:40px;height:40px}.home-sponsor>span{overflow-wrap:anywhere;min-width:0}.home-sponsors-empty{color:var(--secondary);align-items:center;gap:12px;margin:25px 0 0;font-size:13px;line-height:1.6;display:flex}.home-sponsors-mark{color:#b58bcd;border:1px dashed #51415e;border-radius:9px;flex:none;place-items:center;width:40px;height:40px;display:grid}.home-sponsors-mark svg{width:17px;height:17px}@media(width<=1140px){.home-sponsors{margin-inline:35px}}@media(width<=760px){.home-sponsors{margin:0 25px 56px;padding-top:30px}.home-sponsors h2{font-size:25px}}@media(width<=420px){.home-sponsors{margin-inline:20px}}@media(forced-colors:active){.home-sponsors-action,.home-sponsor,.home-sponsors-mark{border-color:buttontext}.home-sponsors-action svg,.home-sponsors-mark{color:linktext}}.developer-note-launcher{z-index:60;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));color:#fff;width:48px;height:48px;box-shadow:none;background:none;border:0;border-radius:8px;place-items:center;padding:0;display:grid;position:fixed}@property --developer-note-orbit{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.developer-note-heart{width:28px;height:28px;display:block}.developer-note-launcher[data-expanded=true]{opacity:0;pointer-events:none}.developer-note-launcher[data-handoff=true]{opacity:1}.developer-note-launcher:focus-visible{outline-offset:5px;outline:2px solid #fff}.developer-note-modal{color:#fff;background:none;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:clip}.developer-note-modal::backdrop{backdrop-filter:blur(10px);background:#000b}.developer-note{--note-radius: 24px;z-index:1;isolation:isolate;color:#f5f5f5;border-radius:var(--note-radius);background:#080808;border:0;width:min(460px,100% - 32px);height:fit-content;max-height:calc(100dvh - 32px);margin:auto;padding:1px;position:fixed;inset:0;overflow:visible;box-shadow:0 32px 100px #000c,0 8px 28px #0008}.developer-note-flight{z-index:4;color:#fff;transform-origin:center;pointer-events:none;width:28px;height:28px;position:fixed;top:0;left:0}.developer-note-modal[data-heart-moving=true] .developer-note-mark{visibility:hidden}.developer-note-content{border-radius:inherit;text-align:start;padding:52px 32px 28px;position:relative}.developer-note-border{z-index:2;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.developer-note-border:before,.developer-note-border:after{content:"";border-radius:inherit;background:conic-gradient(from var(--developer-note-orbit),transparent 0deg 245deg,#8565ed18 275deg,#a78bfa80 315deg,#d3c4ffd9 341deg,#f4edff 350deg,transparent 360deg);pointer-events:none;padding:1px;display:none;position:absolute;inset:0;-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}.developer-note-border:after{filter:blur(3px);opacity:.65;padding:2px}@supports (mask-composite: exclude) or (-webkit-mask-composite: xor){.developer-note-border:before,.developer-note-border:after{display:block}}.developer-note-close{color:#999;background:none;border:0;border-radius:12px;place-items:center;width:44px;height:44px;padding:12px;display:grid;position:absolute;top:12px;right:12px}.developer-note-close:hover{color:#fff;background:#ffffff0c}.developer-note svg{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:20px;height:20px}.developer-note-mark{z-index:3;color:#fff;pointer-events:none;width:64px;height:64px;line-height:1;position:absolute;top:-24px;left:24px;transform:rotate(-12deg)}.developer-note .developer-note-heart{stroke:none;width:28px;height:28px}.developer-note .developer-note-mark .developer-note-heart{width:100%;height:100%}.developer-note h2{color:#fff;letter-spacing:-.03em;text-wrap:balance;margin:0;font-family:PRNext Display,-apple-system,sans-serif;font-size:clamp(1.5rem,6vw,1.75rem);font-weight:600;line-height:1.2}.developer-note-body{color:#bdbdbd;text-wrap:pretty;margin:18px 0 0;font-size:15px;line-height:1.7}.developer-note .developer-note-body p{color:inherit;font-size:inherit;margin:0 0 16px}.developer-note .developer-note-body p:last-child{margin-bottom:0}.developer-note-actions{align-items:center;gap:12px;margin-top:24px;display:flex}.developer-note-sponsor{color:#111;background:#f5f5f5;border:0;border-radius:10px;flex:0 auto;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:12px 16px;font-size:13px;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex;box-shadow:inset 0 1px #fff,0 2px 8px #0003}.developer-note-sponsor:hover{background:#fff}.developer-note-sponsor svg{stroke-width:2px;width:16px;height:16px}.developer-note-later{color:#aaa;background:none;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:44px;padding:10px;font-size:12px;display:flex}.developer-note-later:hover{color:#fff;background:#ffffff08}.developer-note :focus-visible{outline-offset:4px;outline:2px solid #fff}.developer-note-modal[data-initial-focus=true] .developer-note-close:focus-visible{outline:none}@media(width<=760px){.developer-note-launcher{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.developer-note-mark{width:56px;height:56px;top:-20px;left:20px}}@media(width<=480px){.developer-note{--note-radius: 20px}.developer-note-content{padding:48px 24px 24px}.developer-note-actions{grid-template-columns:1.15fr 1fr;gap:8px;display:grid}.developer-note-sponsor{gap:6px;padding-inline:8px}}@media(width<=380px){.developer-note-sponsor svg{display:none}}@media(height<=650px){.developer-note-content{padding:46px 18px 18px}.developer-note h2{font-size:24px}.developer-note-body{margin-top:14px;font-size:14px;line-height:1.55}.developer-note .developer-note-body p{margin-bottom:12px}.developer-note .developer-note-body p:last-child{margin-bottom:0}.developer-note-actions{margin-top:12px}}@media(height<=560px)and (width<=559px){.developer-note-content{padding:40px 16px 16px}.developer-note-mark{width:48px;height:48px;top:-18px;left:16px}.developer-note h2{font-size:22px}.developer-note-body,.developer-note-actions{grid-column:1 / -1}.developer-note-body{margin-top:12px;line-height:1.5}.developer-note .developer-note-body p:last-child{margin-bottom:0}.developer-note-actions{margin-top:10px}}@media(height<=500px)and (width>=560px){.developer-note{width:min(760px,100% - 24px);max-height:calc(100dvh - 24px)}.developer-note-content{grid-template-columns:1fr 1fr;gap:10px 24px;padding:44px 20px 20px;display:grid}.developer-note-mark{width:48px;height:48px;top:-18px;left:20px}.developer-note h2{grid-area:1 / 1}.developer-note-body{grid-area:1 / 2 / 3;align-self:center;margin:0;padding-top:0}.developer-note-actions{grid-area:2 / 1;grid-template-columns:1.15fr 1fr;gap:8px;margin:0;display:grid}}@media(prefers-reduced-motion:no-preference){.developer-note-modal::backdrop{opacity:1;transition:opacity .4s ease-out}.developer-note-modal[data-phase=closing]::backdrop{opacity:0}.developer-note-modal[open][data-phase=open]:not([data-heart-moving=true]) .developer-note-mark .developer-note-heart{animation:1.2s ease-in-out 2 developer-heartbeat}.developer-note-border:before,.developer-note-border:after{animation:5.2s linear infinite paused developer-note-border-orbit}.developer-note-modal[open] .developer-note-border:before,.developer-note-modal[open] .developer-note-border:after{animation-play-state:running}.developer-note-launcher[data-expanded=false] .developer-note-heart{animation:1.2s ease-in-out 2 developer-heartbeat}.developer-note-launcher:hover .developer-note-heart{animation:1s ease-in-out developer-heartbeat}.developer-note-sponsor,.developer-note-later,.developer-note-close{transition:background .15s ease-out,color .15s ease-out,transform .15s ease-out}.developer-note-sponsor:active,.developer-note-later:active,.developer-note-close:active{transform:scale(.96)}@starting-style{.developer-note-modal[open]::backdrop{opacity:0}}}@keyframes developer-note-border-orbit{to{--developer-note-orbit: 360deg}}@media(forced-colors:active){.developer-note-border:before,.developer-note-border:after{animation:none;display:none}}@keyframes developer-heartbeat{0%,40%,to{transform:scale(1)}15%{transform:scale(1.1)}28%{transform:scale(1.04)}}.hero-why-parallax{--hero-depth-room: 80px}@media(prefers-reduced-motion:no-preference){.hero-why-parallax[data-depth-motion=true] .hero-video-surface{inset:calc(-1 * var(--hero-depth-room)) 0 0;transform:translate3d(0,var(--hero-depth-y, 0px),0)}.hero-why-parallax[data-depth-motion=true] .why-prnext-inner{transform:translate3d(0,var(--why-entry-y, 0px),0)}}@media(width<=820px){.hero-why-parallax{--hero-depth-room: 40px}}
