/*! tailwindcss v4.2.2 | 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-border-style:solid;--tw-leading:initial;--tw-tracking:initial;--tw-outline-style:solid;--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-font-weight:initial;--tw-content:"";--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}}}@layer theme{:root,:host{--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-serif:Georgia, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-lime-700:oklch(53.2% .157 131.589);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-600:oklch(58.8% .158 241.966);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-950:oklch(28.3% .141 291.089);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-600:oklch(58.6% .253 17.585);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-6xl:72rem;--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-snug:1.375;--radius-sm:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,ui-sans-serif, system-ui, 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{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}html{scroll-behavior:smooth;scroll-padding-top:4rem}body{background-color:var(--color-neutral-50);font-family:var(--font-sans);color:var(--color-neutral-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){body{color:#f0ede6;background:#0e0e0e}}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);font-weight:400}a{color:inherit}code,kbd,pre,samp{font-family:var(--font-mono)}hr{border-color:var(--color-neutral-200)}@media (prefers-color-scheme:dark){hr{border-color:var(--color-neutral-800)}}.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}}@layer components{[data-book-current=rails] [data-stack=rails],[data-book-current=phoenix] [data-stack=phoenix],[data-book-current=ruby] [data-stack=ruby],[data-book-current=elixir] [data-stack=elixir]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-lime-700)}@media (prefers-color-scheme:dark){[data-book-current=rails] [data-stack=rails],[data-book-current=phoenix] [data-stack=phoenix],[data-book-current=ruby] [data-stack=ruby],[data-book-current=elixir] [data-stack=elixir]{color:#c8f55a}}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-12{margin-top:calc(var(--spacing) * 12)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.max-w-6xl{max-width:var(--container-6xl)}.max-w-sm{max-width:var(--container-sm)}.shrink{flex-shrink:1}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-10{gap:calc(var(--spacing) * 10)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-sm{border-radius:var(--radius-sm)}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-neutral-200{border-color:var(--color-neutral-200)}.bg-\[\#c8f55a\]{background-color:#c8f55a}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.font-mono{font-family:var(--font-mono)}.font-serif{font-family:var(--font-serif)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[\#0e0e0e\]{color:#0e0e0e}.text-lime-700{color:var(--color-lime-700)}.text-neutral-600{color:var(--color-neutral-600)}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}@media (hover:hover){.hover\:text-lime-700:hover{color:var(--color-lime-700)}.hover\:text-neutral-900:hover{color:var(--color-neutral-900)}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);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,)}}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:text-\[22px\]{font-size:22px}}@media (min-width:48rem){.md\:flex{display:flex}.md\:grid-cols-\[1fr_auto_auto_auto\]{grid-template-columns:1fr auto auto auto}.md\:gap-14{gap:calc(var(--spacing) * 14)}}@media (min-width:64rem){.lg\:gap-16{gap:calc(var(--spacing) * 16)}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}}@media (prefers-color-scheme:dark){.dark\:border-neutral-800{border-color:var(--color-neutral-800)}.dark\:text-\[\#c8f55a\]{color:#c8f55a}.dark\:text-neutral-400{color:var(--color-neutral-400)}@media (hover:hover){.dark\:hover\:text-\[\#c8f55a\]:hover{color:#c8f55a}.dark\:hover\:text-\[\#f0ede6\]:hover{color:#f0ede6}}}}body.article{flex-direction:column;min-height:100vh;display:flex}body.article>.body{gap:calc(var(--spacing) * 8);width:100%;max-width:88rem;padding-inline:calc(var(--spacing) * 4);flex:1;margin-inline:auto;display:flex}@media (min-width:40rem){body.article>.body{padding-inline:calc(var(--spacing) * 8)}}@media (min-width:64rem){body.article>.body{gap:calc(var(--spacing) * 12);padding-inline:calc(var(--spacing) * 10)}}.nav-container{flex-shrink:0;width:100%}@media (min-width:64rem){.nav-container{width:calc(var(--spacing) * 64);padding-top:calc(var(--spacing) * 6)}}.nav-container:not(.is-active){display:none}@media (min-width:64rem){.nav-container:not(.is-active){display:block}.nav{top:calc(var(--spacing) * 6);max-height:calc(100vh - 3rem);padding-top:calc(var(--spacing) * 2);position:sticky;overflow-y:auto}}.nav .panels{gap:calc(var(--spacing) * 8);flex-direction:column;display:flex}.nav-list{margin:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 0);list-style-type:none}.nav-menu>.nav-list>.nav-item{margin-top:calc(var(--spacing) * 5)}.nav-menu>.nav-list>.nav-item:first-child{margin-top:calc(var(--spacing) * 0)}.nav-item{margin:calc(var(--spacing) * 0);padding-block:calc(var(--spacing) * .5);padding-left:calc(var(--spacing) * 4);position:relative}.nav-item[data-depth="0"]>.nav-link,.nav-item[data-depth="0"]>.nav-text{font-family:var(--font-mono);--tw-font-weight:var(--font-weight-normal);font-size:11px;font-weight:var(--font-weight-normal);--tw-tracking:.2em;letter-spacing:.2em;color:var(--color-neutral-500);text-transform:uppercase}@media (prefers-color-scheme:dark){.nav-item[data-depth="0"]>.nav-link,.nav-item[data-depth="0"]>.nav-text{color:var(--color-neutral-400)}}.nav-item[data-depth="0"]{padding-left:calc(var(--spacing) * 0)}.nav-link,.nav-text{padding-block:calc(var(--spacing) * 1);--tw-leading:calc(var(--spacing) * 6);font-size:14px;line-height:calc(var(--spacing) * 6);color:var(--color-neutral-600);text-decoration-line:none;display:block}@media (hover:hover){:is(.nav-link,.nav-text):hover{color:var(--color-neutral-900)}}@media (prefers-color-scheme:dark){.nav-link,.nav-text{color:var(--color-neutral-400)}@media (hover:hover){:is(.nav-link,.nav-text):hover{color:#f0ede6}}}.nav-item.is-current-page>.nav-link{color:#65a30d}@media (prefers-color-scheme:dark){.nav-item.is-current-page>.nav-link{color:#c8f55a}}.nav-item.is-current-page:before{content:var(--tw-content);content:var(--tw-content);top:calc(var(--spacing) * 1);content:var(--tw-content);bottom:calc(var(--spacing) * 1);content:var(--tw-content);left:calc(var(--spacing) * 0);content:var(--tw-content);content:var(--tw-content);--tw-content:"";content:var(--tw-content);background-color:#65a30d;width:2px;position:absolute}@media (prefers-color-scheme:dark){.nav-item.is-current-page:before{content:var(--tw-content);background-color:#c8f55a}}.nav-item-toggle,.nav-panel-explore .components,.nav-menu-toggle{display:none}.article-kicker{margin-bottom:calc(var(--spacing) * 5);align-items:center;gap:calc(var(--spacing) * 3);display:flex}@media (min-width:64rem){.article-kicker{margin-bottom:calc(var(--spacing) * 0);display:none}}.nav-toggle{height:calc(var(--spacing) * 11);width:calc(var(--spacing) * 11);cursor:pointer;border-style:var(--tw-border-style);background-color:var(--color-neutral-100);color:var(--color-neutral-900);border-width:0;border-radius:.25rem;flex-shrink:0;position:relative}@media (min-width:64rem){.nav-toggle{display:none}}@media (prefers-color-scheme:dark){.nav-toggle{background-color:var(--color-neutral-900);color:var(--color-neutral-100)}}.nav-toggle:before{content:"";background-color:currentColor;width:1.125rem;height:1.125rem;margin:auto;position:absolute;inset:0;-webkit-mask:url(../img/menu.svg) 50%/contain no-repeat;mask:url(../img/menu.svg) 50%/contain no-repeat}.nav-toggle.is-active{z-index:30;background-color:#fafafa;position:fixed;top:.75rem;right:.75rem;box-shadow:0 0 0 1px #00000014}.nav-toggle.is-active:before{-webkit-mask:url(../img/close.svg) 50%/contain no-repeat;mask:url(../img/close.svg) 50%/contain no-repeat}@media (prefers-color-scheme:dark){.nav-toggle.is-active{background-color:#131313;box-shadow:0 0 0 1px #ffffff14}}main.article{min-width:calc(var(--spacing) * 0);padding-bottom:calc(var(--spacing) * 16);flex-direction:column;flex:1;display:flex}main.article>.content{min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 10);padding-inline:calc(var(--spacing) * 0);padding-top:calc(var(--spacing) * 6);flex-direction:column;flex:1;display:flex}@media (min-width:40rem){main.article>.content{padding-inline:calc(var(--spacing) * 6);padding-top:calc(var(--spacing) * 8)}}@media (min-width:64rem){main.article>.content{padding-inline:calc(var(--spacing) * 2);flex-direction:row;align-items:flex-start}}.doc{min-width:calc(var(--spacing) * 0);flex:1}.doc h1.page{margin-bottom:calc(var(--spacing) * 8);--tw-leading:1.1;--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);font-size:clamp(28px,3.6vw,40px);line-height:1.1}.doc h2{margin-top:calc(var(--spacing) * 14);margin-bottom:calc(var(--spacing) * 4);--tw-leading:1.15;font-size:clamp(22px,3vw,34px);line-height:1.15}.doc h3{margin-top:calc(var(--spacing) * 10);margin-bottom:calc(var(--spacing) * 3);--tw-leading:1.2;font-size:clamp(18px,2.4vw,24px);line-height:1.2}.doc h4{margin-top:calc(var(--spacing) * 8);margin-bottom:calc(var(--spacing) * 2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.doc p,.doc ul,.doc ol,.doc dl{margin-bottom:calc(var(--spacing) * 5);--tw-leading:1.75;color:var(--color-neutral-700);font-size:17px;line-height:1.75}@media (prefers-color-scheme:dark){.doc p,.doc ul,.doc ol,.doc dl{color:var(--color-neutral-300)}}.doc ul,.doc ol{margin-left:calc(var(--spacing) * 6);list-style-position:outside}.doc ul{list-style-type:disc}.doc ol{list-style-type:decimal}.doc li,.doc li>p{margin-bottom:calc(var(--spacing) * 2)}.doc a{color:#65a30d;text-underline-offset:3px;text-decoration-line:underline;text-decoration-color:oklab(64.8167% -.116676 .131029/.4)}@media (hover:hover){.doc a:hover{text-decoration-color:#65a30d}}@media (prefers-color-scheme:dark){.doc a{color:#c8f55a;text-decoration-color:oklab(90.9453% -.103571 .154168/.4)}@media (hover:hover){.doc a:hover{text-decoration-color:#c8f55a}}}a[href^=mailto\:]{white-space:nowrap}.doc a.anchor{display:none}.doc strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}@media (prefers-color-scheme:dark){.doc strong{color:#f0ede6}}.doc em{font-style:italic}.doc blockquote{margin-block:calc(var(--spacing) * 6);border-left-style:var(--tw-border-style);border-left-width:2px;border-color:var(--color-neutral-300);padding-left:calc(var(--spacing) * 5);font-family:var(--font-serif);color:var(--color-neutral-600);font-size:17px;font-style:italic}@media (prefers-color-scheme:dark){.doc blockquote{border-color:var(--color-neutral-700);color:var(--color-neutral-400)}}.doc .quoteblock{margin-block:calc(var(--spacing) * 8)}.doc .quoteblock>blockquote{margin-block:calc(var(--spacing) * 0)}.doc .quoteblock .attribution{margin-top:calc(var(--spacing) * 3);padding-left:calc(var(--spacing) * 5);font-family:var(--font-mono);--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide);color:var(--color-neutral-500);font-size:13px}@media (prefers-color-scheme:dark){.doc .quoteblock .attribution{color:var(--color-neutral-400)}}.doc .quoteblock .attribution cite{font-style:normal}.doc table{margin-block:calc(var(--spacing) * 6);border-collapse:collapse;width:100%;font-size:15px}.doc table.tableblock{margin-block:calc(var(--spacing) * 6)}.doc .tableblock{margin-inline:calc(var(--spacing) * -4);padding-inline:calc(var(--spacing) * 4);overflow-x:auto}@media (min-width:40rem){.doc .tableblock{margin-inline:calc(var(--spacing) * 0);padding-inline:calc(var(--spacing) * 0)}}.doc .tableblock>table{min-width:100%}.doc th{border-bottom-style:var(--tw-border-style);border-bottom-width:2px;border-color:var(--color-neutral-300);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);text-align:left;font-family:var(--font-mono);--tw-tracking:.15em;letter-spacing:.15em;color:var(--color-neutral-600);text-transform:uppercase;font-size:11px}@media (prefers-color-scheme:dark){.doc th{border-color:var(--color-neutral-700);color:var(--color-neutral-400)}}.doc th{font-weight:500}.doc td{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-neutral-200);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);vertical-align:top;color:var(--color-neutral-700)}@media (prefers-color-scheme:dark){.doc td{border-color:var(--color-neutral-800);color:var(--color-neutral-300)}}.doc code{background-color:var(--color-neutral-100);font-family:var(--font-mono);color:var(--color-neutral-800);border-radius:.25rem;padding-block:.1em;padding-inline:.35em;font-size:.92em}@media (prefers-color-scheme:dark){.doc code{background-color:var(--color-neutral-900);color:var(--color-neutral-200)}}.doc code{overflow-wrap:anywhere}.doc p,.doc li{overflow-wrap:break-word}.doc pre{margin-block:calc(var(--spacing) * 6);border-radius:var(--radius-sm);background-color:var(--color-neutral-900);padding:calc(var(--spacing) * 4);font-family:var(--font-mono);--tw-leading:1.6;color:var(--color-neutral-100);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--color-neutral-200);font-size:13px;line-height:1.6;overflow-x:auto}@media (min-width:40rem){.doc pre{padding:calc(var(--spacing) * 5);font-size:14px}}@media (prefers-color-scheme:dark){.doc pre{--tw-ring-color:var(--color-neutral-800);background-color:#131313}}.doc .listingblock>.content>pre,.doc .literalblock>.content>pre{margin-block:calc(var(--spacing) * 0)}.doc .listingblock:has(>.title)>.content>pre{border-top-left-radius:0;border-top-right-radius:0}.doc pre code{padding:calc(var(--spacing) * 0);color:inherit;background-color:#0000}.doc .listingblock.terminal>.content>pre{padding-top:calc(32px + var(--spacing) * 4);position:relative}@media (min-width:640px){.doc .listingblock.terminal>.content>pre{padding-top:calc(32px + var(--spacing) * 5)}}.doc .listingblock.terminal>.content>pre:before{content:"";border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm);pointer-events:none;background:radial-gradient(circle at 14.5px 15px,#ffffff38 1.5px,#0000 2px),radial-gradient(circle at 16px 16px,#ff5f56 5px,#e0443e 5px 5.6px,#0000 5.6px),radial-gradient(circle at 34.5px 15px,#ffffff38 1.5px,#0000 2px),radial-gradient(circle at 36px 16px,#ffbd2e 5px,#dea123 5px 5.6px,#0000 5.6px),radial-gradient(circle at 54.5px 15px,#ffffff38 1.5px,#0000 2px),radial-gradient(circle at 56px 16px,#27c93f 5px,#1aab29 5px 5.6px,#0000 5.6px),linear-gradient(#343434 0%,#262626 50%,#1e1e1e 100%);height:32px;position:absolute;top:0;left:0;right:0;box-shadow:inset 0 1px #ffffff0f,inset 0 -1px #0009}.doc .listingblock:has(>.title) .source-lang,.doc .listingblock.terminal .source-lang{display:none}.doc .listingblock,.doc .literalblock{margin-block:calc(var(--spacing) * 6);position:relative}.doc .imageblock>.title,.doc .tableblock>caption{margin-bottom:calc(var(--spacing) * 2);font-family:var(--font-mono);--tw-tracking:.15em;letter-spacing:.15em;color:var(--color-neutral-500);text-transform:uppercase;font-size:11px}@media (prefers-color-scheme:dark){.doc .imageblock>.title,.doc .tableblock>caption{color:var(--color-neutral-400)}}.doc .imageblock>.title,.doc .tableblock>caption{overflow-wrap:anywhere}.doc .listingblock>.title{margin-bottom:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 1.5);border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm);background-color:var(--color-neutral-200);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1);font-family:var(--font-mono);--tw-font-weight:var(--font-weight-medium);font-size:12px;font-weight:var(--font-weight-medium);color:var(--color-neutral-700);display:inline-flex}@media (prefers-color-scheme:dark){.doc .listingblock>.title{background-color:var(--color-neutral-800);color:var(--color-neutral-200)}}.doc .listingblock>.title{overflow-wrap:anywhere;text-transform:none;letter-spacing:normal}.doc .listingblock>.title:before{content:"";opacity:.75;background-color:currentColor;flex-shrink:0;width:13px;height:13px;display:inline-block;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'><path d='M3.5 1.5h5.793a1 1 0 0 1 .707.293l3.207 3.207a1 1 0 0 1 .293.707V14a.5.5 0 0 1-.5.5h-9.5a.5.5 0 0 1-.5-.5V2a.5.5 0 0 1 .5-.5zm5.5.707V5.5h3.293L9 2.207z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'><path d='M3.5 1.5h5.793a1 1 0 0 1 .707.293l3.207 3.207a1 1 0 0 1 .293.707V14a.5.5 0 0 1-.5.5h-9.5a.5.5 0 0 1-.5-.5V2a.5.5 0 0 1 .5-.5zm5.5.707V5.5h3.293L9 2.207z'/></svg>");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.doc .listingblock>.content,.doc .literalblock>.content{position:relative}.doc .source-toolbox{top:calc(var(--spacing) * 1.5);right:calc(var(--spacing) * 1.5);z-index:10;align-items:center;gap:calc(var(--spacing) * 2);color:var(--color-neutral-400);font-size:11px;display:flex;position:absolute}.doc .source-lang{font-family:var(--font-mono);--tw-tracking:.15em;letter-spacing:.15em;text-transform:uppercase}.doc .copy-button{cursor:pointer;padding:calc(var(--spacing) * 1);color:var(--color-neutral-400);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));background-color:#0000;position:relative}@media (hover:hover){.doc .copy-button:hover{color:var(--color-white)}}.doc .copy-button{opacity:.55;border-radius:4px}.doc .listingblock:hover .copy-button,.doc .literalblock:hover .copy-button,.doc .copy-button:focus-visible{opacity:1}.doc .copy-button:hover{background-color:#ffffff14}.doc .copy-icon{filter:invert()opacity(.85);width:14px;height:14px;display:block}.doc .copy-toast{top:100%;right:calc(var(--spacing) * 0);margin-top:calc(var(--spacing) * 1);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * .5);font-family:var(--font-mono);--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest);color:var(--color-black);text-transform:uppercase;background-color:#c8f55a;border-radius:.25rem;font-size:10px;display:none;position:absolute}.doc .copy-button.clicked .copy-toast{display:block}.doc .admonitionblock{margin-block:calc(var(--spacing) * 6);border-radius:var(--radius-sm);border-left-style:var(--tw-border-style);border-left-width:2px;border-color:var(--color-neutral-300);background-color:#f5f5f599;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.doc .admonitionblock{background-color:color-mix(in oklab, var(--color-neutral-100) 60%, transparent)}}@media (prefers-color-scheme:dark){.doc .admonitionblock{border-color:var(--color-neutral-700);background-color:#17171799}@supports (color:color-mix(in lab, red, red)){.doc .admonitionblock{background-color:color-mix(in oklab, var(--color-neutral-900) 60%, transparent)}}}.doc .admonitionblock>table{margin-block:calc(var(--spacing) * 0);width:100%}.doc .admonitionblock td{border-style:var(--tw-border-style);padding:calc(var(--spacing) * 4);border-width:0}.doc .admonitionblock .icon{width:calc(var(--spacing) * 20);padding-top:calc(var(--spacing) * 5);padding-left:calc(var(--spacing) * 4);vertical-align:top}@media (min-width:40rem){.doc .admonitionblock .icon{width:calc(var(--spacing) * 28);padding-left:calc(var(--spacing) * 5)}}.doc .admonitionblock .icon i{font-style:normal}.doc .admonitionblock .icon i:before{content:attr(title);font-family:var(--font-mono);--tw-font-weight:var(--font-weight-normal);font-size:11px;font-weight:var(--font-weight-normal);--tw-tracking:.2em;letter-spacing:.2em;color:var(--color-neutral-600);text-transform:uppercase;display:block}@media (prefers-color-scheme:dark){.doc .admonitionblock .icon i:before{color:var(--color-neutral-400)}}.doc .admonitionblock.note{border-color:#65a30d}@media (prefers-color-scheme:dark){.doc .admonitionblock.note{border-color:#c8f55a}}.doc .admonitionblock.note .icon i:before{color:#65a30d}@media (prefers-color-scheme:dark){.doc .admonitionblock.note .icon i:before{color:#c8f55a}}.doc .admonitionblock.tip{border-color:var(--color-sky-600)}@media (prefers-color-scheme:dark){.doc .admonitionblock.tip{border-color:var(--color-sky-400)}}.doc .admonitionblock.tip .icon i:before{color:var(--color-sky-600)}@media (prefers-color-scheme:dark){.doc .admonitionblock.tip .icon i:before{color:var(--color-sky-400)}}.doc .admonitionblock.warning,.doc .admonitionblock.caution{border-color:var(--color-amber-600)}@media (prefers-color-scheme:dark){.doc .admonitionblock.warning,.doc .admonitionblock.caution{border-color:var(--color-amber-400)}}.doc .admonitionblock.warning .icon i:before,.doc .admonitionblock.caution .icon i:before{color:var(--color-amber-600)}@media (prefers-color-scheme:dark){.doc .admonitionblock.warning .icon i:before,.doc .admonitionblock.caution .icon i:before{color:var(--color-amber-400)}}.doc .admonitionblock.important{border-color:var(--color-rose-600)}@media (prefers-color-scheme:dark){.doc .admonitionblock.important{border-color:var(--color-rose-400)}}.doc .admonitionblock.important .icon i:before{color:var(--color-rose-600)}@media (prefers-color-scheme:dark){.doc .admonitionblock.important .icon i:before{color:var(--color-rose-400)}}.doc .admonitionblock td.content{padding-top:calc(var(--spacing) * 4);padding-right:calc(var(--spacing) * 4);padding-bottom:calc(var(--spacing) * 4);padding-left:calc(var(--spacing) * 0)}@media (min-width:40rem){.doc .admonitionblock td.content{padding-right:calc(var(--spacing) * 5)}}.doc .admonitionblock td.content>.title{margin-bottom:calc(var(--spacing) * 2);font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.doc .admonitionblock td.content>:last-child{margin-bottom:calc(var(--spacing) * 0)}.doc .sidebarblock.agentic-tip{margin-block:calc(var(--spacing) * 6);border-radius:var(--radius-sm);border-left-style:var(--tw-border-style);border-left-width:2px;border-color:var(--color-violet-600);background-color:#f5f3ff66;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.doc .sidebarblock.agentic-tip{background-color:color-mix(in oklab, var(--color-violet-50) 40%, transparent)}}.doc .sidebarblock.agentic-tip{padding:calc(var(--spacing) * 4);padding-top:calc(var(--spacing) * 6)}@media (min-width:40rem){.doc .sidebarblock.agentic-tip{padding:calc(var(--spacing) * 5);padding-top:calc(var(--spacing) * 7)}}@media (prefers-color-scheme:dark){.doc .sidebarblock.agentic-tip{border-color:var(--color-violet-400);background-color:#2f0d6833}@supports (color:color-mix(in lab, red, red)){.doc .sidebarblock.agentic-tip{background-color:color-mix(in oklab, var(--color-violet-950) 20%, transparent)}}}.doc .sidebarblock.agentic-tip:before{content:"AGENTIC CODING TIP";top:calc(var(--spacing) * 2);left:calc(var(--spacing) * 4);font-family:var(--font-mono);--tw-font-weight:var(--font-weight-normal);font-size:10px;font-weight:var(--font-weight-normal);--tw-tracking:.2em;letter-spacing:.2em;color:var(--color-violet-700);position:absolute}@media (min-width:40rem){.doc .sidebarblock.agentic-tip:before{left:calc(var(--spacing) * 5)}}@media (prefers-color-scheme:dark){.doc .sidebarblock.agentic-tip:before{color:var(--color-violet-300)}}.doc .sidebarblock.agentic-tip>.content>.title{margin-bottom:calc(var(--spacing) * 2);font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.doc .sidebarblock.agentic-tip>.content>:last-child{margin-bottom:calc(var(--spacing) * 0)}.doc .imageblock,.doc figure{margin-block:calc(var(--spacing) * 6)}.doc .imageblock img,.doc figure img{max-width:100%;height:auto}.doc .imageblock .title{margin-top:calc(var(--spacing) * 2)}.doc hr{margin-block:calc(var(--spacing) * 10)}.doc .conum[data-value]{margin-left:calc(var(--spacing) * 1);height:calc(var(--spacing) * 5);min-width:calc(var(--spacing) * 5);padding-inline:calc(var(--spacing) * 1);font-family:var(--font-mono);--tw-font-weight:var(--font-weight-bold);font-size:11px;font-weight:var(--font-weight-bold);color:var(--color-white);background-color:#65a30d;border-radius:3.40282e38px;justify-content:center;align-items:center;font-style:normal;display:inline-flex}@media (prefers-color-scheme:dark){.doc .conum[data-value]{color:#0e0e0e;background-color:#c8f55a}}.doc .conum[data-value]:after{content:attr(data-value)}.doc .conum[data-value]+b{display:none}.doc .colist{margin-block:calc(var(--spacing) * 4);font-size:15px}.doc .colist td{padding-block:calc(var(--spacing) * 1);vertical-align:top}.doc .colist>table>tbody>tr>td:first-child{padding-right:calc(var(--spacing) * 3)}.pagination{margin-top:calc(var(--spacing) * 14);gap:calc(var(--spacing) * 3);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-neutral-200);padding-top:calc(var(--spacing) * 6);display:grid}@media (min-width:40rem){.pagination{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.pagination{border-color:var(--color-neutral-800)}}.pagination a{border-radius:var(--radius-sm);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-neutral-200);min-height:4rem;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);color:var(--color-neutral-700);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));flex-direction:column;justify-content:center;text-decoration-line:none;display:flex}@media (hover:hover){.pagination a:hover{color:#65a30d;border-color:#65a30d}}@media (prefers-color-scheme:dark){.pagination a{border-color:var(--color-neutral-800);color:var(--color-neutral-300)}@media (hover:hover){.pagination a:hover{color:#c8f55a;border-color:#c8f55a}}}@media (min-width:40rem){.pagination .next{text-align:right;grid-column-start:2}}.pagination:not(:has(.prev)) .next{grid-column-start:1}@media (min-width:40rem){.pagination:not(:has(.prev)) .next{grid-column-start:2}}.pagination .pagination-label{font-family:var(--font-mono);--tw-tracking:.2em;letter-spacing:.2em;color:var(--color-neutral-500);text-transform:uppercase;font-size:11px}@media (prefers-color-scheme:dark){.pagination .pagination-label{color:var(--color-neutral-400)}}.pagination .pagination-title{margin-top:calc(var(--spacing) * 1);font-family:var(--font-serif);--tw-leading:var(--leading-snug);font-size:17px;line-height:var(--leading-snug)}.toc.sidebar{display:none}@media (min-width:1024px){.toc.sidebar{width:calc(var(--spacing) * 56);flex-shrink:0;order:2;align-self:flex-start;max-height:calc(100vh - 3rem);display:block;position:sticky;top:1.5rem;overflow-y:auto}.doc{order:1}}.toc-menu h3{margin-bottom:calc(var(--spacing) * 3);font-family:var(--font-mono);--tw-font-weight:var(--font-weight-normal);font-size:11px;font-weight:var(--font-weight-normal);--tw-tracking:.2em;letter-spacing:.2em;color:var(--color-neutral-500);text-transform:uppercase}@media (prefers-color-scheme:dark){.toc-menu h3{color:var(--color-neutral-400)}}.toc-menu ul{margin:calc(var(--spacing) * 0);border-left-style:var(--tw-border-style);border-left-width:1px;border-color:var(--color-neutral-200);padding:calc(var(--spacing) * 0);list-style-type:none}@media (prefers-color-scheme:dark){.toc-menu ul{border-color:var(--color-neutral-800)}}.toc-menu li{border-left-style:var(--tw-border-style);border-color:#0000;border-left-width:1px;margin-left:-1px}.toc-menu li[data-level="1"] a{padding-left:calc(var(--spacing) * 3)}.toc-menu li[data-level="2"] a{padding-left:calc(var(--spacing) * 6)}.toc-menu li[data-level="3"] a{padding-left:calc(var(--spacing) * 9)}.toc-menu a{padding-block:calc(var(--spacing) * 1);--tw-leading:calc(var(--spacing) * 5);font-size:13px;line-height:calc(var(--spacing) * 5);color:var(--color-neutral-500);text-decoration-line:none;display:block}@media (hover:hover){.toc-menu a:hover{color:var(--color-neutral-900)}}@media (prefers-color-scheme:dark){.toc-menu a{color:var(--color-neutral-400)}@media (hover:hover){.toc-menu a:hover{color:#f0ede6}}}.toc-menu .is-active{border-left-style:var(--tw-border-style);color:#65a30d;border-color:#65a30d;border-left-width:2px}@media (prefers-color-scheme:dark){.toc-menu .is-active{color:#c8f55a;border-color:#c8f55a}}.toc.embedded{margin-bottom:calc(var(--spacing) * 8);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-neutral-200);background-color:#f5f5f599}@supports (color:color-mix(in lab, red, red)){.toc.embedded{background-color:color-mix(in oklab, var(--color-neutral-100) 60%, transparent)}}.toc.embedded{padding:calc(var(--spacing) * 4)}@media (min-width:64rem){.toc.embedded{display:none}}@media (prefers-color-scheme:dark){.toc.embedded{border-color:var(--color-neutral-800);background-color:#17171799}@supports (color:color-mix(in lab, red, red)){.toc.embedded{background-color:color-mix(in oklab, var(--color-neutral-900) 60%, transparent)}}}.is-clipped--nav{overflow:hidden}@media (max-width:1023px){.nav-container.is-active{inset:calc(var(--spacing) * 0);z-index:20;background-color:var(--color-neutral-50);padding-inline:calc(var(--spacing) * 6);padding-top:calc(var(--spacing) * 6);padding-bottom:calc(var(--spacing) * 10);display:block;position:fixed;overflow-y:auto}@media (prefers-color-scheme:dark){.nav-container.is-active{background-color:#0e0e0e}}}@media print{.hide-for-print,.nav-container,header,footer,.toolbar,.pagination,.toc.sidebar{display:none!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-font-weight{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@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}