*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0d1117;--bg-elev: #161b22;--bg-elev2: #1f2630;--border: #2d333b;--text: #e6edf3;--text-dim: #9aa7b4;--accent: #56d364;--accent-dim: #3fb950;--amber: #d29922;--radius: 12px;--shadow: 0 8px 30px rgba(0,0,0,.35)}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(86,211,100,.02) 2px,rgba(86,211,100,.02) 4px);pointer-events:none;z-index:0}.mono{font-family:SF Mono,Fira Code,JetBrains Mono,Menlo,Consolas,monospace}.app-portfolio{position:relative;z-index:1;min-height:100vh;max-width:1000px;margin:0 auto;padding:0 24px 40px}.navbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0 18px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#0d1117d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100}.nav-brand{font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.nav-brand .prompt{color:var(--accent);font-weight:400}.lang-switch{display:flex;gap:4px;background:var(--bg-elev);border:1px solid var(--border);border-radius:20px;padding:3px}.lang-switch button{border:none;background:transparent;color:var(--text-dim);font-size:13px;padding:4px 12px;border-radius:16px;cursor:pointer;transition:all .15s}.lang-switch button.active{background:var(--accent);color:#0a0f14;font-weight:600}.lang-switch button:not(.active):hover{color:var(--text)}.hero{display:flex;gap:40px;align-items:center;padding:56px 0 48px;flex-wrap:wrap}.hero-avatar{width:140px;height:140px;border-radius:50%;object-fit:cover;border:3px solid var(--accent);box-shadow:0 0 0 6px #56d3641f,var(--shadow);flex-shrink:0}.hero-content{flex:1;min-width:260px}.hero-greeting{font-family:var(--mono, monospace);color:var(--accent);font-size:14px;margin-bottom:6px}.hero h1{font-size:42px;font-weight:700;letter-spacing:-.5px;margin-bottom:6px}.hero .role{font-size:19px;color:var(--text-dim);margin-bottom:16px}.hero .bio{color:var(--text-dim);max-width:560px;margin-bottom:22px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;border:1px solid var(--border)}.btn-primary{background:var(--accent);color:#0a0f14;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-dim);transform:translateY(-1px)}.btn-ghost{background:var(--bg-elev);color:var(--text)}.btn-ghost:hover{background:var(--bg-elev2);transform:translateY(-1px)}.section{padding:40px 0 8px}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:28px}.section-header .cmd{font-family:var(--mono, monospace);color:var(--accent);background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;padding:4px 12px;font-size:13px}.section-header h2{font-size:26px;font-weight:700;letter-spacing:-.3px}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:2px;background:var(--border)}.timeline-item{position:relative;padding:0 0 34px 20px}.timeline-item:before{content:"";position:absolute;left:-23px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:3px solid var(--bg);box-shadow:0 0 0 2px var(--accent)}.timeline-item h3{font-size:18px;font-weight:600;margin-bottom:2px}.timeline-item .period{font-family:var(--mono, monospace);font-size:13px;color:var(--amber);margin-bottom:10px}.timeline-item .desc{color:var(--text-dim);font-size:14.5px}.timeline-item .tech{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.chip{font-family:var(--mono, monospace);font-size:12px;color:var(--accent);background:#56d36414;border:1px solid rgba(86,211,100,.25);border-radius:4px;padding:3px 9px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.skill-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:16px;transition:all .15s}.skill-card:hover{background:var(--bg-elev2);border-color:var(--accent-dim);transform:translateY(-2px)}.skill-card .name{font-weight:600;font-size:15px;margin-bottom:4px;display:flex;justify-content:space-between;align-items:center}.skill-card .level{font-family:var(--mono, monospace);font-size:12px;color:var(--accent)}.skill-card .desc{font-size:13px;color:var(--text-dim)}.skill-bar{height:4px;border-radius:2px;background:var(--border);margin-top:10px;overflow:hidden}.skill-bar .fill{height:100%;background:var(--accent);border-radius:2px}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.service-card{display:flex;align-items:center;gap:12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:14px 16px;transition:all .15s}.service-card:hover{background:var(--bg-elev2)}.service-card .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.service-card .dot.up{background:var(--accent);box-shadow:0 0 8px var(--accent)}.service-card .dot.down{background:#f85149;box-shadow:0 0 8px #f85149}.service-card .sname{font-weight:600;font-size:14px}.service-card .surl{font-family:var(--mono, monospace);font-size:12px;color:var(--text-dim)}.terminal-widget{background:#0a0e12;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.terminal-titlebar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-elev);border-bottom:1px solid var(--border)}.terminal-titlebar .dot-close,.terminal-titlebar .dot-min,.terminal-titlebar .dot-max{width:12px;height:12px;border-radius:50%}.dot-close{background:#ff5f57}.dot-min{background:#febc2e}.dot-max{background:#28c840}.terminal-titlebar .title{margin-left:8px;font-family:var(--mono, monospace);font-size:13px;color:var(--text-dim)}.terminal-body{padding:16px;min-height:160px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:14px;color:var(--text-dim)}.term-line{margin-bottom:6px;white-space:pre-wrap;word-break:break-word}.term-line.input{color:var(--text)}.term-line .prompt{color:var(--accent)}.term-input-line{display:flex;align-items:center;margin-top:8px}.term-input-line .prompt{color:var(--accent);margin-right:8px}.term-input-line input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-family:inherit;font-size:14px;caret-color:var(--accent)}.edu-item{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;transition:all .15s}.edu-item:hover{background:var(--bg-elev2);border-color:var(--accent-dim)}.edu-item .school{font-weight:600}.edu-item .field{font-size:13px;color:var(--text-dim)}.edu-item .year{font-family:var(--mono, monospace);font-size:13px;color:var(--amber)}.footer{border-top:1px solid var(--border);margin-top:48px;padding:24px 0;text-align:center;color:var(--text-dim);font-size:14px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.footer a{color:var(--text-dim);text-decoration:none}.footer a:hover{color:var(--accent)}
