:root{--bg:#f4f6fa;--card:#fff;--ink:#10141c;--ink-2:#3f4858;--accent:#1d4ed8;--accent-contrast:#fff;--highlight:#a5d8ff;--hl-ink:#10141c;--line:#10141c;--caret:#ffb224;--band-bg:#10141c;--band-ink:#e8ecf4;--ok:#1a7f4b;--danger:#c02626;--ok-bg:#86efac;--danger-bg:#fca5a5;--warn-ink:#8a5a00;--intent-timing:#2e9e6b;--intent-compare:#8b5cf6;--intent-howto:#0ea5b7;--intent-signs:#d97706;--border-w:2px;--radius-card:12px;--radius-img:8px;--shadow:4px 4px 0 var(--line);--shadow-lg:6px 6px 0 var(--line);--frame-w:min(1200px, 100% - 2.5rem);--measure:100%;--read-w:42rem;--btn-primary-bg:var(--accent);--btn-primary-ink:var(--accent-contrast);--side-w:23rem;--rail-w:11.25rem;--lede-w:40rem;--gutter:3rem;--space-section:3.5rem;--space-label:.5rem;--space-head:1.25rem;--h1-page:clamp(2.25rem, 5vw, 3.1rem);--h-section:clamp(1.5rem, 3vw, 1.85rem);--rule:1px solid var(--line);--rule-soft:1px solid color-mix(in srgb, var(--line) 28%, transparent);--dur-fast:.14s;--dur-med:.24s;--dur-slow:.6s;--ease-out:cubic-bezier(.22, 1, .36, 1)}@media (width<=640px){:root{--space-section:2.5rem;--space-head:1rem;--h-section:1.5rem;--h1-page:2.15rem}}:root[data-theme=dark]{--bg:#0f1526;--card:#171f33;--band-bg:#05070d;--ink:#e8ecf4;--ink-2:#b3bdd0;--btn-primary-bg:#3366e0;--btn-primary-ink:#fff;--accent:#7aa7ff;--accent-contrast:#0f1526;--line:#a8b3c7;--ok:#4ade80;--danger:#f87171;--warn-ink:#ffb224}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{font-family:var(--font-atkinson);background-color:var(--bg);color:var(--ink);word-wrap:break-word;overflow-wrap:break-word;text-align:left;flex-direction:column;min-height:100dvh;margin:0;padding:0;font-size:1.0625rem;line-height:1.7;display:flex}.theme-transition,.theme-transition *{transition:background-color var(--dur-med) ease, color var(--dur-med) ease, border-color var(--dur-med) ease!important}:root[data-theme-anim]::view-transition-old(root),:root[data-theme-anim]::view-transition-new(root){mix-blend-mode:normal;animation:none}:root[data-theme-anim]::view-transition-old(root){z-index:1}:root[data-theme-anim] *{view-transition-name:none!important}:root:not([data-theme-anim])::view-transition-old(root){animation:90ms cubic-bezier(.4,0,1,1) both page-out}:root:not([data-theme-anim])::view-transition-new(root){animation:.16s cubic-bezier(0,0,.2,1) 90ms both page-in}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0}}:root[data-theme-anim]::view-transition-new(root){z-index:2;mask-image:linear-gradient(#000 calc(100% - 7rem),#0000);mask-size:100% calc(100% + 7rem);mask-repeat:no-repeat}main{width:var(--frame-w);flex:1 0 auto;margin:0 auto;padding:2rem 0 4rem}main#article{--frame-w:min(1080px, 100% - 2.5rem)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--ink);text-wrap:balance;margin:0 0 .6em;font-weight:700;line-height:1.15}h1{font-size:clamp(2.25rem,5.5vw,3.3rem);font-weight:800}h2{font-size:clamp(1.6rem,3.6vw,2.1rem)}h3{font-size:1.25rem}h4{font-size:1.05rem}p{margin:0 0 1em}strong,b{font-weight:700}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:2px}img{border-radius:var(--radius-img);max-width:100%;height:auto}table{border-collapse:collapse;width:100%}th,td{border:1px solid var(--line);text-align:left;padding:.5em .75em}code{font-family:var(--font-mono);background-color:var(--card);border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-size:.9em}pre{border:var(--border-w) solid var(--line);border-radius:var(--radius-img);padding:1.25em;overflow-x:auto}pre>code{all:unset;font-family:var(--font-mono);font-size:.85em}blockquote{border-left:4px solid var(--ink);color:var(--ink-2);margin:1.5em 0;padding:.25em 0 .25em 1.25rem;font-size:1.05em}hr{border:none;border-top:1px solid var(--line);margin:3rem 0}:where(main) :where(p,li,dd,td,figcaption,blockquote)>a:where(:not([class])){background-image:linear-gradient(var(--highlight), var(--highlight));box-decoration-break:clone;transition:background-size var(--dur-med) var(--ease-out), color var(--dur-med) var(--ease-out);background-repeat:no-repeat;background-size:0% 100%;border-radius:2px;margin:0 -.14em;padding:.06em .14em}:where(main) :where(p,li,dd,td,figcaption,blockquote)>a:where(:not([class])):focus-visible{color:var(--hl-ink);background-size:100% 100%}@media (hover:hover){:where(main) :where(p,li,dd,td,figcaption,blockquote)>a:where(:not([class])):hover{color:var(--hl-ink);background-size:100% 100%}}:where(main) :where(p,li,dd,td,figcaption,blockquote)>a:where(:not([class]))[href^=http]:where(:not([href*=cydelavega\.com])):after{content:"↗";content:"↗" / "";font-family:var(--font-mono);margin-left:.2em;font-size:.9em;display:inline-block}.arrow{transition:transform var(--dur-fast) ease;display:inline-block}a:is(:hover,:focus-visible) .arrow{transform:translate(3px)}::selection,::target-text{background:var(--highlight);color:var(--hl-ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}.mono-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2);font-size:.8rem;font-weight:700}.prompt{color:var(--accent);margin-right:.5em}.status-line{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2);align-items:center;gap:.6em;margin:0 0 .5rem;font-size:.7rem;font-weight:700;line-height:1.25rem;display:flex}.status-line:before{content:"";background:var(--ink);width:.55em;height:.55em}.hl{background-image:linear-gradient(var(--highlight), var(--highlight));color:var(--hl-ink);box-decoration-break:clone;background-position:0 0;background-repeat:no-repeat;background-size:100% 100%;border-radius:2px;padding:.06em .18em}mark{background:var(--highlight);color:var(--hl-ink);border-radius:2px;padding:.06em .18em}.hl-swipe{animation:hl-swipe var(--dur-slow) var(--ease-out) var(--dur-med) both}@keyframes hl-swipe{0%{color:var(--ink);background-size:0% 100%}to{color:var(--hl-ink);background-size:100% 100%}}.card{background:var(--card);border:var(--border-w) solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:1.5rem}.lift{transition:transform var(--dur-fast) ease, box-shadow var(--dur-fast) ease}.lift.lift:focus-visible{box-shadow:var(--lift-x,6px) var(--lift-y,6px) 0 var(--line);transform:translate(-2px,-2px)}@media (hover:hover){.lift.lift:hover{box-shadow:var(--lift-x,6px) var(--lift-y,6px) 0 var(--line);transform:translate(-2px,-2px)}}.lift.lift:active{box-shadow:none;transform:translate(0)}[data-track]{position:relative}@media (hover:hover) and (pointer:fine){[data-track]:after{content:"";pointer-events:none;background:radial-gradient(30rem circle at var(--lift-mx,50%) var(--lift-my,0%), color-mix(in srgb, var(--highlight) 8%, transparent), transparent 100%);opacity:0;transition:opacity var(--dur-fast) ease;position:absolute;inset:0}[data-track]:hover:after{opacity:1}}[data-track] .mono-label>:first-child{background-image:linear-gradient(var(--highlight), var(--highlight));transition:background-size var(--dur-med) var(--ease-out), color var(--dur-med) var(--ease-out);background-repeat:no-repeat;background-size:0% 100%;border-radius:2px;margin:-.1em -.35em;padding:.1em .35em}[data-track]:focus-visible .mono-label>:first-child{color:var(--hl-ink);background-size:100% 100%}@media (hover:hover){[data-track]:hover .mono-label>:first-child{color:var(--hl-ink);background-size:100% 100%}}.btn{font-family:var(--font-display);border:var(--border-w) solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;box-shadow:var(--shadow);transition:transform var(--dur-fast) ease, box-shadow var(--dur-fast) ease;border-radius:999px;padding:.85em 1.5em;font-size:1rem;font-weight:700;line-height:1;text-decoration:none;display:inline-block}.btn:hover,.btn:focus-visible{box-shadow:var(--shadow-lg);transform:translate(-2px,-2px)}.btn{position:relative}.btn:before{content:"";border-radius:inherit;position:absolute;inset:-9px -2px -2px -9px}.btn:active{box-shadow:none;transform:translate(4px,4px)}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-ink)}.rise{animation:enter var(--dur-med) var(--ease-out) backwards}@keyframes enter{0%{opacity:0;transform:translateY(10px)}}.js .reveal{opacity:0}.js:not(.reveal-ready) .reveal{animation:1ms linear 2s forwards reveal-failsafe}@keyframes reveal-failsafe{to{opacity:1}}.js .reveal:focus-within{opacity:1;animation:none}.js .reveal.in-view{opacity:1;animation:enter var(--dur-med) var(--ease-out) calc(min(var(--i,0), 6) * 60ms) backwards}.roll{vertical-align:top;display:inline-flex}.roll-cell{text-align:center;height:1lh;display:block;overflow:hidden}.roll-strip{transition:transform var(--dur-slow) var(--ease-out) calc(var(--i,0) * 60ms);display:block}.roll-strip>span{height:1lh;display:block}.roll.is-rolling .roll-strip{transform:translateY(calc(var(--n,0) * -100% / (var(--n,0) + 1)))}.band{background:var(--band-bg);color:var(--band-ink);border-top:var(--border-w) solid var(--line);border-bottom:var(--border-w) solid var(--line)}.band h2,.band h3{color:var(--band-ink)}.band :focus-visible{outline-color:var(--highlight)}.page-head{margin:0 0 var(--space-section)}.page-head>.mono-label{margin:0 0 var(--space-label)}.page-head h1{font-size:var(--h1-page);margin:0 0 1rem}.page-head .intro{max-width:var(--lede-w);color:var(--ink-2);margin:0 0 1em}.page-head>:last-child{margin-bottom:0}.page-section{margin-top:var(--space-section);padding-top:var(--space-section);border-top:var(--rule)}.page-section>.mono-label:first-child{margin:0 0 var(--space-label)}.page-section>h2,.page-section>.section-title{font-size:var(--h-section);margin:0 0 var(--space-head)}.attr-line{font-family:var(--font-mono);color:var(--ink-2);flex-wrap:wrap;gap:.25rem 1.25rem;margin:.6rem 0 0;font-size:.8rem;line-height:1.5;display:flex}.attr-line>div{align-items:baseline;gap:.5em;min-width:0;display:flex}.attr-line dt{text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;flex:none;font-weight:700}.attr-line dd{min-width:0;color:var(--ink);margin:0}@media (width<=767px){.addr-phone-none{display:none}}.read-col{max-width:var(--read-w)}.cols{grid-template-columns:minmax(0, var(--read-w)) var(--side-w);justify-content:space-between;column-gap:var(--gutter);align-items:start;display:grid}@media (width<=1000px){.cols{grid-template-columns:minmax(0,1fr)}}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.sr-only{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.js .reveal,.js .reveal.in-view{opacity:1;animation:none}}@media print{.js .reveal,.js .reveal.in-view{opacity:1;animation:none}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}footer[data-astro-cid-jo6i4kqk]{border-bottom:none;margin-top:0;padding:2.5rem 0 2rem}.inner[data-astro-cid-jo6i4kqk]{width:var(--frame-w);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;margin:0 auto;display:flex}.footer-logo[data-astro-cid-jo6i4kqk]{width:auto;height:34px;margin:0 0 .6rem;display:block}.name[data-astro-cid-jo6i4kqk]{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.3rem;font-weight:800}.role[data-astro-cid-jo6i4kqk]{color:color-mix(in srgb, var(--band-ink) 70%, transparent);margin:0}.based[data-astro-cid-jo6i4kqk]{color:color-mix(in srgb, var(--band-ink) 75%, transparent);margin:.25rem 0 0}.links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:1.25rem;display:flex}.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-width:44px;min-height:44px;color:var(--band-ink);font-family:var(--font-display);justify-content:center;align-items:center;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover,.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:focus-visible{background:var(--highlight);color:var(--hl-ink);border-radius:2px}.copyright[data-astro-cid-jo6i4kqk]{width:var(--frame-w);font-family:var(--font-mono);color:color-mix(in srgb, var(--band-ink) 75%, transparent);margin:2rem auto 0;font-size:.8rem}.site-dots{--sd-ink:color-mix(in srgb, var(--line) calc(var(--sd-alpha) * 100%), transparent);--sd-clear:.5rem;--sd-fade:3rem;z-index:-1;pointer-events:none;background-image:radial-gradient(circle, var(--sd-ink) 0, var(--sd-ink) var(--sd-size), transparent calc(var(--sd-size) + .6px));background-size:var(--sd-gap) var(--sd-gap);--sd-mask:linear-gradient(to right, #000 0, #000 calc(50% - var(--frame-w) / 2 - var(--sd-clear) - var(--sd-fade)), transparent calc(50% - var(--frame-w) / 2 - var(--sd-clear)), transparent calc(50% + var(--frame-w) / 2 + var(--sd-clear)), #000 calc(50% + var(--frame-w) / 2 + var(--sd-clear) + var(--sd-fade)), #000 100%);-webkit-mask-image:var(--sd-mask);mask-image:var(--sd-mask);display:none;position:fixed;inset:0}@media (width>=1241px){.site-dots{display:block}}@media print{.site-dots{display:none}}a[data-astro-cid-evkijfd6]{text-decoration:none;display:inline-block}a[data-astro-cid-evkijfd6].active{font-weight:bolder;text-decoration:underline}button[data-astro-cid-l6lhmie6]{border:var(--border-w) solid var(--line);background:var(--card);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;transition:transform var(--dur-fast) ease, box-shadow var(--dur-fast) ease;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}button[data-astro-cid-l6lhmie6]:hover,button[data-astro-cid-l6lhmie6]:focus-visible{box-shadow:3px 3px 0 var(--line);transform:translate(-1px,-1px)}button[data-astro-cid-l6lhmie6]:active{box-shadow:none;transform:translate(0)}.icon-moon[data-astro-cid-l6lhmie6]{display:none}[data-theme=dark] .icon-moon[data-astro-cid-l6lhmie6]{display:block}[data-theme=dark] .icon-sun[data-astro-cid-l6lhmie6]{display:none}.skip-link[data-astro-cid-nen7h5rs]{z-index:200;position:absolute;top:0;left:-9999px}.skip-link[data-astro-cid-nen7h5rs]:focus-visible{background:var(--card);color:var(--ink);border:var(--border-w) solid var(--line);border-radius:var(--radius-img);font-family:var(--font-display);padding:.5em 1em;font-weight:600;text-decoration:none;top:.75rem;left:.75rem}header[data-astro-cid-nen7h5rs]{z-index:50;background:var(--bg);border-bottom:var(--border-w) solid var(--line);view-transition-name:site-header;position:sticky;top:0}nav[data-astro-cid-nen7h5rs]{width:var(--frame-w);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:.7rem 0;display:flex}.brand[data-astro-cid-nen7h5rs]{border-radius:4px;flex-shrink:0;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.brand-logo[data-astro-cid-nen7h5rs]{width:auto;height:30px;transition:opacity var(--dur-fast) ease;display:block}.brand[data-astro-cid-nen7h5rs]:hover .brand-logo[data-astro-cid-nen7h5rs],.brand[data-astro-cid-nen7h5rs]:focus-visible .brand-logo[data-astro-cid-nen7h5rs]{opacity:.72}.brand-logo--dark[data-astro-cid-nen7h5rs],[data-theme=dark] .brand-logo--light[data-astro-cid-nen7h5rs]{display:none}[data-theme=dark] .brand-logo--dark[data-astro-cid-nen7h5rs]{display:block}.internal-links[data-astro-cid-nen7h5rs]{gap:.25rem;display:flex}.internal-links[data-astro-cid-nen7h5rs] a{min-height:44px;font-family:var(--font-display);color:var(--ink);border-radius:2px;align-items:center;padding:.35em .6em;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.internal-links[data-astro-cid-nen7h5rs] a:hover,.internal-links[data-astro-cid-nen7h5rs] a:focus-visible,.internal-links[data-astro-cid-nen7h5rs] a.active{background:var(--highlight);color:var(--hl-ink)}.actions[data-astro-cid-nen7h5rs]{align-items:center;gap:.75rem;display:flex}.contact-btn[data-astro-cid-nen7h5rs]{padding:.65em 1.2em;font-size:.9rem}@media (width<=640px){.contact-btn[data-astro-cid-nen7h5rs]{display:none}}@media (width<=480px){nav[data-astro-cid-nen7h5rs]{gap:.5rem}.internal-links[data-astro-cid-nen7h5rs]{gap:0}.internal-links[data-astro-cid-nen7h5rs] a{padding:.35em .45em}}@media (width<=400px){.internal-links[data-astro-cid-nen7h5rs] a{padding:.35em;font-size:.88rem}}@media (pointer:coarse){.brand[data-astro-cid-nen7h5rs]{min-height:44px}}
