:root{--bg: #0a0e1a;--bg-elev: #111726;--bg-card: #151c2e;--text: #e6e9f0;--text-dim: #94a0b8;--accent: #6366f1;--accent-2: #22d3ee;--border: #1f2940;--radius: 14px;--maxw: 980px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,box-shadow .3s,backdrop-filter .3s}.nav--scrolled{background:#0a0e1acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--border)}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:64px}.nav__brand{font-weight:800;font-size:1.25rem;letter-spacing:-.02em}.nav__brand span{color:var(--accent)}.nav__links{display:flex;gap:28px}.nav__links a{color:var(--text-dim);font-size:.95rem;transition:color .2s}.nav__links a:hover{color:var(--accent-2)}.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}.nav__toggle span{width:24px;height:2px;background:var(--text);border-radius:2px}.hero{min-height:100vh;display:flex;align-items:center;background:radial-gradient(60% 50% at 20% 10%,rgba(99,102,241,.18),transparent),radial-gradient(50% 50% at 90% 30%,rgba(34,211,238,.12),transparent)}.hero__inner{padding-top:64px}.hero__eyebrow{color:var(--accent-2);font-family:monospace;margin-bottom:14px}.hero__name{font-size:clamp(2.6rem,8vw,4.8rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}.hero__role{font-size:clamp(1.6rem,5vw,3rem);font-weight:700;color:var(--text-dim);letter-spacing:-.02em;margin-bottom:20px}.hero__tagline{font-size:1.15rem;color:var(--text-dim);max-width:540px;margin-bottom:32px}.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}.hero__socials{display:flex;gap:22px}.hero__socials a{color:var(--text-dim);font-size:.92rem;transition:color .2s}.hero__socials a:hover{color:var(--accent)}.btn{display:inline-block;padding:12px 22px;border-radius:10px;font-weight:600;font-size:.95rem;transition:transform .15s,background .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:#4f52e0}.btn--ghost{border:1px solid var(--border);color:var(--text)}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.section{padding:96px 0}.section__title{font-size:1.8rem;font-weight:700;margin-bottom:36px;letter-spacing:-.02em}.section__title span{color:var(--accent);font-family:monospace}.about__text p{color:var(--text-dim);margin-bottom:16px;max-width:680px}.about__meta{color:var(--text)!important;font-weight:500}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.skills__group{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.skills__group h3{font-size:1.05rem;margin-bottom:14px;color:var(--accent-2)}.skills__group ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.skills__group li{background:var(--bg-elev);border:1px solid var(--border);padding:6px 12px;border-radius:8px;font-size:.85rem;color:var(--text-dim)}.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-6px);border-color:var(--accent)}.card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card__icon{font-family:monospace;color:var(--accent);font-size:1.4rem}.card__links{display:flex;gap:14px}.card__links a{color:var(--text-dim);font-size:.85rem;transition:color .2s}.card__links a:hover{color:var(--accent-2)}.card__title{font-size:1.2rem;margin-bottom:10px}.card__desc{color:var(--text-dim);font-size:.92rem;flex-grow:1;margin-bottom:16px}.card__tech{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.card__tech li{font-family:monospace;font-size:.78rem;color:var(--accent-2)}.timeline{border-left:2px solid var(--border);margin-left:8px}.timeline__item{position:relative;padding:0 0 36px 28px}.timeline__item:last-child{padding-bottom:0}.timeline__dot{position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--accent)}.timeline__body h3{font-size:1.1rem}.timeline__company{color:var(--accent);font-weight:600}.timeline__period{color:var(--text-dim);font-size:.85rem;font-family:monospace;margin-bottom:10px}.timeline__body ul{list-style:none}.timeline__body li{color:var(--text-dim);font-size:.92rem;padding-left:18px;position:relative;margin-bottom:6px}.timeline__body li:before{content:"▸";position:absolute;left:0;color:var(--accent)}.contact{text-align:center;max-width:520px;margin:0 auto}.contact p{color:var(--text-dim);margin-bottom:24px}.contact__socials{display:flex;justify-content:center;gap:24px;margin-top:28px}.contact__socials a{color:var(--text-dim);transition:color .2s}.contact__socials a:hover{color:var(--accent)}.footer{border-top:1px solid var(--border);padding:28px 0;text-align:center}.footer p{color:var(--text-dim);font-size:.85rem}.chat-fab{position:fixed;bottom:24px;right:24px;z-index:60;width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;background:var(--accent);color:#fff;font-size:1.5rem;box-shadow:0 8px 24px #6366f173;transition:transform .2s,background .2s}.chat-fab:hover{transform:scale(1.06)}.chat-fab--open{background:var(--bg-elev);font-size:1.8rem;line-height:1}.chat-panel{position:fixed;bottom:92px;right:24px;z-index:60;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 130px));display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 16px 48px #00000080;animation:chat-in .2s ease}@keyframes chat-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-card);border-bottom:1px solid var(--border)}.chat-header strong{display:block;font-size:.98rem}.chat-header__sub{color:var(--text-dim);font-size:.72rem}.chat-close{background:none;border:0;color:var(--text-dim);font-size:1.4rem;cursor:pointer;line-height:1}.chat-close:hover{color:var(--text)}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-msg{max-width:85%;padding:10px 14px;border-radius:14px;font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.chat-msg--assistant{align-self:flex-start;background:var(--bg-card);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-msg--user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-typing{letter-spacing:2px;color:var(--text-dim);animation:chat-blink 1.2s infinite}@keyframes chat-blink{0%,to{opacity:.3}50%{opacity:1}}.chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}.chat-suggestions button{background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);font-size:.78rem;padding:7px 11px;border-radius:16px;cursor:pointer;transition:border-color .2s,color .2s}.chat-suggestions button:hover{border-color:var(--accent);color:var(--text)}.chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border)}.chat-input textarea{flex:1;resize:none;background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.9rem;max-height:110px}.chat-input textarea:focus{outline:none;border-color:var(--accent)}.chat-input button{background:var(--accent);color:#fff;border:0;border-radius:10px;padding:0 16px;font-weight:600;cursor:pointer;transition:background .2s}.chat-input button:hover:not(:disabled){background:#4f52e0}.chat-input button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:720px){.nav__toggle{display:flex}.nav__links{position:absolute;top:64px;right:0;left:0;flex-direction:column;gap:0;background:var(--bg-elev);border-bottom:1px solid var(--border);max-height:0;overflow:hidden;transition:max-height .3s}.nav__links.is-open{max-height:320px}.nav__links a{padding:16px 24px;border-top:1px solid var(--border)}.section{padding:72px 0}}
