@import"https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}html,body{scrollbar-gutter:stable both-edges;font-family:Manrope,sans-serif}.page{max-width:1200px;margin:0 auto;padding:32px 20px 80px}.top-actions{position:relative;height:60px}.top-actions__row{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:8px}.top-actions__row .hero__blog-btn,.top-actions__row .blog__home-btn{position:static}.section{margin-bottom:0;text-align:left}.section h2{margin:0 0 16px;font-size:24px;text-align:left}.hero{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:center;margin-bottom:16px;text-align:left}.hero__avatar .avatar{width:200px;height:200px;border-radius:18px;box-shadow:0 10px 30px #00000040}.hero__content h1{margin:0 0 8px;font-size:32px}.hero__content p{margin:0;color:#b8c0cc}.two-column-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:48px}.left-column,.right-column{display:flex;flex-direction:column;gap:32px;text-align:left}.spec-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-start}.spec-button{background:#1a1a1a;border:1px solid #333;color:inherit;padding:10px 16px;border-radius:10px}.spec-button.active{border-color:#646cff;box-shadow:0 0 0 3px #646cff33}.primary-button{display:inline-block;background:#646cff;color:#fff;text-decoration:none;padding:12px 18px;border-radius:12px}.primary-button:hover{background:#747bff}.secondary-button{border:1px solid #333;background:#1a1a1a;color:inherit;padding:8px 12px;border-radius:10px;cursor:pointer}.icon-button{background:transparent;border:none;color:inherit;font-size:18px;cursor:pointer}.hero__blog-btn,.blog__home-btn{position:absolute;top:0;right:0;width:60px;height:60px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:#646cff}.hero__blog-btn{top:-8px}.hero__blog-btn svg,.blog__home-btn svg{width:32px;height:32px}.blog__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(520px,1fr));gap:20px}.card{border:1px solid #333;border-radius:16px;background:#111;overflow:hidden}.card--wide{display:grid;grid-template-columns:240px 1fr;gap:0}.card__media img{width:100%;height:100%;object-fit:cover;display:block}.card__content{padding:18px 20px}.card__content h3{margin:0 0 10px;font-size:20px}.card__content p{margin:0 0 14px;color:#b8c0cc}.card__actions{display:flex;gap:12px;align-items:center}.link{color:#61dafb}.contacts__buttons{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}.contact-button{display:inline-flex;align-items:center;gap:12px;padding:14px 24px;border-radius:12px;text-decoration:none;font-size:16px;font-weight:500;transition:all .3s ease}.contact-button svg{width:24px;height:24px;flex-shrink:0}.contact-button--email{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.contact-button--email:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.contact-button--telegram{background:linear-gradient(135deg,#08c,#229ed9);color:#fff}.contact-button--telegram:hover{background:linear-gradient(135deg,#229ed9,#08c);transform:translateY(-2px);box-shadow:0 8px 20px #229ed966}.modal{position:fixed;inset:0;display:grid;place-items:center;z-index:1000}.modal__backdrop{position:absolute;inset:0;background:#0009}.modal__dialog{position:relative;width:min(1100px,92vw);height:min(92vh,1000px);background:#0c0c0c;border:1px solid #333;border-radius:12px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #222}.modal__body{position:relative;height:100%;overflow:hidden}.pdf-viewer{height:100%;display:grid;grid-template-rows:auto 1fr}.pdf-toolbar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #222;background:#0c0c0c;position:sticky;top:0;z-index:1}.pdf-toolbar .spacer{flex:1}.pdf-toolbar .secondary-button{height:36px}.pdf-toolbar .secondary-button.active{border-color:#646cff;box-shadow:0 0 0 2px #646cff33}.pdf-scale{opacity:.8}.pdf-pages{overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:12px;height:100%;align-items:flex-start}.pdf-page{background:#0b0b0b;border:1px solid #222;border-radius:8px;padding:8px;display:flex}.pdf-page canvas{display:block}@media (max-width: 1024px){.hero{grid-template-columns:160px 1fr}.hero__avatar .avatar{width:160px;height:160px}.blog__grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}.card--wide{grid-template-columns:200px 1fr}.two-column-layout{gap:30px}}@media (max-width: 860px){.card--wide{grid-template-columns:1fr}.blog__grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.two-column-layout{grid-template-columns:1fr;gap:32px}}@media (max-width: 720px){.hero{grid-template-columns:1fr;text-align:center}.skills-section h2{text-align:center}.hero__avatar{display:flex;justify-content:center}.hero__blog-btn{top:-12px}.top-actions__row{gap:6px}.card--wide{grid-template-columns:1fr}.two-column-layout{grid-template-columns:1fr;gap:32px}.contacts__buttons{justify-content:center}}@media (max-width: 520px){.page{padding:20px 12px 60px}.contacts__buttons{flex-direction:column;align-items:center}.contact-button{width:80%;justify-content:center}.hero__content h1{font-size:26px}.blog__grid{grid-template-columns:1fr}.card__content{padding:14px}.pdf-toolbar{gap:6px;padding:6px 8px}.pdf-pages{padding:8px;gap:8px}.modal__dialog{width:96vw;height:88vh}}@media (max-width: 450px){.hero{grid-template-columns:1fr;text-align:center}.hero__avatar{display:flex;justify-content:center}.hero__content h1{font-size:24px}.hero__content h3{margin-bottom:12px}}.home-page,.home-page .hero,.home-page .two-column-layout{text-align:left}.home-page .blog{margin-bottom:48px}.home-page .specializations,.home-page .resume,.home-page .blog,.home-page .contacts,.home-page .timeline-section{text-align:left}@media (max-width: 720px){.home-page,.home-page .hero,.home-page .hero__content h1,.home-page .hero__content h3,.home-page .hero__content p,.home-page .specializations,.home-page .resume,.home-page .blog,.home-page .contacts,.home-page .timeline-section,.home-page .blog h2,.home-page .contacts h2,.home-page .specializations h2,.home-page .resume h2,.home-page .timeline-container h2{text-align:center}.home-page .spec-buttons{justify-content:center}.home-page .resume>div{display:flex;justify-content:center}}@media (max-width: 450px){.home-page .hero{text-align:center}.home-page .hero__content h1{font-size:24px}.home-page .hero__content h3{margin-bottom:12px}}.timeline-container{width:100%}.timeline-container h2{margin-bottom:16px;font-size:24px;color:#fff}.timeline{border-left:4px solid #646cff;border-bottom-right-radius:4px;border-top-right-radius:4px;background:#ffffff08;color:#fffc;margin:0;letter-spacing:.5px;position:relative;line-height:1.4em;font-size:1.03em;padding:50px;list-style:none;text-align:left;font-weight:300}.timeline h3{letter-spacing:1.5px;font-weight:400;font-size:1.4em;margin:0 0 10px}.timeline .event{border-bottom:1px dashed rgba(255,255,255,.1);padding-bottom:25px;margin-bottom:50px;position:relative}.timeline .event:last-of-type{padding-bottom:0;margin-bottom:0;border:none}.timeline .event:before,.timeline .event:after{position:absolute;display:block;top:0}.timeline .event:before{left:-200px;color:#fff6;content:attr(data-date);text-align:right;font-weight:300;font-size:.9em;min-width:120px}.timeline .event:after{box-shadow:0 0 0 4px #646cff;left:-61.5px;background:#1a1a1a;border-radius:50%;height:11px;width:11px;content:"";top:5px}.timeline p{margin:0;font-weight:300;line-height:1.6}@media only screen and (max-width: 1170px){.timeline{margin-left:0;padding:20px 20px 20px 30px}.timeline .event{padding-top:30px}.timeline .event:before{left:0;text-align:left;top:0;min-width:auto;font-size:.75em;color:#646cff;font-weight:400}.timeline .event:after{left:-35.5px;height:9px;width:9px}.timeline h3{font-size:1.2em;margin-top:8px}}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:16px;padding:12px 0;max-width:calc(100% - 80px)}.skill-icon{display:flex;align-items:center;justify-content:center;padding:12px;background:#ffffff08;border:1px solid #333;border-radius:12px;transition:all .2s ease;aspect-ratio:1;position:relative;max-width:96px}.skill-icon:hover{background:#ffffff0f;border-color:#646cff;transform:translateY(-2px)}.skill-icon img{width:100%;height:100%;max-width:64px;max-height:64px;object-fit:contain;display:block}.skill-icon-text{font-size:20px;font-weight:600;color:#fff9;text-align:center;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 720px){.skills-grid{grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:12px;max-width:100%}.skill-icon{padding:8px;max-width:80px}.skill-icon img{max-width:48px;max-height:48px}.skill-icon-text{font-size:16px}}@media (max-width: 480px){.skills-grid{grid-template-columns:repeat(auto-fit,minmax(50px,1fr));gap:8px}.skill-icon{padding:6px;max-width:70px}.skill-icon img{max-width:40px;max-height:40px}.skill-icon-text{font-size:14px}}.blog-page,.blog-page .section h1,.blog-page .section p{text-align:left}.blog-page .section h1{margin-bottom:16px!important}.blog-page .blog h2,.blog-page .card__content,.blog-page .card-summary{text-align:left}.blog-page .from-home-message{opacity:.8}.blog-page .tag-filter-container{margin-bottom:12px;opacity:.85}.blog-page .tag-filter-label{margin-right:8px}.blog-page .tag-link{margin-right:8px;margin-bottom:6px;padding:4px 8px;border:1px solid rgba(255,255,255,.3);border-radius:4px;display:inline-block;color:inherit;text-decoration:none;transition:all .2s ease}.blog-page .tag-link:hover{background-color:#ffffff0d}.blog-page .card-summary{margin-bottom:6px}.blog-page .card-meta{font-size:12px;opacity:.8;margin:6px 0 10px}.blog-page .card-tags{margin-bottom:8px;display:flex;flex-wrap:wrap;gap:4px}.blog-page .card-tag{font-weight:700;font-size:12px;margin-right:8px}.blog-page .read-button{display:inline-block;text-decoration:none;text-align:center;transition:all .2s ease;cursor:pointer;padding:6px 12px;font-size:16px}.blog-page .read-button:hover{background-color:#2a2a2a;border-color:#646cff}@media (max-width: 720px){.blog-page,.blog-page .section h1{text-align:center}.blog-page .section>p{text-align:center}.blog-page .blog h2{text-align:center}.blog-page .card__content,.blog-page .card__content p,.blog-page .card-summary{text-align:left}.blog-page .tag-filter-container{text-align:center}}.blog-post-page,.blog-post-page .section{text-align:left}.blog-post-page .post-title{margin:0}.blog-post-page .post-meta{font-size:14px;opacity:.8;margin-top:6px}.blog-post-page .post-tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.blog-post-page .post-tag{font-weight:700;font-size:12px;margin-right:12px}.blog-post-page .pdf-button-container{margin-top:16px;margin-bottom:8px}.blog-post-page .pdf-button{padding:6px 12px;font-size:14px}.blog-post-page .post-content{margin-top:16px}.blog-post-page .back-button{display:inline-block;text-decoration:none;text-align:center;transition:all .2s ease;cursor:pointer;padding:6px 12px;font-size:16px}.blog-post-page .back-button:hover{background-color:#2a2a2a;border-color:#646cff}.blog-post-page .error-message{margin-top:16px}@media (max-width: 720px){.blog-post-page .section h1,.blog-post-page .post-meta{text-align:center}.blog-post-page .post-tags{justify-content:center}.blog-post-page .pdf-button-container{text-align:center}.blog-post-page .section p,.blog-post-page .section ul,.blog-post-page .section ol,.blog-post-page .section blockquote{text-align:left}}
