:root{--bg: #070a10;--bg-glow-1: rgba(59 130 246 / .22);--bg-glow-2: rgba(96 165 250 / .12);--text: rgba(233, 238, 247, .96);--text-strong: rgba(233, 238, 247, .92);--muted: rgba(166, 177, 194, .9);--border: rgba(255, 255, 255, .1);--border-2: rgba(255, 255, 255, .16);--accent: #3b82f6;--accent-2: #60a5fa;--accent-rgb: 59 130 246;--accent-2-rgb: 96 165 250;--brand-grad: linear-gradient(90deg, var(--accent), var(--accent-2));--card-bg: linear-gradient( 180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .022) );--shadow: 0 16px 44px rgba(0, 0, 0, .5);--shadow-soft: 0 10px 26px rgba(0, 0, 0, .34);--r-lg: 18px;--r-pill: 999px;--header-bg: rgba(7, 10, 16, .7);--container: 980px;--ease: cubic-bezier(.2, .8, .2, 1);--t: .18s var(--ease);--ring: 0 0 0 3px rgba(var(--accent-rgb) / .18)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;color:var(--text);background:radial-gradient(1200px 700px at 12% -12%,var(--bg-glow-1),transparent 60%),radial-gradient(980px 520px at 92% 0%,var(--bg-glow-2),transparent 55%),radial-gradient(800px 520px at 50% 120%,rgba(255,255,255,.04),transparent 55%),var(--bg);background-repeat:no-repeat;background-size:cover;background-attachment:fixed;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Arial;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.06;background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0px,rgba(255,255,255,.05) 1px,transparent 2px,transparent 4px),repeating-linear-gradient(90deg,rgba(0,0,0,.2) 0px,rgba(0,0,0,.2) 1px,transparent 2px,transparent 6px);mix-blend-mode:overlay}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--container);margin:0 auto;padding:18px 16px;position:relative;z-index:1}.header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--border);background:var(--header-bg);backdrop-filter:blur(10px)}.header__row{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:750;letter-spacing:.2px;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.nav{display:flex;align-items:center;gap:4px}.nav a{padding:8px 10px;border-radius:10px;color:var(--muted);transition:color var(--t),background var(--t)}.nav a:hover{color:var(--text);background:#ffffff0f;text-decoration:none}.lang{display:flex;gap:8px}.lang a{padding:7px 10px;border-radius:10px;border:1px solid transparent;color:var(--muted);transition:color var(--t),background var(--t),border-color var(--t)}.lang a:hover{color:var(--text);background:#ffffff0f;text-decoration:none}.lang a.active{color:var(--text);border-color:var(--border-2);background:rgba(var(--accent-rgb) / .1)}@media(max-width:640px){.header__row{gap:6px}.nav{gap:0}.nav>a:first-child{display:none}.nav a,.dropdown__trigger{padding:6px 8px;font-size:14px}.lang{gap:4px;flex-shrink:0}.lang a{padding:6px 8px;font-size:14px}}.dropdown{position:relative}.dropdown__trigger{display:flex;align-items:center;gap:4px;padding:8px 10px;border-radius:10px;border:none;background:none;cursor:pointer;color:var(--muted);font:inherit;font-size:inherit;transition:color var(--t),background var(--t)}.dropdown__trigger:hover{color:var(--text);background:#ffffff0f}.dropdown__menu{display:none;position:absolute;top:calc(100% + 6px);left:0;background:#0f1620;border:1px solid var(--border);border-radius:12px;padding:6px;list-style:none;min-width:140px;z-index:100;box-shadow:var(--shadow-soft);margin:0}.dropdown:hover .dropdown__menu,.dropdown:focus-within .dropdown__menu{display:flex;flex-direction:column;gap:2px}.dropdown__menu li{list-style:none}.dropdown__menu a{display:block;padding:7px 12px;border-radius:8px;color:var(--muted);text-decoration:none;transition:color var(--t),background var(--t);white-space:nowrap}.dropdown__menu a:hover{color:var(--text);background:#ffffff0f;text-decoration:none}.dropdown__menu a.active{color:var(--text);background:rgba(var(--accent-rgb) / .1)}.page-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:flex-start}@media(min-width:960px){.page-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr)}}.sidebar,.main-content{display:flex;flex-direction:column;gap:14px}.grid{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:900px){.grid{grid-template-columns:1fr 1fr}}@media(max-width:959px){.page-grid{display:flex;flex-direction:column}.sidebar,.main-content{display:contents}.card--downloads{order:1}.card.hero{order:2}.card--achievements{order:3}.section--experience{order:4}.card--skills{order:5}}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-soft);transition:border-color var(--t),transform var(--t),box-shadow var(--t)}.card:hover{border-color:rgba(var(--accent-rgb) / .22);transform:translateY(-2px);box-shadow:var(--shadow)}.card__meta{font-size:13px;margin-bottom:4px}.card__title{margin:0;font-size:18px;font-weight:700;color:var(--text)}.card__desc{margin:10px 0 0;color:var(--muted);line-height:1.6}.h2{margin:0 0 10px;font-size:18px;letter-spacing:.2px}.muted{color:var(--muted)}.list{margin:10px 0 0;padding-left:18px;color:var(--text)}.list li{margin:6px 0}.section{margin-top:14px}.section__title{font-weight:700;margin-top:14px}.stack{display:grid;gap:14px;margin-top:10px}.item__top{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between}.row{margin-top:12px}.row__title{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.hero{padding:18px}.hero__top{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}.hero__name{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.12}.hero__title{margin:8px 0 0;font-weight:750;color:var(--text-strong)}.hero__summary{margin:10px 0 0;color:var(--muted);max-width:70ch}.hero__contacts{margin-top:14px}.btnrow{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-block;padding:10px 14px;border-radius:12px;border:1px solid var(--border-2);background:linear-gradient(180deg,rgba(var(--accent-rgb) / .22),rgba(var(--accent-rgb) / .1));color:var(--text);font-weight:650;text-decoration:none;transition:transform var(--t),background var(--t),border-color var(--t),box-shadow var(--t)}.btn:hover{background:rgba(var(--accent-rgb) / .28);border-color:rgba(var(--accent-rgb) / .35);text-decoration:none;transform:translateY(-1px)}.btn--ghost{background:#ffffff0a;border-color:var(--border)}.btn--ghost:hover{background:#ffffff12;border-color:var(--border-2)}.pillrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.pill{display:inline-block;padding:8px 12px;border-radius:var(--r-pill);border:1px solid var(--border);background:#ffffff08;color:var(--text);text-decoration:none;transition:background var(--t),border-color var(--t),transform var(--t)}.pill:hover{border-color:rgba(var(--accent-rgb) / .28);background:rgba(var(--accent-rgb) / .1);text-decoration:none;transform:translateY(-1px)}.tags{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.tag{border:1px solid var(--border);border-radius:var(--r-pill);padding:5px 10px;font-size:12px;color:var(--text-strong);background:#ffffff08}.links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.link{padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:#ffffff08;color:var(--text);transition:background var(--t),border-color var(--t),transform var(--t)}.link:hover{border-color:rgba(var(--accent-rgb) / .28);background:rgba(var(--accent-rgb) / .1);text-decoration:none;transform:translateY(-1px)}.skillsgrid{display:grid;gap:12px}.skillsgroup__title{font-weight:700;margin-bottom:6px;color:var(--text-strong)}.project{--card-accent: var(--accent);--card-accent-rgb: var(--accent-rgb);position:relative;overflow:hidden;align-self:start}.project:before{content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:var(--r-lg);background:radial-gradient(600px 220px at 20% 0%,rgba(var(--card-accent-rgb) / .18),transparent 60%),radial-gradient(500px 220px at 85% 20%,rgba(var(--card-accent-rgb) / .1),transparent 55%);opacity:.9}.project>*{position:relative}.project:hover{border-color:rgba(var(--card-accent-rgb) / .28)}.project--archived{position:relative}.project__toggle{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:12px;border:1px solid transparent;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;pointer-events:auto;opacity:.45;transition:opacity var(--t),background var(--t),border-color var(--t),transform var(--t)}.project__pin{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--card-accent, var(--accent));opacity:.9;pointer-events:none;transform-origin:center;transition:transform .25s ease,opacity .25s ease}.project--featured:hover .project__pin{transform:scale(1.08) rotate(-36deg)}.project__pin-icon{display:block}.project--archived:hover .project__toggle{opacity:1;border-color:var(--border);background:#ffffff08}.project__toggle:active{transform:scale(.98)}.project__toggle-icon{color:var(--muted);display:inline-flex;align-items:center;justify-content:center;transition:transform var(--t),color var(--t);transform:rotate(0)}.project__toggle-svg{display:block}.project--archived.is-open .project__toggle-icon{transform:rotate(90deg)}.project__compact{padding-right:44px;position:relative;z-index:1}.project__compact-platforms{position:relative;z-index:1}.project__details{visibility:visible;max-height:10000px;overflow:hidden;transition:max-height var(--t),opacity var(--t),transform var(--t);opacity:1;transform:translateY(0)}.project--archived.is-collapsed .project__details-top,.project--archived.is-collapsed .project__details-bottom{visibility:hidden;max-height:0;opacity:0;transform:translateY(-6px)}.project--auto,.project--blue{--card-accent-rgb: 59 130 246;--card-accent: #3b82f6}.project--cyan{--card-accent-rgb: 34 211 238;--card-accent: #22d3ee}.project--emerald{--card-accent-rgb: 16 185 129;--card-accent: #10b981}.project--magenta{--card-accent-rgb: 236 72 153;--card-accent: #ec4899}.project .link:hover{border-color:rgba(var(--card-accent-rgb) / .28);background:rgba(var(--card-accent-rgb) / .1)}.project__badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:8px}.media{margin-top:12px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.1);aspect-ratio:4 / 3;max-height:360px}.media__el{width:100%;height:100%;max-height:360px;display:block;object-fit:cover}.thumbs{display:flex;gap:10px;overflow:auto;padding:10px;border-top:1px solid rgba(255,255,255,.1);background:#ffffff05}.thumb{flex:0 0 auto;width:72px;height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff08;overflow:hidden;display:flex;align-items:center;justify-content:center;text-decoration:none}.thumb:hover{border-color:rgba(var(--card-accent-rgb) / .28);background:rgba(var(--card-accent-rgb) / .1)}.thumb--active{border-color:rgba(var(--card-accent-rgb) / .35);box-shadow:0 0 0 2px rgba(var(--card-accent-rgb) / .14)}.thumb__img{width:100%;height:100%;object-fit:cover;display:block}.thumb__video{font-weight:750;opacity:.9}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:18px auto 0;justify-content:center;justify-items:center;text-align:center}@media(max-width:920px){.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.metric-card{display:flex;flex-direction:column;gap:6px;align-items:center;width:100%}.metric-label{font-size:12px;opacity:.65;letter-spacing:.2px}.metric-value{font-size:16px;font-weight:700;color:var(--card-accent, var(--accent))}.footer{margin-top:40px;border-top:1px solid var(--border);padding:16px 0}.footer__inner{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}.footer__link{color:var(--muted);transition:color var(--t)}.footer__link:hover{color:var(--text);text-decoration:none}:focus-visible{outline:2px solid rgba(var(--accent-rgb) / .6);outline-offset:2px;border-radius:10px;box-shadow:var(--ring)}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.bg[data-astro-cid-5a2bynky]{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--bg)}.orb[data-astro-cid-5a2bynky]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;will-change:transform}.orb--1[data-astro-cid-5a2bynky]{width:600px;height:600px;top:-15%;left:-10%;background:radial-gradient(circle,rgba(var(--accent-rgb) / .55),transparent 70%);animation:drift-1 3.6s ease-in-out infinite alternate}.orb--2[data-astro-cid-5a2bynky]{width:500px;height:500px;top:-5%;right:-8%;background:radial-gradient(circle,rgba(var(--accent-2-rgb) / .45),transparent 70%);animation:drift-2 4.4s ease-in-out infinite alternate}.orb--3[data-astro-cid-5a2bynky]{width:400px;height:400px;bottom:5%;left:30%;background:radial-gradient(circle,rgba(var(--accent-rgb) / .3),transparent 70%);animation:drift-3 5.2s ease-in-out infinite alternate}.orb--4[data-astro-cid-5a2bynky]{width:300px;height:300px;bottom:20%;right:15%;background:radial-gradient(circle,rgba(var(--accent-2-rgb) / .25),transparent 70%);animation:drift-4 4s ease-in-out infinite alternate}.noise[data-astro-cid-5a2bynky]{position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:200px 200px}@keyframes drift-1{0%{transform:translate(0) scale(1)}33%{transform:translate(60px,40px) scale(1.08)}66%{transform:translate(20px,80px) scale(.96)}to{transform:translate(80px,20px) scale(1.04)}}@keyframes drift-2{0%{transform:translate(0) scale(1)}33%{transform:translate(-50px,60px) scale(1.06)}66%{transform:translate(-20px,30px) scale(.94)}to{transform:translate(-70px,10px) scale(1.03)}}@keyframes drift-3{0%{transform:translate(0) scale(1)}33%{transform:translate(-40px,-50px) scale(1.1)}66%{transform:translate(30px,-20px) scale(.95)}to{transform:translate(-60px,-40px) scale(1.05)}}@keyframes drift-4{0%{transform:translate(0) scale(1)}33%{transform:translate(40px,-60px) scale(1.07)}66%{transform:translate(10px,-30px) scale(.97)}to{transform:translate(50px,-50px) scale(1.03)}}@media(prefers-reduced-motion:reduce){.orb[data-astro-cid-5a2bynky]{animation:none}}
