.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{color-scheme:dark;--background: #10100f;--foreground: #f5eee7;--surface: #171311;--surface-strong: #24160f;--muted: #c7bdb4;--muted-2: #8f847b;--accent: #ff6600;--accent-soft: rgba(255, 102, 0, .13);--accent-border: rgba(255, 102, 0, .72);--border: rgba(255, 102, 0, .42);--line: rgba(255, 102, 0, .86);--focus: #ff6600;--shadow: 0 22px 50px rgba(0, 0, 0, .38);--content-width: 920px;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1)}html[data-theme=light]{color-scheme:light;--background: #fbf7f1;--foreground: #1d1713;--surface: #fffaf4;--surface-strong: #f4eadf;--muted: #5f544c;--muted-2: #7d7168;--accent: #006cac;--accent-soft: rgba(0, 108, 172, .11);--accent-border: rgba(0, 108, 172, .52);--border: rgba(0, 108, 172, .34);--line: rgba(0, 108, 172, .8);--focus: #006cac;--shadow: 0 22px 55px rgba(32, 43, 54, .14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-atkinson),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;font-weight:600;line-height:1.72;letter-spacing:-.018em;word-break:keep-all;overflow-wrap:break-word;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 15% 0%,var(--accent-soft),transparent 28rem),linear-gradient(180deg,rgba(255,255,255,.015),transparent 22rem);opacity:.68}main{width:min(100% - 2rem,var(--content-width));min-height:calc(100vh - 15rem);margin:0 auto;padding:2.35rem 0 3rem}a{color:var(--foreground);text-decoration-color:currentColor;text-decoration-thickness:1.5px;text-underline-offset:.2em;transition:color var(--default-transition-duration) var(--default-transition-timing-function),border-color var(--default-transition-duration) var(--default-transition-timing-function),background-color var(--default-transition-duration) var(--default-transition-timing-function),transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px dashed var(--focus);outline-offset:3px}button,input{font:inherit}h1,h2,h3,h4{color:var(--foreground);line-height:1.08;letter-spacing:-.055em;margin:0 0 .85rem}h1{font-size:clamp(2.15rem,6vw,3.55rem)}h2{font-size:clamp(1.55rem,3vw,2.2rem)}h3{font-size:1.35rem}p{margin:0 0 1rem}img{max-width:100%;height:auto;border-radius:14px}code{background:var(--surface-strong);color:var(--accent);border:1px solid color-mix(in srgb,var(--border),transparent 35%);border-radius:6px;padding:.12rem .34rem}pre{padding:1rem;overflow-x:auto;border-radius:14px;border:1px solid var(--border);background:var(--surface)}pre>code{background:transparent;color:inherit;border:0;padding:0}blockquote{margin:1.75rem 0;padding:.35rem 0 .35rem 1.2rem;border-left:4px solid var(--accent);color:var(--muted);font-style:italic}hr,.section-divider{border:0;border-top:1px solid var(--line);margin:3rem 0}::selection{background:#fff200;color:#14110f}@keyframes page-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes page-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}::view-transition-old(root){animation:page-fade-out .18s var(--ease-out) both}::view-transition-new(root){animation:page-fade-in .24s var(--ease-out) both}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow,.breadcrumb{color:var(--muted);font-size:.98rem;margin:0 0 .25rem}.lead{max-width:760px;color:var(--foreground);font-size:1.08rem;font-style:italic}.prose{max-width:100%;font-size:1.05rem}.prose p,.prose ul,.prose ol{color:var(--foreground)}.prose li{margin-bottom:.55rem}.prose li::marker{color:var(--accent)}.prose h2,.prose h3{margin-top:3rem}.prose h2{padding-top:2rem;border-top:1px solid var(--line)}.prose a{font-weight:800;text-decoration-style:dashed}.tag-pill{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);border-radius:999px;background:var(--accent-soft);color:var(--accent);padding:.25rem .62rem;font-size:.86rem;line-height:1.2;text-decoration:none}.tag-pill:hover{background:var(--accent);color:var(--background);transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}@media(max-width:720px){body{font-size:16px}main{width:min(100% - 1.35rem,var(--content-width));padding-top:1.5rem}}footer[data-astro-cid-sz7xmlte]{width:min(100% - 2rem,var(--content-width));margin:2rem auto 0;padding:1.55rem 0 2rem;border-top:1px solid var(--line);color:var(--foreground);display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:800}p[data-astro-cid-sz7xmlte]{margin:0}nav[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:.95rem}a[data-astro-cid-sz7xmlte]{display:inline-grid;place-items:center;width:1.65rem;height:1.65rem;color:var(--foreground);text-decoration:none;transition:color .2s var(--default-transition-timing-function),transform .2s var(--ease-out)}svg[data-astro-cid-sz7xmlte]{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}a[data-astro-cid-sz7xmlte][aria-label=GitHub] svg[data-astro-cid-sz7xmlte]{fill:currentColor;stroke:none}a[data-astro-cid-sz7xmlte]:hover{color:var(--accent);transform:translateY(-2px) rotate(10deg)}@media(max-width:640px){footer[data-astro-cid-sz7xmlte]{align-items:flex-start;flex-direction:column}}a[data-astro-cid-eimmu3lg]{position:relative;display:inline-flex;align-items:center;gap:.35rem;color:var(--foreground);border-radius:8px;padding:.25rem .18rem;text-decoration:none;font-size:1rem;font-weight:800;line-height:1;transition:color .2s var(--default-transition-timing-function),transform .2s var(--ease-out)}a[data-astro-cid-eimmu3lg]:hover{color:var(--accent);transform:translateY(-2px)}a[data-astro-cid-eimmu3lg].active{color:var(--foreground);text-decoration-line:underline;text-decoration-style:wavy;text-decoration-thickness:2px;text-underline-offset:.42em}.icon-link[data-astro-cid-eimmu3lg].active{text-decoration:none}.icon-link[data-astro-cid-eimmu3lg].active:after{content:"";position:absolute;left:.38rem;right:.38rem;bottom:-.32rem;border-bottom:2px wavy var(--foreground)}.icon-link[data-astro-cid-eimmu3lg]{width:2rem;height:2rem;justify-content:center}.icon[data-astro-cid-eimmu3lg]{width:1.18rem;height:1.18rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease-out),color .2s var(--default-transition-timing-function)}.icon-link[data-astro-cid-eimmu3lg]:hover .icon[data-astro-cid-eimmu3lg]{transform:rotate(12deg)}.site-header[data-astro-cid-3ef6ksr2]{position:relative;z-index:10;background:var(--background)}nav[data-astro-cid-3ef6ksr2]{width:min(100% - 2rem,var(--content-width));margin:0 auto;padding:1.35rem 0 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;border-bottom:1px solid var(--line)}.brand[data-astro-cid-3ef6ksr2]{color:var(--foreground);font-size:clamp(1.4rem,3vw,1.85rem);font-weight:900;letter-spacing:-.055em;text-decoration:none;white-space:nowrap}.brand[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.9rem 1.45rem}.theme-toggle[data-astro-cid-3ef6ksr2]{position:relative;width:2rem;height:2rem;display:inline-grid;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--foreground);cursor:pointer;transition:color .2s var(--default-transition-timing-function),transform .2s var(--ease-out)}.theme-toggle[data-astro-cid-3ef6ksr2]:hover{color:var(--accent);transform:translateY(-2px) rotate(6deg)}.theme-toggle[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{position:absolute;width:1.18rem;height:1.18rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease-out),opacity .5s var(--ease-out)}html[data-theme=light] .theme-toggle[data-astro-cid-3ef6ksr2] .sun[data-astro-cid-3ef6ksr2],html:not([data-theme=light]) .theme-toggle[data-astro-cid-3ef6ksr2] .moon[data-astro-cid-3ef6ksr2]{transform:scale(1) rotate(0);opacity:1}html[data-theme=light] .theme-toggle[data-astro-cid-3ef6ksr2] .moon[data-astro-cid-3ef6ksr2]{transform:scale(0) rotate(90deg);opacity:0}html:not([data-theme=light]) .theme-toggle[data-astro-cid-3ef6ksr2] .sun[data-astro-cid-3ef6ksr2]{transform:scale(0) rotate(-90deg);opacity:0}@media(max-width:720px){nav[data-astro-cid-3ef6ksr2]{align-items:flex-start;flex-direction:column;width:min(100% - 1.35rem,var(--content-width))}.nav-links[data-astro-cid-3ef6ksr2]{justify-content:flex-start;gap:.8rem 1rem}}
