@import "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=VT323&display=swap";:root{--pip-green:#39ff14;--pip-green-dim:#2acc0f;--pip-green-glow:#39ff1488;--pip-green-faint:#39ff1422;--pip-green-border:#39ff1455;--pip-green-dark:#0a1a06;--pip-amber:#f5a623;--pip-red:#f44;--bg-base:#050d02;--bg-panel:#0a1a06;--bg-panel-hover:#0f2509;--bg-card:#091504;--font-mono:"Share Tech Mono", "Courier New", monospace;--font-display:"VT323", "Share Tech Mono", monospace;--glow-text:0 0 8px var(--pip-green), 0 0 20px var(--pip-green-glow);--glow-border:0 0 6px var(--pip-green-glow);--glow-box:0 0 15px var(--pip-green-glow), inset 0 0 15px #39ff1408;--transition-fast:.15s ease;--transition-med:.3s ease;--scanline-opacity:.07}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-mono), serif;background:var(--bg-base);color:var(--pip-green);-webkit-font-smoothing:antialiased;position:relative;overflow:hidden}body:before{content:"";background:repeating-linear-gradient(to bottom, transparent 0px, transparent 3px, rgba(0, 0, 0, var(--scanline-opacity)) 3px, rgba(0, 0, 0, var(--scanline-opacity)) 4px);pointer-events:none;z-index:9999;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:9998;background:radial-gradient(#0000 60%,#0000008c 100%);animation:6s infinite flicker;position:fixed;inset:0}@keyframes flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.92}94%{opacity:1}96%{opacity:.95}97%{opacity:1}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--pip-green-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--pip-green)}.pip-title{font-family:var(--font-display), serif;text-shadow:var(--glow-text);letter-spacing:.12em;text-transform:uppercase;font-size:clamp(1.6rem,4vw,2.8rem)}.pip-subtitle{color:var(--pip-green-dim);letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.75rem,2vw,.95rem)}.pip-label{letter-spacing:.15em;text-transform:uppercase;color:var(--pip-green-dim);font-size:.7rem}.glow-text{text-shadow:var(--glow-text)}.pip-boy{flex-direction:column;gap:clamp(6px,1.5vh,14px);max-width:1400px;height:100dvh;margin:0 auto;padding:clamp(8px,2vw,20px);display:flex;overflow:hidden}.pip-header{border:1px solid var(--pip-green-border);background:var(--bg-panel);box-shadow:var(--glow-box);flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:8px 16px;display:grid}.pip-header__left{flex-direction:column;gap:2px;display:flex}.pip-header__name{font-family:var(--font-display), serif;text-shadow:var(--glow-text);letter-spacing:.1em;font-size:clamp(1.4rem,3.5vw,2rem);line-height:1}.pip-header__title{color:var(--pip-green-dim);letter-spacing:.12em;text-transform:uppercase;font-size:clamp(.6rem,1.5vw,.75rem)}.pip-header__center{flex-direction:column;align-items:center;gap:4px;display:flex}.pip-logo{font-family:var(--font-display), serif;text-shadow:var(--glow-text);letter-spacing:.05em;font-size:clamp(2rem,5vw,3.5rem);line-height:1;animation:3s ease-in-out infinite pulse-glow}@keyframes pulse-glow{0%,to{text-shadow:0 0 8px var(--pip-green), 0 0 20px var(--pip-green-glow)}50%{text-shadow:0 0 16px var(--pip-green), 0 0 40px var(--pip-green-glow), 0 0 60px #39ff1422}}.pip-header__right{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.pip-status{color:var(--pip-green-dim);letter-spacing:.1em;align-items:center;gap:6px;font-size:.65rem;display:flex}.pip-status__dot{background:var(--pip-green);width:7px;height:7px;box-shadow:0 0 6px var(--pip-green);border-radius:50%;animation:2s step-start infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.pip-clock{color:var(--pip-green-dim);letter-spacing:.08em;font-size:.65rem}.pip-tabs{border:1px solid var(--pip-green-border);background:var(--bg-panel);scrollbar-width:none;flex-shrink:0;gap:0;display:flex;overflow-x:auto}.pip-tabs::-webkit-scrollbar{display:none}.pip-tab{border:none;border-right:1px solid var(--pip-green-border);min-width:0;color:var(--pip-green-dim);font-family:var(--font-mono), serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:clamp(6px,1.5vw,12px) clamp(8px,2vw,20px);font-size:clamp(.6rem,1.5vw,.78rem);display:flex;position:relative}.pip-tab:last-child{border-right:none}.pip-tab:hover{background:var(--bg-panel-hover);color:var(--pip-green);text-shadow:var(--glow-text)}.pip-tab.active{background:var(--pip-green-faint);color:var(--pip-green);text-shadow:var(--glow-text);box-shadow:inset 0 -3px 0 var(--pip-green), var(--glow-border)}.pip-tab__key{color:var(--pip-amber);opacity:.8;letter-spacing:0;font-size:.55rem;font-family:var(--font-mono), serif}.pip-content{border:1px solid var(--pip-green-border);background:var(--bg-panel);box-shadow:var(--glow-box);flex:1;position:relative;overflow:hidden}.pip-screen{scroll-behavior:smooth;height:100%;padding:clamp(12px,3vw,24px);overflow-y:auto}.pip-statusbar{border:1px solid var(--pip-green-border);background:var(--bg-panel);color:var(--pip-green-dim);letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:5px 14px;font-size:.6rem;display:flex;overflow:hidden}.pip-statusbar__hint{flex-wrap:wrap;gap:16px;display:flex}.pip-statusbar__hint span{white-space:nowrap}kbd{border:1px solid var(--pip-green-border);background:var(--bg-card);font-family:var(--font-mono), serif;color:var(--pip-amber);border-radius:2px;padding:1px 5px;font-size:.6rem;display:inline-block}.section-header{align-items:center;gap:12px;margin-bottom:clamp(16px,3vh,28px);display:flex}.section-header__line{background:linear-gradient(to right, var(--pip-green-border), transparent);flex:1;height:1px}.section-header__title{font-family:var(--font-display), serif;text-shadow:var(--glow-text);letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;font-size:clamp(1.2rem,3vw,1.8rem)}.pip-card{border:1px solid var(--pip-green-border);background:var(--bg-card);transition:all var(--transition-fast);margin-bottom:14px;padding:clamp(12px,2.5vw,20px);position:relative}.pip-card:before{content:"";background:linear-gradient(135deg, var(--pip-green-faint) 0%, transparent 50%);pointer-events:none;opacity:0;transition:opacity var(--transition-med);position:absolute;inset:0}.pip-card:hover{border-color:var(--pip-green);box-shadow:var(--glow-border)}.pip-card:hover:before{opacity:1}.pip-card:after{content:"";border-top:2px solid var(--pip-green);border-left:2px solid var(--pip-green);width:12px;height:12px;position:absolute;top:-1px;left:-1px}.skill-bar{align-items:center;gap:10px;margin-bottom:8px;display:flex}.skill-bar__name{min-width:160px;color:var(--pip-green-dim);letter-spacing:.06em;font-size:clamp(.65rem,1.5vw,.8rem)}.skill-bar__track{background:var(--bg-base);border:1px solid var(--pip-green-border);flex:1;height:8px;position:relative;overflow:hidden}.skill-bar__track:after{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(90deg,#0000 0 18%,#0000004d 18% 20%);position:absolute;inset:0}.skill-bar__fill{appearance:none;border:none;width:100%;height:100%;display:block}.skill-bar__fill::-webkit-progress-bar{background:0 0}.skill-bar__fill::-webkit-progress-value{background:linear-gradient(to right, var(--pip-green-dim), var(--pip-green));box-shadow:0 0 6px var(--pip-green);transition:width 1s cubic-bezier(.22,1,.36,1)}.skill-bar__fill::-moz-progress-bar{background:linear-gradient(to right, var(--pip-green-dim), var(--pip-green));box-shadow:0 0 6px var(--pip-green);transition:width 1s cubic-bezier(.22,1,.36,1)}.skill-bar__level{color:var(--pip-amber);text-align:right;letter-spacing:0;min-width:20px;font-size:.6rem}.skill-pips{align-items:center;gap:4px;display:flex}.skill-pip{border:1px solid var(--pip-green-border);background:var(--bg-base);width:10px;height:10px;transition:all var(--transition-fast)}.skill-pip.filled{background:var(--pip-green);box-shadow:0 0 6px var(--pip-green);border-color:var(--pip-green)}.timeline{padding-left:clamp(16px,4vw,32px);position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--pip-green), transparent);width:1px;position:absolute;top:0;bottom:0;left:0}.timeline-item{margin-bottom:clamp(20px,4vh,36px);position:relative}.timeline-item:before{content:"■";color:var(--pip-green);text-shadow:var(--glow-text);font-size:.7rem;position:absolute;top:4px;left:calc(-1*clamp(16px,4vw,32px));transform:translate(-50%)}.timeline-item__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.timeline-item__role{font-family:var(--font-display), serif;color:var(--pip-green);text-shadow:var(--glow-text);letter-spacing:.06em;font-size:clamp(1rem,2.5vw,1.35rem)}.timeline-item__company{color:var(--pip-amber);letter-spacing:.06em;font-size:clamp(.7rem,1.8vw,.88rem)}.timeline-item__meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.timeline-item__date{color:var(--pip-green-dim);letter-spacing:.08em;white-space:nowrap;font-size:.68rem}.timeline-item__location{color:var(--pip-green-dim);letter-spacing:.06em;font-size:.68rem}.badge-current{border:1px solid var(--pip-green);color:var(--pip-green);letter-spacing:.12em;text-transform:uppercase;padding:2px 7px;font-size:.55rem;animation:2s step-start infinite blink}.timeline-item__bullets{flex-direction:column;gap:6px;margin-top:10px;list-style:none;display:flex}.timeline-item__bullets li{color:var(--pip-green-dim);padding-left:16px;font-size:clamp(.68rem,1.6vw,.82rem);line-height:1.5;position:relative}.timeline-item__bullets li:before{content:">";color:var(--pip-green);position:absolute;left:0}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:16px;display:grid}.project-card{border:1px solid var(--pip-green-border);background:var(--bg-card);transition:all var(--transition-fast);flex-direction:column;gap:10px;padding:clamp(14px,2.5vw,22px);display:flex;position:relative}.project-card:hover{border-color:var(--pip-green);box-shadow:var(--glow-border);transform:translateY(-2px)}.project-card__name{font-family:var(--font-display), serif;color:var(--pip-green);text-shadow:var(--glow-text);letter-spacing:.08em;font-size:clamp(1rem,2.5vw,1.3rem)}.project-card__desc{color:var(--pip-green-dim);flex:1;font-size:clamp(.65rem,1.5vw,.8rem);line-height:1.6}.project-card__tech{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.tech-tag{border:1px solid var(--pip-green-border);color:var(--pip-green-dim);background:var(--bg-base);letter-spacing:.06em;transition:all var(--transition-fast);padding:2px 8px;font-size:.6rem}.tech-tag:hover{border-color:var(--pip-green);color:var(--pip-green)}.project-card__links{gap:10px;margin-top:4px;display:flex}.pip-link{color:var(--pip-amber);letter-spacing:.08em;transition:all var(--transition-fast);text-transform:uppercase;border-bottom:1px solid #0000;font-size:.65rem;text-decoration:none}.pip-link:hover{border-bottom-color:var(--pip-amber);text-shadow:0 0 8px var(--pip-amber)}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px;margin-bottom:24px;display:grid}.stat-box{border:1px solid var(--pip-green-border);background:var(--bg-card);flex-direction:column;gap:4px;padding:12px 16px;display:flex;position:relative;overflow:hidden}.stat-box:before{content:"";border-bottom:1px solid var(--pip-green-border);border-right:1px solid var(--pip-green-border);width:40px;height:40px;position:absolute;bottom:0;right:0}.stat-box__label{color:var(--pip-green-dim);letter-spacing:.15em;text-transform:uppercase;font-size:.6rem}.stat-box__value{font-family:var(--font-display), serif;color:var(--pip-green);text-shadow:var(--glow-text);letter-spacing:.05em;font-size:clamp(.9rem,2.5vw,1.3rem);line-height:1.2}.pip-boot{background:var(--bg-base);z-index:1000;font-family:var(--font-mono), serif;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:20px;display:flex;position:fixed;inset:0}.pip-boot__logo{font-family:var(--font-display), serif;text-shadow:var(--glow-text);text-align:center;font-size:clamp(2.5rem,10vw,6rem);line-height:1;animation:1.5s ease-in-out infinite pulse-glow}.pip-boot__text{color:var(--pip-green-dim);letter-spacing:.15em;text-transform:uppercase;text-align:center;font-size:clamp(.7rem,2vw,.9rem)}.pip-boot__bar{border:1px solid var(--pip-green-border);background:var(--bg-panel);appearance:none;width:min(400px,90vw);height:12px;display:block;position:relative;overflow:hidden}.pip-boot__bar::-webkit-progress-bar{background:var(--bg-panel)}.pip-boot__bar::-webkit-progress-value{background:linear-gradient(to right, var(--pip-green-dim), var(--pip-green));box-shadow:0 0 10px var(--pip-green);transition:width .2s ease-out}.pip-boot__bar::-moz-progress-bar{background:linear-gradient(to right, var(--pip-green-dim), var(--pip-green));box-shadow:0 0 10px var(--pip-green);transition:width .2s ease-out}.cursor{background:var(--pip-green);vertical-align:middle;width:9px;height:1em;margin-left:2px;animation:1s step-start infinite blink;display:inline-block}.skill-category{margin-bottom:clamp(16px,3vh,26px)}.skill-category__title{font-family:var(--font-display), serif;color:var(--pip-amber);letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid var(--pip-green-border);margin-bottom:10px;padding-bottom:4px;font-size:clamp(.9rem,2.2vw,1.2rem)}.contact-row{border-bottom:1px solid var(--pip-green-border);transition:all var(--transition-fast);align-items:center;gap:12px;padding:10px 0;display:flex}.contact-row:last-child{border-bottom:none}.contact-row:hover{padding-left:8px}.contact-row__icon{text-align:center;flex-shrink:0;width:24px;font-size:1rem}.contact-row__label{color:var(--pip-green-dim);letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;min-width:80px;font-size:.65rem}.contact-row__value{color:var(--pip-green);transition:all var(--transition-fast);word-break:break-all;font-size:clamp(.7rem,1.8vw,.85rem);text-decoration:none}.contact-row__value:hover{text-shadow:var(--glow-text)}@keyframes scan-in{0%{opacity:0;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(0 0 0%)}}.screen-enter{animation:.25s ease-out forwards scan-in}@media (width<=480px){.pip-header{text-align:center;grid-template-columns:1fr}.pip-header__left,.pip-header__right{align-items:center}.pip-tab__key{display:none}.timeline-item__header{flex-direction:column}.timeline-item__meta{gap:6px}.skill-bar__name{min-width:120px}}@media (width<=360px){.pip-logo{font-size:1.8rem}.pip-header__name{font-size:1.2rem}}
