:root{--bg:#0b0e14;--panel:#11151c;--panel-2:#161b24;--line:#232a36;--text:#c9d1d9;--muted:#6b7785;--kw:#c792ea;--str:#89ca78;--fn:#61afef;--num:#e5c07b;--cmt:#5c6370;--tag:#f07178}*{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);letter-spacing:.1px;font-family:Inter,sans-serif}code,.mono,.navbar-brand,.tab,.editor-line,h1,h2,h3,.btn,.badge-pkg,footer .mono{font-family:JetBrains Mono,monospace}body:before{content:"";background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.06;pointer-events:none;z-index:0;background-size:42px 42px;position:fixed;inset:0}a{color:var(--fn);text-decoration:none}a:hover{color:var(--str)}::selection{background:var(--kw);color:#0b0e14}.navbar{background:var(--panel);border-bottom:1px solid var(--line)}.navbar .traffic{gap:6px;margin-right:14px;display:flex}.navbar .traffic span{border-radius:50%;width:10px;height:10px;display:inline-block}.navbar .traffic span:first-child{background:#f07178}.navbar .traffic span:nth-child(2){background:#e5c07b}.navbar .traffic span:nth-child(3){background:#89ca78}.navbar-brand{font-size:1rem;font-weight:700;color:var(--text)!important}.navbar-brand .kw{color:var(--kw)}.navbar-brand .fn{color:var(--fn)}.nav-tabs-custom .nav-link{color:var(--muted);border:1px solid #0000;border-radius:6px 6px 0 0;padding:.45rem .9rem;font-family:JetBrains Mono,monospace;font-size:.82rem}.nav-tabs-custom .nav-link:hover{color:var(--text);background:var(--panel-2)}.nav-tabs-custom .nav-link .dot{background:var(--cmt);border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.hero{z-index:1;padding:5rem 0 4rem;position:relative}.editor-window{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 30px 80px -30px #000000b3}.editor-titlebar{background:var(--panel-2);border-bottom:1px solid var(--line);align-items:center;padding:.6rem .9rem;display:flex}.editor-tabs{margin-left:14px;display:flex}.editor-tab{color:var(--muted);border-right:1px solid var(--line);padding:.35rem .8rem;font-size:.78rem}.editor-tab.active{color:var(--text);background:var(--panel);border-top:2px solid var(--fn)}.editor-body{display:flex}.editor-gutter{text-align:right;color:var(--line);-webkit-user-select:none;user-select:none;border-right:1px solid var(--line);min-width:46px;padding:1.4rem .7rem;font-size:.85rem;line-height:1.85}.editor-gutter span{color:#3a4250;display:block}.editor-code{width:100%;padding:1.4rem;font-size:.95rem;line-height:1.85;overflow-x:auto}.editor-code .ind{padding-left:1.4rem}.cursor{background:var(--str);vertical-align:text-bottom;width:8px;height:1.1em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.role-badge{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);border-radius:30px;align-items:center;gap:.5rem;padding:.35rem .8rem;font-size:.78rem;display:inline-flex}.role-badge .blip{background:var(--str);width:7px;height:7px;box-shadow:0 0 8px var(--str);border-radius:50%}.btn-term{background:var(--fn);color:#0b0e14;border:none;border-radius:6px;padding:.65rem 1.3rem;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600}.btn-term:hover{color:#0b0e14;background:#79b8ff}.btn-outline-term{color:var(--text);border:1px solid var(--line);background:0 0;border-radius:6px;padding:.65rem 1.3rem;font-family:JetBrains Mono,monospace;font-size:.85rem}.btn-outline-term:hover{border-color:var(--fn);color:var(--fn)}.section{z-index:1;border-top:1px solid var(--line);padding:5.5rem 0;position:relative}.section-head{margin-bottom:3rem}.section-eyebrow{color:var(--muted);align-items:center;gap:.6rem;margin-bottom:.6rem;font-size:.78rem;display:flex}.section-eyebrow:before{content:"//";color:var(--cmt)}.section-title{color:var(--text);font-size:1.9rem;font-weight:700}.section-title .kw{color:var(--kw)}.about-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:2rem}.stat{border-right:1px solid var(--line)}.stat:last-child{border-right:none}.stat .num{color:var(--fn);font-family:JetBrains Mono;font-size:1.6rem;font-weight:700}.stat .lbl{color:var(--muted);font-size:.78rem}.pkg-window{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.badge-pkg{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:6px;align-items:center;gap:.45rem;margin:.25rem;padding:.4rem .75rem;font-size:.8rem;display:inline-flex}.badge-pkg .ver{color:var(--num)}.skill-group-title{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:1.2rem 0 .5rem;font-size:.78rem}.project-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;height:100%;padding:1.6rem;transition:all .25s;position:relative;overflow:hidden}.project-card:hover{border-color:var(--fn);transform:translateY(-4px)}.project-card .file-name{color:var(--muted);align-items:center;gap:.4rem;margin-bottom:.9rem;font-size:.78rem;display:flex}.project-card h3{color:var(--text);margin-bottom:.6rem;font-size:1.15rem}.project-card p{color:var(--muted);margin-bottom:1rem;font-size:.9rem}.tech-pill{border:1px solid var(--line);color:var(--str);border-radius:20px;margin:.15rem .25rem .15rem 0;padding:.2rem .55rem;font-size:.72rem;display:inline-block}.project-links a{color:var(--muted);margin-right:1rem;font-size:.82rem}.project-links a:hover{color:var(--fn)}.terminal{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.terminal-head{background:var(--panel-2);border-bottom:1px solid var(--line);color:var(--muted);padding:.6rem .9rem;font-size:.78rem}.terminal-body{padding:1.6rem;font-size:.88rem}.log-line{border-bottom:1px dashed var(--line);gap:1rem;padding:.9rem 0;display:flex}.log-line:last-child{border-bottom:none}.log-line .ts{color:var(--cmt);white-space:nowrap;min-width:92px}.log-line .lvl{color:var(--str);min-width:70px}.log-line .msg .role{color:var(--text);font-weight:600}.log-line .msg .co{color:var(--fn)}.log-line .msg .desc{color:var(--muted);margin-top:.2rem;font-size:.85rem;display:block}.contact-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:2.4rem}.form-control-term{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:6px;font-family:JetBrains Mono;font-size:.88rem}.form-control-term:focus{background:var(--panel-2);color:var(--text);border-color:var(--fn);box-shadow:0 0 0 .2rem #61afef26}.form-control-term::placeholder{color:var(--cmt)}label.term-label{color:var(--muted);margin-bottom:.35rem;font-size:.78rem;display:block}.prompt:before{content:"$ ";color:var(--str)}footer{border-top:1px solid var(--line);z-index:1;padding:2rem 0;position:relative}footer .mono{color:var(--muted);font-size:.8rem}.social-ico{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;margin-left:.5rem;display:inline-flex}.social-ico:hover{border-color:var(--fn);color:var(--fn)}@media (width<=767px){.stat{border-right:none;border-bottom:1px solid var(--line);margin-bottom:1rem;padding-bottom:1rem}.stat:last-child{border-bottom:none}.editor-gutter{display:none}}.hero-avatar-wrap{display:inline-block;position:relative}.hero-avatar-ring{background:linear-gradient(135deg, var(--fn) 0%,  var(--kw) 50%,  var(--str) 100% );width:350px;height:350px;box-shadow:0 0 0 1px var(--line),  0 0 20px #61afef4d,  0 0 40px #c792ea26;border-radius:50%;padding:3px}.hero-avatar-img{object-fit:cover;object-position:center top;border:2px solid var(--bg);border-radius:50%;width:100%;height:100%;display:block}.hero-avatar-status{background:var(--bg);border:2px solid var(--bg);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;bottom:4px;right:4px}.hero-avatar-status .blip{background:var(--str);width:10px;height:10px;box-shadow:0 0 8px var(--str);border-radius:50%;animation:2s ease-in-out infinite pulse-status}@keyframes pulse-status{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.hero-avatar-wrap:hover .hero-avatar-ring{transition:transform .3s;transform:scale(1.04)}
