#back-to-top{bottom:max(var(--space-xl), env(safe-area-inset-bottom,0px));right:var(--space-xl);border:var(--ui-stroke) solid var(--brand-accent);color:var(--brand-accent);width:var(--size-control);height:var(--size-control);font-size:var(--text-xl);opacity:0;pointer-events:none;transition:opacity var(--motion-slow) ease-out, transform var(--motion-slow) ease-out, background var(--ui-motion) var(--ui-ease), color var(--ui-motion) var(--ui-ease);background:0 0;border-radius:0;justify-content:center;align-items:center;text-decoration:none;display:flex;position:fixed;transform:translateY(100%)}#back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}#back-to-top:hover{background:var(--brand-accent);color:var(--ui-contrast-inverse);transform:translateY(1px)}@media (prefers-reduced-motion:reduce){#back-to-top{transition:opacity var(--motion-instant)}#back-to-top,#back-to-top.visible,#back-to-top:hover{transform:none}}@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}:root{--nav-link-padding:var(--space-xs) var(--space-sm);--nav-underline-height:3px;--nav-underline-offset:2px;--nav-underline-left:var(--space-sm);--nav-underline-width:calc(100% - var(--space-lg));--nav-transition-duration:var(--ui-motion);--nav-transition-easing:var(--ui-ease);--nav-loading-gradient:linear-gradient(100deg, #fff4e2b8 0%, #ffba5ce0 22%, #fff6e9 50%, var(--accent-a95) 78%, #ffe6c1c2 100%)}#main-nav[data-astro-cid-yxete6jp]{flex-direction:column;align-items:flex-start;display:flex}.nav-header[data-astro-cid-yxete6jp]{width:100%;height:var(--size-control);justify-content:space-between;align-items:flex-start;display:flex}.nav-header[data-astro-cid-yxete6jp] img[data-astro-cid-yxete6jp]{height:var(--size-control);width:auto}#menu-toggle[data-astro-cid-yxete6jp]{width:var(--size-control);height:var(--size-control);border:var(--ui-stroke) solid var(--brand-accent);color:var(--brand-accent);cursor:pointer;transition:background var(--ui-motion) var(--ui-ease), color var(--ui-motion) var(--ui-ease), transform var(--ui-motion) var(--ui-ease);z-index:var(--z-sticky);background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:relative}#menu-toggle[data-astro-cid-yxete6jp]:hover{background:var(--brand-accent);color:var(--ui-contrast-inverse);transform:translateY(1px)}#menu-toggle[data-astro-cid-yxete6jp] .icon-menu[data-astro-cid-yxete6jp],#menu-toggle[data-astro-cid-yxete6jp] .icon-close[data-astro-cid-yxete6jp]{width:28px;height:28px;display:block}#menu-toggle[data-astro-cid-yxete6jp] .icon-close[data-astro-cid-yxete6jp]{display:none}#menu-toggle[data-astro-cid-yxete6jp]:hover .icon-menu[data-astro-cid-yxete6jp],#menu-toggle[data-astro-cid-yxete6jp]:hover .icon-close[data-astro-cid-yxete6jp]{stroke:var(--ui-contrast-inverse)}#menu-toggle[data-astro-cid-yxete6jp]:focus-visible{outline:var(--ui-stroke) solid var(--brand-accent);outline-offset:2px}#menu-toggle[data-astro-cid-yxete6jp]:active{transform:translateY(1px)}#menu-toggle[data-astro-cid-yxete6jp][aria-expanded=true] .icon-close[data-astro-cid-yxete6jp]{display:block}#menu-toggle[data-astro-cid-yxete6jp][aria-expanded=true] .icon-menu[data-astro-cid-yxete6jp]{display:none}#main-nav-list[data-astro-cid-yxete6jp]{margin:var(--space-md) 0 0 0;flex-direction:column;align-items:stretch;width:100%;padding:0;list-style:none;display:none}#main-nav-list[data-astro-cid-yxete6jp].is-open{display:flex}.nav-item[data-astro-cid-yxete6jp]{margin-bottom:var(--space-xxs);align-items:center;display:flex}.nav-link[data-astro-cid-yxete6jp]{width:100%;min-height:2.5rem;padding:var(--space-sm) var(--space-md);color:var(--ui-color);font-size:var(--text-md);font-weight:400;line-height:var(--leading-tight);border-left:var(--ui-stroke) solid transparent;background:linear-gradient(90deg, var(--ui-primary-glow), transparent) left center / 0 100% no-repeat, transparent;transition:color var(--nav-transition-duration) var(--nav-transition-easing), background-size var(--nav-transition-duration) var(--nav-transition-easing), background-color var(--nav-transition-duration) var(--nav-transition-easing), border-color var(--nav-transition-duration) var(--nav-transition-easing);align-items:center;text-decoration:none;display:flex}.nav-link[data-astro-cid-yxete6jp]:hover{color:var(--ui-primary-hover);background-size:100% 100%,auto;background-color:var(--ui-primary-wash);border-color:var(--ui-primary-border-soft)}.nav-link[data-astro-cid-yxete6jp]:focus-visible{color:var(--ui-primary-hover);background-size:100% 100%,auto;background-color:var(--ui-primary-wash);border-color:var(--accent-a80);outline:none}.nav-link[data-astro-cid-yxete6jp][aria-current=page]{color:var(--ui-active-nav-color);letter-spacing:-.01em;border-color:var(--brand-accent);background-size:100% 100%,auto;background-color:var(--ui-primary-wash);font-weight:700}.nav-link[data-astro-cid-yxete6jp][aria-current=page]:hover{background-color:var(--accent-a12)}.nav-link[data-astro-cid-yxete6jp].is-loading{color:#0000;background-image:var(--nav-loading-gradient), linear-gradient(90deg, var(--ui-primary-glow), transparent);-webkit-text-fill-color:transparent;animation:nav-link-loading var(--motion-loop) linear infinite;border-color:var(--accent-a80);background-position:180%,0 0;background-size:220% 100%,100% 100%;background-clip:text,padding-box;background-color:var(--ui-primary-wash)}@media (width>=641px){#main-nav[data-astro-cid-yxete6jp]{flex-direction:row;justify-content:space-between;align-items:center}.nav-header[data-astro-cid-yxete6jp]{justify-content:flex-start}#menu-toggle[data-astro-cid-yxete6jp]{display:none}#main-nav-list[data-astro-cid-yxete6jp]{white-space:nowrap;flex-flow:row;justify-content:flex-end;align-items:center;width:auto;margin:0;display:flex}.nav-item[data-astro-cid-yxete6jp]{flex-shrink:0;margin:0;display:block}.nav-link[data-astro-cid-yxete6jp]{padding:var(--nav-link-padding);color:var(--ui-color);font-size:var(--text-md);transition:color var(--ui-motion) var(--ui-ease), background var(--ui-motion) var(--ui-ease), transform var(--ui-motion) var(--ui-ease);white-space:nowrap;background:linear-gradient(90deg, var(--ui-primary-glow), transparent) left bottom / 0 100% no-repeat, transparent;border-left:0;min-width:fit-content;font-weight:400;text-decoration:none;display:inline-block;position:relative}.nav-link[data-astro-cid-yxete6jp]:after{content:"";left:var(--nav-underline-left);bottom:var(--nav-underline-offset);width:0;height:var(--nav-underline-height);background:var(--brand-accent);transition:width var(--motion-slow) var(--nav-transition-easing);position:absolute}.nav-link[data-astro-cid-yxete6jp]:hover{color:var(--ui-contrast-inverse);background:var(--brand-accent);transform:translateY(1px)}.nav-link[data-astro-cid-yxete6jp]:hover:after{display:none}.nav-link[data-astro-cid-yxete6jp][aria-current=page]{color:var(--ui-active-nav-color);background:0 0;font-weight:700}.nav-link[data-astro-cid-yxete6jp][aria-current=page]:after{width:var(--nav-underline-width)}.nav-link[data-astro-cid-yxete6jp][aria-current=page]:hover{color:var(--ui-contrast-inverse);background:var(--brand-accent);transform:translateY(1px)}.nav-link[data-astro-cid-yxete6jp][aria-current=page]:hover:after{display:none}.nav-link[data-astro-cid-yxete6jp]:focus-visible{color:var(--ui-active-nav-color);background:0 0;border-color:#0000}.nav-link[data-astro-cid-yxete6jp].is-loading{background-image:var(--nav-loading-gradient);animation:nav-link-loading var(--motion-loop) linear infinite;background-color:#0000;background-position:180%;background-size:220% 100%;background-clip:text;border-color:#0000}}@keyframes nav-link-loading{0%{background-position:180%,0 0}to{background-position:-40%,0 0}}:root{--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"Ubuntu Mono", ui-monospace, monospace;--lead-width:60ch;--brand-bg:#0a0a0a;--brand-surface:#111;--brand-text:#e6e6e6;--brand-muted:#a3a3a3;--brand-border:#2a2a2a;--brand-accent:#f80;--brand-accent-bg:#b36200;--brand-accent-hover:#ffa347;--brand-accent-focus:#ff880059;--brand-accent-underline:#ff880080;--accent-a08:#ff880014;--accent-a12:#ff88001f;--accent-a20:#f803;--accent-a45:#ff880073;--accent-a80:#f80c;--accent-a95:#ff8800f2;--ui-primary-wash:var(--accent-a08);--ui-primary-glow:var(--accent-a20);--ui-primary-border-soft:var(--accent-a45);--ui-stroke:2px;--ui-stroke-thin:1px;--accent-size:4px;--ui-accent-padding:.7rem;--ui-ease:cubic-bezier(.4, 0, .2, 1);--ui-motion:.2s;--shadow-sm:0 1px 8px var(--brand-accent-focus);--shadow-md:0 6px 20px var(--brand-accent-focus);--ring-focus:0 0 0 2px var(--brand-accent-focus);--z-sticky:10;--z-scroll-progress:1000;--z-modal:1100;--z-vignette:9999;--z-grain:10000;--motion-slow:.3s;--motion-loop:1s;--motion-instant:.01ms;--blur-sm:2px;--blur-md:4px;--blur-lg:12px;--overlay-scrim:#000c;--surface-wash:#ffffff0d;--inset-shade:#0000004d;--shade-a10:#0000001a;--ui-spacing:1rem;--space-xxs:calc(var(--ui-spacing) * .25);--space-xs:calc(var(--ui-spacing) * .5);--space-sm:calc(var(--ui-spacing) * .75);--space-md:var(--ui-spacing);--space-lg:calc(var(--ui-spacing) * 1.5);--space-xl:calc(var(--ui-spacing) * 2);--space-xxl:calc(var(--ui-spacing) * 3);--size-control:3rem;--flow-space:var(--space-md);--heading-space-bottom:var(--space-md);--block-space:var(--space-xl);--region-space:var(--space-xxl);--scroll-offset:calc(var(--space-xxl) + var(--space-md));--ui-border-radius:1px;--ui-line-height:1.5;--ui-font-size:100%;--text-2xs:.7rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--leading-none:1;--leading-tight:1.2;--leading-snug:1.35;--leading-relaxed:1.6}[data-theme=dark]{color-scheme:dark;--ui-background-color:var(--brand-bg);--ui-background-color-tertiary:#171a21;--ui-card-background-color:var(--brand-surface);--ui-border-color:var(--brand-border);--ui-color:var(--brand-text);--ui-muted-color:var(--brand-muted);--ui-muted-border-color:var(--brand-border);--ui-glass-bg:#0a0a0ad1;--ui-glass-card-bg:#111111d1;--ui-primary:var(--brand-accent);--ui-primary-underline:var(--brand-accent-underline);--ui-primary-hover:var(--brand-accent-hover);--ui-primary-hover-underline:var(--ui-primary-hover);--ui-secondary:#9aa0aa;--ui-secondary-underline:#9aa0aa80;--ui-secondary-hover:#b7bbc3;--ui-secondary-hover-underline:var(--ui-secondary-hover);--ui-contrast-inverse:#000;--ui-h1-color:#f2f3f5;--ui-h2-color:#e6e8eb;--ui-h3-color:#d3d7de;--ui-h4-color:#c2c7d0;--ui-h5-color:#aeb5c0;--ui-h6-color:#98a0ae;--ui-form-element-background-color:#1b1f27;--ui-form-element-border-color:#242a36;--ui-form-element-color:#e6e8eb;--ui-form-element-placeholder-color:#98a0ae;--ui-active-nav-color:#fff8eb;--ui-blockquote-border-color:var(--ui-secondary);--ui-table-border-color:var(--ui-muted-border-color);--ui-card-hover-bg:#ffffff08}*,:before,:after{box-sizing:border-box}html{font-size:var(--ui-font-size);scroll-behavior:smooth;--scrollbar-thumb:var(--brand-accent);--scrollbar-track:var(--brand-bg);scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}html:active-view-transition{scroll-behavior:auto}@supports not (scrollbar-color:auto){html::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}html::-webkit-scrollbar-track{background:var(--scrollbar-track)}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:var(--ui-motion) var(--ui-ease) both fade-out}::view-transition-new(root){animation:var(--ui-motion) var(--ui-ease) both fade-in}}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (width>=576px){:root{--ui-font-size:106.25%}}@media (width>=768px){:root{--ui-font-size:112.5%}}@media (width>=1024px){:root{--ui-font-size:118.75%}}@media (width>=1280px){:root{--ui-font-size:125%}}@media (width>=1536px){:root{--ui-font-size:131.25%}}:target{scroll-margin-top:var(--scroll-offset)}body{width:100%;font-family:var(--font-sans);font-weight:400;line-height:var(--ui-line-height);background:var(--ui-background-color);color:var(--ui-color);margin:0}body:before{content:"";pointer-events:none;z-index:var(--z-grain);opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:180px 180px;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:var(--z-vignette);background:radial-gradient(ellipse at center, transparent 55%, var(--inset-shade) 100%);position:fixed;inset:0}main{display:block}body>header,body>main,body>footer{padding-block:clamp(var(--space-lg), 3vw, var(--space-xxl))}img,video{max-width:100%;display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,h4,h5,h6{color:var(--ui-color);font-family:var(--font-sans);letter-spacing:-.01em;text-wrap:balance;font-weight:700}p{text-wrap:pretty}h1{color:var(--ui-h1-color);font-size:2rem;line-height:1.125}h2{color:var(--ui-h2-color);font-size:1.75rem;line-height:1.15}h3{color:var(--ui-h3-color);font-size:1.5rem;line-height:1.175}h4{color:var(--ui-h4-color);font-size:1.25rem;line-height:1.2}h5{color:var(--ui-h5-color);font-size:1.125rem;line-height:1.225}h6{color:var(--ui-h6-color);font-size:1rem;line-height:1.25}code,pre,kbd,samp{font-family:var(--font-mono)}pre{overflow-x:auto}button,input,select,textarea{color:inherit;font:inherit}:where(input:not([type=checkbox],[type=radio],[type=file],[type=submit],[type=button],[type=reset]),textarea,select){border:var(--ui-stroke-thin) solid var(--ui-form-element-border-color);border-radius:var(--ui-border-radius);width:100%;padding:var(--space-xs) var(--space-sm);background:var(--ui-form-element-background-color);color:var(--ui-form-element-color);margin:0}:where(){color:var(--ui-form-element-placeholder-color)}:where(button,[role=button],[type=submit],[type=button],[type=reset]){border:var(--ui-stroke) solid var(--brand-accent);padding:var(--space-xs) var(--space-md);color:var(--ui-color);cursor:pointer;transition:background var(--ui-motion) var(--ui-ease), color var(--ui-motion) var(--ui-ease), border-color var(--ui-motion) var(--ui-ease), transform var(--ui-motion) var(--ui-ease);background:0 0;border-radius:0;margin:0;line-height:1.2;text-decoration:none;display:inline-block}:where(button,[role=button],[type=submit],[type=button],[type=reset]):hover{background:var(--brand-accent);color:var(--ui-contrast-inverse);transform:translateY(1px)}.secondary{color:var(--ui-muted-color);border-color:var(--ui-muted-border-color)}small{font-size:.875em}hgroup{margin:0}hgroup>*{margin-top:0;margin-bottom:0}hgroup>*+*{margin-top:var(--space-xs)}hr{margin:var(--space-xl) 0}abbr[title]{border-bottom:var(--ui-stroke-thin) solid var(--brand-accent)}a{color:var(--ui-primary);text-decoration-color:var(--ui-primary-underline);text-underline-offset:.1rem}main a{text-underline-offset:.15em;text-decoration-skip-ink:auto;transition:background var(--ui-motion) var(--ui-ease), color var(--ui-motion) var(--ui-ease);text-decoration-line:underline;text-decoration-thickness:3px}a:visited{color:var(--ui-primary)}a:hover,a:active,a:focus{color:var(--ui-primary-hover);text-decoration-color:var(--ui-primary-hover-underline)}main a:hover:not(.movie-card-link,.modal-backdrop-link,.filter-link,.toc-list a){background:var(--brand-accent);color:var(--ui-contrast-inverse);text-decoration:none}a.secondary{color:var(--ui-muted-color);text-decoration:underline;text-decoration-color:var(--ui-secondary-underline)}a.secondary:visited{color:var(--ui-muted-color)}a.secondary:hover,a.secondary:active,a.secondary:focus{color:var(--ui-secondary-hover);text-decoration-color:var(--ui-secondary-hover-underline)}:where(a,button,summary,[tabindex]):focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px}:where(input,textarea,select):focus-visible{outline:3px solid var(--brand-accent);outline-offset:0}:where(details>summary){cursor:pointer}:where(:target){scroll-margin-top:var(--scroll-offset)}.container{width:100%;padding-right:var(--ui-spacing);padding-left:var(--ui-spacing);margin-left:auto;margin-right:auto}@media (width>=576px){.container{max-width:510px;padding-left:0;padding-right:0}}@media (width>=768px){.container{max-width:700px}}@media (width>=1024px){.container{max-width:950px}}@media (width>=1280px){.container{max-width:1200px}}@media (width>=1536px){.container{max-width:1450px}}body>footer small{justify-content:space-between;align-items:center;gap:var(--space-xs);line-height:var(--leading-relaxed);opacity:.6;flex-wrap:wrap;display:flex}#scroll-progress{width:100%;height:var(--accent-size);background:linear-gradient(90deg, var(--brand-accent-hover) 0%, var(--brand-accent) 50%, var(--brand-accent-bg) 100%);box-shadow:var(--shadow-sm);transform-origin:0;z-index:var(--z-scroll-progress);position:fixed;top:0;left:0;transform:scaleX(0)}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:scroll()){@keyframes grow-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}#scroll-progress{animation:linear grow-progress scroll()}}}section{margin-bottom:var(--block-space)}section+section{margin-top:var(--block-space)}h2,h3{margin-top:var(--space-lg);margin-bottom:var(--heading-space-bottom)}h2:first-child{margin-top:0}p+p{margin-top:var(--flow-space)}ul,ol{margin-top:var(--flow-space);margin-bottom:var(--flow-space);padding-left:1ch}ul ::marker,ol ::marker{color:var(--brand-accent)}ul li,ol li{list-style-type:"- "}ul:has(strong)>li{color:var(--ui-secondary)}ul:has(strong)>li>strong{color:var(--ui-color)}.footnotes ol li{list-style-type:decimal}article{margin-bottom:var(--block-space)}details{margin-bottom:var(--space-lg)}blockquote{margin:0 0 var(--flow-space);border-left:var(--accent-size) solid var(--ui-blockquote-border-color);padding:var(--space-xs) 0 var(--space-xs) var(--space-md)}table{border-collapse:collapse;width:100%;margin-bottom:var(--ui-spacing)}td,th{border-bottom:var(--ui-stroke-thin) solid var(--ui-table-border-color);padding:var(--space-xs);text-align:left}.micro{opacity:.8;font-size:var(--text-sm);font-family:var(--font-mono)}.section-kicker{margin:0 0 var(--space-xxs);text-transform:uppercase;letter-spacing:.06em;font-size:var(--text-xs);color:var(--ui-muted-color);font-family:var(--font-mono)}.section-heading-sticky{z-index:var(--z-sticky);background-color:var(--ui-glass-bg);-webkit-backdrop-filter:blur(var(--blur-lg));padding:0 var(--ui-spacing) 0 var(--ui-accent-padding);border-bottom:var(--ui-stroke) solid var(--ui-border-color);margin-bottom:0;position:sticky;top:0}.section-heading-sticky+*{margin-top:var(--ui-spacing)}.lead{font-size:var(--text-md);line-height:var(--leading-relaxed);max-width:var(--lead-width);color:var(--ui-muted-color)}.width{max-width:var(--lead-width);text-align:left;hyphens:manual}.minimal-btn{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);color:var(--ui-color);border:var(--ui-stroke) solid var(--brand-accent);font-weight:400;font-size:var(--text-sm);cursor:pointer;transition:background var(--ui-motion) var(--ui-ease), color var(--ui-motion) var(--ui-ease), border-color var(--ui-motion) var(--ui-ease), transform var(--ui-motion) var(--ui-ease);background:0 0;border-radius:0;text-decoration:none;display:inline-flex}.minimal-btn:hover{background:var(--brand-accent);color:var(--ui-contrast-inverse);border-color:var(--brand-accent);transform:translateY(1px)}.minimal-btn.active,.minimal-btn:active{background:var(--brand-accent);color:var(--ui-contrast-inverse);box-shadow:0 0 0 1px var(--brand-accent-hover), 0 0 0 5px var(--brand-accent-focus);border-color:#0000;transform:translateY(1px)}.minimal-btn.active{font-weight:700}@media (pointer:coarse){.minimal-btn{min-height:44px;padding:var(--space-sm) var(--space-md)}}.accent{border-inline-start:var(--accent-size) solid var(--brand-accent);border-radius:0;padding-inline-start:var(--ui-accent-padding)}[data-corners]{padding-top:var(--space-xxs);padding-left:var(--ui-accent-padding);position:relative}[data-corners]:before{content:"";width:var(--space-sm);pointer-events:none;border-left:var(--accent-size) solid var(--brand-accent);border-top:var(--accent-size) solid var(--brand-accent);height:1.05rem;position:absolute;top:0;left:0}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()) and (animation-range:entry){@keyframes entry-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.project-card,section>ul>li,main>section:not(:has(ul)){animation:linear both entry-reveal view();animation-range:entry 10% entry 30%}}}@media print{article{break-inside:avoid}details{open:true}a[href^=http]:after{content:" (" attr(href) ")"}.no-print,header#top,footer,[aria-label="Table of Contents"]{display:none!important}@page{margin:.5in}body{color:var(--ui-contrast-inverse);background:0 0;margin:0;padding:0}main{break-inside:avoid}.accent,article :is(h2,h3,h4,h5,h6){border:none;padding-inline-start:0}h1,h2,h3,h4,h5,h6{break-after:avoid-page}body:before,body:after{display:none!important}}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-400-normal.D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-normal.RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-700-normal.BmRLXWpJ.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-700-normal.DCQwxkRk.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-sans-cyrillic-700-normal.D_uavGvn.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-700-normal.RFb1v-CK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-sans-greek-700-normal.wyJ6jzdA.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-700-normal.CkZN0sRy.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-sans-vietnamese-700-normal.CkEo6LDy.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-700-normal.BV5B8Are.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-sans-latin-ext-700-normal.aMgXseD4.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-700-normal.DZH6Xh-4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-sans-latin-700-normal.Bxkt5Cjx.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-700-normal.Bth3BMcD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ubuntu-mono-cyrillic-ext-400-normal.C5u8faa9.woff2)format("woff2"),url(/_astro/ubuntu-mono-cyrillic-ext-400-normal.CL-A5l1V.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Ubuntu Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ubuntu-mono-cyrillic-400-normal.OGyu3tt3.woff2)format("woff2"),url(/_astro/ubuntu-mono-cyrillic-400-normal.Di_0TARV.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Ubuntu Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ubuntu-mono-greek-ext-400-normal.CUE8Ia0W.woff2)format("woff2"),url(/_astro/ubuntu-mono-greek-ext-400-normal.BNZd3ZNJ.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Ubuntu Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ubuntu-mono-greek-400-normal.CCUzT4Jh.woff2)format("woff2"),url(/_astro/ubuntu-mono-greek-400-normal.DR50Gfyl.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Ubuntu Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ubuntu-mono-latin-ext-400-normal.Cadvr_Yo.woff2)format("woff2"),url(/_astro/ubuntu-mono-latin-ext-400-normal.C-izf5FM.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ubuntu-mono-latin-400-normal.l4cqI2xd.woff2)format("woff2"),url(/_astro/ubuntu-mono-latin-400-normal.DpWeehTz.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
