@import"https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap";:root{--bg-dark: #11100d;--bg-mid: #241b14;--bg-panel: #1b140e;--text-main: #fff3dc;--text-muted: #c4a27a;--orange: #ff6b2b;--amber: #ffb830;--yellow: #ffe566;--red: #e63b2e;--cream: #fff3dc}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{font-family:Space Mono,Courier New,monospace;background:radial-gradient(circle at 10% 10%,#2f2017 0%,var(--bg-dark) 60%);color:var(--text-main)}.app{position:relative;min-height:100vh;overflow:hidden;isolation:isolate}.floating-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:0}.grid-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,184,48,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,184,48,.035) 1px,transparent 1px);background-size:34px 34px;z-index:1;pointer-events:none}.scanlines{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.04),rgba(0,0,0,.04) 2px,transparent 2px,transparent 4px)}.shell{position:relative;z-index:3;width:min(1080px,92vw);margin:0 auto;padding:56px 0 48px}.warning,.loading{color:var(--yellow);letter-spacing:.03em}.top-menu{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.menu-item{text-decoration:none;color:var(--cream);border:1px dashed rgba(255,184,48,.6);background:#ff6b2b0f;padding:7px 11px;transition:color .17s ease,border-color .17s ease,transform .17s ease}.menu-item:hover{color:var(--yellow);border-color:var(--yellow);transform:translateY(-1px)}.hero{margin-bottom:40px;animation:fade-rise .7s ease-out both}.hero-name{position:relative;display:inline-flex;align-items:center;gap:14px;margin:0;font-size:clamp(2.4rem,7vw,4rem);line-height:1.04;letter-spacing:.02em;text-transform:uppercase;color:var(--cream);text-shadow:0 0 18px rgba(255,107,43,.2)}.hero-name:before,.hero-name:after{content:attr(data-text);position:absolute;left:0;top:0;opacity:0;pointer-events:none}.hero-name.is-glitching:before,.hero-name.is-glitching:after{opacity:.75}.hero-name.is-glitching:before{color:#ff3232;transform:translate(-5px)}.hero-name.is-glitching:after{color:#0ef;transform:translate(5px)}.version-badge{border:1px dashed var(--amber);color:var(--yellow);font-size:.92rem;padding:.24rem .58rem;background:#ffb83014;transform:translateY(-6px)}.hero-role{margin:12px 0 14px;color:var(--amber);letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.92rem,2.2vw,1.1rem)}.hero-bio{margin:0;max-width:78ch;border:1px dashed var(--orange);background:#1f140ddb;color:var(--cream);padding:16px 18px;line-height:1.6}.contact-pills{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.pill{text-decoration:none;color:var(--cream);border:1px solid rgba(255,184,48,.4);background:#ff6b2b14;padding:8px 12px;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.pill:hover{border-color:var(--yellow);color:var(--yellow);background:#ffb8301f}.projects,.skills,.contact{margin-top:30px;animation:fade-rise .7s ease-out both}.section-title{font-size:1rem;margin-bottom:12px;color:var(--amber);letter-spacing:.08em}.project-list{border-top:1px dashed rgba(255,184,48,.45)}.project-row{position:relative;width:100%;min-height:54px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(220px,2fr) 60px;align-items:center;gap:14px;padding:12px 6px;text-decoration:none;color:var(--text-main);border-bottom:1px dashed rgba(255,184,48,.35);transition:background-color .17s ease}.project-row:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,229,102,.2) 48%,transparent 100%);opacity:0;pointer-events:none}.project-row:hover{background:#ff6b2b14;animation:row-flicker .22s steps(2,end) 1}.project-row:hover:after{opacity:1;animation:scan-flash .24s linear 1}.project-name{font-weight:700;color:var(--cream)}.project-description{color:var(--text-muted)}.project-arrow{justify-self:end;color:var(--amber);transition:transform .18s ease,text-shadow .18s ease,color .18s ease}.project-row:hover .project-arrow{transform:translate(8px);color:var(--orange);text-shadow:0 0 10px rgba(255,107,43,.8)}.skill-chips{display:flex;flex-wrap:wrap;gap:10px}.chip{border:1px solid rgba(255,230,102,.55);background:#e63b2e17;color:var(--cream);padding:6px 10px;font-size:.86rem}.footer{margin-top:38px;text-align:center;color:#fff3dca6}.contact-form{display:grid;gap:9px;max-width:700px}.contact-label{color:var(--amber);font-size:.88rem;letter-spacing:.06em}.contact-input{border:1px solid rgba(255,184,48,.5);background:#11100dd1;color:var(--cream);padding:10px;font-family:inherit}.contact-textarea{min-height:130px;resize:vertical}.contact-input:focus{outline:none;border-color:var(--yellow);box-shadow:0 0 0 1px #ffe56640}.contact-submit{margin-top:6px;width:fit-content;border:1px solid var(--orange);background:#ff6b2b24;color:var(--cream);font-family:inherit;letter-spacing:.06em;padding:9px 13px;cursor:pointer;transition:background-color .17s ease,color .17s ease}.contact-submit:hover:not(:disabled){background:#ffb83033;color:var(--yellow)}.contact-submit:disabled{opacity:.7;cursor:not-allowed}.contact-status{margin-top:10px;font-size:.9rem}.contact-success{color:var(--yellow)}.contact-error{color:var(--red)}@keyframes fade-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes row-flicker{0%{opacity:1}30%{opacity:.6}60%{opacity:1}80%{opacity:.75}to{opacity:1}}@keyframes scan-flash{0%{transform:translate(-100%);opacity:0}30%{opacity:.75}to{transform:translate(100%);opacity:0}}@media (max-width: 840px){.project-row{grid-template-columns:1fr;gap:4px;padding:12px 8px}.project-arrow{justify-self:start}.version-badge{transform:translateY(0)}}
