/*! 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)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-leading:initial;--tw-font-weight: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-duration:initial;--tw-outline-style:solid}}}@layer theme{:host,:root{--font-sans:var(--font-geist),var(--font-kr),"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;--font-mono:var(--font-geist-mono),ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--color-sky-500:oklch(68.5% .169 237.323);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--leading-snug:1.375;--radius-sm:.25rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(.22,1,.36,1);--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);--color-ink:#0b0d0c;--color-ink-soft:#2a2f2c;--color-muted:#5f6461;--color-band:#fafaf9;--color-line:#0b0d0c14;--color-line-strong:#0b0d0c24;--color-lime:#c4f04a;--color-accent-ink:#3a6510;--color-focus:#0b6bcb}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{color-scheme:light;--bg:#fff;--band:var(--color-band);--ink:var(--color-ink);--muted:var(--color-muted);--line:var(--color-line);--line-strong:var(--color-line-strong);--track:#efefec;--lime:var(--color-lime);--accent-ink:var(--color-accent-ink);--focus:var(--color-focus);--dark:#0b0d0c;--dark-raised:#151917;--dark-ink:#e9ebe8;--dark-muted:#a3a8a5;--font:var(--font-sans);--font-code:var(--font-mono);--step-small:.875rem;--step-body:1rem;--step-lead:clamp(1.0625rem,1rem + .35vw,1.25rem);--step-head:clamp(2rem,1.6rem + 1.6vw,2.75rem);--step-display:clamp(2.5rem,1.9rem + 2.4vw,3.5rem);--frame:1248px;--margin:clamp(16px,6.67vw,96px);--rail-pad:1.5rem;--measure:45rem;--sp-section:clamp(4rem,2.5rem + 5vw,7.5rem);--sp-tight:clamp(3rem,2rem + 3vw,5rem);--s1:.75rem;--s2:1.25rem;--s3:2rem;--s4:3.5rem;--r-sm:10px;--r-lg:24px;--ease:var(--ease-out);--t-color:.15s;--t-press:.12s;--t-enter:.52s;--header:64px}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header) + 16px)}body,html{background:var(--bg);color:var(--ink)}body{font-family:var(--font);font-size:var(--step-body);font-kerning:normal;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;line-height:1.6;overflow-x:clip}::selection{background:var(--lime);color:var(--ink)}a{text-underline-offset:.2em;text-decoration-thickness:1px}p{text-wrap:pretty}h1,h2,h3{text-wrap:balance;-webkit-hyphens:none;hyphens:none;font-weight:450}strong{color:var(--ink);font-weight:500}code,kbd,pre{font-family:var(--font-code)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}}@layer components{.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.skip,.sr-only{position:absolute}.skip{left:var(--margin);z-index:60;background:var(--ink);color:#fff;border-radius:var(--r-sm);padding:.75rem 1rem;text-decoration:none;top:-4rem}.skip:focus{top:.75rem}.skip:not(:focus){clip-path:inset(50%)}.frame{width:min(var(--frame),100% - 2 * var(--margin));margin-inline:auto}.frame>*{min-width:0}@media (min-width:1024px){.rails{border-inline:1px solid var(--line);padding-inline:var(--rail-pad)}}.rule-top{border-top:1px solid var(--line)}.band{background:var(--band)}.frame.section,.section>.frame{padding-block:var(--sp-section)}.frame.section-tight,.section-tight>.frame{padding-block:var(--sp-tight)}.measure{max-width:var(--measure);margin-inline:auto}.display{font-size:var(--step-display);letter-spacing:-.02em;line-height:1.08}.display,.head{font-weight:450}.head{font-size:var(--step-head);letter-spacing:-.015em;line-height:1.12}.lead{font-size:var(--step-lead);color:var(--muted);line-height:1.55}:lang(ko) .display,:lang(ko) .head{letter-spacing:-.01em;line-height:1.25}:lang(ko) .lead{line-height:1.65}.center-head{max-width:var(--measure);text-align:center;justify-items:center;gap:var(--s2);margin-inline:auto;display:grid}.center-head .eyebrow{margin-bottom:calc(var(--s1) * -.5)}.eyebrow{color:var(--accent-ink);align-items:center;gap:.15rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.eyebrow:hover{text-decoration:underline}.chev{flex:none;width:.95em;height:.95em}.textlink{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);transition:text-decoration-color var(--t-color) ease;font-weight:500}.textlink:hover{text-decoration-color:currentColor}.site-header{z-index:50;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .bar{min-height:var(--header);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;display:grid}.wordmark{letter-spacing:-.02em;color:var(--ink);justify-self:start;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:500;text-decoration:none;display:inline-flex}.wordmark svg{width:1.6rem;height:1.6rem;color:var(--ink)}.nav{align-items:center;gap:clamp(1.25rem,2.6vw,2.5rem);display:flex}.bar-end .lang,.nav a{transition:color var(--t-color) ease;padding-block:.5rem;font-size:.875rem;font-weight:500;text-decoration:none}.bar-end .lang:hover,.nav a:hover{color:var(--muted)}.bar-end{justify-self:end;align-items:center;gap:1.25rem;display:flex}.menu{display:none;position:static}.menu-button{cursor:pointer;border-radius:var(--r-sm);min-height:2.25rem;box-shadow:inset 0 0 0 1px var(--line-strong);align-items:center;padding:0 .75rem;font-size:.875rem;font-weight:500;list-style:none;display:inline-flex}.menu-button::-webkit-details-marker{display:none}.menu[open] .menu-button{background:var(--band)}.menu-panel{z-index:60;padding:.25rem var(--margin) .75rem;background:var(--bg);border-top:1px solid var(--line);clip-path:inset(0 -100vmax -100vmax);display:grid;position:absolute;top:100%;left:0;right:0;box-shadow:0 0 0 100vmax #0b0d0c52}.menu-panel a{border-bottom:1px solid var(--line);padding:.85rem 0;font-size:1rem;font-weight:500;text-decoration:none}.menu-panel a:last-child{border-bottom:0}.menu-panel a:hover{color:var(--muted)}@media (max-width:760px){.site-header .bar{grid-template-columns:auto 1fr}.bar-end>.lang,.nav{display:none}.menu{display:block}.bar-end{gap:.5rem}}@keyframes header-solid{to{background:var(--bg);border-bottom-color:var(--line)}}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.site-header.over{background:0 0;border-bottom-color:#0000;animation:header-solid linear both;animation-timeline:scroll(root);animation-range:0 96px}.site-header.over+main .hero{margin-top:calc(var(--header) * -1)}.site-header.over+main .hero-panel{padding-top:calc(var(--header) + clamp(2.5rem, 1rem + 3.5vw, 4rem))}}}.hero{padding:clamp(8px,1.1vw,16px) clamp(8px,1.1vw,16px) 0}.hero-panel{border-radius:var(--r-lg);background:radial-gradient(48% 60% at 18% 0,#c4f04a80,#0000 70%),radial-gradient(42% 55% at 86% 8%,#96d6be6b,#0000 70%),radial-gradient(60% 50% at 50% 100%,#c4f04a38,#0000 75%),linear-gradient(#f2f8e2,#f8fbf1 55%,#fbfcf8);padding-top:clamp(2.5rem,1rem + 3.5vw,4rem);padding-bottom:clamp(1.5rem,1rem + 2vw,3rem);position:relative;overflow:hidden}.hero-panel:before{content:"";pointer-events:none;background-image:radial-gradient(#0b0d0c12 1px,#0000 1.2px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 55%);mask-image:linear-gradient(#000,#0000 55%)}.hero-text{width:min(var(--measure),100% - 2rem);text-align:center;justify-items:center;gap:var(--s2);margin-inline:auto;display:grid;position:relative}.hero-sub{font-size:var(--step-lead);color:#3f4441;max-width:34rem;line-height:1.5}.pill{color:#2a2f2c;box-shadow:inset 0 0 0 1px var(--line-strong);transition:background-color var(--t-color) ease;background:#fff9;border-radius:999px;align-items:center;gap:.25rem;padding:.3rem .65rem .3rem .85rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.pill:hover{background:#fff}.hero-actions{justify-content:center;align-items:center;gap:var(--s1);margin-top:calc(var(--s1) * .5);flex-wrap:wrap;display:flex}.hero-scene{width:min(1100px,100% - 2*clamp(12px,4vw,56px));margin:clamp(1.5rem,1rem + 1.5vw,2.5rem) auto 0;position:relative}.intro{gap:var(--s2) var(--s3);max-width:64rem;margin-inline:auto;display:grid}.intro-text{font-size:var(--step-lead);color:var(--muted);max-width:40rem;line-height:1.6}@media (min-width:860px){.intro{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.intro .eyebrow{margin-top:.3rem}}.pair{gap:var(--s3) var(--s4);margin-top:var(--s4);grid-template-columns:minmax(0,1fr);align-items:center;display:grid}.pair>*{min-width:0}@media (min-width:1000px){.pair{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.pair-even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.stack{gap:var(--s2);color:var(--muted);display:grid}.keys dd,.keys dt{margin:0;display:inline}.keys dt{margin-right:.35em}.keys dt,kbd{color:var(--ink);font-weight:500}kbd{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:6px;padding:.05em .4em;font-size:.8125em;display:inline-block}.captions{gap:var(--s3) clamp(1.5rem,3vw,2.5rem);margin-top:var(--s4);color:var(--muted);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.captions-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1000px){.captions,.captions-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.captions,.captions-4{gap:var(--s2);grid-template-columns:minmax(0,1fr)}}.stage{margin-top:var(--s4);border-radius:var(--r-lg);background:radial-gradient(55% 70% at 15% 0,#c4f04a47,#0000 70%),radial-gradient(50% 60% at 90% 100%,#96d6be4d,#0000 70%),#f3f5ef;padding:clamp(1rem,4vw,3rem)}.pair>.stage{margin-top:0}.providers{margin:var(--s3) auto 0;flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:52rem;padding:0;display:flex}.providers li{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:999px;padding:.55rem 1rem;font-weight:500}.models-local{margin-top:var(--s3);text-align:center}.models-local span{border:1px dashed var(--line-strong);color:var(--muted);border-radius:999px;padding:.45rem 1rem;display:inline-block}.models-subs{max-width:40rem;margin:var(--s2) auto 0;text-align:center;color:var(--muted);font-size:var(--step-small)}.code-card{background:var(--dark);color:var(--dark-ink);border-radius:var(--r-lg);padding:clamp(1.25rem,3vw,2rem)}.codeblock{color:var(--ink);border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px var(--line);background:#f6f6f4;margin:0;padding:1rem 1.25rem;font-size:.875rem;line-height:1.7;overflow-x:auto}.codeblock-dark{background:var(--dark-raised);color:var(--dark-ink);line-height:1.85;box-shadow:inset 0 0 0 1px #ffffff14}.codeblock-dark .c,.split-note{color:var(--dark-muted)}.split-note{margin-top:var(--s2);font-size:var(--step-small)}.cta-panel{border-radius:var(--r-lg);text-align:center;background:radial-gradient(70% 80% at 50% 115%,#c4f04a99,#0000 70%),radial-gradient(40% 60% at 15% 100%,#96d6be73,#0000 70%),linear-gradient(#fbfcf8,#f3f8e4);padding:clamp(3rem,2rem + 5vw,6.5rem) clamp(1rem,4vw,4rem);position:relative;overflow:hidden}.cta-panel:before{content:"";pointer-events:none;background-image:radial-gradient(#0b0d0c14 1px,#0000 1.2px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 40%,#000);mask-image:linear-gradient(#0000 40%,#000)}.cta-panel>*{position:relative}.cta-text{max-width:var(--measure);justify-items:center;gap:var(--s2);margin-inline:auto;display:grid}.dl-list{margin:var(--s3) auto 0;gap:var(--s1);text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));max-width:52rem;padding:0;display:grid}.dl-list a{border-radius:var(--r-sm);height:100%;box-shadow:inset 0 0 0 1px var(--line-strong);transition:background-color var(--t-color) ease;background:#ffffffd1;gap:.15rem;padding:.9rem 1.1rem;text-decoration:none;display:grid}.dl-list a:hover{background:#fff}.dl-os{font-weight:500}.dl-meta{color:var(--muted)}.cta-note,.dl-meta{font-size:var(--step-small)}.cta-note{max-width:40rem;margin:var(--s2) auto 0;color:#464b48}.cta-note a{color:var(--ink);font-weight:500;text-decoration:underline}@media (max-width:760px){.dl-list{grid-template-columns:minmax(0,1fr)}}.site-footer{border-top:1px solid var(--line);font-size:var(--step-small);padding-block:clamp(3.5rem,2.5rem + 3vw,6rem) 2rem}.footer-cols{gap:var(--s3);grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));display:grid}.footer-cols h2{font-size:var(--step-small);color:var(--muted);margin-bottom:var(--s1);font-weight:400}.footer-cols ul{gap:.55rem;margin:0;padding:0;display:grid}.footer-cols a{font-weight:500;text-decoration:none}.footer-cols a:hover,.footer-line a:hover{text-decoration:underline}.footer-line{margin-top:var(--s4);padding-top:var(--s2);border-top:1px solid var(--line);justify-content:space-between;gap:var(--s1);color:var(--muted);flex-wrap:wrap;display:flex}.footer-line a{color:var(--ink);font-weight:500;text-decoration:none}@media (max-width:900px){.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1/-1}}[data-ui]{word-break:keep-all;text-align:left;--ui-bg:#fff;--ui-panel:#f7f7f5;--ui-line:#0b0d0c17;--ui-ink:#0b0d0c;--ui-muted:#646966;color:var(--ui-ink);font-size:.875rem;line-height:1.5}[data-ui] code{font-size:.8125rem}[data-ui] .win{background:var(--ui-bg);border:1px solid #0b0d0c1a;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0b0d0c0d,0 30px 60px -30px #0b0d0c2e}[data-ui] .win-bar{background:var(--ui-panel);border-bottom:1px solid var(--ui-line);align-items:center;gap:.5rem;padding:.55rem .9rem;display:flex}[data-ui] .dots{gap:6px;display:flex}[data-ui] .dots i{background:#dcdedb;border-radius:50%;width:11px;height:11px;display:block}[data-ui] .win-title{margin-left:.5rem;font-weight:500}[data-ui] .badge{align-items:center;gap:.4rem;margin-left:auto;display:inline-flex}[data-ui] .chip{border:1px solid var(--ui-line);white-space:nowrap;background:#fff;border-radius:999px;padding:.05rem .55rem;font-size:.75rem;display:inline-block}[data-ui] .chip-warn{background:#fff4da;border-color:#f0d9a2}[data-ui] .chip-go{background:#eef9d2;border-color:#cfe79a}[data-ui] .caret{background:var(--ui-ink);vertical-align:-.12em;width:.5em;height:1em;margin-left:2px;display:inline-block}[data-ui] .quad{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;min-height:22rem;display:grid}[data-ui] .quad .q{flex-direction:column;gap:.55rem;min-width:0;padding:.8rem .9rem;display:flex}[data-ui] .quad .q:nth-child(2n){border-left:1px solid var(--ui-line)}[data-ui] .quad .q:nth-child(n+3){border-top:1px solid var(--ui-line)}[data-ui] .quad .q.focused{box-shadow:inset 0 0 0 1px #0b0d0c73}[data-ui] .q-title{align-items:center;gap:.4rem;font-weight:500;display:flex}[data-ui] .q-title .chip{margin-left:auto}[data-ui] .q-line{color:var(--ui-muted)}[data-ui] .q-body{gap:.45rem;display:grid}@media (max-width:560px){[data-ui] .quad{grid-template-rows:none;grid-template-columns:1fr;min-height:0}[data-ui] .quad .q:nth-child(2n){border-left:0}[data-ui] .quad .q:nth-child(n+2){border-top:1px solid var(--ui-line)}}[data-ui] .sidebar{padding:.5rem}[data-ui] .side-tabs{gap:.25rem;padding:.4rem;display:flex}[data-ui] .side-tabs span{border-radius:999px;padding:.25rem .7rem}[data-ui] .side-tabs .on{background:var(--ui-ink);color:#fff}[data-ui] .side-group{color:var(--ui-muted);padding:.75rem .6rem .25rem;font-size:.8125rem}[data-ui] .row{border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}[data-ui] .row.on{background:#f0f1ee}[data-ui] .row.child{padding-left:1.6rem}[data-ui] .row .when{color:var(--ui-muted);white-space:nowrap;margin-left:auto;font-size:.8125rem}[data-ui] .row .dot{background:#3f8a17;border-radius:50%;flex:none;width:8px;height:8px}[data-ui] .row .ring{box-sizing:border-box;border:2px solid #b07d00;border-radius:50%;flex:none;width:8px;height:8px}[data-ui] .row .none{flex:none;width:8px}[data-ui] .install{gap:.75rem;padding:.9rem;display:grid}[data-ui] .install-file{text-overflow:ellipsis;white-space:nowrap;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:6px;justify-self:start;max-width:100%;padding:.15rem .5rem;overflow:hidden}[data-ui] .install ol{counter-reset:s;gap:.55rem;margin:0;padding:0;list-style:none;display:grid}[data-ui] .install li{counter-increment:s;grid-template-columns:1.4rem minmax(0,1fr);column-gap:.4rem;display:grid}[data-ui] .install li:before{content:counter(s);background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:50%;grid-row:1/span 2;place-items:center;width:1.25rem;height:1.25rem;font-size:.6875rem;font-weight:500;display:grid}[data-ui] .install li code{color:var(--ui-muted);overflow-wrap:anywhere;grid-column:2;font-size:.75rem}.page-hero>.frame{padding-block:clamp(3.5rem,2rem + 5vw,6.5rem) clamp(3rem,2rem + 3vw,5rem)}.os-cards{gap:var(--s3) clamp(1rem,2vw,1.5rem);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;display:grid}.os-card{gap:var(--s1);color:var(--muted);grid-template-rows:1fr auto auto;min-width:0;display:grid}.os-face{border-radius:var(--r-sm);background:radial-gradient(60% 70% at 20% 0,#c4f04a52,#0000 70%),radial-gradient(50% 60% at 90% 100%,#96d6be52,#0000 70%),#f3f5ef;padding:clamp(.75rem,2vw,1.25rem)}.os-actions{gap:var(--s1) var(--s2);flex-wrap:wrap;align-items:center;margin-top:.25rem;display:flex}@media (max-width:860px){.os-cards{grid-template-columns:minmax(0,1fr)}}.os-setup .head{margin-bottom:var(--s1)}.steps{counter-reset:step;margin:var(--s3) 0 0;gap:var(--s2);padding:0;display:grid}.steps>li{counter-increment:step;grid-template-columns:2rem minmax(0,1fr);align-items:baseline;gap:.6rem .85rem;display:grid}.steps>li:before{content:counter(step);background:var(--bg);width:1.75rem;height:1.75rem;box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:50%;grid-row:1;align-self:start;place-items:center;font-size:.8125rem;font-weight:500;display:grid}.steps>li>.copy-row,.steps>li>span{grid-column:2}.note{margin-top:var(--s2);color:var(--muted);font-size:var(--step-small)}.os-again{margin-top:var(--s3)}.copy-row{min-width:0;position:relative}.copy-row .codeblock{padding-right:5rem}.copy-btn{cursor:pointer;background:var(--bg);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong);transition:background-color var(--t-color) ease;border-radius:8px;padding:.3rem .65rem;font-size:.8125rem;font-weight:500;position:absolute;top:.5rem;right:.5rem}.copy-btn:hover{background:var(--band)}.doc-index{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;display:grid}.doc-index li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.doc-index a{height:100%;transition:background-color var(--t-color) ease;align-content:start;gap:.35rem;padding:clamp(1.25rem,2.5vw,1.75rem);text-decoration:none;display:grid}.doc-index a:hover{background:var(--band)}.doc-index .t{align-items:center;gap:.2rem;font-size:1.0625rem;font-weight:500;display:inline-flex}.doc-index .s{color:var(--muted)}@media (min-width:1100px){.doc-index{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.doc-index{grid-template-columns:minmax(0,1fr)}}.doc-layout{padding-block:clamp(2.5rem,2rem + 2vw,4rem) var(--sp-section);grid-template-columns:13rem minmax(0,1fr);column-gap:clamp(2rem,5vw,5rem);display:grid}.doc-nav{top:calc(var(--header) + 24px);font-size:var(--step-small);align-self:start;position:sticky}.doc-nav ol{gap:2px;margin:0;padding:0;display:grid}.doc-nav a{color:var(--muted);transition:background-color var(--t-color) ease,color var(--t-color) ease;border-radius:8px;padding:.4rem .65rem;text-decoration:none;display:block}.doc-nav a:hover{color:var(--ink);background:var(--band)}.doc-nav a[aria-current=page]{color:var(--ink);background:var(--track);font-weight:500}.doc-nav details summary{display:none}.doc-body{max-width:var(--measure);min-width:0}.doc-head{gap:var(--s1);padding-bottom:var(--s3);margin-bottom:var(--s3);border-bottom:1px solid var(--line);display:grid}.doc-body section+section{margin-top:var(--s4)}.doc-body h2{letter-spacing:-.01em;margin-bottom:var(--s1);scroll-margin-top:calc(var(--header) + 24px);font-size:1.5rem;font-weight:450;line-height:1.3}.doc-body dd,.doc-body li,.doc-body p{color:#2b302d;max-width:64ch}.doc-body .copy-row+p,.doc-body dl+p,.doc-body p+p,.doc-body ul+p{margin-top:var(--s2)}.doc-body dl{margin:var(--s2) 0 0;gap:var(--s1);display:grid}.doc-body dt{font-weight:500}.doc-body dd{margin:.1rem 0 0}.doc-body ul{margin:var(--s1) 0 0;gap:.4rem;padding-left:1.2em;list-style:outside;display:grid}.doc-body .copy-row{margin-top:var(--s2)}.doc-body :not(pre)>code{background:var(--band);box-shadow:inset 0 0 0 1px var(--line);overflow-wrap:anywhere;border-radius:6px;padding:.08em .35em;font-size:.875em}.doc-next{margin-top:var(--s4);gap:var(--s1);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.doc-next a{border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px var(--line-strong);transition:background-color var(--t-color) ease;gap:.15rem;padding:1rem 1.25rem;text-decoration:none;display:grid}.doc-next a:hover{background:var(--band)}.doc-next .dir{font-size:var(--step-small);color:var(--muted)}.doc-next .t{font-weight:500}.doc-next .to-next{text-align:right;grid-column:2}@media (max-width:900px){.doc-layout{grid-template-columns:minmax(0,1fr)}.doc-nav{margin-bottom:var(--s3);position:static}.doc-nav details summary{cursor:pointer;background:var(--band);border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px var(--line);padding:.75rem 1rem;font-weight:500;display:block}.doc-nav details ol{margin-top:.5rem}.doc-nav .desk-only{display:none}}@media (min-width:901px){.doc-nav details{display:none}}@media (max-width:560px){.doc-next{grid-template-columns:minmax(0,1fr)}.doc-next .to-next{grid-column:1}}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-1\/2{top:50%}.left-1\/2{left:50%}.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-1{margin-top:calc(var(--spacing) * -1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-full{width:100%;height:100%}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-11{min-height:calc(var(--spacing) * 11)}.w-\[12\.5rem\]{width:12.5rem}.w-\[15rem\]{width:15rem}.w-\[26rem\]{width:26rem}.w-\[80vw\]{width:80vw}.w-full{width:100%}.max-w-\[22rem\]{max-width:22rem}.max-w-\[26rem\]{max-width:26rem}.max-w-\[30rem\]{max-width:30rem}.max-w-\[34rem\]{max-width:34rem}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-y-1\/2{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-5{gap:calc(var(--spacing) * 5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[10px\]{border-radius:10px}.rounded-\[22px\]{border-radius:22px}.rounded-full{border-radius:3.40282e+38px}.rounded-xl{border-radius:var(--radius-xl)}.rounded-br-sm{border-bottom-right-radius:var(--radius-sm)}.border-black\/6{border-color:#0000000f}@supports (color:color-mix(in lab,red,red)){.border-black\/6{border-color:color-mix(in oklab,var(--color-black) 6%,transparent)}}.bg-\[\#f0f1ee\]{background-color:#f0f1ee}.bg-ink{background-color:var(--color-ink)}.bg-white{background-color:var(--color-white)}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:var(--spacing)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[0\.9375rem\]{font-size:.9375rem}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-ink{color:var(--color-ink)}.text-muted{color:var(--color-muted)}.text-white{color:var(--color-white)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.accent-ink{accent-color:var(--color-ink)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-\[0_0_0_10px_rgba\(196\,240\,74\,0\.35\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_10px_rgba\(196\,240\,74\,0\.35\)\]{--tw-shadow:0 0 0 10px var(--tw-shadow-color,#c4f04a59)}.ring,.ring-1{--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)}.ring-line{--tw-ring-color:var(--color-line)}.ring-line-strong{--tw-ring-color:var(--color-line-strong)}.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}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.hover\:bg-ink-soft:hover{background-color:var(--color-ink-soft)}.hover\:bg-white:hover{background-color:var(--color-white)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-3:focus-visible{outline-offset:3px}.focus-visible\:outline-focus:focus-visible{outline-color:var(--color-focus)}@media (prefers-reduced-motion:no-preference){.motion-safe\:transition-\[color\,background-color\,transform\]{transition-property:color,background-color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.motion-safe\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.motion-safe\:duration-150{--tw-duration:.15s;transition-duration:.15s}@media (hover:hover){.motion-safe\:group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}}.motion-safe\:active\:scale-\[0\.98\]:active{scale:.98}}@media not all and (min-width:64rem){.max-lg\:w-\[44vw\]{width:44vw}.max-lg\:w-\[80vw\]{width:80vw}.max-lg\:max-w-\[13\.5rem\]{max-width:13.5rem}.max-lg\:max-w-\[20rem\]{max-width:20rem}}@media (min-width:64rem){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:size-\[4\.5rem\]{width:4.5rem;height:4.5rem}}}@media (prefers-reduced-motion:no-preference){.js [data-rise]{animation:enter var(--t-enter) var(--ease) forwards;animation-delay:calc(var(--i,0) * 60ms + 80ms)}.js .hero-scene,.js [data-rise]{opacity:0;transform:translateY(12px)}.js .hero-scene{animation:enter var(--t-enter) var(--ease) .32s forwards}.js-ready [data-reveal]{opacity:0;transition:opacity var(--t-enter) var(--ease),transform var(--t-enter) var(--ease);transform:translateY(12px)}.js-ready [data-reveal].in{opacity:1;transform:none}.js-ready [data-reveal].in+[data-reveal].in{transition-delay:60ms}[data-ui] .caret{animation:blink 1s step-end infinite}.copy-btn{transition:background-color var(--t-color) ease,transform var(--t-press) var(--ease)}.copy-btn:active{transform:scale(.98)}}@keyframes enter{to{opacity:1;transform:none}}@keyframes blink{50%{opacity:0}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{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-duration{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}