:root{--radius:.75rem;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--font-label:var(--font-mono);--header-h:3.5rem;--content-w:68rem;--font-head:"Space Grotesk Variable", "Space Grotesk Fallback", var(--font-body);--step--1:.8125rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:clamp(1.4rem, 1.1rem + 1vw, 1.75rem);--step-3:clamp(1.75rem, 1.3rem + 1.6vw, 2.25rem);--step-4:clamp(2.25rem, 1.4rem + 3.4vw, 3.5rem);--glow:color-mix(in srgb, var(--accent) 28%, transparent)}:root[data-theme=green]{color-scheme:light;--bg:#f3f7ec;--bg-elev:#fff;--fg:#1b2712;--fg-muted:#46563a;--border:#c9d6b8;--border-strong:#6b8552;--accent:#3a6a1c;--accent-fg:#fff;--focus:#1f5fbf}:root,:root[data-theme=dark]{color-scheme:dark;--bg:#11150e;--bg-elev:#1a2015;--fg:#e9f0df;--fg-muted:#aebb9f;--border:#2f3a26;--border-strong:#6f8560;--accent:#8fd15a;--accent-fg:#0f1509;--focus:#7db4ff}:root[data-theme=mint]{color-scheme:light;--bg:#eef7f1;--bg-elev:#fbfefc;--fg:#10251a;--fg-muted:#3b5747;--border:#c2dbcb;--border-strong:#4f7d63;--accent:#14673a;--accent-fg:#fff;--focus:#1f5fbf}:root[data-side=professional]{--font-head:"Space Grotesk Variable", "Space Grotesk Fallback", var(--font-body)}:root[data-side=personal]{--font-head:"Pixelify Sans Variable", "Pixelify Sans Fallback", var(--font-body);--font-label:"Pixelify Sans Variable", "Pixelify Sans Fallback", var(--font-mono)}:root[data-side=professional][data-theme=green]{--accent:#2f6a17;--accent-fg:#fff;--focus:#1f5fbf;--fx-1:#35a52a}:root[data-side=professional][data-theme=dark]{--accent:#8fd15a;--accent-fg:#0f1509;--focus:#7db4ff;--fx-1:#6fe23c}:root[data-side=personal][data-theme=mint]{--accent:#14673a;--accent-fg:#fff;--focus:#1f5fbf;--fx-1:#10b87c}:root[data-side=personal][data-theme=dark]{--accent:#4fe0a0;--accent-fg:#04140b;--focus:#7db4ff;--fx-1:#22eaa0}[id]{scroll-margin-top:1rem}@media print{:root[data-theme=dark],:root[data-side][data-theme=dark]{color-scheme:light;--bg:#fff;--bg-elev:#fff;--fg:#111;--fg-muted:#333;--border:#bbb;--border-strong:#666;--accent:#1f5a10;--accent-fg:#fff;--focus:#1f5fbf}}@font-face{font-family:Space Grotesk Variable;src:url(/_astro/SpaceGrotesk-Variable.BhU9QXUp.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk Fallback;src:local(Arial),local(Helvetica);size-adjust:103%;ascent-override:95.5%;descent-override:28.3%;line-gap-override:0%}@font-face{font-family:Pixelify Sans Variable;src:url(/_astro/PixelifySans-Variable.Cbhn5ptY.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Pixelify Sans Fallback;src:local(Arial),local(Helvetica);size-adjust:109%;ascent-override:84%;descent-override:26%;line-gap-override:0%}h1,h2,h3,h4,.brand,.stat-value{font-family:var(--font-head);letter-spacing:-.01em}h1{font-size:var(--step-4);letter-spacing:-.02em;line-height:1.08}h2{font-size:var(--step-3);line-height:1.15}h3{font-size:var(--step-1);line-height:1.25}h4{font-size:var(--step-0)}[data-side=personal] :is(h1,h2,h3,h4,.brand,.stat-value){letter-spacing:.02em}.eyebrow{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 .5rem;font-weight:600;display:block}.eyebrow:before{content:"// ";content:"// " / ""}.meta{color:var(--fg-muted);font-size:var(--step--1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + .5rem);scroll-padding-bottom:calc(var(--tabbar-off,0px) + 4.25rem);overflow-x:clip}body{background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font-body);flex-direction:column;margin:0;font-size:1.0625rem;line-height:1.6;display:flex;overflow-x:clip}main{flex:1}h1,h2,h3{text-wrap:balance;margin:0 0 .75rem}p{text-wrap:pretty;margin:0 0 1rem}a{color:var(--accent);text-underline-offset:.2em}img,svg{max-width:100%;height:auto}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.container{width:min(100% - 2rem, var(--content-w));margin-inline:auto}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:var(--accent-fg);border-radius:var(--radius);padding:.6rem 1rem;text-decoration:none;position:absolute;top:-4rem;left:.5rem}.skip-link:focus{top:.5rem}[hidden]{display:none!important}main:focus{outline:none}.section{border-top:1px solid var(--border);padding-block:2rem}@media (width<=40rem){.section{padding-block:1.5rem}}@media (width>=48rem){.section{padding-block:3rem}}.section>.container>h2{margin-bottom:1.25rem}.section.section-page{border-top:0;padding-block:1.5rem 3rem}.section-page>.container>h1{margin-bottom:.75rem}.btn{border-radius:var(--radius);min-height:2.75rem;font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.4rem 1.1rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-secondary{color:var(--fg);border-color:var(--border-strong);background:0 0}.btn-secondary:hover{background:var(--bg-elev)}.btn-primary:hover{filter:brightness(1.08)}.btn-sm{min-height:2.5rem;padding-inline:.9rem;font-size:.95rem}.chip{border:1px solid var(--border-strong);font-size:var(--step--1);color:var(--fg);background:var(--bg-elev);border-radius:999px;align-items:center;gap:.4rem;padding:.15rem .7rem;display:inline-flex}:is(.l-wip-badge,.pl-tag,.l-site-badge){box-shadow:inset 3px 0 0 var(--accent);color:#fff;font-family:var(--font-label);letter-spacing:.06em;text-transform:uppercase;background:#000c;border-radius:0;padding:.1rem .5rem;font-size:.75rem;line-height:1.3}.see-all{white-space:nowrap;align-items:center;min-height:2.75rem;font-weight:600;display:inline-flex}.chip:is([aria-pressed=true],[aria-selected=true]),input:checked+.chip{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.chip .n{background:var(--bg);color:var(--fg-muted);font-family:var(--font-mono);border-radius:999px;padding-inline:.4rem}.tag{border:1px solid var(--border);color:var(--fg-muted);background:var(--bg);border-radius:999px;padding:.1rem .6rem;font-size:.85rem;display:inline-block}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;position:relative}@media (hover:hover){.card:has(.card-link):hover{border-color:var(--border-strong)}}.card-link{min-block-size:2.75rem;color:var(--fg);align-items:center;text-decoration:none;display:inline-flex}.card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.card-link:hover,.card-link:focus-visible{text-underline-offset:.2em;text-decoration:underline 2px}@supports selector(:has(a)){.card-link:focus-visible{outline:none}.card:has(.card-link:focus-visible){outline:3px solid var(--focus);outline-offset:2px}}.card-cta{color:var(--accent);font-weight:600}.card-source{z-index:2;width:2.75rem;height:2.75rem;color:var(--fg-muted);border-radius:50%;place-items:center;display:inline-grid;position:relative}.card-source:hover{color:var(--fg);background:var(--bg)}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-group(site-header){animation-duration:0s}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}::view-transition-old(root){animation:.12s linear both vt-out}::view-transition-new(root){animation:.22s ease-out both vt-in}html:active-view-transition-type(personal)::view-transition-old(root){animation:.16s steps(4,end) both vt-out}html:active-view-transition-type(personal)::view-transition-new(root){animation:.24s steps(6,end) both vt-pixel}html:active-view-transition-type(cross)::view-transition-new(root){animation:.3s cubic-bezier(.2,.8,.2,1) both vt-power}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(12px)}}@keyframes vt-pixel{0%{opacity:.3;clip-path:inset(42% 0)}}@keyframes vt-power{0%{filter:brightness(3);transform:scaleY(.006)}60%{filter:brightness(3);transform:scaleY(.006)}to{filter:none;transform:none}}}:root[data-side=personal]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='28' viewBox='0 0 9 14' shape-rendering='crispEdges'%3E%3Cpath d='M0 0h1v1h-1zM0 1h2v1h-2zM0 2h1v1h-1zM2 2h1v1h-1zM0 3h1v1h-1zM3 3h1v1h-1zM0 4h1v1h-1zM4 4h1v1h-1zM0 5h1v1h-1zM5 5h1v1h-1zM0 6h1v1h-1zM6 6h1v1h-1zM0 7h1v1h-1zM7 7h1v1h-1zM0 8h1v1h-1zM8 8h1v1h-1zM0 9h1v1h-1zM5 9h4v1h-4zM0 10h1v1h-1zM3 10h1v1h-1zM6 10h1v1h-1zM0 11h1v1h-1zM2 11h1v1h-1zM4 11h1v1h-1zM7 11h1v1h-1zM0 12h2v1h-2zM4 12h1v1h-1zM7 12h1v1h-1zM5 13h3v1h-3z'/%3E%3Cpath fill='%23fff' d='M1 2h1v1h-1zM1 3h2v1h-2zM1 4h3v1h-3zM1 5h4v1h-4zM1 6h5v1h-5zM1 7h6v1h-6zM1 8h7v1h-7zM1 9h4v1h-4zM1 10h2v1h-2zM4 10h2v1h-2zM1 11h1v1h-1zM5 11h2v1h-2zM5 12h2v1h-2z'/%3E%3C/svg%3E") 0 0,auto}:root[data-side=personal] :is(a,button,summary,label,[role=button],.btn,.chip){cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='28' viewBox='0 0 9 14' shape-rendering='crispEdges'%3E%3Cpath d='M0 0h1v1h-1zM0 1h2v1h-2zM0 2h1v1h-1zM2 2h1v1h-1zM0 3h1v1h-1zM3 3h1v1h-1zM0 4h1v1h-1zM4 4h1v1h-1zM0 5h1v1h-1zM5 5h1v1h-1zM0 6h1v1h-1zM6 6h1v1h-1zM0 7h1v1h-1zM7 7h1v1h-1zM0 8h1v1h-1zM8 8h1v1h-1zM0 9h1v1h-1zM5 9h4v1h-4zM0 10h1v1h-1zM3 10h1v1h-1zM6 10h1v1h-1zM0 11h1v1h-1zM2 11h1v1h-1zM4 11h1v1h-1zM7 11h1v1h-1zM0 12h2v1h-2zM4 12h1v1h-1zM7 12h1v1h-1zM5 13h3v1h-3z'/%3E%3Cpath fill='%23fff' d='M1 2h1v1h-1zM1 3h2v1h-2zM1 4h3v1h-3zM1 5h4v1h-4zM1 6h5v1h-5zM1 7h6v1h-6zM1 8h7v1h-7zM1 9h4v1h-4zM1 10h2v1h-2zM4 10h2v1h-2zM1 11h1v1h-1zM5 11h2v1h-2zM5 12h2v1h-2z'/%3E%3Cpath d='M6 1h1v1h-1zM5 2h1v1h-1zM7 2h1v1h-1zM6 3h1v1h-1z'/%3E%3Cpath fill='%23fff' d='M6 2h1v1h-1z'/%3E%3C/svg%3E") 0 0,pointer}:root[data-side=personal] :focus-visible{box-shadow:4px 4px 0 0 var(--focus)}@media (prefers-reduced-motion:no-preference){body{transition:background-color .2s,color .2s}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){main :is(.section:not(.section-page),.personal-block):not(:first-child){animation:linear both sec-in view();animation-range:entry entry 35%}@keyframes sec-in{0%{opacity:.25}}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (pointer:coarse){input:not([type=range],[type=checkbox],[type=radio],[type=color],[type=button],[type=submit]),textarea,select{font-size:16px!important}}.site-header{z-index:50;height:var(--header-h);background:var(--bg-elev);border-bottom:1px solid var(--border);view-transition-name:site-header;position:sticky;top:0}@supports (backdrop-filter:blur(1px)){.site-header{background:color-mix(in srgb, var(--bg-elev) 90%, transparent);backdrop-filter:blur(20px)saturate(1.6)}}@supports (animation-timeline:scroll()){.site-header{animation-name:hdr-lift;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range:0 64px}}@keyframes hdr-lift{to{border-bottom-color:color-mix(in srgb, var(--accent) 40%, var(--border));box-shadow:0 1px 14px -6px var(--glow), 0 12px 28px -20px #00000073}}@media (forced-colors:active){.site-header{-webkit-backdrop-filter:none;background:canvas;border-bottom-color:canvastext}}.bar{align-items:center;gap:.6rem;height:100%;display:flex}.brand-box{flex:auto;min-width:0;position:relative}.brand{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;color:var(--fg);font-size:1.05rem;font-weight:700;line-height:2.75rem;text-decoration:none;display:block;overflow:hidden}html[data-fx=running] .brand{transition:color .2s,translate .3s cubic-bezier(.2,.8,.2,1)}.brand:hover{color:var(--accent)}.brand-box:has(.now:not(:empty)) .brand{translate:0 -.3rem}@media (prefers-reduced-motion:reduce){.brand{transition:none}}.now{text-overflow:ellipsis;font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--accent);pointer-events:none;font-size:.75rem;font-weight:600;line-height:1rem;position:absolute;bottom:.2rem;left:0;right:0;overflow:hidden}.now:empty{display:none}.now:before{content:"";vertical-align:.1em;width:.375rem;height:.375rem;box-shadow:0 0 6px 1px var(--glow);background:currentColor;border-radius:50%;margin-right:.4rem;display:inline-block}@supports (animation-timeline:scroll()){.site-header:after{content:"";background:var(--accent);transform-origin:0;pointer-events:none;height:2px;animation-name:hdr-progress;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);position:absolute;bottom:-1px;left:0;right:0}:root[data-side=personal] .site-header:after{box-shadow:0 0 10px 1px var(--glow), 0 0 3px var(--accent)}}@keyframes hdr-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (width<=22.49rem){.now{display:none}.brand-box:has(.now:not(:empty)) .brand{translate:none}}@media (width<=29.99rem){.bar{gap:.375rem}.now{font-family:var(--font-body);letter-spacing:-.02em;text-transform:none;font-size:.75rem}.brand-rest{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.side-switch{isolation:isolate;border:1px solid var(--border-strong);border-radius:999px;flex:none;grid-template-columns:1fr 1fr;gap:2px;padding:2px;display:inline-grid;position:relative}.side-switch:before{content:"";z-index:-1;background:var(--accent);width:calc(50% - 3px);box-shadow:0 0 16px -4px var(--glow);view-transition-name:side-pill;border-radius:999px;position:absolute;top:2px;bottom:2px;left:2px}.side-switch:has(a:last-child[aria-current]) :before,.side-switch:has(a:last-child[aria-current]):before{transform:translate(calc(100% + 2px))}.side-switch a{min-height:2rem;color:var(--fg);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 .65rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.side-switch a:after{content:"";position:absolute;inset:-6px 0}@media (hover:hover){.side-switch a:not([aria-current]):hover{background:var(--bg)}}@media (width<=29.99rem){.side-switch a{padding-inline:.25rem;font-size:.75rem}}.panel-tools .appearance-panel-btn{display:none}@media (width<=22.49rem){.side-switch a{padding-inline:.35rem}.side-rest{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header .bar .appearance-btn{display:none}.panel-tools .appearance-panel-btn{display:inline-flex}}.side-switch a:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.side-switch a[aria-current=page]{color:var(--accent-fg)}.menu-btn{border:1px solid var(--border-strong);border-radius:var(--radius);width:2.75rem;height:2.75rem;color:var(--fg);cursor:pointer;background:0 0;flex:none;place-items:center;padding:0;display:inline-grid}.menu-btn[aria-expanded=true]{background:var(--bg)}.menu-btn .icon-close,.menu-btn[aria-expanded=true] .icon-open{display:none}.menu-btn[aria-expanded=true] .icon-close{display:block}.panel{max-height:calc(100dvh - var(--header-h));background:var(--bg-elev);border-bottom:1px solid var(--border);padding:.75rem 1rem 1.25rem;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 18px 32px -24px #00000080}.panel[data-open]{display:block}.site-nav ul{margin:0 0 1rem;padding:0;list-style:none;display:grid;position:relative}.nav-indicator{z-index:-1;background:color-mix(in srgb, var(--accent) 14%, transparent);height:2.25rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent), 0 0 18px -4px var(--glow);opacity:0;pointer-events:none;border-radius:999px;display:none;position:absolute;top:calc(50% - 1.125rem);left:0}html[data-fx=running] .nav-indicator{transition:transform .45s cubic-bezier(.2,.8,.2,1),width .45s cubic-bezier(.2,.8,.2,1),opacity .25s}.nav-indicator:after{content:"";background:var(--accent);height:2px;box-shadow:0 0 8px var(--glow);border-radius:999px;position:absolute;bottom:-.55rem;left:0;right:0;transform:scaleX(.4)}html[data-fx=running] .nav-indicator.snap{transition:opacity .25s}@media (prefers-reduced-motion:reduce){.nav-indicator,.site-nav a{transition:none!important}}.site-nav a{min-height:2.75rem;color:var(--fg-muted);border-bottom:2px solid #0000;align-items:center;text-decoration:none;display:flex}html[data-fx=running] .site-nav a{transition:color .3s}.site-nav a[aria-current=location]{color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);padding-left:.75rem}.site-nav a:hover{color:var(--fg);text-underline-offset:.3em;text-decoration:underline}.site-nav a[aria-current]{color:var(--fg);font-weight:600}.site-nav a[aria-current=page]{border-bottom-color:var(--accent)}.nav-more{display:none}.nav-more summary{min-height:2.75rem;color:var(--fg-muted);cursor:pointer;align-items:center;gap:.35rem;list-style:none;display:flex}.nav-more summary::-webkit-details-marker{display:none}.nav-more summary:after{content:"";border:2px solid;border-width:0 2px 2px 0;width:.4rem;height:.4rem;transform:translateY(-.1rem)rotate(45deg)}.nav-more summary:hover{color:var(--fg)}.nav-more summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.nav-more details:has(a[aria-current]) summary{color:var(--fg);font-weight:600}.panel-tools{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.mode-toggle{border:1px solid var(--border-strong);border-radius:999px;gap:2px;padding:2px;display:inline-flex}.mode-toggle button{width:2.25rem;height:2.25rem;color:var(--fg-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.mode-toggle button:hover{color:var(--fg)}.mode-toggle button[aria-pressed=true]{background:var(--bg);color:var(--fg);box-shadow:inset 0 0 0 1px var(--border-strong)}@media (width>=80rem) and (width<=89.99rem){.site-nav li a{padding-inline:.5rem}.site-header .bar{gap:.6rem}.btn-ic{display:none}}@media (width>=90rem){.btn-ic{display:inline-flex}}@media (width>=80rem){.btn-ic .btn-tx{display:none}.btn-sm.btn-ic{justify-content:center;min-width:2.75rem;min-height:2.75rem;padding-inline:0}.bar{gap:1rem;width:min(100% - 2rem,84rem)}.brand-box{flex:none;width:8.5rem}.brand-box:has(.now:not(:empty)) .brand{translate:0 -.45rem}.menu-btn{display:none}.panel,.panel[data-open]{background:0 0;border:0;flex:1;align-items:center;gap:1rem;max-height:none;padding:0;display:flex;position:static;overflow:visible}.site-nav ul{isolation:isolate;align-items:center;gap:.25rem;margin:0;display:flex}.nav-indicator{display:block}.nav-ov{display:none}.nav-more{display:block;position:relative}.nav-more details>ul{z-index:30;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--radius);gap:0;min-width:12rem;padding:.4rem .9rem;display:grid;position:absolute;top:100%;right:0}.nav-more details>ul a{min-height:2.75rem}.site-nav a,.nav-more summary{white-space:nowrap;letter-spacing:.005em;border:0;border-radius:999px;min-height:2.25rem;padding-inline:.8rem;font-size:.9375rem;font-weight:500}html[data-fx=running] :is(.site-nav a,.nav-more summary){transition:color .3s,background-color .2s}.site-nav a,.nav-more summary{position:relative}.site-nav a:after,.nav-more summary:before{content:"";position:absolute;inset:-.25rem 0}.site-nav a:hover,.nav-more summary:hover{color:var(--fg);background:color-mix(in srgb, var(--fg) 7%, transparent);text-decoration:none}.site-nav a[aria-current=location]:hover{background:0 0}.site-nav a:focus-visible,.nav-more summary:focus-visible{outline:3px solid var(--focus);outline-offset:0;border-radius:999px}.site-nav a[aria-current=location]{color:var(--fg);font-weight:inherit;box-shadow:none;padding-left:.8rem}.panel-tools{flex-wrap:nowrap;margin-left:auto}}.to-top{z-index:40;background:var(--bg-elev);width:2.75rem;height:2.75rem;color:var(--fg);border-radius:50%;place-items:center;display:grid;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 18px -10px #00000080}.to-top svg{fill:none;stroke-linecap:round;stroke-linejoin:round}.to-top path{stroke:currentColor;stroke-width:2.5px}.to-top-track{stroke:var(--border-strong);stroke-width:3px}.to-top-ring{stroke:var(--accent);stroke-width:3px;stroke-dasharray:1;transform-origin:50%;transform:rotate(-90deg)}.to-top:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (hover:hover){.to-top:hover{color:var(--accent)}}@supports (animation-timeline:scroll()){.to-top{animation-name:to-top-in;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range:50vh 100vh}.to-top-ring{animation-name:to-top-fill;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root)}}@keyframes to-top-in{0%{opacity:0;visibility:hidden}}@keyframes to-top-fill{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (forced-colors:active){.to-top{background:canvas;border:1px solid canvastext}}@media print{.to-top{display:none}}.site-footer{border-top:1px solid var(--border);color:var(--fg-muted);padding-block:1.75rem 1.25rem;font-size:.95rem}.footer-cols{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.25rem 2rem;display:grid}.footer-cols h2{font-size:var(--step--1);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 .4rem;font-weight:600}.footer-cols ul{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.footer-cols a{min-height:2.25rem;color:var(--fg);align-items:center;gap:.5rem;display:inline-flex;position:relative}.footer-cols a:after{content:"";position:absolute;inset:-.25rem 0}.footer-cols p{margin:0}.footer-bottom{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.footer-bottom.footer-notice{font-size:var(--step--1);color:var(--fg-muted);border-top:0;margin-top:.5rem;padding-top:0}@media (pointer:coarse){.side-switch a,.site-nav a,.nav-more summary,.footer-cols a,a.chip,.btn-sm{min-height:2.75rem}.footer-cols a{justify-content:center;min-width:2.75rem}}@media (width<=47.99rem){.btn-sm{min-height:2.75rem}}@media print{:root[data-side=professional] :is(.site-header,.site-footer,.social-rail,.skip-link,.to-top,.fx-region,.firefly-field,[data-cmdk],[data-crt]){display:none!important}:root[data-side=professional] body{color:#000;background:#fff}body:has(.tldr[open]) :not(:has(.tldr[open])):not(.tldr[open]):not(.tldr[open] *){display:none!important}.tldr[open]{color:#000;background:#fff;border:0;width:100%;max-height:none;padding:0;font-size:11pt;position:absolute;inset:0 auto auto 0;overflow:visible}.tldr[open]::backdrop{background:0 0}.tldr[open] a{color:#000}.tldr[open] .no-print{display:none}}@media (width<=40rem){:root[data-side=personal]{--tabbar-h:3rem;--tabbar-off:calc(var(--tabbar-h) + 2px + env(safe-area-inset-bottom))}:root[data-side=personal] body{padding-bottom:var(--tabbar-off)}:root[data-side=personal] .to-top,:root[data-side=personal] .crt-toast{bottom:calc(var(--tabbar-off) + .75rem)}:root[data-side=personal] .ach-toast{bottom:calc(var(--tabbar-off) + 5.25rem)}}.xp-bar{display:none}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){html:not([data-fx=static],[data-fx=paused]) .xp-bar{inset:var(--header-h) 0 auto;z-index:49;pointer-events:none;background:repeating-linear-gradient(90deg, var(--accent) 0 6px, transparent 6px 8px);height:4px;box-shadow:0 0 6px color-mix(in srgb, var(--accent) 60%, transparent);transform-origin:0;animation:steps(48,end) both xp-fill scroll(root);display:block;position:fixed;transform:scaleX(0)}}}@keyframes xp-fill{to{transform:scaleX(1)}}html[data-only] [data-xside=all],html[data-only=pro] [data-xside=me],html[data-only=me] [data-xside=pro],html[data-only=me][data-side=professional] .site-nav,html[data-only=me][data-side=professional] .panel-tools .btn{display:none!important}:root[data-side][data-theme][data-palette=cyberpunk]{color-scheme:dark;--bg:#0a0612;--bg-elev:#170c28;--fg:#f5f0ff;--fg-muted:#b9a8e0;--border:#2a1a40;--border-strong:#5a3f80;--accent:#ff2bd6;--accent-fg:#1a0018;--focus:#00e5ff}:root[data-side][data-theme][data-palette=sunset]{color-scheme:dark;--bg:#1c1008;--bg-elev:#2a1810;--fg:#fff2e2;--fg-muted:#e0b494;--border:#3a2418;--border-strong:#7a4a2a;--accent:#ff9d42;--accent-fg:#1c0f04;--focus:#ffd166}:root[data-side][data-theme][data-palette=mono]{color-scheme:dark;--bg:#0e0e0e;--bg-elev:#1a1a1a;--fg:#f2f2f2;--fg-muted:#b0b0b0;--border:#2c2c2c;--border-strong:#5c5c5c;--accent:#e6e6e6;--accent-fg:#0e0e0e;--focus:#8fd1ff}:root[data-side][data-theme][data-palette=gameboy]{color-scheme:dark;--bg:#0f380f;--bg-elev:#174217;--fg:#d0e4a0;--fg-muted:#a4c043;--border:#306230;--border-strong:#6b8c1f;--accent:#9bbc0f;--accent-fg:#0f380f;--focus:#e0f8d0}:root[data-side][data-theme][data-palette=nord]{color-scheme:dark;--bg:#2e3440;--bg-elev:#3b4252;--fg:#eceff4;--fg-muted:#c2cad8;--border:#434c5e;--border-strong:#616e88;--accent:#88c0d0;--accent-fg:#2e3440;--focus:#ebcb8b}@media print{:root[data-side][data-theme][data-palette]:not([data-palette=default]){color-scheme:light;--bg:#fff;--bg-elev:#fff;--fg:#111;--fg-muted:#333;--border:#bbb;--border-strong:#666;--accent:#1f5a10;--accent-fg:#fff;--focus:#1f5fbf}}:root[data-side=professional] .section{--px:8}:root[data-side=professional] #about{--px:0}:root[data-side=professional] #what-i-do{--px:4}:root[data-side=professional] :is(#skills,#code-snippets){--px:1}:root[data-side=professional] :is(#experience,#timeline){--px:2}:root[data-side=professional] :is(#education,#degree,#certs,#certifications,#blogs){--px:3}:root[data-side=professional] #achievements{--px:10}:root[data-side=professional] :is(#ccas,#open-source){--px:11}:root[data-side=professional] :is(#contact,#languages,#recruiter-faq,#talks){--px:12}:root[data-side=professional] #playground{--px:13}:root[data-side=professional] .section .eyebrow:before,:root[data-side=professional] .section:not(:has(.eyebrow))>.container>h2:before{content:"";vertical-align:middle;background:var(--accent);opacity:.7;block-size:16px;inline-size:16px;-webkit-mask:url(/_astro/icons.CEDtAITL.png) calc(var(--px) * -16px) 0 / 224px 16px no-repeat;mask:url(/_astro/icons.CEDtAITL.png) calc(var(--px) * -16px) 0 / 224px 16px no-repeat;image-rendering:pixelated;margin-block:-8px;margin-inline-end:.5em;display:inline-block}.bg-chooser[data-astro-cid-hhywy4ji]{gap:.6rem;display:grid}.bg-chooser-group[data-astro-cid-hhywy4ji]{grid-template-columns:1fr 1fr;gap:.25rem;display:grid}.bg-chooser-group[data-astro-cid-hhywy4ji]+.bg-chooser-group[data-astro-cid-hhywy4ji]{border-top:1px solid var(--border);padding-top:.6rem}.bg-chooser-group-label[data-astro-cid-hhywy4ji]{color:var(--fg-muted);font-size:var(--step--1);grid-column:1/-1;margin:0 0 .1rem;padding:0 .5rem;font-weight:600}.bg-swatch[data-astro-cid-hhywy4ji]{min-height:2.5rem;color:var(--fg);font:inherit;font-size:var(--step--1);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:.6rem;padding:.2rem .5rem;display:flex}.bg-swatch[data-astro-cid-hhywy4ji]:hover,.bg-swatch[data-astro-cid-hhywy4ji]:focus-visible{background:var(--bg)}.bg-swatch[data-astro-cid-hhywy4ji][aria-pressed=true]{font-weight:600}.bg-swatch-preview[data-astro-cid-hhywy4ji]{border:1px solid var(--border-strong);border-radius:0;flex-shrink:0;width:1.25rem;height:1.25rem}.bg-preview-default[data-astro-cid-hhywy4ji]{background:linear-gradient(135deg, var(--bg), var(--bg-elev))}.bg-preview-grid[data-astro-cid-hhywy4ji]{background-color:var(--bg);background-image:repeating-linear-gradient(0deg, var(--border-strong) 0 1px, transparent 1px 6px), repeating-linear-gradient(90deg, var(--border-strong) 0 1px, transparent 1px 6px)}.bg-preview-gradient[data-astro-cid-hhywy4ji]{background:radial-gradient(circle at 30% 30%, var(--accent), var(--bg-elev) 70%)}.bg-preview-noise[data-astro-cid-hhywy4ji]{background-color:var(--bg-elev);background-image:radial-gradient(var(--border-strong) 1px, transparent 1px);background-size:4px 4px}.bg-preview-solid[data-astro-cid-hhywy4ji]{background:var(--bg)}.palette-preview-default[data-astro-cid-hhywy4ji]{background:linear-gradient(135deg, var(--bg), var(--bg-elev))}.palette-preview-cyberpunk[data-astro-cid-hhywy4ji]{background:linear-gradient(135deg,#0a0612,#ff2bd6 60%,#00e5ff)}.palette-preview-sunset[data-astro-cid-hhywy4ji]{background:linear-gradient(135deg,#1c1008,#ff9d42 60%,#ffd166)}.palette-preview-mono[data-astro-cid-hhywy4ji]{background:linear-gradient(135deg,#0e0e0e,#e6e6e6 85%)}.palette-preview-gameboy[data-astro-cid-hhywy4ji]{background:linear-gradient(135deg,#0f380f,#306230 40%,#8bac0f 70%,#9bbc0f)}.palette-preview-nord[data-astro-cid-hhywy4ji]{background:linear-gradient(135deg,#2e3440,#88c0d0 60%,#eceff4)}.sfx-toggle[data-astro-cid-vm7andxp]{min-height:2.75rem;color:var(--fg);cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.sfx-toggle[data-astro-cid-vm7andxp] input[data-astro-cid-vm7andxp]{width:1.1rem;height:1.1rem;accent-color:var(--accent)}@media print{.sfx-toggle[data-astro-cid-vm7andxp]{display:none}}.fx-toggle[data-astro-cid-rm26lgge]{border:1px solid var(--border-strong);min-height:2.75rem;color:var(--fg);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:0 .9rem;display:inline-flex}.fx-toggle[data-astro-cid-rm26lgge][aria-pressed=true]{background:var(--fg);color:var(--bg)}.fx-toggle[data-astro-cid-rm26lgge]:hover{border-color:var(--fg)}@media print{.fx-toggle[data-astro-cid-rm26lgge]{display:none}}.appearance-btn[data-astro-cid-zbarfrcm]{border:1px solid var(--border-strong);border-radius:var(--radius);width:2.75rem;height:2.75rem;color:var(--fg);cursor:pointer;background:0 0;flex:none;place-items:center;padding:0;display:inline-grid}@media (hover:hover){.appearance-btn[data-astro-cid-zbarfrcm]:hover{border-color:var(--accent)}}.appearance-btn[data-astro-cid-zbarfrcm]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (width>=80rem){.appearance-btn[data-astro-cid-zbarfrcm]{order:1}}.appearance-pop[data-astro-cid-zbarfrcm]{inset:calc(var(--header-h) + 2.25rem) max(1rem, (100% - 68rem) / 2) auto auto;width:min(20rem,100% - 2rem);max-height:calc(100dvh - var(--header-h) - 3.25rem);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elev);color:var(--fg);box-shadow:0 24px 48px -24px #0009, 0 0 2.5rem -.75rem var(--glow);margin:0;padding:.75rem;position:fixed;overflow-y:auto}.appearance-pop[data-astro-cid-zbarfrcm]:popover-open{gap:.75rem;display:grid}@media (width>=80rem){.appearance-pop[data-astro-cid-zbarfrcm]{right:max(1rem,50% - 42rem)}}.appearance-pop[data-astro-cid-zbarfrcm]>*+*{border-top:1px solid var(--border);padding-top:.75rem}.appearance-row[data-astro-cid-zbarfrcm]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.appearance-label[data-astro-cid-zbarfrcm]{color:var(--fg-muted);font-size:var(--step--1);margin:0;font-weight:600}.ach-list[data-astro-cid-zbarfrcm]{gap:.4rem;margin:.6rem 0;padding:0;list-style:none;display:grid}.ach-list[data-astro-cid-zbarfrcm] li[data-astro-cid-zbarfrcm]{color:var(--fg-muted);font-size:var(--step--1);align-items:baseline;gap:.6rem;display:flex}.ach-list[data-astro-cid-zbarfrcm] li[data-astro-cid-zbarfrcm][data-got]{color:var(--fg)}.ach-ic[data-astro-cid-zbarfrcm]{text-align:center;flex:none;width:1.5rem}.ach-tx[data-astro-cid-zbarfrcm]{display:grid}.ach-t[data-astro-cid-zbarfrcm]{font-family:var(--font-head);font-weight:700}.ach-h[data-astro-cid-zbarfrcm]{color:var(--fg-muted);font-size:.8rem}.ach-count[data-astro-cid-zbarfrcm]{font-family:var(--font-head);font-size:var(--step--1);color:var(--accent)}.ach-pop[data-astro-cid-zbarfrcm]{min-height:2.75rem;font-size:var(--step--1);align-items:center;gap:.5rem;display:flex}.ach-pop[data-astro-cid-zbarfrcm] input[data-astro-cid-zbarfrcm]{width:1.1rem;height:1.1rem;accent-color:var(--accent)}@media (forced-colors:active){.appearance-pop[data-astro-cid-zbarfrcm]{background:canvas;border-color:canvastext}}@media (prefers-reduced-motion:no-preference){.appearance-pop[data-astro-cid-zbarfrcm]:popover-open{animation:.2s cubic-bezier(.2,.8,.2,1) appearance-pop}}@keyframes appearance-pop{0%{opacity:0;transform:translateY(-.5rem)}}@media print{.appearance-btn[data-astro-cid-zbarfrcm]{display:none}}.ff-hud{z-index:2;background:var(--bg-elev);color:var(--fg);font-family:var(--font-mono,monospace);box-shadow:0 0 10px var(--glow);align-items:center;gap:.6rem;padding:.15rem .6rem;font-size:.8rem;display:flex;position:absolute;top:100%;right:.75rem}.ff-hud[hidden],.ff-hud [hidden]{display:none}.ff-count:focus{outline:none}.ff-anchor{height:0;position:relative}.ff-catch{z-index:3;cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;display:grid;position:absolute}.ff-dot,.ff-jar-fill i{background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px 3px var(--glow);opacity:.55;border-radius:50%}.ff-catch:is(:hover,:focus-visible) .ff-dot{opacity:1}.ff-catch:focus-visible{outline:2px solid var(--focus,var(--accent))}@keyframes ff-poof{to{opacity:0;transform:scale(5)}}@keyframes ff-drift{to{transform:translate(6px,-8px)}}@media (prefers-reduced-motion:no-preference){html[data-fx=running] .ff-dot,html[data-fx=running] .ff-jar-fill i{animation:5s ease-in-out infinite alternate ff-drift}html[data-fx=running] .ff-catch[data-poof] .ff-dot{animation:.4s ease-out forwards ff-poof}}.ff-jar-fill{border:3px solid var(--fg);background:color-mix(in srgb, var(--bg-elev) 80%, transparent);width:min(16rem,100%);height:20rem;box-shadow:inset 0 0 24px var(--glow);border-top-width:10px;margin:2rem 3px;position:relative}.ff-jar-fill i{opacity:1;position:absolute}@property --sky-p{syntax:"<number>";inherits:true;initial-value:0}.sky-clock[data-astro-cid-bouycyuv]{--city:#050814;--water:#0b1430;--sun:#fff3c4;--glow:#ffe9a8;border:1px solid var(--border);background:color-mix(in srgb, var(--bg-elev) 85%, transparent);width:100%;max-width:20rem;box-shadow:0 0 2.5rem -.75rem color-mix(in srgb, var(--firefly) 35%, transparent);border-radius:1rem;padding:.45rem}.sky-clock[data-astro-cid-bouycyuv][data-phase=dawn]{--city:#191433;--water:#3a3262;--sun:#ffd79a;--glow:#ffb27a}.sky-clock[data-astro-cid-bouycyuv][data-phase=day]{--city:#2c4a66;--water:#3d7aa5;--sun:#fff6d0;--glow:#ffe27a}.sky-clock[data-astro-cid-bouycyuv][data-phase=dusk]{--city:#1a0f2a;--water:#45264a;--sun:#ffc48a;--glow:#ff9a5c}.sky-clock[data-astro-cid-bouycyuv][data-body=moon]{--glow:#dfe8ff}.sky[data-astro-cid-bouycyuv]{border-radius:.65rem;width:100%;height:auto;display:block}.bg[data-astro-cid-bouycyuv]{opacity:0}[data-astro-cid-bouycyuv][data-phase=night] .bg-night[data-astro-cid-bouycyuv],[data-astro-cid-bouycyuv][data-phase=dawn] .bg-dawn[data-astro-cid-bouycyuv],[data-astro-cid-bouycyuv][data-phase=day] .bg-day[data-astro-cid-bouycyuv],[data-astro-cid-bouycyuv][data-phase=dusk] .bg-dusk[data-astro-cid-bouycyuv]{opacity:1}.stars[data-astro-cid-bouycyuv]{fill:#fff;opacity:0}[data-astro-cid-bouycyuv][data-phase=night] .stars[data-astro-cid-bouycyuv]{opacity:.9}[data-astro-cid-bouycyuv]:is([data-phase=dawn],[data-phase=dusk]) .stars[data-astro-cid-bouycyuv]{opacity:.35}.arc[data-astro-cid-bouycyuv]{fill:none;stroke:#fff;stroke-opacity:.22;stroke-width:.8px;stroke-dasharray:1.5 3.5}.body[data-astro-cid-bouycyuv]{transform:translate(calc(160px - 135px * cos(var(--sky-p) * 180deg)), calc(100px - 78px * sin(var(--sky-p) * 180deg)))}.glint[data-astro-cid-bouycyuv]{fill:var(--glow);opacity:.45;transform:translate(calc(160px - 135px * cos(var(--sky-p) * 180deg)), 103.5px)}.sun[data-astro-cid-bouycyuv]{fill:var(--sun)}.moon[data-astro-cid-bouycyuv]{fill:#f3f0dc}[data-astro-cid-bouycyuv][data-body=sun] .moon[data-astro-cid-bouycyuv],[data-astro-cid-bouycyuv][data-body=moon] .sun[data-astro-cid-bouycyuv]{display:none}.city[data-astro-cid-bouycyuv],.flyer[data-astro-cid-bouycyuv]{fill:var(--city)}.flyer[data-astro-cid-bouycyuv]{fill:none;stroke:var(--city);stroke-width:1.6px}.windows[data-astro-cid-bouycyuv]{fill:#ffd98a;opacity:0}[data-astro-cid-bouycyuv][data-phase=night] .windows[data-astro-cid-bouycyuv]{opacity:.85}[data-astro-cid-bouycyuv]:is([data-phase=dawn],[data-phase=dusk]) .windows[data-astro-cid-bouycyuv]{opacity:.5}.water[data-astro-cid-bouycyuv]{fill:var(--water)}.shimmer[data-astro-cid-bouycyuv]{stroke:#fff;stroke-opacity:.18;stroke-width:.8px;stroke-linecap:round}.flies[data-astro-cid-bouycyuv]{opacity:0}[data-astro-cid-bouycyuv][data-phase=night] .flies[data-astro-cid-bouycyuv]{opacity:1}[data-astro-cid-bouycyuv][data-phase=dusk] .flies[data-astro-cid-bouycyuv]{opacity:.55}.flies[data-astro-cid-bouycyuv] g[data-astro-cid-bouycyuv]{transform:translate(var(--x), var(--y))}.flies[data-astro-cid-bouycyuv] circle[data-astro-cid-bouycyuv]{fill:#f2ffc8}.flies[data-astro-cid-bouycyuv] circle[data-astro-cid-bouycyuv]:first-child{fill:#a8ff6e;opacity:.3}.read[data-astro-cid-bouycyuv]{margin:0;padding:.5rem .4rem .15rem;line-height:1.25;display:grid}.time[data-astro-cid-bouycyuv]{font-family:var(--font-mono);font-size:var(--step-2);font-variant-numeric:tabular-nums;color:var(--fg);letter-spacing:-.02em;font-weight:600}.ap[data-astro-cid-bouycyuv]{color:var(--fg-muted);letter-spacing:0;font-size:.55em;font-weight:500}.status[data-astro-cid-bouycyuv]{color:var(--fg-muted);font-size:var(--step--1);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (prefers-reduced-motion:no-preference){html[data-fx=running] .sky-clock[data-astro-cid-bouycyuv]{animation:2.6s cubic-bezier(.3,.7,.2,1) backwards sky-rise}html[data-fx=running] [data-astro-cid-bouycyuv]:is(.bg,.stars,.windows,.flies){transition:opacity 2s}html[data-fx=running] .stars[data-astro-cid-bouycyuv] circle[data-astro-cid-bouycyuv]{animation:4s ease-in-out infinite sky-twinkle}html[data-fx=running] .colon[data-astro-cid-bouycyuv]{animation:2s ease-in-out infinite sky-blink}html[data-fx=running] .flies[data-astro-cid-bouycyuv] g[data-astro-cid-bouycyuv]{animation:7s ease-in-out infinite sky-fly}html[data-fx=running] .flies[data-astro-cid-bouycyuv] g[data-astro-cid-bouycyuv]:nth-child(odd){animation-duration:9s}}@keyframes sky-rise{0%{--sky-p:0}}@keyframes sky-twinkle{50%{opacity:.25}}@keyframes sky-blink{50%{opacity:.2}}@keyframes sky-fly{0%,to{transform:translate(var(--x), var(--y));opacity:1}30%{opacity:.35}50%{transform:translate(calc(var(--x) + 5px), calc(var(--y) - 4px))}75%{transform:translate(calc(var(--x) - 3px), calc(var(--y) - 2px));opacity:.9}}.sgt[data-astro-cid-x7ua2lma]{border:1px solid var(--border-strong,var(--border));background:var(--bg-elev);height:1.75rem;color:var(--fg);font-family:var(--font-mono);font-variant-numeric:tabular-nums;cursor:pointer;border-top:0;border-radius:0 0 .75rem .75rem;align-items:center;gap:.4rem;padding:0 .7rem;font-size:.75rem;font-weight:600;transition:color .2s,border-color .2s;display:inline-flex;position:absolute;top:100%;right:max(1rem,50% - 34rem);box-shadow:0 8px 18px -14px #00000080}.sgt[data-astro-cid-x7ua2lma]:after{content:"";position:absolute;inset:0 0 -1rem}@supports (backdrop-filter:blur(1px)){.sgt[data-astro-cid-x7ua2lma]{background:color-mix(in srgb, var(--bg-elev) 90%, transparent);backdrop-filter:blur(20px)saturate(1.6)}}@media (hover:hover){.sgt[data-astro-cid-x7ua2lma]:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}}.sgt[data-astro-cid-x7ua2lma]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sgt-time[data-astro-cid-x7ua2lma]{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:8ch;display:inline-block}.sgt-zone[data-astro-cid-x7ua2lma]{color:var(--fg-muted);font-size:var(--step--1);letter-spacing:.06em;font-weight:500}@media (width<=29.99rem){.sgt-zone[data-astro-cid-x7ua2lma]{display:none}}@media (width>=80rem){.sgt[data-astro-cid-x7ua2lma]{right:max(1rem,50% - 42rem)}}.sgt-sun[data-astro-cid-x7ua2lma]{fill:#f5b400}.sgt[data-astro-cid-x7ua2lma][data-phase=dawn] .sgt-sun[data-astro-cid-x7ua2lma],.sgt[data-astro-cid-x7ua2lma][data-phase=dusk] .sgt-sun[data-astro-cid-x7ua2lma]{fill:#f08a3c}.sgt-moon[data-astro-cid-x7ua2lma]{fill:#c9d4f5}:root[data-theme=green] .sgt-sun[data-astro-cid-x7ua2lma],:root[data-theme=mint] .sgt-sun[data-astro-cid-x7ua2lma]{fill:#c27a00}:root[data-theme=green] .sgt[data-astro-cid-x7ua2lma][data-phase=dawn] .sgt-sun[data-astro-cid-x7ua2lma],:root[data-theme=green] .sgt[data-astro-cid-x7ua2lma][data-phase=dusk] .sgt-sun[data-astro-cid-x7ua2lma],:root[data-theme=mint] .sgt[data-astro-cid-x7ua2lma][data-phase=dawn] .sgt-sun[data-astro-cid-x7ua2lma],:root[data-theme=mint] .sgt[data-astro-cid-x7ua2lma][data-phase=dusk] .sgt-sun[data-astro-cid-x7ua2lma]{fill:#c2501a}:root[data-theme=green] .sgt-moon[data-astro-cid-x7ua2lma],:root[data-theme=mint] .sgt-moon[data-astro-cid-x7ua2lma]{fill:#4a5a8c}.sgt[data-astro-cid-x7ua2lma][data-body=sun] .sgt-moon[data-astro-cid-x7ua2lma],.sgt[data-astro-cid-x7ua2lma][data-body=moon] .sgt-sun[data-astro-cid-x7ua2lma]{display:none}.sgt-glyph[data-astro-cid-x7ua2lma]{filter:drop-shadow(0 0 3px #ffd76ab3);flex:none}.sgt[data-astro-cid-x7ua2lma][data-body=moon] .sgt-glyph[data-astro-cid-x7ua2lma]{filter:drop-shadow(0 0 3px #c9d4f580)}.site-header:has(.panel[data-open]) .sgt[data-astro-cid-x7ua2lma]{visibility:hidden}.sky-pop[data-astro-cid-x7ua2lma]{inset:calc(var(--header-h) + 2.25rem) max(1rem, (100% - 68rem) / 2) auto auto;background:0 0;border:0;width:min(20rem,100% - 2rem);margin:0;padding:0;position:fixed;overflow:visible}@media (width>=80rem){.sky-pop[data-astro-cid-x7ua2lma]{right:max(1rem,50% - 42rem)}}.sky-pop[data-astro-cid-x7ua2lma]>.sky-clock{background:var(--bg-elev);max-width:none;box-shadow:0 24px 48px -24px #0009, 0 0 2.5rem -.75rem var(--glow)}@media (forced-colors:active){.sgt[data-astro-cid-x7ua2lma],.sky-pop[data-astro-cid-x7ua2lma]>.sky-clock{background:canvas;border:1px solid canvastext}}@media (prefers-reduced-motion:no-preference){html[data-fx=running] .sgt-colon[data-astro-cid-x7ua2lma]{animation:2s ease-in-out infinite sgt-blink}.sky-pop[data-astro-cid-x7ua2lma]:popover-open{animation:.28s cubic-bezier(.2,.8,.2,1) sgt-pop}}@keyframes sgt-blink{50%{opacity:.2}}@keyframes sgt-pop{0%{opacity:0;transform:translateY(-.5rem)scale(.98)}}.social-rail[data-astro-cid-ak7i7aac]{display:none}@media (width>=75rem){.social-rail[data-astro-cid-ak7i7aac]{z-index:5;flex-direction:column;align-items:center;gap:1.1rem;display:flex;position:fixed;top:50%;left:2rem;transform:translateY(-50%)}.social-rail[data-astro-cid-ak7i7aac]:before,.social-rail[data-astro-cid-ak7i7aac]:after{content:"";background:var(--border-strong);width:1px;height:2.5rem}.rail-icon[data-astro-cid-ak7i7aac]{color:var(--fg-muted);place-items:center;display:grid}.rail-icon[data-astro-cid-ak7i7aac]:hover,.rail-icon[data-astro-cid-ak7i7aac]:focus-visible{color:var(--accent)}}.firefly-field[data-astro-cid-nypsv6e3]{z-index:-1;pointer-events:none;opacity:0;width:100%;height:100%;display:block;position:fixed;inset:0}.firefly-field[data-astro-cid-nypsv6e3][data-ready]{opacity:1;transition:opacity 1.2s}@media print{.firefly-field[data-astro-cid-nypsv6e3]{display:none}}.cmdk-btn{border:1px solid var(--border-strong);border-radius:var(--radius);width:2.75rem;height:2.75rem;color:var(--fg);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;gap:.3rem;padding:0;display:inline-flex}.cmdk-btn kbd{font:600 .6875rem/1 var(--font-mono);color:var(--fg-muted);display:none}.cmdk-btn:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.cmdk-panel-btn{border:1px solid var(--border-strong);border-radius:var(--radius);min-height:2.75rem;color:var(--fg);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.4rem .9rem;font-size:.95rem;font-weight:600;display:none}@media (width<=29.99rem){.cmdk-btn{display:none}.cmdk-panel-btn{display:inline-flex}}@media (width>=80rem){.cmdk-btn{border-radius:999px;order:1;height:2.75rem}}.cmdk{background:var(--bg-elev);width:min(36rem,100% - 2rem);max-height:min(70vh,32rem);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius);margin:12vh auto auto;padding:0;box-shadow:0 24px 60px -20px #0009}.cmdk[open]{flex-direction:column;display:flex}.cmdk::backdrop{background:#0000008c}html:has(.cmdk[open]){overflow:hidden}.cmdk-input{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--fg);font:inherit;background:0 0;flex:none;padding:.9rem 1rem;font-size:1rem}.cmdk-input:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.cmdk-list{overscroll-behavior:contain;min-height:0;padding:.35rem;overflow-y:auto}.cmdk-h{font:600 var(--step--1) var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);padding:.6rem .65rem .25rem}.cmdk-o{border-radius:calc(var(--radius) - 2px);cursor:pointer;justify-content:space-between;align-items:baseline;gap:1rem;min-height:2.75rem;padding:.6rem .65rem;display:flex}.cmdk-o:hover{background:var(--bg)}.cmdk-o[aria-selected=true]{background:var(--bg);box-shadow:inset 3px 0 0 var(--accent)}.cmdk-hint{font-size:var(--step--1);color:var(--fg-muted);flex:none}.cmdk-keys{border-top:1px solid var(--border);font:var(--step--1) var(--font-mono);color:var(--fg-muted);flex:none;margin:0;padding:.5rem 1rem}.cmdk-empty{color:var(--fg-muted);margin:0;padding:1.25rem 1rem}@media (forced-colors:active){.cmdk-o[aria-selected=true]{outline:2px solid highlight}}.kbd-dlg{background:var(--bg-elev);width:min(26rem,100% - 2rem);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius);padding:1.25rem}.kbd-dlg::backdrop{background:#0000008c}.kbd-dlg h2{font-size:var(--step-1);margin:0 0 .75rem}.kbd-dlg dl{grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0 0 1rem;display:grid}.kbd-dlg dd{margin:0}.kbd-dlg kbd{font:600 var(--step--1) var(--font-mono);border:1px solid var(--border-strong);border-radius:3px;padding:.1rem .4rem}html[data-crt]:after{content:"";z-index:2147483000;pointer-events:none;background:repeating-linear-gradient(#00000024 0 1px,#0000 1px 3px),radial-gradient(#0000 60%,#00000059 100%);position:fixed;inset:0}@media (forced-colors:active){html[data-crt]:after{display:none}}.crt-toast{z-index:60;border:1px solid var(--border-strong);background:var(--bg-elev);max-width:calc(100% - 2rem);color:var(--fg);font-size:var(--step--1);pointer-events:none;border-radius:999px;margin:0;padding:.6rem 1rem;position:fixed;bottom:1.25rem;left:50%;translate:-50%}.crt-toast:empty{visibility:hidden}.tabbar[data-astro-cid-uqas34io]{display:none}@media (width<=40rem){.tabbar[data-astro-cid-uqas34io]{z-index:45;padding-bottom:env(safe-area-inset-bottom);background:var(--bg-elev);border-top:2px solid var(--border-strong);display:block;position:fixed;inset:auto 0 0}ul[data-astro-cid-uqas34io]{margin:0;padding:0;list-style:none;display:flex}li[data-astro-cid-uqas34io]{flex:1 1 0;min-width:0}a[data-astro-cid-uqas34io],button[data-astro-cid-uqas34io]{box-sizing:border-box;width:100%;min-height:var(--tabbar-h);color:var(--fg);font:inherit;font-family:var(--font-head);text-align:center;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:.3rem;padding:.25rem;font-size:.8rem;line-height:1.1;text-decoration:none;display:flex}a[data-astro-cid-uqas34io][aria-current],button[data-astro-cid-uqas34io][aria-expanded=true]{background:var(--accent);color:var(--accent-fg)}a[data-astro-cid-uqas34io]:focus-visible,button[data-astro-cid-uqas34io]:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}}@media print{.tabbar[data-astro-cid-uqas34io]{display:none}}.ach-toast{z-index:61;background:var(--bg-elev);width:max-content;max-width:calc(100% - 2.5rem);color:var(--fg);font-family:var(--font-head);text-align:center;pointer-events:none;box-shadow:0 -3px var(--fg), 0 3px var(--fg), -3px 0 var(--fg), 3px 0 var(--fg), inset 0 0 0 3px var(--bg-elev), inset 0 0 0 5px var(--border-strong);visibility:hidden;opacity:0;gap:.15rem;margin:0;padding:.55rem 1.1rem;display:grid;position:fixed;bottom:4.25rem;left:50%;translate:-50%}.ach-toast[data-show]{visibility:visible;opacity:1}.ach-kicker{color:var(--accent);font-size:var(--step--1);letter-spacing:.06em;font-weight:700}.ach-name{font-size:var(--step-0)}@media (prefers-reduced-motion:no-preference){.ach-toast{transition:opacity .25s,visibility .25s}}@media (forced-colors:active){.ach-toast{background:canvas;border:2px solid canvastext}}@media print{.ach-toast{display:none}}
