:root{--bg: #0b0e12;--panel: #0f141b;--panel-2: #0c1016;--border: rgba(222, 232, 255, .14);--border-2: rgba(222, 232, 255, .09);--text: rgba(243, 246, 255, .92);--muted: rgba(243, 246, 255, .68);--muter: rgba(243, 246, 255, .52);--accent: #36f2c2;--accent-2: #f6c177;--accent-text: var(--accent);--focus-ring: color-mix(in srgb, var(--accent) 80%, transparent);--hot: #ff5b57;--warm: #febc2e;--cool: #28c840;--shadow: 0 14px 40px rgba(0, 0, 0, .55);--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}[data-theme=light]{color-scheme:light;--clr-light-a0: #ffffff;--clr-surface-tonal-a0: #f1f6f5;--clr-surface-tonal-a10: #dde6e4;--clr-primary-a0: #0d9488;--clr-primary-a30: #0b5e57;--clr-primary-a40: #3c4d4a;--clr-primary-a50: #14211f;--bg: #f7faf9;--panel: #ffffff;--panel-2: #f1f6f5;--border: #dde6e4;--border-2: #e8efed;--text: #14211f;--muted: #3c4d4a;--muter: #5b6c69;--accent: #0d9488;--accent-2: #b45309;--accent-text: #0f766e;--focus-ring: #0f766e;--shadow: 0 1px 2px rgba(20, 33, 31, .05), 0 8px 24px -12px rgba(20, 33, 31, .12);--shadow-sm: 0 1px 2px rgba(20, 33, 31, .06)}[data-theme=light] body{background:var(--bg)}[data-theme=light] .site-header,[data-theme=light] .site-header--scrolled{background:var(--panel)!important;border-color:var(--border)!important}@media(min-width:901px){[data-theme=light] .site-header,[data-theme=light] .site-header--scrolled{background:color-mix(in srgb,var(--panel) 88%,transparent)!important}}[data-theme=light] :where(.card,.video,.empty,.about-card,.game-card){background:var(--panel)!important;border-color:var(--border)!important;box-shadow:var(--shadow)!important}[data-theme=light] .grid .card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))!important;transform:none}[data-theme=light] :where(.termbar,.media){background:var(--panel-2)!important;border-color:var(--border-2)!important}[data-theme=light] #about-me .termbar{background:transparent!important}[data-theme=light] :where(.modal,.terminal,.terminal__bar,.terminal__input-row,.frame iframe,.video__frame,.video__native,.slides__frame,.media__placeholder){background:var(--panel)!important;border-color:var(--border)!important}[data-theme=light] :where(.modal,.terminal){box-shadow:0 24px 60px -20px #14211f59!important}[data-theme=light] :where(.modal__footer,kbd){background:var(--panel-2)!important;border-color:var(--border)!important;color:var(--muter)!important}[data-theme=light] :where(.backdrop,.nav-backdrop){background:#14211f47!important}[data-theme=light] :where(.result--selected .result__btn,.result__btn:hover){background:color-mix(in srgb,var(--accent) 9%,transparent)!important}[data-theme=light] .timeline .event__body{background:transparent!important;border-color:transparent!important}[data-theme=light] :where(.trigger,.theme-toggle,.site-header__menu){background:var(--panel)!important;border-color:var(--border)!important;color:var(--muted)!important}[data-theme=light] :where(.trigger,.theme-toggle):hover{background:color-mix(in srgb,var(--accent) 8%,var(--panel))!important;border-color:color-mix(in srgb,var(--accent) 50%,var(--border))!important;color:var(--accent-text)!important}[data-theme=light] .site-header__title{color:var(--accent-text)}[data-theme=light] :where(.tag,.tech-badge){background:var(--panel-2)!important;border-color:var(--border)!important;color:var(--muted)!important}[data-theme=light] .tech-badge[data-kind=language]{color:#1d4ed8!important;border-color:#bfdbfe!important;background:#eff6ff!important}[data-theme=light] .tech-badge[data-kind=framework]{color:#0f766e!important;border-color:#99f6e4!important;background:#f0fdfa!important}[data-theme=light] .tech-badge[data-kind=api]{color:#92400e!important;border-color:#fde68a!important;background:#fffbeb!important}[data-theme=light] .tech-badge[data-kind=service]{color:#7e22ce!important;border-color:#e9d5ff!important;background:#faf5ff!important}[data-theme=light] .tech-badge[data-kind=protocol]{color:#be185d!important;border-color:#fbcfe8!important;background:#fdf2f8!important}[data-theme=light] .tech-badge[data-kind=tool]{color:#4d7c0f!important;border-color:#d9f99d!important;background:#f7fee7!important}[data-theme=light] .badge[data-type=open-source]{background:color-mix(in srgb,var(--accent) 8%,var(--panel))!important;color:var(--accent-text)!important;border-color:color-mix(in srgb,var(--accent) 30%,var(--border))!important}[data-theme=light] :where(a,.btn--ghost,.btn--primary,.review-cta__btn){color:var(--accent-text)}[data-theme=light] .site-nav a{color:var(--muted)}[data-theme=light] :where(.site-nav a,.site-header__menu):hover{color:var(--accent-text)}[data-theme=light] :where(.btn--ghost){background:var(--panel)!important;border-color:var(--border)!important;color:var(--text)!important}[data-theme=light] :where(.btn--ghost):hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))!important;color:var(--accent-text)!important}[data-theme=light] :where(.btn--primary){background:color-mix(in srgb,var(--accent) 9%,var(--panel))!important;border-color:color-mix(in srgb,var(--accent) 40%,var(--border))!important;color:var(--accent-text)!important}[data-theme=light] :where(.btn--primary):hover{background:color-mix(in srgb,var(--accent) 15%,var(--panel))!important;border-color:var(--accent)!important}[data-theme=light] .tech-badge[data-tech="next.js"]{background:#f1f5f9!important;border-color:#cbd5e1!important;color:#0f172a!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border-radius:0}html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:5rem;scrollbar-gutter:stable;overflow-x:clip}body{background:linear-gradient(180deg,rgba(54,242,194,.08),transparent 36%),linear-gradient(0deg,rgba(246,193,119,.06),transparent 30%),var(--bg);color:var(--text);font-family:var(--font-mono);font-size:16px;line-height:1.6;min-height:100svh;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video,canvas,svg,iframe{max-width:100%}p,li{overflow-wrap:anywhere}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:56px 56px;opacity:.35;-webkit-mask-image:radial-gradient(closest-side,rgba(0,0,0,.75),transparent 70%);mask-image:radial-gradient(closest-side,rgba(0,0,0,.75),transparent 70%)}[data-theme=light] body:before{background-image:linear-gradient(rgba(15,23,42,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.04) 1px,transparent 1px);opacity:.16;-webkit-mask-image:radial-gradient(closest-side,rgba(0,0,0,.18),transparent 72%);mask-image:radial-gradient(closest-side,rgba(0,0,0,.18),transparent 72%)}::selection{background:var(--accent);color:var(--bg)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#dee8ff26}::-webkit-scrollbar-thumb:hover{background:#dee8ff4d}[data-theme=light] ::-webkit-scrollbar-thumb{background:#14211f38}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#14211f61}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);color:var(--text);line-height:1.2}a{color:var(--accent-text);font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}code,pre{font-family:var(--font-mono)}pre,code:not(.tag):not(.badge){background:#0b1220;color:#e2e8f0;border:1px solid #1e293b}pre{padding:.65rem .8rem;overflow-x:auto}code:not(.tag):not(.badge){padding:.1rem .3rem}html,body,a,button,input{transition:background-color .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease}[data-kind=language]{--tag-c: #3b82f6;--tag-fg: #93c5fd}[data-kind=framework]{--tag-c: #14b8a6;--tag-fg: #99f6e4}[data-kind=api]{--tag-c: #f59e0b;--tag-fg: #fcd34d}[data-kind=service]{--tag-c: #a855f7;--tag-fg: #e9d5ff}[data-kind=protocol]{--tag-c: #ec4899;--tag-fg: #fbcfe8}[data-kind=tool]{--tag-c: #84cc16;--tag-fg: #d9f99d}[data-kind=other]{--tag-c: #94a3b8;--tag-fg: #cbd5e1}@media(pointer:coarse){.theme-toggle,.site-header__menu,.trigger,.modal__clear,.modal__close,.terminal__close,.back-to-top,.email-btn,.email-copy-btn{min-height:2.75rem;min-width:2.75rem}}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}@media(max-width:900px){body:before{display:none}}button,a,[role=button],summary,label{touch-action:manipulation}.skip.svelte-1h32yp1{position:absolute;left:-9999px;top:.75rem;padding:.6rem .85rem;border:1px solid var(--border);background:var(--panel);color:var(--text);z-index:300;text-decoration:none}.skip.svelte-1h32yp1:focus{left:1rem}.nav-backdrop.svelte-1h32yp1{position:fixed;inset:0;z-index:99;appearance:none;border:0;padding:0;background:color-mix(in srgb,#000 60%,transparent);cursor:default}.site-header.svelte-1h32yp1{position:sticky;top:0;z-index:200;background:var(--panel);border-bottom:1px solid var(--border);transition:background-color .18s,border-color .18s}@media(min-width:901px){.site-header.svelte-1h32yp1{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:color-mix(in srgb,var(--panel) 84%,transparent)}.site-header--scrolled.svelte-1h32yp1{background:color-mix(in srgb,var(--panel) 94%,transparent)}}.site-header__inner.svelte-1h32yp1{position:relative;display:flex;align-items:center;gap:1.25rem;max-width:76rem;margin:0 auto;padding:.7rem clamp(1rem,4vw,3rem)}.site-header__title.svelte-1h32yp1{color:var(--accent-text);font-weight:700;font-size:1.02rem;text-decoration:none;white-space:nowrap}.site-header__prompt.svelte-1h32yp1{color:var(--muter);font-weight:400}.site-header__title.svelte-1h32yp1:hover{color:var(--text)}.site-nav.svelte-1h32yp1{margin-left:auto}.site-nav.svelte-1h32yp1 ul:where(.svelte-1h32yp1){display:flex;gap:1.25rem;list-style:none}.site-nav.svelte-1h32yp1 a:where(.svelte-1h32yp1){color:var(--muted);text-decoration:none;font-size:.9rem}.site-nav.svelte-1h32yp1 a:where(.svelte-1h32yp1):hover,.site-nav.svelte-1h32yp1 a:where(.svelte-1h32yp1):focus-visible{color:var(--accent-text)}.site-header__tools.svelte-1h32yp1{display:flex;align-items:center;gap:.45rem}.icon-btn.svelte-1h32yp1{display:inline-grid;place-items:center;min-width:2.5rem;height:2.5rem;padding:0 .7rem;border:1px solid var(--border-2);background:var(--panel-2);color:var(--text);font:inherit;font-size:.86rem;cursor:pointer}.icon-btn.svelte-1h32yp1:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));color:var(--accent-text)}.theme-toggle.svelte-1h32yp1{padding:0}.theme-toggle__icon--moon.svelte-1h32yp1,[data-theme=light] .theme-toggle__icon--sun.svelte-1h32yp1{display:none}[data-theme=light] .theme-toggle__icon--moon.svelte-1h32yp1{display:block}.book-btn.svelte-1h32yp1{display:inline-flex;align-items:center;height:2.5rem;padding:0 .95rem;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text);font-size:.86rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color .15s,color .15s}.book-btn.svelte-1h32yp1:hover{background:var(--accent);color:var(--bg)}[data-theme=light] .book-btn.svelte-1h32yp1{background:var(--accent-text);border-color:var(--accent-text);color:#fff}[data-theme=light] .book-btn.svelte-1h32yp1:hover{background:var(--clr-primary-a30)}.site-header__menu.svelte-1h32yp1{display:none}@media(max-width:759px){.site-header__inner.svelte-1h32yp1{gap:.5rem}.site-header__tools.svelte-1h32yp1{margin-left:auto}.site-header__menu.svelte-1h32yp1{display:inline-grid}.icon-btn.svelte-1h32yp1,.book-btn.svelte-1h32yp1{height:2.75rem;min-width:2.75rem}.book-btn__long.svelte-1h32yp1{display:none}.site-header__menu[aria-expanded=true].svelte-1h32yp1{border-color:var(--accent);color:var(--accent-text)}.site-nav.svelte-1h32yp1{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;margin:0;background:var(--panel);border-bottom:1px solid var(--border);box-shadow:0 18px 40px color-mix(in srgb,#000 35%,transparent);z-index:10}.site-nav--open.svelte-1h32yp1{display:block}.site-nav.svelte-1h32yp1 ul:where(.svelte-1h32yp1){flex-direction:column;gap:0;padding:.35rem 0}.site-nav.svelte-1h32yp1 li:where(.svelte-1h32yp1)+li:where(.svelte-1h32yp1){border-top:1px solid var(--border-2)}.site-nav.svelte-1h32yp1 a:where(.svelte-1h32yp1){display:block;padding:.9rem 1.25rem;font-size:1rem;color:var(--text)}}@media(min-width:760px)and (max-width:959px){.site-nav__portfolio.svelte-1h32yp1{display:none}}.footer.svelte-jz8lnl{margin-top:clamp(2rem,5vw,3.5rem);padding:1.5rem clamp(1rem,4vw,3rem);border-top:1px solid var(--border-2)}.footer__inner.svelte-jz8lnl{max-width:76rem;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.5rem;font-size:.88rem;color:var(--muted)}.footer__copy.svelte-jz8lnl{color:var(--muter)}.footer__links.svelte-jz8lnl{display:flex;gap:1.1rem}.footer-link.svelte-jz8lnl{color:var(--accent-text);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.footer-link.svelte-jz8lnl:hover{border-bottom-color:var(--accent)}.email-btn.svelte-jz8lnl{background:none;border:0;border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:0;font:inherit;cursor:pointer}.sound-toggle.svelte-jz8lnl{margin-left:auto;min-height:2.25rem;padding:0 .7rem;border:1px solid var(--border-2);background:transparent;color:var(--muter);font:inherit;font-size:.78rem;cursor:pointer}.sound-toggle.svelte-jz8lnl:hover{color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}@media(max-width:640px){.footer__inner.svelte-jz8lnl{flex-direction:column;text-align:center;gap:.65rem}.sound-toggle.svelte-jz8lnl{margin:.35rem 0 0;min-height:2.75rem}}.toast.svelte-1cpok13{position:fixed;left:50%;bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:500;width:max-content;max-width:calc(100vw - 2rem);text-align:center;padding:.7rem 1.1rem;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--panel);color:var(--text);font-size:.86rem;box-shadow:0 12px 32px -12px color-mix(in srgb,#000 55%,transparent);transform:translate(-50%,1.5rem);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.toast--visible.svelte-1cpok13{opacity:1;transform:translate(-50%)}
