.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}.topbar[data-astro-cid-afdttjsk]{height:var(--topbar-h);flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:0 var(--shell-pad, 48px);background:var(--color-bg);border-bottom:1px solid var(--color-border);position:relative;z-index:30}.topbar__brand[data-astro-cid-afdttjsk]{font-size:var(--text-md);font-weight:600;color:var(--color-accent);letter-spacing:-.01em}.topbar__list[data-astro-cid-afdttjsk]{list-style:none;display:flex;align-items:center;gap:var(--space-6)}.topbar__item[data-astro-cid-afdttjsk]{position:relative}.topbar__link[data-astro-cid-afdttjsk]{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:var(--text-base);color:var(--color-text);transition:color var(--duration-fast);position:relative}.topbar__link[data-astro-cid-afdttjsk]:hover{color:var(--color-accent-text)}.topbar__link[data-astro-cid-afdttjsk].is-active:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--color-text)}.topbar__chev[data-astro-cid-afdttjsk]{transition:transform var(--duration-medium) var(--ease-out)}.topbar__link[data-astro-cid-afdttjsk][aria-expanded=true] .topbar__chev[data-astro-cid-afdttjsk]{transform:rotate(180deg)}.submenu[data-astro-cid-afdttjsk]{position:absolute;top:calc(100% + 4px);left:-16px;z-index:40;width:300px;padding:var(--space-2);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:12px;box-shadow:0 12px 32px #00000014}.submenu[data-astro-cid-afdttjsk][hidden]{display:none}.submenu__list[data-astro-cid-afdttjsk]{list-style:none}.submenu__row[data-astro-cid-afdttjsk]{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3);border-radius:8px}.submenu__row[data-astro-cid-afdttjsk]:hover,.submenu__row[data-astro-cid-afdttjsk]:focus-visible{background:var(--color-surface)}.submenu__main[data-astro-cid-afdttjsk]{display:flex;flex-direction:column;gap:2px;min-width:0}.submenu__label[data-astro-cid-afdttjsk]{font-size:var(--text-base);font-weight:500;color:var(--color-text)}.submenu__desc[data-astro-cid-afdttjsk]{font-size:var(--text-sm);color:var(--color-text-mid);line-height:1.4}.submenu__count[data-astro-cid-afdttjsk]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-dim)}@media(prefers-reduced-motion:no-preference){.submenu[data-astro-cid-afdttjsk]:not([hidden]){animation:submenu-in .22s var(--ease-out) both}@keyframes submenu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}[data-astro-cid-afdttjsk][data-motion=paused] .submenu[data-astro-cid-afdttjsk]:not([hidden]){animation:none}}.topbar__toggle[data-astro-cid-afdttjsk]{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-bg)}.topbar__icon[data-astro-cid-afdttjsk],.topbar__icon[data-astro-cid-afdttjsk]:before,.topbar__icon[data-astro-cid-afdttjsk]:after{display:block;width:18px;height:1.5px;background:var(--color-text);position:relative}.topbar__icon[data-astro-cid-afdttjsk]:before,.topbar__icon[data-astro-cid-afdttjsk]:after{content:"";position:absolute;left:0}.topbar__icon[data-astro-cid-afdttjsk]:before{top:-6px}.topbar__icon[data-astro-cid-afdttjsk]:after{top:6px}.sheet[data-astro-cid-afdttjsk][hidden]{display:none}.sheet[data-astro-cid-afdttjsk]{position:fixed;inset:0;z-index:25;background:var(--color-bg);padding:calc(var(--topbar-h) + var(--space-6)) var(--gutter) var(--space-8);display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto}.sheet__list[data-astro-cid-afdttjsk],.sheet__sub[data-astro-cid-afdttjsk]{list-style:none}.sheet__item[data-astro-cid-afdttjsk]+.sheet__item[data-astro-cid-afdttjsk]{margin-top:var(--space-6)}.sheet__link[data-astro-cid-afdttjsk]{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:28px;font-weight:500;line-height:1.2;color:var(--color-text)}.sheet__link[data-astro-cid-afdttjsk].is-active{color:var(--color-accent-text)}.sheet__sub[data-astro-cid-afdttjsk]{margin:var(--space-3) 0 0 var(--space-4)}.sheet__sublink[data-astro-cid-afdttjsk]{display:flex;align-items:baseline;gap:var(--space-3);min-height:44px;padding:var(--space-2) 0;font-size:17px;color:var(--color-text-mid)}.sheet__count[data-astro-cid-afdttjsk]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-dim)}.sheet__note[data-astro-cid-afdttjsk]{margin-top:var(--space-1);font-size:var(--text-base);color:var(--color-text-mid)}.sheet__foot[data-astro-cid-afdttjsk]{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-8);font-size:var(--text-base);color:var(--color-text-mid)}.sheet__socials[data-astro-cid-afdttjsk]{display:flex;gap:var(--space-4)}.sheet__foot[data-astro-cid-afdttjsk] a[data-astro-cid-afdttjsk]{display:inline-flex;align-items:center;min-height:44px}@media(prefers-reduced-motion:no-preference){.sheet[data-astro-cid-afdttjsk]:not([hidden]) .sheet__item[data-astro-cid-afdttjsk]{animation:sheet-in .4s var(--ease-out) both;animation-delay:calc(var(--i) * 40ms)}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}[data-astro-cid-afdttjsk][data-motion=paused] .sheet[data-astro-cid-afdttjsk]:not([hidden]) .sheet__item[data-astro-cid-afdttjsk]{animation:none}}@media(max-width:899.98px){.topbar[data-astro-cid-afdttjsk]{--shell-pad: var(--gutter)}.topbar__nav[data-astro-cid-afdttjsk]{display:none}.topbar__toggle[data-astro-cid-afdttjsk]{display:inline-flex}}@media(min-width:900px){.sheet[data-astro-cid-afdttjsk]{display:none}}.footer[data-astro-cid-35ed7um5]{margin-top:var(--space-24)}.footer__row[data-astro-cid-35ed7um5]{padding:var(--space-6) 0;display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;font-size:var(--text-sm);color:var(--color-text-dim)}.footer__row[data-astro-cid-35ed7um5] a[data-astro-cid-35ed7um5]:hover{color:var(--color-accent-text)}.footer__sep[data-astro-cid-35ed7um5]{color:var(--color-border-strong)}:root{--color-bg: #ffffff;--color-surface: #fafafa;--color-border: #e5e5e5;--color-border-strong: #d4d4d4;--color-text: #111111;--color-text-mid: #555555;--color-text-dim: #737373;--color-accent: #ff5a1f;--color-accent-hover: #e84a12;--color-accent-text: #c94414;--color-accent-text-hover: #a8380f;--color-focus: var(--color-accent-text);--font-display: "Noto Sans", system-ui, -apple-system, sans-serif;--font-body: "Noto Sans", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, monospace;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.625rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--color-stage: #f4f4f2;--topbar-h: 64px;--stage-w: 33.333%;--stage-h-mobile: 420px;--stage-h-compact: 240px;--stage-h-tall: clamp(var(--stage-h-mobile), calc(100svh - var(--topbar-h)), 749px);--sidebar-width: 280px;--content-max: 640px;--content-wide: 880px;--gutter: clamp(1.25rem, 4vw, 2.5rem);--duration-fast: .15s;--duration-medium: .3s;--ease-out: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background-color:var(--color-bg);color:var(--color-text)}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;background-color:var(--color-bg);color:var(--color-text);min-height:100vh}::selection{background:var(--color-text);color:var(--color-bg)}img,picture,video,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}:where(:focus-visible){outline:2px solid var(--color-focus);outline-offset:3px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.25;color:var(--color-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.hairline{width:100%;height:1px;background:var(--color-border)}.prose{color:var(--color-text);font-size:var(--text-base);line-height:1.6;max-width:62ch}.prose>*+*{margin-top:var(--space-4)}.prose h2{font-size:var(--text-xl);font-weight:600;margin-top:var(--space-10);margin-bottom:var(--space-3)}.prose h3{font-size:var(--text-lg);font-weight:600;margin-top:var(--space-8);margin-bottom:var(--space-2)}.prose p{margin:0 0 var(--space-4)}.prose p:last-child{margin-bottom:0}.prose strong{font-weight:600}.prose a{color:var(--color-accent-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.prose a:hover{color:var(--color-accent-text-hover)}.prose ul,.prose ol{margin:0 0 var(--space-4) var(--space-5)}.prose li{margin-bottom:var(--space-2)}.prose blockquote{border-left:2px solid var(--color-border);padding-left:var(--space-4);color:var(--color-text-mid);margin:var(--space-6) 0}.prose img{margin:var(--space-8) 0;border-radius:4px}.prose figcaption{font-size:var(--text-sm);color:var(--color-text-dim);margin-top:var(--space-2);text-align:center}.prose hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-8) 0}.skip{position:absolute;left:var(--space-4);top:-100px;z-index:100;padding:var(--space-3) var(--space-4);background:var(--color-text);color:var(--color-bg);border-radius:8px;font-size:var(--text-base)}.skip:focus{top:var(--space-3)}.shell{--measure: 760px;display:flex;flex-direction:column;min-height:100dvh}.shell[data-measure=wide]{--measure: 960px}.shell--tool[data-measure=wide]{--measure: 1240px}.shell__left{display:contents}.topbar{position:sticky;top:0}.shell__stage{order:1;flex:none;height:var(--stage-h-mobile);display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--stage-ground, color-mix(in srgb, var(--stage-accent, var(--color-stage)) 18%, var(--color-stage)));transition:background-color .5s ease}@media(max-width:899.98px),(max-height:559.98px){.shell__stage[data-stage-size=compact]{height:var(--stage-h-compact)}.shell__stage[data-stage-size=tall]{height:var(--stage-h-tall)}}.shell__scroll{order:2}.shell__content{max-width:var(--measure);margin-inline:auto;padding:var(--space-8) var(--gutter) var(--space-12)}.shell--tool .shell__scroll{order:1}.shell__scroll[data-autofocus]:focus-visible{outline:none}.shell__scroll:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.shell--bleed{height:100dvh;min-height:0;overflow:hidden}.shell--bleed .shell__left{display:flex;flex-direction:column;flex:1 1 0;min-height:0;height:100%}.shell--bleed .shell__scroll{flex:1 1 0;min-height:0;overflow:hidden;display:flex}.shell--bleed .shell__content{flex:1 1 auto;max-width:none;min-width:0;margin:0;padding:0;display:flex;flex-direction:column}.shell--bleed .topbar{position:relative}@media(prefers-reduced-motion:no-preference){.stage--reveal{animation:stage-in .6s cubic-bezier(.65,0,.35,1) both}.stage--fade{animation:stage-fade .2s ease both}@keyframes stage-in{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}@keyframes stage-fade{0%{opacity:0}to{opacity:1}}}[data-motion=paused] *,[data-motion=paused] *:before,[data-motion=paused] *:after{animation-play-state:paused!important}[data-motion=paused] .stage--reveal,[data-motion=paused] .stage--fade{animation:none!important}@media(min-width:900px)and (min-height:560px){body{overflow:hidden}.shell{display:grid;grid-template-columns:minmax(0,1fr) var(--stage-w);grid-template-rows:var(--topbar-h) minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden}.shell:not(.shell--tool) .shell__left{display:contents}.shell--tool .shell__left{display:flex;flex-direction:column;grid-column:1 / -1;grid-row:1 / -1;min-width:0;min-height:0}.topbar{position:relative;grid-column:1 / -1;grid-row:1}.shell__scroll{grid-column:1;grid-row:2;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.shell--tool .shell__scroll{flex:1 1 0}.shell__content{padding:var(--space-8) var(--space-12) 96px;margin-inline:0}.shell--tool .shell__content{margin-inline:auto}.shell__stage{order:0;grid-column:2;grid-row:2;height:auto;min-height:0}}@media print{body{overflow:visible}.shell{display:block;height:auto;overflow:visible}.shell__left{display:block}.shell__stage,.topbar,.skip{display:none!important}.shell__scroll{overflow:visible;height:auto}}
