*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0f0c29;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translateZ(0);-webkit-transform:translateZ(0)}body{margin:0;padding:0;min-width:320px;min-height:100vh;overflow-x:hidden;contain:layout style}#root{width:100%;min-height:100vh;isolation:isolate}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#0f0c29cc}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;border:2px solid rgba(15,12,41,.8)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#f093fb)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.cv-container{min-height:100vh;width:100%;position:relative;overflow:hidden;font-family:Segoe UI,Roboto,Arial,sans-serif;contain:layout style paint}.content{position:relative;z-index:1;max-width:1600px;margin:0 auto;padding:25px 50px;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;contain:layout style}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:1400px){.content{padding:35px 40px}}@media(max-width:768px){.content{padding:25px 20px}}.header{text-align:center;margin-bottom:20px;animation:fadeInDown .8s cubic-bezier(.4,0,.2,1) both;contain:layout style}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-30px,0)}to{opacity:1;transform:translateZ(0)}}.name{font-size:2.8rem;font-weight:700;color:#fff;margin-bottom:12px;text-shadow:0 0 20px rgba(0,162,255,.5);letter-spacing:1px;background:linear-gradient(135deg,#00a2ff,#0fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;will-change:auto}.titles{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:15px}.title-item{font-size:1.05rem;font-weight:600;color:#b0c4de;text-transform:uppercase;letter-spacing:1.5px;padding:6px 16px;background:#00a2ff1a;border:1px solid rgba(0,162,255,.3);border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform;contain:layout style}.title-item:hover{background:#00a2ff33;border-color:#00a2ff80;color:#fff;transform:translateY(-2px)}.title-separator{color:#00a2ff;font-size:1.3rem;font-weight:700}.header-contact{margin-top:15px}@media(max-width:1400px){.name{font-size:3rem}}@media(max-width:1200px){.name{font-size:2.8rem}.title-item{font-size:1.1rem}}@media(max-width:768px){.name{font-size:2.2rem}.title-item{font-size:1rem;padding:6px 15px}.titles{flex-direction:column;gap:8px}.title-separator{display:none}}@media(max-width:480px){.name{font-size:1.8rem}.title-item{font-size:.9rem}}.skills-container{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;flex:1;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) .2s both;contain:layout style}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,30px,0)}to{opacity:1;transform:translateZ(0)}}.skills-column{display:flex;flex-direction:column;gap:15px;contain:layout style}.skill-category{background:#0a1428b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,162,255,.2);border-radius:12px;padding:15px;transition:transform .3s cubic-bezier(.4,0,.2,1),border-color .3s ease,box-shadow .3s ease;will-change:transform;contain:layout style paint}.skill-category:hover{border-color:#00a2ff66;box-shadow:0 8px 25px #00a2ff26;transform:translateY(-2px)}.category-title{font-size:1.05rem;font-weight:700;color:#0fc;margin-bottom:10px;text-shadow:0 0 10px rgba(0,255,204,.3);letter-spacing:.5px}.skill-tags{display:flex;flex-wrap:wrap;gap:6px;contain:layout style}.skill-tags span{display:inline-block;padding:5px 10px;background:#00a2ff26;color:#e0f7ff;font-size:.78rem;font-weight:500;border-radius:6px;border:1px solid rgba(0,162,255,.25);transition:transform .25s cubic-bezier(.4,0,.2,1),background .25s ease,border-color .25s ease,box-shadow .25s ease,color .25s ease;cursor:default;white-space:nowrap;will-change:transform;contain:layout style}.skill-tags span:hover{background:#00a2ff4d;border-color:#00a2ff80;transform:translateY(-2px);box-shadow:0 4px 12px #00a2ff4d;color:#fff}@media(max-width:1200px){.skills-container{grid-template-columns:1fr;gap:20px}}@media(max-width:768px){.skill-category{padding:15px}.category-title{font-size:1.1rem}.skill-tags span{font-size:.8rem;padding:5px 10px}}@media(max-width:480px){.category-title{font-size:1rem}.skill-tags span{font-size:.75rem;padding:4px 8px}}.footer{text-align:center;margin-top:20px;padding:15px 0;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) .4s both;contain:layout style}@media print{.footer{page-break-inside:avoid}}@media print{.animated-background{display:none!important}.cv-container{background:#fff!important;overflow:visible!important}.content{color:#000!important;padding:20px!important;max-width:100%!important}.name{color:#000!important;background:none!important;-webkit-text-fill-color:#000!important;text-shadow:none!important}.category-title{color:#000!important;text-shadow:none!important}.skill-tags span{border:1px solid #333!important;color:#000!important;background:#fff!important;box-shadow:none!important}.title-item{background:#fff!important;border:1px solid #333!important;color:#000!important}.contact-link{background:#fff!important;border:1px solid #333!important;color:#000!important;box-shadow:none!important}.skill-category{background:#fff!important;border:1px solid #333!important;page-break-inside:avoid}*{transition:none!important;animation:none!important}}.code-column{position:absolute;top:-100%;width:20px;font-family:Courier New,Consolas,monospace;font-size:13px;font-weight:600;color:#00ff41;text-shadow:0 0 10px #00ff41,0 0 20px rgba(0,255,65,.5);animation:rain linear infinite;display:flex;flex-direction:column;gap:10px;will-change:transform;pointer-events:none;user-select:none;contain:layout style}@keyframes rain{0%{transform:translate3d(0,-100vh,0);opacity:0}5%{opacity:1}95%{opacity:.9}to{transform:translate3d(0,200vh,0);opacity:0}}.code-symbol{display:block;line-height:1.3;opacity:.85;text-rendering:optimizeSpeed;pointer-events:none;user-select:none}.animated-background{position:fixed;inset:0;background:linear-gradient(135deg,#0a0e27,#1a1f3a,#0f1419);z-index:0;overflow:hidden;contain:strict;pointer-events:none;user-select:none;-webkit-user-select:none}.code-rain{position:absolute;inset:0;opacity:.22;will-change:opacity;pointer-events:none;user-select:none}.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(0,162,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,162,255,.03) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;user-select:none}.contact-link{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;font-weight:600;color:#fff;text-decoration:none;padding:8px 18px;background:#00a2ff33;border:2px solid rgba(0,162,255,.4);border-radius:10px;transition:transform .3s cubic-bezier(.4,0,.2,1),background .3s ease,border-color .3s ease,box-shadow .3s ease;white-space:nowrap;will-change:transform;contain:layout style}.contact-link .icon{width:18px;height:18px;transition:transform .3s cubic-bezier(.4,0,.2,1),filter .3s ease;will-change:transform}.contact-link:hover{background:#00a2ff59;border-color:#00a2ffb3;transform:translateY(-3px);box-shadow:0 10px 30px #00a2ff66;text-shadow:0 0 10px rgba(255,255,255,.5)}.contact-link:hover .icon{transform:scale(1.1);filter:drop-shadow(0 0 8px rgba(255,255,255,.6))}.contact-link:active{transform:translateY(-1px)}@media(max-width:768px){.contact-link{font-size:1rem;padding:8px 18px}}@media(max-width:480px){.contact-link{font-size:.9rem;padding:8px 16px}}.contact-links,.header-contact{display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:wrap;contain:layout style}@media(max-width:768px){.contact-links,.header-contact{gap:12px}}@media(max-width:480px){.contact-links{flex-direction:column;gap:10px}}
