:root{color-scheme:light;--surface: #f4f6f9;--surface-raised: #fbfcfd;--surface-sunken: #e9edf3;--text: #0c1424;--text-muted: #4a5568;--text-soft: #5f6b84;--line: #d3dae4;--line-strong: #9aa7b8;--line-field: #788599;--danger: #9b2c2c;--accent: #14336b;--accent-strong: #0d2450;--accent-soft: #dfe7f3;--accent-bright: #2f62c4;--on-accent: #f4f6f9;--panel-bg: #14336b;--panel-text: #f4f6f9;--panel-muted: #c0cde4;--panel-btn-bg: #f4f6f9;--panel-btn-text: #0d2450;--scrim: rgb(12 20 36 / .55);--shadow: 0 24px 60px rgb(20 51 107 / .16);--font-sans: "Inter Variable", "Inter Fallback", "Helvetica Neue", Arial, sans-serif;--font-mono: "IBM Plex Mono", "SF Mono", Menlo, Consolas, monospace;--w-regular: 400;--w-medium: 510;--w-semibold: 590;--track-tight: -.022em;--track-snug: -.012em;--track-body: -.011em;--t-mono: .8125rem;--t-small: .875rem;--t-body: 1rem;--t-lead: 1.125rem;--t-h3: 1.25rem;--t-h2: clamp(1.75rem, 1.2rem + 1.8vw, 2.5rem);--t-display: clamp(1.875rem, 1.15rem + 2.5vw, 2.875rem);--gap-1: .25rem;--gap-2: .5rem;--gap-3: .75rem;--gap-4: 1rem;--gap-5: 1.25rem;--gap-6: 1.5rem;--gap-8: 2rem;--gap-12: 3rem;--gap-16: 4rem;--gap-24: 6rem;--section: clamp(4rem, 3rem + 5vw, 7.5rem);--gutter: clamp(1.25rem, 4vw, 3rem);--nav-h: 68px;--radius-s: 6px;--radius-m: 12px;--ease: cubic-bezier(.16, 1, .3, 1);--dur-fast: .15s;--dur: .3s;--z-nav: 50}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations")}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0%;size-adjust:107.12%}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + var(--gap-6));text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-synthesis:none;caret-color:var(--accent);accent-color:var(--accent)}html:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}body{background:var(--surface);color:var(--text);font-family:var(--font-sans);font-feature-settings:"cv01","ss03";font-size:var(--t-body);line-height:1.6;letter-spacing:var(--track-body)}::selection{background:var(--accent);color:var(--on-accent)}h1,h2{font-weight:var(--w-medium);letter-spacing:var(--track-tight);line-height:1.15;text-wrap:balance}h1{font-size:var(--t-display)}h2{font-size:var(--t-h2)}h3{font-size:var(--t-h3);font-weight:var(--w-semibold);letter-spacing:var(--track-snug);line-height:1.33}p{max-width:65ch;text-wrap:pretty}strong{font-weight:var(--w-semibold)}em{font-style:normal;color:var(--accent)}.soft{color:var(--text-soft)}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}img,svg{max-width:100%;display:block}ul,ol{list-style:none}button{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;border:0;background:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.wrap{max-width:1280px;margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section)}.section--sunken{background:var(--surface-sunken)}.section:not(.section--sunken)+.section:not(.section--sunken){padding-top:0}.section__head{display:grid;gap:var(--gap-4);margin-bottom:var(--gap-12)}.section__head h2{max-width:26ch}.lead{font-size:var(--t-lead);line-height:1.55;color:var(--text-muted);max-width:58ch}.note{font-size:var(--t-small);color:var(--text-muted)}.mono{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:0;font-variant-numeric:tabular-nums}.tag{display:inline-block;font-family:var(--font-mono);font-size:var(--t-mono);font-weight:500;letter-spacing:0;line-height:1;padding:.4em .6em;border-radius:var(--radius-s);background:var(--accent-soft);color:var(--accent)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:0 var(--gap-6);border-radius:var(--radius-s);background:var(--accent);color:var(--on-accent);font-size:var(--t-body);font-weight:var(--w-medium);text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.btn:hover{background:var(--accent-strong)}.btn:active{transform:translateY(1px)}.btn--small{min-height:2.5rem;padding:0 var(--gap-4);font-size:var(--t-small)}.link-arrow{display:inline-flex;align-items:baseline;gap:var(--gap-2);font-weight:var(--w-medium);color:var(--accent);text-decoration:none}.link-arrow:after{content:"→";transition:transform var(--dur-fast) var(--ease)}.link-arrow:hover{text-decoration:underline}.link-arrow:hover:after{transform:translate(3px)}.hero__sub{margin-top:var(--gap-6);font-size:var(--t-lead);line-height:1.55;color:var(--text-muted);max-width:42ch}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap-4) var(--gap-8);margin-top:var(--gap-8)}.table{width:100%;border:1px solid var(--line);border-radius:var(--radius-m);border-collapse:separate;border-spacing:0;background:var(--surface-raised);text-align:left}.table th,.table td{padding:var(--gap-4) var(--gap-6);vertical-align:top}.table thead th{padding-block:var(--gap-3);font-size:var(--t-mono);font-weight:var(--w-medium);color:var(--text-muted)}.table tbody tr>*{border-top:1px solid var(--line)}.table tbody th{font-weight:var(--w-medium)}.table:not(:has(thead)) tbody tr:first-child>*{border-top:0}.table__code{width:1%;padding-right:0;font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:0;color:var(--text-muted);white-space:nowrap}.table__detail{display:block;margin-top:var(--gap-1);font-size:var(--t-small);font-weight:var(--w-regular);color:var(--text-muted);max-width:68ch}.table__num{width:1%;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.table caption{padding-bottom:var(--gap-3);font-size:var(--t-small);font-weight:var(--w-medium);text-align:left}.table--compact{font-size:.9375rem}.table--compact th,.table--compact td{padding:var(--gap-3) var(--gap-4)}.table--compact .table__detail{font-size:var(--t-mono);line-height:1.5}@media(max-width:599px){.table th,.table td{padding:var(--gap-3) var(--gap-4)}}.rows{border-top:1px solid var(--line-strong)}.rows__item{display:grid;gap:var(--gap-2);padding-block:var(--gap-6);border-bottom:1px solid var(--line)}.rows__item dt{font-size:var(--t-h3);font-weight:var(--w-semibold);letter-spacing:var(--track-snug);line-height:1.33}.rows__item dd{color:var(--text-muted)}@media(min-width:800px){.rows__item{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--gap-12)}}.brand-mark{display:block;aspect-ratio:512 / 274;background:currentColor;-webkit-mask:url(../brand/avila-mark.svg) center / contain no-repeat;mask:url(../brand/avila-mark.svg) center / contain no-repeat}@keyframes rise-in{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}[data-component=nav]{position:sticky;top:0;z-index:var(--z-nav);min-height:calc(var(--nav-h) + 1px)}.skip-link{position:absolute;top:var(--gap-3);left:var(--gutter);z-index:1;padding:var(--gap-2) var(--gap-4);border-radius:var(--radius-s);background:var(--accent);color:var(--on-accent);font-size:var(--t-small);font-weight:var(--w-medium);text-decoration:none;transform:translateY(-300%)}.skip-link:focus{transform:none}.nav{position:relative;background:var(--surface);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-6);height:var(--nav-h)}.logo{display:inline-flex;align-items:center;gap:var(--gap-3);font-size:1.1875rem;font-weight:var(--w-semibold);letter-spacing:-.022em;text-decoration:none;color:var(--accent)}.logo .brand-mark{width:2.75rem}.logo__name{color:var(--text)}.logo__name span{color:var(--accent-bright)}.nav__links{display:flex;align-items:center;gap:var(--gap-8)}.nav__link{font-size:var(--t-small);font-weight:var(--w-medium);color:var(--text-muted);text-decoration:none;transition:color var(--dur-fast) var(--ease)}.nav__link:hover,.nav__link--active{color:var(--text)}.nav__toggle{display:none;width:2.75rem;height:2.75rem;margin-right:calc(var(--gap-2) * -1);border-radius:var(--radius-s)}.nav__toggle span{display:block;width:1.375rem;height:2px;margin:5px auto;background:var(--text);transition:transform var(--dur) var(--ease)}.nav__toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav__toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}@media(max-width:1000px){.nav__toggle{display:block}.nav__links{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:var(--gap-2) var(--gutter) var(--gap-6);background:var(--surface);border-bottom:1px solid var(--line)}.nav__links--open{display:flex}.nav__link{padding:var(--gap-4) 0;font-size:var(--t-body);border-bottom:1px solid var(--line)}.nav__links .btn{margin-top:var(--gap-6)}}.page-hero{padding-block:clamp(2.5rem,1.5rem + 4vw,5rem) var(--section)}.page-hero__grid{display:grid;gap:var(--gap-12);align-items:end}.page-hero h1{max-width:20ch}.toc{padding:var(--gap-6) var(--gap-8);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface-raised)}.toc h2{margin-bottom:var(--gap-2);font-size:var(--t-small);letter-spacing:0;color:var(--text-muted)}.toc a{display:block;padding-block:var(--gap-3);font-weight:var(--w-medium);text-decoration:none;transition:color var(--dur-fast) var(--ease)}.toc li+li a{border-top:1px solid var(--line)}.toc a:hover{color:var(--accent)}@media(min-width:900px){.page-hero__grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--gap-16)}}.compare{width:100%;margin-bottom:var(--gap-6);border-collapse:collapse;text-align:left}.compare th,.compare td{padding:var(--gap-4) var(--gap-6);vertical-align:top}.compare thead th{font-size:var(--t-small);font-weight:var(--w-semibold);color:var(--text-muted)}.compare tbody tr+tr{border-top:1px solid var(--line)}.compare tbody th{font-weight:var(--w-medium)}.compare td:last-child{color:var(--text-muted)}.compare th:nth-child(2),.compare td:nth-child(2){background:var(--accent-soft);font-weight:var(--w-semibold);color:var(--accent)}.compare thead th:nth-child(2){border-radius:var(--radius-m) var(--radius-m) 0 0}.compare tbody tr:last-child td:nth-child(2){border-radius:0 0 var(--radius-m) var(--radius-m)}@media(max-width:699px){.compare thead{display:none}.compare tbody tr{display:grid;gap:var(--gap-2);padding-block:var(--gap-6)}.compare th,.compare td{padding:0}.compare td{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:var(--gap-4);font-size:var(--t-small)}.compare td:before{content:attr(data-label);font-weight:var(--w-medium);color:var(--text-muted)}.compare td:nth-child(2){padding:var(--gap-2) var(--gap-3);margin-inline:calc(var(--gap-3) * -1);border-radius:var(--radius-s)}.compare tbody tr:last-child td:nth-child(2){border-radius:var(--radius-s)}}.callout{display:grid;gap:var(--gap-3);max-width:44rem;margin-top:var(--gap-12);padding:var(--gap-8);border-radius:var(--radius-m);background:var(--surface)}.releases{width:100%;margin-bottom:var(--gap-6);border-collapse:collapse;text-align:left}.releases th,.releases td{padding:var(--gap-6) var(--gap-4);vertical-align:top}.releases thead th{padding-block:var(--gap-3);font-size:var(--t-small);font-weight:var(--w-semibold);color:var(--text-muted)}.releases tbody tr{border-top:1px solid var(--line)}.releases__id{width:4.5rem}.releases__key .tag{background:var(--accent);color:var(--on-accent)}.releases__scope strong{display:block}.releases__scope strong em{margin-left:var(--gap-2);font-size:var(--t-small)}.releases__scope span{display:block;margin-top:var(--gap-1);font-size:var(--t-small);color:var(--text-muted);max-width:62ch}.releases__time,.releases thead th:last-child{width:9rem;text-align:right;white-space:nowrap}.releases__time{font-weight:var(--w-medium)}@media(max-width:699px){.releases thead{display:none}.releases tr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--gap-2) var(--gap-4);align-items:start;padding-block:var(--gap-6)}.releases th,.releases td{padding:0;width:auto}.releases__scope,.releases__time{grid-column:2;text-align:left}}.steps{display:grid;gap:var(--gap-8) var(--gap-6)}.steps__item{display:grid;align-content:start;gap:var(--gap-3);padding-top:var(--gap-4);border-top:2px solid var(--line-strong)}.steps__item--first{border-top-color:var(--accent)}.steps__item p{color:var(--text-muted)}@media(min-width:600px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1000px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}.cta{padding-bottom:var(--section)}.section--sunken+.cta{padding-top:var(--section)}.cta__panel{display:grid;justify-items:start;gap:var(--gap-6);padding:clamp(2rem,1rem + 5vw,5rem);border-radius:var(--radius-m);background:var(--panel-bg);color:var(--panel-text)}.cta__head{max-width:20ch}.cta__sub{color:var(--panel-muted);max-width:52ch}.cta .btn{margin-top:var(--gap-2);background:var(--panel-btn-bg);color:var(--panel-btn-text)}.cta .btn:hover{background:color-mix(in srgb,var(--panel-btn-bg) 88%,var(--panel-bg))}.cta .btn:focus-visible{outline-color:var(--panel-btn-bg)}.dock{display:none}@media(max-width:760px){.dock{display:block;position:sticky;bottom:0;z-index:40;height:0}.dock__bar{position:absolute;right:0;bottom:0;left:0;padding:var(--gap-3) var(--gutter) calc(var(--gap-3) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);opacity:0;visibility:hidden;transform:translateY(100%);transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease),visibility 0s linear var(--dur)}.dock--on .dock__bar{opacity:1;visibility:visible;transform:none;transition-delay:0s}.dock .btn{width:100%}}.footer{padding:var(--gap-16) 0 var(--gap-8);border-top:1px solid var(--line)}.footer__top{display:grid;gap:var(--gap-12);margin-bottom:var(--gap-12)}@media(min-width:760px){.footer__top{grid-template-columns:2fr 1fr 1fr 1fr}}.footer__tag{margin-top:var(--gap-4);font-size:var(--t-small);color:var(--text-muted);max-width:36ch}.footer__col h2{font-size:var(--t-small);font-weight:var(--w-semibold);letter-spacing:0;margin-bottom:var(--gap-4)}.footer__col ul{display:grid;gap:var(--gap-3)}.footer__col a{font-size:var(--t-small);color:var(--text-muted);text-decoration:none;transition:color var(--dur-fast) var(--ease)}.footer__col a:hover{color:var(--accent);text-decoration:underline}.footer__bottom{display:grid;gap:var(--gap-2);padding-top:var(--gap-6);border-top:1px solid var(--line);font-size:var(--t-small);color:var(--text-muted)}.footer__bottom p{max-width:90ch}.modal{width:min(92vw,34rem);max-height:94dvh;margin:auto;padding:var(--gap-6) var(--gap-8) var(--gap-8);overflow-y:auto;border:0;border-radius:var(--radius-m);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow)}.modal::backdrop{background:var(--scrim)}@media(forced-colors:active){.modal{border:1px solid CanvasText}}@media(prefers-reduced-motion:no-preference){.modal[open]{animation:rise-in var(--dur) var(--ease)}}.modal__close{position:absolute;top:var(--gap-3);right:var(--gap-3);width:2.75rem;height:2.75rem;border-radius:var(--radius-s);font-size:1.5rem;line-height:1;color:var(--text-muted);transition:color var(--dur-fast) var(--ease)}.modal__close:hover{color:var(--text)}.modal__title{font-size:1.625rem;padding-right:var(--gap-8);margin-bottom:var(--gap-2)}.modal__subtitle{font-size:var(--t-small);color:var(--text-muted);margin-bottom:var(--gap-5)}.modal__form{display:grid;gap:var(--gap-5) var(--gap-4)}.field{display:grid;align-content:start;gap:var(--gap-2)}@media(min-width:560px){.modal__form{grid-template-columns:repeat(2,minmax(0,1fr))}.modal__form>*{grid-column:1 / -1}.modal__form>.field--half{grid-column:auto}}.field__label{font-size:var(--t-small);font-weight:var(--w-semibold)}.field__input{width:100%;min-height:3rem;padding:var(--gap-3);border:1px solid var(--line-field);border-radius:var(--radius-s);background:var(--surface);color:var(--text);font:inherit;transition:border-color var(--dur-fast) var(--ease)}.field__input::placeholder{color:var(--text-soft);opacity:1}.field__input:hover{border-color:var(--text-muted)}.field__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}textarea.field__input{min-height:4.5rem;resize:vertical}select.field__input{-webkit-appearance:none;appearance:none;padding-right:var(--gap-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%234a5568' stroke-width='1.5'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--gap-3) center;background-size:.75rem}.field__help,.field__error{font-size:var(--t-small);color:var(--text-muted)}.field__error{display:none;font-weight:var(--w-medium);color:var(--danger)}.field__input:user-invalid{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.field__input:user-invalid~.field__error{display:block}.field__input:user-invalid~.field__help{display:none}.modal__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap-2) var(--gap-6)}.modal__link{min-height:2.75rem;font-size:var(--t-small);font-weight:var(--w-medium);color:var(--text-muted);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;transition:color var(--dur-fast) var(--ease)}.modal__link:hover{color:var(--text)}.modal__done{display:grid;gap:var(--gap-4)}.modal__step:focus{outline:none}.modal__copy{min-height:10rem;font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:0;line-height:1.6}.modal__status{min-height:1.6em;font-size:var(--t-small);font-weight:var(--w-medium)}
