@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--bg: #0a0a0a;--green: #00ff88;--gd: rgba(0,255,136,.65);--gx: rgba(0,255,136,.12);--gs: rgba(0,255,136,.05);--text: #c8c8c8;--td: rgba(200,200,200,.45);--tx: rgba(200,200,200,.2);--border: rgba(0,255,136,.14);--bs: rgba(0,255,136,.07);--r: 6px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;color-scheme:dark}body{background:var(--bg);color:var(--text);font-family:JetBrains Mono,monospace;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden;cursor:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9997;background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(0,0,0,.04) 3px,rgba(0,0,0,.04) 4px);pointer-events:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-image:radial-gradient(circle,rgba(0,255,136,.07) 1px,transparent 1px);background-size:36px 36px;pointer-events:none}.cursor-dot{position:fixed;pointer-events:none;z-index:9999;width:3px;height:18px;background:var(--green);box-shadow:0 0 10px var(--green),0 0 20px #0f86;transform:translate(-50%,-50%);transition:height .15s,opacity .15s;border-radius:1px}.cursor-ring{position:fixed;pointer-events:none;z-index:9998;width:28px;height:28px;border-radius:50%;border:1px solid rgba(0,255,136,.3);transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .2s}.cursor-dot.active{height:22px;box-shadow:0 0 14px var(--green)}.cursor-ring.active{width:38px;height:38px;border-color:#00ff8880}::-moz-selection{background:#00ff882e;color:var(--green)}::selection{background:#00ff882e;color:var(--green)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00ff882e;border-radius:2px}.scrollbar-prog{position:fixed;top:0;left:0;height:2px;z-index:200;background:var(--green);box-shadow:0 0 8px var(--green);transition:width .1s}.wrap{max-width:1200px;margin:0 auto;padding:0 40px;position:relative;z-index:1}.term-win{border:1px solid var(--border);border-radius:8px;background:#050505f0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden;box-shadow:0 0 0 1px var(--bs),0 24px 60px #000000b3,0 0 60px #00ff880a}.term-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#00ff8806;border-bottom:1px solid var(--bs);-webkit-user-select:none;-moz-user-select:none;user-select:none}.term-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.term-title{flex:1;text-align:center;font-size:10px;color:var(--tx);letter-spacing:.08em}.term-body{padding:22px 26px}.p-user{color:var(--green);font-size:13px;font-family:JetBrains Mono,monospace}.p-at{color:#00ff884d;font-size:13px;font-family:JetBrains Mono,monospace}.p-host{color:#00ff888c;font-size:13px;font-family:JetBrains Mono,monospace}.p-path{color:#60a5fa99;font-size:13px;font-family:JetBrains Mono,monospace}.p-sym{color:var(--green);font-size:13px;margin:0 6px;font-family:JetBrains Mono,monospace}.p-cmd{color:var(--text);font-size:13px;font-family:JetBrains Mono,monospace}.p-arg{color:#fbbf24b3;font-size:13px;font-family:JetBrains Mono,monospace}.p-out{color:var(--td);font-size:13px;line-height:1.8;font-family:JetBrains Mono,monospace}.blink-cur{display:inline-block;width:7px;height:14px;background:var(--green);box-shadow:0 0 6px var(--green);vertical-align:middle;animation:blink 1s step-end infinite;margin-left:2px}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.tech-item{display:inline-block;padding:4px 10px;border:1px solid var(--border);border-radius:4px;background:var(--gs);font-size:11px;color:var(--gd);letter-spacing:.06em;font-family:JetBrains Mono,monospace;transition:border-color .2s,color .2s,background .2s,box-shadow .2s}.tech-item:hover{border-color:#00ff8880;color:var(--green);background:var(--gx);box-shadow:0 0 8px #00ff881a}.chip{display:inline-block;padding:3px 8px;background:#000000b3;border:1px solid var(--border);border-radius:4px;font-size:10px;color:var(--gd);letter-spacing:.06em;font-family:JetBrains Mono,monospace}.file-card{border:1px solid var(--bs);border-radius:var(--r);background:#00ff8804;overflow:hidden;cursor:none;transition:border-color .2s,background .2s}.file-card:hover,.file-card.active{border-color:var(--border);background:var(--gs)}.field{width:100%;background:#000000b3;border:1px solid var(--bs);border-radius:var(--r);padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}.field::-moz-placeholder{color:var(--tx)}.field::placeholder{color:var(--tx)}.field:focus{border-color:#00ff8859;box-shadow:0 0 16px #00ff880d}.btn-glow{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--r);background:#00ff8814;border:1px solid rgba(0,255,136,.35);color:var(--green);font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.08em;cursor:none;text-decoration:none;transition:background .2s,box-shadow .2s,border-color .2s}.btn-glow:hover{background:#00ff8824;border-color:var(--green);box-shadow:0 0 20px #0f83}.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--r);background:transparent;border:1px solid var(--border);color:var(--td);font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.08em;cursor:none;text-decoration:none;transition:border-color .2s,color .2s}.btn-ghost:hover{border-color:#00ff884d;color:var(--gd)}.badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:10px;letter-spacing:.1em;border:1px solid;font-family:JetBrains Mono,monospace}.badge-active{background:#00ff8812;border-color:#00ff884d;color:var(--green)}.badge-shipped{background:#60a5fa12;border-color:#60a5fa4d;color:#60a5fae6}.badge-progress{background:#fbbf2412;border-color:#fbbf244d;color:#fbbf24e6}.badge-closed{background:#c8c8c80a;border-color:#c8c8c81f;color:var(--td)}.section-overline{font-size:10px;letter-spacing:.2em;color:var(--gd);text-transform:uppercase;margin-bottom:14px;font-family:JetBrains Mono,monospace}.section-overline:before{content:"> ";color:#00ff8859}.git-log{display:flex;flex-direction:column;gap:2px}.git-entry{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--r);cursor:none;transition:background .15s;border:1px solid transparent;text-align:left;width:100%;background:transparent}.git-entry:hover,.git-entry.active{background:var(--gs);border-color:var(--border)}.git-hash{color:#fbbf24a6;font-size:11px;letter-spacing:.06em;min-width:54px;font-family:JetBrains Mono,monospace}.git-msg{color:var(--td);font-size:12px;flex:1;font-family:JetBrains Mono,monospace}.git-entry.active .git-msg{color:var(--text)}.git-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);flex-shrink:0}.contact-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--bs);border-radius:var(--r);background:#00ff8804;text-decoration:none;transition:border-color .2s,background .2s,transform .2s}.contact-card:hover{border-color:var(--border);background:var(--gs);transform:translate(4px)}.mag{transition:transform .2s}.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}.reveal.active{opacity:1;transform:none}.reveal-stagger>*{opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}.reveal-stagger.active>*:nth-child(1){opacity:1;transform:none;transition-delay:.04s}.reveal-stagger.active>*:nth-child(2){opacity:1;transform:none;transition-delay:.08s}.reveal-stagger.active>*:nth-child(3){opacity:1;transform:none;transition-delay:.12s}.reveal-stagger.active>*:nth-child(4){opacity:1;transform:none;transition-delay:.16s}.reveal-stagger.active>*:nth-child(n+5){opacity:1;transform:none;transition-delay:.2s}@keyframes pulse-glow{0%,to{box-shadow:0 0 4px #00ff8880}50%{box-shadow:0 0 14px #00ff88e6}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes text-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes line-in{0%{opacity:0}to{opacity:1}}@media (max-width: 900px){.wrap{padding:0 20px}}
