@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=JetBrains+Mono:wght@300;400;500;600&display=swap";
:root{--lime:#c8f73a;--dark:#0a0a0a;--panel:#0d0d0d;--card:#111;--card-raised:#151515;--border:#242424;--border-strong:#333;--muted:#656565;--text:#e5e5e5;--soft:#9a9a9a;--warn:#f59e0b;--err:#ef4444;--green-shadow:#c8f73a2e;--ease:cubic-bezier(.2, 0, 0, 1)}*,:before,:after{box-sizing:border-box;scroll-behavior:smooth;margin:0;padding:0}html{background:var(--dark)}body{background:linear-gradient(90deg, #ffffff05 1px, transparent 1px), linear-gradient(180deg, #ffffff05 1px, transparent 1px), var(--dark);color:var(--text);background-size:68px 68px;font-family:Syne,sans-serif;overflow-x:hidden}a{color:inherit}button,input,textarea{font:inherit}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--dark)}::-webkit-scrollbar-thumb{background:var(--lime);border-radius:2px}#sidenav{z-index:100;border-left:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#111111e0;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:64px;height:100vh;display:flex;position:fixed;top:0;right:0}.nav-icon{transition:background .16s var(--ease), transform .16s var(--ease);border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:10px;text-decoration:none;display:flex}.nav-icon:hover{background:#1a1a1a;transform:translate(-2px)}.nav-icon.active .icon-dot{background:var(--lime);box-shadow:0 0 18px var(--green-shadow)}.icon-dot{background:var(--muted);width:6px;height:6px;transition:background .22s var(--ease), box-shadow .22s var(--ease);border-radius:50%}.nav-icon span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;writing-mode:vertical-rl;font-family:JetBrains Mono,monospace;font-size:9px}.nav-icon:hover span,.nav-icon.active span{color:var(--lime)}.mobile-nav-toggle,.mobile-nav{display:none}main{margin-right:64px}section{flex-direction:column;justify-content:center;min-height:100vh;padding:6rem 5rem;display:flex;position:relative}#home{background:radial-gradient(ellipse 54% 42% at 70% 45%, #6b8f0047, transparent 70%), var(--dark);overflow:hidden}.hero-orbit{aspect-ratio:1;pointer-events:none;border:1px solid #c8f73a14;border-radius:50%;width:min(42vw,560px);animation:8s ease-in-out infinite orbit-breathe;position:absolute;top:50%;right:9rem;transform:translateY(-50%)}.hero-orbit:before,.hero-orbit:after{content:"";border-radius:inherit;border:1px solid #c8f73a14;position:absolute;inset:16%}.hero-orbit:after{inset:31%}.hero-grid{z-index:1;grid-template-columns:minmax(0,1fr) 420px;align-items:center;gap:4rem;display:grid;position:relative}.greeting,.section-tag,.column-kicker,.project-status,.stat-label,.blog-tag,.blog-date,.form-group label,.form-status,.share-label{font-family:JetBrains Mono,monospace}.greeting{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem;font-size:.85rem}.hero-name{color:#fff;margin-bottom:.45rem;font-size:clamp(2.8rem,5vw,5rem);font-weight:800;line-height:1}.hero-title{color:var(--lime);margin-bottom:1.5rem;font-family:JetBrains Mono,monospace;font-size:clamp(1rem,2vw,1.28rem);font-weight:400}.hero-desc{color:#888;max-width:510px;margin-bottom:2.5rem;font-size:.96rem;line-height:1.8}.button-row,.blog-actions{flex-wrap:wrap;gap:1rem;display:flex}.button-row.roomy{margin-top:2rem}.btn-lime,.btn-outline{cursor:pointer;letter-spacing:.09em;text-transform:uppercase;min-height:44px;transition:border-color .16s var(--ease), color .16s var(--ease), opacity .16s var(--ease), transform .16s var(--ease), box-shadow .16s var(--ease);border-radius:4px;justify-content:center;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:.76rem;line-height:1;text-decoration:none;display:inline-flex}.btn-lime{border:1px solid var(--lime);background:var(--lime);color:var(--dark);padding:.85rem 1.45rem;font-weight:600}.btn-lime:hover{opacity:.92;transform:translateY(-2px);box-shadow:0 16px 40px #c8f73a24}.btn-outline{border:1px solid var(--border);color:#aaa;background:#0a0a0a6b;padding:.85rem 1.35rem}.btn-outline:hover{border-color:var(--lime);color:var(--lime);transform:translateY(-2px)}.full-width{width:100%}.photo-wrap{flex-direction:column;justify-content:center;align-items:center;display:flex}.photo-circle{border:3px solid var(--border);background:#1a1a1a;border-radius:50%;flex-shrink:0;width:300px;height:300px;position:relative;box-shadow:0 0 0 1px #c8f73a05,0 34px 80px #00000073}.photo-circle:before,.photo-circle:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.photo-circle:before{border:1px dashed #c8f73a3d;animation:18s linear infinite slow-spin;inset:-28px}.photo-circle:after{border:2px solid #c8f73a52;inset:-14px}.photo-circle img{border-radius:inherit;object-fit:cover;object-position:center;width:100%;height:100%;display:block}.stats-col{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:2.5rem;display:flex}.stat-card{border:1px solid var(--border);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111111d1;border-radius:8px;min-width:92px;padding:1rem 1.15rem}.stat-num{color:var(--lime);font-size:1.5rem;font-weight:800;line-height:1}.stat-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:5px;font-size:.6rem}.section-head-row,.blog-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.section-tag{color:var(--lime);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.75rem;font-size:.72rem}.section-title{color:#fff;margin-bottom:1rem;font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.1}.section-title em{color:var(--lime);font-style:normal}.section-desc{color:#6f6f6f;max-width:520px;font-size:.92rem;line-height:1.8}.section-desc.spacious{margin-bottom:2rem}.lime-divider{background:var(--lime);width:48px;height:3px;box-shadow:0 0 18px var(--green-shadow);border-radius:2px;margin-bottom:1rem}#about,#experience,#skills{background:#0d0d0dc2}.about-grid,.exp-layout,.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:5rem;display:grid}.skill-item{color:#888;align-items:center;gap:.6rem;margin-bottom:.55rem;font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1.55;display:flex}.skill-item:before{background:var(--lime);width:7px;height:7px;box-shadow:0 0 14px var(--green-shadow);content:"";border-radius:50%;flex:0 0 7px}.about-cards,.services-grid,.projects-grid,.blog-grid{gap:1.5rem;display:grid}.about-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.about-card,.service-card,.project-card,.blog-card,.contact-info-item{border:1px solid var(--border);background:linear-gradient(#151515eb,#0f0f0feb)}.about-card,.service-card{border-radius:8px;padding:1.5rem;position:relative;overflow:hidden}.about-card:before,.service-card:before{content:"";opacity:0;transition:opacity .22s var(--ease);background:radial-gradient(circle at 100% 0,#c8f73a14,#0000 48%);position:absolute;inset:0}.about-card:hover,.service-card:hover,.project-card:hover,.blog-card:hover,.contact-info-item:hover{border-color:var(--lime)}.about-card:hover:before,.service-card:hover:before{opacity:1}.about-card-icon{z-index:1;width:38px;height:38px;color:var(--lime);background:#c8f73a0f;border:1px solid #c8f73a33;border-radius:8px;justify-content:center;align-items:center;margin-bottom:.8rem;font-size:1rem;display:inline-flex;position:relative;box-shadow:inset 0 0 20px #c8f73a08}.about-card h4,.service-card h3,.project-card h3,.blog-card h3{z-index:1;color:#fff;font-weight:700;position:relative}.about-card h4{margin-bottom:.4rem;font-size:.95rem}.about-card p,.service-card p,.project-card p,.blog-card p{z-index:1;color:#666;font-family:JetBrains Mono,monospace;line-height:1.7;position:relative}.about-card p{font-size:.78rem}.stack-carousel{background:radial-gradient(circle at 15%,#c8f73a0f,#0000 28%),#0a0a0ab3;border-block:1px solid #ffffff0b;margin-right:64px;padding:1.6rem 0;position:relative;overflow:hidden}.stack-carousel:before,.stack-carousel:after{z-index:2;content:"";pointer-events:none;width:11vw;position:absolute;top:0;bottom:0}.stack-carousel:before{background:linear-gradient(90deg, var(--dark), transparent);left:0}.stack-carousel:after{background:linear-gradient(270deg, var(--dark), transparent);right:0}.stack-chip{color:#8b8b8b;background:linear-gradient(#151515f0,#0c0c0cf0),#111;border:1px solid #ffffff13;border-radius:8px;justify-content:center;align-items:center;gap:.75rem;width:168px;height:72px;margin:0 .55rem;display:inline-flex;box-shadow:inset 0 1px #ffffff06}.stack-chip.featured{color:var(--lime);background:radial-gradient(circle at 30% 20%,#c8f73a24,#0000 58%),linear-gradient(#16190ef5,#0c0c0cf5);border-color:#c8f73a52;box-shadow:inset 0 1px #ffffff09,0 18px 45px #c8f73a12}.stack-icon{color:var(--lime);filter:drop-shadow(0 0 14px #c8f73a1f);flex:none;font-size:1.55rem}.stack-chip.featured .stack-icon{font-size:1.85rem;animation:8s linear infinite react-orbit}.stack-chip span{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.74rem;font-weight:600}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:3rem}.service-card{min-height:250px;padding:2rem}.service-card:after{background:var(--lime);content:"";transform-origin:0;height:2px;transition:transform .26s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.service-card:hover:after{transform:scaleX(1)}.service-topline{z-index:1;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex;position:relative}.service-num{z-index:1;color:var(--lime);letter-spacing:.15em;font-family:JetBrains Mono,monospace;font-size:.7rem;position:relative}.service-icon{color:var(--lime);opacity:.86;filter:drop-shadow(0 0 12px #c8f73a1f);font-size:1.15rem}.service-card h3{margin-bottom:.75rem;font-size:1.08rem}.service-card p{font-size:.8rem}.service-tags,.tech-list{z-index:1;flex-wrap:wrap;gap:.4rem;margin-top:1.2rem;display:flex;position:relative}.stag,.tech-pill{color:#626262;letter-spacing:.05em;background:#1a1a1abf;border:1px solid #262626;border-radius:3px;padding:.28rem .58rem;font-family:JetBrains Mono,monospace;font-size:.62rem;line-height:1}.exp-layout{align-items:start;margin-top:3rem}.column-kicker{color:#555;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.5rem;font-size:.72rem}.exp-item{border-left:2px solid var(--border);transition:border-color .18s var(--ease), transform .18s var(--ease);margin-bottom:2.5rem;padding-left:1.5rem;position:relative}.exp-item:hover{border-color:var(--lime);transform:translate(4px)}.exp-item:before{background:var(--lime);content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:-5px}.exp-date{color:var(--lime);letter-spacing:.1em;margin-bottom:.4rem;font-family:JetBrains Mono,monospace;font-size:.68rem}.exp-role{color:#fff;margin-bottom:.2rem;font-size:1rem;font-weight:700}.exp-company{color:#666;margin-bottom:.75rem;font-family:JetBrains Mono,monospace;font-size:.78rem}.exp-desc{color:#5f5f5f;font-size:.82rem;line-height:1.75}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:3rem}.project-card,.blog-card{border-radius:8px;overflow:hidden}.project-thumb{border-bottom:1px solid var(--border);justify-content:center;align-items:center;height:180px;display:flex;position:relative;overflow:hidden}.project-thumb svg{width:100%;height:100%;display:block}.cars-thumb{background:#0d1117}.finance-thumb{background:#0a0f1e}.project-thumb-accent{background:linear-gradient(90deg, var(--lime), transparent);height:3px;position:absolute;bottom:0;left:0;right:0}.project-body{padding:1.5rem}.project-status{color:var(--lime);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:.5rem;font-size:.65rem;display:flex}.project-status.wip{color:var(--warn)}.status-dot-sm{background:currentColor;border-radius:50%;width:5px;height:5px;animation:2s infinite pulse}.project-card h3{margin-bottom:.5rem;font-size:1.05rem}.project-card p{margin-bottom:1rem;font-size:.78rem}.blog-header{margin-bottom:3rem}.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-card{cursor:pointer}.blog-card-img{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#c8f73a0d,#0000 42%),#1a1a1a;justify-content:center;align-items:center;height:140px;display:flex}.blog-card-img span{color:#3c3c3c;letter-spacing:.1em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.65rem}.blog-card-body{padding:1.2rem}.blog-tag{color:var(--lime);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.62rem}.blog-card h3{margin-bottom:.4rem;font-size:.92rem;line-height:1.4}.blog-card p{font-size:.75rem}.blog-date{color:#444;margin-top:.75rem;font-size:.65rem}.empty-state{color:#444;text-align:center;grid-column:1/-1;padding:3rem;font-family:JetBrains Mono,monospace;font-size:.8rem}.blog-card-actions{border-top:1px solid var(--border);gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.blog-action-btn{color:#666;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;transition:border-color .16s var(--ease), color .16s var(--ease);background:0 0;border:1px solid #252525;border-radius:3px;padding:.35rem .75rem;font-family:JetBrains Mono,monospace;font-size:.62rem}.blog-action-btn:hover{border-color:var(--lime);color:var(--lime)}.blog-action-btn.delete:hover{border-color:var(--err);color:var(--err)}.contact-grid{align-items:start;margin-top:3rem}.contact-lead{color:#666;margin-bottom:2rem;font-family:JetBrains Mono,monospace;font-size:.9rem;line-height:1.8}.contact-list{list-style:none}.contact-info{flex-direction:column;gap:.75rem;margin-top:2rem;display:flex}.contact-info-item{transition:border-color .16s var(--ease), transform .16s var(--ease);border-radius:8px;align-items:center;gap:1rem;padding:1rem 1.2rem;text-decoration:none;display:flex}.contact-info-item:hover{transform:translate(4px)}.contact-icon{color:var(--lime);filter:drop-shadow(0 0 10px #c8f73a1f);flex:none}.contact-info-item span{overflow-wrap:anywhere;color:#888;min-width:0;font-family:JetBrains Mono,monospace;font-size:.78rem}.contact-form{flex-direction:column;gap:1rem;display:flex}.form-group{margin-bottom:.2rem}.form-group label{color:#666;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.72rem;display:block}.form-group input,.form-group textarea{color:#ccc;resize:vertical;width:100%;transition:border-color .16s var(--ease), box-shadow .16s var(--ease);background:#0a0a0adb;border:1px solid #242424;border-radius:6px;outline:none;padding:.8rem 1rem;font-family:JetBrains Mono,monospace;font-size:.8rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px #c8f73a0f}.form-group textarea{min-height:140px}.tall-textarea{min-height:210px!important}.form-status{text-align:center;margin-top:.85rem;font-size:.72rem;line-height:1.5}.form-status.ok{color:var(--lime)}.form-status.warn{color:var(--warn)}.form-status.err{color:var(--err)}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d6;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-box{border:1px solid var(--border);background:#111;border-radius:10px;width:min(680px,100%);max-height:86vh;overflow-y:auto;box-shadow:0 30px 90px #0000006b}.modal-header{border-bottom:1px solid #1d1d1d;padding:2rem 2rem 1rem}.modal-header h2{color:#fff;margin-top:.5rem;font-size:1.25rem;font-weight:800}.modal-date{color:#444;margin-top:.4rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.modal-body{padding:2rem}.modal-content{color:#888;white-space:pre-wrap;font-family:JetBrains Mono,monospace;font-size:.85rem;line-height:1.9}.modal-close{float:right;color:#666;cursor:pointer;width:32px;height:32px;transition:background .16s var(--ease), color .16s var(--ease);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.modal-close:hover{color:var(--lime);background:#1a1a1a}.share-bar{border-top:1px solid #1d1d1d;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:2rem;padding-top:1.5rem;display:flex}.share-label{color:#444;letter-spacing:.15em;text-transform:uppercase;margin-right:.25rem;font-size:.65rem}.share-btn{color:#888;cursor:pointer;transition:border-color .16s var(--ease), color .16s var(--ease);background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;align-items:center;gap:.3rem;padding:.42rem .75rem;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;text-decoration:none;display:inline-flex}.share-btn:hover{border-color:var(--lime);color:var(--lime)}footer{border-top:1px solid var(--border);background:#0d0d0d;justify-content:space-between;align-items:center;gap:1rem;margin-right:64px;padding:2rem 5rem;display:flex}footer p{color:#444;font-family:JetBrains Mono,monospace;font-size:.72rem}.footer-lime{color:var(--lime)}#admin-trigger{z-index:999;cursor:pointer;opacity:.18;background:#555;border:none;border-radius:50%;width:9px;height:9px;padding:0;position:fixed;bottom:8px;left:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes slow-spin{to{transform:rotate(360deg)}}@keyframes orbit-breathe{0%,to{opacity:.8;transform:translateY(-50%)scale(1)}50%{opacity:.45;transform:translateY(-50%)scale(1.04)}}@keyframes react-orbit{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (max-width:1100px){.hero-grid{grid-template-columns:minmax(0,1fr) 360px}.photo-circle{width:260px;height:260px}.services-grid,.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){#sidenav{display:none}.mobile-nav-toggle{z-index:160;border:1px solid var(--border);width:42px;height:42px;color:var(--lime);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#111111e6;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:fixed;top:1rem;right:1rem}.mobile-nav{z-index:150;border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#111111f5;border-radius:8px;gap:.35rem;min-width:190px;padding:.7rem;display:grid;position:fixed;top:4rem;right:1rem}.mobile-nav a{color:#aaa;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:.8rem;font-family:JetBrains Mono,monospace;font-size:.76rem;text-decoration:none}.mobile-nav a:hover{color:var(--lime);background:#1a1a1a}main,.stack-carousel,footer{margin-right:0}section{min-height:auto;padding:5rem 2rem}#home{min-height:100vh}.hero-grid,.about-grid,.exp-layout,.contact-grid{grid-template-columns:1fr;gap:3rem}.hero-grid{padding-top:2rem}.section-head-row,.blog-header{flex-direction:column;align-items:flex-start}.projects-grid,.services-grid,.blog-grid{grid-template-columns:1fr}footer{flex-direction:column;align-items:flex-start;padding:2rem}}@media (max-width:580px){section{padding:4.5rem 1.2rem}.hero-name{font-size:clamp(2.35rem,15vw,3.3rem)}.button-row,.blog-actions{width:100%}.btn-lime,.btn-outline{width:100%;padding-inline:1rem}.about-cards{grid-template-columns:1fr}.photo-circle{width:min(74vw,260px);height:min(74vw,260px)}.stats-col{width:100%}.stack-chip{width:146px;height:64px}.stat-card{flex:120px}.modal-overlay{align-items:flex-end;padding:1rem}.modal-box{max-height:90vh}.modal-header,.modal-body{padding:1.35rem}}.ask-ai{flex-direction:column;gap:.6rem;max-width:510px;margin-top:1.75rem;display:flex}.ask-ai-label{color:var(--lime);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:.7rem;display:inline-flex}.ask-ai-row{border:1px solid var(--border);transition:border-color .16s var(--ease), box-shadow .16s var(--ease);background:#0f0f0f99;border-radius:6px;align-items:stretch;gap:.55rem;padding:4px;display:flex}.ask-ai-row:focus-within{border-color:var(--lime);box-shadow:0 0 0 3px #c8f73a1f}.ask-ai-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:.7rem .85rem;font-family:Syne,sans-serif;font-size:.92rem}.ask-ai-input::placeholder{color:var(--muted)}.ask-ai-input:disabled{opacity:.6}.ask-ai-btn{background:var(--lime);min-width:44px;color:var(--dark);cursor:pointer;transition:opacity .16s var(--ease), transform .16s var(--ease);border:none;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.ask-ai-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ask-ai-btn:disabled{opacity:.45;cursor:not-allowed}.ask-ai-spinner{border:2px solid #0a0a0a40;border-top-color:var(--dark);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite ask-ai-spin}@keyframes ask-ai-spin{to{transform:rotate(360deg)}}.ask-ai-answer{color:var(--text);white-space:pre-wrap;background:#c8f73a0a;border:1px solid #c8f73a40;border-radius:6px;padding:.95rem 1.05rem;font-size:.92rem;line-height:1.6}.ask-ai-error{color:var(--err);letter-spacing:.04em;font-family:JetBrains Mono,monospace;font-size:.78rem}
