:root{--brand:#d35244;--brand-hover:#b53d30;--brand-subtle:#d352441a;--brand-glow:#d3524438;--brand-contrast:#fff;--bg:#fdfcfb;--bg-elevated:#fff;--bg-subtle:#f4f2ef;--bg-inset:#efedea;--text:#1f2328;--text-muted:#5b6470;--text-faint:#8b95a1;--border:#e6e3de;--border-strong:#cfcac3;--shadow-sm:0 1px 2px #1412100d;--shadow-md:0 4px 16px -4px #1412101a;--shadow-lg:0 16px 40px -12px #1412102e;--header-bg:#fdfcfbd1;--header-border:#1f232814;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:999px;--transition-fast:.16s ease;--transition-med:.26s cubic-bezier(.33, 1, .68, 1);--font-body:"Inter", system-ui, sans-serif;--font-display:"Sora", "Inter", system-ui, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, monospace;--accent:var(--brand);--accent-dark:var(--brand-hover);--gray:var(--text-muted);--gray-medium:var(--border-strong);--gray-light:var(--bg-subtle);--gray-dark:var(--text);color-scheme:light}[data-theme=dark]{--brand:#e87a6c;--brand-hover:#f09385;--brand-subtle:#e87a6c21;--brand-glow:#e87a6c40;--brand-contrast:#1b0e0c;--bg:#101216;--bg-elevated:#181b21;--bg-subtle:#1f232b;--bg-inset:#262b34;--text:#e8eaed;--text-muted:#a2abb6;--text-faint:#6f7883;--border:#2b303a;--border-strong:#3d444f;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px -4px #00000073;--shadow-lg:0 16px 40px -12px #0009;--header-bg:#101216d1;--header-border:#ffffff14;color-scheme:dark}*{box-sizing:border-box}html{background-color:var(--bg)}body{font-family:var(--font-body);text-align:left;word-wrap:break-word;overflow-wrap:break-word;background-color:var(--bg);color:var(--text);min-height:100vh;transition:background-color var(--transition-fast), color var(--transition-fast);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;padding:0;font-size:1.0625rem;line-height:1.7;display:flex}::selection{background:var(--brand-glow);color:var(--text)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}main{width:800px;max-width:calc(100% - 2em);margin:0 auto;padding-bottom:3rem}.main-large{width:1300px;max-width:calc(100% - 2em)}h1,h2,h3,h4,h5,h6{line-height:1.2;font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;color:var(--text);margin:2rem 0 .75rem;font-weight:600}h1{font-size:clamp(1.9rem,1.5rem + 1.6vw,2.5rem)}h2{font-size:clamp(1.5rem,1.25rem + 1vw,1.9rem)}h3{font-size:clamp(1.2rem,1.1rem + .5vw,1.4rem)}h4{font-size:1.05rem}h5{font-size:.9rem}h6{font-size:.8rem}strong,b{font-weight:700}a{color:var(--brand);transition:color var(--transition-fast)}a:hover{color:var(--brand-hover)}p{margin:0 0 1rem}textarea{width:100%;font-size:16px}input{font-size:16px}table{width:100%}img{border-radius:var(--radius-sm);max-width:100%;height:auto}code{background-color:var(--bg-subtle);border:1px solid var(--border);font-family:var(--font-mono);border-radius:6px;padding:2px 6px;font-size:.875em}pre{background-color:var(--bg-subtle);border:1px solid var(--border);font-family:var(--font-mono);border-radius:var(--radius-sm);padding:1rem;font-size:.85rem;line-height:1.65;overflow-x:auto}pre code{background:0 0;border:0;padding:0}blockquote{border-left:4px solid var(--brand);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--brand-subtle);color:var(--text);margin:1.25rem 0;padding:.85rem 1.25rem .1rem}hr{border:none;border-top:1px solid var(--border)}table{border-collapse:collapse;margin:1rem 0}table td,table th{border-top:1px solid var(--border);padding:.35rem .65rem}table tr:last-child td{border-bottom:1px solid var(--border)}table th{border-bottom:2px solid var(--border-strong);font-family:var(--font-display);font-size:.92em;font-weight:600}small{color:var(--text-muted)}@media (width<=720px){body{font-size:1rem}}.sr-only{clip:rect(1px 1px 1px 1px);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}.d-none{display:none!important}.d-block{display:block}.expressive-code{margin-bottom:1.5rem}@media (prefers-reduced-motion:no-preference){.fade-up{animation:.64s cubic-bezier(.22,1,.36,1) both fade-up}.fade-up-delay-1{animation-delay:90ms}.fade-up-delay-2{animation-delay:.18s}.fade-up-delay-3{animation-delay:.27s}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}}.tags-wrapper{margin:1.25rem 0;position:relative}.tags-list{scroll-behavior:smooth;gap:.4rem;padding:3px 0;display:flex;overflow-x:auto}.tag{transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);user-select:none;border:1px solid var(--border-strong);color:var(--text-muted);background:var(--bg-elevated);border-radius:var(--radius-full);flex:none;padding:.25rem .85rem;font-size:.9rem;font-weight:500;line-height:1.5;text-decoration:none;display:inline-block}.tag.selected{background-color:var(--brand);border-color:var(--brand);color:var(--brand-contrast);pointer-events:none}.tags-list .tag:not(.selected):hover{border-color:var(--brand);color:var(--brand);background:var(--brand-subtle)}.arrow-left,.arrow-right{z-index:200;cursor:pointer;user-select:none;height:100%;color:var(--text-muted);width:22px;padding:8px 2px 0 3px;position:absolute;top:0}.arrow-left{background:linear-gradient(to left, transparent, var(--bg) 70%);left:0}.arrow-right{background:linear-gradient(to right, transparent, var(--bg) 70%);right:0}:is(.arrow-left,.arrow-right):hover{color:var(--brand)}.tags-list::-webkit-scrollbar{height:0}.tags-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px}.tags-list::-webkit-scrollbar-track{background:var(--bg-subtle)}@media (hover:none){.tags-list::-webkit-scrollbar{height:5px}.arrow-left,.arrow-right{display:none}}.display-none{display:none}.card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-sm);transition:border-color var(--transition-med), box-shadow var(--transition-med);margin:1.25rem 0;padding:.25rem 1.5rem;display:block;position:relative}.card:hover{border-color:var(--brand-glow);box-shadow:var(--shadow-md)}a.card{color:inherit;padding-bottom:2.4rem;text-decoration:none;position:relative}.card .title,.card .title a{color:var(--text);margin:1rem 0 .5rem;text-decoration:none}.card .title a:after{content:"";position:absolute;inset:0}.card .title a:hover{color:var(--brand)}.card p{color:var(--text-muted);font-size:.98rem}.card footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 0;display:flex}.card .read-more{color:var(--brand);letter-spacing:.08em;text-align:center;text-transform:uppercase;white-space:nowrap;border:1px solid var(--brand-glow);border-radius:var(--radius-full);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);z-index:1;padding:.2rem .85rem;font-size:.8rem;font-weight:600;line-height:1.5rem;text-decoration:none;position:relative}.card .read-more:hover{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast);text-decoration:none}.card .category{color:var(--brand);background:var(--brand-subtle);border-radius:var(--radius-full);letter-spacing:.02em;user-select:none;padding:.15rem .7rem;font-size:.78rem;font-weight:600;display:inline-block}article.card .category{position:static}a.card .category{position:absolute;bottom:.85rem;right:1.5rem}a.card p{margin-bottom:.35rem}.category-heading{color:var(--text-muted);margin-top:2rem}.content{width:720px;max-width:calc(100% - 2em);margin:auto;padding:.5rem 0}.content .content-title{margin-bottom:1.5rem;line-height:1}.content :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:5.5rem;line-height:1.3}.content h1{font-size:1.55rem}.content h2{font-size:1.35rem}.content h3{font-size:1.15rem}.content .content-title h1{text-wrap:balance;margin-top:1.5rem;font-size:clamp(1.7rem,1.4rem + 1.2vw,2.25rem);line-height:1.2}.content .content-info{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.45rem 1.15rem;margin-top:.75rem;font-size:.9rem;line-height:1.4;display:flex}.content .info-item{align-items:center;gap:.4rem;display:inline-flex}.content .info-item svg{flex:none;width:.95em;height:.95em;display:block}.content .info-item.info-category{background:var(--brand-subtle);color:var(--brand);border-radius:var(--radius-full);padding:.12rem .7rem;font-size:.8rem;font-weight:600}.expressive-code{margin:1rem 0}a img:hover,a svg:hover{transform:scale(1.1)}.content a img:hover,.content a svg:hover{transform:none}section.output{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem}.content details{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--shadow-sm);margin:1.25rem 0 1.5rem;overflow:hidden}.content details>summary{color:var(--text);cursor:pointer;user-select:none;align-items:center;gap:.6rem;padding:.7rem 1rem;font-weight:600;line-height:1.4;list-style:none;display:flex}.content details>summary::-webkit-details-marker,.content details>summary::marker{content:"";display:none}.content details>summary:after{content:"";border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);flex:none;width:.45rem;height:.45rem;margin-left:auto;transition:transform .2s;transform:rotate(45deg)}.content details[open]>summary{border-bottom:1px solid var(--border)}.content details[open]>summary:after{transform:rotate(225deg)}.content details>summary:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.content details>:not(summary){margin-left:1rem;margin-right:1rem}.content details>summary+*{margin-top:1rem}.content details>:last-child{margin-bottom:1rem}.content details :is(h1,h2,h3,h4,h5,h6){margin-top:1.25rem}.content details>summary+:is(h1,h2,h3,h4,h5,h6){margin-top:1rem}.content button[command=show-modal]{appearance:none;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);font:inherit;vertical-align:middle;cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);border-radius:6px;align-items:center;gap:.4rem;margin:.1rem 0;padding:.2rem .65rem .2rem .45rem;font-size:.92em;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.content button[command=show-modal]:before{content:"";background-color:var(--text-faint);flex:none;width:1em;height:1em;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1.25' y='2.25' width='13.5' height='11.5' rx='1.75' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M1.25 6.1h13.5' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1.25' y='2.25' width='13.5' height='11.5' rx='1.75' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M1.25 6.1h13.5' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") 50%/contain no-repeat}.content button[command=show-modal]:hover{border-color:var(--brand);background:var(--brand-subtle)}.content button[command=show-modal]:focus-visible{outline:2px solid var(--brand);outline-offset:2px}html:has(.content dialog[open]){overflow:hidden}.content dialog:not([open]){display:none}.content dialog[open]{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);box-shadow:none;overscroll-behavior:contain;background:0 0;border:0;border-radius:0;place-items:safe center center;margin:0;padding:1.25rem;display:grid;overflow:auto}.content dialog .md-modal-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);width:min(64rem,100%);box-shadow:var(--shadow-lg);padding:.85rem 1.25rem 1.15rem}.content dialog::backdrop{backdrop-filter:blur(3px);background:#0a0a0c8c}.content dialog .md-modal-close{float:right;appearance:none;width:1.75rem;height:1.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;margin:0 0 .25rem .75rem;padding:0;font-size:2rem;line-height:1}.content dialog .md-modal-close:hover{background:var(--bg-subtle);color:var(--text)}.content dialog .md-modal-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.content dialog :is(h1,h2,h3,h4,h5,h6):first-of-type{margin-top:.35rem}.content dialog iframe{aspect-ratio:16/9;border-radius:var(--radius-sm);background:#111;border:0;width:100%;height:auto;margin:.75rem 0 1rem;display:block}.content dialog .exercise-gif{background:var(--bg-subtle);object-fit:contain;width:auto;max-width:100%;max-height:min(52vh,36rem);margin:.65rem auto .35rem;display:block}.content dialog .exercise-actions{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem;display:flex}a.exercise-yt{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);border-radius:6px;align-items:center;gap:.45rem;padding:.4rem .75rem;font-size:.92rem;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}a.exercise-yt:before{content:"";background-color:currentColor;flex:none;width:1em;height:1em}a.exercise-yt[href*=watch\?v]:before{filter:grayscale();background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 180'%3E%3Cpath fill='%23ff0000' d='M250.346 28.075A32.18 32.18 0 0 0 227.69 5.418C207.824 0 127.87 0 127.87 0S47.912.164 28.046 5.582A32.18 32.18 0 0 0 5.39 28.24c-6.009 35.298-8.34 89.084.165 122.97a32.18 32.18 0 0 0 22.656 22.657c19.866 5.418 99.822 5.418 99.822 5.418s79.955 0 99.82-5.418a32.18 32.18 0 0 0 22.657-22.657c6.338-35.348 8.291-89.1-.164-123.134'/%3E%3Cpath fill='%23fff' d='m102.421 128.06l66.328-38.418l-66.328-38.418z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;width:1.15em;height:1.15em}a.exercise-yt[href*=search_query]:before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='4.2' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M10.2 10.2 13.4 13.4' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='4.2' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M10.2 10.2 13.4 13.4' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat}a.exercise-yt:hover{border-color:var(--brand);background:var(--brand-subtle);color:var(--brand)}a.exercise-yt:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.content :is(ul,ol).contains-task-list{padding-left:.1rem;list-style:none}.content .task-list-item{margin:.4rem 0;list-style:none}.content .task-list-item::marker{content:""}.content .task-list-item input[type=checkbox]{-webkit-appearance:none;appearance:none;border:1.5px solid var(--border-strong);background-color:var(--bg-elevated);vertical-align:-.18em;cursor:pointer;background-position:50%;background-repeat:no-repeat;background-size:.72rem;border-radius:5px;width:1.15rem;height:1.15rem;margin:0 .2rem;transition:border-color .14s,background-color .14s,box-shadow .14s;box-shadow:inset 0 1px 2px #0f12190a}.content .task-list-item input[type=checkbox]:hover{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-subtle)}.content .task-list-item input[type=checkbox]:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.content .task-list-item input[type=checkbox]:checked{border-color:var(--brand);background-color:var(--brand);box-shadow:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.2 8.3 6.4 11.4 12.8 4.6'/%3E%3C/svg%3E")}.toc-side{display:none}.toc-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .65rem;font-size:.78rem;font-weight:700;line-height:1.2}.toc .toc-list{margin:0;padding:0;list-style:none}.toc .toc-list .toc-list{margin-left:.75rem}.toc a{color:var(--text-muted);transition:color var(--transition-fast), border-color var(--transition-fast);border-left:2px solid #0000;border-radius:0 4px 4px 0;padding:.28rem .35rem .28rem .7rem;font-size:.92rem;line-height:1.35;text-decoration:none;display:block}.toc a:hover,.toc a:focus-visible{color:var(--brand)}.toc a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.toc a.is-active{border-left-color:var(--brand);color:var(--brand);font-weight:600}.toc-root{border-left:1px solid var(--border)}.content .toc-inline details>.toc-root{margin:.35rem .85rem .85rem}@media (width>=1100px){main:has(.toc-side){width:61.5rem;max-width:calc(100% - 2em)}.post-layout:has(.toc-side){grid-template-columns:minmax(0,45rem) 14rem;justify-content:center;align-items:start;column-gap:2.5rem;display:grid}.post-layout:has(.toc-side) .content{width:auto;max-width:none;margin:0}.post-layout:has(.toc-side) .toc-inline{display:none}.toc-side{scrollbar-width:thin;max-height:calc(100vh - 6.5rem);margin-top:2.75rem;display:block;position:sticky;top:5rem;overflow:auto}}@media (prefers-reduced-motion:no-preference){html:has(.toc){scroll-behavior:smooth}}.channels{flex-wrap:wrap;display:flex}.channel{margin:10px}.channel img{border-radius:50%}.site-header[data-astro-cid-frxmfoht]{z-index:30;background-blend-mode:soft-light, multiply;background-color:#d35244;background-image:linear-gradient(#ffffff24,#00000014),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");position:sticky;top:0;box-shadow:0 1px #0000001f}[data-theme=dark] .site-header[data-astro-cid-frxmfoht]{box-shadow:none;background:#23272f;border-bottom:1px solid #ffffff14}.nav-main[data-astro-cid-frxmfoht]{justify-content:space-between;align-items:center;max-width:72rem;height:4.25rem;margin:0 auto;padding:0 1rem;display:flex;position:relative}.site-logo[data-astro-cid-frxmfoht]{align-items:center;gap:.65rem;padding:.25rem;text-decoration:none;display:flex}.logo-image[data-astro-cid-frxmfoht]{box-sizing:content-box;border:1px solid var(--border);height:2.4rem;box-shadow:var(--shadow-sm);transition:transform var(--transition-med), box-shadow var(--transition-med);background-color:#fff;border-radius:10px;padding:.2rem}.site-logo[data-astro-cid-frxmfoht]:hover .logo-image[data-astro-cid-frxmfoht]{box-shadow:var(--shadow-md);transform:rotate(-5deg)scale(1.25)}.nav-actions[data-astro-cid-frxmfoht]{align-items:center;gap:.25rem;display:flex}.icon-button[data-astro-cid-frxmfoht]{border-radius:var(--radius-sm);color:#ffffffb8;cursor:pointer;width:2.4rem;height:2.4rem;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.icon-button[data-astro-cid-frxmfoht]:hover,.icon-button[data-astro-cid-frxmfoht]:focus-visible{color:#fff;background:#ffffff1a}.icon-button[data-astro-cid-frxmfoht] [data-astro-cid-frxmfoht][data-icon]{font-size:1.15rem}.mobile-burger-button[data-astro-cid-frxmfoht] [data-astro-cid-frxmfoht][data-icon]{font-size:1.3rem}.theme-toggle[data-astro-cid-frxmfoht] .icon-sun[data-astro-cid-frxmfoht]{display:none}[data-theme=dark] .theme-toggle[data-astro-cid-frxmfoht] .icon-sun[data-astro-cid-frxmfoht]{display:block}[data-theme=dark] .theme-toggle[data-astro-cid-frxmfoht] .icon-moon[data-astro-cid-frxmfoht],.nav-links-desktop[data-astro-cid-frxmfoht]{display:none}.nav-mobile[data-astro-cid-frxmfoht]{box-shadow:var(--shadow-lg);background:#c4473a;border-top:1px solid #ffffff2e}[data-theme=dark] .nav-mobile[data-astro-cid-frxmfoht]{background:#1c2028;border-top-color:#ffffff14}.nav-mobile[data-astro-cid-frxmfoht] .mobile-menu-item{color:#ffffffd9;font-family:var(--font-display);border-bottom:1px solid #ffffff14;padding:1.1rem 1.5rem;font-size:1.1rem;font-weight:500;text-decoration:none;display:block}.nav-mobile[data-astro-cid-frxmfoht] .mobile-menu-item:hover{color:#fff;background:#ffffff1a}.nav-mobile[data-astro-cid-frxmfoht] .mobile-menu-item.selected-menu-item{color:#fff;background:#0000001f}[data-theme=dark] .nav-mobile[data-astro-cid-frxmfoht] .mobile-menu-item:hover{color:#e87a6c;background:#ffffff0f}[data-theme=dark] .nav-mobile[data-astro-cid-frxmfoht] .mobile-menu-item.selected-menu-item{color:#e87a6c;background:0 0}.nav-mobile[data-astro-cid-frxmfoht] .social-mobile a{color:#ffffffd9}body.search-locked{overflow:hidden}.search-overlay[data-astro-cid-frxmfoht]{z-index:40;backdrop-filter:blur(6px);color:var(--text);font-family:var(--font-body);text-align:left;background:#0a0a0e66;position:fixed;inset:0;overflow:auto}.search-overlay[data-astro-cid-frxmfoht][hidden]{display:none}.search-sheet[data-astro-cid-frxmfoht]{width:min(46rem,100% - 2rem);margin:0 auto;padding:1.5rem 0 3rem}.search-panel[data-astro-cid-frxmfoht]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1rem 1.5rem 1.25rem}@media (prefers-reduced-motion:no-preference){.search-panel[data-astro-cid-frxmfoht]{animation:.22s cubic-bezier(.22,1,.36,1) both search-pop}@keyframes search-pop{0%{opacity:0;transform:translateY(-8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}}.search-field[data-astro-cid-frxmfoht]{border-bottom:1px solid var(--border);align-items:center;gap:.85rem;padding:.35rem 0 .85rem;display:flex}.search-field[data-astro-cid-frxmfoht] [data-astro-cid-frxmfoht][data-icon=fa6-solid\:magnifying-glass]{color:var(--text-muted);flex:none;font-size:1.15rem}.search-field[data-astro-cid-frxmfoht] input[data-astro-cid-frxmfoht]{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:.35rem 0;font-size:1.35rem;line-height:1.3}.search-field[data-astro-cid-frxmfoht] input[data-astro-cid-frxmfoht]::placeholder{color:var(--text-faint)}.search-close[data-astro-cid-frxmfoht]{color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:.45rem;padding:.25rem;display:flex}.search-close[data-astro-cid-frxmfoht] kbd[data-astro-cid-frxmfoht]{border:1px solid var(--border-strong);color:var(--text-muted);border-radius:6px;padding:.15rem .4rem;font-family:inherit;font-size:.75rem;line-height:1.4;display:none}.search-close[data-astro-cid-frxmfoht] [data-astro-cid-frxmfoht][data-icon]{font-size:1.25rem}.search-close[data-astro-cid-frxmfoht]:hover,.search-close[data-astro-cid-frxmfoht]:focus-visible{color:var(--text)}.search-hint[data-astro-cid-frxmfoht]{color:var(--text-muted);margin:1.25rem 0 0;font-size:.95rem}.search-hint[data-astro-cid-frxmfoht][hidden]{display:none}.search-results[data-astro-cid-frxmfoht]{margin-top:.75rem}.search-results[data-astro-cid-frxmfoht][hidden]{display:none}.search-results[data-astro-cid-frxmfoht] .search-group{border-bottom:1px solid var(--border);padding:.85rem 0}.search-results[data-astro-cid-frxmfoht] .search-group:last-child{border-bottom:0}.search-results[data-astro-cid-frxmfoht] .search-type{background:var(--brand-subtle);color:var(--brand);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin:0 0 .35rem;padding:.12rem .5rem;font-size:.68rem;font-weight:600;line-height:1.5;display:inline-block}.search-results[data-astro-cid-frxmfoht] .search-page{padding:.2rem .15rem;font-weight:600;display:block}.search-results[data-astro-cid-frxmfoht] a{color:var(--text);border-radius:8px;padding:.35rem .45rem;text-decoration:none;display:block}.search-results[data-astro-cid-frxmfoht] a:hover,.search-results[data-astro-cid-frxmfoht] a:focus-visible{background:var(--bg-subtle)}.search-results[data-astro-cid-frxmfoht] .search-headings{margin:.15rem 0 0;padding:0;list-style:none}.search-results[data-astro-cid-frxmfoht] .search-headings a{color:var(--text-muted);padding-left:.9rem;font-size:.98rem}.search-results[data-astro-cid-frxmfoht] .search-empty{color:var(--text-muted);margin:1rem 0 0}@media (width>=750px){.mobile-burger-button[data-astro-cid-frxmfoht],.nav-mobile[data-astro-cid-frxmfoht]{display:none}.nav-links-desktop[data-astro-cid-frxmfoht]{flex-grow:1;justify-content:center;align-items:center;gap:.5rem;font-size:1rem;display:flex}.search-sheet[data-astro-cid-frxmfoht]{padding-top:12vh}.search-close[data-astro-cid-frxmfoht] kbd[data-astro-cid-frxmfoht]{display:inline-block}.nav-links-desktop[data-astro-cid-frxmfoht] a{color:#ffffffb8;font-family:var(--font-display);border-radius:var(--radius-sm);transition:color var(--transition-fast);padding:.35rem .85rem;font-weight:500;text-decoration:none;position:relative}.nav-links-desktop[data-astro-cid-frxmfoht] a:after{content:"";transform-origin:0;background:#fff;border-radius:2px;height:2px;transition:transform .26s cubic-bezier(.22,1,.36,1);display:block;position:absolute;bottom:0;left:.85rem;right:.85rem;transform:scaleX(0)}.nav-links-desktop[data-astro-cid-frxmfoht] a:hover{color:#fff}.nav-links-desktop[data-astro-cid-frxmfoht] a:hover:after{transform:scaleX(1)}.nav-links-desktop[data-astro-cid-frxmfoht] a.selected-menu-item{color:#fff}[data-theme=dark] .nav-links-desktop[data-astro-cid-frxmfoht] a:after{background:#e87a6c}[data-theme=dark] .nav-links-desktop[data-astro-cid-frxmfoht] a.selected-menu-item{color:#e87a6c}.nav-links-desktop[data-astro-cid-frxmfoht] a.selected-menu-item:after{transform:scaleX(1)}}a[data-astro-cid-qedcz6mo]{color:var(--text-muted);transition:color var(--transition-fast);text-decoration:none}a[data-astro-cid-qedcz6mo]:hover,a[data-astro-cid-qedcz6mo]:focus-visible{color:var(--brand)}[data-astro-cid-qedcz6mo][data-icon]{font-size:1.6rem}.social-mobile[data-astro-cid-qedcz6mo]{gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.social-footer[data-astro-cid-qedcz6mo]{justify-content:center;gap:1.5rem;padding:.15rem 0 .85rem;display:flex}footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted);text-align:center;user-select:none;margin-top:auto;padding:2rem 1rem 2.25rem}.typing-container[data-astro-cid-jo6i4kqk]{font-size:1.05rem;font-weight:400;font-family:var(--font-display)}.typing-container[data-astro-cid-jo6i4kqk] span[data-astro-cid-jo6i4kqk]{color:var(--brand);font-weight:600}.typing-container[data-astro-cid-jo6i4kqk] span[data-astro-cid-jo6i4kqk]:after{content:"|";animation-name:blinking;animation-duration:.71s;animation-iteration-count:infinite}@keyframes blinking{0%{color:#0000}to{color:var(--text-faint)}}
