:root{--bg:#0b0f14;--panel:#ffffff0f;--panel2:#ffffff14;--border:#ffffff1a;--text:#ffffffeb;--muted:#ffffffad;--muted2:#ffffff8c;--shadow:0 18px 70px #00000073;--shadow-soft:0 12px 40px #00000059;--radius-lg:18px;--radius-md:16px;--radius-sm:14px;--ease:cubic-bezier(.2,.8,.2,1);--dur-fast:.16s;--dur:.26s;--dur-slow:.7s}*{box-sizing:border-box}html,body{height:100%}html{background:var(--bg)}body{color:var(--text);background:radial-gradient(1100px 620px at 18% -6%,#d6b25e33,transparent 58%),radial-gradient(950px 560px at 86% 6%,#78b4ff29,transparent 60%),radial-gradient(900px 520px at 55% 120%,#d6b25e1a,transparent 62%),linear-gradient(180deg,#ffffff08,transparent 22%),var(--bg);animation:pageFadeIn var(--dur-slow)var(--ease)both;background-attachment:fixed;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;overflow-x:hidden}html:before{content:"";pointer-events:none;z-index:0;opacity:.45;filter:blur(.2px);mix-blend-mode:screen;background:radial-gradient(1px 1px at 10% 20%,#ffffff0d,#0000 55%),radial-gradient(1px 1px at 70% 30%,#ffffff0a,#0000 55%),radial-gradient(1px 1px at 30% 80%,#ffffff09,#0000 55%),radial-gradient(1px 1px at 90% 70%,#ffffff08,#0000 55%);position:fixed;inset:0}#root{z-index:1;position:relative}a{color:inherit}.cv-page{max-width:1100px;min-height:100vh;margin:0 auto;padding:28px 18px 22px;position:relative}.sheen{display:none!important}.header{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--panel2),var(--panel));box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:liftIn var(--dur-slow)var(--ease)both;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 18px 16px;display:flex}.identity{align-items:center;gap:14px;min-width:280px;display:flex}.avatar{border-radius:var(--radius-md);border:1px solid var(--border);width:86px;height:86px;transition:transform var(--dur)var(--ease),border-color var(--dur)var(--ease),box-shadow var(--dur)var(--ease);background:radial-gradient(10px 10px at 30% 30%,#ffffff2e,#0000 55%),radial-gradient(14px 14px at 70%,#d6b25e33,#0000 60%),#ffffff0d;flex:none;position:relative;overflow:hidden;box-shadow:0 10px 28px #00000059}.avatar:hover{border-color:#d6b25e59;transform:translateY(-1px);box-shadow:0 14px 40px #00000073}.avatar img{object-fit:cover;z-index:2;width:100%;height:100%;transition:transform var(--dur)var(--ease),filter var(--dur)var(--ease);display:block;position:relative;transform:scale(1.02)}.avatar:hover img{filter:saturate(1.02)contrast(1.02);transform:scale(1.06)}.avatar span{filter:blur(10px);z-index:1;opacity:.9;animation:avatarGlow 4.5s var(--ease)infinite;background:conic-gradient(from 210deg,#0000,#d6b25e40,#0000 60%);position:absolute;inset:-40%;transform:rotate(10deg)}.id-text h1{letter-spacing:.2px;margin:0;font-size:22px}.title{color:var(--muted);margin:4px 0 6px;font-weight:560}.meta{color:var(--muted2);flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:14px;display:flex}.meta a{color:var(--muted);transition:color var(--dur-fast)var(--ease);text-decoration:none}.meta a:hover{color:var(--text)}.dot{background:#ffffff47;border-radius:10px;width:4px;height:4px;display:inline-block}.header-actions{max-width:520px;animation:fadeSlideIn var(--dur-slow)var(--ease)both;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;animation-delay:90ms;display:flex}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);letter-spacing:.2px;transition:transform var(--dur-fast)var(--ease),background var(--dur-fast)var(--ease),border-color var(--dur-fast)var(--ease),box-shadow var(--dur-fast)var(--ease),filter var(--dur-fast)var(--ease);-webkit-user-select:none;user-select:none;white-space:nowrap;justify-content:center;align-items:center;height:40px;padding:10px 12px;font-size:14px;font-weight:650;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:hover{border-color:#d6b25e59;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:focus-visible{border-color:#d6b25e73;outline:none;box-shadow:0 0 0 3px #d6b25e2e}.btn.ghost{color:var(--text);background:#ffffff0a}.btn.ghost:hover{background:#ffffff0f}.btn.solid{color:#141414;background:linear-gradient(135deg,#d6b25ef2,#d6b25ea6);border-color:#d6b25ea6;box-shadow:0 10px 24px #d6b25e2e}.btn.solid:hover{filter:brightness(1.03);box-shadow:0 14px 34px #d6b25e38}.btn:after{content:"";opacity:0;transition:transform .52s var(--ease),opacity .52s var(--ease);pointer-events:none;background:linear-gradient(120deg,#0000 35%,#ffffff24,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.btn:hover:after{opacity:1;transform:translate(120%)}.grid{grid-template-columns:1fr 1.45fr;align-items:stretch;gap:14px;margin-top:14px;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:100%;animation:cardIn var(--dur-slow)var(--ease)both;transform-origin:50% 30%;transition:transform var(--dur)var(--ease),border-color var(--dur)var(--ease),box-shadow var(--dur)var(--ease),background var(--dur)var(--ease);background:linear-gradient(#ffffff0f,#ffffff0b);flex-direction:column;padding:16px;display:flex}.card:hover{background:linear-gradient(#fff1,#ffffff0b);border-color:#d6b25e38;transform:translateY(-2px);box-shadow:0 18px 60px #0000006b}.card h2{letter-spacing:.22em;text-transform:uppercase;color:#fffc;margin:0 0 10px;font-size:14px}.summary{color:var(--muted);margin:0 0 12px;line-height:1.55}.divider{background:#ffffff1a;height:1px;margin:14px 0}.skills{color:var(--muted);margin:0;padding-left:18px;line-height:1.7}.skills li{margin:2px 0}.bullets{color:var(--muted);margin:10px 0 0;padding-left:18px;line-height:1.6}.bullets li{margin:4px 0}.contact{gap:10px;display:grid}.contact-row{border-radius:var(--radius-sm);color:var(--text);transition:transform var(--dur-fast)var(--ease),border-color var(--dur-fast)var(--ease),background var(--dur-fast)var(--ease),box-shadow var(--dur-fast)var(--ease);background:#ffffff08;border:1px solid #ffffff1a;justify-content:space-between;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.contact-row:hover{background:#d6b25e0f;border-color:#d6b25e4d;transform:translateY(-1px);box-shadow:0 12px 28px #00000038}.contact-row .k{color:var(--muted2);min-width:90px;font-weight:650}.contact-row .v{color:#ffffffdb;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.card-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;display:grid}.btn.full{width:100%}.timeline{gap:12px;display:grid}.xp{border-radius:var(--radius-md);transition:transform var(--dur)var(--ease),border-color var(--dur)var(--ease),background var(--dur)var(--ease);background:#ffffff08;border:1px solid #ffffff1a;padding:12px}.xp:hover{background:#ffffff09;border-color:#d6b25e38;transform:translateY(-1px)}.xp-head{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.xp-left{min-width:0}.xp h3{margin:0;font-size:15px}.company{color:var(--muted2);margin:4px 0 0;font-size:13px}.period{color:#ffffffb8;transition:border-color var(--dur)var(--ease),transform var(--dur)var(--ease);background:#0000001f;border:1px solid #ffffff1a;border-radius:999px;flex:none;padding:6px 10px;font-size:12px}.xp:hover .period{border-color:#d6b25e2e;transform:translateY(-1px)}.edu{gap:10px;display:grid}.edu-row{border-radius:var(--radius-md);transition:transform var(--dur)var(--ease),border-color var(--dur)var(--ease),background var(--dur)var(--ease);background:#ffffff08;border:1px solid #ffffff1a;justify-content:space-between;align-items:baseline;gap:14px;padding:12px;display:flex}.edu-row:hover{background:#ffffff09;border-color:#d6b25e38;transform:translateY(-1px)}.edu-left{min-width:0}.edu-row h3{margin:0;font-size:15px}.footer{color:var(--muted2);animation:fadeInUp var(--dur-slow)var(--ease)both;justify-content:center;align-items:center;gap:10px;margin-top:14px;font-size:13px;animation-delay:.18s;display:flex}@media (max-width:900px){.header{flex-direction:column}.header-actions{justify-content:flex-start;max-width:100%}.grid,.card-actions{grid-template-columns:1fr}}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes liftIn{0%{opacity:0;filter:blur(2px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes avatarGlow{0%{opacity:.7;transform:rotate(10deg)scale(1)}50%{opacity:.95;transform:rotate(14deg)scale(1.02)}to{opacity:.7;transform:rotate(10deg)scale(1)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modalBackdropIn var(--dur)var(--ease)both;background:#0000009e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(180deg,var(--panel2),var(--panel));width:min(520px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:modalIn var(--dur)var(--ease)both;padding:16px}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.modal-head h3{letter-spacing:.22em;text-transform:uppercase;color:#ffffffd1;margin:0;font-size:14px}.modal-close{border-radius:var(--radius-sm);border:1px solid var(--border);width:40px;height:40px;color:var(--text);cursor:pointer;transition:transform var(--dur-fast)var(--ease),background var(--dur-fast)var(--ease),border-color var(--dur-fast)var(--ease),box-shadow var(--dur-fast)var(--ease);background:#ffffff0a;justify-content:center;align-items:center;font-size:22px;line-height:1;display:inline-flex}.modal-close:hover{background:#ffffff0f;border-color:#d6b25e59;transform:translateY(-1px)}.modal-close:focus-visible{border-color:#d6b25e73;outline:none;box-shadow:0 0 0 3px #d6b25e2e}.modal-sub{color:var(--muted);margin:0 0 12px;line-height:1.55}.modal-form{gap:12px;display:grid}.field{gap:8px;display:grid}.field span{color:var(--muted2);font-size:13px;font-weight:650}.field input{border-radius:var(--radius-sm);height:44px;color:var(--text);transition:border-color var(--dur-fast)var(--ease),box-shadow var(--dur-fast)var(--ease),background var(--dur-fast)var(--ease);background:#0000002e;border:1px solid #ffffff1f;padding:0 12px}.field input::placeholder{color:#ffffff61}.field input:focus{background:#00000038;border-color:#d6b25e73;outline:none;box-shadow:0 0 0 3px #d6b25e29}.field input[aria-invalid=true]{border-color:#ff5c5c8c;box-shadow:0 0 0 3px #ff5c5c1f}.status{border-radius:var(--radius-sm);color:var(--muted);background:#ffffff08;border:1px solid #ffffff1a;padding:10px 12px;line-height:1.45}.status.success{color:#dcffebeb;background:#78ffaa12;border-color:#78ffaa38}.status.error{color:#ffdcdceb;background:#ff5c5c12;border-color:#ff5c5c40}.status.loading{color:#fff5dceb;background:#d6b25e12;border-color:#d6b25e38}.modal-actions{justify-content:flex-end;gap:10px;margin-top:2px;display:flex}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;filter:blur(2px);transform:translateY(10px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}
