:root{--bg: #0b0f17;--bg-soft: #111827;--card: #151d2c;--card-hover: #1a2436;--border: #24304a;--text: #e6ebf4;--text-dim: #93a1b8;--accent: #4f9cff;--accent-2: #8b5cf6;--accent-grad: linear-gradient(120deg, #4f9cff, #8b5cf6);--radius: 14px;--maxw: 980px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}#root{position:relative}.bg-glows{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle 55vmax at 88% 3%,rgba(79,156,255,.09),transparent 70%),radial-gradient(circle 50vmax at 6% 20%,rgba(139,92,246,.07),transparent 70%),radial-gradient(circle 55vmax at 92% 45%,rgba(79,156,255,.07),transparent 70%),radial-gradient(circle 50vmax at 8% 68%,rgba(139,92,246,.07),transparent 70%),radial-gradient(circle 55vmax at 85% 95%,rgba(79,156,255,.08),transparent 70%)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}section{padding:72px 0 8px}h2{font-size:1.6rem;margin-bottom:28px;display:flex;align-items:center;gap:14px}h2:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}h2 .num{font-family:Consolas,monospace;font-size:1rem;color:var(--accent)}nav{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0f17d1;border-bottom:1px solid var(--border)}.nav-inner{max-width:var(--maxw);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:20px}.logo{font-family:Consolas,monospace;font-weight:700;font-size:1.05rem;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;text-decoration:none;margin-right:auto}.nav-links{display:flex;gap:18px}.nav-links a{color:var(--text-dim);text-decoration:none;font-size:.92rem;transition:color .2s}.nav-links a:hover{color:var(--text)}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:.9rem;font-family:inherit;cursor:pointer;text-decoration:none;transition:border-color .2s,background .2s,transform .15s}.btn:hover{border-color:var(--accent);background:var(--card-hover)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent-grad);border:none;color:#fff;font-weight:600}.btn.primary:hover{filter:brightness(1.12)}#langBtn{font-family:Consolas,monospace;font-weight:700;min-width:56px;justify-content:center}.hero{min-height:calc(100vh - 60px);display:flex;align-items:center;padding:60px 0;position:relative}.hero-grid{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;width:100%;position:relative;z-index:1}.kicker{font-family:Consolas,monospace;color:var(--accent);font-size:.95rem;margin-bottom:14px}.hero h1{font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.12;margin-bottom:10px}.hero .role{font-size:clamp(1.2rem,3.4vw,1.7rem);font-weight:600;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:20px}.hero p.tagline{color:var(--text-dim);max-width:560px;margin-bottom:30px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.avatar{width:240px;height:240px;border-radius:50%;background:var(--card);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:4.4rem;font-weight:700;color:var(--text-dim);position:relative;overflow:hidden;flex-shrink:0}.avatar:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;padding:2px;background:var(--accent-grad);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.avatar img{width:100%;height:100%;object-fit:cover}.about-grid{display:grid;grid-template-columns:2fr 1fr;gap:36px}.about-text p{color:var(--text-dim);margin-bottom:14px}.about-text strong{color:var(--text)}.facts{display:flex;flex-direction:column;gap:12px}.fact{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px}.fact .val{font-size:1.35rem;font-weight:700;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.fact .lbl{color:var(--text-dim);font-size:.88rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.skill-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;transition:transform .2s,border-color .2s}.skill-card:hover{transform:translateY(-3px);border-color:var(--accent)}.skill-card h3{font-size:1.02rem;margin-bottom:14px;display:flex;align-items:center;gap:10px}.skill-card h3 .ico{font-size:1.2rem}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-flex;align-items:center;gap:7px;font-family:Consolas,monospace;font-size:.82rem;padding:5px 12px;border-radius:999px;background:#4f9cff1a;border:1px solid rgba(79,156,255,.25);color:#a8c8f0}.tag img{width:15px;height:15px;object-fit:contain;display:block}.timeline{position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--border)}.titem{position:relative;padding-bottom:36px}.titem:last-child{padding-bottom:0}.titem:before{content:"";position:absolute;left:-28px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:3px solid var(--accent)}.titem .period{font-family:Consolas,monospace;font-size:.85rem;color:var(--accent);margin-bottom:4px}.titem h3{font-size:1.12rem}.titem .company{color:var(--text-dim);font-size:.95rem;margin-bottom:10px}.titem ul{list-style:none}.titem li{color:var(--text-dim);font-size:.95rem;padding-left:18px;position:relative;margin-bottom:6px}.titem li:before{content:"▸";position:absolute;left:0;color:var(--accent)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.project{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:transform .2s,border-color .2s}.project:hover{transform:translateY(-3px);border-color:var(--accent-2)}.project h3{font-size:1.08rem}.project p{color:var(--text-dim);font-size:.93rem;flex:1}.project .links{display:flex;gap:14px}.project .links a{color:var(--accent);text-decoration:none;font-size:.88rem}.project .links a:hover{text-decoration:underline}.contact-box{text-align:center;padding:20px 0 40px}.contact-box p{color:var(--text-dim);max-width:480px;margin:0 auto 28px}.contact-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}footer{border-top:1px solid var(--border);padding:26px 0;text-align:center;color:var(--text-dim);font-size:.85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#04070cb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:4vh 16px;animation:modal-fade .2s ease}.modal{position:relative;width:100%;max-width:840px;max-height:92vh;display:flex;flex-direction:column;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 80px #0000008c;animation:modal-pop .25s ease}.modal-close{position:absolute;top:12px;right:12px;z-index:1;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text-dim);font-size:1.5rem;line-height:1;cursor:pointer;transition:color .2s,border-color .2s}.modal-close:hover{color:var(--text);border-color:var(--accent)}.modal-status{color:var(--text-dim)}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:translateY(16px) scale(.98)}}.md-content{overflow-y:auto;padding:34px 40px 40px;line-height:1.7}.md-content h1{font-size:1.65rem;margin-bottom:16px;padding-right:44px}.md-content h2,.md-content h3{display:block;font-size:1.2rem;margin:26px 0 10px}.md-content h2:after{display:none}.md-content h3{font-size:1.05rem}.md-content p{color:var(--text-dim);margin-bottom:12px}.md-content strong{color:var(--text)}.md-content ul,.md-content ol{margin:0 0 12px 22px;color:var(--text-dim)}.md-content li{margin-bottom:6px}.md-content a{color:var(--accent)}.md-content img{display:block;max-width:100%;border-radius:10px;border:1px solid var(--border);margin:14px 0}.md-content img.md-badge{display:inline-block;border:none;border-radius:4px;margin:3px 8px 3px 0;vertical-align:middle}.md-content code{font-family:Consolas,monospace;font-size:.88em;background:#4f9cff1a;border-radius:6px;padding:2px 6px;color:#a8c8f0}.md-content pre{background:#0d1420;border:1px solid var(--border);border-radius:10px;padding:14px 16px;overflow-x:auto;margin-bottom:14px}.md-content pre code{background:none;padding:0}.md-content blockquote{border-left:3px solid var(--accent);padding-left:14px;margin:0 0 12px;color:var(--text-dim)}.md-content hr{border:none;border-top:1px solid var(--border);margin:22px 0}.md-content table{border-collapse:collapse;margin-bottom:14px;width:100%}.md-content th,.md-content td{border:1px solid var(--border);padding:8px 12px;text-align:left}.md-content th{color:var(--text)}.md-content td{color:var(--text-dim)}@media(max-width:600px){.md-content{padding:26px 20px 30px}}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}.reveal.on{opacity:1;transform:none}@media(max-width:760px){.hero-grid{grid-template-columns:1fr}.avatar{width:170px;height:170px;font-size:3rem;order:-1}.about-grid{grid-template-columns:1fr}.nav-links{display:none}}
