:root{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-tertiary: #1a1a1a;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #666666;--accent-primary: #3b82f6;--accent-secondary: #8b5cf6;--accent-tertiary: #06b6d4;--accent-success: #10b981;--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--gradient-secondary: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--gradient-accent: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);--gradient-mesh: radial-gradient(at 40% 20%, rgba(59, 130, 246, .15) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(139, 92, 246, .15) 0px, transparent 50%), radial-gradient(at 0% 50%, rgba(6, 182, 212, .15) 0px, transparent 50%);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2.5rem;--spacing-xl: 4rem;--spacing-2xl: 6rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.02em;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(59, 130, 246, .3)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:80px}body{margin:0;background-color:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;min-height:100vh}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#c9a961,#8b7355);border-radius:6px;border:2px solid var(--bg-primary)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#e8d5b7,#c9a961)}*{scrollbar-width:thin;scrollbar-color:#c9a961 var(--bg-primary)}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;line-height:1.2;letter-spacing:-.01em}h1{font-size:3.2rem}h2{font-size:2.4rem}h3{font-size:1.8rem}p,span,a,button{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;letter-spacing:-.01em;font-size:.9rem}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;outline:none}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:inherit;font-weight:inherit}.glass{background:#ffffff05;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(201,169,97,.1);border-radius:4px}.btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:.9rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;border:1px solid;border-radius:0;transition:all .3s ease;cursor:pointer}.btn-primary{background:transparent;border-color:var(--accent-primary);color:var(--accent-primary)}.btn-primary:hover{background:var(--accent-primary);color:var(--bg-primary);transform:translateY(-2px)}.btn-secondary{background:transparent;border-color:var(--text-secondary);color:var(--text-secondary)}.btn-secondary:hover{border-color:var(--text-primary);color:var(--text-primary);transform:translateY(-2px)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #667eea80}50%{box-shadow:0 0 40px #667eeacc}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media(max-width:1024px){:root{--spacing-xl: 3rem;--spacing-lg: 2rem}}@media(max-width:768px){:root{--spacing-xl: 2rem;--spacing-lg: 1.5rem;--spacing-md: 1.25rem;--spacing-sm: .75rem}body{overflow-x:hidden}.container{padding:0 var(--spacing-sm)}}.app{position:relative;width:100%;min-height:100vh;overflow-x:hidden}html{scroll-behavior:smooth}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0a0a0a}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#764ba2,#f093fb)}.hero-section{min-height:100vh;width:100%;position:relative;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;background:var(--bg-primary);overflow:hidden;transition:padding-top .5s ease}.hero-section.chat-focused{padding-top:5vh}.language-switcher{position:fixed;top:1.5rem;right:1.5rem;display:flex;align-items:center;gap:.5rem;z-index:100;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem 1rem;border-radius:100px;border:1px solid rgba(201,169,97,.2)}.lang-btn{background:none;border:none;color:var(--text-muted);font-size:.8125rem;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:all .3s;padding:.25rem .5rem}.lang-btn:hover{color:var(--text-secondary)}.lang-btn.active{color:#c9a961;font-weight:600}.lang-divider{color:var(--text-muted);opacity:.3}.meteor-trail{position:fixed;width:60px;height:60px;border-radius:50%;pointer-events:none;z-index:1;transform:translate(-50%,-50%)}.background-name{position:absolute;bottom:8%;left:0;right:0;display:flex;flex-direction:row;justify-content:center;gap:2em;z-index:0;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;overflow:hidden}.background-name span{font-size:clamp(3.5rem,10vw,8.5rem);font-weight:200;letter-spacing:.08em;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,169,97,.2);text-transform:uppercase;font-family:Playfair Display,Times New Roman,serif;white-space:nowrap}.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(201,169,97,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(201,169,97,.015) 1px,transparent 1px);background-size:80px 80px;z-index:1;pointer-events:none}.avatar-section{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.hero-identity{text-align:center;margin-top:1rem}.hero-name{font-family:var(--font-serif);font-size:1.5rem;color:var(--cream);font-weight:600;margin-bottom:.5rem;letter-spacing:.02em}.hero-baseline{font-size:.9rem;color:#c9a961d9;line-height:1.5;max-width:400px;margin:0 auto}.avatar-3d-container{perspective:1000px;transform-style:preserve-3d}.avatar-3d{position:relative;width:160px;height:160px;border-radius:50%;overflow:visible;transform-style:preserve-3d}.avatar-3d img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:saturate(.9) contrast(1.05) sepia(.1);border:3px solid rgba(201,169,97,.4)}.avatar-glow{position:absolute;inset:-30%;background:radial-gradient(circle at center,rgba(201,169,97,.25) 0%,rgba(201,169,97,.1) 30%,transparent 60%);pointer-events:none;border-radius:50%;animation:glow-pulse 4s ease-in-out infinite}.avatar-ring{position:absolute;inset:-8px;border:1px solid rgba(201,169,97,.2);border-radius:50%;animation:ring-pulse 3s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes ring-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.2}}.floating-accent{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(201,169,97,.05) 0%,transparent 70%);border:1px solid rgba(201,169,97,.05);z-index:2;pointer-events:none}.floating-accent.el-1{width:300px;height:300px;top:10%;left:5%;filter:blur(40px)}.floating-accent.el-2{width:200px;height:200px;bottom:15%;right:10%;filter:blur(30px)}@media(max-width:768px){.hero-section{padding-top:8vh}.avatar-3d{width:120px;height:120px}.background-name{gap:1.5em}.background-name span{font-size:clamp(2.5rem,10vw,5rem)}.language-switcher{top:1rem;right:1rem;padding:.375rem .75rem}.meteor-trail,.floating-accent{display:none}}.system-section{background:#c9a9610d;border:1px solid rgba(201,169,97,.15);border-radius:12px;padding:1.25rem;margin-top:.5rem}.system-section h3{font-family:var(--font-serif);color:var(--gold);font-size:1.32rem;margin-bottom:.5rem;font-weight:500}.about-intro,.projects-intro,.skills-intro,.fun-intro{color:#fff9;font-size:.9775rem;margin-bottom:1rem;line-height:1.4}.timeline{display:flex;flex-direction:column;gap:1.5rem}.timeline-item{display:flex;gap:1rem;position:relative;background:#0003;border:1px solid rgba(201,169,97,.1);border-radius:8px;padding:1rem;transition:all .2s}.timeline-item:hover{border-color:#c9a9614d;background:#0000004d}.timeline-marker{width:12px;height:12px;background:var(--gold);border-radius:50%;margin-top:.3rem;flex-shrink:0;box-shadow:0 0 8px #c9a96166}.timeline-content{flex:1}.timeline-content .period{color:#c9a961cc;font-size:.8625rem;font-weight:500;display:block;margin-bottom:.25rem}.timeline-content h4{color:var(--cream);font-size:1.2rem;margin:0 0 .5rem;font-weight:600}.timeline-content p{color:#ffffffbf;font-size:.9775rem;margin:0 0 .75rem;line-height:1.6}.highlights{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:0;margin-bottom:.75rem}.highlight-tag{background:#c9a9611f;color:var(--gold);padding:.25rem .6rem;border-radius:12px;font-size:.805rem;border:1px solid rgba(201,169,97,.25);font-weight:500;transition:all .2s}.highlight-tag:hover{background:#c9a96133;border-color:#c9a96166}.ask-more-btn{background:transparent;border:none;color:#c9a961b3;padding:.4rem 0;font-size:.8625rem;font-style:italic;cursor:pointer;transition:all .2s;margin-top:.5rem;font-family:inherit;text-align:left}.ask-more-btn:hover{color:var(--gold);transform:translate(2px)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.project-card{background:#0000004d;border:1px solid rgba(201,169,97,.1);border-radius:8px;padding:.75rem;cursor:pointer;transition:all .2s;position:relative}.project-card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 4px 12px #c9a96126}.learn-more-hint{color:#c9a96199;font-size:.805rem;margin-top:.5rem;font-style:italic;opacity:0;transition:opacity .2s}.project-card:hover .learn-more-hint{opacity:1}.project-card h4{color:var(--cream);font-size:1.02rem;margin:0 0 .5rem}.project-card .description{color:#ffffffb3;font-size:.8625rem;margin:0 0 .5rem;line-height:1.4}.project-card .tech{color:#ffffff80;font-size:.805rem;margin:0}.project-card .status{display:inline-block;background:#c9a96133;color:var(--gold);padding:.15rem .5rem;border-radius:4px;font-size:.7475rem;margin-top:.5rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.35rem}.tech-tag{background:#c9a9611a;color:var(--gold);padding:.2rem .4rem;border-radius:4px;font-size:.7475rem}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.skill-category h4{color:var(--cream);font-size:.96rem;margin:0 0 .5rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.35rem}.skill-tag{background:#c9a9611a;color:var(--gold);padding:.2rem .5rem;border-radius:4px;font-size:.805rem}.fun-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.fun-card{background:#0000004d;border:1px solid rgba(201,169,97,.1);border-radius:8px;padding:.75rem;text-align:center;transition:all .2s}.fun-icon{font-size:2.3rem;margin-bottom:.5rem}.fun-card h4{color:var(--cream);font-size:1.02rem;margin:0 0 .5rem}.fun-card p{color:#ffffffb3;font-size:.8625rem;line-height:1.4;margin:0}.fun-section .wip-message{color:#fff9;font-style:italic;text-align:center;padding:1rem}.contact-direct{display:flex;flex-direction:column;gap:.875rem;margin-bottom:1.5rem;padding:1.25rem;background:#c9a96114;border:1px solid rgba(201,169,97,.2);border-radius:10px}.contact-item{display:flex;flex-direction:column;gap:.4rem;padding:.75rem;background:#0003;border-radius:6px;transition:all .2s}.contact-item:hover{background:#0000004d;border:1px solid rgba(201,169,97,.15);margin:-1px}.contact-label{font-size:.8625rem;color:#c9a961cc;text-transform:uppercase;letter-spacing:.5px;font-weight:600;display:flex;align-items:center;gap:.3rem}.contact-link{color:var(--gold);font-size:1.0925rem;text-decoration:none;transition:all .2s;font-weight:500;display:inline-flex;align-items:center;gap:.5rem}.contact-link:hover{color:var(--cream);transform:translate(3px)}.contact-link:after{content:"↗";font-size:.8rem;opacity:0;transition:opacity .2s}.contact-link:hover:after{opacity:1}.contact-divider{text-align:center;margin:1.5rem 0;position:relative}.contact-divider:before,.contact-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#c9a96133}.contact-divider:before{left:0}.contact-divider:after{right:0}.contact-divider span{color:#c9a96199;font-size:.75rem;font-style:italic;background:#0a0a0ae6;padding:0 .75rem;position:relative}.contact-form{display:flex;flex-direction:column;gap:.75rem}.form-row{display:flex;gap:.5rem}.form-row input{flex:1}.contact-form input,.contact-form textarea{background:#0000004d;border:1px solid rgba(201,169,97,.2);border-radius:6px;padding:.6rem .75rem;color:var(--cream);font-size:.9775rem;font-family:inherit;transition:border-color .2s}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--gold)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#fff6}.contact-form textarea{resize:vertical;min-height:60px}.contact-form button{background:linear-gradient(135deg,var(--gold) 0%,#b8964d 100%);color:var(--dark-bg);border:none;border-radius:6px;padding:.7rem 1.5rem;font-weight:600;cursor:pointer;transition:transform .2s,opacity .2s}.contact-form button:hover{transform:translateY(-1px);opacity:.9}.contact-form button:disabled{opacity:.5;cursor:not-allowed}.form-success{color:var(--gold);text-align:center;padding:1rem}.form-error{color:#ff6b6b;text-align:center;padding:1rem}.contact-footer{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(201,169,97,.1);text-align:center;color:#c9a961cc;font-size:.9775rem;font-style:italic;line-height:1.5}.retry-btn{background:transparent;border:1px solid var(--gold);color:var(--gold);padding:.5rem 1rem;border-radius:6px;cursor:pointer;margin-top:.5rem;transition:all .2s}.retry-btn:hover{background:var(--gold);color:var(--dark-bg)}.fun-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.fun-card{background:#0000004d;border:1px solid rgba(201,169,97,.1);border-radius:8px;padding:1rem;text-align:center;transition:all .3s}.fun-card:hover{border-color:var(--gold);transform:translateY(-2px)}.fun-icon{font-size:2.875rem;margin-bottom:.5rem}.fun-card h4{color:var(--gold);font-size:1.14rem;margin:.5rem 0;font-weight:600}.fun-card p{color:#ffffffb3;font-size:.92rem;margin:0;line-height:1.4}@media(max-width:500px){.skills-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.fun-grid{grid-template-columns:1fr}}.chat-container{position:fixed;bottom:25%;left:0;right:0;margin-left:auto;margin-right:auto;width:95%;max-width:850px;z-index:100;transition:all .4s cubic-bezier(.4,0,.2,1)}.chat-container.focused{top:15%;bottom:5%;max-width:800px;width:90%;height:auto;max-height:85vh}.chat-widget{background:#0a0a0ad9;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid rgba(201,169,97,.15);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 60px #00000080,0 0 0 1px #c9a9610d inset;height:100%}.chat-identity{text-align:center;padding:1rem 1.5rem .75rem;border-bottom:1px solid rgba(201,169,97,.1)}.identity-name{font-family:var(--font-serif);font-size:1.1rem;color:var(--cream);font-weight:600;margin-bottom:.25rem}.identity-baseline{font-size:.75rem;color:#c9a961cc;line-height:1.4}.questions-remaining{text-align:center;padding:.5rem;font-size:.75rem;color:var(--gold);background:#c9a9611a;border-bottom:1px solid rgba(201,169,97,.1)}.chat-widget-messages{overflow-y:auto;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;min-height:auto;max-height:300px;transition:all .4s cubic-bezier(.4,0,.2,1)}.chat-container.focused .chat-widget-messages{flex:1;max-height:calc(90vh - 200px);padding:1rem 2rem;overflow-y:auto}.chat-message{max-width:90%}.chat-message.user{align-self:flex-end}.chat-message.ai{align-self:flex-start}.chat-message.intro{max-width:100%;text-align:center;align-self:center}.chat-message.intro .message-text{background:transparent;border:none;padding:0;display:flex;justify-content:center}.intro-message{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;padding:1rem}.intro-name{font-size:1.75rem;font-weight:700;color:var(--text-primary);font-family:Playfair Display,Times New Roman,serif;letter-spacing:.02em;margin:0}.intro-line{font-size:.9375rem;color:var(--text-secondary);margin:0;line-height:1.6}.intro-line:first-of-type{color:#c9a961;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500}.intro-ask{font-size:.875rem;color:var(--text-muted);font-style:italic;margin-top:.5rem}.message-text{padding:.875rem 1.25rem;border-radius:16px;font-size:.85rem;line-height:1.7;white-space:pre-line}.chat-message.ai .message-text{font-size:.85rem;line-height:1.7}.chat-message.ai .message-text p{margin:0 0 .75rem}.chat-message.ai .message-text p:last-child{margin-bottom:0}.chat-message.ai .message-text strong{color:var(--gold);font-weight:600}.chat-message.ai .message-text em{color:#c9a961cc;font-style:italic}.chat-message.user .message-text{background:linear-gradient(135deg,#c9a961,#8b7355);color:#fff;border-radius:16px 16px 4px}.chat-message.ai .message-text{background:#ffffff08;border:1px solid rgba(201,169,97,.1);color:var(--text-primary);border-radius:16px 16px 16px 4px}.message-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem}.action-btn{padding:.5rem 1rem;background:#c9a96114;border:1px solid rgba(201,169,97,.2);border-radius:100px;color:#c9a961;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.action-btn:hover{background:#c9a96126;border-color:#c9a96166}.typing-indicator{display:flex;gap:.3rem;padding:.875rem 1.25rem;background:#ffffff08;border:1px solid rgba(201,169,97,.1);border-radius:16px;width:fit-content}.typing-indicator span{width:7px;height:7px;background:#c9a961;border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-widget-input{display:flex;gap:.75rem;padding:1rem 1.25rem;background:#0003;border-top:1px solid rgba(201,169,97,.08)}.chat-widget-input input{flex:1;padding:.875rem 1.25rem;background:#ffffff08;border:1px solid rgba(201,169,97,.15);border-radius:100px;color:var(--text-primary);font-size:.9375rem;outline:none;transition:all .3s}.chat-widget-input input:focus{border-color:#c9a96166;background:#ffffff0d;box-shadow:0 0 20px #c9a9611a}.chat-widget-input input::placeholder{color:var(--text-muted)}.chat-widget-input .send-btn{padding:.875rem;background:linear-gradient(135deg,#c9a961,#8b7355);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;box-shadow:0 4px 15px #c9a9614d}.chat-widget-input .send-btn:hover{box-shadow:0 6px 20px #c9a96166}.quick-actions-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid rgba(201,169,97,.05)}.quick-action-pill{padding:.625rem 1.25rem;background:#c9a9610d;border:1px solid rgba(201,169,97,.15);border-radius:100px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.quick-action-pill:hover{background:#c9a9611f;border-color:#c9a9614d;color:#c9a961}.chat-widget-messages::-webkit-scrollbar{width:6px}.chat-widget-messages::-webkit-scrollbar-thumb{background:#c9a96133;border-radius:3px}.chat-widget-messages::-webkit-scrollbar-thumb:hover{background:#c9a9614d}@media(min-width:769px)and (max-width:1024px){.chat-container{width:88%;max-width:680px;bottom:30%;left:0;right:0;margin-left:auto;margin-right:auto}.chat-container.focused{top:15%;bottom:8%;width:85%}.chat-widget-messages{max-height:250px}.quick-actions-bar{padding:.875rem 1rem}.quick-action-pill{padding:.5rem 1rem;font-size:.75rem}}@media(min-width:1025px)and (max-width:1366px)and (max-height:900px){.chat-container{bottom:18%;max-width:750px}.chat-container.focused{top:12%;bottom:8%}.chat-widget-messages{max-height:280px}}@media(max-width:768px){.chat-container{width:96%;bottom:3%;left:2%;right:2%}.chat-container.focused{top:8%;bottom:3%;width:96%;max-height:89vh}.chat-widget-messages{max-height:280px}.chat-container.focused .chat-widget-messages{max-height:calc(89vh - 200px)}.intro-name{font-size:1.5rem}.quick-actions-bar{gap:.375rem;padding:.875rem 1rem}.quick-action-pill{padding:.5rem 1rem;font-size:.75rem}}
