@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500;600;700&display=swap";:root{--background:#0d1117;--surface:#161b22;--text-primary:#f0f6fc;--text-secondary:#8b949e;--accent:#2f81f7;--border:#30363d;--font-title:"JetBrains Mono", monospace;--font-text:"Inter", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--background);min-width:320px;color:var(--text-primary);font-family:var(--font-text);margin:0;font-size:16px;line-height:1.6}h1,h2,h3{font-family:var(--font-title);color:var(--text-primary);margin-top:0}h1{font-size:40px}h2{font-size:28px}h3{font-size:20px}p{color:var(--text-secondary);margin-top:0}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:1000;background-color:var(--surface);color:var(--text-primary);border-radius:6px;padding:10px 14px;position:absolute;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,textarea{font:inherit}.header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px 48px;display:flex}.header__brand{font-family:var(--font-title)}.header__nav{justify-content:flex-end;gap:32px;display:flex}.header__nav a{color:var(--text-secondary);transition:color .2s}.header__nav a:hover{color:var(--text-primary)}.header__nav a.active{color:var(--accent)}@media (width<=1024px){.header{padding:24px 32px}.header__nav{gap:20px}.header__nav a{font-size:15px}}@media (width<=767px){.header{flex-direction:column;align-items:stretch;gap:16px;padding:20px 16px}.header__brand{font-size:14px}.header__nav{justify-content:space-between;gap:8px;width:100%;min-width:0}.header__nav a{white-space:nowrap;font-size:13px}}.hero{max-width:1200px;margin:0 auto;padding:120px 48px}.hero__intro{color:var(--text-secondary)}.hero__description{max-width:700px}.hero__actions{gap:16px;display:flex}.hero__action{border:1px solid var(--accent);border-radius:6px;padding:12px 20px;transition:color .2s,background-color .2s,transform .2s,filter .2s}.hero__action:hover{transform:translateY(-2px)}.hero__action--primary{background-color:var(--accent);color:var(--background)}.hero__action--primary:hover{filter:brightness(1.1)}.hero__action--secondary{color:var(--accent);background-color:#0000}.hero__action--secondary:hover{background-color:var(--accent);color:var(--background)}@media (width<=1024px){.hero{padding:96px 32px}}@media (width<=767px){.hero{overflow-wrap:break-word;padding:72px 20px}.hero h1{font-size:30px;line-height:1.25}.hero h2{font-size:24px}.hero p{font-size:16px}.hero__actions{flex-direction:column}.hero__action{text-align:center;width:100%}}.card{background-color:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.card:hover{border-color:var(--accent);transform:translateY(-4px)}.card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.card__image{object-fit:cover;width:100%;height:200px}.card__content{padding:24px}.card__content h3{color:var(--text-primary);margin-bottom:16px}.card__technologies{color:var(--text-secondary);flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.card__technologies li:not(:last-child):after{content:"·";color:var(--accent);margin-left:8px}.projects{max-width:1200px;margin:0 auto;padding:80px 48px}.projects>p{margin-bottom:40px}.projects__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.projects__grid>*{width:100%;min-width:0}@media (width<=1024px){.projects{padding-left:32px;padding-right:32px}.projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.projects{padding-left:20px;padding-right:20px}.projects__grid{grid-template-columns:minmax(0,1fr);gap:20px}}.skills{max-width:1200px;margin:0 auto;padding:80px 48px}.skills h2{margin-bottom:40px}.skills__grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.skills__grid>*{width:100%;min-width:0}.skills__card{background-color:var(--surface);border:1px solid var(--border);border-radius:6px;padding:24px;transition:border-color .2s}.skills__card:hover{border-color:var(--accent)}.skills__card h3{color:var(--text-primary)}.skills__card p{color:var(--text-secondary);margin-bottom:0}@media (width<=1024px){.skills{padding-left:32px;padding-right:32px}.skills__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.skills{padding-left:20px;padding-right:20px}.skills__grid{grid-template-columns:minmax(0,1fr);gap:20px}}.about{max-width:900px;margin:0 auto;padding:80px 48px}.about h1{color:var(--text-primary);margin-bottom:40px}.about p{color:var(--text-secondary);margin-bottom:24px}.about p:last-child{margin-bottom:0}@media (width<=1024px){.about{padding-left:32px;padding-right:32px}}@media (width<=767px){.about{overflow-wrap:break-word;padding:64px 20px}.about h1{margin-bottom:32px}.about p{margin-bottom:20px}}.experience{max-width:900px;margin:0 auto;padding:80px 48px}.experience>h1{margin-bottom:48px}.experience__timeline{padding-left:32px;position:relative}.experience__timeline:before{content:"";background-color:var(--border);width:1px;position:absolute;top:6px;bottom:0;left:6px}.experience__step{margin-bottom:48px;position:relative}.experience__step:before{content:"";background-color:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:-32px}.experience__step:last-child{margin-bottom:0}.experience__step h2{color:var(--text-primary);margin-bottom:12px}.experience__step p{color:var(--text-secondary);margin-bottom:0}@media (width<=1024px){.experience{padding-left:32px;padding-right:32px}}@media (width<=767px){.experience{overflow-wrap:break-word;padding:64px 20px}.experience>h1{margin-bottom:40px}.experience__timeline{padding-left:24px}.experience__timeline:before{top:5px;left:5px}.experience__step{min-width:0;margin-bottom:40px}.experience__step:before{width:10px;height:10px;top:5px;left:-24px}}.contact{max-width:800px;margin:0 auto;padding:80px 48px}.contact>p{margin-bottom:40px}.contact__form{flex-direction:column;gap:24px;display:flex}.contact__form>div{flex-direction:column;gap:8px;display:flex}.contact__form label{color:var(--text-primary)}.contact__form input,.contact__form textarea{border:1px solid var(--border);outline-offset:2px;background-color:var(--surface);width:100%;color:var(--text-primary);border-radius:6px;outline:2px solid #0000;padding:12px 14px;transition:border-color .2s,outline-color .2s}.contact__form input:focus,.contact__form textarea:focus{border-color:var(--accent);outline-color:var(--accent)}.contact__form textarea{resize:vertical}.contact__form button{border:1px solid var(--accent);background-color:var(--accent);color:var(--background);cursor:pointer;border-radius:6px;align-self:flex-start;padding:12px 20px;transition:transform .2s,filter .2s}.contact__form button:not(:disabled):hover{filter:brightness(1.1);transform:translateY(-2px)}.contact__form button:disabled{opacity:.65;cursor:not-allowed}.contact__status{border:1px solid var(--border);background-color:var(--surface);color:var(--text-primary);border-radius:6px;margin:0;padding:12px 14px}.contact__status--success,.contact__status--error{border-color:var(--accent)}.contact__links{border-top:1px solid var(--border);gap:24px;margin-top:40px;padding-top:24px;display:flex}.contact__links a{color:var(--accent);transition:color .2s}.contact__links a:hover{color:var(--text-primary)}.contact__links .contact__link--unavailable{color:var(--accent)}@media (width<=1024px){.contact{padding-left:32px;padding-right:32px}}@media (width<=767px){.contact{overflow-wrap:break-word;padding:64px 20px}.contact__form{min-width:0}.contact__form input,.contact__form textarea{min-width:0;max-width:100%}.contact__form button{align-self:stretch;width:100%}.contact__links{flex-wrap:wrap;gap:16px 24px}}.error-page{max-width:900px;margin:0 auto;padding:80px 48px}.error-page p{margin-bottom:24px}.error-page a{color:var(--accent);transition:color .2s}.error-page a:hover{color:var(--text-primary)}@media (width<=1024px){.error-page{padding-left:32px;padding-right:32px}}@media (width<=767px){.error-page{padding:64px 20px}}.project-details{max-width:1000px;margin:0 auto;padding:80px 48px}.project-details__back{color:var(--accent);transition:color .2s}.project-details__back:hover{color:var(--text-primary)}.project-details__header{margin:32px 0}.project-details__header h1{color:var(--text-primary);margin-bottom:12px}.project-details__header p{max-width:700px;color:var(--text-secondary);margin-bottom:0;font-size:20px}.project-details__image{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%;max-height:560px;display:block}.project-details__technologies{flex-wrap:wrap;gap:12px;margin:24px 0 0;padding:0;list-style:none;display:flex}.project-details__technologies li{border:1px solid var(--border);background-color:var(--surface);color:var(--text-secondary);border-radius:999px;padding:6px 12px}.project-details__content{gap:40px;margin-top:48px;display:grid}.project-details__content h2{color:var(--text-primary);margin-bottom:16px}.project-details__content p{color:var(--text-secondary);margin-bottom:0}.project-details__content ul{color:var(--text-secondary);gap:12px;margin:0;padding-left:24px;display:grid}.project-details__content ul li::marker{color:var(--accent)}.project-details__github{border:1px solid var(--accent);color:var(--accent);background-color:#0000;border-radius:6px;margin-top:48px;padding:12px 20px;transition:color .2s,background-color .2s,transform .2s;display:inline-flex}.project-details__github:hover{background-color:var(--accent);color:var(--text-primary);transform:translateY(-2px)}@media (width<=1024px){.project-details{padding-left:32px;padding-right:32px}}@media (width<=767px){.project-details{overflow-wrap:break-word;padding:64px 20px}.project-details__image{width:100%;height:auto;max-height:none}.project-details__technologies{flex-wrap:wrap}.project-details__technologies li{max-width:100%}.project-details__content{grid-template-columns:minmax(0,1fr);gap:32px;min-width:0}.project-details__github{text-align:center;justify-content:center;width:100%}}
