.hero[data-astro-cid-ge2uvauf]{padding-top:4rem;padding-bottom:3rem}@media (width>=768px){.hero[data-astro-cid-ge2uvauf]{padding-top:5.5rem;padding-bottom:4rem}}.hero[data-astro-cid-ge2uvauf] h1[data-astro-cid-ge2uvauf]{max-width:52ch;color:var(--color-text);text-shadow:var(--glow-accent), 0 0 40px #00ff4126;margin-bottom:1.5rem;font-size:clamp(.9rem,2vw + .5rem,1.3rem);line-height:1.6}.cursor[data-astro-cid-ge2uvauf]{color:var(--color-accent);animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.hero-intro[data-astro-cid-ge2uvauf]{max-width:56ch;color:var(--color-text-secondary);font-size:clamp(1.3rem,2vw + .75rem,1.625rem);line-height:1.7}@media (width<=480px){.hero[data-astro-cid-ge2uvauf]{padding-top:2.5rem;padding-bottom:2rem}.hero[data-astro-cid-ge2uvauf] h1[data-astro-cid-ge2uvauf]{margin-bottom:1.25rem}}.section-divider[data-astro-cid-oxgmilyn]{padding:0}.section-divider[data-astro-cid-oxgmilyn] hr[data-astro-cid-oxgmilyn]{border:none;border-top:1px solid var(--color-border);margin:0;box-shadow:0 0 6px #00ff4126}.about[data-astro-cid-oxgmilyn]{padding-bottom:3rem}@media (width>=768px){.about[data-astro-cid-oxgmilyn]{padding-bottom:4rem}}.section-label[data-astro-cid-oxgmilyn]{color:var(--color-text-tertiary);text-shadow:var(--glow-text);margin-bottom:1.5rem;padding-top:3rem;font-size:.5625rem;line-height:1.6;display:block}@media (width>=768px){.section-label[data-astro-cid-oxgmilyn]{margin-bottom:2rem;padding-top:4rem}}.about-layout[data-astro-cid-oxgmilyn]{gap:1.5rem;display:grid}@media (width>=768px){.about-layout[data-astro-cid-oxgmilyn]{grid-template-rows:auto;grid-template-columns:1fr 200px;align-items:start;gap:3rem}}.about-body[data-astro-cid-oxgmilyn] p[data-astro-cid-oxgmilyn]{color:var(--color-text-secondary);margin-bottom:1.25rem;font-size:1.3rem;line-height:1.75}.about-body[data-astro-cid-oxgmilyn] p[data-astro-cid-oxgmilyn]:last-child{margin-bottom:0}@media (width>=768px){.about-sidebar[data-astro-cid-oxgmilyn]{padding-top:.25rem}}.sidebar-label[data-astro-cid-oxgmilyn]{color:var(--color-text-tertiary);text-shadow:var(--glow-text);margin-bottom:1rem;font-size:.5625rem;line-height:1.6;display:block}.about-sidebar[data-astro-cid-oxgmilyn] ul[data-astro-cid-oxgmilyn]{flex-direction:column;gap:.75rem;list-style:none;display:flex}.about-sidebar[data-astro-cid-oxgmilyn] li[data-astro-cid-oxgmilyn]{color:var(--color-text-secondary);padding-left:1.25rem;font-size:1.125rem;line-height:1.5;position:relative}.about-sidebar[data-astro-cid-oxgmilyn] li[data-astro-cid-oxgmilyn]:before{content:">";color:var(--color-accent);font-family:var(--font-pixel);text-shadow:var(--glow-text);font-size:.75rem;position:absolute;top:2px;left:0}.projects[data-astro-cid-thu224zw]{padding-bottom:3rem}@media (width>=768px){.projects[data-astro-cid-thu224zw]{padding-bottom:4rem}}.project-list[data-astro-cid-thu224zw]{flex-direction:column;list-style:none;display:flex}.project-entry[data-astro-cid-thu224zw]{border-bottom:2px solid var(--color-border);justify-content:space-between;align-items:baseline;gap:1rem;padding:1.25rem 0 1.25rem .75rem;text-decoration:none;display:flex}.project-entry[data-astro-cid-thu224zw]:first-child{border-top:4px solid var(--color-border)}.project-entry[data-astro-cid-thu224zw]:hover{background-color:var(--color-surface);outline:2px solid var(--color-accent);outline-offset:-2px;padding-left:.9375rem}.project-title[data-astro-cid-thu224zw]{font-size:1.3rem;font-weight:400;line-height:1.4}.project-entry[data-astro-cid-thu224zw] span[data-astro-cid-thu224zw]:last-child{color:var(--color-text-tertiary);font-family:var(--font-pixel);flex-shrink:0;font-size:.5625rem;line-height:1.4}.project-entry[data-astro-cid-thu224zw]:hover span[data-astro-cid-thu224zw]:last-child{color:var(--color-accent)}@media (width<=480px){.project-entry[data-astro-cid-thu224zw]{padding:1rem 0 1rem .5rem}.project-entry[data-astro-cid-thu224zw]:hover{padding-left:.75rem}}.writing[data-astro-cid-rugmhvww]{padding-bottom:3rem}@media (width>=768px){.writing[data-astro-cid-rugmhvww]{padding-bottom:4rem}}.writing-list[data-astro-cid-rugmhvww]{flex-direction:column;list-style:none;display:flex}.writing-entry[data-astro-cid-rugmhvww]{border-bottom:2px solid var(--color-border);justify-content:space-between;align-items:baseline;gap:1rem;padding:1.25rem 0 1.25rem .75rem;text-decoration:none;display:flex}.writing-entry[data-astro-cid-rugmhvww]:first-child{border-top:4px solid var(--color-border)}.writing-entry[data-astro-cid-rugmhvww]:hover{background-color:var(--color-surface);outline:2px solid var(--color-accent);outline-offset:-2px;padding-left:.9375rem}.writing-title[data-astro-cid-rugmhvww]{font-size:1.3rem;line-height:1.4}.writing-meta[data-astro-cid-rugmhvww]{color:var(--color-text-tertiary);font-size:1rem;font-family:var(--font-pixel);margin-right:auto;font-size:.5625rem;line-height:1.4}.writing-entry[data-astro-cid-rugmhvww] span[data-astro-cid-rugmhvww]:last-child{color:var(--color-text-secondary);font-family:var(--font-pixel);flex-shrink:0;font-size:.5625rem;line-height:1.4}.writing-entry[data-astro-cid-rugmhvww]:hover .writing-meta[data-astro-cid-rugmhvww]{color:var(--color-text-secondary)}@media (width<=480px){.writing-entry[data-astro-cid-rugmhvww]{padding:1rem 0 1rem .5rem}.writing-entry[data-astro-cid-rugmhvww]:hover{padding-left:.75rem}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#000;--color-surface:#0a0a0a;--color-text:#00ff41;--color-text-secondary:#0c3;--color-text-tertiary:#00681b;--color-border:#003b00;--color-accent:#00ff41;--color-dim:#00300a;--max-w:640px;--max-w-wide:768px;--font-pixel:"Press Start 2P", monospace;--font-matrix:"VT323", monospace;--glow-text:0 0 5px #00ff4166, 0 0 10px #00ff411a;--glow-accent:0 0 8px #00ff4199, 0 0 20px #00ff4133}#matrix-canvas{z-index:0;pointer-events:none;opacity:.12;width:100%;height:100%;position:fixed;inset:0}body:before{content:"";pointer-events:none;z-index:9998;background:radial-gradient(#0000 50%,#0009 100%);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(#0000 0 2px,#0000001f 2px 4px);position:fixed;inset:0}html{font-family:var(--font-matrix);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;image-rendering:pixelated;font-size:20px;line-height:1.65}.font-pixel,h1,h2,h3{font-family:var(--font-pixel);image-rendering:pixelated;-ms-interpolation-mode:nearest-neighbor}body{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}main{flex:1}a{color:var(--color-accent);text-decoration-color:var(--color-text-tertiary);text-underline-offset:3px;text-shadow:var(--glow-text)}a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent);text-shadow:var(--glow-accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{max-width:var(--max-w);margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}@media (width>=768px){.container{padding-left:2rem;padding-right:2rem}}.site-header{z-index:50;border-bottom:2px solid var(--color-border);-webkit-backdrop-filter:blur(4px);background-color:#000000e6;position:sticky;top:0}.site-header .container{height:3.5rem;max-width:var(--max-w-wide);justify-content:space-between;align-items:center;display:flex}.brand{font-family:var(--font-pixel);color:var(--color-text);text-transform:uppercase;letter-spacing:.05em;text-shadow:var(--glow-text);font-size:.625rem;line-height:1.4;text-decoration:none}.site-header nav{align-items:center;gap:1.25rem;display:flex}.site-header nav a{font-family:var(--font-pixel);color:var(--color-text-tertiary);text-shadow:none;font-size:.625rem;line-height:1.4;text-decoration:none}.site-header nav a:hover{color:var(--color-accent);text-shadow:var(--glow-text)}.test-notice{max-width:var(--max-w);font-family:var(--font-pixel);color:var(--color-text-tertiary);border:2px dashed var(--color-text-tertiary);text-align:center;margin:.5rem auto 0;padding:.75rem 1rem;font-size:.5625rem;line-height:1.6}.test-notice:before{content:"[ "}.test-notice:after{content:" ]"}@media (width>=768px){.test-notice{padding-left:2rem;padding-right:2rem}}@media (width<=480px){.site-header .container{height:3rem;padding-left:1rem;padding-right:1rem}.brand,.site-header nav a{font-size:.5625rem}}
