.window-body{scrollbar-color:#77736a transparent;scrollbar-width:thin}.eyebrow.svelte-1e9al5b{color:#777066;font:700 .61rem/1 var(--font-sans);letter-spacing:.11em;margin:0 0 1rem}h2.svelte-1e9al5b,h3.svelte-1e9al5b{font-family:var(--font-sans);letter-spacing:-.045em;margin:0;font-weight:500}.home-app.svelte-1e9al5b{min-height:100%}.profile-pane.svelte-1e9al5b{flex-direction:column;justify-content:center;min-height:100%;padding:clamp(2.5rem,5.5vw,4.5rem);display:flex}.identity.svelte-1e9al5b{align-items:center;gap:1rem;display:flex}.identity.svelte-1e9al5b img:where(.svelte-1e9al5b){object-fit:cover;background:#dedbd2;border:1px solid #c9c4ba;border-radius:50%;width:clamp(4.75rem,8vw,6rem);height:clamp(4.75rem,8vw,6rem)}.identity.svelte-1e9al5b h2:where(.svelte-1e9al5b){font-size:clamp(2.7rem,5.2vw,4rem);line-height:.94}.identity.svelte-1e9al5b div:where(.svelte-1e9al5b) p:where(.svelte-1e9al5b){color:#7c776e;font:.7rem var(--font-sans);margin:.5rem 0 0}.roles.svelte-1e9al5b{gap:.7rem;margin:1.65rem 0 0;font-size:1rem;font-weight:700;display:flex}.roles.svelte-1e9al5b span:where(.svelte-1e9al5b){color:#b5afa4}.lede.svelte-1e9al5b{color:#656158;max-width:39rem;margin:1.35rem 0 0;font-size:.92rem;line-height:1.65}.actions.svelte-1e9al5b{gap:.65rem;margin-top:1.75rem;display:flex}.button.svelte-1e9al5b{color:#292822;min-width:8.6rem;font:650 .7rem var(--font-sans);cursor:pointer;background:#f5f2eb;border:1px solid #c9c4b9;border-radius:.16rem;justify-content:space-between;align-items:center;gap:2rem;padding:.78rem .85rem;text-decoration:none;display:flex}.button.dark.svelte-1e9al5b{color:#f4f1e8;background:#22221e;border-color:#22221e}.page-app.svelte-1e9al5b{min-height:100%;padding:clamp(2rem,4vw,3.4rem)}.app-heading.svelte-1e9al5b h2:where(.svelte-1e9al5b),.contact-copy.svelte-1e9al5b h2:where(.svelte-1e9al5b){font-size:clamp(2.2rem,4.8vw,4rem);line-height:.98}.about-layout.svelte-1e9al5b{grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);margin-top:2.3rem;display:grid}.about-copy.svelte-1e9al5b p:where(.svelte-1e9al5b){color:#5f5c54;margin:0;font-size:.88rem;line-height:1.68}.about-copy.svelte-1e9al5b p:where(.svelte-1e9al5b)+p:where(.svelte-1e9al5b){margin-top:1rem}.stack-list.svelte-1e9al5b{border-top:1px solid #cfcac0;margin:0}.stack-list.svelte-1e9al5b div:where(.svelte-1e9al5b){border-bottom:1px solid #cfcac0;grid-template-columns:6.7rem 1fr;gap:1rem;padding:.8rem 0;display:grid}.stack-list.svelte-1e9al5b dt:where(.svelte-1e9al5b){color:#847f75;text-transform:uppercase;font-size:.64rem}.stack-list.svelte-1e9al5b dd:where(.svelte-1e9al5b){margin:0;font-size:.74rem;line-height:1.4}.work-heading.svelte-1e9al5b{justify-content:space-between;align-items:end;gap:1rem;display:flex}.work-heading.svelte-1e9al5b>a:where(.svelte-1e9al5b){color:#656159;text-underline-offset:.2rem;font-size:.68rem}.project-list.svelte-1e9al5b{border-top:1px solid #c8c3b9;margin-top:2rem}.project.svelte-1e9al5b{color:inherit;border-bottom:1px solid #c8c3b9;grid-template-columns:2rem 1fr auto;gap:1rem;padding:1.1rem 2.2rem 1.1rem 0;text-decoration:none;display:grid;position:relative}.project.svelte-1e9al5b:hover{background:#e7e2d8}.project-number.svelte-1e9al5b,.project-year.svelte-1e9al5b{color:#8a857b;font:.6rem var(--font-sans)}.project.svelte-1e9al5b h3:where(.svelte-1e9al5b){font-size:1.25rem}.project.svelte-1e9al5b p:where(.svelte-1e9al5b){color:#666159;max-width:42rem;margin:.32rem 0 0;font-size:.7rem;line-height:1.48}.project.svelte-1e9al5b ul:where(.svelte-1e9al5b){color:#817b71;text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;gap:.65rem;margin:.62rem 0 0;padding:0;font-size:.57rem;list-style:none;display:flex}.project-arrow.svelte-1e9al5b{transition:transform .12s;position:absolute;top:1.05rem;right:0}.project.svelte-1e9al5b:hover .project-arrow:where(.svelte-1e9al5b){transform:translate(.14rem,-.14rem)}.contact-app.svelte-1e9al5b{grid-template-columns:1fr minmax(14rem,.72fr);align-items:center;gap:clamp(2.5rem,8vw,7rem);display:grid}.contact-copy.svelte-1e9al5b>p:where(.svelte-1e9al5b):not(.eyebrow){color:#676259;max-width:31rem;margin:1.05rem 0 0;font-size:.83rem;line-height:1.6}.email-link.svelte-1e9al5b{color:#25241f;border-top:1px solid #c8c3b9;border-bottom:1px solid #c8c3b9;justify-content:space-between;align-items:center;max-width:31rem;margin-top:2rem;padding:.95rem 0;font-size:clamp(.95rem,2vw,1.3rem);text-decoration:none;display:flex}.contact-card.svelte-1e9al5b{border-top:1px solid #c8c3b9}.contact-card.svelte-1e9al5b>.eyebrow:where(.svelte-1e9al5b){padding-top:1rem}.contact-card.svelte-1e9al5b>a:where(.svelte-1e9al5b),.contact-card.svelte-1e9al5b>div:where(.svelte-1e9al5b){color:inherit;border-top:1px solid #d5d0c7;grid-template-columns:4.2rem 1fr auto;gap:.8rem;padding:.82rem 0;font-size:.68rem;text-decoration:none;display:grid}.contact-card.svelte-1e9al5b span:where(.svelte-1e9al5b){color:#837e74}.contact-card.svelte-1e9al5b strong:where(.svelte-1e9al5b){font-weight:600}.contact-card.svelte-1e9al5b i:where(.svelte-1e9al5b){font-style:normal}.terminal-app.svelte-1e9al5b{color:#c8c4b7;background:#10100ec7;min-height:100%;padding:1.35rem;font:.76rem/1.7 ui-monospace,SFMono-Regular,Menlo,monospace}.terminal-app.svelte-1e9al5b p:where(.svelte-1e9al5b){margin:.12rem 0}.terminal-app.svelte-1e9al5b span:where(.svelte-1e9al5b){color:#90ad87}.terminal-app.svelte-1e9al5b a:where(.svelte-1e9al5b){color:#d5bd82}.prompt.svelte-1e9al5b i:where(.svelte-1e9al5b){vertical-align:-.15em;background:#cbc7bb;width:.52rem;height:1em;animation:1s step-end infinite svelte-1e9al5b-blink;display:inline-block}.trash-app.svelte-1e9al5b{text-align:center;place-content:center;justify-items:center;min-height:100%;padding:2rem;display:grid}.trash-empty-icon.svelte-1e9al5b{color:#5f5b53;background:#e4e1d9;border:1px solid #c8c3b9;border-radius:1rem;place-items:center;width:4.5rem;height:4.5rem;margin-bottom:1.2rem;display:grid}.trash-empty-icon.svelte-1e9al5b svg{width:2.15rem;height:2.15rem}.trash-app.svelte-1e9al5b .eyebrow:where(.svelte-1e9al5b){margin-bottom:.65rem}.trash-app.svelte-1e9al5b h2:where(.svelte-1e9al5b){font-size:clamp(2rem,5vw,3rem)}.trash-app.svelte-1e9al5b>p:where(.svelte-1e9al5b):last-child{color:#777269;margin:.65rem 0 0;font-size:.84rem}@keyframes svelte-1e9al5b-blink{50%{opacity:0}}@media (width<=760px){.profile-pane.svelte-1e9al5b,.page-app.svelte-1e9al5b{padding:1.35rem}.profile-pane.svelte-1e9al5b{min-height:100%}.identity.svelte-1e9al5b img:where(.svelte-1e9al5b){width:3.2rem;height:3.2rem}.identity.svelte-1e9al5b h2:where(.svelte-1e9al5b){font-size:1.9rem}.roles.svelte-1e9al5b{font-size:.76rem}.lede.svelte-1e9al5b{font-size:.78rem}.button.svelte-1e9al5b{gap:1rem;min-width:0;padding:.7rem}.app-heading.svelte-1e9al5b h2:where(.svelte-1e9al5b),.contact-copy.svelte-1e9al5b h2:where(.svelte-1e9al5b){font-size:2.15rem}.about-layout.svelte-1e9al5b,.contact-app.svelte-1e9al5b{grid-template-columns:1fr;gap:1.8rem;margin-top:1.4rem}.stack-list.svelte-1e9al5b div:where(.svelte-1e9al5b){grid-template-columns:5.3rem 1fr}.work-heading.svelte-1e9al5b{align-items:start}.project.svelte-1e9al5b{grid-template-columns:1.4rem 1fr;padding-right:1.4rem}.project-year.svelte-1e9al5b{display:none}.project.svelte-1e9al5b p:where(.svelte-1e9al5b){font-size:.66rem}}@media (prefers-reduced-motion:reduce){.prompt.svelte-1e9al5b i:where(.svelte-1e9al5b){animation:none}}.github-header.svelte-r30x7u{color:#625f58;justify-content:space-between;align-items:center;gap:1rem;display:flex}.github-title.svelte-r30x7u{letter-spacing:.08em;align-items:center;gap:.45rem;font-size:clamp(.78rem,.65rem + .18vw,.92rem);display:flex}.github-title.svelte-r30x7u svg{width:1.05rem;height:1.05rem}.github-header.svelte-r30x7u a:where(.svelte-r30x7u){color:#716d64;font-size:.72rem;text-decoration:none}.contribution-total.svelte-r30x7u{align-items:baseline;gap:.5rem;margin-top:.8rem;display:flex}.contribution-total.svelte-r30x7u strong:where(.svelte-r30x7u){color:#24231f;letter-spacing:-.04em;font-size:clamp(1.45rem,1.15rem + .42vw,1.8rem);font-weight:500}.contribution-total.svelte-r30x7u span:where(.svelte-r30x7u){color:#716d64;font-size:.68rem}.contribution-graph.svelte-r30x7u{width:100%;height:auto;margin-top:.72rem;display:block;overflow:visible}.contribution-graph.svelte-r30x7u rect:where(.svelte-r30x7u),.contribution-scale.svelte-r30x7u i:where(.svelte-r30x7u){fill:#d6d2c9}.contribution-graph.svelte-r30x7u .level-1:where(.svelte-r30x7u),.contribution-scale.svelte-r30x7u .level-1:where(.svelte-r30x7u){fill:#b6c8b7;background:#b6c8b7}.contribution-graph.svelte-r30x7u .level-2:where(.svelte-r30x7u),.contribution-scale.svelte-r30x7u .level-2:where(.svelte-r30x7u){fill:#87a88a;background:#87a88a}.contribution-graph.svelte-r30x7u .level-3:where(.svelte-r30x7u),.contribution-scale.svelte-r30x7u .level-3:where(.svelte-r30x7u){fill:#5e8663;background:#5e8663}.contribution-graph.svelte-r30x7u .level-4:where(.svelte-r30x7u),.contribution-scale.svelte-r30x7u .level-4:where(.svelte-r30x7u){fill:#31583a;background:#31583a}.contribution-scale.svelte-r30x7u{color:#777269;justify-content:end;align-items:center;gap:.24rem;margin-top:.55rem;font-size:.58rem;display:flex}.contribution-scale.svelte-r30x7u i:where(.svelte-r30x7u){background:#d6d2c9;border-radius:.1rem;width:.48rem;height:.48rem;display:block}.contribution-fallback.svelte-r30x7u{color:#494740;text-underline-offset:.2rem;margin-top:.9rem;font-size:.76rem;display:block}.presence-widget.svelte-1rmoxxo{background:var(--glass-dark,#141412bf);box-shadow:var(--glass-shadow,0 .8rem 2rem #00000057);color:#dedbd1;backdrop-filter:var(--glass-filter,blur(22px) saturate(135%));border:1px solid #ffffff29;border-radius:.72rem;padding:clamp(1rem,.75rem + .35vw,1.35rem)}header.svelte-1rmoxxo,.presence-title.svelte-1rmoxxo,.connection-state.svelte-1rmoxxo,.visitor-metric.svelte-1rmoxxo{align-items:center;display:flex}header.svelte-1rmoxxo{justify-content:space-between;gap:.8rem}.presence-title.svelte-1rmoxxo{gap:.48rem;min-width:0}.presence-title.svelte-1rmoxxo>i:where(.svelte-1rmoxxo){border:1px solid #7892a3;border-left-color:#0000;border-radius:50%;flex:none;width:.82rem;height:.82rem;position:relative;transform:rotate(-32deg)}.presence-title.svelte-1rmoxxo>i:where(.svelte-1rmoxxo):after{content:"";background:#9fb5c2;border-radius:50%;width:.18rem;height:.18rem;position:absolute;top:.11rem;right:.02rem;box-shadow:0 0 .35rem #9fb5c2a6}.presence-title.svelte-1rmoxxo strong:where(.svelte-1rmoxxo){text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.86rem,.76rem + .12vw,.98rem);font-weight:600;overflow:hidden}.connection-state.svelte-1rmoxxo{color:#8b8982;white-space:nowrap;gap:.32rem;font-size:clamp(.62rem,.56rem + .07vw,.7rem)}.connection-state.svelte-1rmoxxo>i:where(.svelte-1rmoxxo){background:#817e77;border-radius:50%;width:.38rem;height:.38rem;box-shadow:0 0 0 .18rem #817e771f}.connection-state.connected.svelte-1rmoxxo{color:#8fa88e}.connection-state.connected.svelte-1rmoxxo>i:where(.svelte-1rmoxxo){background:#72a477;box-shadow:0 0 0 .18rem #72a47724,0 0 .4rem #72a4778c}.map-panel.svelte-1rmoxxo{place-items:center;min-height:clamp(5.1rem,4rem + 1.8vw,6.5rem);margin-top:.65rem;display:grid}.world-map.svelte-1rmoxxo{shape-rendering:geometricprecision;width:100%;height:clamp(5.1rem,4rem + 1.8vw,6.5rem);display:block;overflow:visible}.world-map.svelte-1rmoxxo path:where(.svelte-1rmoxxo){fill:#dedbd124;stroke:#dedbd142;stroke-width:.46px;vector-effect:non-scaling-stroke;transition:fill .18s,stroke .18s}.world-map.svelte-1rmoxxo path.active:where(.svelte-1rmoxxo){fill:#72a477;stroke:#b8d1b8;stroke-width:.78px;filter:drop-shadow(0 0 .2rem #72a477f2)}.map-loading.svelte-1rmoxxo{align-items:center;gap:.3rem;display:flex}.map-loading.svelte-1rmoxxo i:where(.svelte-1rmoxxo){background:#dedbd138;border-radius:50%;width:.28rem;height:.28rem;animation:.9s ease-in-out infinite alternate svelte-1rmoxxo-map-pulse}.map-loading.svelte-1rmoxxo i:where(.svelte-1rmoxxo):nth-child(2){animation-delay:.16s}.map-loading.svelte-1rmoxxo i:where(.svelte-1rmoxxo):nth-child(3){animation-delay:.32s}.map-error.svelte-1rmoxxo{color:#77746d;font-size:.66rem}.visitor-metrics.svelte-1rmoxxo{white-space:nowrap;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);align-items:end;gap:clamp(.4rem,.6vw,.6rem);width:100%;margin-top:.75rem;display:grid}.visitor-metric.svelte-1rmoxxo{justify-content:center;align-items:flex-end;gap:.38rem;min-width:0}.visitor-metric.svelte-1rmoxxo strong:where(.svelte-1rmoxxo){letter-spacing:-.07em;font-size:clamp(2.1rem,1.7rem + .6vw,2.7rem);font-weight:450;line-height:.9}.visitor-metric.svelte-1rmoxxo small:where(.svelte-1rmoxxo){color:#aaa79e;font-size:clamp(.58rem,.53rem + .05vw,.65rem);line-height:1.1}.metric-divider.svelte-1rmoxxo{background:#ffffff29;align-self:stretch;width:1px;min-height:2.15rem}@keyframes svelte-1rmoxxo-map-pulse{to{opacity:.32;transform:translateY(-.08rem)}}@media (prefers-reduced-motion:reduce){.map-loading.svelte-1rmoxxo i:where(.svelte-1rmoxxo){animation:none}.world-map.svelte-1rmoxxo path:where(.svelte-1rmoxxo){transition:none}}.app-window.svelte-ka41af{left:var(--window-x);top:var(--window-y);width:var(--window-width);height:var(--window-height);border:1px solid var(--chrome-color,#0d0d0b);background:var(--glass-light,#ebe8e0c7);min-width:27.5rem;min-height:18.75rem;box-shadow:var(--glass-shadow,0 1rem 2.8rem #0000006b);backdrop-filter:var(--glass-filter,blur(22px) saturate(135%));color:#1c1b17;border-radius:.72rem;transition:box-shadow .12s,opacity .14s,transform .14s;position:absolute;overflow:hidden}.app-window.svelte-ka41af:not(.active){filter:saturate(.88)brightness(.97);box-shadow:0 .7rem 1.7rem #0000004d}.app-window.minimized.svelte-ka41af{pointer-events:none;opacity:0;transform:translateY(2rem)scale(.88)}.app-window.maximized.svelte-ka41af{width:calc(100vw - 1.6rem);height:calc(100svh - 8.1rem);top:3rem;left:.8rem}.window-bar.svelte-ka41af{background:var(--chrome-color,#0d0d0b);color:#efede6;cursor:grab;user-select:none;touch-action:none;border-bottom:1px solid #ffffff14;grid-template-columns:1fr auto 1fr;align-items:center;height:2.65rem;padding:0 .78rem;display:grid;box-shadow:inset 0 -1px #ffffff14}.window-bar.svelte-ka41af:active{cursor:grabbing}.window-bar.svelte-ka41af strong:where(.svelte-ka41af){font-size:.7rem;font-weight:650}.window-controls.svelte-ka41af{gap:.4rem;display:flex}.window-controls.svelte-ka41af button:where(.svelte-ka41af){cursor:pointer;border:1px solid #0000002b;border-radius:50%;width:.7rem;height:.7rem;padding:0}.close.svelte-ka41af{background:#c95d4f}.minimize.svelte-ka41af{background:#d2a84c}.maximize.svelte-ka41af{background:#6a9863}.window-menu.svelte-ka41af{color:#aaa79e;cursor:pointer;background:0 0;border:0;justify-self:end;padding:.2rem}.window-body.svelte-ka41af{overscroll-behavior:contain;height:calc(100% - 2.65rem);overflow:auto}.resize-handle.svelte-ka41af{cursor:nwse-resize;touch-action:none;background:0 0;border:0;width:1.2rem;height:1.2rem;padding:0;position:absolute;bottom:0;right:0}.resize-handle.svelte-ka41af:after{content:"";border-bottom:1px solid #77736a;border-right:1px solid #77736a;width:.45rem;height:.45rem;position:absolute;bottom:.25rem;right:.25rem}@media (width<=760px){.app-window.svelte-ka41af,.app-window.maximized.svelte-ka41af{border-radius:.6rem;width:calc(100vw - .9rem);min-width:0;height:calc(100svh - 14.2rem);min-height:20rem;top:8.8rem;left:.45rem}.window-bar.svelte-ka41af{height:2.35rem}.window-body.svelte-ka41af{height:calc(100% - 2.35rem)}.resize-handle.svelte-ka41af{display:none}}@media (prefers-reduced-motion:reduce){.app-window.svelte-ka41af{transition:none}}.desktop.svelte-hflzen{--chrome-color:#0d0d0b;--glass-light:linear-gradient(145deg, #f8f6f0d1, #dedad0b3);--glass-light-strong:#ebe8e0b8;--glass-dark:linear-gradient(145deg, #262622c7, #0e0e0cad);--glass-border:#ffffff61;--glass-shadow:0 .8rem 2rem #00000057, inset 0 1px #ffffff6b;--glass-filter:blur(22px) saturate(135%);color:#181815;background:#000 url(/world-map-wallpaper.webp) 50%/cover no-repeat;height:100svh;min-height:100svh;position:relative;overflow:hidden}.desktop.svelte-hflzen:before{clip-path:polygon(8% 0,100% 0,88% 100%,0 82%);content:"";background:#0000001a;border:1px solid #ffffff0d;position:absolute;inset:3.2rem 16.5rem 5.8rem 8.5rem}.sr-only.svelte-hflzen{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.menu-bar.svelte-hflzen{z-index:1000;background:var(--chrome-color);color:#efede6;justify-content:space-between;align-items:center;height:clamp(2.5rem,2.25rem + .4vw,3rem);padding:0 clamp(1rem,.8rem + .3vw,1.35rem);font-size:clamp(.82rem,.72rem + .12vw,.96rem);display:flex;position:fixed;inset:0 0 auto;box-shadow:0 1px #ffffff14}.menu-left.svelte-hflzen,.menu-right.svelte-hflzen,.menu-left.svelte-hflzen nav:where(.svelte-hflzen){align-items:center;height:100%;display:flex}.brand-mark.svelte-hflzen,.menu-bar.svelte-hflzen button:where(.svelte-hflzen),.menu-bar.svelte-hflzen a:where(.svelte-hflzen){color:inherit;font:inherit}.brand-mark.svelte-hflzen{cursor:pointer;background:0 0;border:0;border-radius:50%;width:1.65rem;height:1.65rem;padding:0;display:block;overflow:hidden;box-shadow:0 .15rem .35rem #00000059}.brand-mark.svelte-hflzen img:where(.svelte-hflzen){object-fit:cover;width:100%;height:100%;display:block}.menu-left.svelte-hflzen>strong:where(.svelte-hflzen){margin:0 .85rem 0 0;font-weight:650}.menu-left.svelte-hflzen nav:where(.svelte-hflzen)>button:where(.svelte-hflzen){cursor:pointer;background:0 0;border:0;height:100%;padding:0 .78rem}.menu-left.svelte-hflzen nav:where(.svelte-hflzen)>button:where(.svelte-hflzen):hover,.menu-left.svelte-hflzen nav:where(.svelte-hflzen)>button.selected:where(.svelte-hflzen){background:#292924}.menu-right.svelte-hflzen{color:#c8c5bd;gap:.95rem}.menu-right.svelte-hflzen a:where(.svelte-hflzen){text-decoration:none}.status-dot.svelte-hflzen{background:#79a77a;border-radius:50%;width:.48rem;height:.48rem;box-shadow:0 0 0 3px #79a77a1f}.menu-area.svelte-hflzen{position:relative}.menu-popover.svelte-hflzen{z-index:1100;border:1px solid var(--glass-border);background:var(--glass-light);color:#24231f;width:16rem;box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);border-radius:.58rem;padding:.5rem;position:absolute;top:calc(100% + .1rem);left:0}.menu-popover.svelte-hflzen strong:where(.svelte-hflzen),.menu-popover.svelte-hflzen p:where(.svelte-hflzen),.menu-popover.svelte-hflzen button:where(.svelte-hflzen){width:100%;color:inherit;font:.78rem var(--font-sans);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;margin:0;padding:.58rem .65rem;display:flex}.menu-popover.svelte-hflzen strong:where(.svelte-hflzen){color:#777268;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.menu-popover.svelte-hflzen p:where(.svelte-hflzen){line-height:1.45}.menu-popover.svelte-hflzen button:where(.svelte-hflzen){cursor:pointer}.menu-popover.svelte-hflzen button:where(.svelte-hflzen):hover{background:#ffffff57}.menu-popover.svelte-hflzen button:where(.svelte-hflzen) span:where(.svelte-hflzen){color:#817b70;font-size:.58rem}.menu-popover.svelte-hflzen .danger:where(.svelte-hflzen){color:#8b3f38;border-top:1px solid #d0cbc2;margin-top:.35rem}.desktop-shortcuts.svelte-hflzen{z-index:3;grid-template-columns:auto auto;align-items:end;gap:.7rem;display:grid;position:fixed;bottom:1.15rem;left:1.15rem}.shortcut.svelte-hflzen{color:#efede6;width:6.4rem;font:500 .69rem/1.1 var(--font-sans);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.3rem;justify-items:center;gap:.34rem;padding:.35rem;display:grid}.shortcut.svelte-hflzen:not(.home-shortcut){gap:.45rem;width:clamp(7rem,6.5rem + .8vw,8.25rem);font-size:clamp(.8rem,.72rem + .08vw,.9rem)}.desktop-shortcuts.svelte-hflzen>.shortcut:where(.svelte-hflzen):not(.home-shortcut):not(.trash-shortcut){grid-column:1}.shortcut.svelte-hflzen:not(.home-shortcut) .icon-tile:where(.svelte-hflzen){border-radius:clamp(.7rem,.8vw,.9rem);width:clamp(3.75rem,3.4rem + .7vw,4.5rem);height:clamp(3.75rem,3.4rem + .7vw,4.5rem)}.shortcut.svelte-hflzen:not(.home-shortcut) .icon-tile:where(.svelte-hflzen) svg{width:clamp(1.8rem,1.55rem + .4vw,2.15rem);height:clamp(1.8rem,1.55rem + .4vw,2.15rem)}.home-shortcut.svelte-hflzen{position:fixed;top:50%;left:48.5%;transform:translate(-50%,-50%)}.home-shortcut.svelte-hflzen .avatar-tile:where(.svelte-hflzen){border-radius:clamp(.75rem,1vw,1.1rem);width:clamp(4.25rem,3.25rem + 1.8vw,6rem);height:clamp(4.25rem,3.25rem + 1.8vw,6rem)}.trash-shortcut.svelte-hflzen{grid-area:3/2}.shortcut.svelte-hflzen:hover,.shortcut.svelte-hflzen:focus-visible{background:#ffffff0d;border-color:#ffffff29}.icon-tile.svelte-hflzen{color:#23231f;border:1px solid #00000059;border-radius:.62rem;place-items:center;width:3.25rem;height:3.25rem;display:grid;box-shadow:inset 0 1px #ffffff8c,0 .3rem .62rem #00000038}.icon-tile.svelte-hflzen svg{width:1.58rem;height:1.58rem}.avatar-tile.svelte-hflzen{background:#dedbd2;overflow:hidden}.avatar-tile.svelte-hflzen img:where(.svelte-hflzen){object-fit:cover;width:100%;height:100%;display:block}.sand.svelte-hflzen{background:#c9b889}.paper.svelte-hflzen{background:#efeee8}.sage.svelte-hflzen{background:#87938b}.amber.svelte-hflzen{background:#b5965f}.terminal.svelte-hflzen{color:#e9e6db;background:#272722}.trash.svelte-hflzen{background:#d9d7d0}.side-rail.svelte-hflzen{z-index:4;overscroll-behavior:contain;scrollbar-color:#efede63d transparent;scrollbar-width:thin;grid-auto-rows:max-content;align-content:start;gap:clamp(.7rem,.7vw,.72rem);width:clamp(12.8rem,12.8vw,15.2rem);padding-right:.3rem;display:grid;position:fixed;top:3.7rem;bottom:1.15rem;right:1.2rem;overflow-y:auto}.side-rail.svelte-hflzen::-webkit-scrollbar{width:.28rem}.side-rail.svelte-hflzen::-webkit-scrollbar-track{background:0 0}.side-rail.svelte-hflzen::-webkit-scrollbar-thumb{background:#efede638;border-radius:999px}.widget.svelte-hflzen{border:1px solid var(--glass-border);background:var(--glass-light);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);border-radius:.72rem;padding:clamp(1rem,.75rem + .35vw,1.35rem)}.widget-heading.svelte-hflzen{color:#625f58;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;font-size:clamp(.78rem,.65rem + .18vw,.92rem);font-weight:800;display:flex}.live-label.svelte-hflzen{color:#5d785d;letter-spacing:0;text-transform:lowercase;align-items:center;gap:.35rem;display:flex}.live-label.svelte-hflzen i:where(.svelte-hflzen){background:#658665;border-radius:50%;width:.45rem;height:.45rem}.widget-kicker.svelte-hflzen{color:#8a8171;letter-spacing:.09em;margin:0 0 .35rem;font-size:clamp(.72rem,.63rem + .13vw,.84rem);font-weight:700}.now-widget.svelte-hflzen h2:where(.svelte-hflzen){font-family:var(--font-sans);margin:0;font-size:clamp(1.45rem,1.1rem + .5vw,1.9rem);font-weight:500;line-height:1.1}.now-widget.svelte-hflzen>p:where(.svelte-hflzen):last-child{color:#69665f;margin:.65rem 0 0;font-size:clamp(.88rem,.75rem + .15vw,1rem);line-height:1.5}.activity-widget.svelte-hflzen{padding-bottom:clamp(.9rem,.72rem + .25vw,1.15rem)}.activity-widget.svelte-hflzen .widget-heading:where(.svelte-hflzen){margin-bottom:.7rem}.activity-list.svelte-hflzen{gap:.7rem;display:grid}.x-feed.svelte-hflzen{border-radius:.28rem;min-height:3.5rem;max-height:8.5rem;overflow:hidden}.activity-row.svelte-hflzen{color:#24231f;grid-template-columns:3.5rem minmax(0,1fr);align-items:center;gap:.7rem;text-decoration:none;display:grid}.github-activity.svelte-hflzen{border-top:1px solid #d1cdc3;padding-top:.7rem}.activity-image.svelte-hflzen{object-fit:cover;background:#d8d5cc;border:1px solid #d1cdc3;border-radius:.48rem;width:3.5rem;height:3.5rem;display:block}.activity-copy.svelte-hflzen{min-width:0;display:grid}.activity-copy.svelte-hflzen strong:where(.svelte-hflzen),.activity-copy.svelte-hflzen>span:where(.svelte-hflzen){-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.activity-copy.svelte-hflzen strong:where(.svelte-hflzen){font-size:clamp(.85rem,.75rem + .12vw,.96rem);font-weight:500}.activity-copy.svelte-hflzen>span:where(.svelte-hflzen){color:#716d64;margin-top:.18rem;font-size:clamp(.72rem,.65rem + .08vw,.8rem)}.activity-copy.svelte-hflzen time:where(.svelte-hflzen){color:#837e74;letter-spacing:.06em;text-transform:uppercase;margin-top:.3rem;font-size:clamp(.66rem,.6rem + .07vw,.74rem)}.x-feed.svelte-hflzen iframe{width:100%!important;min-width:0!important;margin:0!important}.quick-links.svelte-hflzen{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.35rem,.5vw,.55rem);display:grid}.quick-link.svelte-hflzen{color:#302f2a;min-width:0;font-family:var(--font-sans);cursor:pointer;background:0 0;border:0;justify-items:center;gap:.42rem;padding:0;text-decoration:none;display:grid;position:relative}.quick-link.svelte-hflzen .quick-icon:where(.svelte-hflzen){box-sizing:border-box;aspect-ratio:1;border:1px solid #1e1d1957;border-radius:clamp(.58rem,.7vw,.72rem);place-items:center;width:min(100%,clamp(2.65rem,2.35rem + .45vw,3rem));height:auto;transition:transform .12s,box-shadow .12s;display:grid;box-shadow:inset 0 1px #ffffff73,0 .25rem .55rem #1f1e1a33}.quick-link.svelte-hflzen svg{width:clamp(1.2rem,1.05rem + .22vw,1.38rem);height:clamp(1.2rem,1.05rem + .22vw,1.38rem)}.quick-link.svelte-hflzen strong:where(.svelte-hflzen){text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(.68rem,.61rem + .08vw,.76rem);font-weight:600;line-height:1;overflow:hidden}.quick-link.svelte-hflzen small:where(.svelte-hflzen){color:#57544d;background:#f2efe8;border:1px solid #21201c38;border-radius:50%;place-items:center;width:1rem;height:1rem;font-size:.55rem;line-height:1;display:grid;position:absolute;top:-.2rem;right:0;box-shadow:0 .12rem .25rem #00000029}.quick-link.svelte-hflzen:hover .quick-icon:where(.svelte-hflzen),.quick-link.svelte-hflzen:focus-visible .quick-icon:where(.svelte-hflzen){transform:translateY(-.14rem);box-shadow:inset 0 1px #ffffff80,0 .42rem .72rem #1f1e1a47}.github-link.svelte-hflzen .quick-icon:where(.svelte-hflzen){color:#f0eee8;background:#242421}.linkedin-link.svelte-hflzen .quick-icon:where(.svelte-hflzen){color:#24333b;background:#aabac3}.email-link.svelte-hflzen .quick-icon:where(.svelte-hflzen){color:#332b1f;background:#c7a86d}.x-link.svelte-hflzen .quick-icon:where(.svelte-hflzen){color:#fff;background:#111}.windows-layer.svelte-hflzen{pointer-events:none;position:absolute;inset:0}.windows-layer.svelte-hflzen .app-window{pointer-events:auto}.dock.svelte-hflzen{z-index:1050;background:#161613f2;border:1px solid #ffffff1c;border-radius:.85rem;align-items:end;gap:.42rem;padding:.45rem;display:flex;position:fixed;bottom:1.15rem;left:50%;transform:translate(-50%);box-shadow:0 .65rem 1.8rem #0006}.dock-item.svelte-hflzen{cursor:pointer;background:0 0;border:0;padding:0;transition:transform .11s;position:relative}.dock-item.svelte-hflzen:hover{transform:translateY(-.2rem)}.dock-item.svelte-hflzen .icon-tile:where(.svelte-hflzen){width:2.9rem;height:2.9rem}.dock-item.svelte-hflzen .icon-tile:where(.svelte-hflzen) svg{width:1.38rem;height:1.38rem}.dock-item.svelte-hflzen small:where(.svelte-hflzen){color:#24231f;white-space:nowrap;background:#ece9e1;border-radius:.23rem;padding:.32rem .46rem;font-size:.6rem;display:none;position:absolute;bottom:calc(100% + .8rem);left:50%;transform:translate(-50%)}.dock-item.svelte-hflzen:hover small:where(.svelte-hflzen){display:block}.dock-item.svelte-hflzen:after{content:"";opacity:0;background:#e3dfd5;border-radius:50%;width:.26rem;height:.26rem;position:absolute;bottom:-.26rem;left:50%;transform:translate(-50%)}.dock-item.running.svelte-hflzen:after{opacity:.55}.dock-item.active.svelte-hflzen:after{opacity:1}@media (width<=1100px){.side-rail.svelte-hflzen{display:none}}@media (width<=760px){.menu-bar.svelte-hflzen{height:2.85rem;padding:0 .65rem;font-size:.82rem}.menu-left.svelte-hflzen nav:where(.svelte-hflzen),.menu-right.svelte-hflzen a:where(.svelte-hflzen),.menu-right.svelte-hflzen>span:where(.svelte-hflzen):not(.status-dot){display:none}.menu-right.svelte-hflzen{gap:.5rem}.desktop.svelte-hflzen:before{clip-path:polygon(0 0,100% 0,100% 78%,0 100%);inset:2.7rem 0 0}.desktop-shortcuts.svelte-hflzen{justify-content:space-between;gap:0;display:flex;inset:3.5rem .4rem auto}.shortcut.svelte-hflzen,.shortcut.svelte-hflzen:not(.home-shortcut){width:24%;font-size:.66rem}.home-shortcut.svelte-hflzen{position:static;transform:none}.shortcut.svelte-hflzen .icon-tile:where(.svelte-hflzen){border-radius:.52rem;width:2.7rem;height:2.7rem}.shortcut.svelte-hflzen .icon-tile:where(.svelte-hflzen) svg{width:1.2rem;height:1.2rem}.shortcut.svelte-hflzen:not(.home-shortcut) .icon-tile:where(.svelte-hflzen){border-radius:.56rem;width:2.9rem;height:2.9rem}.shortcut.svelte-hflzen:not(.home-shortcut) .icon-tile:where(.svelte-hflzen) svg{width:1.35rem;height:1.35rem}.trash-shortcut.svelte-hflzen{width:24%;position:fixed;bottom:4.5rem;right:.4rem}.dock.svelte-hflzen{gap:.32rem;padding:.36rem;bottom:.5rem}.dock-item.svelte-hflzen .icon-tile:where(.svelte-hflzen){border-radius:.52rem;width:2.62rem;height:2.62rem}.dock-item.svelte-hflzen .icon-tile:where(.svelte-hflzen) svg{width:1.15rem;height:1.15rem}}@media (prefers-reduced-motion:reduce){.dock-item.svelte-hflzen{transition:none}}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2)format("woff2-variations");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}:root{--font-sans:"IBM Plex Sans Variable", "IBM Plex Sans", sans-serif;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;color-scheme:dark}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border-radius:0}::selection{color:#f1eee6;background:#33332d}.skip-link{z-index:200;color:#181815;background:#f1eee6;padding:.6rem .8rem;font-size:.75rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline-offset:2px;outline:2px solid #8eae88}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
