:root{--bg-primary: #0c0c0c;--bg-elevated: #0e0e0e;--bg-card: #111;--bg-input: #0a0a0a;--border-subtle: #161616;--border-default: #1a1a1a;--text-primary: #e5e5e5;--text-secondary: #999;--text-muted: #555;--text-dim: #444;--skill-fresh: 1;--skill-recent: .75;--skill-established: .5;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:#0c0c0c;color:#e5e5e5;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.hero{padding:64px 24px 40px;text-align:center;position:relative}.hero:before{content:"";position:absolute;top:0;left:0;right:0;height:320px;background:radial-gradient(ellipse 50% 40% at 50% 20%,rgba(100,100,120,.08) 0%,transparent 70%);pointer-events:none}.hero:after{content:"";position:absolute;top:50%;left:50%;width:200px;height:200px;background:radial-gradient(circle,rgba(100,100,120,.03) 0%,transparent 70%);transform:translate(-50%,-50%);pointer-events:none}.hero-content{position:relative;z-index:1}.name{font-size:clamp(3rem,10vw,4rem);font-weight:600;letter-spacing:-.04em;color:#fff;margin-bottom:8px;cursor:pointer;transition:all var(--transition-normal);text-shadow:0 0 40px rgba(255,255,255,.05)}.name:hover{text-shadow:0 0 60px rgba(255,255,255,.08)}.tagline{font-size:.9rem;color:#4a4a4a;font-weight:400;letter-spacing:.02em}.main-content{flex:1;padding:0 24px 80px;max-width:680px;margin:0 auto;width:100%}.about-section{margin-bottom:48px;padding:48px 0;border-top:1px solid #141414}.about-heading{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:#333;margin-bottom:20px}.about-text{font-size:1.05rem;color:#777;line-height:1.75}.about-text strong{color:#999;font-weight:500}.about-text a{color:#666;text-decoration:none;border-bottom:1px solid #2a2a2a;transition:color .2s,border-color .2s}.about-text a:hover{color:#999;border-color:#3a3a3a}.social-links{display:flex;gap:24px;margin-top:28px}.social-link{display:inline-flex;align-items:center;gap:6px;color:#444;text-decoration:none;font-size:.8rem;transition:color .2s}.social-link svg{width:16px;height:16px}.chat-section{margin-bottom:48px}.section-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:#555;margin-bottom:16px}.chat-container{background:#0d0d0f;border:1px solid #181820;border-radius:16px;overflow:hidden;box-shadow:0 2px 16px #0000001a}.messages-container{min-height:240px;max-height:360px;overflow-y:auto;padding:20px}.message{margin-bottom:18px;animation:fadeIn .3s ease-out both}.message:last-child{margin-bottom:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message-header{display:flex;align-items:baseline;gap:8px;margin-bottom:5px}.message-sender{font-size:.75rem;font-weight:500;color:#555}.ai-message .message-sender{color:#666}.message-time{font-size:.65rem;color:#2e2e2e}.message-content{padding:14px 18px;border-radius:12px;font-size:.9rem;line-height:1.65}.user-message .message-content{background:#181820;color:#ccc;border-radius:4px 16px 16px}.ai-message .message-content{background:#0f0f12;color:#aaa;border-radius:16px 16px 16px 4px}.message-text{word-wrap:break-word;white-space:pre-wrap}.message-text p{margin:0 0 8px}.message-text p:last-child{margin-bottom:0}.message-text ul,.message-text ol{margin:0 0 8px;padding-left:16px}.message-text li{margin:0 0 3px}.message-text code{background:#1a1a1a;padding:2px 5px;border-radius:4px;font-family:SF Mono,Fira Code,monospace;font-size:.85em}.message-text pre{background:#0a0a0a;padding:12px;border-radius:8px;overflow-x:auto;margin:8px 0;border:1px solid #1a1a1a}.message-text pre code{background:none;padding:0}.message-text strong{font-weight:600;color:#fff}.message-text a{color:#555;text-decoration:none;border-bottom:1px solid #333}.message-text a:hover{color:#777}.typing-indicator{display:flex;gap:4px;padding:4px 0}.typing-indicator span{width:5px;height:5px;background:#444;border-radius:50%;animation:typing 1.2s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.input-form{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #181820;background:#0d0d0f}.message-input{flex:1;background:#0a0a0a;border:1px solid #181818;border-radius:10px;padding:12px 14px;font-size:.875rem;font-family:inherit;color:#ddd;resize:none;min-height:48px;max-height:120px;line-height:1.5;transition:border-color .2s}.message-input:focus{outline:none;border-color:#252525}.message-input::placeholder{color:#3a3a3a}.send-button{padding:0 24px;background:#1a1a1f;color:#888;border:1px solid #252530;border-radius:10px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);align-self:flex-end;min-height:48px;letter-spacing:.02em}.send-button:hover:not(:disabled){background:#222228;color:#aaa;border-color:#303040}.send-button:disabled{opacity:.3;cursor:not-allowed}.footer{padding:48px 24px;text-align:center;border-top:1px solid #141414}.footer-text{font-size:.65rem;color:#2a2a2a;letter-spacing:.1em}.nav-container{padding:32px 24px;display:flex;justify-content:center;gap:32px}.nav-link{color:#444;text-decoration:none;font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:color .2s;padding:4px 0;position:relative}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:1px;background:#333;transition:all .3s ease;transform:translate(-50%)}.nav-link:hover{color:#888}.nav-link:hover:after{width:100%}.nav-link.active{color:#666}.nav-link.active:after{width:100%;background:#444}.contact-page{max-width:680px;margin:0 auto;padding:0 24px 80px}.contact-header{padding:80px 0 48px;text-align:center}.contact-header h1{font-size:clamp(2rem,6vw,2.5rem);font-weight:600;color:#fff;margin-bottom:12px}.contact-header p{font-size:.95rem;color:#555}.contact-main{padding:0}.contact-section{padding:24px 0;border-top:1px solid #141414}.contact-content{display:flex;flex-direction:column;gap:48px}.contact-info h2,.contact-form-container h2{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:#333;margin-bottom:16px}.contact-info p{font-size:1rem;color:#777;line-height:1.75}.contact-methods{margin-top:24px}.contact-method h3{font-size:.75rem;font-weight:500;color:#555;margin-bottom:12px;text-transform:uppercase;letter-spacing:.08em}.social-links-contact{display:flex;gap:20px;flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;gap:8px;color:#444;text-decoration:none;font-size:.85rem;transition:color .2s}.social-link:hover{color:#777}.social-link svg{width:18px;height:18px}.contact-form-container{background:#0d0d0f;border:1px solid #181820;border-radius:16px;padding:28px;box-shadow:0 2px 16px #0000001a}.contact-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.75rem;font-weight:500;color:#555;text-transform:uppercase;letter-spacing:.08em}.form-group input,.form-group textarea{background:#0a0a0a;border:1px solid #181818;border-radius:10px;padding:12px 14px;font-size:.875rem;font-family:inherit;color:#ddd;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#252525}.form-group input::placeholder,.form-group textarea::placeholder{color:#3a3a3a}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{background:#141414;color:#666;border:1px solid #1e1e1e;border-radius:10px;padding:14px 24px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;align-self:flex-start}.submit-btn:hover:not(:disabled){background:#171717;color:#888;border-color:#262626}.submit-btn:disabled{opacity:.3;cursor:not-allowed}.form-status{font-size:.8rem;padding:8px 12px;border-radius:6px;margin-top:8px}.form-status.success{color:#66bb6a}.form-status.error,.form-status.sending{color:#e57373}.blog-page{max-width:680px;margin:0 auto;padding:0 24px 80px}.blog-header{padding:80px 0 48px;text-align:center}.blog-header h1{font-size:clamp(2rem,6vw,2.5rem);font-weight:600;color:#fff;margin-bottom:12px}.blog-header p{font-size:.95rem;color:#555}.blog-main{padding:0}.blog-list{display:flex;flex-direction:column;gap:24px}.blog-preview{background:#0e0e0e;border:1px solid #181820;border-radius:16px;padding:24px;cursor:pointer;transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}.blog-preview:hover{border-color:#222230;transform:translateY(-3px);box-shadow:0 8px 32px #0003}.blog-preview h3{font-size:1.1rem;font-weight:600;color:#e5e5e5;margin-bottom:8px}.post-meta{display:flex;gap:12px;margin-bottom:12px}.post-date{font-size:.75rem;color:#444}.post-excerpt{font-size:.9rem;color:#777;line-height:1.6;margin-bottom:16px}.read-more{background:none;border:none;color:#555;font-size:.8rem;cursor:pointer;transition:color .2s;padding:0}.read-more:hover{color:#777}.blog-post-full{background:#0e0e0e;border:1px solid #161616;border-radius:14px;padding:32px}.back-button{background:none;border:none;color:#555;font-size:.85rem;cursor:pointer;transition:color .2s;padding:0;margin-bottom:24px}.back-button:hover{color:#777}.blog-post-full h2{font-size:1.5rem;font-weight:600;color:#fff;margin-bottom:12px}.post-content{font-size:1rem;color:#999;line-height:1.8}.post-content h1,.post-content h2{color:#e5e5e5;margin:24px 0 12px}.post-content h1{font-size:1.4rem}.post-content h2{font-size:1.2rem}.post-content h3{font-size:1.05rem;color:#bbb;margin:20px 0 10px}.post-content p{margin-bottom:16px}.post-content a{color:#666;text-decoration:none;border-bottom:1px solid #2a2a2a}.post-content a:hover{color:#999;border-color:#3a3a3a}.post-content strong{color:#e5e5e5;font-weight:600}.post-content hr{border:none;border-top:1px solid #1a1a1a;margin:24px 0}.projects-container{max-width:680px;margin:0 auto;padding:0 24px 80px}.projects-container h1{font-size:clamp(2rem,6vw,2.5rem);font-weight:600;color:#fff;padding:80px 0 24px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .3s}.projects-container h1:hover{color:#ddd}.projects-intro{font-size:.95rem;color:#555;text-align:center;margin-bottom:32px}.projects-grid{display:flex;flex-direction:column;gap:16px}.project-card{background:#0d0d0f;border:1px solid #181820;border-radius:16px;padding:24px;text-decoration:none;display:block;transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}.project-card:hover{border-color:#222230;transform:translateY(-3px);box-shadow:0 8px 32px #0003}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.project-header h3{font-size:1.15rem;font-weight:600;color:#e5e5e5;letter-spacing:-.01em}.project-link-arrow{color:#333;font-size:1rem;transition:all var(--transition-normal)}.project-card:hover .project-link-arrow{color:#666;transform:translate(3px,-3px)}.project-description{font-size:.9rem;color:#777;line-height:1.6;margin-bottom:16px}.project-tags{display:flex;flex-wrap:wrap;gap:8px}.project-tag{font-size:.7rem;font-weight:500;color:#555;background:#111;padding:4px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.05em}.messages-container::-webkit-scrollbar{width:5px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:#1a1a1a;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#222}.career-page{max-width:1000px;margin:0 auto;padding:0 24px 120px}.career-header{text-align:center;padding:72px 0 56px}.career-header h1{font-size:clamp(2rem,6vw,2.5rem);font-weight:600;color:#fff;margin-bottom:10px;letter-spacing:-.03em}.career-header p{font-size:.85rem;color:#404040;letter-spacing:.04em}.career-layout{display:grid;grid-template-columns:1fr 220px;gap:64px;position:relative}.career-timeline{position:relative}.timeline-entry{margin-bottom:56px;position:relative;padding-left:28px}.timeline-entry:before{content:"";position:absolute;left:0;top:8px;bottom:-56px;width:1px;background:linear-gradient(to bottom,#1a1a1f,#161616,transparent)}.timeline-entry:last-child:before{bottom:0}.timeline-year{font-size:.65rem;font-weight:500;letter-spacing:.15em;color:#3a3a3a;margin-bottom:8px}.timeline-role{font-size:1rem;font-weight:600;color:#d0d0d0;margin-bottom:4px;letter-spacing:-.01em}.timeline-company{font-size:.75rem;color:#4a4a4a;margin-bottom:14px;letter-spacing:.02em}.timeline-description{font-size:.9rem;color:#606060;line-height:1.7;max-width:520px}.timeline-project{margin-bottom:20px;padding-left:28px;position:relative}.timeline-project:before{content:"";position:absolute;left:0;top:8px;bottom:-20px;width:1px;background:linear-gradient(to bottom,#1a1a1f,#161616,transparent)}.timeline-project:last-child:before{display:none}.project-link{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:#0c0c0e;border:1px solid #181820;border-radius:8px;text-decoration:none;transition:border-color .2s ease,background-color .2s ease}.project-link:hover{border-color:#2a2a30;background:#0e0e11}.project-header{display:flex;align-items:center;gap:8px}.project-icon{width:13px;height:13px;color:#404040;flex-shrink:0}.project-name{font-size:.75rem;font-weight:600;color:#888;letter-spacing:-.01em}.project-meta-inline{display:flex;align-items:center;gap:8px;margin-left:auto}.meta-language{display:flex;align-items:center;gap:4px;font-size:.65rem;color:#505050}.language-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.meta-stars{display:flex;align-items:center;gap:3px;font-size:.65rem;color:#505050}.meta-stars svg{opacity:.5}.project-description{font-size:.7rem;color:#484848;line-height:1.4;margin:0}.career-stats-panel{position:fixed;top:50%;right:40px;transform:translateY(-50%);width:220px;background:#0d0d0f;border:1px solid #181820;border-radius:16px;padding:20px;box-shadow:0 4px 24px #00000026;z-index:50;transition:border-color .3s ease}.career-stats-panel.level-up{border-color:#3a3a40}.stats-header{font-size:.6rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:#2a2a2a;margin-bottom:16px;text-align:center}.xp-categories{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.xp-category-row{display:grid;grid-template-columns:16px 1fr auto;gap:8px;align-items:center;padding:6px 8px;border-radius:8px;transition:background-color .3s ease}.xp-category-row.xp-gain{background:#ffffff08}.xp-icon{font-size:.7rem;color:#404040}.xp-label{font-size:.75rem;color:#505050}.xp-count{font-size:.7rem;color:#707070;font-weight:500;min-width:16px;text-align:right}.xp-bar-container{grid-column:1 / -1;height:2px;background:#181820;border-radius:1px;margin-top:4px;overflow:hidden}.xp-bar-fill{height:100%;background:linear-gradient(to right,#2a2a30,#404045);border-radius:1px;transition:width .4s ease-out}.xp-category-row.xp-gain .xp-bar-fill{background:linear-gradient(to right,#4a4a55,#606068);box-shadow:0 0 8px #64646e4d}.xp-total-section{margin-top:16px;padding-top:16px;border-top:1px solid #181820}.xp-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.xp-total-label{font-size:.65rem;color:#3a3a3a;text-transform:uppercase;letter-spacing:.1em}.xp-total-value{font-size:.9rem;color:gray;font-weight:500}.xp-max{font-size:.65rem;color:#404040}.xp-progress-track{height:4px;background:#181820;border-radius:2px;overflow:hidden}.xp-progress-fill{height:100%;background:linear-gradient(to right,#252530,#3a3a45);border-radius:2px;transition:width .5s ease-out}.xp-level-badge{margin-top:16px;text-align:center;padding:10px;background:#0f0f12;border-radius:10px;border:1px solid #181820;transition:all .3s ease}.xp-level-badge.level-up{border-color:#4a4a55;transform:scale(1.02)}.xp-level-number{display:block;font-size:.7rem;font-weight:600;color:#606060;letter-spacing:.05em}.xp-level-title{display:block;font-size:.8rem;color:#909090;font-weight:500;margin-top:2px}.mobile-xp-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:#0d0d0f;border-top:1px solid #181820;padding:12px 16px 16px;z-index:100}.mobile-xp-categories{display:flex;justify-content:space-between;margin-bottom:10px}.mobile-xp-category{display:flex;flex-direction:column;align-items:center;gap:2px}.mobile-xp-icon{font-size:.65rem;color:#404040}.mobile-xp-count{font-size:.7rem;color:#707070;font-weight:500}.mobile-xp-progress{height:3px;background:#181820;border-radius:2px;overflow:hidden;margin-bottom:8px}.mobile-xp-progress-fill{height:100%;background:linear-gradient(to right,#2a2a30,#404045);border-radius:2px;transition:width .4s ease-out}.mobile-xp-info{display:flex;justify-content:space-between;align-items:center}.mobile-xp-total{font-size:.7rem;color:#606060;font-weight:500}.mobile-xp-level{font-size:.6rem;color:#404040}@media (max-width: 1024px){.career-stats-panel{display:none}.mobile-xp-bar{display:block}.career-layout{grid-template-columns:1fr;padding-bottom:100px}}@media (max-width: 640px){.hero{padding:56px 20px 40px}.main-content{padding:0 20px 60px}.about-section{padding:36px 0}.social-links{gap:20px}.messages-container{min-height:200px;max-height:300px}.nav-container{gap:16px;padding:24px 16px}.nav-link{font-size:.7rem}.career-page{padding:0 16px 140px}.career-header{padding:56px 0 40px}.timeline-entry{margin-bottom:40px;padding-left:20px}.timeline-entry:before{bottom:-40px}.timeline-role{font-size:.95rem}.timeline-description{font-size:.85rem}.timeline-project{margin-bottom:16px;padding-left:20px}.timeline-project:before{bottom:-16px}}
