:root{--bg:#0b0f1a;--bg-soft:#0f1526;--text:#e6e9f0;--muted:#9aa3b2;--primary:#3eafff;--accent:#a855f7;--card:#11182d;--border:rgba(255,255,255,.08);--radius:16px;--shadow:0 10px 30px rgba(0,0,0,.35)}html[data-theme=neo]{--bg:#06080f;--bg-soft:#0b0f1a;--primary:#6af0ff;--accent:#9090ff}html[data-theme=fire]{--bg:#100a08;--bg-soft:#1a0d0a;--primary:#ff6a00;--accent:#ffd33d}*{box-sizing:border-box}html,body,#root{height:100%}html,body,.app{max-width:100%;overflow-x:clip}@supports not (overflow-x: clip){html,body,.app{overflow-x:hidden}}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial;color:var(--text);background:var(--bg);line-height:1.6}img,svg{display:block;max-width:100%}a{color:inherit}.app{min-height:100dvh;display:flex;flex-direction:column}main{flex:1}.section{padding:40px 20px}@media (min-width:900px){.section{padding:64px 24px}}.h2{font-size:clamp(24px,3vw,36px);margin:0 0 14px}.h4{font-size:16px;margin:0 0 8px}.lead{font-size:clamp(14px,2.2vw,18px);color:var(--muted);margin:6px 0 18px}.row{display:flex;justify-content:center;flex-wrap:wrap}.gap{gap:12px}.navbar{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);background:color-mix(in oklab,var(--bg) 80%,transparent)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px}.nav{display:flex;align-items:center;gap:12px}.nav a{color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:10px}.nav a.active{color:var(--text);background:color-mix(in oklab,var(--primary) 15%,transparent)}.theme-btn{border:1px solid var(--border);background:color-mix(in oklab,var(--bg-soft) 70%,transparent);color:var(--text);border-radius:12px;padding:8px 12px;cursor:pointer}.brand.brand--fx{font-weight:800;letter-spacing:.2px;text-decoration:none;background:linear-gradient(90deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-flex;align-items:center;gap:8px}.brand__dot{width:8px;height:8px;border-radius:999px;background:radial-gradient(circle at 30% 30%,var(--accent),var(--primary));box-shadow:0 0 10px color-mix(in oklab,var(--accent) 70%,transparent)}.hero{position:relative;padding:56px 20px;text-align:center;overflow:clip}.hero__fx{position:absolute;inset:-20vh 0;pointer-events:none;z-index:-1;filter:blur(18px) saturate(1.2);background:radial-gradient(800px 400px at 10% -10%,color-mix(in oklab,var(--accent) 25%,transparent),transparent 60%),radial-gradient(900px 500px at 110% 0%,color-mix(in oklab,var(--primary) 30%,transparent),transparent 60%),var(--bg)}.btn3d{position:relative;appearance:none;border:0;cursor:pointer;border-radius:14px;padding:12px 18px;font-weight:600;color:#081018;background:transparent;transform-style:preserve-3d;outline:none}.btn3d__bg{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:0 12px 30px color-mix(in oklab,var(--primary) 30%,transparent);transform:translateZ(-6px);transition:transform .08s ease,box-shadow .2s ease}.btn3d__content{position:relative;display:inline-flex;align-items:center;gap:8px;padding:4px 2px}.btn3d:active .btn3d__bg,.btn3d.is-pressed .btn3d__bg{transform:translateY(2px) translateZ(-6px);box-shadow:0 6px 16px color-mix(in oklab,var(--primary) 20%,transparent)}.btn3d.alt .btn3d__bg{background:linear-gradient(135deg,color-mix(in oklab,var(--bg-soft) 30%,var(--primary)),color-mix(in oklab,var(--bg-soft) 30%,var(--accent)))}.prose{max-width:1000px;margin:0 auto}.prose h2,.prose h3{margin:12px 0}.prose pre{background:color-mix(in oklab,var(--bg-soft) 85%,transparent);border:1px solid var(--border);border-radius:12px;padding:12px;overflow:auto}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:13px}.prose ul{padding-left:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:color-mix(in oklab,var(--bg-soft) 75%,transparent);color:var(--text);text-decoration:none;font-weight:600;transition:transform .05s,background .2s}.btn:active{transform:translateY(1px)}.btn--primary{background:linear-gradient(135deg,var(--primary),var(--accent));color:#081018;border-color:transparent}.btn--ghost{background:transparent}.btn--pill{border-radius:999px}.btn--block{width:100%}.btn-row{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width:700px){.btn-row{grid-template-columns:1fr 1fr}}.toolbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:10px 0 16px}.prose a.btn{text-decoration:none}.h2--glow{position:relative;display:inline-block}.h2--glow:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--primary),var(--accent));opacity:.55}.resume-card{position:relative;margin-top:20px;padding:clamp(16px,2.6vw,28px);border-radius:20px;background:linear-gradient(180deg,color-mix(in oklab,var(--bg-soft) 80%,transparent),color-mix(in oklab,var(--bg-soft) 95%,transparent));border:1px solid var(--border);box-shadow:var(--shadow);overflow:clip}.resume-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.35;pointer-events:none;filter:blur(.3px)}.resume-card .tags li{background:color-mix(in oklab,var(--bg-soft) 85%,transparent)}.resume-header{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-bottom:18px;border-bottom:1px solid var(--border);padding-bottom:14px}.resume-name{margin:0;font-size:clamp(20px,3vw,28px)}.resume-role{margin:6px 0;color:var(--muted)}.resume-contacts{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:6px 0 0;list-style:none}.resume-avatar{width:160px;height:160px;border-radius:22px;position:relative;overflow:visible}.resume-avatar:before{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.9;pointer-events:none;z-index:1}.resume-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;position:relative;z-index:0}@media (max-width:980px){.resume-avatar{width:140px;height:140px;border-radius:20px}}@media (max-width:640px){.resume-avatar{width:120px;height:120px;border-radius:18px}}@supports not ((-webkit-mask-composite: xor) or (mask-composite: exclude)){.resume-avatar:before{background:none;inset:0;padding:0;box-shadow:0 0 0 2px color-mix(in oklab,var(--primary) 60%,var(--accent))}}.resume-grid{display:grid;gap:24px}@media (min-width:980px){.resume-grid{grid-template-columns:1.4fr .9fr}}.skills-grid{display:grid;gap:16px}@media (min-width:860px){.skills-grid{grid-template-columns:repeat(3,1fr)}}.skills-title{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted)}.resume-kpis{display:flex;flex-wrap:wrap;gap:8px 10px;margin:12px 0 0;padding:0;list-style:none}.resume-kpis li{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;background:color-mix(in oklab,var(--bg-soft) 82%,transparent);border:1px solid var(--border);color:var(--muted)}.resume-kpis li span{font-weight:700;color:var(--text);background:linear-gradient(90deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.docs-hero{max-width:1000px;margin:0 auto 16px}.docs-badge{display:inline-block;font-weight:700;font-size:12px;letter-spacing:.3px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:color-mix(in oklab,var(--bg-soft) 80%,transparent);color:var(--muted);text-transform:uppercase}.docs-grid{display:grid;gap:16px;grid-template-columns:1fr;max-width:1000px;margin:0 auto}@media (min-width:900px){.docs-grid{grid-template-columns:1fr 1fr 1fr}}.doc-card{position:relative;display:block;text-decoration:none;color:var(--text);padding:16px 14px 14px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in oklab,var(--bg-soft) 82%,transparent),color-mix(in oklab,var(--bg-soft) 96%,transparent));overflow:hidden;transition:transform .08s ease,border-color .2s ease,box-shadow .2s ease}.doc-card:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--primary) 25%,var(--border));box-shadow:0 8px 30px #00000040}.doc-card__icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:18px;margin-bottom:8px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#081018;font-weight:800;box-shadow:0 6px 18px color-mix(in oklab,var(--primary) 25%,transparent)}.doc-card__fx{position:absolute;inset:-20% -10% auto;height:60%;background:radial-gradient(60% 60% at 20% 0%,color-mix(in oklab,var(--primary) 25%,transparent),transparent 60%),radial-gradient(55% 55% at 100% 0%,color-mix(in oklab,var(--accent) 25%,transparent),transparent 60%);filter:blur(22px) saturate(1.2);opacity:.6;pointer-events:none}.tech-min{padding-top:8px}.tech-icons{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:16px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:720px){.tech-icons{grid-template-columns:repeat(5,minmax(0,1fr))}}.tech-item{display:flex;align-items:center;gap:10px;min-width:0}.ti-circle{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;font-size:18px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#081018;font-weight:800;box-shadow:0 6px 16px color-mix(in oklab,var(--primary) 22%,transparent)}.ti-label{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper{list-style:none;margin:16px 0 0;padding:0;position:relative;display:grid;gap:18px}.step{position:relative;padding-left:24px}.step:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--primary),var(--accent));opacity:.35}.step-dot{position:absolute;left:1px;top:.25rem;width:16px;height:16px;border-radius:999px;background:radial-gradient(circle at 30% 30%,var(--primary),var(--accent));box-shadow:0 0 0 3px color-mix(in oklab,var(--bg) 60%,transparent)}.step-title{font-weight:700;margin:0}.step-time{font-size:12px;color:var(--muted)}.step-note{font-size:13px;color:var(--muted)}.step.is-current .step-dot{box-shadow:0 0 0 4px color-mix(in oklab,var(--primary) 28%,transparent)}@media (min-width:980px){.stepper{grid-template-columns:repeat(3,1fr);align-items:start;margin-top:12px}.step{padding-left:0;text-align:center}.step:before{display:none}.stepper:before{content:"";grid-column:1 / -1;order:-1;display:block;height:2px;width:100%;background:linear-gradient(90deg,var(--primary),var(--accent));opacity:.25;margin:0 0 14px}.step-dot{position:relative;left:auto;top:auto;margin:0 auto 6px}}.reveal{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease;will-change:opacity,transform}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal,.reveal.in{opacity:1;transform:none;transition:none}}.card-glow{transition:border-color .25s ease,box-shadow .25s ease,transform .1s ease}@media (hover:hover){.card-glow:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--primary) 28%,var(--border));box-shadow:0 12px 28px color-mix(in oklab,var(--accent) 18%,transparent)}}.card-glow:focus-visible{outline:2px solid color-mix(in oklab,var(--primary) 55%,var(--accent));outline-offset:2px;border-radius:inherit}.resume-contacts a{position:relative;display:inline-flex;align-items:center;padding:2px 3px;border-radius:6px;text-decoration:none;color:var(--text)}.resume-contacts a:after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:2px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--primary),var(--accent));transition:transform .25s ease;border-radius:2px}@media (hover:hover){.resume-contacts a:hover:after{transform:scaleX(1)}}.resume-contacts a:focus-visible:after{transform:scaleX(1)}.tags li,.resume-kpis li{transition:border-color .2s ease,background-color .2s ease}@media (hover:hover){.tags li:hover,.resume-kpis li:hover{border-color:color-mix(in oklab,var(--primary) 24%,var(--border));background:color-mix(in oklab,var(--bg-soft) 90%,transparent)}}.footer{padding:30px 20px;color:var(--muted);text-align:center;border-top:1px solid var(--border)}@media print{:root{color-scheme:light}body{background:#fff!important;color:#000!important}.navbar,.hero,.theme-toggle,.btn,.footer{display:none!important}.resume-card{border:1px solid #e5e7eb!important;box-shadow:none!important;background:#fff!important}.resume-avatar{border-radius:14px!important;overflow:hidden!important}.resume-avatar:before{display:none!important}.resume-avatar img{border:1px solid #ddd}a{color:#000!important;text-decoration:underline!important}.tags li,.pill{border-color:#ccc!important;background:#fff!important;color:#000!important}}.nav-mobile-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:color-mix(in oklab,var(--bg-soft) 75%,transparent);cursor:pointer}@media (min-width: 900px){.nav-mobile-btn{display:none}}.nav-mobile-btn span,.nav-mobile-btn span:before,.nav-mobile-btn span:after{content:"";display:block;width:20px;height:2px;border-radius:2px;background:var(--text);transition:transform .25s ease,opacity .25s ease}.nav-mobile-btn span{position:relative}.nav-mobile-btn span:before{position:absolute;top:-6px}.nav-mobile-btn span:after{position:absolute;top:6px}.nav-mobile-btn.is-open span{transform:rotate(45deg)}.nav-mobile-btn.is-open span:before{transform:rotate(90deg);top:0}.nav-mobile-btn.is-open span:after{opacity:0;transform:translate(-6px)}.nav-backdrop{position:fixed;inset:0;z-index:14;background:#00000073;opacity:0;pointer-events:none;transition:opacity .2s ease}.nav-backdrop.show{opacity:1;pointer-events:auto}.nav-drawer{position:fixed;z-index:15;top:0;right:0;bottom:0;width:min(82vw,320px);background:color-mix(in oklab,var(--bg-soft) 94%,transparent);border-left:1px solid var(--border);transform:translate(100%);transition:transform .25s ease;display:grid;grid-template-rows:auto 1fr;gap:8px}.nav-drawer.open{transform:translate(0)}.nav-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.nav-drawer__close{border:1px solid var(--border);background:transparent;color:var(--text);width:36px;height:36px;border-radius:10px;font-size:20px;line-height:1;cursor:pointer}.nav-drawer__links{display:grid;gap:6px;padding:12px 12px 16px}.nav-drawer__links a{display:block;padding:10px 12px;border-radius:12px;color:var(--text);text-decoration:none;border:1px solid var(--border);background:color-mix(in oklab,var(--bg-soft) 82%,transparent)}.nav-drawer__links a.active{background:color-mix(in oklab,var(--primary) 18%,transparent)}.nav-drawer__links .theme-switch{justify-self:start;border-radius:12px;border:1px solid var(--border);background:color-mix(in oklab,var(--bg-soft) 75%,transparent);color:var(--text);padding:8px 12px}.nav-desktop{display:none;gap:10px;align-items:center}@media (min-width: 900px){.nav-desktop{display:flex}}.nav-desktop a{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:12px;text-decoration:none;font-weight:600;color:var(--muted);border:1px solid var(--border);background:color-mix(in oklab,var(--bg-soft) 75%,transparent);transition:background .2s ease,color .2s ease,border-color .2s ease,transform .05s ease}@media (hover:hover){.nav-desktop a:hover{color:var(--text);border-color:color-mix(in oklab,var(--primary) 25%,var(--border));background:color-mix(in oklab,var(--bg-soft) 85%,transparent);transform:translateY(-1px)}}.nav-desktop a.active{color:var(--text);border-color:transparent;background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:0 6px 18px color-mix(in oklab,var(--primary) 22%,transparent)}
