:root{--bg:#0b1120;--bg-rgb:11, 17, 32;--bg-alt:#101a2e;--surface:#16213a;--surface-hover:#1b2942;--border:#223052;--text:#e6edf5;--text-muted:#93a4c3;--primary:#2dd4bf;--primary-dark:#14b8a6;--primary-rgb:45, 212, 191;--accent:#f5b942;--accent-rgb:245, 185, 66;--danger:#f87171;--max-width:1100px;--radius:12px;--font-sans:"Segoe UI", system-ui, -apple-system, sans-serif;--shadow-elevated:0 20px 45px -15px rgba(var(--primary-rgb), .35)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}ul{list-style:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.section{padding:6rem 0}.section-alt{background:var(--bg-alt)}.section-heading{text-align:center;margin-bottom:.5rem;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:700}.section-heading-underline{background:linear-gradient(90deg, var(--primary), var(--accent));transform-origin:50%;border-radius:999px;width:64px;height:3px;margin:0 auto 1.25rem;display:block}.section-subheading{color:var(--text-muted);text-align:center;max-width:560px;margin:0 auto 3rem}.accent{color:var(--primary)}.btn{appearance:none;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.75rem 1.6rem;font-size:.95rem;font-weight:600;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--primary);color:#06251f}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{border-color:var(--border);color:var(--text)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.navbar{z-index:100;padding:1.25rem 0;transition:background .2s,padding .2s,box-shadow .2s;position:fixed;top:0;left:0;right:0}.navbar-scrolled{background:rgba(var(--bg-rgb), .85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.85rem 0;box-shadow:0 4px 20px #00000040}.navbar-inner{justify-content:space-between;align-items:center;display:flex}.navbar-logo{color:var(--text);font-size:1.15rem;font-weight:700}.navbar-links{gap:2rem;display:flex}.navbar-links a{color:var(--text-muted);font-size:.95rem;font-weight:500;transition:color .15s}.navbar-links a:hover{color:var(--primary)}.navbar-admin-link{border:1px solid var(--border);border-radius:999px;padding:.4rem .9rem;font-size:.85rem!important}.navbar-admin-link:hover{border-color:var(--primary)}.navbar-toggle{background:0 0;border:none;flex-direction:column;gap:5px;display:none}.navbar-toggle span{background:var(--text);width:24px;height:2px}@media (width<=720px){.navbar-toggle{display:flex}.navbar-links{background:var(--bg-alt);flex-direction:column;align-items:center;gap:0;max-height:0;transition:max-height .25s;position:absolute;top:100%;left:0;right:0;overflow:hidden}.navbar-links a{text-align:center;width:100%;padding:1rem}.navbar-links-open{max-height:300px}}.hero{background:radial-gradient(circle at 15% 20%, rgba(var(--primary-rgb), .12), transparent 40%), radial-gradient(circle at 85% 80%, rgba(var(--accent-rgb), .08), transparent 40%), var(--bg);align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-blob{filter:blur(90px);pointer-events:none;border-radius:50%;width:420px;height:420px;animation:8s ease-in-out infinite float;position:absolute}.hero-blob-primary{background:rgba(var(--primary-rgb), .18);top:-10%;left:-8%}.hero-blob-accent{background:rgba(var(--accent-rgb), .14);animation-delay:-4s;bottom:-15%;right:-10%}.hero-inner{z-index:1;max-width:780px;position:relative}.hero-kicker{color:var(--primary);margin-bottom:.75rem;font-family:Consolas,monospace;font-weight:600}.hero-name{margin-bottom:.5rem;font-size:clamp(2.5rem,7vw,4.5rem);font-weight:800;line-height:1.1}.hero-title{color:var(--text-muted);margin-bottom:1.25rem;font-size:clamp(1.5rem,4vw,2.4rem);font-weight:600}.hero-tagline{color:var(--text-muted);max-width:540px;margin-bottom:2.5rem;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:1rem;display:flex}.about-grid{grid-template-columns:var(--photo-size,160px) 1fr;gap:var(--photo-gap,2.5rem);align-items:center;display:grid}.about-avatar{width:var(--photo-size,160px);height:var(--photo-size,160px);background:linear-gradient(135deg, var(--primary), var(--accent));font-size:calc(var(--photo-size,160px) / 2.7);color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex;overflow:hidden}.about-avatar img{object-fit:cover;width:100%;height:100%;transition:transform .15s,object-position .15s}.about-bio{color:var(--text-muted);white-space:pre-line;margin-bottom:1.5rem}.about-meta li{border-bottom:1px solid var(--border);padding:.4rem 0}.about-meta strong{color:var(--text);margin-right:.4rem}@media (width<=640px){.about-grid{text-align:center;grid-template-columns:1fr;justify-items:center}}.skills-list{flex-direction:column;gap:1.5rem;max-width:640px;margin:0 auto;display:flex}.skill-label{justify-content:space-between;margin-bottom:.5rem;font-size:.95rem;display:flex}.skill-label span:last-child{color:var(--primary);font-weight:600}.skill-bar{background:var(--surface);border-radius:999px;height:8px;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg, var(--primary), var(--primary-dark));border-radius:999px;height:100%}.projects-status{text-align:center;color:var(--text-muted)}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem;display:grid}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;transition:border-color .2s,box-shadow .2s;overflow:hidden}.project-card:hover{border-color:var(--primary);box-shadow:var(--shadow-elevated)}.project-image{aspect-ratio:16/9;margin:-1.75rem -1.75rem 1.25rem;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.project-card:hover .project-image img{transform:scale(1.08)}.project-card h3{margin-bottom:.75rem;font-size:1.15rem}.project-card p{color:var(--text-muted);margin-bottom:1.25rem;font-size:.95rem}.project-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.project-tags li{background:var(--bg-alt);border:1px solid var(--border);color:var(--primary);border-radius:999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.project-links{gap:1.25rem;display:flex}.project-links a{color:var(--accent);font-size:.9rem;font-weight:600}.project-links a:hover{text-decoration:underline}.contact-form{flex-direction:column;gap:1.25rem;max-width:560px;margin:0 auto;display:flex}.form-row input,.form-row textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);resize:vertical;border-radius:8px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.form-row input:focus,.form-row textarea:focus{border-color:var(--primary);outline:none}.contact-form button{align-self:center;margin-top:.5rem}.contact-form button:disabled{opacity:.6;cursor:not-allowed}.form-feedback{text-align:center;color:var(--primary);font-size:.9rem}.form-feedback-error{color:var(--danger)}.footer{border-top:1px solid var(--border);padding:2.5rem 0}.footer-inner{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem;display:flex}.footer-social{gap:1.5rem;display:flex}.footer-social a:hover{color:var(--primary)}.admin-login{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.admin-login-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:1.25rem;width:100%;max-width:380px;padding:2.5rem;display:flex}.admin-login-form h1{text-align:center;margin-bottom:.5rem;font-size:1.5rem}.admin-login-form .form-row{text-align:left;flex-direction:column;gap:.4rem;display:flex}.admin-login-form label{color:var(--text-muted);font-size:.9rem;font-weight:600}.admin-login-form input{background:var(--bg-alt);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.admin-login-form input:focus{border-color:var(--primary);outline:none}.admin-login-form button{justify-content:center;width:100%}.admin-login-error{color:var(--danger);text-align:center;font-size:.9rem}.admin-login-back{text-align:center;color:var(--text-muted);font-size:.85rem}.admin-login-back:hover{color:var(--primary)}.toast-stack{z-index:1000;flex-direction:column;gap:.75rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);color:var(--text);border-radius:8px;align-items:center;gap:1rem;max-width:320px;padding:.85rem 1.1rem;font-size:.9rem;animation:.25s toast-in;display:flex;box-shadow:0 10px 30px #00000059}.toast-error{border-left-color:var(--danger)}.toast-close{color:var(--text-muted);background:0 0;border:none;padding:0;font-size:1.1rem;line-height:1}.toast-close:hover{color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.image-uploader{flex-direction:column;align-items:flex-start;gap:.6rem;display:flex}.image-uploader-label{color:var(--text-muted);font-size:.9rem;font-weight:600}.image-uploader-preview{border-radius:var(--radius);border:1px dashed var(--border);background:var(--bg-alt);justify-content:center;align-items:center;width:140px;height:140px;display:flex;overflow:hidden}.image-uploader-preview img{object-fit:cover;width:100%;height:100%}.image-uploader-placeholder{color:var(--text-muted);font-size:.8rem}.image-uploader-btn{cursor:pointer;padding:.5rem 1.1rem;font-size:.85rem}.image-wrapper{width:140px;height:140px;position:relative}.image-wrapper img{object-fit:cover;border-radius:12px;width:100%;height:100%}.delete-image-btn{color:#fff;cursor:pointer;background:red;border:none;border-radius:50%;width:28px;height:28px;font-size:16px;position:absolute;top:3px;right:2px}.profile-editor{flex-direction:column;gap:1.5rem;max-width:720px;display:flex}.profile-editor button[type=submit]{align-self:flex-start}.photo-controls{flex-wrap:wrap;align-items:flex-start;gap:2rem;display:flex}.photo-dimension-fields{flex-direction:column;flex:1;gap:1rem;min-width:220px;display:flex}.photo-dimension-fields input[type=range]{accent-color:var(--primary)}.photo-preview{width:var(--photo-size,160px);height:var(--photo-size,160px);background:linear-gradient(135deg, var(--primary), var(--accent));font-size:calc(var(--photo-size,160px) / 2.7);color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-weight:800;transition:width .15s,height .15s;display:flex;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:100%;transition:transform .1s,object-position .1s}.skill-card{flex-flow:wrap;justify-content:space-between;align-items:center}.skill-card-fields{flex:1;align-items:center;gap:.6rem;min-width:200px;display:flex}.skill-card-fields input[type=text],.skill-card-fields input:not([type]){background:var(--bg-alt);border:1px solid var(--border);color:var(--text);border-radius:8px;flex:1;padding:.6rem .9rem}.skill-card-fields input[type=number]{background:var(--bg-alt);border:1px solid var(--border);width:70px;color:var(--text);text-align:center;border-radius:8px;padding:.6rem .5rem}.skill-add-form{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.skill-add-form input[type=text],.skill-add-form input:not([type]){background:var(--surface);border:1px solid var(--border);min-width:200px;color:var(--text);border-radius:8px;flex:1;padding:.75rem 1rem}.skill-add-form input[type=number]{background:var(--surface);border:1px solid var(--border);width:80px;color:var(--text);text-align:center;border-radius:8px;padding:.75rem .5rem}.project-add-form h3{margin-bottom:.25rem;font-size:1.1rem}.project-add-form button[type=submit]{align-self:flex-start}.admin-status{color:var(--text-muted);text-align:center;padding:2rem 0}.form-row{text-align:left;flex-direction:column;gap:.4rem;display:flex}.form-row label{color:var(--text-muted);font-size:.9rem;font-weight:600}.form-row input,.form-row textarea,.form-row select{background:var(--surface);border:1px solid var(--border);color:var(--text);resize:vertical;border-radius:8px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{border-color:var(--primary);outline:none}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}.admin-entity-list{flex-direction:column;gap:1rem;display:flex}.admin-entity-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:1rem;margin:.1rem;padding:1.25rem;display:flex}.admin-entity-actions{justify-content:flex-end;gap:.75rem;display:flex}.admin-entity-actions .btn{padding:.5rem 1rem;font-size:.85rem}.message-card-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.message-card-date{color:var(--text-muted);font-size:.8rem}.message-card-email{color:var(--primary);font-size:.9rem}.message-card-body{color:var(--text-muted);white-space:pre-line}.admin-dashboard{background:var(--bg);min-height:100vh;padding:2rem 1.5rem 4rem}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:960px;margin:0 auto 2rem;display:flex}.admin-header h1{font-size:1.6rem}.admin-welcome{color:var(--text-muted);margin-top:.25rem;font-size:.9rem}.admin-header-actions{gap:.75rem;display:flex}.admin-tabs{border-bottom:1px solid var(--border);gap:.5rem;max-width:960px;margin:0 auto 2rem;display:flex;overflow-x:auto}.admin-tab{color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600}.admin-tab:hover{color:var(--text)}.admin-tab-active{color:var(--primary);border-bottom-color:var(--primary)}.admin-panel{max-width:960px;margin:0 auto}.admin-loading{min-height:100vh;color:var(--text-muted);background:var(--bg);justify-content:center;align-items:center;display:flex}
