:root{color-scheme:light;--ink: #171d22;--ink-soft: #41515e;--panel: #fff8d7;--panel-deep: #e8d28b;--line: #20262d;--grass-a: #77bd6e;--grass-b: #8bcf79;--path: #d2b766;--path-dark: #9b7d3c;--water: #4fa7b9;--water-dark: #21667e;--brick: #b9564a;--teal: #207b78;--gold: #c99c33;--steel: #53697f;--cream: #eadca4;--screen: #182532;--shadow: rgba(12, 20, 18, .3);--font-main: "Courier New", Courier, monospace;--chrome-height: 160px}*{box-sizing:border-box}html{min-height:100%;background:#cddbbf;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;overflow-y:auto;color:var(--ink);font-family:var(--font-main);letter-spacing:0;background:linear-gradient(90deg,rgba(32,38,45,.07) 1px,transparent 1px),linear-gradient(rgba(32,38,45,.06) 1px,transparent 1px),radial-gradient(circle at 20% 10%,#f7e6ab 0 16%,transparent 32%),linear-gradient(135deg,#dbe7bf,#bdd7ce 42%,#f1dfb2);background-size:24px 24px,24px 24px,auto,auto}button,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}#root{min-height:100vh}.app-shell{width:min(1120px,100%);min-height:100vh;margin:0 auto;padding:12px}.portfolio-page{display:grid;gap:12px}.top-hud,.section-panel,.section-nav{border:4px solid var(--line);background:var(--panel);box-shadow:6px 6px 0 var(--shadow)}.top-hud{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;background:linear-gradient(90deg,transparent 0 11px,rgba(255,255,255,.48) 11px 12px,transparent 12px),var(--panel);background-size:24px 100%}.site-chrome{position:sticky;top:12px;z-index:20;display:grid;gap:12px}.brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}.brand-lockup>div{min-width:0}.logo-anchor,.corner-logo{flex:0 0 48px;width:48px;height:48px}.eyebrow,.card-kicker,.subline,.section-line{margin:0;color:var(--ink-soft);font-size:.76rem;font-weight:800;line-height:1.35;text-transform:uppercase}.brand-lockup h1{margin:0;font-size:clamp(1.6rem,4vw,2.6rem);line-height:.95;text-shadow:3px 3px 0 #ffffff}.hud-links,.contact-grid{display:flex;flex-wrap:wrap;gap:8px}.hud-links{justify-content:flex-end}.hud-links a,.hud-links button,.section-nav button,.pixel-link,.contact-grid a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:3px solid var(--line);background:#fffdf0;box-shadow:3px 3px 0 var(--line);color:var(--ink);font-weight:800;line-height:1.1;cursor:pointer}.hud-links a,.hud-links button,.pixel-link,.contact-grid a{padding:8px 12px}.hud-links button,.section-nav button{padding:8px 12px;text-transform:none}.section-nav button{flex:0 0 auto;white-space:nowrap}.hud-links a:hover,.hud-links button:hover,.hud-links button.active,.section-nav button:hover,.section-nav button.active,.pixel-link:hover,.contact-grid a:hover{background:#ffd36a;transform:translate(1px,1px);box-shadow:2px 2px 0 var(--line)}.section-nav{display:flex;flex-wrap:nowrap;gap:8px;padding:10px;overflow-x:auto;scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}.portfolio-sections{display:grid;gap:14px;padding-bottom:24px}.section-panel{display:grid;gap:12px;padding:14px;background:linear-gradient(90deg,transparent 0 11px,rgba(255,255,255,.48) 11px 12px,transparent 12px),var(--panel);background-size:24px 100%;scroll-margin-top:calc(12px + var(--chrome-height) + 16px)}.section-heading h2{margin:4px 0 6px;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1}.section-line{font-size:.9rem;text-transform:none}.intro-grid,.card-grid,.skill-board{display:grid;gap:10px}.intro-grid{grid-template-columns:1.4fr .8fr}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid{align-items:start}.skill-board{grid-template-columns:repeat(3,minmax(0,1fr))}.info-card{min-width:0;padding:10px;border:3px solid var(--line);background:#fffdf0db;box-shadow:4px 4px #171d2229}.info-card h2{margin:0 0 7px;font-size:1.06rem;line-height:1.15}.info-card p,.info-card li{margin:0;font-size:.86rem;line-height:1.42}.info-card ul{display:grid;gap:6px;margin:8px 0 0;padding-left:18px}.stats-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.stats-card span,.chip-row span{min-width:0;border:2px solid var(--line);background:#f8e9ad;box-shadow:2px 2px #171d222e;font-size:.76rem;font-weight:800;line-height:1.12}.stats-card span{display:grid;place-items:center;padding:7px;text-align:center}.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.chip-row span{padding:5px 6px}.pixel-link{width:max-content;max-width:100%;margin-top:9px;padding:7px 9px;font-size:.8rem}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid a{justify-content:flex-start;overflow-wrap:anywhere}.particle-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;cursor:pointer}.particle-intro.is-exiting{pointer-events:none}.particle-intro-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(255,248,215,.04) 0 2px,transparent 2px),linear-gradient(rgba(255,248,215,.03) 0 2px,transparent 2px),#0c1216;background-size:28px 28px;transition:opacity .4s ease}.particle-intro-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}.particle-intro-prompt{position:absolute;left:50%;z-index:2;margin:0;padding:10px 16px;border:3px solid var(--line);background:#fff8d7;box-shadow:4px 4px #111820;color:var(--ink);font-size:.9rem;font-weight:900;transform:translate(-50%);animation:prompt-blink 1.2s steps(2,end) infinite}@media (max-width: 640px){.particle-intro-prompt{top:auto!important;bottom:18%}}.recruiter-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:18px;background:linear-gradient(90deg,rgba(255,248,215,.08) 0 2px,transparent 2px),linear-gradient(rgba(255,248,215,.07) 0 2px,transparent 2px),#0c1216d1;background-size:28px 28px}.recruiter-sheet{width:min(1120px,96vw);max-height:min(840px,92vh);overflow:auto;padding:14px;border:5px solid var(--line);background:linear-gradient(90deg,transparent 0 11px,rgba(255,255,255,.48) 11px 12px,transparent 12px),var(--panel);background-size:24px 100%;box-shadow:8px 8px #00000057;scrollbar-color:var(--line) var(--panel);scrollbar-width:thin}.recruiter-sheet::-webkit-scrollbar{width:18px;height:18px}.recruiter-sheet::-webkit-scrollbar-track{border-left:3px solid #101820;background:linear-gradient(90deg,#101820 0 3px,transparent 3px),repeating-linear-gradient(0deg,#fff8d7 0,#fff8d7 10px,#f4ecc8 10px,#f4ecc8 20px);box-shadow:inset 3px 0 #f8f0cb,inset -3px 0 #101820}.recruiter-sheet::-webkit-scrollbar-thumb{border:3px solid #101820;background:linear-gradient(90deg,rgba(255,255,255,.12) 0 3px,transparent 3px 10px,rgba(0,0,0,.18) 10px),linear-gradient(180deg,#27323a,#171d22);box-shadow:inset 0 3px #fff8d71f,inset 0 -4px #0000005c}.recruiter-sheet::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,rgba(255,255,255,.16) 0 3px,transparent 3px 10px,rgba(0,0,0,.16) 10px),linear-gradient(180deg,#34414a,#20262d)}.recruiter-sheet::-webkit-scrollbar-corner{background:#101820}.recruiter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:4px solid var(--line)}.recruiter-head h2{margin:2px 0 6px;font-size:clamp(2rem,5vw,4rem);line-height:.96}.recruiter-head p{max-width:760px;margin:0;font-weight:800;line-height:1.45}.recruiter-head button,.recruiter-actions a{border:3px solid var(--line);background:#ffd36a;box-shadow:4px 4px #111820;color:var(--ink);cursor:pointer;font-weight:900}.recruiter-head button{padding:8px 12px}.recruiter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:12px}.recruiter-wide{grid-column:1 / -1}.recruiter-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.recruiter-actions a{padding:7px 10px}button:focus-visible,a:focus-visible{outline:4px solid #1f8f84;outline-offset:3px}@keyframes prompt-blink{0%,to{filter:brightness(1)}50%{filter:brightness(1.15)}}@media (max-width: 900px){.top-hud{align-items:flex-start;flex-direction:column}.hud-links{justify-content:flex-start}.intro-grid,.card-grid,.skill-board,.contact-grid,.recruiter-grid,.stats-card{grid-template-columns:1fr}.stats-card span{justify-items:start;text-align:left}}@media (max-width: 640px){.app-shell{padding:9px}.brand-lockup h1{font-size:1.8rem}.recruiter-head{flex-direction:column}}
