@font-face{font-family:Space Grotesk;src:url(../../../fonts/space-grotesk-variable-ascii.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}img,picture,video,canvas,svg{display:block;max-width:100%}:root{--page-padding-desktop: clamp(3rem, 6vw, 6rem);--bp-mobile: 480px;--bp-tablet: 768px;--bp-desktop: 1024px;--bp-wide: 1200px;--pastel-lavender: #D9C9FF;--pastel-mauve: #C7B6E3;--pastel-peach: #F4C8A7;--pastel-rose: #EEC1CD;--pastel-mint: #C9E8DA;--neutral-0: #0E0E12;--neutral-1: #1A1A20;--neutral-2: #2A2A33;--neutral-3: #E6E2F0;--neutral-4: #FFFFFF;--text-strong: #0F0F15;--text-muted: #4A4553;--text-on-dark: #F8F7FB;--brutal-border: #E8E1F2;--brutal-shadow: #000000;--resume-bg: #F2F1EE;--resume-accent: #D4CFF7;--resume-border: #D1CCD7;--resume-dark: #2A2A32;--resume-card: #E7E4F6;--resume-bg: #1A1525;--resume-header: #8B7AB8;--resume-education: #6BC4A3;--resume-experience: #F2B870;--resume-projects: #F295B5;--resume-skills: #A595D9;--resume-item: #252025;--resume-tag: #2D282D;--resume-border: #000;--resume-shadow: #000;--resume-text-on-color: #FFFFFF;--resume-text-on-dark: #E4E4E7;--resume-text-muted: #A1A1AA;--emu-bg: #221F26;--emu-panel: #252832;--emu-accent-green: #2C8D82;--emu-accent-blue: #7EB1D3;--emu-accent-orange: #E06B3E;--emu-accent-yellow: #F4D655;--emu-border: #D4C5A9;--emu-shadow: #D4C5A9;--emu-text-strong: #F7F7F4;--emu-text-muted: #B5B8C0}html{font-size:clamp(13px,.75vw + 12px,15px)}html,body{overscroll-behavior:none}body{margin:0}.brutal-link-button{border:4px solid var(--brutal-button-border-color, var(--border, #000));box-shadow:4px 4px 0 0 var(--brutal-button-shadow-color, var(--border, #000));color:var(--brutal-button-color, #000);text-transform:uppercase;letter-spacing:.1em;font-weight:700;transition:transform .1s ease,box-shadow .1s ease;display:inline-flex;align-items:center;justify-content:center;padding:var(--brutal-button-padding, .5rem 1rem);font-size:.875rem;font-family:Space Grotesk,sans-serif;text-decoration:none;cursor:pointer;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;gap:var(--brutal-button-gap, .5rem)}.brutal-link-button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 0 var(--brutal-button-border-color, var(--border, #000))}.brutal-link-button:active{transform:translate(4px,4px);box-shadow:0 0 0 0 var(--brutal-button-border-color, var(--border, #000))}.brutal-link-button:focus-visible{outline:4px solid var(--brutal-button-border-color, var(--border, #000));outline-offset:2px}:global([data-mode=dark]) .brutal-link-button{--brutal-button-border-color: #000;--brutal-button-shadow-color: #000;--brutal-button-color: #000}.contact-link.brutal-link-button{padding:clamp(.5rem,.75vw,.75rem) clamp(1rem,1.5vw,1.5rem);gap:clamp(.25rem,.5vw,.5rem)}.brutal-panel{background:var(--panel-bg, #fff);border:4px solid var(--border, #000);box-shadow:clamp(4px,.5vw,8px) clamp(4px,.5vw,8px) 0 0 var(--border, #000);transition:transform .1s ease,box-shadow .1s ease}:global([data-mode=dark]) .brutal-panel{border-color:#000;box-shadow:clamp(4px,.5vw,8px) clamp(4px,.5vw,8px) 0 0 #000;background:var(--panel, #1F1F23)}html[data-page^="/gameboy-emulator"] .widget-header{background:var(--border, #000);color:var(--bg, #FFE66D);padding:clamp(.75rem,1.5vw,1rem) clamp(1rem,2vw,1.5rem);border-bottom:clamp(3px,.4vw,6px) solid var(--border, #000)}html[data-page^="/gameboy-emulator"][data-mode=dark] .widget-header{background:var(--emu-border, #D4C5A9);color:var(--bg, #FFE66D);border-bottom:clamp(3px,.4vw,6px) solid var(--emu-border, #D4C5A9)}:global(.page-shell){width:100%;padding-top:clamp(4rem,5.5vw,5.5rem)}html[data-page^="/gameboy-emulator"] :global(.page-shell){background:var(--bg, #FFE66D)}html[data-page^="/gameboy-emulator"][data-mode=dark] :global(.page-shell){background:#8b4a5a}html[data-page^="/gameboy-emulator"][data-mode=dark] body,html[data-page^="/gameboy-emulator"][data-mode=dark] html{background:#8b4a5a}@media(min-width:1024px){:global(.page-shell){padding-left:var(--page-padding-desktop);padding-right:var(--page-padding-desktop)}}@layer base{html[data-mode=dark]{color-scheme:dark}html[data-mode=light]{color-scheme:light}}html[data-mode=light]{--nav-bg: #FFE66D;--nav-primary: #FF6B6B;--nav-text: #000;--nav-border: #000}html[data-mode=dark]{--nav-bg: #6B5F7A;--nav-primary: #AEC6DF;--nav-text: #101010;--nav-border: #000}html:not([data-page])[data-mode=light],html[data-page="/"][data-mode=light]{--bg: #FFE66D;--primary: #FF6B6B;--accent: #4ECDC4;--text: #000;--border: #000;--nav-bg: #FFE66D;--nav-primary: #FF6B6B;--nav-text: #000;--nav-border: #000}html:not([data-page])[data-mode=dark],html[data-page="/"][data-mode=dark]{--bg: #6B5F7A;--primary: #AEC6DF;--accent: #F2E6D0;--text: #101010;--border: #000;--shadow: #000;--nav-bg: #6B5F7A;--nav-primary: #AEC6DF;--nav-text: #101010;--nav-border: #D4C5A9}html[data-page^="/resume"][data-mode=light]{--bg: #A8E6CF;--primary: #FF8B94;--accent: #FFD93D;--text: #000;--border: #000}html[data-page^="/resume"][data-mode=dark]{--bg: #4A5F8F;--primary: var(--resume-header, #6366F1);--accent: var(--resume-item, #1F1F23);--text: var(--resume-text-on-dark, #E4E4E7);--border: var(--resume-border, #000000);--card: var(--resume-item, #1F1F23);--tag-bg: var(--resume-tag, #27272A);--tag-text: var(--resume-text-on-dark, #E4E4E7);--shadow: var(--resume-shadow, #000000);--panel: var(--resume-item, #1F1F23);--text-muted: var(--resume-text-muted, #A1A1AA);--text-on-dark: var(--resume-text-on-color, #FFFFFF);--education-bg: #4A7A6B;--experience-bg: #B87A5A;--projects-bg: #B85A7A;--skills-bg: #6B5F9E}html[data-page^="/gameboy-emulator"][data-mode=light]{--bg: #E8E4D4;--primary: #B19CD9;--accent: #8bac0f;--text: #000;--border: #2A2A2A}html[data-page^="/gameboy-emulator"][data-mode=dark]{--bg: var(--emu-bg, #1B1D22);--primary: var(--emu-accent-yellow, #F4D655);--accent: var(--emu-accent-green, #2C8D82);--text: var(--emu-text-strong, #F7F7F4);--border: #000;--shadow: #000;--panel: var(--emu-panel, #1F2A38);--screen: var(--emu-accent-green, #2C8D82);--screen-border: var(--emu-border, #000000);--text-muted: var(--emu-text-muted, #B5B8C0);--button-blue: var(--emu-accent-blue, #7EB1D3);--button-orange: var(--emu-accent-orange, #E06B3E)}.theme-toggle.svelte-lu0t34{display:inline-flex;align-items:center;justify-content:center;gap:clamp(.25rem,.5vw,.5rem);padding:clamp(.3125rem,.5625vw,.5625rem) clamp(.875rem,1.25vw,1.5rem);border:4px solid var(--nav-border, #000);background:#fff;color:var(--nav-text, #000);cursor:pointer;font-size:clamp(.9375rem,1.0625vw,1.0625rem);font-weight:700;text-transform:uppercase;letter-spacing:.1em;box-shadow:4px 4px 0 0 var(--nav-border, #000);transition:transform .1s ease,box-shadow .1s ease;font-family:Space Grotesk,sans-serif}.theme-toggle.svelte-lu0t34:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 0 var(--nav-border, #000)}.theme-toggle.svelte-lu0t34:active{transform:translate(4px,4px);box-shadow:0 0 0 0 var(--nav-border, #000)}.icon.svelte-lu0t34{display:inline-flex;align-items:center;justify-content:center;width:clamp(1rem,1.25vw,1.25rem);height:clamp(1rem,1.25vw,1.25rem);line-height:1;flex-shrink:0}.icon.svelte-lu0t34 svg:where(.svelte-lu0t34){width:100%;height:100%;display:block}.icon.svelte-lu0t34 .moon-icon:where(.svelte-lu0t34){transform:scale(1.1)}.label.svelte-lu0t34{font-weight:700;letter-spacing:.1em}[data-mode=dark] .theme-toggle.svelte-lu0t34{background:var(--nav-primary, #9EC7FF);color:var(--nav-text, #000);border:4px solid #000;box-shadow:4px 4px #000}[data-mode=dark] .theme-toggle.svelte-lu0t34:hover{box-shadow:2px 2px #000}[data-mode=dark] .theme-toggle.svelte-lu0t34:active{box-shadow:0 0 #000}@media(min-width:901px){.theme-toggle.svelte-lu0t34{min-width:calc(clamp(.875rem,1.25vw,1.5rem)*2 + clamp(.25rem,.5vw,.5rem) + clamp(1rem,1.25vw,1.25rem) + 3.5em)}.theme-toggle.svelte-lu0t34 .label:where(.svelte-lu0t34){display:inline-block;min-width:3.5em;text-align:center}}@media(max-width:900px){.theme-toggle.svelte-lu0t34{padding:clamp(.4375rem,.6875vw,.6875rem) clamp(.75rem,1.25vw,1.5rem);gap:0;min-width:0;width:auto}.icon.svelte-lu0t34{width:clamp(1.25rem,1.5vw,1.5rem);height:clamp(1.25rem,1.5vw,1.5rem)}.label.svelte-lu0t34{display:none}}.global-nav.svelte-1n94o0z{position:sticky;top:0;z-index:2000;background:var(--nav-bg, #FFE66D);border-bottom:clamp(4px,.5vw,8px) solid var(--nav-border, #000);box-shadow:0 clamp(4px,.5vw,8px) 0 0 var(--nav-border, #000)}.nav-container.svelte-1n94o0z{max-width:87.5rem;margin:0 auto;padding:clamp(.375rem,.625vw,.875rem) clamp(1rem,1.5vw,1.5rem);display:flex;justify-content:space-between;align-items:center;gap:clamp(.5rem,1vw,1rem)}.nav-logo.svelte-1n94o0z{font-size:clamp(1.5rem,1.7vw,1.625rem);font-weight:700;color:var(--nav-text, #000);text-decoration:none;letter-spacing:.1em;text-transform:uppercase;font-family:Space Grotesk,sans-serif;padding:clamp(.4375rem,.6875vw,.6875rem) clamp(1.125rem,1.5vw,1.75rem);background:var(--nav-primary, #FF6B6B);border:4px solid var(--nav-border, #000);box-shadow:4px 4px 0 0 var(--nav-border, #000);transition:transform .1s ease,box-shadow .1s ease;flex-shrink:0;white-space:nowrap}.nav-right.svelte-1n94o0z{display:flex;align-items:center;gap:1rem;flex-shrink:1;min-width:0}.nav-control-group.svelte-1n94o0z{display:flex;align-items:center;gap:1rem;flex-wrap:nowrap}.nav-control-group.svelte-1n94o0z .theme-toggle{flex-shrink:0}.nav-links.svelte-1n94o0z{display:flex;gap:1rem;flex-wrap:nowrap;align-items:center}.nav-link.svelte-1n94o0z{color:var(--nav-text, #000);text-decoration:none;font-size:clamp(.9375rem,1.0625vw,1.0625rem);font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:clamp(.3125rem,.5625vw,.5625rem) clamp(1.125rem,1.625vw,1.875rem);background:#fff;border:4px solid var(--nav-border, #000);box-shadow:4px 4px 0 0 var(--nav-border, #000);transition:transform .1s ease,box-shadow .1s ease;font-family:Space Grotesk,sans-serif;display:inline-block;white-space:nowrap;flex-shrink:0}.desktop-nav-links.svelte-1n94o0z{display:flex}.nav-dropdown-container.svelte-1n94o0z{position:relative;display:none}.nav-dropdown-toggle.svelte-1n94o0z{background:#fff;border:4px solid var(--nav-border, #000);box-shadow:4px 4px 0 0 var(--nav-border, #000);color:var(--nav-text, #000);padding:clamp(.3125rem,.5625vw,.5625rem) clamp(1.125rem,1.625vw,1.875rem);font-size:clamp(.9375rem,1.0625vw,1.0625rem);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-family:Space Grotesk,sans-serif;cursor:pointer;display:flex;align-items:center;gap:clamp(.25rem,.5vw,.5rem);transition:transform .1s ease,box-shadow .1s ease;white-space:nowrap}.nav-dropdown-toggle.svelte-1n94o0z:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 0 var(--nav-border, #000)}.dropdown-icon.svelte-1n94o0z{font-size:.75rem;transition:transform .2s ease;display:inline-block}.dropdown-icon.open.svelte-1n94o0z{transform:rotate(180deg)}.nav-dropdown-menu.svelte-1n94o0z{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border:4px solid var(--nav-border, #000);box-shadow:clamp(4px,.5vw,8px) clamp(4px,.5vw,8px) 0 0 var(--nav-border, #000);min-width:12.5rem;z-index:2100;display:flex;flex-direction:column}.dropdown-link.svelte-1n94o0z{color:var(--nav-text, #000);text-decoration:none;font-size:clamp(.875rem,1vw,1rem);font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:clamp(.75rem,1vw,1rem) clamp(1rem,1.5vw,1.5rem);font-family:Space Grotesk,sans-serif;border-bottom:2px solid var(--nav-border, #000);transition:background .1s ease;display:block}.dropdown-link.svelte-1n94o0z:last-child{border-bottom:none}.dropdown-link.active.svelte-1n94o0z{background:var(--nav-primary, #FF6B6B);color:var(--nav-text, #000)}[data-mode=dark] .nav-dropdown-toggle.svelte-1n94o0z{background:var(--nav-primary, #9EC7FF);color:var(--nav-text, #000);border:4px solid #000;box-shadow:4px 4px #000}[data-mode=dark] .nav-dropdown-toggle.svelte-1n94o0z:hover{box-shadow:2px 2px #000}[data-mode=dark] .nav-dropdown-menu.svelte-1n94o0z{background:var(--nav-primary, #9EC7FF);border:4px solid #000;box-shadow:8px 8px #000}[data-mode=dark] .dropdown-link.svelte-1n94o0z{border-bottom:2px solid #000;color:var(--nav-text, #000)}[data-mode=dark] .dropdown-link.active.svelte-1n94o0z{background:#ff6b6b;color:var(--nav-text, #000)}[data-mode=dark] .global-nav.svelte-1n94o0z{border-bottom:clamp(4px,.5vw,8px) solid #000;box-shadow:0 clamp(4px,.5vw,8px) 0 0 #000}[data-mode=dark] .nav-logo.svelte-1n94o0z{background:var(--nav-primary, #9EC7FF);border:4px solid #000;box-shadow:4px 4px #000}[data-mode=dark] .nav-link.svelte-1n94o0z{background:var(--nav-primary, #9EC7FF);color:var(--nav-text, #000);border:4px solid #000;box-shadow:4px 4px #000}[data-mode=dark] .nav-link.svelte-1n94o0z:hover,[data-mode=dark] .nav-link.active.svelte-1n94o0z:hover{box-shadow:2px 2px #000}.nav-link.svelte-1n94o0z:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 0 var(--nav-border, #000)}.nav-link.active.svelte-1n94o0z{background:var(--nav-primary, #FF6B6B);color:var(--nav-text, #000);box-shadow:4px 4px 0 0 var(--nav-border, #000)}[data-mode=dark] .nav-link.active.svelte-1n94o0z{background:#ff6b6b;color:var(--nav-text, #000);box-shadow:4px 4px #000}.nav-link.active.svelte-1n94o0z:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 0 var(--nav-border, #000)}@media(max-width:900px){.nav-container.svelte-1n94o0z{flex-direction:row;gap:clamp(.25rem,.5vw,.5rem);padding:clamp(.375rem,.625vw,.75rem) clamp(.75rem,1.5vw,1.5rem)}.nav-logo.svelte-1n94o0z{font-size:clamp(1.5rem,1.7vw,1.625rem);font-weight:700;padding:clamp(.4375rem,.6875vw,.6875rem) clamp(1.125rem,1.5vw,1.75rem)}.nav-right.svelte-1n94o0z{flex:1;min-width:0;justify-content:flex-end}.desktop-nav-links.svelte-1n94o0z{display:none}.nav-dropdown-container.svelte-1n94o0z{display:block}.nav-dropdown-toggle.svelte-1n94o0z{font-size:clamp(1rem,1.125vw,1.125rem);padding:clamp(.4375rem,.6875vw,.6875rem) clamp(1.25rem,1.75vw,2rem)}}body{margin:0;padding:0;font-family:Space Grotesk,sans-serif;background:var(--bg, #FFE66D);color:var(--text, #000);overscroll-behavior:none}html{overscroll-behavior:none}
