:root{color-scheme:dark}
.pref-controls{display:flex;align-items:center;gap:7px;margin-left:0}.lang-switch{display:flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.lang-btn,.theme-toggle{appearance:none;border:0;cursor:pointer;color:var(--muted);background:transparent;font:inherit;font-size:10px;font-weight:800;letter-spacing:.05em}.lang-btn{min-width:32px;height:30px;padding:0 7px;border-radius:7px}.lang-btn.is-active{background:var(--text);color:var(--bg)}.theme-toggle{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.theme-toggle:hover,.lang-btn:hover{color:var(--text)}.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-prefs{display:none;padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px;align-items:center;justify-content:space-between;gap:10px}.mobile-prefs-label{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.mobile-prefs .pref-controls{display:flex}.navin>.pref-controls{margin-left:auto}.navin>.pref-controls+.nav-cta{margin-left:0}

html[data-theme="light"]{color-scheme:light;--bg:#f5f6f8;--panel:#ffffff;--panel-2:#f1f3f6;--panel-3:#eceff3;--text:#111318;--muted:#646c77;--muted-2:#7a828d;--line:#dfe3e8;--line-strong:#c9cfd7;--accent:#e23b51;--green:#1c9b58}html[data-theme="light"] body{background:var(--bg);color:var(--text)}html[data-theme="light"] .nav{background:rgba(245,246,248,.88);border-bottom-color:rgba(17,19,24,.08)}html[data-theme="light"] .brand img,html[data-theme="light"] .profile img{border-color:var(--line)}html[data-theme="light"] .links{color:#59616c}html[data-theme="light"] .links a:hover,html[data-theme="light"] .links a.is-active{color:#111318}html[data-theme="light"] .links a::after{background:#111318}html[data-theme="light"] .nav-cta,html[data-theme="light"] .btn-primary,html[data-theme="light"] .project-actions .primary{background:#111318;color:#fff;border-color:#111318}html[data-theme="light"] .menu{background:#fff;color:#111318}html[data-theme="light"] .hero::before{background:radial-gradient(700px 360px at 15% 20%,rgba(17,19,24,.035),transparent 70%)}html[data-theme="light"] .lead-main{color:#1b1e24}html[data-theme="light"] .profile{background:linear-gradient(180deg,#fff,#fafbfc);box-shadow:0 24px 70px rgba(32,38,48,.08)}html[data-theme="light"] .profile-meta{background:var(--line)}html[data-theme="light"] .profile-meta div{background:#f7f8fa}html[data-theme="light"] .profile-meta b{color:#2b3037}html[data-theme="light"] .project{background:linear-gradient(180deg,#fff,#fafbfc)}html[data-theme="light"] #about{background:#f0f2f5}html[data-theme="light"] .about-card,html[data-theme="light"] .tech{background:#fff}html[data-theme="light"] .project p,html[data-theme="light"] .about-card p,html[data-theme="light"] .contact p{color:#646c77}html[data-theme="light"] .product-mark{background:#f4f5f7}html[data-theme="light"] .chip,html[data-theme="light"] .pill{background:#f8f9fa;color:#626a75}html[data-theme="light"] .project-actions a,html[data-theme="light"] .social{background:#f7f8fa;color:#30363d}html[data-theme="light"] .contact{background:linear-gradient(135deg,#fff,#f5f6f8)}html[data-theme="light"] footer{color:#747c86}html[data-theme="light"] .foot b{color:#30363d}html[data-theme="light"] .mobile{background:#fff;box-shadow:0 24px 60px rgba(28,34,43,.14)}html[data-theme="light"] .skip{background:#111318;color:#fff}

body.intro-active{overflow:hidden}body::before,body::after{content:none!important;display:none!important}.site-intro{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;z-index:2147483647;display:flex!important;align-items:center;justify-content:center;background:#08090b;color:#f7f8fa;overflow:hidden;touch-action:none;pointer-events:all;opacity:1;visibility:visible;animation:introScreen 3.7s cubic-bezier(.22,.7,.24,1) both}.intro-inner{width:min(82vw,320px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.intro-logo{display:block;width:84px;height:84px;border-radius:22px;object-fit:cover;border:1px solid #2a2e36;box-shadow:0 18px 50px rgba(0,0,0,.35);opacity:0;transform:translateY(8px) scale(.97);animation:introLogo .55s .16s cubic-bezier(.2,.8,.2,1) forwards}.intro-name{margin-top:16px;font-family:Roboto,Arial,sans-serif;font-size:clamp(27px,5vw,38px);font-weight:900;line-height:1;letter-spacing:-.04em;color:#f7f8fa;opacity:0;transform:translateY(7px);animation:introName .48s .46s cubic-bezier(.2,.8,.2,1) forwards}.intro-progress{width:100%;height:4px;margin-top:18px;border-radius:999px;background:#1b1e24;overflow:hidden;border:1px solid #242830;opacity:0;animation:introFade .28s .7s ease forwards}.intro-progress span{display:block;width:100%;height:100%;border-radius:999px;background:linear-gradient(90deg,#d92f48,#ff4a5f,#ff7a8b);transform:scaleX(0);transform-origin:left center;animation:introFill 2.55s .72s cubic-bezier(.24,.62,.2,1) forwards}@keyframes introLogo{to{opacity:1;transform:none}}@keyframes introName{to{opacity:1;transform:none}}@keyframes introFade{to{opacity:1}}@keyframes introFill{0%{transform:scaleX(0)}42%{transform:scaleX(.38)}70%{transform:scaleX(.76)}100%{transform:scaleX(1)}}@keyframes introScreen{0%,84%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}

@media(max-width:980px){.pref-desktop{display:none}.mobile-prefs{display:flex}.mobile-prefs .pref-controls{margin-left:0}}@media(max-width:480px){.intro-inner{width:min(78vw,280px)}.intro-logo{width:78px;height:78px;border-radius:20px}.intro-name{margin-top:14px;font-size:28px}.intro-progress{margin-top:16px;height:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lang-btn,.theme-toggle{transition:none!important}.site-intro{animation:introScreenReduced 2.4s linear both!important}.intro-logo,.intro-name,.intro-progress{opacity:1!important;transform:none!important;animation:none!important}.intro-progress span{transform:scaleX(1)!important;animation:none!important}@keyframes introScreenReduced{0%,82%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}}
