@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600&family=Instrument+Sans:wght@400;500;600&display=swap";:root{--mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--sans: "Instrument Sans", "Helvetica Neue", sans-serif;--bg: #06080f;--fg: #e8e8e8;--accent: #635BFF}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);min-height:100vh;font-family:var(--sans);font-size:15px;line-height:1.65;overflow-x:hidden}::selection{background:#635bff59;color:#fff}a{text-decoration:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:14px 32px;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease;border-bottom:1px solid transparent}.nav.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#06080fe0;border-bottom-color:#635bff1a}.nav-logo{font-family:var(--mono);font-size:16px;font-weight:600;color:#fff;letter-spacing:.05em}.nav-logo:hover{color:var(--accent)}.nav-links{display:flex;gap:20px;flex-wrap:wrap}.nav-link{font-family:var(--mono);font-size:12px;color:#ffffffa6;letter-spacing:.02em;transition:color .2s}.nav-link:hover{color:#fff}.nav-key{color:#8a86ffb3;margin-right:2px}.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:4px;flex-direction:column;gap:5px}.nav-toggle span{display:block;width:22px;height:1px;background:#ffffffb3;transition:all .25s}.nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media (max-width: 720px){.nav-toggle{display:flex}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#06080ff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;gap:0;border-bottom:1px solid rgba(99,91,255,.1);padding:8px 0}.nav-links.open{display:flex}.nav-link{padding:12px 32px}}.hero{min-height:100vh;display:flex;align-items:center;padding:120px 32px 80px;border-bottom:1px solid rgba(255,255,255,.07)}.hero-grid{max-width:1120px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap}.hero-text{flex:1 1 400px;animation:fadeUp .8s ease both}.hero-label{font-family:var(--mono);font-size:12px;color:#8a86ffcc;margin-bottom:24px;letter-spacing:.05em}.hero-name{font-family:var(--mono);font-size:clamp(32px,5vw,56px);font-weight:600;line-height:1.1;background:linear-gradient(135deg,#fff 45%,#a8a4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:20px;letter-spacing:-.02em}.hero-tagline{font-family:var(--sans);font-size:15px;color:#ffffffa6;line-height:1.6;margin-bottom:28px}.hero-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero-link{font-family:var(--mono);font-size:12px;color:#ffffffb3;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:1px;transition:color .2s,border-color .2s}.hero-link:hover{color:#fff;border-bottom-color:#ffffff8c}.hero-dot{color:#ffffff4d}.hero-art{flex:0 1 auto;position:relative;animation:fadeUp 1s ease .2s both}.section{max-width:1120px;margin:0 auto;padding:72px 32px;border-bottom:1px solid rgba(255,255,255,.07)}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px;flex-wrap:wrap;gap:24px}.section-label{font-family:var(--mono);font-size:12px;color:#8a86ffe6;letter-spacing:.05em}.section-art{position:relative}.fig-label{font-family:var(--mono);font-size:11px;color:#ffffff4d;position:absolute;top:-20px;left:0}.about-blurb{font-size:15px;color:#ffffffb3;line-height:1.8;max-width:700px;margin-bottom:48px}.skills-subheader{font-family:var(--mono);font-size:11px;color:#fff6;letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.skill-card{padding:20px 24px;background:var(--bg);transition:background .2s}.skill-card:hover{background:var(--bg)}.skill-cat{font-family:var(--mono);font-size:12px;font-weight:500;color:#ffffffd9;margin-bottom:8px;letter-spacing:.03em}.skill-items{font-size:13px;color:#fff9;line-height:1.6}.exp-block{padding:48px 0;transition:background .25s}.exp-block+.exp-block{border-top:1px solid rgba(255,255,255,.06)}.exp-block:hover{background:#635bff0a}.exp-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;flex-wrap:wrap;gap:12px}.exp-company{font-family:var(--mono);font-size:19px;font-weight:500;color:#fff;letter-spacing:-.01em}.exp-role{font-family:var(--sans);font-size:15px;color:#ffffff9e;margin-top:6px}.exp-meta{text-align:right}.exp-period{display:inline-block;font-family:var(--mono);font-size:11px;color:#ffffffa6;background:#ffffff0d;border:1px solid rgba(255,255,255,.09);border-radius:4px;padding:3px 9px}.exp-location{font-size:12px;color:#ffffff6b;margin-top:6px}.exp-list{list-style:none;padding:0}.exp-item{font-size:14px;color:#ffffffb8;line-height:1.9;padding-left:20px;margin-bottom:14px;border-left:2px solid rgba(255,255,255,.08);transition:border-color .2s,color .2s}.exp-item:hover{border-left-color:var(--accent);color:#ffffffeb}.exp-block:hover .exp-item{border-left-color:#635bff33}.exp-toggle{margin-top:16px;background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:12px;color:#8a86ff99;padding:0;transition:color .2s}.exp-toggle:hover{color:var(--accent)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.project-card{padding:28px;background:var(--bg);transition:background .2s}.project-card:hover{background:var(--bg)}.project-idx{font-family:var(--mono);font-size:11px;color:#ffffff59;margin-bottom:12px}.project-name{font-family:var(--mono);font-size:18px;font-weight:500;color:#fff;margin-bottom:4px}.project-desc{font-family:var(--sans);font-size:13px;color:#ffffff94;margin-bottom:14px}.project-detail{font-size:13px;color:#ffffff9e;line-height:1.7;margin-bottom:16px}.project-stack{font-family:var(--mono);font-size:11px;color:#8a86ffb3;letter-spacing:.03em;margin-bottom:14px}.project-links{display:flex;gap:16px}.project-link{font-family:var(--mono);font-size:12px;color:#ffffffa6;transition:color .2s}.project-link:hover{color:var(--accent)}.deploy-card{font-family:var(--mono);display:flex;flex-direction:column;gap:0;background:#635bff08!important}.deploy-header{display:flex;align-items:center;gap:6px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06)}.deploy-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.deploy-dot--red{background:#ff5f56b3}.deploy-dot--yellow{background:#ffbd2eb3}.deploy-dot--green{background:#28c840b3}.deploy-title{margin-left:6px;font-size:11px;color:#ffffff4d;letter-spacing:.05em}.deploy-cmd{font-size:12px;color:#fff9;margin-bottom:16px}.deploy-prompt{color:#8a86ffcc;margin-right:6px}.deploy-steps{display:flex;flex-direction:column;gap:8px;flex:1}.deploy-step{display:flex;justify-content:space-between;font-size:11px;color:#ffffff40;opacity:0;transform:translate(-6px);transition:opacity .3s ease,transform .3s ease,color .3s ease}.deploy-step--in{opacity:1;transform:none;color:#fff9}.deploy-step-stat{color:#ffffff59;white-space:nowrap}.deploy-tick{color:#4ade80cc}.deploy-live{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:#ffffffb3;animation:fadeUp .4s ease both}.deploy-live-dot{color:#4ade80}.deploy-live strong{color:var(--accent)}.collab-card{display:flex;flex-direction:column;justify-content:center;background:#635bff08!important;border-left:1px solid rgba(99,91,255,.15)!important}.collab-prompt{font-family:var(--mono);font-size:11px;color:#8a86ff99;margin-bottom:20px;letter-spacing:.04em}.collab-heading{font-family:var(--mono);font-size:clamp(20px,2.5vw,28px);font-weight:600;color:#fff;margin-bottom:14px;line-height:1.2}.collab-sub{font-size:13px;color:#ffffff80;line-height:1.7;margin-bottom:28px}.collab-cta{font-family:var(--mono);font-size:13px;color:var(--accent);transition:color .2s,letter-spacing .2s;align-self:flex-start}.collab-cta:hover{color:#fff;letter-spacing:.04em}.certs-grid{display:flex;flex-direction:column;gap:1px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.cert-row{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:var(--bg);flex-wrap:wrap;gap:12px;transition:background .2s}.cert-row:hover{background:#635bff0a}.cert-name{font-family:var(--mono);font-size:13px;color:#ffffffd9}.cert-date{font-size:12px;color:#ffffff73;margin-top:2px}.cert-link{font-family:var(--mono);font-size:12px;color:#fff9;transition:color .2s}.cert-link:hover{color:#fff}.achieve-list{display:flex;flex-direction:column;gap:14px}.achieve-item{display:flex;gap:14px;font-size:14px;color:#ffffffad;line-height:1.65}.achieve-bullet{color:#8a86ff99;flex-shrink:0;margin-top:2px;font-size:8px}.edu-list{display:flex;flex-direction:column;gap:1px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.edu-block{padding:24px;background:var(--bg);transition:background .2s}.edu-block:hover{background:#635bff0a}.edu-meta{display:flex;gap:20px;margin-top:8px;flex-wrap:wrap}.edu-grade{font-family:var(--mono);font-size:12px;color:#ffffffa6;margin-top:2px}.edu-note{font-size:12px;color:#ffffff73;margin-top:6px;font-style:italic}.footer{border-top:1px solid rgba(255,255,255,.07);padding:80px 32px}.footer-inner{max-width:1120px;margin:0 auto}.footer-heading{font-family:var(--mono);font-size:clamp(24px,3vw,36px);font-weight:500;background:linear-gradient(135deg,#fff 45%,#a8a4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:20px 0 32px}.footer-links{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:48px}.footer-link{font-family:var(--mono);font-size:13px;color:#ffffffa6;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:2px;transition:color .2s,border-color .2s}.footer-link:hover{color:var(--accent);border-bottom-color:#635bff66}.footer-copy{font-family:var(--mono);font-size:11px;color:#ffffff47}@keyframes grain{0%,to{transform:translate(0)}20%{transform:translate(-2%,-3%)}40%{transform:translate(-4%,2%)}60%{transform:translate(2%,-2%)}80%{transform:translate(-1%,3%)}}body:after{content:"";position:fixed;top:-30%;right:-30%;bottom:-30%;left:-30%;width:160%;height:160%;pointer-events:none;z-index:99999;opacity:.042;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;animation:grain .5s steps(5) infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-label-cursor{display:inline-block;width:2px;margin-left:1px;color:var(--accent);animation:blink .7s step-start infinite}.hero-name:after{content:"_";display:inline;margin-left:3px;font-weight:300;-webkit-text-fill-color:var(--accent);color:var(--accent);animation:blink 1.1s step-start infinite}.section-label:before{content:"~";color:#8a86ff73}.exp-period:before{content:"[";margin-right:1px;color:#ffffff47}.exp-period:after{content:"]";margin-left:1px;color:#ffffff47}.hero-tagline:before{content:"// ";font-family:var(--mono);font-size:13px;color:#8a86ff80}.boot-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100001;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .55s ease}.boot-overlay--out{opacity:0;pointer-events:none}.boot-terminal{font-family:var(--mono);font-size:13px;line-height:2.1;width:min(480px,90vw)}.boot-line{display:flex;align-items:baseline;gap:8px;animation:fadeUp .2s ease both}.boot-tag{color:#8a86ffbf;flex-shrink:0}.boot-text{color:#ffffffa6;flex:1}.boot-ok{color:#4ade80cc;flex-shrink:0;font-size:11px;letter-spacing:.05em}.boot-prompt{margin-top:12px;display:flex;align-items:baseline;gap:6px}.boot-prompt-label{color:#8a86ffe6}.boot-prompt-cursor{color:var(--accent);animation:blink 1s step-start infinite}.stats-bar{border-bottom:1px solid rgba(255,255,255,.07);padding:52px 32px}.stats-bar__inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.stat-item{text-align:center;padding:24px 16px;border:1px solid rgba(255,255,255,.05);position:relative}.stat-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(99,91,255,.04),transparent);pointer-events:none}.stat-value{font-family:var(--mono);font-size:clamp(26px,3.5vw,42px);font-weight:600;color:var(--accent);line-height:1;margin-bottom:10px;letter-spacing:-.02em}.stat-label{font-family:var(--mono);font-size:10px;color:#ffffff61;letter-spacing:.08em;text-transform:uppercase}@media (max-width: 720px){.stats-bar__inner{grid-template-columns:repeat(2,1fr)}}.nav-link--active{color:#fff!important}.nav-link--active .nav-key{color:var(--accent)!important;opacity:1}.progress-bar{position:fixed;top:0;left:0;height:2px;background:var(--accent);z-index:200;pointer-events:none;transform-origin:left;transition:width .08s linear}@keyframes pulse-dot{0%{box-shadow:0 0 #4ade808c}70%{box-shadow:0 0 0 7px #4ade8000}to{box-shadow:0 0 #4ade8000}}.hero-status{display:flex;align-items:center;gap:8px;margin-bottom:20px}.status-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;flex-shrink:0;animation:pulse-dot 2s ease-out infinite}.status-text{font-family:var(--mono);font-size:11px;color:#4ade80bf;letter-spacing:.05em}.hero-link--copied{color:#4ade80!important;border-bottom-color:#4ade8066!important}.copy-icon{display:inline-block;vertical-align:middle;margin-left:5px;opacity:.4;transition:opacity .2s;position:relative;top:-1px}.hero-link:hover .copy-icon,.hero-link--copied .copy-icon{opacity:.9}.tw-snake-hint{position:fixed;bottom:36px;right:80px;font-family:var(--mono);font-size:11px;color:#8a86ff8c;pointer-events:none;white-space:nowrap;animation:fadeUp .5s ease 4s both}.tw-snake-hint:after{content:" →";color:#8a86ff4d}.tw-toggle{position:fixed;bottom:28px;right:28px;z-index:10000;width:44px;height:44px;border-radius:10px;background:#06080feb;border:1px solid rgba(99,91,255,.35);color:var(--accent);font-family:var(--mono);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .2s,box-shadow .2s,color .2s;box-shadow:0 4px 20px #0006}.tw-toggle:hover{border-color:#635bffb3;box-shadow:0 4px 24px #635bff2e}.tw-toggle--open{color:#fff9;border-color:#ffffff26}.tw-panel{position:fixed;bottom:84px;right:28px;z-index:10000;width:min(540px,calc(100vw - 48px));height:380px;background:#06080ff5;border:1px solid rgba(99,91,255,.2);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 24px 64px #0009,0 0 0 1px #ffffff0a;animation:fadeUp .2s ease both;transition:width .25s ease,height .25s ease,bottom .25s ease,right .25s ease,border-radius .25s ease}.tw-panel--max{width:min(900px,calc(100vw - 48px));height:min(580px,calc(100vh - 120px));bottom:60px;right:max(24px,calc(50vw - 450px));border-radius:14px}.tw-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;background:#ffffff05}.tw-dots{display:flex;gap:6px}.tw-dot{width:11px;height:11px;border-radius:50%;cursor:pointer;flex-shrink:0;position:relative}.tw-dot--r{background:#ff5f56cc}.tw-dot--y{background:#ffbd2ecc}.tw-dot--g{background:#28c840cc}.tw-dot:before,.tw-dot:after{content:"";position:absolute;background:#000000a6;border-radius:1px;top:50%;left:50%;opacity:0;transition:opacity .1s}.tw-dot--r:before{width:7px;height:1.5px;transform:translate(-50%,-50%) rotate(45deg)}.tw-dot--r:after{width:7px;height:1.5px;transform:translate(-50%,-50%) rotate(-45deg)}.tw-dot--y:before{width:6px;height:1.5px;transform:translate(-50%,-50%)}.tw-dot--g:before{width:6px;height:1.5px;transform:translate(-50%,-50%)}.tw-dot--g:after{width:1.5px;height:6px;transform:translate(-50%,-50%)}.tw-dot:hover:before,.tw-dot:hover:after{opacity:1}.tw-bar-title{font-family:var(--mono);font-size:11px;color:#ffffff47;letter-spacing:.03em;margin-left:4px;flex:1}.tw-mute{background:none;border:none;cursor:pointer;font-size:11px;opacity:.45;padding:0 2px;line-height:1;transition:opacity .2s}.tw-mute:hover{opacity:.9}.tw-output{flex:1;overflow-y:auto;padding:14px 16px 4px;scrollbar-width:thin;scrollbar-color:rgba(99,91,255,.2) transparent}.tw-input-row{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.tw-ps{font-family:var(--mono);font-size:12px;color:#8a86ffcc;flex-shrink:0}.tw-input{flex:1;background:none;border:none;outline:none;font-family:var(--mono);font-size:12px;color:#ffffffd9;caret-color:var(--accent)}.tw-input::placeholder{color:#ffffff2e}.tw-line{font-family:var(--mono);font-size:12px;line-height:1.75;white-space:pre-wrap;word-break:break-word}.tw-def{color:#ffffffb8}.tw-muted{color:#ffffff59}.tw-accent{color:#8a86fff2}.tw-ok{color:#4ade80d9}.tw-err{color:#ff6450d9}.tw-input-echo{color:#ffffffd9;margin-top:8px}.tw-game{padding:12px 16px;display:flex;flex-direction:column;gap:10px}.tw-game-hud{font-family:var(--mono);font-size:11px;letter-spacing:.04em}.tw-game-canvas{display:block;border:1px solid rgba(99,91,255,.2);border-radius:4px;max-width:100%;image-rendering:pixelated;image-rendering:crisp-edges}.tw-game-over{font-family:var(--mono);font-size:12px}.cursor-glow{position:fixed;top:0;left:0;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(99,91,255,.15) 0%,transparent 65%);pointer-events:none;z-index:9999;will-change:transform;mix-blend-mode:screen;transform:translate(-1000px,-1000px)}
