@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(.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(.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"].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"].dark :global(.page-shell){background:#8b4a5a}html[data-page^="/gameboy-emulator"].dark body,html[data-page^="/gameboy-emulator"].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.dark{color-scheme:dark}html.light{color-scheme:light}}html.light{--nav-bg: #FFE66D;--nav-primary: #FF6B6B;--nav-text: #000;--nav-border: #000}html.dark{--nav-bg: #6B5F7A;--nav-primary: #AEC6DF;--nav-text: #101010;--nav-border: #000}html:not([data-page]).light,html[data-page="/"].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]).dark,html[data-page="/"].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"].light{--bg: #A8E6CF;--primary: #FF8B94;--accent: #FFD93D;--text: #000;--border: #000}html[data-page^="/resume"].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"].light{--bg: #E8E4D4;--primary: #B19CD9;--accent: #8bac0f;--text: #000;--border: #2A2A2A}html[data-page^="/gameboy-emulator"].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)}html[data-page^="/editor"].light{--bg: var(--pastel-lavender, #D9C9FF);--primary: #818cf8;--accent: #c084fc;--text: #0f172a;--border: #334155;--panel-bg: #f6f2ff}html[data-page^="/editor"].dark{--bg: #1a1525;--primary: #a5b4fc;--accent: #e879f9;--text: #f8fafc;--border: #475569;--panel: #0f172a;--shadow: #000}html[data-page^="/editor"].dark body,html[data-page^="/editor"].dark html{background:var(--bg)}pre.starry-night{background-color:#f6f8fa;color:#24292f;padding:1rem;overflow-x:auto;border-radius:6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.5}.pl-c{color:#6e7781}.pl-c1,.pl-s .pl-v{color:#0550ae}.pl-e,.pl-en{color:#8250df}.pl-smi,.pl-s .pl-s1{color:#24292f}.pl-ent{color:#116329}.pl-k{color:#cf222e}.pl-s,.pl-pds{color:#0a3069}.pl-sr{color:#116329}.pl-sr .pl-cce{color:#cf222e}.pl-v,.pl-smw{color:#953800}.pl-bu{color:#82071e}.pl-ii{color:#f6f8fa;background-color:#82071e}.pl-c2{color:#f6f8fa;background-color:#cf222e}.pl-ml{color:#3b2300}.pl-mh,.pl-mh .pl-en,.pl-ms{color:#0550ae;font-weight:700}.pl-mi{color:#24292f;font-style:italic}.pl-mb{color:#24292f;font-weight:700}.pl-md{color:#82071e;background-color:#ffebe9}.pl-mi1{color:#116329;background-color:#dafbe1}.pl-mc{color:#953800;background-color:#ffd8b5}.pl-mi2{color:#eaeef2;background-color:#0550ae}.pl-corl{color:#0a3069;text-decoration:underline}html.dark pre.starry-night{background-color:#0d1117;color:#e6edf3}html.dark .pl-c{color:#8b949e}html.dark .pl-c1,html.dark .pl-s .pl-v{color:#79c0ff}html.dark .pl-e,html.dark .pl-en{color:#d2a8ff}html.dark .pl-smi,html.dark .pl-s .pl-s1{color:#e6edf3}html.dark .pl-ent{color:#7ee787}html.dark .pl-k{color:#ff7b72}html.dark .pl-s,html.dark .pl-pds{color:#a5d6ff}html.dark .pl-sr{color:#7ee787}html.dark .pl-sr .pl-cce{color:#ff7b72}html.dark .pl-v,html.dark .pl-smw{color:#ffa657}html.dark .pl-bu{color:#f85149}html.dark .pl-ii{color:#f0f6fc;background-color:#8e1519}html.dark .pl-c2{color:#f0f6fc;background-color:#b62324}html.dark .pl-ml{color:#f2cc60}html.dark .pl-mh,html.dark .pl-mh .pl-en,html.dark .pl-ms{color:#79c0ff;font-weight:700}html.dark .pl-mi{color:#e6edf3;font-style:italic}html.dark .pl-mb{color:#e6edf3;font-weight:700}html.dark .pl-md{color:#ffdcd7;background-color:#67060c}html.dark .pl-mi1{color:#aff5b4;background-color:#033a16}html.dark .pl-mc{color:#ffdfb6;background-color:#5a1e02}html.dark .pl-mi2{color:#e6edf3;background-color:#1158c7}html.dark .pl-corl{color:#a5d6ff;text-decoration:underline}.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;position:relative}.icon.svelte-lu0t34 svg:where(.svelte-lu0t34){width:100%;height:100%;position:absolute;top:0;left:0}.sun-icon.svelte-lu0t34{opacity:0;pointer-events:none}.moon-icon.svelte-lu0t34{opacity:1;transform:scale(1.1)}.dark .sun-icon.svelte-lu0t34{opacity:1;pointer-events:auto}.dark .moon-icon.svelte-lu0t34{opacity:0;pointer-events:none}.label-light.svelte-lu0t34{display:inline}.label-dark.svelte-lu0t34,.dark .label-light.svelte-lu0t34{display:none}.dark .label-dark.svelte-lu0t34{display:inline}.label.svelte-lu0t34{font-weight:700;letter-spacing:.1em}.dark .theme-toggle.svelte-lu0t34{background:var(--nav-primary, #9EC7FF);color:var(--nav-text, #000);border:4px solid #000;box-shadow:4px 4px #000}.dark .theme-toggle.svelte-lu0t34:hover{box-shadow:2px 2px #000}.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)}.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}.dark .nav-dropdown-toggle.svelte-1n94o0z:hover{box-shadow:2px 2px #000}.dark .nav-dropdown-menu.svelte-1n94o0z{background:var(--nav-primary, #9EC7FF);border:4px solid #000;box-shadow:8px 8px #000}.dark .dropdown-link.svelte-1n94o0z{border-bottom:2px solid #000;color:var(--nav-text, #000)}.dark .dropdown-link.active.svelte-1n94o0z{background:#ff6b6b;color:var(--nav-text, #000)}.dark .global-nav.svelte-1n94o0z{border-bottom:clamp(4px,.5vw,8px) solid #000;box-shadow:0 clamp(4px,.5vw,8px) 0 0 #000}.dark .nav-logo.svelte-1n94o0z{background:var(--nav-primary, #9EC7FF);border:4px solid #000;box-shadow:4px 4px #000}.dark .nav-link.svelte-1n94o0z{background:var(--nav-primary, #9EC7FF);color:var(--nav-text, #000);border:4px solid #000;box-shadow:4px 4px #000}.dark .nav-link.svelte-1n94o0z:hover,.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)}.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}
