/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@import "https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Press+Start+2P&family=VT323&display=swap";@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#e8eaf6;--muted:#b0bec5;--dim:#66738f;--aqua:#90caf9;--aqua-soft:#d4ddff;--indigo:#5c6bc0;--night:#04070f;--deep:#0a1220;--panel:#0f1c34b8;--border:#90caf92e}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--night)}body{color:var(--ink);margin:0;font-family:Oswald,Arial,sans-serif;overflow-x:hidden}a,button{-webkit-tap-highlight-color:transparent;color:inherit}::selection{background:var(--aqua);color:var(--night)}.skip-link{z-index:300;background:var(--aqua);color:var(--night);padding:12px 16px;font-family:Oswald,Arial,sans-serif;font-size:13px;font-weight:600;text-decoration:none;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.site-header{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#030812cc;border-bottom:1px solid #90caf91a;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:72px;padding:0 4vw;display:grid;position:fixed;inset:0 0 auto}.wordmark{color:var(--aqua);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;justify-self:start;font:10px/1 Press Start\ 2P,monospace}.nav-links{align-items:center;gap:clamp(18px,3vw,42px);display:flex}.nav-link{color:var(--muted);cursor:pointer;background:0 0;border:0;font:21px/1 VT323,monospace;position:relative}.nav-link:after{content:"";background:var(--aqua);height:2px;transition:inset .2s;position:absolute;inset:auto 50% -12px}.nav-link.active,.nav-link:hover{color:var(--ink)}.nav-link.active:after{inset-inline:0}.resume-button{border:1px solid var(--aqua);color:var(--aqua);justify-self:end;padding:10px 15px 9px;font:8px/1.3 Press Start\ 2P,monospace;text-decoration:none;transition:all .15s;box-shadow:3px 3px #7384ff73}.resume-button:hover{background:var(--aqua);color:var(--night);transform:translate(2px,2px);box-shadow:1px 1px #7384ff73}.menu-button{border:1px solid var(--border);cursor:pointer;background:0 0;justify-self:end;width:40px;height:40px;display:none}.menu-button span{background:var(--aqua);width:17px;height:2px;margin:5px auto;display:block}.hero-section{isolation:isolate;background:radial-gradient(circle at 72% 18%,#5c6bc029,#0000 20%),linear-gradient(#04070f,#0a1220 14%,#0f1c34 34%,#162d4c 58%,#1c3a5e 80%,#1a3555);place-items:center;height:100svh;min-height:800px;padding:130px 6vw 110px;display:grid;position:relative;overflow:hidden}.hero-section:after{content:"";z-index:-1;pointer-events:none;opacity:.13;background:repeating-linear-gradient(0deg,#0000 0 3px,#000 4px);position:absolute;inset:0}.hero-copy{z-index:10;text-align:center;width:min(100%,980px);font-family:VT323,monospace;position:relative}.hero-copy h1{color:var(--ink);letter-spacing:.11em;text-shadow:0 0 30px #90caf947,0 0 60px #90caf91a,0 4px #0d2944;white-space:nowrap;margin:0;font:clamp(38px,5.2vw,66px)/1.55 Press Start\ 2P,monospace}.hero-title{color:var(--muted);letter-spacing:.28em;margin:8px 0 0;font:clamp(27px,3vw,36px)/1.2 VT323,monospace}.cursor-blink{color:var(--aqua);animation:cursor-blink 1s step-end infinite}.hero-deck{color:#c5d7e5;width:min(680px,100%);margin:30px auto 0;font:clamp(23px,2.2vw,30px)/1.4 VT323,monospace}.hero-actions{justify-content:center;align-items:center;gap:30px;margin-top:38px;display:flex}.primary-button{background:var(--aqua);color:var(--night);letter-spacing:.08em;cursor:pointer;box-shadow:4px 4px 0 var(--indigo);border:0;padding:15px 20px 13px;font:9px/1.5 Press Start\ 2P,monospace;transition:all .15s}.primary-button:hover{box-shadow:2px 2px 0 var(--indigo);transform:translate(2px,2px)}.text-link{color:var(--aqua-soft);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #90caf959;padding:0;font:22px/1.2 VT323,monospace}.moon{aspect-ratio:1;background:radial-gradient(circle at 34% 30%,#fff 0 8%,#d7e7fb 9% 35%,#9bb5de 70%,#607ca6 100%);border-radius:50%;width:86px;top:120px;right:12%;box-shadow:0 0 30px #b8ecff59,0 0 100px #7384ff26}.moon,.stars{position:absolute}.stars{inset:72px 0 30%}.stars i{background:var(--aqua-soft);width:3px;height:3px;animation:twinkle 3s ease-in-out infinite;position:absolute}.stars i:nth-child(n){top:13%;left:7%}.stars i:nth-child(2n){animation-delay:.6s;top:28%;left:18%}.stars i:nth-child(3n){animation-delay:1.1s;top:8%;left:31%}.stars i:nth-child(4n){animation-delay:.2s;top:37%;left:43%}.stars i:nth-child(5n){animation-delay:1.8s;top:19%;left:58%}.stars i:nth-child(6n){animation-delay:.9s;top:42%;left:74%}.stars i:nth-child(7n){animation-delay:1.4s;top:17%;left:86%}.stars i:nth-child(8n){animation-delay:2s;top:49%;left:94%}.stars i:nth-child(9n){animation-delay:.4s;top:4%;left:52%}.stars i:nth-child(10n){animation-delay:1.2s;top:54%;left:24%}.whale-wrap{color:#172f63;opacity:.68;animation:whale-drift 9s ease-in-out infinite;position:absolute;top:28%;left:3%}.pixel-whale{width:clamp(160px,20vw,270px);image-rendering:pixelated;filter:drop-shadow(0 0 16px #7384ff29)}.pixel-sprite{width:52px;height:auto;image-rendering:pixelated;shape-rendering:crispedges;filter:drop-shadow(0 0 7px #90caf933);display:block;overflow:visible}.fish-school{opacity:.72;align-items:center;gap:14px;display:flex;position:absolute}.fish-school .pixel-sprite:nth-child(2){opacity:.72;width:42px}.fish-school .pixel-sprite:nth-child(3){opacity:.5;width:34px}.fish-school .pixel-sprite:nth-child(4){opacity:.38;width:28px}.fish-school-one{animation:swim-left 20s linear infinite;top:43%;right:-190px}.fish-school-two{animation:swim-right 26s linear 3s infinite;top:62%;left:-150px}.fish-school-three{opacity:.42;animation:swim-left 30s linear 7s infinite;top:76%;right:-170px}.bubble-field{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.bubble-field i{border:1px solid #90caf9b8;border-radius:50%;animation-name:bubble-rise;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:-18px;box-shadow:inset 1px 1px #e8eaf638}.hero-bubbles{inset:72px 0 0}.section-fish{z-index:1;opacity:.16;pointer-events:none;align-items:center;gap:13px;display:flex;position:absolute}.section-fish .pixel-sprite{width:46px}.section-fish .pixel-sprite:nth-child(2){width:37px}.section-fish .pixel-sprite:nth-child(3){width:29px}.section-fish-about{animation:swim-right 34s linear 2s infinite;top:24%;left:-180px}.section-fish-projects{animation:swim-left 38s linear 6s infinite;top:62%;right:-180px}.section-fish-oss{animation:swim-right 36s linear 4s infinite;top:38%;left:-170px}.section-fish-skills{animation:swim-left 32s linear 3s infinite;top:68%;right:-180px}.hero-jelly{z-index:3;opacity:.55;filter:drop-shadow(0 0 10px #7384ff47);position:absolute}.hero-jelly .pixel-sprite{width:58px}.hero-jelly-one{animation:jelly-bob 7s ease-in-out infinite;top:23%;right:20%}.hero-jelly-two{opacity:.3;animation:jelly-bob 5.5s ease-in-out 2s infinite;top:52%;right:8%}.hero-jelly-two .pixel-sprite{width:36px}.scroll-cue{z-index:12;transform-origin:0 0;color:var(--dim);letter-spacing:.2em;cursor:pointer;background:0 0;border:0;font:8px/1 Press Start\ 2P,monospace;position:absolute;top:50%;left:30px;transform:rotate(-90deg)translate(-50%)}.seabed{opacity:.8;background:linear-gradient(#0000,#030914);height:100px;position:absolute;inset:auto 0 0}.seabed i{clip-path:polygon(42% 100%,35% 75%,55% 58%,28% 38%,45% 0,63% 38%,44% 58%,70% 74%,58% 100%);transform-origin:bottom;background:#0a1220;width:10px;height:75px;animation:sway 6s ease-in-out infinite;position:absolute;bottom:0}.seabed i:first-child{left:8%}.seabed i:nth-child(2){height:55px;animation-delay:1s;left:19%}.seabed i:nth-child(3){height:68px;animation-delay:2s;right:13%}.seabed i:nth-child(4){height:45px;animation-delay:3s;right:5%}.content-section{padding:130px 5vw;scroll-margin-top:70px;position:relative;overflow:hidden}.section-shell{z-index:2;width:min(1100px,100%);margin:0 auto;position:relative}.section-heading-wrap{margin-bottom:48px;display:block}.section-number-row{align-items:center;gap:8px;margin-bottom:14px;display:flex}.section-number-line{background:var(--indigo);width:30px;height:2px}.section-heading-wrap h2{color:var(--ink);letter-spacing:.1em;margin:0;font:clamp(22px,3vw,32px)/1.45 Press Start\ 2P,monospace;animation:heading-glow 5s ease-in-out infinite}.section-index{color:var(--indigo);letter-spacing:.16em;font:9px/1 Press Start\ 2P,monospace}.about-section{background:linear-gradient(#1a3555,#132842 65%,#0f1c34);font-family:VT323,monospace}.about-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(50px,8vw,100px);display:grid}.about-intro p{color:var(--muted);font-size:22px;line-height:1.65}.about-intro .large-copy{color:var(--ink);margin-top:0;font-size:clamp(27px,3vw,36px);line-height:1.35}.profile-panel{gap:22px;display:grid}.profile-terminal{border:1px solid var(--border);background:#030a13b3;box-shadow:12px 12px #7384ff0f}.terminal-bar{border-bottom:1px solid #90caf91a;gap:7px;padding:10px 12px;display:flex}.terminal-bar span{background:var(--dim);width:7px;height:7px}.terminal-bar span:nth-child(2){background:var(--indigo)}.terminal-bar span:nth-child(3){background:var(--aqua)}.profile-terminal pre{color:var(--muted);margin:0;padding:25px 22px;font:18px/1.7 VT323,monospace;overflow-x:auto}.profile-terminal code span{color:var(--indigo)}.profile-terminal code b{color:var(--aqua-soft);font-weight:400}.education-list{background:#90caf91f;border:1px solid #90caf91f;gap:1px;display:grid}.education-list article{background:#111e37;grid-template-columns:62px 1fr;align-items:center;gap:16px;padding:16px;display:grid}.education-list article>span{color:var(--aqua);letter-spacing:.08em;font:8px/1.4 Press Start\ 2P,monospace}.education-list strong{font-size:20px;font-weight:400}.education-list p{color:var(--muted);margin:2px 0 0;font-size:17px}.experience-section{background:linear-gradient(#0f1c34,#0a1220)}.experience-layout{border:1px solid var(--border);background:#040e1973;grid-template-columns:300px 1fr;min-height:480px;display:grid}.experience-tabs{border-right:1px solid var(--border)}.experience-tab{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #90caf914;gap:7px;width:100%;padding:24px 22px;display:grid;position:relative}.experience-tab:before{content:"";background:0 0;width:3px;position:absolute;inset:0 auto 0 0}.experience-tab.active,.experience-tab:hover{background:#90caf90b}.experience-tab.active:before{background:var(--aqua)}.experience-tab span{color:var(--indigo);letter-spacing:.08em;font:7px/1.5 Press Start\ 2P,monospace}.experience-tab strong{color:var(--ink);letter-spacing:.04em;font:10px/1.55 Press Start\ 2P,monospace}.experience-tab small{color:var(--muted);font:18px/1.25 VT323,monospace}.experience-detail{padding:clamp(28px,5vw,58px);animation:fade-up .3s}.experience-meta{color:var(--dim);letter-spacing:.06em;justify-content:space-between;gap:20px;font:600 11px/1.5 Oswald,Arial,sans-serif;display:flex}.experience-detail h3{color:var(--ink);letter-spacing:.03em;margin:28px 0 8px;font:600 clamp(25px,3vw,36px)/1.2 Oswald,Arial,sans-serif}.company-name{color:var(--aqua);margin:0;font-size:24px}.experience-detail ul,.project-details ul{margin:30px 0;padding:0;list-style:none}.experience-detail li,.project-details li{color:#b9cad7;margin:15px 0;padding-left:23px;position:relative}.experience-detail li{letter-spacing:.01em;font-family:Oswald,Arial,sans-serif;font-size:17px;line-height:1.7}.project-details li{font-size:20px;line-height:1.45}.experience-detail li:before,.project-details li:before{content:"▸";color:var(--aqua);position:absolute;left:0}.tag-row{flex-wrap:wrap;gap:8px;display:flex}.tag-row span{color:var(--aqua-soft);background:#90caf90a;border:1px solid #90caf929;padding:7px 10px 5px;font-size:16px;line-height:1}.projects-section{background:linear-gradient(#0a1220,#080e1e)}.project-list{border-top:1px solid var(--border)}.project-card{border-bottom:1px solid var(--border);transition:background .2s}.project-card.active,.project-card:hover{background:#90caf909}.project-summary{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:70px 1fr 46px;align-items:start;gap:22px;width:100%;padding:36px 22px;display:grid}.project-number{color:var(--indigo);letter-spacing:.08em;font:600 12px/1.5 Oswald,Arial,sans-serif}.project-summary h3{color:var(--aqua);letter-spacing:.08em;margin:0 0 10px;font:clamp(12px,1.6vw,16px)/1.6 Press Start\ 2P,monospace}.project-summary p{max-width:720px;color:var(--muted);margin:0;font-size:21px;line-height:1.45}.project-toggle{color:var(--aqua);justify-self:end;font-size:32px;line-height:.8}.project-details{border-left:2px solid var(--indigo);background:#030a1399;grid-template-columns:1fr auto;gap:20px 50px;margin:0 22px 32px 114px;padding:24px;animation:fade-up .25s;display:grid}.project-details ul{grid-column:1;margin:0}.project-details .tag-row{grid-column:1}.project-details>a{border:1px solid var(--aqua);color:var(--aqua);letter-spacing:.06em;grid-area:1/2/span 2;align-self:end;padding:12px 14px 10px;font:600 11px/1.5 Oswald,Arial,sans-serif;text-decoration:none}.oss-section{background:linear-gradient(#080e1e,#0a1220 55%,#0b1429)}.oss-list{gap:18px;display:grid}.oss-repo-group{gap:10px;animation:fade-up .25s;display:grid}.repo-divider{background:linear-gradient(90deg,#7384ff26,#7384ff08);border:1px solid #7384ff47;grid-template-columns:1fr auto;align-items:stretch;display:grid}.repo-toggle{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-width:0;padding:18px 20px;display:grid}.repo-toggle-icon{color:var(--aqua);font:14px/1 Press Start\ 2P,monospace}.repo-heading{gap:4px;min-width:0;display:grid}.repo-heading strong{color:var(--ink);letter-spacing:.08em;font:12px/1.4 Press Start\ 2P,monospace}.repo-heading small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font:18px/1.3 VT323,monospace;overflow:hidden}.repo-count{color:var(--aqua);white-space:nowrap;font:9px/1.4 Press Start\ 2P,monospace}.repo-external{width:54px;color:var(--aqua);border-left:1px solid #7384ff38;place-items:center;font-size:22px;text-decoration:none;display:grid}.repo-external:hover,.repo-toggle:hover{background:#90caf90d}.repo-contributions{gap:10px;display:grid}.oss-card{background:#04091694;border:1px solid #90caf91c;grid-template-columns:1fr auto;align-items:start;gap:28px;padding:28px;transition:all .2s;display:grid}.oss-card:hover{background:#101632c7;border-color:#90caf94d;transform:translateY(-2px)}.oss-copy h3{color:var(--ink);letter-spacing:.03em;margin:0 0 8px;font:600 22px/1.35 Oswald,Arial,sans-serif}.oss-copy>p{max-width:680px;color:var(--muted);margin:10px 0 17px;font-size:19px;line-height:1.45}.oss-copy .impact-line{color:var(--aqua);margin:0;font-size:20px}.oss-links{justify-items:end;gap:10px;display:grid}.github-cta,.oss-links a{color:var(--aqua);letter-spacing:.05em;white-space:nowrap;border:1px solid #90caf938;padding:10px 12px 8px;font:600 11px/1.4 Oswald,Arial,sans-serif;text-decoration:none}.github-cta:hover,.oss-links a:hover{border-color:var(--aqua);background:#90caf912}.github-cta{margin:28px 0 0 auto;padding:13px 15px 11px;display:table}.skills-section{background:linear-gradient(#0b1429,#080e1e)}.skills-grid{grid-template-columns:1fr 1fr;gap:36px;display:grid}.skill-category{border-left:3px solid var(--indigo);background:#7384ff09;padding:28px}.skill-category h3{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 20px;font:10px/1.5 Press Start\ 2P,monospace}.skill-cloud{flex-wrap:wrap;gap:8px;display:flex}.skill-cloud span{color:#cedee6;background:#90caf90f;border:1px solid #90caf91f;padding:7px 14px 6px;font:18px/1.2 VT323,monospace;transition:all .2s;display:inline-block}.skill-cloud span:hover{color:var(--ink);background:#90caf91a;border-color:#90caf952}.contact-section{background:radial-gradient(circle at 50% 34%,#5c6bc033,#0000 34%),linear-gradient(#080e1e,#04070f);flex-direction:column;justify-content:center;min-height:720px;padding:130px 5vw 0;scroll-margin-top:70px;display:flex;position:relative;overflow:hidden}.contact-section:before{content:"";opacity:.09;background:repeating-linear-gradient(0deg,#0000 0 3px,#000 4px);position:absolute;inset:0}.contact-shell{z-index:2;text-align:center;width:min(900px,100%);margin:auto;padding:60px 0 100px;position:relative}.contact-shell h2{letter-spacing:.08em;margin:0 0 18px;font:clamp(20px,3.5vw,34px)/1.55 Press Start\ 2P,monospace;animation:heading-glow 4s ease-in-out infinite}.contact-shell>p{max-width:690px;color:var(--muted);margin:0 auto;font:24px/1.5 VT323,monospace}.social-row{justify-content:center;gap:24px;margin-top:46px;display:flex}.social-row a{color:var(--aqua);letter-spacing:.08em;border:2px solid #90caf940;padding:14px 24px;font:10px/1.4 Press Start\ 2P,monospace;text-decoration:none;transition:all .2s}.social-row a:hover{border-color:var(--aqua);background:#90caf914;transform:translateY(-2px)}.contact-form{text-align:left;background:#030c159e;border:2px solid #90caf921;gap:18px;width:min(720px,100%);margin:52px auto 0;padding:30px;display:grid}.contact-field-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact-form label{gap:8px;display:grid}.contact-form label>span{color:var(--aqua);letter-spacing:.08em;font:8px/1.5 Press Start\ 2P,monospace}.contact-form input,.contact-form textarea{width:100%;color:var(--ink);resize:vertical;background:#071525d1;border:1px solid #90caf92e;border-radius:0;outline:0;padding:12px 14px;font:20px/1.35 VT323,monospace;transition:border-color .2s,box-shadow .2s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--dim);opacity:.8}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--aqua);box-shadow:0 0 0 2px #90caf914}.contact-honeypot{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important}.contact-form-footer{align-items:center;gap:18px;min-height:42px;display:flex}.contact-form-footer button{border:2px solid var(--aqua);color:var(--aqua);letter-spacing:.06em;cursor:pointer;background:0 0;padding:13px 18px 11px;font:8px/1.4 Press Start\ 2P,monospace;transition:all .2s}.contact-form-footer button:hover:not(:disabled){background:var(--aqua);color:var(--night)}.contact-form-footer button:disabled{cursor:wait;opacity:.55}.form-status{margin:0;font:18px/1.3 VT323,monospace}.form-status.sent{color:#8be0ba}.form-status.error{color:#ff9e9e}.pixel-divider{justify-content:center;align-items:center;gap:4px;margin-top:58px;display:flex}.pixel-divider i{background:#2a3a5e;height:3px;display:block}.pixel-divider i:first-child,.pixel-divider i:nth-child(5){width:6px}.pixel-divider i:nth-child(2),.pixel-divider i:nth-child(4){width:10px}.pixel-divider i:nth-child(3){width:30px}.contact-fish{opacity:.18;align-items:center;gap:18px;animation:swim-right 30s linear infinite;display:flex;position:absolute;top:22%;left:-220px}.contact-fish .pixel-sprite:nth-child(2){width:42px}.contact-fish .pixel-sprite:nth-child(3){width:34px}.contact-section footer{z-index:2;min-height:72px;color:var(--dim);letter-spacing:.06em;border-top:1px solid #90caf91a;justify-content:space-between;align-items:center;font:600 11px/1.4 Oswald,Arial,sans-serif;display:flex;position:relative}.contact-section footer button{color:var(--dim);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto}.contact-section footer button:hover{color:var(--aqua)}@keyframes twinkle{0%,to{opacity:.15;transform:scale(.7)}50%{opacity:.9;transform:scale(1.4)}}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes heading-glow{0%,to{text-shadow:0 0 10px #90caf91a,0 0 20px #90caf90d}50%{text-shadow:0 0 30px #90caf961,0 0 60px #90caf924}}@keyframes bubble-rise{0%{opacity:.08;transform:translateY(0)scale(.8)}35%{opacity:.26}to{opacity:0;transform:translateY(-1800px)scale(1.08)}}@keyframes whale-drift{0%,to{transform:translate(0)}50%{transform:translate(18px,-12px)}}@keyframes swim-left{0%{transform:translate(0)scaleX(-1)}to{transform:translate(calc(-100vw - 240px))scaleX(-1)}}@keyframes swim-right{0%{transform:translate(0)}to{transform:translate(calc(100vw + 240px))}}@keyframes sway{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes skill-in{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:none}}@keyframes jelly-bob{0%,to{transform:translateY(0)scaleX(1)}35%{transform:translateY(-18px)scaleX(.94)}70%{transform:translateY(-5px)scaleX(1.04)}}@media (max-width:980px){.site-header{grid-template-columns:1fr auto auto;min-height:64px}.nav-links{border-bottom:1px solid var(--border);background:#030812f7;gap:0;padding:14px 5vw 24px;transition:transform .25s;display:grid;position:fixed;inset:64px 0 auto;transform:translateY(-130%)}.nav-links.open{transform:none}.nav-link{text-align:left;padding:15px 0;font-size:24px}.nav-link:after{display:none}.menu-button{display:block}.resume-button{padding:9px;font-size:0}.resume-button span{font-size:13px}.resume-button:before{content:"CV";font:7px/1 Press Start\ 2P,monospace}.hero-section{min-height:760px;padding-inline:24px}.hero-copy{text-align:center}.hero-copy h1{font-size:clamp(32px,8vw,52px)}.hero-title{font-size:clamp(24px,5vw,32px)}.hero-deck{margin-inline:auto}.hero-actions{justify-content:center;gap:20px}.moon{width:64px;top:95px;right:8%}.whale-wrap{opacity:.38;top:27%;left:auto;right:-30px}.scroll-cue{display:none}.hero-jelly-one{right:8%}.hero-jelly-two{display:none}.content-section{padding:95px 22px}.section-heading-wrap{margin-bottom:42px}.about-grid{gap:45px}.about-grid,.experience-layout{grid-template-columns:1fr}.experience-tabs{border-right:0;border-bottom:1px solid var(--border);scrollbar-width:thin;display:flex;overflow-x:auto}.experience-tab{min-width:210px}.experience-tab small{display:none}.experience-detail{min-height:480px}.experience-meta{flex-direction:column;gap:8px}.project-summary{grid-template-columns:40px 1fr 28px;gap:12px;padding-inline:8px}.project-details{grid-template-columns:1fr;margin-left:48px;margin-right:8px}.project-details>a{grid-area:auto/1;justify-self:start}.oss-card{grid-template-columns:1fr auto}.oss-links{grid-auto-flow:column;justify-content:start;justify-items:start}.skills-grid{grid-template-columns:1fr;gap:22px}.contact-section{min-height:680px;padding-inline:24px}.contact-shell{text-align:center}.social-row{justify-content:center}.contact-section footer{font-size:10px}}@media (max-width:480px){.hero-section{min-height:760px}.hero-copy h1{letter-spacing:.06em;font-size:clamp(25px,8vw,36px)}.hero-title{letter-spacing:.18em;font-size:22px}.hero-actions{flex-direction:column;align-items:center}.section-heading-wrap h2{font-size:17px}.about-intro p{font-size:20px}.about-intro .large-copy{font-size:28px}.experience-detail h3{font-size:24px}.project-summary h3{font-size:13px}.project-summary p{font-size:18px}.project-details{margin-left:0;padding:18px}.project-number{display:none}.project-summary{grid-template-columns:1fr 25px}.oss-card{grid-template-columns:1fr;padding:20px}.oss-links{grid-column:1;grid-auto-flow:row}.repo-toggle{grid-template-columns:auto 1fr;padding:16px}.repo-count{grid-column:2}.repo-external{width:44px}.skill-category{padding:22px}.skill-cloud span{font-size:18px}.social-row{flex-wrap:wrap;gap:14px}.social-row a{padding:12px 16px;font-size:8px}.contact-form{padding:20px}.contact-field-row{grid-template-columns:1fr}.contact-form-footer,.contact-section footer{flex-direction:column;align-items:flex-start}.contact-section footer{justify-content:center;gap:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}