:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}[data-theme=light]{--bg-primary:#f5f7fa;--bg-secondary:#fff;--card-bg:#fff;--border-color:#e5e7eb;--text-primary:#111827;--text-secondary:#374151;--text-muted:#6b7280;--primary-color:#2563eb;--primary-hover:#1d4ed8;--primary-light:#dbeafe;--success-color:#059669;--success-light:#d1fae5;--error-color:#dc2626;--error-light:#fee2e2;--warning-color:#d97706;--warning-light:#fed7aa;--hover-bg:#f3f4f6;--active-bg:#dbeafe;--focus-ring:#2563eb40;--input-bg:#fff;--input-border:#d1d5db;--input-focus:#2563eb;--progress-bg:#e5e7eb;--tag-bg:#dbeafe;--bot-message-bg:#f3f4f6;--user-message-bg:#2563eb;--shadow-sm:#0000000d;--shadow-md:#0000001a;--shadow-lg:#00000026;--shadow-primary:#2563eb40;--shadow-success:#05966940;--shadow-error:#dc262640}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--card-bg:#1e293b;--border-color:#334155;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--primary-color:#3b82f6;--primary-hover:#60a5fa;--primary-light:#1e3a5f;--success-color:#10b981;--success-light:#064e3b;--error-color:#ef4444;--error-light:#7f1d1d;--warning-color:#f59e0b;--warning-light:#78350f;--hover-bg:#334155;--active-bg:#1e3a5f;--focus-ring:#3b82f666;--input-bg:#0f172a;--input-border:#475569;--input-focus:#3b82f6;--progress-bg:#334155;--tag-bg:#1e3a5f;--bot-message-bg:#334155;--user-message-bg:#3b82f6;--shadow-sm:#0003;--shadow-md:#0000004d;--shadow-lg:#0006;--shadow-primary:#3b82f64d;--shadow-success:#10b9814d;--shadow-error:#ef44444d}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);margin:0;transition:background-color .3s,color .3s}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--text-primary)}a{color:var(--primary-color);text-decoration:none}button{-webkit-tap-highlight-color:transparent;font-family:inherit}@media (max-width:768px){button,a,input,textarea,select{min-height:44px}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:999;flex-direction:column;width:250px;height:100vh;transition:width .3s;display:flex;position:fixed;top:0;left:0}.sidebar.collapsed{width:70px}.sidebar.collapsed .sidebar-item span{opacity:0;width:0;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:center;align-items:center;padding:1rem 1.5rem;display:flex}.sidebar-logo-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.25rem;transition:opacity .2s,transform .2s;display:flex}.sidebar-logo-btn:hover{opacity:.8;transform:scale(1.05)}.sidebar-logo-btn:active{transform:scale(.97)}.sidebar-logo{object-fit:contain;width:40px;height:40px}.sidebar-nav{flex-direction:column;flex:1;padding:1rem 0;display:flex;overflow-y:auto}.sidebar-item{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.875rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.sidebar.collapsed .sidebar-item{justify-content:center;gap:0;padding:.875rem .5rem}.sidebar-item:hover{background:var(--hover-bg);color:var(--text-primary)}.sidebar-item.active{background:var(--primary-color);color:#fff;border-left-color:var(--primary-hover)}.sidebar-item svg{flex-shrink:0;width:20px;height:20px}.sidebar-toggle{background:var(--card-bg);border:1px solid var(--border-color);cursor:pointer;width:36px;height:36px;color:var(--text-primary);z-index:10;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;bottom:1rem;right:1rem}.sidebar-toggle:hover{background:var(--hover-bg);color:var(--text-primary)}.sidebar.collapsed .sidebar-toggle{right:50%;transform:translate(50%)}@media (max-width:768px){.sidebar{border-right:none;border-top:1px solid var(--border-color);flex-direction:row;width:100%;height:60px;top:auto;bottom:0}.sidebar-toggle,.sidebar-header{display:none}.sidebar-nav{flex-direction:row;justify-content:space-around;width:100%;padding:0;overflow:auto hidden}.sidebar-item{border-top:3px solid #0000;border-left:none;flex-direction:column;flex:1;justify-content:center;gap:.25rem;min-width:60px;padding:.5rem;font-size:.7rem}.sidebar-item.active{border-left-color:#0000;border-top-color:var(--primary-color)}.sidebar-item svg{width:22px;height:22px}.sidebar-item span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}}.search-bar-container{width:100%;position:relative}.search-bar{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:8px;height:40px;padding:6px 12px;transition:all .2s;display:flex}.search-bar:hover,.search-bar-open{border-color:var(--primary-color);box-shadow:0 2px 8px var(--shadow-md)}.search-icon{color:var(--text-primary);flex-shrink:0}.search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}.search-input::placeholder{color:var(--text-muted)}.search-clear{cursor:pointer;color:var(--text-primary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.search-clear:hover{background:var(--hover-bg);color:var(--text-primary)}.search-results{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 4px 20px var(--shadow-lg);z-index:1000;border-radius:8px;max-height:400px;animation:.2s slideDown;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-results-header{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:12px;font-weight:600}.search-result-item{text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--border-color);background:0 0;width:100%;padding:12px 16px;transition:background-color .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--hover-bg)}.search-result-title{color:var(--primary-color);margin-bottom:4px;font-size:14px;font-weight:600}.search-result-content{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.search-no-results{text-align:center;color:var(--text-secondary);padding:24px 16px;font-size:14px}.search-results::-webkit-scrollbar{width:6px}.search-results::-webkit-scrollbar-track{background:0 0}.search-results::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.search-results::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width:768px){.search-bar-container{max-width:100%}.search-results{max-height:300px}.search-result-item{padding:10px 12px}}.header{background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:100;height:70px;transition:left .3s;position:fixed;top:0;left:250px;right:0}.sidebar-collapsed .header{left:70px}.header-content{justify-content:space-between;align-items:center;gap:1.5rem;height:100%;padding:0 2rem;display:flex}.header-search{flex:1;max-width:none;display:flex}.header-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.theme-toggle,.language-toggle{background:var(--card-bg);border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-width:40px;min-height:40px;padding:.5rem;transition:all .2s;display:flex}.language-toggle span{font-size:.75rem;font-weight:600}.theme-toggle:hover,.language-toggle:hover{background:var(--hover-bg)}@media (max-width:768px){.header{height:60px;left:0}.header-content{gap:.75rem;padding:0 1rem}.header-search{max-width:100%}.header-actions{gap:.5rem}.theme-toggle,.language-toggle{min-width:36px;min-height:36px;padding:.4rem}.language-toggle span{font-size:.7rem}}@media (max-width:480px){.header-search{flex:1}.header-actions{gap:.4rem}.language-toggle span{display:none}}.card{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 2px 4px var(--shadow-sm);border-radius:12px;padding:1.5rem;transition:all .2s}.card:hover{box-shadow:0 4px 12px var(--shadow-md);transform:translateY(-2px)}.card-title{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem;font-weight:600;line-height:1.3}.card-content{color:var(--text-secondary);line-height:1.6}@media (max-width:768px){.card{padding:1.25rem}.card-title{font-size:1.15rem}.card-content{font-size:.9rem}}@media (max-width:480px){.card{border-radius:10px;padding:1rem}.card-title{font-size:1.1rem}}.hero-actions{justify-content:center;margin-bottom:1rem;display:flex}.download-cv-button{cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border:1px solid #0000;border-radius:10px;align-items:center;gap:.55rem;padding:.7rem 1.1rem;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex}.download-cv-button:hover:not(:disabled){box-shadow:0 10px 20px rgba(var(--primary-rgb,99,102,241),.28);transform:translateY(-2px)}.download-cv-button:active:not(:disabled){transform:translateY(0)}.download-cv-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}.download-cv-button:disabled{opacity:.7;cursor:not-allowed}.hero-section{text-align:center;flex-direction:column;justify-content:center;align-items:stretch;min-height:60vh;margin-bottom:1rem;padding:3rem 0;display:flex}.counters-row{justify-content:center;align-items:flex-start;gap:4rem;margin:3rem auto 2.5rem;display:flex}.experience-counter{text-align:center;cursor:pointer;border-radius:12px;padding:.5rem 1rem;transition:transform .2s,opacity .2s}.experience-counter:hover{opacity:.9;background:var(--hover-bg,rgba(var(--primary-rgb,99,102,241),.05));transform:translateY(-4px)}.experience-counter:active{transform:translateY(-2px)}.experience-counter:focus-visible{outline:2px solid var(--primary-color);outline-offset:4px}.counter-label{text-transform:uppercase;letter-spacing:.15em;color:var(--text-secondary);margin-bottom:.25rem;font-size:.8rem;font-weight:600}.counter-hero{justify-content:center;align-items:baseline;gap:.4rem;line-height:1;display:flex}.counter-years-value{font-variant-numeric:tabular-nums;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:5.5rem;font-weight:800}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.counter-years-value{color:var(--primary-color)}}.counter-years-label{text-transform:lowercase;color:var(--text-secondary);font-size:1.6rem;font-weight:600}.counter-sub{justify-content:center;align-items:baseline;gap:.3rem;margin-top:.15rem;display:flex}.counter-mid-value{font-variant-numeric:tabular-nums;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.counter-mid-value{color:var(--primary-color)}}.counter-mid-label{text-transform:lowercase;color:var(--text-secondary);margin-right:.15rem;font-size:.9rem;font-weight:500}.counter-dot{color:var(--text-secondary);margin:0 .2rem;font-size:1.3rem;font-weight:700}.counter-clock{justify-content:center;align-items:baseline;gap:.1rem;margin-top:.3rem;display:flex}.counter-clock-value{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:1.15rem;font-weight:600}.counter-clock-sep{color:var(--text-secondary);opacity:.5;margin:0 .05rem;font-size:1.15rem;font-weight:700}.counter-seconds{animation:1s ease-in-out infinite pulse-second}@keyframes pulse-second{0%,to{opacity:1}50%{opacity:.5}}.hero-title{white-space:nowrap;width:100%;margin-bottom:.75rem;font-size:clamp(2.2rem,7vw,6rem);font-weight:700;line-height:1.2}.hero-title-button{all:unset;width:100%;font:inherit;color:var(--text-primary);background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-text-fill-color:transparent;cursor:pointer;-webkit-background-clip:text;background-clip:text;transition:opacity .2s;display:block}.hero-title-button:hover{opacity:.8}.hero-title-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:4px;border-radius:4px}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.hero-title-button{color:var(--primary-color)}}.hero-subtitle{color:var(--text-secondary);width:100%;margin:0 0 2rem;font-size:clamp(1rem,2.2vw,1.8rem);line-height:1.4}.projects-counter{text-align:center;cursor:pointer;border-radius:12px;padding:.5rem 1rem;transition:transform .2s,opacity .2s}.projects-counter:hover{opacity:.9;background:var(--hover-bg,rgba(var(--primary-rgb,99,102,241),.05));transform:translateY(-4px)}.projects-counter:active{transform:translateY(-2px)}.projects-counter:focus-visible{outline:2px solid var(--primary-color);outline-offset:4px}.projects-number{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:5.5rem;font-weight:800;line-height:1}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.projects-number{color:var(--primary-color)}}.description-section{width:100%;max-width:700px;margin:0 auto 1.5rem}.description-card{background:var(--card-bg);border:1px solid var(--border-color);text-align:center}.description-title{color:var(--text-primary);margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.description-text{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.6}.experience-section{margin:1.5rem 0}.timeline{margin-left:.5rem;padding-left:2rem;position:relative}.timeline:before{content:"";background:linear-gradient(180deg,var(--primary-color),var(--border-color));border-radius:2px;width:3px;position:absolute;top:calc(.35rem + 6.5px);bottom:0;left:0}.timeline-item{margin-bottom:2rem;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-dot{background:var(--primary-color);border:3px solid var(--card-bg,var(--bg-primary));width:13px;height:13px;box-shadow:0 0 0 2px var(--primary-color);z-index:1;border-radius:50%;position:absolute;top:.35rem;left:calc(1.5px - 2rem);transform:translate(-50%)}.timeline-content h4{color:var(--text-primary);margin-bottom:.5rem;font-size:1.1rem;line-height:1.4}.timeline-company{color:var(--primary-color);margin-bottom:.75rem;font-size:.9rem;font-weight:600}.timeline-period{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;font-style:italic}.timeline-content p{line-height:1.6}.education-item h4{color:var(--text-primary);margin-bottom:.5rem;font-size:1.1rem;line-height:1.4}.education-institution{color:var(--primary-color);margin-bottom:.75rem;font-size:.9rem;font-weight:600}.skills-section-about{border-top:1px solid var(--border-color);margin-top:3rem;padding-top:2rem}.skills-section-about .section-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem}.skills-section-about .section-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem}.skills-unified{flex-direction:column;gap:1.5rem;margin-bottom:2.5rem;display:flex}.skills-category-title{color:var(--primary-color);text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--primary-color);margin:0 0 .5rem;padding-bottom:.4rem;font-size:1rem;font-weight:700}.skills-list{flex-direction:column;display:flex}.skill-item{border-bottom:1px solid var(--border-color)}.skill-item:last-child{border-bottom:none}.skill-summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:.65rem .25rem;list-style:none;transition:color .2s;display:flex}.skill-summary::-webkit-details-marker{display:none}.skill-summary:hover .skill-name{color:var(--primary-hover)}.skill-name{color:var(--text-primary);font-size:1.1rem;font-weight:600}.skill-item[open] .skill-name{color:var(--primary-color)}.skill-description{color:var(--text-secondary);margin:0 0 .7rem;padding:0 .25rem 0 .75rem;font-size:.87rem;line-height:1.55;animation:.25s skillFadeIn}@keyframes skillFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.additional-skills-section{margin-top:2.5rem}.tags-container{flex-wrap:wrap;gap:.6rem;display:flex}.skill-tag{background:var(--tag-bg,var(--primary-light));color:var(--primary-color);border:1px solid var(--primary-color);cursor:default;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.skill-tag:hover{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px var(--shadow-primary,#3b82f64d);transform:translateY(-2px)}@media (max-width:768px){.hero-subtitle{margin-bottom:1.5rem;font-size:.95rem}.counters-row{gap:2.5rem;margin:2rem auto}.counter-years-value{font-size:3.5rem}.counter-years-label{font-size:1.2rem}.counter-mid-value{font-size:1.5rem}.counter-clock-value,.counter-clock-sep{font-size:.95rem}.projects-number{font-size:3.5rem}.description-title{font-size:1rem}.description-text{font-size:.9rem}.timeline{padding-left:1.5rem}.timeline-dot{width:11px;height:11px;left:calc(1.5px - 1.5rem)}.timeline-content h4,.education-item h4{font-size:1rem}.timeline-company,.education-institution{font-size:.85rem}.timeline-content p{font-size:.9rem}.skills-section-about .section-title{font-size:1.3rem}}@media (max-width:480px){.hero-subtitle{margin-bottom:1rem;font-size:.9rem}.counters-row{flex-direction:column;align-items:center;gap:1.5rem;margin:1.5rem auto}.counter-years-value{font-size:3rem}.counter-years-label{font-size:1rem}.counter-mid-value{font-size:1.2rem}.counter-mid-label{font-size:.7rem}.counter-clock-value,.counter-clock-sep{font-size:.85rem}.projects-number{font-size:3rem}.description-title{font-size:.95rem}.description-text{font-size:.85rem}.experience-section{margin:1rem 0}.timeline{padding-left:1.25rem}.timeline-dot{left:calc(1.5px - 1.25rem)}.skill-name{font-size:1rem}.skill-description{font-size:.8rem}.tags-container{gap:.4rem}.skill-tag{padding:.4rem .75rem;font-size:.8rem}}.app{background:var(--bg-primary);min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;margin-left:250px;transition:margin-left .3s;display:flex}.sidebar-collapsed .main-content{margin-left:70px}.content-area{flex:1;margin-top:70px;padding:2rem;position:relative;overflow-y:auto}.content-area.chat-active{padding:0;overflow:hidden}.section-content{width:100%;max-width:1200px;margin:0 auto}.loading{min-height:200px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:1rem;display:flex}@media (max-width:1024px){.content-area{padding:1.5rem}.content-area.chat-active{padding:0}}@media (max-width:768px){.main-content{margin-left:0;padding-bottom:60px}.content-area{margin-top:60px;padding:1rem}.content-area.chat-active{margin-top:0;padding:0;overflow:hidden}.content-area.space-active{touch-action:none;overscroll-behavior:none;-webkit-overflow-scrolling:auto;-webkit-user-select:none;user-select:none;margin-top:60px;padding:0;position:fixed;top:0;bottom:60px;left:0;right:0;overflow:hidden}.section-content{width:100%}}@media (max-width:480px){.content-area{padding:.75rem}.content-area.chat-active{padding:0}}
