:root{--bg: #0f1115;--bg-alt: #181b20;--text: #e7ecf2;--accent: #4da3ff;--radius: 14px;--blur: 18px;--transition: .25s ease;font-family:Inter,system-ui,Arial,sans-serif}[data-theme=light]{--bg: #f5f7fa;--bg-alt: #ffffff;--text: #142030;--accent: #006dde;--radius: 14px;--blur: 18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background var(--transition),color var(--transition)}main{width:min(1050px,92%);margin:0 auto;padding-bottom:160px}.navbar{position:sticky;top:0;backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));background:#14171c59;border-bottom:1px solid #222;z-index:50}[data-theme=light] .navbar{background:#ffffff59;border-bottom:1px solid #d6dde6}.nav-inner{width:min(1050px,92%);margin:0 auto;padding:.9rem 0;display:flex;align-items:center;justify-content:space-between}.nav-actions{display:flex;align-items:center;gap:.5rem}.brand{font-weight:600;font-size:1.05rem;letter-spacing:.5px}.theme-toggle,.action-btn{display:flex;align-items:center;gap:.45rem;background:#20242a;color:#d8dee3;border:1px solid #292e35;padding:.45rem .75rem;font-size:.7rem;border-radius:10px;cursor:pointer;transition:var(--transition)}.theme-toggle svg,.action-btn svg{font-size:.95rem}.theme-toggle:hover,.action-btn:hover{background:#262a30;color:#fff}.theme-toggle:active,.action-btn:active{transform:scale(.94)}[data-theme=light] .theme-toggle,[data-theme=light] .action-btn{background:#e0e6ed;border-color:#c3ccd6;color:#0f1115}[data-theme=light] .theme-toggle:hover,[data-theme=light] .action-btn:hover{background:#d4dce5}.hero{padding:5.5rem 0 3.5rem;display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 80px)}.hero-card{background:linear-gradient(145deg,var(--bg-alt),#13161a);padding:2.1rem 2.4rem 2.4rem;border:1px solid #1f2328;border-radius:var(--radius);box-shadow:0 8px 28px -6px #0000008c;max-width:760px}.hero-title{margin:0 0 3.2rem;font-size:calc(clamp(3.4rem,10vw,4.8rem) + 10px);font-weight:900;background:linear-gradient(90deg,#8ec5ff,#fff,#8ec5ff);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-align:left;line-height:1.02;animation:heroGradientShift 8s linear infinite;width:100%;max-width:760px}@keyframes heroGradientShift{0%{background-position:0% 0}to{background-position:300% 0}}@media (prefers-reduced-motion: reduce){.hero-title{animation:none}html{scroll-behavior:auto}}.hero-title-outside{line-height:1.05}[data-theme=light] .hero-card{background:linear-gradient(145deg,var(--bg-alt),#f0f4f9);border-color:#d4dce5;box-shadow:0 8px 24px -6px #0000002e}.hero-sub{margin:0 0 1.1rem;font-weight:500;letter-spacing:.6px;color:#b8c4cf}.hero-desc{line-height:1.5;color:#d0d6dc}[data-theme=light] .hero-sub,[data-theme=light] .hero-desc{color:var(--text)}.section{padding:3rem 0 1rem;scroll-margin-top:80px}.section-title{margin:0 0 1.2rem;font-size:2.1rem;font-weight:600;letter-spacing:.5px}.body-text{line-height:1.55;max-width:780px}.pill-list{list-style:none;padding:0;margin:1.2rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem}.pill-list li{background:#20242a;padding:.55rem .9rem;border-radius:999px;font-size:.78rem;letter-spacing:.5px;border:1px solid #292e35}[data-theme=light] .pill-list li{background:#e9eef5;border-color:#cfd6de;color:#182534}.about-subsections{display:flex;flex-direction:column;gap:2rem;margin-top:1.8rem}.sub-block{display:flex;flex-direction:column}.sub-title{margin:0 0 .85rem;font-size:1.05rem;font-weight:600;letter-spacing:.4px}.tech-list{margin-top:0}.cert-list{list-style:none;padding:0;margin:0;display:grid;gap:.55rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.cert-list li{background:#20242a;border:1px solid #292e35;padding:.6rem .75rem;border-radius:10px;font-size:.7rem;line-height:1.35}[data-theme=light] .cert-list li{background:#fff;border-color:#d6dde6;color:#182534}.education-block{margin-top:2.2rem}.education-list{list-style:none;padding:0;margin:0;display:grid;gap:.9rem}.education-item{background:#181b20;border:1px solid #262a30;padding:.75rem .9rem;border-radius:12px;display:grid;gap:.3rem;font-size:.7rem}[data-theme=light] .education-item{background:#fff;border-color:#d6dde6;color:#182534}.education-item .edu-degree{font-weight:600;font-size:.75rem}.education-item .edu-inst{color:#c3cacf}[data-theme=light] .education-item .edu-inst{color:#2a3442}.education-item .edu-period{font-size:.65rem;opacity:.8}.education-item .edu-grade{font-size:.65rem;color:var(--accent);font-weight:500}@media (min-width: 820px){.about-subsections{flex-direction:row;align-items:flex-start}.sub-block{flex:1}.cert-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.education-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.grid{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.card{background:#181b20;border:1px solid #262a30;padding:1.2rem 1.15rem 1.25rem;border-radius:var(--radius);display:flex;flex-direction:column;gap:.55rem;position:relative}[data-theme=light] .card{background:#fff;border-color:#d6dde6}.card h3{margin:0;font-size:1.05rem}.card p{margin:0;font-size:.82rem;line-height:1.4;color:#c3cacf}[data-theme=light] .card p{color:#2a3442}.tags{display:flex;flex-wrap:wrap;gap:.4rem}.tags span{background:#22262c;padding:.35rem .55rem;border-radius:6px;font-size:.65rem;letter-spacing:.4px}[data-theme=light] .tags span{background:#e9eef5;color:#182534}.ext{margin-top:auto;font-size:.75rem;text-decoration:none;color:var(--accent);font-weight:500}.ext:hover{text-decoration:underline}.timeline{display:flex;flex-direction:column;gap:1.6rem}.timeline-item{background:#181b20;border:1px solid #252a30;padding:1.2rem 1.3rem 1.15rem;border-radius:14px}[data-theme=light] .timeline-item{background:#fff;border-color:#d6dde6}.time-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.time-head h3{margin:0;font-size:1rem;font-weight:600}.period{font-size:.7rem;background:#22262c;padding:.35rem .55rem;border-radius:6px;letter-spacing:.5px}[data-theme=light] .period{background:#e9eef5;color:#182534}.timeline-item ul{margin:.7rem 0 .9rem;padding-left:1.1rem}.timeline-item li{font-size:.78rem;line-height:1.35;margin-bottom:.4rem}.contact-card{background:#181b20;border:1px solid #252a30;padding:1.4rem 1.3rem 1.35rem;border-radius:14px;max-width:600px}[data-theme=light] .contact-card{background:#fff;border-color:#d6dde6}.socials{margin-top:.9rem;display:flex;gap:.9rem;flex-wrap:wrap}.socials a{font-size:.8rem;color:var(--accent);text-decoration:none}.socials a:hover{text-decoration:underline}.contact-layout{display:flex;flex-direction:column;gap:1.4rem}.contact-heading{margin:0 0 .6rem;font-size:1.25rem;font-weight:600}.contact-text{margin:0 0 1rem;font-size:.85rem;line-height:1.5;color:#c9d0d6}[data-theme=light] .contact-text{color:#2a3442}.contact-details{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;font-size:.78rem}.contact-details a{color:var(--accent);text-decoration:none}.contact-details a:hover{text-decoration:underline}.contact-links{display:flex;flex-wrap:wrap;gap:.75rem}.contact-link{display:flex;align-items:center;gap:.5rem;background:#20242a;border:1px solid #292e35;padding:.55rem .8rem;border-radius:10px;font-size:.7rem;text-decoration:none;color:#d5dbe0;transition:var(--transition)}.contact-link:hover{background:#252a30;color:#fff}[data-theme=light] .contact-link{background:#e0e6ed;border-color:#c3ccd6;color:#0f1115}[data-theme=light] .contact-link:hover{background:#d4dce5;color:#0b1320}.contact-icon{display:flex;align-items:center;font-size:1rem}.contact-label{letter-spacing:.4px}@media (min-width: 720px){.contact-layout{flex-direction:row;justify-content:space-between;align-items:flex-start}.contact-primary{flex:1 1 330px}.contact-links{max-width:240px;flex-direction:column}.contact-link{width:100%}}.dock{position:fixed;bottom:24px;left:50%;transform:translate(-50%);transform-origin:center bottom;display:flex;gap:1rem;background:#191c2180;-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));padding:.6rem .85rem;border-radius:999px;border:1px solid #262a30;z-index:100;transition:padding .14s cubic-bezier(.22,.61,.36,1),background var(--transition),border-color var(--transition),transform var(--transition)}.dock:hover{transform:translate(-50%)}.dock-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;color:#d8dee3;text-decoration:none;font-size:.6rem;width:60px;padding:.24rem 0;border-radius:12px;transition:color var(--transition),transform var(--transition);cursor:pointer}.dock-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:999px;background:transparent;border:1px solid transparent;transition:transform .12s ease,background var(--transition),border-color var(--transition),color var(--transition);will-change:transform}.dock-item svg{font-size:1.15rem}.dock-item:hover .dock-icon{background:transparent;border-color:transparent}.dock-item:hover{color:#fff}.dock-item:active .dock-icon{transform:scale(.95)}[data-theme=light] .dock-item:hover .dock-icon{background:transparent;border-color:transparent}[data-theme=light] .dock-tip{background:#ffffffdb;color:#182534;border-color:#cfd6de}[data-theme=light] .dock{background:#ffffff80;border-color:#cfd6de}[data-theme=light] .dock-item{color:#182534}@media (max-width: 650px){.hero-card{padding:2.2rem 1.9rem}.dock{bottom:14px}.dock-item{width:56px}.dock-icon{width:40px;height:40px}}.dock-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,-4px) scale(.98);padding:4px 8px;font-size:10px;color:var(--text);background:#191c21cc;border:1px solid #2b3139;border-radius:8px;opacity:0;pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));transition:opacity .12s ease,transform .12s ease,background var(--transition),color var(--transition),border-color var(--transition)}.dock-item:hover .dock-tip{opacity:1;transform:translate(-50%,-8px) scale(1)}[data-theme=light] .card,[data-theme=light] .timeline-item,[data-theme=light] .contact-card,[data-theme=light] .education-item,[data-theme=light] .cert-list li,[data-theme=light] .hero-card{box-shadow:0 1px 4px #00000014}
