:root{--text:#e6ebff;--text-h:#fbfdff;--bg:#081022;--panel:#0e1424eb;--panel-strong:#121a30f5;--border:#ff545438;--muted:#d8b2b2;--accent:#ff5f5f;--accent-soft:#ff6f6f2e;--shadow:0 24px 90px #00000073;--shadow-soft:0 20px 65px #00000057;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{min-height:100vh;font:18px/1.6 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}#root{flex-direction:column;max-width:100%;min-height:100vh;margin:0 auto;display:flex}.portfolio-root{position:relative;overflow:hidden}.background-fx{pointer-events:none;z-index:-1;background:radial-gradient(circle at 10% 20%,#0c1828f5,#0000 35%),radial-gradient(circle at 90% 10%,#080c14fa,#0000 32%),radial-gradient(circle at 50% 90%,#0a101cfa,#0000 38%);position:fixed;inset:0;overflow:hidden}.code-rain-canvas{width:100%;height:100%;display:block}.code-rain{grid-template-columns:repeat(16,minmax(0,1fr));gap:10px;width:100%;height:100%;padding:18px 14px;display:grid}.code-rain-column{opacity:.7;min-height:100%;position:relative;overflow:hidden}.code-rain-strip{flex-direction:column;gap:6px;animation:14s linear infinite rain;display:flex}.code-rain-strip pre{color:#9fffa2f5;letter-spacing:.16em;mix-blend-mode:screen;text-shadow:0 0 12px #9fffa273;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.7rem;line-height:1.1}.code-rain-column.column-0 .code-rain-strip{animation-duration:12s;animation-delay:0s}.code-rain-column.column-1 .code-rain-strip{animation-duration:16s;animation-delay:.6s}.code-rain-column.column-2 .code-rain-strip{animation-duration:14s;animation-delay:.3s}.code-rain-column.column-3 .code-rain-strip{animation-duration:18s;animation-delay:1.1s}.code-rain-column.column-4 .code-rain-strip{animation-duration:15s;animation-delay:.8s}@keyframes rain{0%{opacity:0;transform:translateY(-100%)}15%{opacity:.22}50%{opacity:.54}to{opacity:0;transform:translateY(100%)}}.code-rain-column:nth-child(odd) pre{animation-duration:15s;animation-delay:0s}.code-rain-column:nth-child(2n) pre{animation-duration:12s;animation-delay:1.8s}.code-rain-column:nth-child(3n) pre{animation-duration:18s;animation-delay:1.1s}.code-rain-column:nth-child(4n) pre{animation-duration:13s;animation-delay:.35s}.code-rain-column:nth-child(5n) pre{animation-duration:17s;animation-delay:.9s}.site-nav{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#040a18f5;border-bottom:1px solid #28488a73;justify-content:space-between;align-items:center;gap:20px;padding:24px 32px;transition:background .3s,border-color .3s,padding .3s,box-shadow .3s;display:flex;position:sticky;top:0;box-shadow:inset 0 -1px #28488a47}.site-nav.solid{background:#030814f5;border-color:#2c54a899;box-shadow:inset 0 -1px #2c54a85c}.nav-brand{color:var(--text-h);flex-shrink:0;font-weight:700}.nav-links{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.nav-toggle{cursor:pointer;z-index:25;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;padding:6px;display:none}.nav-toggle span{background:var(--text-h);border-radius:2px;width:24px;height:2px;transition:transform .3s,opacity .3s;display:block}.nav-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-brand span,.nav-link,.theme-toggle{background:#040a18bf;border:1px solid #ff5f5fa6;box-shadow:0 0 0 1px #2c54a838}.nav-brand span{border-radius:999px;padding:8px 14px}.nav-link{color:var(--muted);border:1px solid #ff5f5f80;border-radius:999px;padding:10px 16px;font-weight:500;transition:color .2s,background .2s,border-color .2s,box-shadow .2s}.nav-link:hover,.nav-link:focus-visible{color:var(--text-h);background:#080e1cf5;border-color:#ff5f5f;outline:none;box-shadow:0 0 0 1px #2c54a847}.hero-section{grid-template-columns:1.3fr .9fr;align-items:center;gap:32px;padding:80px 32px 64px;display:grid}.hero-copy{text-align:left}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;align-items:center;gap:10px;margin-bottom:18px;font-size:.95rem;font-weight:700;display:inline-flex}.hero-copy h1{margin:0;font-size:clamp(3rem,3.5vw,4.5rem);line-height:.95}.hero-copy p{max-width:640px;color:var(--muted);margin:24px 0 0;font-size:1.05rem}.hero-actions{border:1px solid #ff484873;border-radius:26px;flex-wrap:wrap;gap:14px;margin-top:32px;padding:18px;display:flex}.hero-actions button{background:var(--accent);color:#fff;border:0;border-radius:999px;padding:14px 24px;font-weight:700;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:0 0 #6ea0ff00}.hero-actions button:hover,.hero-actions button:focus-visible{filter:drop-shadow(0 0 20px #5686ff80);transform:translateY(-2px);box-shadow:0 0 22px #5686ffe6,0 0 42px #5686ff47}.hero-actions button.secondary{color:var(--text-h);border:1px solid var(--border);background:0 0}.hero-actions button.secondary:hover,.hero-actions button.secondary:focus-visible{box-shadow:0 0 18px #6ea0ff66}.hero-actions button:hover{transform:translateY(-1px)}.hero-card{background:var(--panel-strong);box-shadow:var(--shadow-soft);border:1.5px solid #5686ff2e;border-radius:32px;align-items:flex-end;max-width:100%;min-height:320px;padding:36px;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;position:relative;overflow:hidden;background-position:top!important;background-size:cover!important}.terminal-card{background:var(--panel-strong)}.hero-card:hover,.hero-card:focus-within{border:2px solid #5686ff;transform:translateY(-2px);box-shadow:0 0 44px #5686ff6b}.hero-card-content{text-align:left}.hero-card-content .tag{color:var(--accent);margin-bottom:10px;font-weight:700;display:inline-flex}.hero-card-content h2{color:var(--text-h);margin:0 0 14px;font-size:1.75rem}.hero-card-content p{color:var(--muted);margin:0}.terminal-card{background:#0f1118;border-color:#2b2f42}.terminal-window{background:#090b10;border-radius:24px;width:100%;padding:28px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.terminal-line{color:#d7d7ff;overflow-wrap:break-word;word-wrap:break-word;white-space:pre-wrap;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;line-height:1.6}.prompt{color:#8ab4f8}.terminal-snippet{background:#090b10;border:1px solid #0000;border-radius:24px;max-width:980px;margin:0 auto;padding:28px;transition:border-color .25s,box-shadow .25s,transform .25s;box-shadow:inset 0 0 0 1px #ffffff0a}.terminal-snippet:hover,.terminal-snippet:focus-within{border:1px solid #5686ff;transform:translateY(-1px);box-shadow:0 0 40px #5686ff59,inset 0 0 0 1px #5686ff47}.terminal-snippet pre{color:#d7d7ff;white-space:pre-wrap;word-break:break-word;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.section-block{max-width:100%;padding:80px 32px;overflow:hidden}.section-alt{background:var(--panel);background-position:50%!important;background-repeat:no-repeat!important;background-size:cover!important}.section-heading{text-align:center;max-width:760px;margin:0 auto 40px}.section-label{color:#ff5f5f;letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:700;display:inline-flex}.section-heading h2{margin:0;font-size:clamp(2rem,2.5vw,2.6rem)}.about-grid,.skill-grid,.timeline,.project-grid,.contact-grid{gap:24px;display:grid}.about-grid{text-align:left;border-radius:28px;grid-template-columns:1.5fr 1fr;max-width:980px;margin:0 auto;overflow:hidden;background-position:50%!important;background-repeat:no-repeat!important;background-size:cover!important}.about-grid p{color:var(--muted)}.about-highlights{gap:18px;display:grid}.about-highlights div{background:var(--panel-strong);text-align:left;border:1.5px solid #5686ff2e;border-radius:22px;padding:22px 24px;transition:transform .25s,box-shadow .25s,border-color .25s}.about-highlights div:hover,.about-highlights div:focus-within{border:2px solid #5686fff2;transform:translateY(-2px);box-shadow:0 0 34px #5686ff52}.about-highlights strong{color:var(--text-h);margin-bottom:6px;font-size:1.1rem;display:block}.about-highlights span{color:var(--muted)}.contact-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.contact-button{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;padding:14px 24px;font-weight:700;text-decoration:none;display:inline-flex}.contact-button.secondary{color:var(--text-h);border:1px solid var(--border);background:0 0}.contact-button:hover,.contact-button:focus-visible{opacity:.95;transform:translateY(-1px);box-shadow:0 0 28px #5686ffa6,inset 0 0 14px #5686ff47}.hero-actions button:hover,.hero-actions button:focus-visible{transform:translateY(-2px);box-shadow:0 0 28px #ff5f5fbf,inset 0 0 20px #ff5f5f52}.contact-button{transition:transform .2s,box-shadow .2s,opacity .2s}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1080px;margin:0 auto}.skill-card{text-align:left;background:#080e1cc7;border:1px solid #5686ff33;border-radius:22px;padding:22px 22px 20px;transition:transform .25s,box-shadow .25s,border-color .25s;box-shadow:inset 0 1px #ffffff0a}.skill-card:hover,.skill-card:focus-within{border-color:#5686ff99;transform:translateY(-2px);box-shadow:0 0 28px #5686ff3d,inset 0 1px #ffffff0d}.skill-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.skill-card-name{color:var(--text-h);font-size:1rem;font-weight:600}.skill-card-level{color:#8ddcff;letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95rem}.skill-progress-track{background:#ffffff12;border-radius:999px;height:10px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.skill-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#4fc3ff 0%,#38e0b1 100%);width:0;height:100%;transition:width 1s cubic-bezier(.22,1,.36,1);box-shadow:0 0 18px #38e0b13d}.timeline{max-width:820px;margin:0 auto}.timeline-item{background:var(--panel-strong);text-align:left;border:1.5px solid #5686ff2e;border-radius:24px;padding:26px 28px;transition:transform .25s,box-shadow .25s,border-color .25s}.timeline-item:hover,.timeline-item:focus-within{border:2px solid #5686fff2;transform:translateY(-2px);box-shadow:0 0 38px #5686ff52}.timeline-item+.timeline-item{margin-top:18px}.timeline-item-header{flex-wrap:wrap;justify-content:space-between;gap:14px;margin-bottom:12px;display:flex}.timeline-item-header p{color:var(--accent);margin:0;font-weight:700}.timeline-item-header h3{color:var(--text-h);margin:0}.timeline-item p{color:var(--muted);margin:0}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1080px;margin:0 auto}.project-card{background:var(--panel-strong);text-align:left;border:1.5px solid #5686ff2e;border-radius:28px;padding:28px;transition:transform .25s,box-shadow .25s,border-color .25s}.project-card:hover,.project-card:focus-within{border:2px solid #5686fff2;transform:translateY(-3px);box-shadow:0 0 38px #5686ff52}.project-card h3{color:var(--text-h);margin:0 0 12px}.project-card p{color:var(--muted);margin:0}.education-card,.contact-card{background:var(--panel-strong);text-align:left;border:1.5px solid #5686ff2e;border-radius:28px;padding:28px;transition:transform .25s,box-shadow .25s,border-color .25s}.education-card:hover,.education-card:focus-within,.contact-card:hover,.contact-card:focus-within{border:2px solid #5686fff2;transform:translateY(-2px);box-shadow:0 0 34px #5686ff52}.education-card p,.contact-card p{color:var(--muted);margin:0 0 10px}.education-card strong,.contact-card strong{color:var(--text-h);margin-bottom:6px;display:block}.contact-grid{grid-template-columns:1.3fr .9fr;max-width:980px;margin:0 auto}.contact-grid p{color:var(--muted)}.site-footer{text-align:center;color:var(--muted);padding:28px 32px 48px}@media (width<=1024px){.hero-section{grid-template-columns:1fr;gap:24px;padding:72px 24px 48px}.hero-card{min-height:260px}.about-grid{grid-template-columns:1fr}.skill-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}.contact-grid{grid-template-columns:1fr}.section-block{padding:64px 24px}.site-nav{padding:16px 24px}.terminal-window{padding:22px}}@media (width<=768px){.site-nav{flex-wrap:wrap;padding:14px 20px}.nav-toggle{display:flex}.nav-links{border-top:1px solid #28488a59;flex-direction:column;align-items:stretch;gap:6px;width:100%;padding-top:12px;display:none}.nav-links.open{display:flex}.nav-link{text-align:center;width:100%;padding:10px 14px}.nav-brand span{padding:6px 12px}.hero-section{padding:56px 20px 36px}.hero-copy h1{font-size:clamp(2rem,6vw,3rem)}.hero-copy p{font-size:.95rem}.hero-card{min-height:220px;padding:24px}.hero-actions{gap:10px;padding:14px}.hero-actions button{padding:12px 20px;font-size:.9rem}.section-block{padding:52px 20px}.section-heading{margin-bottom:28px}.section-heading h2{font-size:clamp(1.6rem,4vw,2.2rem)}.skill-grid,.project-grid{grid-template-columns:1fr;max-width:100%}.terminal-window{padding:18px}.terminal-line{font-size:.85rem}.terminal-snippet{border-radius:20px;padding:22px}.terminal-snippet pre{font-size:.85rem}.contact-actions{flex-direction:column}.contact-button{justify-content:center;width:100%}.education-card,.project-card,.contact-card{padding:22px}.timeline-item{padding:20px}.site-footer{padding:24px 20px 36px}}@media (width<=480px){.hero-section{padding:48px 16px 28px}.hero-copy h1{font-size:clamp(1.8rem,8vw,2.5rem)}.hero-copy p{font-size:.9rem;line-height:1.5}.eyebrow{letter-spacing:.1em;font-size:.8rem}.hero-card{border-radius:22px;min-height:200px;padding:18px}.hero-actions{border-radius:18px;flex-direction:column;gap:8px;padding:12px}.hero-actions button{justify-content:center;width:100%;padding:12px 16px}.section-block{padding:40px 16px}.section-heading{margin-bottom:22px}.section-heading h2{font-size:clamp(1.4rem,5vw,1.8rem)}.section-label{margin-bottom:10px;font-size:.75rem}.terminal-window{border-radius:16px;padding:14px}.terminal-line{word-break:break-all;font-size:.7rem;line-height:1.5}.terminal-card{border-radius:22px}.terminal-snippet{border-radius:16px;padding:16px}.terminal-snippet pre{font-size:.72rem;line-height:1.5}.contact-actions{gap:8px;margin-top:16px}.contact-button{padding:12px 18px;font-size:.9rem}.education-card,.project-card,.contact-card{border-radius:20px;padding:18px}.project-card h3{font-size:1rem}.timeline-item{border-radius:18px;padding:16px}.timeline-item-header{gap:8px}.site-footer{padding:20px 16px 28px}.site-footer p{font-size:.85rem}.nav-brand span{padding:5px 10px;font-size:.9rem}}@media (prefers-color-scheme:dark){:root{--text:#d6d4db;--text-h:#f8f8fb;--bg:#0f1118;--panel:#181b25;--panel-strong:#1f2230;--border:#2b2f42;--muted:#a9a5b1;--accent:#c084fc;--accent-soft:#c084fc29;--shadow:0 24px 100px #02030c59;--shadow-soft:0 20px 60px #00000047}body{background:radial-gradient(circle at 0 0,#242634 0%,#11141f 45%,#0f1118 100%)}}
