*{margin:0;padding:0;box-sizing:border-box}:root{--glass: rgba(255,255,255,.06);--glass-border: rgba(255,255,255,.12);--glass-hover: rgba(255,255,255,.1);--blur: blur(18px);--text: #e8edf5;--muted: rgba(232,237,245,.5);--accent: #4f9cf9;--accent2: #38e2b8;--accent3: #f97b4f}html{scroll-behavior:smooth}body{min-height:100vh;background:#080c14;color:var(--text);font-family:Segoe UI,system-ui,sans-serif;overflow-x:hidden}.bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.28}.blob-1{width:700px;height:700px;background:#1a3fa8;top:-200px;left:-150px}.blob-2{width:500px;height:500px;background:#0a7c5c;top:40%;right:-100px}.blob-3{width:450px;height:450px;background:#8b2fc9;bottom:-100px;left:25%}.grid-lines{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(79,156,249,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(79,156,249,.04) 1px,transparent 1px);background-size:60px 60px}.wrapper{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:0 1.5rem}.glass{background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:16px}nav{position:sticky;top:0;z-index:100;padding:1rem 0}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#080c1499;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:50px}.logo{font-size:1.05rem;font-weight:600;letter-spacing:.04em}.logo span{color:var(--accent)}.nav-links{display:flex;gap:1.75rem;list-style:none}.nav-links a{color:var(--muted);text-decoration:none;font-size:.85rem;letter-spacing:.05em;transition:color .2s}.nav-links a:hover{color:var(--text)}.nav-cta{padding:.5rem 1.2rem;background:#4f9cf926;border:1px solid rgba(79,156,249,.35);color:var(--accent);border-radius:50px;text-decoration:none;font-size:.82rem;letter-spacing:.06em;transition:background .2s,border-color .2s}.nav-cta:hover{background:#4f9cf947;border-color:#4f9cf999}.hero{position:relative;min-height:100vh;display:flex;align-items:center;background-color:#080c14;overflow:hidden}.hero-img{position:absolute;right:0;top:0;height:100%;width:auto;object-fit:contain;object-position:right top;z-index:0;pointer-events:none}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to right,#080c14 28%,rgba(8,12,20,.88) 48%,rgba(8,12,20,.25) 70%,transparent 100%),linear-gradient(to bottom,rgba(8,12,20,.4) 0%,transparent 10%,transparent 82%,#080c14 100%)}.hero-content{position:relative;z-index:2;width:100%;padding:9rem 0 6rem}.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .9rem;background:#38e2b81a;border:1px solid rgba(56,226,184,.25);border-radius:50px;font-size:.78rem;color:var(--accent2);letter-spacing:.06em;margin-bottom:1.25rem}.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--accent2);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hero-text{max-width:580px}.hero-text h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:700;line-height:1.15;margin-bottom:.5rem;letter-spacing:-.02em}.hero-text h1 .accent{color:var(--accent)}.hero-subtitle{font-size:1.1rem;color:var(--muted);margin-bottom:1.25rem;letter-spacing:.02em}.hero-subtitle strong{color:var(--accent2);font-weight:600}.hero-text p{color:var(--muted);font-size:.95rem;line-height:1.75;max-width:480px;margin-bottom:2rem}.hero-btns{display:flex;gap:.875rem;flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.6rem;background:#4f9cf933;border:1px solid rgba(79,156,249,.45);color:var(--accent);border-radius:50px;text-decoration:none;font-size:.875rem;font-weight:500;letter-spacing:.04em;transition:background .2s,border-color .2s,transform .15s}.btn-primary:hover{background:#4f9cf952;border-color:#4f9cf9b3;transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.6rem;background:var(--glass);border:1px solid var(--glass-border);color:var(--text);border-radius:50px;text-decoration:none;font-size:.875rem;font-weight:500;letter-spacing:.04em;transition:background .2s,transform .15s}.btn-secondary:hover{background:var(--glass-hover);transform:translateY(-1px)}.stat-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}.stat{padding:.5rem .9rem;background:#ffffff0a;border:1px solid var(--glass-border);border-radius:10px;text-align:center}.stat strong{display:block;font-size:1.1rem;color:var(--accent);font-weight:700}.stat span{font-size:.68rem;color:var(--muted);letter-spacing:.05em}.section{padding:3.5rem 0}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:2.25rem}.section-num{font-size:.72rem;color:var(--accent);letter-spacing:.12em;font-weight:600}.section-header h2{font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.section-header .line{flex:1;height:1px;background:var(--glass-border)}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.skill-group{padding:1.5rem}.skill-group-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1.25rem}.skill-group-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem}.icon-java{background:#f97b4f26;border:1px solid rgba(249,123,79,.25)}.icon-react{background:#4f9cf926;border:1px solid rgba(79,156,249,.25)}.icon-db{background:#38e2b826;border:1px solid rgba(56,226,184,.25)}.icon-tools{background:#c584f326;border:1px solid rgba(197,132,243,.25)}.skill-group-header h4{font-size:.9rem;font-weight:600;letter-spacing:.03em}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{padding:.3rem .75rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:6px;font-size:.78rem;color:var(--muted);transition:border-color .2s,color .2s;cursor:default}.skill-tag:hover{border-color:var(--accent);color:var(--text)}.skill-tag.java{border-color:#f97b4f4d;color:#f97b4fd9}.skill-tag.react{border-color:#4f9cf94d;color:#4f9cf9d9}.skill-tag.db{border-color:#38e2b84d;color:#38e2b8d9}.skill-tag.tools{border-color:#c584f34d;color:#c584f3d9}.skill-bars{margin-top:1.5rem;display:flex;flex-direction:column;gap:.85rem}.bar-item{display:block}.bar-label{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);margin-bottom:.35rem}.bar-label span:last-child{color:var(--text);font-weight:600}.bar-track{height:5px;background:#ffffff12;border-radius:50px;overflow:hidden}.bar-fill{height:100%;border-radius:50px;animation:barGrow 1.2s ease forwards;transform-origin:left}@keyframes barGrow{0%{width:0}}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.project-card{padding:1.5rem;transition:transform .2s,background .2s;cursor:pointer;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;opacity:0;transition:opacity .2s}.project-card:hover{transform:translateY(-4px);background:var(--glass-hover)}.project-card:hover:before{opacity:1}.card-java:before{background:linear-gradient(90deg,var(--accent3),transparent)}.card-react:before{background:linear-gradient(90deg,var(--accent),transparent)}.card-full:before{background:linear-gradient(90deg,var(--accent2),transparent)}.project-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.85rem}.project-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.project-links{display:flex;gap:.5rem}.project-link{width:28px;height:28px;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--muted);text-decoration:none;font-size:.75rem;transition:background .2s,color .2s}.project-link:hover{background:var(--glass-hover);color:var(--text)}.project-card h3{font-size:.97rem;font-weight:600;margin-bottom:.45rem}.project-card p{font-size:.83rem;color:var(--muted);line-height:1.6;margin-bottom:1rem}.project-techs{display:flex;flex-wrap:wrap;gap:.4rem}.tech-pill{padding:.2rem .6rem;border-radius:4px;font-size:.7rem;letter-spacing:.04em;font-weight:500}.pill-java{background:#f97b4f1f;color:var(--accent3);border:1px solid rgba(249,123,79,.2)}.pill-react{background:#4f9cf91f;color:var(--accent);border:1px solid rgba(79,156,249,.2)}.pill-green{background:#38e2b81f;color:var(--accent2);border:1px solid rgba(56,226,184,.2)}.pill-purple{background:#c584f31f;color:#c584f3;border:1px solid rgba(197,132,243,.2)}.pill-gray{background:#ffffff0f;color:var(--muted);border:1px solid var(--glass-border)}.timeline{position:relative;padding-left:1.5rem}.timeline:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:var(--glass-border)}.timeline-item{position:relative;padding-left:2rem;padding-bottom:2.5rem}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-1.55rem;top:6px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid #080c14;box-shadow:0 0 0 3px #4f9cf933}.timeline-dot.current{background:var(--accent2);box-shadow:0 0 0 3px #38e2b833;animation:dotPulse 2s infinite}@keyframes dotPulse{0%,to{box-shadow:0 0 0 3px #38e2b833}50%{box-shadow:0 0 0 6px #38e2b81a}}.exp-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.4rem;flex-wrap:wrap;gap:.5rem}.exp-header h3{font-size:1rem;font-weight:600}.exp-date{font-size:.78rem;color:var(--muted);letter-spacing:.04em;padding:.2rem .6rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:50px;white-space:nowrap}.exp-company{font-size:.85rem;color:var(--accent);margin-bottom:.65rem;font-weight:500}.exp-desc{font-size:.85rem;color:var(--muted);line-height:1.65;margin-bottom:.75rem}.exp-techs{display:flex;flex-wrap:wrap;gap:.4rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}.contact-info{padding:2rem}.contact-info h3{font-size:1.2rem;font-weight:700;margin-bottom:.5rem}.contact-info p{font-size:.875rem;color:var(--muted);line-height:1.7;margin-bottom:1.5rem}.contact-items{display:flex;flex-direction:column;gap:.75rem}.contact-item{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--muted)}.contact-item-icon{width:32px;height:32px;background:#4f9cf91a;border:1px solid rgba(79,156,249,.2);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.contact-form-card{padding:2rem}.form-group label{display:block;font-size:.78rem;color:var(--muted);letter-spacing:.06em;margin-bottom:.4rem}.form-group input,.form-group textarea{width:100%;padding:.7rem 1rem;background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text);font-size:.875rem;outline:none;border-radius:10px;transition:border-color .2s;font-family:inherit;resize:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#fff3}.form-group input:focus,.form-group textarea:focus{border-color:#4f9cf980}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.btn-submit{width:100%;padding:.75rem;background:#4f9cf933;border:1px solid rgba(79,156,249,.4);color:var(--accent);font-size:.875rem;font-weight:600;letter-spacing:.06em;font-family:inherit;border-radius:10px;cursor:pointer;transition:background .2s,border-color .2s}.btn-submit:hover{background:#4f9cf952;border-color:#4f9cf9a6}.btn-submit.sent{background:#38e2b833;border-color:#38e2b866;color:#38e2b8}.social-row{display:flex;gap:.75rem}.social-card{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;color:var(--muted);text-decoration:none;font-size:.8rem;letter-spacing:.04em;transition:background .2s,color .2s,transform .15s}.social-card:hover{background:var(--glass-hover);color:var(--text);transform:translateY(-2px)}footer{border-top:1px solid var(--glass-border);padding:1.75rem 0;display:flex;align-items:center;justify-content:space-between;margin-top:2rem}footer p{color:var(--muted);font-size:.8rem}.footer-links{display:flex;gap:1.5rem}.footer-links a{color:var(--muted);text-decoration:none;font-size:.8rem;transition:color .2s}.footer-links a:hover{color:var(--accent)}.hamburger{display:none;background:none;border:1px solid var(--glass-border);color:var(--text);font-size:1.1rem;width:36px;height:36px;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.hamburger:hover{background:var(--glass)}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:98}@media (max-width: 1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}.hero-img{height:85%}}@media (max-width: 768px){.wrapper{padding:0 1rem}.nav-cta{display:none}.hamburger{display:flex}.nav-links{display:none;position:fixed;top:76px;left:1rem;right:1rem;background:#080c14f7;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:16px;flex-direction:column;padding:.75rem;gap:.2rem;z-index:100}.nav-links.open{display:flex}.nav-links li{width:100%}.nav-links a{display:block;padding:.75rem 1rem;font-size:.95rem;border-radius:8px}.nav-links a:hover{background:var(--glass)}.hero{min-height:100svh}.hero-img{width:100%;height:100%;top:0;right:0;object-fit:cover;object-position:center top;opacity:.65}.hero:before{background:linear-gradient(to bottom,#080c14bf,#080c1466 45%,#080c144d 65%,#080c14e6)}.hero-content{padding:6rem 0 4rem}.stat-row{gap:.5rem}.section{padding:2.5rem 0}.section-header{margin-bottom:1.5rem}.skills-grid,.projects-grid,.contact-grid,.form-row{grid-template-columns:1fr}.contact-info,.contact-form-card{padding:1.5rem}.social-row{flex-wrap:wrap}.social-card{flex:1 1 calc(50% - .375rem)}footer{flex-direction:column;gap:1rem;text-align:center}.footer-links{justify-content:center}}@media (max-width: 480px){.hero-text h1{font-size:2rem}.hero-subtitle{font-size:.95rem}.hero-btns{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center;text-align:center}.stat-row{justify-content:flex-start}.stat{flex:1}.skill-bars{max-width:100%!important}.social-row{flex-direction:column}.social-card{flex:1}.exp-header{flex-direction:column;align-items:flex-start}}.admin-root{min-height:100vh;background:#0f0f13;color:#e0e0e0;font-family:system-ui,sans-serif}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:#1a1a24;border-bottom:1px solid #2a2a3a}.admin-header h1{font-size:1.1rem;font-weight:600;color:#fff;margin:0}.admin-user{display:flex;align-items:center;gap:1rem;font-size:.85rem}.admin-user span{color:#666}.admin-tabs{display:flex;gap:.25rem;padding:.75rem 2rem;background:#13131c;border-bottom:1px solid #2a2a3a;overflow-x:auto}.admin-tab{padding:.45rem 1rem;border:none;background:transparent;color:#777;border-radius:6px;cursor:pointer;font-size:.85rem;white-space:nowrap;transition:all .15s;font-family:inherit}.admin-tab:hover{background:#1e1e2e;color:#ccc}.admin-tab.active{background:#1e1e2e;color:#fff;font-weight:500}.admin-content{padding:2rem;max-width:820px;margin:0 auto}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f0f13}.admin-login-card{background:#1a1a24;border:1px solid #2a2a3a;border-radius:12px;padding:2rem;width:100%;max-width:380px}.admin-login-card h1{font-size:1.4rem;margin:0 0 .5rem;color:#fff;text-align:center}.admin-login-card p{font-size:.85rem;color:#666;text-align:center;margin:0 0 1.5rem}.admin-login-card input{width:100%;background:#0f0f13;border:1px solid #2a2a3a;border-radius:8px;padding:.7rem .9rem;color:#e0e0e0;font-size:.9rem;font-family:inherit;box-sizing:border-box;margin-bottom:.75rem;display:block}.admin-login-card input:focus{outline:none;border-color:#4f9cf9}.admin-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f0f13;color:#555}.admin-error{color:#f97b4f;font-size:.85rem;margin:0 0 .75rem}.editor h2{font-size:1.2rem;margin:0 0 1.5rem;color:#fff}.editor h3{font-size:.9rem;margin:1.5rem 0 .75rem;color:#888;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #2a2a3a;padding-bottom:.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.06em;color:#666;margin-bottom:.4rem;text-transform:uppercase}.form-group input,.form-group textarea,.form-group select{width:100%;background:#1a1a24;border:1px solid #2a2a3a;border-radius:6px;padding:.6rem .75rem;color:#e0e0e0;font-size:.875rem;font-family:inherit;box-sizing:border-box;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#4f9cf9}.form-group select{cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.array-row{display:flex;gap:.5rem;margin-bottom:.5rem;align-items:center}.array-row input,.array-row select{flex:1;background:#1a1a24;border:1px solid #2a2a3a;border-radius:6px;padding:.5rem .6rem;color:#e0e0e0;font-size:.85rem;font-family:inherit}.array-row input:focus,.array-row select:focus{outline:none;border-color:#4f9cf9}.btn-save{background:#4f9cf9;border:none;color:#fff;border-radius:8px;padding:.65rem 1.4rem;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:1.25rem;transition:background .15s;font-family:inherit}.btn-save:hover{background:#3b8de8}.btn-save:disabled{opacity:.55;cursor:not-allowed}.btn-add{background:transparent;border:1px dashed #2a2a3a;color:#4f9cf9;border-radius:6px;padding:.45rem 1rem;cursor:pointer;font-size:.85rem;width:100%;margin-top:.25rem;transition:all .15s;font-family:inherit}.btn-add:hover{background:#1a1a24;border-color:#4f9cf9}.btn-remove{background:transparent;border:1px solid #3a1a1a;color:#f97b4f;border-radius:4px;padding:.3rem .55rem;cursor:pointer;font-size:.75rem;flex-shrink:0;font-family:inherit}.btn-remove:hover{background:#2a1010}.btn-edit{background:transparent;border:1px solid #2a2a3a;color:#888;border-radius:6px;padding:.35rem .7rem;cursor:pointer;font-size:.8rem;font-family:inherit}.btn-edit:hover{background:#1a1a24;color:#ccc}.btn-danger{background:transparent;border:1px solid #3a1a1a;color:#f97b4f;border-radius:6px;padding:.35rem .7rem;cursor:pointer;font-size:.8rem;font-family:inherit}.btn-danger:hover{background:#2a1010}.btn-primary-sm{background:#4f9cf9;border:none;color:#fff;border-radius:6px;padding:.35rem .75rem;cursor:pointer;font-size:.8rem;font-family:inherit}.btn-primary-sm:hover{background:#3b8de8}.sign-out-btn{background:transparent;border:1px solid #2a2a3a;color:#888;border-radius:6px;padding:.4rem .75rem;cursor:pointer;font-size:.8rem;font-family:inherit}.sign-out-btn:hover{border-color:#f97b4f;color:#f97b4f}.item-list{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-direction:column;gap:.5rem}.item-row{display:flex;align-items:center;gap:.75rem;background:#1a1a24;border:1px solid #2a2a3a;border-radius:8px;padding:.7rem 1rem}.item-row-title{flex:1;font-size:.9rem;color:#ccc}.item-row-sub{font-size:.75rem;color:#555;margin-top:.15rem}.item-icon{font-size:1.1rem;flex-shrink:0}.edit-form{background:#13131c;border:1px solid #2a2a3a;border-radius:10px;padding:1.25rem;margin-bottom:1rem}.edit-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.edit-form-header h4{margin:0;font-size:.95rem;color:#ccc}.messages-table{width:100%;border-collapse:collapse;font-size:.85rem}.messages-table th{text-align:left;padding:.6rem .75rem;color:#555;font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #2a2a3a}.messages-table td{padding:.8rem .75rem;color:#ccc;border-bottom:1px solid #1e1e28;vertical-align:top;max-width:220px;word-break:break-word}.messages-table tr:hover td{background:#13131c}.empty-state{text-align:center;color:#444;padding:2.5rem;font-size:.9rem}.divider{border:none;border-top:1px solid #2a2a3a;margin:1.5rem 0}.checkbox-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#ccc;margin-bottom:1rem;cursor:pointer}.checkbox-row input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:#4f9cf9}.save-status{font-size:.8rem;color:#38e2b8;margin-left:.75rem}.header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.header-row h2{margin:0;font-size:1.2rem;color:#fff}
