:root{--bg-deep:#06020e;--bg-raised:#0f0820;--bg-card:#0c061cd1;--cyan:#00fff0;--magenta:#ff006e;--violet:#bf5fff;--text:#c9c4d4;--text-bright:#e4e0ec;--text-muted:#8a849c;--border:#00fff01f;--border-magenta:#ff006e33;--border-strong:#00fff066;--glow-cyan:#00fff073;--glow-magenta:#ff006e59;--accent-text:#9dd9d4;--accent-text-strong:#b8f0eb;--font-display:"Orbitron", system-ui, sans-serif;--font-body:"Syne", system-ui, sans-serif;--font-mono:"Share Tech Mono", ui-monospace, monospace;--radius:10px;--header-h:76px}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{min-height:100vh;font-family:var(--font-body);color:var(--text);background:var(--bg-deep);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;font-weight:400;line-height:1.75}#root{min-height:100vh}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.shell-bg{z-index:0;pointer-events:none;position:fixed;inset:0}.shell-bg__layer{background-color:var(--bg-deep);opacity:0;will-change:opacity;background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity .85s ease-in-out;position:absolute;inset:0}.shell-bg__layer[data-active=true]{opacity:1}@media (prefers-reduced-motion:reduce){.shell-bg__layer{transition-duration:.2s}}.shell-bg__scrim{background:linear-gradient(160deg,#080212e0 0%,#06020e8c 42%,#04010ce6 100%),radial-gradient(100% 70% at 50% 20%,#00fff00a 0%,#0000 55%),radial-gradient(90% 60% at 50% 100%,#00000080 0%,#0000 55%);position:absolute;inset:0;box-shadow:inset 0 0 100px #00000080}.site-header{z-index:10;min-height:var(--header-h);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#06020ec7;justify-content:space-between;align-items:center;gap:1.5rem;padding:0 clamp(1.25rem,4vw,2.5rem);display:flex;position:sticky;top:0;box-shadow:0 8px 32px #00000059}.brand{align-items:center;gap:.75rem;display:inline-flex}.brand__mark{background:linear-gradient(135deg, var(--cyan), var(--magenta));clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);width:11px;height:11px;box-shadow:0 0 14px var(--glow-cyan), 0 0 28px var(--glow-magenta)}.brand__block{flex-direction:column;gap:.1rem;line-height:1.1;display:flex}.brand__text{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-bright);font-size:.88rem;font-weight:600}.brand__handle{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);opacity:.95;font-size:.68rem;font-weight:400}.site-header__end{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem 1.75rem;display:flex}.site-nav{flex-wrap:wrap;gap:.35rem 1.35rem;display:flex}.nav-link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:.4rem 0;font-size:.76rem;transition:color .2s;position:relative}.nav-link:hover,.nav-link--active{color:var(--accent-text-strong)}.nav-link--active:after{content:"";opacity:.85;background:linear-gradient(90deg,#0000,#00fff08c,#ff006e73,#0000);height:2px;position:absolute;bottom:0;left:0;right:0}.site-main{z-index:1;flex-direction:column;flex:1;justify-content:center;width:100%;max-width:1100px;margin:0 auto;padding:clamp(1.75rem,4vw,2.75rem) clamp(1.25rem,4vw,2.5rem) clamp(3rem,8vw,5rem);display:flex;position:relative}:is(.site-main:has(.page--projects),.site-main:has(.panel--stack)){justify-content:flex-start}.site-footer{z-index:1;border-top:1px solid var(--border);text-align:center;padding:1.25rem clamp(1.25rem,4vw,2.5rem);position:relative}.site-footer__inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 1.75rem;display:flex}.social-icons{align-items:center;gap:.35rem;display:flex}.social-icons--header{border-left:1px solid var(--border);margin-left:.25rem;padding-left:.25rem}.social-icons__link{width:2.35rem;height:2.35rem;color:var(--text-muted);border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;transition:color .2s,border-color .2s,box-shadow .2s,background .2s;display:inline-flex}.social-icons__link:hover{color:var(--accent-text-strong);border-color:var(--border-strong);background:#00fff00d;box-shadow:0 0 14px #00fff01a}.social-icons__link--pending{opacity:.38;cursor:help;pointer-events:auto}.social-icons__link--pending:hover{color:var(--text-muted);box-shadow:none;background:0 0;border-color:#0000}.social-icons__svg{flex-shrink:0;width:20px;height:20px}.social-icons--footer .social-icons__link{width:2.1rem;height:2.1rem}.social-icons--footer .social-icons__svg{width:17px;height:17px}.mono-muted{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem}.page{max-width:720px}.page--wide{max-width:900px}.page--projects{width:100%;max-width:none}.page-title{font-family:var(--font-display);letter-spacing:.04em;color:var(--text-bright);margin:0 0 1rem;font-size:clamp(1.85rem,5vw,2.65rem);font-weight:600;line-height:1.2}.text-gradient{background:linear-gradient(100deg,#8ec9c4 0%,#b9a8d9 48%,#d98fb4 100%);color:#0000;-webkit-background-clip:text;background-clip:text;display:block}.eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:#b8a0c4;margin:0 0 .85rem;font-size:.68rem}.lede{color:var(--text-muted);max-width:42ch;margin:0 0 2rem;font-size:1.03rem;line-height:1.72}.lede--tight{margin-bottom:1.5rem}.cta-row{flex-wrap:wrap;gap:1rem;display:flex}.btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:.78rem 1.4rem;font-size:.74rem;transition:transform .15s,box-shadow .2s,border-color .2s,background .2s;display:inline-flex}.btn--primary{color:var(--text-bright);border-color:var(--border-strong);background:linear-gradient(135deg,#00fff024,#ff006e1a);box-shadow:0 0 20px #00fff014,inset 0 1px #ffffff0f}.btn--primary:hover{border-color:var(--cyan);transform:translateY(-2px);box-shadow:0 0 28px #00fff024,0 0 16px #ff006e14}.btn--ghost{border-color:var(--border-magenta);color:var(--text-muted);background:#00000040}.btn--ghost:hover{border-color:var(--magenta);color:var(--text-bright);box-shadow:0 0 16px #ff006e1f}.btn--inline{align-self:flex-start;margin-top:.5rem}.panel{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:1.5rem 1.75rem;box-shadow:inset 0 1px #00fff00f,0 0 40px #ff006e0a}.panel--stack{flex-direction:column;gap:1.5rem;display:flex}.body-text{color:var(--text-muted);margin:0}.bullet-list{color:var(--text-muted);margin:1rem 0 0;padding-left:1.25rem}.bullet-list li{margin-bottom:.5rem}.bullet-list li::marker{color:var(--accent-text)}.project-grid{flex-direction:column;gap:1rem;max-width:none;display:flex}.projects-scroll{width:calc(100% + clamp(1.25rem,4vw,2.5rem));margin-right:calc(-1*clamp(1.25rem,4vw,2.5rem));padding-right:clamp(.2rem,1.2vw,.65rem)}.project-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);cursor:pointer;width:100%;min-height:180px;color:inherit;text-align:left;padding:1.35rem 1.5rem;transition:border-color .25s,transform .2s,box-shadow .25s;display:block;position:relative;overflow:hidden}.project-card:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;opacity:.5;background:linear-gradient(135deg,#00fff059,#0000 40% 60%,#ff006e4d);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.project-card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 12px 40px #00fff014}.project-card__shine{background:linear-gradient(115deg,#0000 42%,#00fff014 50%,#0000 58%);transition:transform .65s;position:absolute;inset:-50%;transform:translate(-100%)}.project-card:hover .project-card__shine{transform:translate(100%)}.project-card__tag{margin-bottom:.75rem;display:inline-block}.project-card__title{font-family:var(--font-display);letter-spacing:.05em;color:var(--text-bright);margin:0 0 .5rem;font-size:1.05rem;font-weight:600}.project-card__blurb{color:var(--text-muted);margin:0;font-size:.92rem}.project-card__link{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);margin-top:1rem;font-size:.7rem;display:inline-block}.resume-block{border-top:1px solid var(--border);padding-top:.5rem}.resume-block:first-of-type{border-top:none;padding-top:0}.resume-heading{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#c9a8c8;margin:0 0 .5rem;font-size:.82rem;font-weight:600}.resume-placeholder{margin:0;font-size:.85rem}.inline-code{font-family:var(--font-mono);border:1px solid var(--border);color:var(--accent-text-strong);background:#00fff00f;border-radius:4px;padding:.15em .45em;font-size:.88em}.inline-link{color:var(--accent-text-strong);text-underline-offset:.25em;-webkit-text-decoration:underline #9dd9d466;text-decoration:underline #9dd9d466;transition:color .2s}.inline-link:hover{color:var(--text-bright)}.text-highlight{color:var(--text-bright);font-weight:600}.fade-in{animation:.55s forwards fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-rail{display:none}@media (width>=901px){.section-rail{z-index:15;display:block;position:fixed;top:50%;right:0;transform:translateY(-50%)}.site-main{padding-right:5.75rem}.section-rail__drawer{border-radius:var(--radius) 0 0 var(--radius);border:1px solid #0000;border-right:none;align-items:stretch;gap:.5rem;padding:.65rem .5rem .65rem .85rem;transition:background .35s,border-color .35s,box-shadow .35s,padding .3s;display:flex}.section-rail:hover .section-rail__drawer,.section-rail:focus-within .section-rail__drawer{border-color:var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#080412eb;padding-left:1rem;padding-right:.65rem;box-shadow:-16px 0 48px #0006}.section-rail__rail{flex-shrink:0;width:16px;min-height:192px;position:relative}.section-rail__line{background:linear-gradient(#0000 0%,#ffffff1f 12%,#ffffff24 50%,#ffffff1f 88%,#0000 100%);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:24px;bottom:24px;left:50%}.section-rail__arrow{color:#fff;filter:drop-shadow(0 0 8px #ffffff73);width:22px;height:48px;transform:translateY(calc(var(--rail-index) * var(--rail-step)));pointer-events:none;justify-content:center;align-items:center;transition:transform .48s cubic-bezier(.34,1.35,.64,1);display:flex;position:absolute;top:0;left:-3px}.section-rail__arrow-svg{display:block}.section-rail__nav{flex-direction:column;justify-content:space-between;min-width:5.25rem;display:flex}.section-rail__link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;min-height:48px;padding:0;font-size:.66rem;text-decoration:none;transition:color .2s;display:flex}.section-rail__link:hover{color:var(--text-bright)}.section-rail__link--active{color:var(--accent-text-strong)}}@media (width>=901px) and (prefers-reduced-motion:reduce){.section-rail__arrow{transition-duration:.12s}}@media (width<=640px){.site-header{flex-direction:column;align-items:flex-start;padding-top:1rem;padding-bottom:1rem}.site-header__end{flex-direction:column;align-items:flex-start;gap:.85rem;width:100%}.site-nav{justify-content:flex-start;width:100%}.social-icons--header{border-left:none;margin-left:0;padding-left:0}}
