*,:before,:after{box-sizing:border-box}html{box-sizing:border-box;scroll-behavior:smooth;overflow-x:clip}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}body{min-width:320px;min-height:100vh;margin:0;padding:70px 0 0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;overflow-x:clip}img,svg{max-width:100%}section{scroll-margin-top:82px}@media (width<=820px){body{padding-top:108px}section{scroll-margin-top:116px}}.about{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(420px,1fr) minmax(320px,.8fr);align-items:center;gap:clamp(14px,2vh,28px) clamp(24px,3vw,60px);width:min(92vw,1800px);min-height:calc(100svh - 70px);margin:0 auto;padding:clamp(20px,3vh,42px) clamp(24px,3vw,60px);display:grid}.about__content{flex-direction:column;align-items:flex-start;gap:clamp(18px,1.5vw,28px);min-width:0;display:flex}.about__header{align-items:center;gap:clamp(12px,1.5vw,20px);display:flex}.about__header-icon{flex-shrink:0;justify-content:center;align-items:center;width:clamp(42px,7vw,100px);height:clamp(42px,7vw,100px);font-size:clamp(24px,2vw,34px);display:flex}.about__heading{color:#201d44;margin:0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(1.6rem,2vw,2.5rem)}.about__subtitle{color:#8b70e8;margin:8px 0 0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.75rem,.8vw,1rem)}.about__description{color:#201d44;max-width:700px;margin:0;font-size:clamp(.88rem,.95vw,1.15rem);font-weight:700;line-height:1.5}.about__image-wrap{justify-content:flex-start;align-items:flex-end;min-width:0;display:flex}.about__image{object-fit:contain;width:min(100%,clamp(420px,34vw,680px));max-width:100%;height:auto;max-height:min(56svh,620px);image-rendering:pixelated}.about__cards{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.2vw,24px);width:100%;display:grid}.about__card{text-align:center;background:#ffffff05;border:2px solid #2f245814;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:clamp(8px,.8vw,14px);min-height:clamp(86px,10vh,130px);padding:clamp(12px,1.2vw,22px);display:flex}.about__card-icon{flex-shrink:0;width:clamp(32px,4vw,58px);height:clamp(32px,4vw,58px)}.about__card-title{color:#201d44;font-size:clamp(.9rem,1vw,1.2rem);font-weight:600}.about__card-sub{color:#201d44;opacity:.95;font-size:clamp(.82rem,.9vw,1.1rem);line-height:1.5}@media (width<=980px){.about{grid-template-rows:auto;grid-template-columns:1fr;gap:40px;width:100%;min-height:auto;padding:40px 24px}.about__image-wrap{justify-content:center;align-items:center}.about__image{width:min(100%,600px)}}@media (width<=768px){.about{gap:24px;padding:32px 16px}.about__image{width:min(100%,480px)}.about__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (height<=760px) and (width>980px){.about__content{gap:14px}.about__description{font-size:.86rem;line-height:1.42}.about__image{max-height:50svh}.about__card{min-height:82px;padding:12px}.about__card-icon{width:32px;height:32px}}@media (width<=640px){.about__cards{grid-template-columns:repeat(2,1fr)}}@media (width<=420px){.about__cards{grid-template-columns:1fr}.about__header{align-items:flex-start}}.contact{flex-direction:column;width:min(92vw,1800px);min-height:calc(100svh - 70px);margin:0 auto;padding:clamp(20px,3vh,42px) clamp(24px,3vw,60px);display:flex}.contact__header{align-items:center;gap:clamp(12px,1.5vw,20px);display:flex}.contact__header-icon{flex-shrink:0;justify-content:center;align-items:center;width:clamp(42px,7vw,100px);height:clamp(42px,7vw,100px);font-size:clamp(24px,2vw,34px);display:flex}.contact__heading{color:#201d44;margin:0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(1.6rem,2vw,2.5rem)}.contact__subtitle{color:#8b70e8;margin:8px 0 0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.75rem,.8vw,1rem)}.contact__content{flex:1;justify-content:center;align-items:center;gap:clamp(28px,4vw,64px);min-height:0;display:flex}.contact__form-wrapper{aspect-ratio:446/560;flex-shrink:0;width:min(100%,560px,min(62svh,560px)/1.25561);position:relative}.contact__frame{object-fit:fill;width:100%;height:100%;display:block}.contact__form{flex-direction:column;min-height:0;display:flex;position:absolute;inset:12% 10% 8%}.contact__form-content{flex-direction:column;flex:1;gap:clamp(6px,1vh,10px);min-height:0;display:flex}.contact__form label{flex-direction:column;gap:clamp(4px,.7vh,8px);min-width:0;margin:0;display:flex}.contact__form label span{font-size:clamp(13px,1.5vw,18px);font-weight:600}.contact__form label:last-of-type{flex:auto;min-height:0}.contact__form input:not([type=file]),.contact__form textarea{box-sizing:border-box;color:#201d44;width:100%;font:inherit;background:#fff;border:1px solid #d7d2ea;border-radius:8px;padding:clamp(7px,.9vh,10px) 12px;transition:all .2s}.contact__form input:not([type=file]):focus,.contact__form textarea:focus{border-color:#8f73ff;outline:none}.contact__form textarea{resize:none;flex:auto;height:100%;min-height:56px}.contact__form .pixel-button{flex-shrink:0;width:min(100%,200px);margin-top:4px;padding:10px 16px;font-size:12px}.contact__honeypot{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.contact__file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.contact__attach{flex-direction:column;flex-shrink:0;gap:6px;min-width:0;display:flex}.contact__attach-trigger{box-sizing:border-box;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d7d2ea;border-radius:8px;align-items:center;gap:8px;margin:0;padding:clamp(7px,.9vh,10px) 12px;transition:all .2s;display:inline-flex}.contact__attach-trigger svg{flex-shrink:0}.contact__attach-trigger:hover,.contact__attach-trigger:focus{border-color:#8f73ff;outline:none}.contact__attach-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.contact__attach-file{background:#fff;border:1px solid #d7d2ea;border-radius:8px;align-items:center;gap:6px;max-width:100%;padding:4px 8px;font-size:12px;display:inline-flex}.contact__attach-file span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contact__attach-file button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;margin:0;padding:0;line-height:1}.contact__status{background:#fff;border:1px solid #d7d2ea;border-radius:8px;margin:0;padding:4px 8px;font-size:12px}.contact__image{aspect-ratio:393/560;object-fit:contain;background:#f4f0ff;flex-shrink:0;width:min(36vw,520px,min(62svh,560px)/1.42494);height:auto;display:block}.contact__socials{flex-direction:column;gap:20px;padding-top:clamp(14px,2vh,28px);display:flex}.contact__socials h3{color:#201d44;margin:0;font-size:22px}.contact__links{gap:20px;display:flex}.contact__links a{color:#2d2d54;background:#fff;border:1px solid #d7d2ea;border-radius:8px;justify-content:center;align-items:center;width:72px;height:72px;transition:all .2s;display:flex}.contact__links a:hover{border-color:#8f73ff;transform:translateY(-3px)}.contact__links a img,.contact__links a svg{width:28px;height:28px}.contact__links a svg text{text-transform:none;font-family:Arial,Helvetica,sans-serif}@media (width<=900px){.contact{width:100%;min-height:auto;padding:40px 24px}.contact__content{flex-direction:column;gap:32px;margin-top:24px}.contact__form-wrapper{width:min(100%,520px,min(58svh,520px)/1.25561)}.contact__image{width:min(100%,320px);margin:0 auto}.contact__links{flex-wrap:wrap}}@media (height<=760px) and (width>900px){.contact__form-wrapper{width:min(100%,520px,min(54svh,520px)/1.25561)}.contact__image{width:min(36vw,520px,37.8964svh)}.contact__form label{gap:6px}.contact__form label span{font-size:15px}.contact__form input:not([type=file]),.contact__form textarea{padding:10px 12px}.contact__form textarea{min-height:92px}.contact__socials{gap:12px;padding-top:12px}.contact__socials h3{font-size:18px}.contact__links a{width:52px;height:52px}}@media (width<=640px){.contact{padding:32px 16px}.contact__form-wrapper{aspect-ratio:auto;width:min(100%,420px)}.contact__frame{display:none}.contact__form{color:#201d44;background:#faf9ff;border:2px solid #2f24581f;border-radius:8px;width:100%;max-height:none;padding:20px;position:static;inset:auto;overflow:visible;transform:none}.contact__form label span{text-shadow:none}.contact__form textarea{height:auto;min-height:96px}.contact__form .pixel-button{padding:14px 28px;font-size:15px}.contact__form-content{flex-direction:column;gap:16px;display:flex}.contact__socials{padding-top:36px}.contact__links{gap:12px}.contact__links a{width:56px;height:56px}}.pixel-button{color:#231942;text-transform:lowercase;cursor:pointer;-webkit-user-select:none;user-select:none;background:#caa6ff;border:2px solid #2d2346;justify-content:center;align-items:center;gap:10px;width:200px;margin-top:15px;padding:14px 28px;font-family:"Press Start 2P",monospace;font-size:15px;text-decoration:none;display:inline-flex;position:relative;box-shadow:inset 2px 2px #e9d7ff,inset -2px -2px #9f76dc,4px 4px #2d2346}.pixel-button__icon{width:16px;height:12px;display:block}.pixel-button:hover{background:#d1afff;box-shadow:inset 2px 2px #f0e2ff,inset -2px -2px #b894ff,4px 6px #2d2346}.pixel-button:active{transform:translateY(2px);box-shadow:inset -2px -2px #e9d7ff,inset 2px 2px #9f76dc,2px 2px #2d2346}.pixel-button:disabled,.pixel-button--disabled{opacity:.6;cursor:not-allowed;transform:none}.pixel-button:disabled:hover,.pixel-button:disabled:active,.pixel-button--disabled:hover,.pixel-button--disabled:active{background:#caa6ff;transform:none;box-shadow:inset 2px 2px #e9d7ff,inset -2px -2px #9f76dc,4px 4px #2d2346}.experience{flex-direction:column;gap:clamp(16px,2vh,28px);width:min(92vw,1800px);margin:0 auto;padding:clamp(20px,3vh,42px) clamp(24px,3vw,60px);display:flex}.experience__header{align-items:center;gap:clamp(12px,1.5vw,20px);display:flex}.experience__icon-header{flex-shrink:0;width:clamp(42px,7vw,100px);height:clamp(42px,7vw,100px)}.experience__heading{color:#201d44;margin:0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(1.6rem,2vw,2.5rem)}.experience__subtitle{color:#8b70e8;margin:8px 0 0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.75rem,.8vw,1rem)}.experience__hero{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);align-items:stretch;gap:clamp(16px,2vw,26px);display:grid}.experience__intro{flex-direction:column;gap:clamp(14px,1.5vh,22px);display:flex}.experience__description{color:#201d44;margin:0;font-size:clamp(.88rem,.95vw,1.1rem);font-weight:700;line-height:1.5}.experience__company{background:#fff;border:2px solid #2f24581f;border-radius:10px;flex-direction:column;gap:clamp(12px,1.2vw,16px);padding:clamp(14px,1.2vw,20px);display:flex;position:relative}.experience__company-top{align-items:flex-start;gap:clamp(12px,1.2vw,18px);display:flex}.experience__company-icon{color:#fff;background:#ff6a00;border-radius:10px;flex-shrink:0;place-items:center;width:clamp(56px,6vw,86px);height:clamp(56px,6vw,86px);font-size:clamp(22px,2.4vw,34px);font-weight:700;display:grid}.experience__company-content{min-width:0}.experience__company-title{color:#201d44;margin:0;font-size:clamp(1.1rem,1.2vw,1.35rem);font-weight:700}.experience__company-role{color:#8b70e8;margin:6px 0 0;font-size:clamp(.78rem,.82vw,.95rem);font-weight:600}.experience__company-badges{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.experience__company-badge{color:#201d44;background:#8b70e814;border:1.5px solid #2f245829;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:clamp(.72rem,.75vw,.86rem);font-weight:600;display:inline-flex}.experience__company-badge-icon{flex-shrink:0;width:14px;height:14px}.experience__company-divider{background-image:repeating-linear-gradient(90deg,#2f245838 0 4px,#0000 4px 8px);height:1px}.experience__company-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1vw,16px);display:grid}.experience__company-detail{align-items:flex-start;gap:8px;min-width:0;display:flex}.experience__company-detail-icon{flex-shrink:0;width:clamp(18px,1.4vw,24px);height:clamp(18px,1.4vw,24px)}.experience__company-detail-label{color:#201d44;margin:0;font-size:clamp(.72rem,.75vw,.86rem);font-weight:700}.experience__company-detail-value{color:#201d44;opacity:.95;margin:4px 0 0;font-size:clamp(.72rem,.75vw,.86rem);line-height:1.35}.experience__company-cat{pointer-events:none;width:clamp(34px,3vw,48px);height:clamp(34px,3vw,48px);position:absolute;bottom:-10px;right:-8px}.experience__image-wrap{aspect-ratio:1100/548;background:#f4f0ff;border:2px solid #2f24581f;border-radius:10px;justify-content:center;align-items:center;display:flex;overflow:hidden}.experience__image{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}.experience__details{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(14px,1.2vw,20px);display:grid}.experience__block{background:#ffffff05;border:2px solid #2f24581f;border-radius:10px;min-width:0;padding:clamp(14px,1.2vw,20px)}.experience__block-title{color:#201d44;align-items:center;gap:8px;margin:0;font-size:clamp(.96rem,1vw,1.2rem);display:inline-flex}.experience__block-title--plain{display:block}.experience__block-subtitle{color:#8b70e8;margin:6px 0 0;font-size:clamp(.72rem,.75vw,.86rem)}.experience__block-header{align-items:center;gap:8px;display:flex}.experience__icon{flex-shrink:0;width:clamp(18px,2vw,30px);height:clamp(18px,2vw,30px)}.experience__list{flex-direction:column;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.experience__list-item{color:#201d44;padding-left:18px;font-size:clamp(.78rem,.82vw,.95rem);line-height:1.45;position:relative}.experience__list-item:before{content:">";color:#8b70e8;font-weight:700;position:absolute;top:0;left:0}.experience__achievements{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.experience__achievement-card{background:#fff;border:1.5px solid #2f24581f;border-radius:8px;flex-direction:column;gap:6px;min-height:84px;padding:8px;display:flex}.experience__achievement-icon{flex-shrink:0;width:clamp(22px,1.8vw,30px);height:clamp(22px,1.8vw,30px)}.experience__achievement-title{color:#201d44;margin:0;font-size:clamp(.72rem,.78vw,.88rem);font-weight:700}.experience__achievement-subtitle{color:#201d44;opacity:.95;margin:0;font-size:clamp(.64rem,.68vw,.78rem);line-height:1.4}.experience__stack{flex-direction:column;gap:12px;margin-top:14px;display:flex}.experience__stack-group{flex-direction:column;gap:8px;display:flex}.experience__stack-group-title{color:#201d44;margin:0;font-size:clamp(.72rem,.75vw,.86rem);font-weight:700}.experience__stack-items{flex-wrap:wrap;gap:8px;display:flex}.experience__stack-item{color:#201d44;background:#fff;border:1.5px solid #2f24581f;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:clamp(.68rem,.72vw,.82rem);font-weight:600;display:inline-flex}.experience__stack-item-icon{object-fit:contain;flex-shrink:0;width:16px;height:16px}@media (width<=1120px){.experience__hero{grid-template-columns:1fr}.experience__company-details,.experience__achievements{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.experience{width:100%;min-height:auto;padding:40px 24px}}@media (width<=768px){.experience{padding:32px 16px}.experience__details{grid-template-columns:1fr}.experience__achievements{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.experience{padding:32px 12px}.experience__company-top{flex-direction:column;align-items:flex-start}.experience__company-details,.experience__achievements{grid-template-columns:1fr}}.footer__bar{color:#f5f2ff;background:linear-gradient(#3d3a66 0%,#2f2d59 100%);border:1px solid #4f4b7a;border-radius:4px;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:12px 20px;display:flex;box-shadow:0 2px 10px #201d4433}.footer__text{white-space:nowrap;align-items:center;gap:10px;margin:0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.78rem,.92vw,1rem);display:flex}.footer__brand{font-weight:700}.footer__divider{color:#bfb8e4}.footer__meta{white-space:nowrap;align-items:center;gap:10px;font-size:clamp(.84rem,.9vw,1rem);display:inline-flex}.footer__code{color:#cfc9ef;font-weight:700}.footer__battery{border:1.5px solid #b9f2cf;border-radius:2px;align-items:center;width:28px;height:12px;padding:1.5px;display:inline-flex;position:relative}.footer__battery:after{content:"";background:#b9f2cf;border-radius:1px;width:2px;height:4px;position:absolute;top:3px;right:-4px}.footer__battery-fill{background:linear-gradient(90deg,#7dd8a6 0%,#aef3c9 100%);border-radius:1px;width:100%;height:100%}.footer__hearts{color:#ff7ea8;gap:3px;font-size:clamp(.82rem,.88vw,.95rem);line-height:1;display:inline-flex}@media (width<=900px){.footer__bar{flex-direction:column;align-items:flex-start}.footer__text{white-space:normal;flex-wrap:wrap;gap:8px}}@media (width<=480px){.footer__bar{padding:14px 12px}.footer__meta{display:none}}.hero-screen{flex-direction:column;height:calc(100svh - 70px);max-height:calc(100svh - 70px);display:flex}.hero{flex:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(16px,3vw,64px);width:100%;min-height:0;margin:0;padding:clamp(12px,2vh,32px) 0 0 clamp(24px,5vw,80px);display:grid;position:relative}.hero__background{pointer-events:none;z-index:0;position:absolute;inset:0}.hero__content,.hero__image-wrap{z-index:1;position:relative}.hero__decoration{color:#8b70e8;opacity:.6;top:var(--top);left:var(--left);animation:float var(--duration) ease-in-out infinite;animation-delay:var(--delay);font-family:JetBrains Mono,monospace;font-size:18px;font-weight:600;position:absolute}@media (prefers-reduced-motion:reduce){.hero__decoration{animation:none}}@keyframes hero-cursor-blink{50%{opacity:0}}@keyframes float{0%{transform:translate(0)rotate(0)}25%{transform:translate(4px,-6px)rotate(-2deg)}50%{transform:translate(-3px,-12px)rotate(2deg)}75%{transform:translate(2px,-5px)rotate(-1deg)}to{transform:translate(0)rotate(0)}}.hero__content{z-index:2;flex-direction:column;align-self:center;gap:clamp(10px,1.6vh,20px);min-width:0;max-width:560px;margin-left:clamp(0px,7vw,180px);display:flex}.hero__hero{color:#8b70e8;margin:0;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.05}.hero__title{color:#201d44;margin:0;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:600}.hero__title-cursor{margin-left:.15em;animation:1s step-end infinite hero-cursor-blink;display:inline-block}@media (prefers-reduced-motion:reduce){.hero__title-cursor{animation:none}}.hero__subtitle{color:#201d44;margin:0;font-size:1.3rem}.hero__description{color:#201d44;max-width:520px;margin:0;font-size:1.2rem;line-height:1.6}.hero__image-wrap{aspect-ratio:900/685;justify-content:flex-end;place-self:end;align-items:flex-end;width:min(100%,62vw,900px);min-width:0;max-height:100%;display:flex}.hero__image{object-fit:contain;object-position:right bottom;width:100%;height:100%}.hero__code-strip{color:#e8ddff;background:linear-gradient(#2d294d,#211d3d);border-top:2px solid #2b254f;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:18px;width:100%;padding:clamp(12px,2vh,24px) 32px;display:flex}.hero__code-strip pre{white-space:pre-wrap;margin:0;font-size:.9rem;line-height:1.6}.hero__code-strip .hero-status{color:#bdf4e8;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:6px;font-size:.9rem;display:flex}.hero__code-strip .hero-status__row{color:inherit;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.hero__code-strip .hero-status__row:hover{color:#fff}.hero__code-strip .hero-status__row:focus-visible{outline-offset:3px;outline:2px solid #bdf4e8}.hero__code-strip .hero-status__tz{color:#cbb8f0;padding-left:20px;font-size:.78rem}.hero__code-strip .hero-status-dot{background-color:#bdf4e8;border-radius:50%;width:10px;height:10px;display:inline-block}@media (width<=820px){.hero-screen{height:calc(100svh - 108px);max-height:calc(100svh - 108px)}}@media (width<=768px){.hero{text-align:center;grid-template-rows:1fr;grid-template-columns:1fr;place-items:center;gap:0;padding:16px 16px 0}.hero__content{align-items:center;max-width:620px;margin-left:0}.hero__image-wrap{display:none}.hero__decoration{opacity:.2;font-size:14px}.hero__code-strip{flex-direction:column;align-items:flex-start;padding:16px}.hero__code-strip pre{font-size:.76rem}.hero__code-strip .hero-status{align-items:flex-start}.hero__code-strip .hero-status__tz{padding-left:20px}}@media (width<=480px){.hero{padding-top:12px}.hero__subtitle,.hero__description{font-size:1rem}.hero__code-strip pre{font-size:.68rem}.hero__code-strip .hero-status{font-size:.78rem}}.header{color:#3f3474;z-index:1000;background:#fff;border-bottom:1px solid #e1dac9;justify-content:space-between;align-items:center;height:70px;padding:0 18px;font-weight:800;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 20px #201d440a}.header__logo{white-space:nowrap;font-size:16px}.header__nav{align-items:center;gap:28px;font-size:14px;display:flex}.header__nav a{color:#3f3474;text-decoration:none}.header__nav a:hover{color:#785ef0}.header__lang-toggle{cursor:pointer;color:#3f3474;white-space:nowrap;background:0 0;border:1.5px solid #3f3474;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:800;transition:border-color .2s,color .2s;display:flex}.header__lang-toggle:hover{color:#785ef0;border-color:#785ef0}.header__lang-toggle-option{opacity:.4;transition:opacity .2s}.header__lang-toggle-option--active{opacity:1;color:#785ef0}.header__lang-toggle-divider{opacity:.3}.header--logo-only{z-index:auto;flex-shrink:0;width:100%;position:relative}@media (width<=820px){.header{grid-template-columns:1fr auto;grid-template-areas:"logo lang""nav nav";gap:10px 16px;height:auto;min-height:70px;padding:12px 18px;display:grid}.header__logo{grid-area:logo;align-self:center}.header__lang-toggle{grid-area:lang;padding:3px 8px;font-size:11px}.header__nav{scrollbar-width:none;grid-area:nav;justify-content:space-between;gap:10px;width:100%;padding-bottom:2px;font-size:13px;overflow-x:auto}.header__nav::-webkit-scrollbar{display:none}.header--logo-only{gap:0;height:70px;min-height:70px;padding:0 18px;display:flex}}@media (width<=480px){.header{padding:10px 14px}.header__logo{font-size:14px}.header__nav{justify-content:flex-start;gap:12px;font-size:12px}.header--logo-only{height:70px;padding:0 14px}}.loader{z-index:2000;background:#fff;flex-direction:column;align-items:stretch;transition:opacity .4s;display:flex;position:fixed;inset:0}.loader--leaving{opacity:0}.loader__sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loader__stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.loader__scene{aspect-ratio:1;width:min(280px,70vw);max-height:100%;position:relative}.loader__character{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .2s;display:block}.loader[data-character=ready] .loader__character{opacity:1}.loader__z,.loader__eyes,.loader__spark{opacity:0}.loader__z{color:#8b70e8;font-family:ui-monospace,consolas,monospace;font-weight:700;line-height:1;transition:opacity .2s,transform .45s;position:absolute}.loader__z--one{font-size:clamp(28px,5vw,40px);top:10%;left:64%}.loader__z--two{font-size:clamp(18px,3vw,26px);top:2%;left:76%}.loader[data-character=ready][data-stage=sleep1] .loader__z--one,.loader[data-character=ready][data-stage=sleep2] .loader__z--one,.loader[data-character=ready][data-stage=sleep2] .loader__z--two{opacity:1}.loader[data-stage=sleep2] .loader__z--one{transform:translateY(-8px)}.loader[data-stage=sleep2] .loader__z--two{transform:translateY(-14px)}.loader__eyes{pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.loader__eye{background:#783a21;border-radius:45%;position:absolute}.loader__eye:after{content:"";background:#1c0a1a;border-radius:999px;height:18%;position:absolute;top:42%;left:8%;right:8%}.loader__eye:first-child{width:8%;height:7%;top:36%;left:37%}.loader__eye:last-child{width:8.5%;height:7%;top:35%;left:52%}.loader[data-character=ready][data-stage=idle] .loader__eyes,.loader[data-character=ready][data-stage=sleep1] .loader__eyes,.loader[data-character=ready][data-stage=sleep2] .loader__eyes{opacity:1}.loader__sparkles{pointer-events:none;position:absolute;inset:0}.loader__spark{color:#8b70e8;font-size:clamp(16px,3vw,22px);line-height:1;transition:opacity .25s;position:absolute}.loader__spark:first-child{top:14%;left:18%}.loader__spark:nth-child(2){top:12%;left:74%}.loader__spark:nth-child(3){bottom:22%;left:16%}.loader__spark:nth-child(4){bottom:20%;right:16%}.loader[data-character=ready][data-stage=sparkle] .loader__spark{opacity:1}@media (prefers-reduced-motion:reduce){.loader,.loader__character{transition:none}.loader__z,.loader__eyes,.loader__spark{display:none}}.projects{flex-direction:column;width:min(92vw,1800px);margin:0 auto;padding:clamp(20px,3vh,42px) clamp(24px,3vw,60px);display:flex}.projects__header{align-items:center;gap:clamp(12px,1.5vw,20px);margin-bottom:clamp(16px,2vh,28px);display:flex}.projects__header-icon{flex-shrink:0;width:clamp(42px,7vw,100px);height:clamp(42px,7vw,100px)}.projects__heading{color:#201d44;margin:0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(1.6rem,2vw,2.5rem)}.projects__subtitle{color:#8b70e8;margin:8px 0 0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.75rem,.8vw,1rem)}.projects__filters{flex-wrap:wrap;gap:clamp(10px,1vw,16px);margin-bottom:clamp(16px,2vh,28px);display:flex}.projects__filter{color:#201d44;cursor:pointer;background:#faf9f2;border:2px solid #2f245826;border-radius:999px;padding:clamp(8px,.8vw,12px) clamp(18px,1.8vw,28px);font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.75rem,.85vw,.95rem);font-weight:600;transition:background .2s,color .2s,border-color .2s}.projects__filter:hover{border-color:#2f24584d}.projects__filter--active{color:#fff;background:#8b70e8;border-color:#8b70e8}.projects__grid{grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.5vw,24px);display:grid}.projects__footer{justify-content:center;margin-top:clamp(18px,2vh,32px);display:flex}.projects__github-link{color:#8b70e8;align-items:center;gap:clamp(8px,.8vw,12px);font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.85rem,.95vw,1.05rem);font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.projects__github-link:hover{opacity:.75}.projects__github-icon{filter:invert();opacity:.85;width:clamp(20px,1.8vw,26px);height:clamp(20px,1.8vw,26px)}.project-card{background:#ffffff05;border:2px solid #2f24581f;border-radius:10px;min-width:0;display:flex;overflow:hidden}.project-card__image-wrap{background:#f4f0ff;border-right:2px solid #2f245814;flex:0 0 clamp(140px,22vw,260px);justify-content:center;align-items:center;padding:clamp(10px,1vw,16px);display:flex;position:relative;overflow:hidden}.project-card__image-wrap--screenshot{align-items:stretch;padding:0}.project-card__image{object-fit:cover;object-position:top center;width:100%;height:100%;min-height:clamp(90px,14vh,160px)}.project-card__image--illustration{object-fit:contain;height:auto;max-height:clamp(90px,14vh,160px);image-rendering:pixelated}.project-card__banner{z-index:1;letter-spacing:.02em;color:#fff;background:#8b70e8;border-radius:6px;padding:5px 10px;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.62rem,.7vw,.75rem);font-weight:700;position:absolute;top:10px;left:10px;box-shadow:0 2px 8px #2f24582e}.project-card__content{flex-direction:column;flex:1;gap:clamp(8px,1vh,12px);min-width:0;padding:clamp(12px,1.2vw,20px);display:flex}.project-card__title{color:#201d44;margin:0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(1rem,1.2vw,1.35rem);font-weight:700}.project-card__description{color:#201d44;opacity:.9;margin:0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.78rem,.85vw,.95rem);line-height:1.45}.project-card__tags{flex-wrap:wrap;gap:clamp(6px,.6vw,10px);margin-top:auto;display:flex}.project-card__tag{border:1.5px solid #2f24581f;border-radius:6px;padding:clamp(4px,.4vw,6px) clamp(10px,.9vw,14px);font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.65rem,.7vw,.8rem);font-weight:600}.project-card__tag--react{color:#1a5a6b;background:#d4f4f8}.project-card__tag--typescript{color:#1a4a7a;background:#d6e8f7}.project-card__tag--next{color:#2d2d4a;background:#e4e4f0}.project-card__tag--vite{color:#6b3d10;background:#fde8cc}.project-card__tag--mobx{color:#6b2d5a;background:#f5d6eb}.project-card__links{flex-wrap:wrap;justify-content:flex-end;gap:clamp(10px,1vw,16px);margin-top:clamp(4px,.5vw,8px);display:flex}.project-card__link{color:#8b70e8;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.78rem,.85vw,.95rem);font-weight:600;text-decoration:none;transition:opacity .2s}.project-card__link:hover{opacity:.75}@media (width<=980px){.projects{width:100%;min-height:auto;padding:40px 24px}.projects__grid{gap:20px}}@media (height<=760px) and (width>980px){.projects__header,.projects__filters{margin-bottom:14px}.projects__footer{margin-top:16px}.project-card__image{min-height:110px}.project-card__image--illustration{max-height:110px}.project-card__description{font-size:.72rem;line-height:1.35}}@media (width<=768px){.projects{padding:32px 16px}.projects__header{margin-bottom:24px}.projects__filters{scrollbar-width:none;flex-wrap:nowrap;margin-bottom:28px;padding-bottom:4px;overflow-x:auto}.projects__filters::-webkit-scrollbar{display:none}.projects__grid{grid-template-columns:1fr}.project-card{flex-direction:column}.project-card__image-wrap{border-bottom:2px solid #2f245814;border-right:none;flex:none}.project-card__image{min-height:clamp(160px,40vw,240px)}.project-card__image--illustration{min-height:0;max-height:clamp(160px,40vw,240px)}}@media (width<=480px){.projects{padding-left:12px;padding-right:12px}.projects__filter{flex:none;padding:8px 16px;font-size:.72rem}.projects__footer{margin-top:32px}.project-card__content{padding:16px}.project-card__links{justify-content:flex-start}}.skills{flex-direction:column;width:min(92vw,1800px);min-height:calc(100svh - 70px);margin:0 auto;padding:clamp(20px,3vh,42px) clamp(8px,1vw,16px);display:flex}.skills__header{align-items:center;gap:clamp(12px,1.5vw,20px);margin-bottom:clamp(18px,2.5vh,36px);display:flex}.skills__header-icon{flex-shrink:0;justify-content:center;align-items:center;width:clamp(42px,7vw,100px);height:clamp(42px,7vw,100px);font-size:clamp(24px,2vw,34px);display:flex}.skills__heading{color:#201d44;margin:0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(1.6rem,2vw,2.5rem)}.skills__subtitle{color:#8b70e8;margin:8px 0 0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.75rem,.8vw,1rem)}.skills__groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);display:grid}.skills__group{background:#fff;border:2px solid #2f24581f;border-radius:10px;width:100%;min-width:0;padding:clamp(14px,1.4vw,22px);box-shadow:2px 2px #8b70e814}.skills__group--wide{grid-column:1/-1}.skills__body{min-width:0;position:relative}.skills__body.is-engaged .skill-card:not(.is-active),.skills__body:hover .skill-card:not(:hover,.is-active){opacity:.45}.skills__fit{visibility:hidden;pointer-events:none;flex-wrap:nowrap;gap:clamp(8px,.8vw,12px);display:flex;position:absolute;inset:0;overflow:hidden}.skills__group-index{color:#8b70e8;margin:0 0 4px;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.68rem,.72vw,.82rem)}.skills__group-title{color:#201d44;margin:0 0 clamp(12px,1.2vh,16px);font-size:clamp(1rem,1.2vw,1.4rem);font-weight:600}.skills__track{flex-wrap:wrap;gap:clamp(8px,.8vw,12px);display:flex}.skills__learning{display:contents}.skills__terminal{z-index:2;color:#eee8ff;background:linear-gradient(135deg,#393466,#2c2854);border:2px solid #29244c;border-radius:6px;flex-direction:column;justify-content:center;width:100%;min-height:clamp(104px,14vh,150px);margin-top:5vw;padding:clamp(20px,2vw,32px) clamp(120px,12vw,220px) clamp(20px,2vw,32px) clamp(24px,2.5vw,40px);display:flex;position:sticky;bottom:0;box-shadow:inset 2px 2px #ffffff14,3px 3px #2d234626}.skills__terminal p{margin:0;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.7rem,.8vw,1rem);line-height:1.8}.skills__terminal p:not(:last-of-type){margin-bottom:6px}.skills__terminal-live{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skills__terminal-cursor{animation:1s step-end infinite terminal-blink;position:absolute;bottom:clamp(12px,1vw,20px);right:clamp(20px,2vw,32px)}.skills__V{z-index:2;width:clamp(100px,9vw,160px);height:auto;position:absolute;bottom:calc(100% - 40px);right:clamp(24px,4vw,70px)}.skill-card{appearance:none;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#f7f5ff;border:1.5px solid #2f24581a;border-radius:8px;flex-direction:row;flex:none;align-items:center;gap:10px;margin:0;padding:8px 12px;transition:transform .2s,border-color .2s,box-shadow .2s,opacity .2s;display:flex}.skill-card:hover,.skill-card.is-active{border-color:#8b70e8;transform:translateY(-4px);box-shadow:0 6px 16px #8b70e838}.skill-card:hover .skill-card__icon,.skill-card:hover .skill-card__badge,.skill-card.is-active .skill-card__icon,.skill-card.is-active .skill-card__badge{transform:scale(1.12)}.skill-card:focus-visible{outline-offset:2px;outline:2px solid #785ef0}.skill-card__icon{object-fit:contain;flex-shrink:0;width:28px;height:28px;transition:transform .2s}.skill-card__badge{color:#fff;letter-spacing:.02em;text-transform:none;white-space:nowrap;background:#8b70e8;border-radius:6px;flex-shrink:0;place-items:center;min-width:28px;height:28px;padding:0 4px;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:.52rem;font-weight:800;transition:transform .2s;display:grid}.skill-card__name{color:#201d44;text-align:left;font-family:Fira Code,Fira Code Fallback,ui-monospace,Consolas,monospace;font-size:clamp(.72rem,.75vw,.88rem);font-weight:600;line-height:1.2}@keyframes terminal-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.skill-card,.skill-card__icon,.skill-card__badge{transition:none}}@media (width<=980px){.skills{width:100%;min-height:auto;padding:clamp(50px,6vw,70px) 24px}.skills__groups{grid-template-columns:1fr}.skills__group--wide{grid-column:auto}.skills__terminal{min-height:140px;margin-top:100px;padding:24px 150px 24px 24px}.skills__V{width:120px;bottom:calc(100% - 22px);right:30px}}@media (height<=760px) and (width>980px){.skills__groups{gap:12px}.skills__terminal{min-height:96px;margin-top:22px;padding-top:16px;padding-bottom:16px}}@media (width<=768px){.skills{padding:32px 16px}.skills__header{margin-bottom:36px}.skills__terminal{min-height:130px;margin-top:90px;padding:20px 110px 20px 20px}.skills__terminal p{font-size:.7rem;line-height:1.7}.skills__V{width:95px;bottom:calc(100% - 18px);right:20px}}@media (width<=480px){.skills{padding:32px 12px}.skills__terminal{min-height:150px;margin-top:75px;padding:20px 16px}.skills__terminal p{max-width:100%;font-size:.65rem;line-height:1.8}.skills__terminal-cursor{bottom:10px;right:16px}.skills__V{width:75px;bottom:calc(100% - 14px);right:14px}.skill-card__name{font-size:.68rem}}.skill-carousel{scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:auto;touch-action:pan-y;-webkit-user-select:none;user-select:none;margin-block:-16px -22px;padding-block:16px 22px;overflow:auto hidden}.skill-carousel::-webkit-scrollbar{display:none}.skill-carousel__track{width:max-content;display:flex}.skill-carousel__set{flex:none;gap:10px;padding-right:10px;display:flex}.skill-carousel .skill-card{white-space:nowrap}.skill-carousel .skill-card>*{pointer-events:none}.skill-carousel.is-dragging,.skill-carousel.is-dragging .skill-card{cursor:grabbing}.skill-carousel--inline{min-width:0;margin:0;padding-block:10px 14px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 36px calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#0000,#000 36px calc(100% - 36px),#0000)}@media (width<=768px){.skill-carousel{margin-inline:-16px;padding-inline:16px}}@media (width<=480px){.skill-carousel{margin-inline:-12px;padding-inline:12px}}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-cyrillic-400-normal-UC0NFL4U.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-latin-400-normal-DGosTW8U.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code Fallback;src:local(Cascadia Mono),local(Consolas),local(Courier New);size-adjust:102.4%;ascent-override:96.68%;descent-override:31.45%;line-gap-override:0%}
