:root{--bg:#1a1a1c;--surface:#202022;--surface-2:#252528;--ink:#f3f3f2;--dim:#a8a8a6;--faint:#6e6e6c;--line:#34343a;--line-soft:#2a2a2e;--r:12px}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;line-height:1.65}#root{width:100vw;height:100vh}.poppins{font-family:Poppins,sans-serif}.app{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.topbar{z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);background:#1a1a1ce6;flex-shrink:0}.topbar .row{justify-content:center;align-items:center;max-width:940px;margin:0 auto;padding:16px 32px;display:flex}.brand{align-items:center;gap:12px;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;display:flex}.spark{flex-shrink:0;width:26px;height:26px}.langtog{border:1px solid var(--line);border-radius:30px;gap:2px;padding:3px;display:flex}.langtog button{color:var(--faint);letter-spacing:.5px;cursor:pointer;background:0 0;border:none;border-radius:30px;padding:6px 14px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.langtog button.active{background:var(--ink);color:var(--bg)}.wrap{width:100%;max-width:940px;margin:0 auto;padding:0 28px}.scroll{flex:1;min-height:0;overflow-y:auto}.scroll::-webkit-scrollbar{width:4px}.scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px}.hero{grid-template-columns:140px 1fr;align-items:center;gap:34px;padding:52px 0 38px;display:grid}.hero-mark{place-items:center;display:grid}.hero-mark svg{width:130px;height:130px}.photo-placeholder{border:1px solid var(--line);object-fit:cover;border-radius:50%;width:130px;height:130px;display:block}.hero-info .status{letter-spacing:2px;text-transform:uppercase;color:var(--dim);align-items:center;gap:9px;margin-bottom:14px;font-family:Inter,sans-serif;font-size:11px;display:inline-flex}.hero-info .status .d{background:var(--ink);border-radius:50%;width:6px;height:6px;animation:2.4s infinite bl}@keyframes bl{0%,to{opacity:1}50%{opacity:.3}}.hero-info h1{letter-spacing:-1px;font-family:Poppins,sans-serif;font-size:clamp(38px,6.2vw,62px);font-weight:600;line-height:.98}.hero-info .role{color:var(--dim);margin-top:12px;font-size:clamp(14px,2.3vw,17px);font-weight:400}.contacts{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:0;margin-bottom:8px;display:flex}.contacts a,.contacts span{letter-spacing:1.3px;text-transform:uppercase;min-width:180px;color:var(--dim);flex:1;align-items:center;gap:11px;padding:16px 6px;font-size:11.5px;text-decoration:none;transition:all .15s;display:flex}.contacts a:not(:last-child),.contacts span:not(:last-child){border-right:1px solid var(--line-soft)}.contacts a:hover{color:var(--ink)}.contacts svg{width:14px;height:14px;color:var(--faint);flex-shrink:0}.tabs{z-index:40;background:var(--bg);border-bottom:1px solid var(--line);gap:0;margin:30px 0 40px;display:flex;position:sticky;top:0;overflow-x:auto}.tabs button{color:var(--faint);letter-spacing:.3px;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:12px;margin-right:34px;padding:16px 4px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;transition:all .18s;display:flex;position:relative}.tabs button .num{color:var(--faint);font-family:Poppins,sans-serif;font-size:11px;transition:all .18s}.tabs button:hover{color:var(--dim)}.tabs button.active,.tabs button.active .num{color:var(--ink)}.tabs button.active:after{content:"";background:var(--ink);height:2px;position:absolute;bottom:-1px;left:0;right:0}.panel{animation:.45s cubic-bezier(.2,.8,.2,1) rise;display:none}.panel.active{display:block}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.sec{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.sec .lbl{letter-spacing:3px;text-transform:uppercase;color:var(--ink);font-family:Inter,sans-serif;font-size:13px}.sec .ln{background:var(--line);flex:1;height:1px}.sec .no{color:var(--dim);letter-spacing:1px;font-family:Poppins,sans-serif;font-size:15px}.lead{color:var(--dim);max-width:680px;font-size:18px;font-weight:300;line-height:1.9}.lead p{margin-bottom:18px}.lead p:last-child{margin-bottom:0}.lead b{color:var(--ink);font-weight:500}.stats{flex-wrap:wrap;gap:48px;margin-top:34px;display:flex}.stat .n{letter-spacing:-1px;font-family:Poppins,sans-serif;font-size:42px;font-weight:600;line-height:1}.stat .l{letter-spacing:1.5px;text-transform:uppercase;color:var(--faint);margin-top:8px;font-size:12px}.xp{border-top:1px solid var(--line-soft);padding:26px 0}.xp:first-of-type{border-top:none;padding-top:0}.xp .date{letter-spacing:2px;text-transform:uppercase;color:var(--faint);margin-bottom:8px;font-size:12px}.xp h3{letter-spacing:-.3px;font-family:Poppins,sans-serif;font-size:21px;font-weight:600}.xp .role{color:var(--faint);letter-spacing:.4px;margin:2px 0 16px;font-size:13px}.xp ul{flex-direction:column;gap:9px;max-width:640px;list-style:none;display:flex}.xp li{color:var(--dim);padding-left:20px;font-size:14.5px;font-weight:300;position:relative}.xp li:before{content:"";background:var(--dim);width:8px;height:1px;position:absolute;top:11px;left:0}.cols{grid-template-columns:1fr 1fr;gap:46px;display:grid}.skill-list{flex-direction:column;display:flex}.skill-row{border-top:1px solid var(--line-soft);color:var(--ink);justify-content:space-between;align-items:center;padding:14px 0;font-size:14.5px;display:flex}.skill-row:first-child{border-top:none}.skill-row span{color:var(--faint);letter-spacing:1px;text-transform:uppercase;font-size:12px}.wk-list{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.wk-item{color:var(--dim);border:1px solid var(--line);border-radius:6px;padding:6px 16px;font-size:14px;font-weight:300}.lang-row{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:14px 0;font-size:15px;display:flex}.lang-row:first-child{border-top:none}.lang-row b{font-weight:400}.lang-row .lvl{color:var(--dim);letter-spacing:1px;font-family:Poppins,sans-serif;font-size:14px}.edu{border-top:1px solid var(--line-soft);padding:24px 0}.edu:first-child{border-top:none;padding-top:0}.edu .date{letter-spacing:2px;text-transform:uppercase;color:var(--faint);margin-bottom:7px;font-size:12px}.edu h3{font-family:Poppins,sans-serif;font-size:20px;font-weight:600}.edu .sub{color:var(--dim);margin-top:3px;font-size:14px;font-weight:300}.edu ul{flex-direction:column;gap:8px;max-width:620px;margin-top:14px;list-style:none;display:flex}.edu li{color:var(--dim);padding-left:20px;font-size:14px;font-weight:300;position:relative}.edu li:before{content:"";background:var(--dim);width:8px;height:1px;position:absolute;top:10px;left:0}.infogrid{border:1px solid var(--line-soft);border-radius:var(--r);grid-template-columns:1fr 1fr;gap:0;margin-top:30px;display:grid;overflow:hidden}.infocard{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:22px 24px}.infocard:nth-child(2n){border-right:none}.infocard:nth-last-child(-n+2){border-bottom:none}.infocard .k{letter-spacing:2px;text-transform:uppercase;color:var(--faint);margin-bottom:10px;font-size:11px}.infocard .v{color:var(--dim);font-size:14px;font-weight:300;line-height:1.6}.infocard .v b{color:var(--ink);font-weight:500}.foot{border-top:1px solid var(--line);letter-spacing:2px;text-transform:uppercase;color:var(--faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:48px;padding:24px 0 48px;font-size:11px;display:flex}@media (width<=680px){.hero{grid-template-columns:1fr auto;align-items:center;gap:14px;padding-top:32px}.hero-mark{order:1}.photo-placeholder{width:80px;height:80px}.tabs button{margin-right:22px;font-size:13px}.tabs button .num{display:none}.contacts a,.contacts span{border-bottom:1px solid var(--line-soft);min-width:50%;padding:14px 4px;border-right:none!important}.cols,.infogrid{grid-template-columns:1fr;gap:30px}.infocard{border-right:none}.topbar .row{padding:12px 16px}.wrap{padding:0 16px}}
