.language-selector{position:relative;padding:.5rem 1vw;border-radius:.5rem;font-size:1rem}.language-dropdown{position:relative}.language-trigger{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s ease;font-size:1rem}.language-trigger:hover{background-color:#3b82f61a;color:var(--accent-primary)}.current-flag{font-size:1.2rem}.language-trigger i{font-size:.8rem;transition:transform .2s ease}.language-dropdown:hover .language-trigger i{transform:rotate(180deg)}.language-menu{position:absolute;top:100%;right:0;background:var(--bg-secondary);border-radius:.5rem;box-shadow:0 10px 25px var(--shadow-medium);border:1px solid var(--border-color);min-width:140px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease;z-index:100}.language-dropdown:hover .language-menu{opacity:1;visibility:visible;transform:translateY(0)}.language-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:transparent;text-align:left;cursor:pointer;transition:background-color .2s ease;font-size:.9rem}.language-option{color:var(--text-primary)}.language-option:hover{background-color:var(--bg-primary)}.language-option.active{background-color:var(--accent-primary);color:#fff}.language-option:first-child{border-radius:.5rem .5rem 0 0}.language-option:last-child{border-radius:0 0 .5rem .5rem}.flag{font-size:1.1rem}.name{font-weight:500}.language-selector select{padding:.5rem 1vw;font-size:1rem}@media (max-width: 768px){.language-menu{right:-10px;min-width:120px}.language-option{padding:.6rem .8rem;font-size:.85rem}}.theme-toggle{background:none;border:none;cursor:pointer;padding:.5rem 1vw;outline:none;border-radius:.5rem;font-size:1rem}.toggle-track{width:48px;height:24px;background:#e2e8f0;border-radius:12px;position:relative;transition:background-color .3s ease;border:1px solid #cbd5e1}.dark-theme .toggle-track{background:#4a5568;border-color:#2d3748}.toggle-thumb{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:1px;left:1px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.dark-theme .toggle-thumb{transform:translate(24px);background:#2d3748;color:#fbbf24}.toggle-thumb i{font-size:.75rem;color:#fbbf24;transition:color .3s ease}.dark-theme .toggle-thumb i{color:#f7fafc}.theme-toggle:hover .toggle-track{background:#cbd5e1}.dark-theme .theme-toggle:hover .toggle-track{background:#5a67d8}.theme-toggle:active .toggle-thumb{transform:scale(.95)}.dark-theme .theme-toggle:active .toggle-thumb{transform:translate(24px) scale(.95)}@media (max-width: 768px){.toggle-track{width:44px;height:22px}.toggle-thumb{width:18px;height:18px}.dark-theme .toggle-thumb{transform:translate(22px)}.toggle-thumb i{font-size:.7rem}}.modal-backdrop{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:0;min-height:100vh}.modal-content{background:var(--bg-primary);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;overflow-y:auto;width:90vw;max-width:600px;border:1px solid var(--border-color);animation:modalFadeIn .2s ease-out;position:relative;margin:0}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-close-button{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-secondary);padding:.5rem;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.modal-close-button:hover{background-color:var(--bg-secondary);color:var(--text-primary);transform:scale(1.05)}.modal-body{padding:1.5rem}.bug-report-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:600;color:var(--text-primary);font-size:.875rem;margin-bottom:.25rem}.form-input,.form-textarea,.form-select{padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;transition:all .2s ease}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f11a}.form-textarea{resize:vertical;min-height:120px;font-family:inherit}.form-select{cursor:pointer}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.form-button{padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.form-button:disabled{opacity:.6;cursor:not-allowed}.form-button-primary{background-color:var(--accent-color);color:#fff}.form-button-primary:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-1px)}.form-button-secondary{background-color:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.form-button-secondary:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.bug-report-success,.bug-report-error{text-align:center;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.bug-report-success i{font-size:3rem;color:#10b981}.bug-report-error i{font-size:3rem;color:#ef4444}.bug-report-success p,.bug-report-error p{margin:0;color:var(--text-primary);font-size:1rem}.bug-report-retry-button{padding:.75rem 1.5rem;background-color:var(--accent-color);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.bug-report-retry-button:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bug-priority-icons{display:flex;flex-direction:column;gap:.25em;margin-top:.5em}.bug-priority-icon-row{display:flex;align-items:center;gap:.5em;padding:.25em .5em;border-radius:6px;transition:background .2s}.bug-priority-icon-row.selected{background:var(--bg-secondary);font-weight:600}.bug-priority-icon-row .fa-ban{color:#ef4444}.bug-priority-icon-row .fa-exclamation-circle{color:#f59e42}.bug-priority-icon-row .fa-bolt{color:#fbbf24}.bug-priority-icon-row .fa-info-circle{color:#3b82f6}.bug-priority-icon-row span{font-size:.95em}.navbar{position:fixed;top:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);z-index:1000;transition:all .3s ease;height:3.5rem;padding:0 2vw}.dark-theme .navbar{background:#0f172af2;border-bottom-color:var(--border-color)}.navbar-content{display:flex;justify-content:space-between;align-items:center;height:70px;max-width:1400px;margin:0 auto;padding:0 1rem}.navbar-actions{display:flex;align-items:center;gap:.25vw;margin-left:0;margin-right:0;position:static;right:unset;top:unset;height:100%}.bug-report-button{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;font-weight:500;white-space:nowrap}.bug-report-button:hover{color:var(--accent-color);background-color:var(--bg-secondary);transform:translateY(-1px)}.bug-report-button i{font-size:1rem}.bug-report-text{font-size:.875rem}.navbar-toggle span{width:25px;height:3px;background-color:var(--text-primary);margin:3px 0;transition:.3s}.navbar-brand a{font-size:1.3rem;font-weight:700;color:var(--text-primary);text-decoration:none;transition:color .3s ease}.navbar-brand a:hover{color:var(--accent-primary)}.navbar-nav{display:flex;list-style:none;gap:1.5rem;margin:0;flex-wrap:nowrap;white-space:nowrap}.navbar-nav li a{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.9rem;transition:color .3s ease;position:relative;white-space:nowrap}.navbar-nav li a:hover{color:var(--accent-primary)}.navbar-nav li a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:var(--accent-primary);transition:width .3s ease}.navbar-nav li a:hover:after,.navbar-nav li a.active:after{width:100%}.navbar-nav li a.active{color:var(--accent-primary)}.navbar-toggle{display:none;flex-direction:column;cursor:pointer}.navbar-toggle span{width:25px;height:3px;background-color:#1f2937;margin:3px 0;transition:.3s}.container{position:static}.contact-anchor{color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease;font-weight:500}.contact-anchor:hover{color:var(--primary-color);background:#3b82f61a}@media (max-width: 1024px){.navbar-nav{gap:1rem}.navbar-nav li a{font-size:.85rem}.navbar-brand a{font-size:1.2rem}}@media (max-width: 768px){.navbar-nav{display:none}.navbar-actions{gap:.5vw;right:1vw}.navbar-actions{order:-1;gap:.5vw;margin-right:.5vw}.navbar-toggle{display:flex}.bug-report-text{display:none}.bug-report-button{padding:.5rem;width:40px;height:40px;justify-content:center}}.navbar-logo{font-size:2rem}.navbar-links{gap:2vw}.navbar-link{font-size:1.1rem}@media (max-width: 48rem){.navbar{padding:0 1vw}.navbar-logo{font-size:1.5rem}.navbar-links{gap:1vw}}.landing-page{min-height:100vh;display:flex;align-items:center;padding-top:4rem;background:var(--accent-gradient);color:#fff;position:relative;overflow:hidden;padding:6vh 0}.landing-page:before{content:"";position:absolute;inset:0;background:#0000004d;z-index:1}.landing-content{min-height:80vh;max-width:80vw;margin:0 auto;padding:6vh 4vw;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:2}.landing-text h1{font-size:3rem;margin-bottom:1.5rem;font-weight:700}.highlight{background:linear-gradient(45deg,#fbbf24,#fcd34d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark-theme .highlight{background:linear-gradient(45deg,#f59e0b,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1.5rem;font-weight:400;margin-bottom:2rem;color:#ffffffe6}.description{font-size:1.2rem;line-height:1.8;margin-bottom:2.5rem;color:#fffc}.cta-buttons{display:flex;gap:1.5rem}.profile-card{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:2rem;text-align:center;border:1px solid rgba(255,255,255,.2);transition:transform .3s ease;position:relative}.profile-card:hover{transform:translateY(-10px)}.placeholder-avatar{width:7.5rem;height:7.5rem;border-radius:50%;background:linear-gradient(45deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff;margin:0 auto;box-shadow:0 10px 30px #0000004d;position:absolute;inset:0;z-index:0}.profile-picture{width:10rem;height:10rem;border-radius:50%;background:linear-gradient(45deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff;margin:0 auto;box-shadow:0 10px 30px #0000004d;object-fit:cover;position:relative;margin-bottom:1rem}.profile-info{position:relative;z-index:1}.profile-info h3{font-size:1.5rem;margin-bottom:1rem}.profile-info p{color:#fffc;margin-bottom:1.5rem}.tech-stack{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.tech-tag{background:#fff3;padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.tech-icon{font-size:1rem;color:var(--accent-secondary)}.landing-title{font-size:3rem;margin-bottom:3vh;display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:1rem;white-space:nowrap}@media (max-width: 32rem){.landing-title{font-size:2.2rem;gap:.5rem;flex-wrap:wrap;white-space:normal;display:flex}}.landing-subtitle{font-size:1.5rem;margin-bottom:4vh}.landing-description{font-size:1.2rem;margin-bottom:5vh}.landing-cta{gap:2vw}.landing-btn{padding:.75rem 1.5rem;font-size:1rem}.landing-profile{margin-top:4vh}.landing-profile-title{font-size:1.5rem;margin-bottom:2vh}.landing-profile-stack{gap:1vw}@media (max-width: 48rem){.landing-content{grid-template-columns:1fr;gap:2rem;text-align:center;padding:2vh 1vw}.landing-text h1{font-size:2.2rem}.cta-buttons{flex-direction:column;align-items:center}.cta-buttons .btn{width:12.5rem}.landing-title{font-size:2.2rem}}.experience-page{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);padding-top:3.5rem;overflow-x:hidden}.experience-content{max-width:90vw;margin:0 auto;padding:6vh 2vw}.experience-header{text-align:center;margin-bottom:8vh}.experience-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;margin-bottom:2vh;color:var(--text-primary);letter-spacing:-.02em;background-repeat:no-repeat;background-position:0 100%;background-size:100% .18rem}.experience-subtitle{font-size:clamp(1.1rem,2vw,1.4rem);color:var(--text-muted);max-width:60vw;margin:0 auto;line-height:1.6}.capstones-section{margin-bottom:8vh}.capstones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3vh;margin-bottom:4vh}.capstone-card{background:var(--surface-elevated);border-radius:1.5rem;padding:3vh 2.5vw;text-align:center;cursor:pointer;transition:all .3s ease;border:2px solid transparent;position:relative;overflow:hidden}.capstone-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:all .3s ease}.capstone-card.capstone-technical:before{background:#4f46e5}.capstone-card.capstone-leadership:before{background:#059669}.capstone-card.capstone-client:before{background:#dc2626}.capstone-card:hover,.capstone-card.active{transform:translateY(-.5vh);box-shadow:0 1vh 3vh #00000026}.capstone-card.active.capstone-technical{border-color:#4f46e5;background:#4f46e50d}.capstone-card.active.capstone-leadership{border-color:#059669;background:#0596690d}.capstone-card.active.capstone-client{border-color:#dc2626;background:#dc26260d}.capstone-icon{font-size:3rem;margin-bottom:2vh;display:block}.capstone-title{font-size:1.4rem;font-weight:700;margin-bottom:1.5vh;color:var(--text-primary)}.capstone-description{font-size:1rem;color:var(--text-muted);line-height:1.5}.filter-controls{display:flex;justify-content:center;gap:1.5vw;margin-bottom:6vh;flex-wrap:wrap}.filter-btn{padding:1.2vh 2.5vw;border:2px solid var(--border-color);background:var(--surface-primary);color:var(--text-muted);border-radius:2rem;cursor:pointer;transition:all .3s ease;font-weight:600;font-size:1rem}.filter-btn:hover{transform:translateY(-2px);border-color:var(--accent-primary);color:var(--text-primary)}.filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;transform:translateY(-2px)}.timeline-interface{display:flex;flex-direction:column;gap:4vh;margin-bottom:6vh}.timeline-nav{position:relative;width:100%;padding:3vh 2vw;margin-bottom:2vh}.timeline-container{position:relative;width:100%;height:8vh;display:flex;align-items:center;justify-content:space-between;padding:0 2vw}.timeline-container:before{content:"";position:absolute;top:50%;left:5%;right:5%;height:3px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:1.5px;transform:translateY(-50%);z-index:1}.timeline-item{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;flex:0 0 auto}.year-marker{position:absolute;top:-35px;left:50%;transform:translate(-50%);padding:.4vh .8vw;background:var(--accent-primary);color:#fff;border-radius:.6rem;font-weight:700;font-size:.65rem;white-space:nowrap;z-index:4;opacity:0;transition:opacity .3s ease}.timeline-item:hover .year-marker,.timeline-item.active .year-marker{opacity:1}.timeline-dot{position:relative;width:2rem;height:2rem;background:var(--surface-elevated);border:3px solid var(--accent-primary);border-radius:50%;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:2;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.timeline-dot:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:var(--accent-primary);opacity:0;transform:scale(.5);transition:all .4s cubic-bezier(.4,0,.2,1)}.timeline-dot:hover{transform:scale(1.2);box-shadow:0 8px 25px rgba(var(--accent-primary-rgb),.3);border-color:var(--accent-secondary)}.timeline-dot:hover:before{opacity:.2;transform:scale(1.5)}.timeline-dot.active{background:var(--accent-primary);transform:scale(1.25);box-shadow:0 8px 30px rgba(var(--accent-primary-rgb),.4);animation:pulse 2s ease-in-out infinite}.timeline-dot.active:before{opacity:.3;transform:scale(1.8)}@keyframes pulse{0%,to{transform:scale(1.25)}50%{transform:scale(1.3)}}.timeline-dot.hovered{transform:scale(1.15);box-shadow:0 6px 20px rgba(var(--accent-primary-rgb),.25)}.dot-inner{width:.8rem;height:.8rem;background:var(--accent-primary);border-radius:50%;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.timeline-dot.active .dot-inner{background:#fff;transform:scale(1.1)}.timeline-dot:hover .dot-inner{background:var(--accent-secondary);transform:scale(1.2)}.dot-tooltip{position:absolute;left:50%;bottom:120%;transform:translate(-50%);background:var(--surface-elevated);padding:1.5vh 2vw;border-radius:.8rem;box-shadow:0 .5vh 2vh #00000026;border:1px solid var(--border-color);opacity:0;visibility:hidden;transition:all .3s ease;white-space:nowrap;z-index:10;min-width:200px}.timeline-dot:hover .dot-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(-10px)}.tooltip-title{font-weight:700;color:var(--text-primary);margin-bottom:.5vh;font-size:.95rem}.tooltip-company{color:var(--accent-primary);font-weight:600;margin-bottom:.3vh;font-size:.9rem}.tooltip-period{color:var(--text-muted);font-size:.85rem}.experience-details{background:var(--surface-elevated);border-radius:1.5rem;padding:4vh 3vw;border:1px solid var(--border-color);animation:slideInRight .5s ease;height:fit-content}@keyframes slideInRight{0%{opacity:0;transform:translate(2rem)}to{opacity:1;transform:translate(0)}}.details-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3vh;gap:2vw}.details-main{flex:1}.details-title{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:1vh;line-height:1.2}.details-company{font-size:1.2rem;color:var(--accent-primary);font-weight:600;margin-bottom:.5vh}.details-period{color:var(--text-muted);font-size:1rem}.details-meta{display:flex;flex-direction:column;align-items:flex-end;gap:1vh}.details-duration{background:var(--accent-primary);color:#fff;padding:.8vh 1.5vw;border-radius:1rem;font-weight:600;font-size:.9rem}.details-categories{display:flex;gap:1vw;flex-wrap:wrap;justify-content:flex-end}.category-tag{padding:.6vh 1.2vw;border-radius:1rem;font-size:.85rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:.5vw}.category-tag.category-technical{background:#4f46e5}.category-tag.category-leadership{background:#059669}.category-tag.category-client{background:#dc2626}.details-impact{background:rgba(var(--accent-primary-rgb),.1);padding:2vh 2vw;border-radius:1rem;margin-bottom:3vh;border-left:4px solid var(--accent-primary)}.details-impact strong{color:var(--accent-primary)}.details-highlights h3{color:var(--text-primary);margin-bottom:2vh;font-size:1.3rem;font-weight:700}.details-highlights ul{list-style:none;padding:0}.details-highlights li{position:relative;padding-left:2vw;margin-bottom:1.5vh;color:var(--text-muted);line-height:1.6}.details-highlights li:before{content:"▸";position:absolute;left:0;color:var(--accent-primary);font-weight:700}.project-links{display:flex;gap:2vw;margin-top:3vh;align-items:stretch;flex-wrap:wrap}.project-link-card{display:flex;flex-direction:column;justify-content:space-between;width:28vw;min-width:220px;background:linear-gradient(135deg,#4f46e50f,#0596690a);border:1px solid var(--border-color);border-radius:1rem;padding:1.6vh 1.6vw;text-decoration:none;color:var(--text-primary);transition:transform .25s ease,box-shadow .25s ease}.project-link-card:hover{transform:translateY(-.6vh);box-shadow:0 1vh 2vh #00000014}.project-link-content{display:flex;align-items:center;justify-content:space-between;gap:1vw}.project-link-title{font-weight:700;font-size:1rem}.project-link-icon{background:#0000000f;padding:.6vh .8vw;border-radius:.6rem;display:flex;align-items:center;justify-content:center}.project-link-cta{margin-top:1vh;font-weight:600;color:var(--accent-primary);font-size:.95rem}@media (max-width: 768px){.project-link-card{width:42vw;min-width:180px}}@media (max-width: 480px){.project-link-card{width:82vw;min-width:0}}.skills-summary{margin-bottom:8vh}.skills-summary h2{text-align:center;font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:4vh}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3vh}.skill-category{background:var(--surface-elevated);border-radius:1.5rem;padding:3vh 2.5vw;border:1px solid var(--border-color)}.skill-category-title{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin-bottom:2vh;display:flex;align-items:center;gap:1vw}.skill-tags{display:flex;flex-wrap:wrap;gap:1vh 1vw}.skill-tag{background:var(--accent-primary-alpha);color:var(--accent-primary);padding:.8vh 1.5vw;border-radius:1rem;font-size:.9rem;font-weight:600;transition:all .3s ease}.skill-tag:hover{background:var(--accent-primary);color:#fff;transform:translateY(-2px)}.education-section{margin-bottom:4vh}.education-section h2{text-align:center;font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:4vh}.education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3vh}.education-card{background:var(--surface-elevated);border-radius:1.5rem;padding:3vh 2.5vw;border:1px solid var(--border-color);transition:all .3s ease}.education-card:hover{transform:translateY(-.5vh);box-shadow:0 1vh 3vh #0000001a}.education-content{width:100%}.education-title{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5vh;line-height:1.3}.education-subtitle{color:var(--text-muted);font-size:1rem;line-height:1.4}@media (max-width: 1024px){.timeline-interface{gap:3vh;margin-bottom:6vh}.timeline-container{padding:0 1vw}.timeline-container:before{left:3%;right:3%}.details-header{flex-direction:column;gap:2vh}.details-meta{align-items:flex-start}.details-categories{justify-content:flex-start}}@media (max-width: 768px){.experience-content{max-width:95vw;padding:4vh 4vw}.capstones-grid{grid-template-columns:1fr;gap:2vh}.filter-controls{gap:2vw}.filter-btn{padding:1vh 4vw}.timeline-interface{gap:3vh;margin-bottom:4vh}.timeline-nav{padding:2vh 0;overflow-x:auto}.timeline-container{min-width:800px;height:6vh;padding:0 4vw}.timeline-container:before{left:8%;right:8%}.timeline-dot{width:1.5rem;height:1.5rem;border-width:2px}.dot-inner{width:.6rem;height:.6rem}.dot-tooltip{min-width:150px;font-size:.8rem;padding:1vh 2vw}.year-marker{top:-30px;font-size:.6rem;padding:.3vh .8vw}.experience-details{padding:3vh 4vw}.skills-grid,.education-grid{grid-template-columns:1fr}}@media (max-width: 480px){.experience-title{font-size:2.2rem}.experience-subtitle{max-width:90vw}.capstone-card{padding:2.5vh 4vw}.timeline-nav{gap:4vw;overflow-x:auto;padding:2vh 2vw}.details-title{font-size:1.5rem}.category-tag{font-size:.8rem;padding:.5vh 2vw}}.projects-page{min-height:100vh;display:flex;align-items:center;padding-top:70px;background:var(--bg-primary);color:var(--text-primary);padding:6vh 0}.page-content{text-align:center;max-width:800px;margin:0 auto;padding:4rem 0}.projects-content{max-width:80vw;margin:0 auto;padding:6vh 4vw}.projects-title{font-size:2.5rem;margin-bottom:4vh}.projects-list{gap:2vw}.project-card{padding:3vh 2vw;border-radius:1rem;box-shadow:0 .25rem .75rem var(--shadow-light)}.project-title{font-size:1.5rem;margin-bottom:2vh}.project-description{font-size:1.1rem}@media (max-width: 768px){.page-content h1{font-size:2.5rem}.content-placeholder{padding:2rem;margin:0 1rem}}@media (max-width: 48rem){.projects-title{font-size:2rem}.projects-content{padding:2vh 1vw}}.demo-page{min-height:100vh;display:flex;align-items:center;padding-top:4rem;background:var(--bg-primary);color:var(--text-primary);padding:6vh 0}.page-content{text-align:center;max-width:50rem;margin:0 auto;padding:4rem 0}.page-content h1{font-size:3rem;margin-bottom:2rem;color:var(--text-primary)}.content-placeholder{background:var(--bg-secondary);padding:3rem;border-radius:1rem;border:1px solid var(--border-color);box-shadow:0 4px 12px var(--shadow-light)}.demo-content{max-width:80vw;margin:0 auto;padding:6vh 4vw}.demo-title{font-size:2.5rem;margin-bottom:4vh}.demo-section{margin-bottom:4vh}.demo-section-title{font-size:1.5rem;margin-bottom:2vh}.demo-section-content{font-size:1.1rem}@media (max-width: 48rem){.page-content h1{font-size:2rem}.content-placeholder{padding:2rem;margin:0 1rem}.demo-title{font-size:2rem}.demo-content{padding:2vh 1vw}}.contact-page{min-height:100vh;display:flex;align-items:center;padding-top:4.375rem;background:var(--bg-primary);color:var(--text-primary)}.contact-disclaimer p{margin-top:1vh;text-align:center;font-size:.9rem;color:var(--text-muted);font-style:italic}.page-content{text-align:center;max-width:80vw;margin:0 auto;padding:6vh 4vw}.page-content h1{font-size:3rem;margin-bottom:4vh;color:var(--text-primary)}.content-placeholder{background:var(--bg-secondary);padding:4vh 3vw;border-radius:1rem;border:1px solid var(--border-color);box-shadow:0 .25rem .75rem var(--shadow-light)}.content-placeholder p{font-size:1.2rem;color:var(--text-muted);margin-bottom:1rem}.content-placeholder p:last-child{margin-bottom:0;font-style:italic}.contact-details{background:var(--bg-secondary);padding:3vh 2vw;border-radius:1rem;border:1px solid var(--border-color);box-shadow:0 .25rem .75rem var(--shadow-light);max-width:40vw;margin:4vh auto 0;text-align:left}.contact-details a{color:var(--accent-primary);text-decoration:underline;word-break:break-all}.contact-details ul{margin:1rem 0 0;padding-left:2vw}.contact-details li{font-size:1.1rem;color:var(--text-secondary);margin-bottom:1vh}.contact-hero{text-align:center;margin-top:2vh;margin-bottom:4vh}.contact-hero h1{font-size:3rem;font-weight:700;color:var(--accent-primary);margin-bottom:1vh}.contact-subtitle{font-size:1.3rem;color:var(--text-muted);margin-bottom:0}.contact-columns{display:grid;align-items:flex-start}.contact-info,.contact-work{background:var(--surface-elevated);border-radius:1.5rem;box-shadow:0 .5rem 2rem var(--shadow-light);padding:3vh 2vw;border:1px solid var(--border-color);min-width:0;font-size:1.2rem}.contact-info h2,.contact-work h2{font-size:1.3rem;font-weight:600;color:var(--accent-primary);display:flex;align-items:center}.contact-email,.contact-link{color:var(--contact-link-color);text-decoration:underline;font-weight:600;transition:color .2s;display:block;font-size:1.3rem}.contact-email:hover,.contact-link:hover{color:var(--accent-color, #ffd700)}.contact-location{font-size:1.3rem;color:var(--text-secondary)}.contact-work ul{margin:0;padding-left:2vw}.contact-work li{font-size:1.1rem;color:var(--text-secondary)}@media (max-width: 56.25rem){.contact-columns{grid-template-columns:1fr;gap:2vw}.contact-info,.contact-work{padding:2vh 1vw}}@media (max-width: 48rem){.page-content h1{font-size:2.5rem}.content-placeholder{padding:2vh 1vw;margin:0 1vw}}@media (max-width: 37.5rem){.contact-hero h1{font-size:2.2rem}.contact-hero{margin-top:2vh}}.readme-page{min-height:100vh;padding-top:4.375rem;background:var(--bg-primary);color:var(--text-primary);font-family:Courier New,monospace}.readme-page .container{max-width:1000px;margin:0 auto;padding:2rem}.readme-page h1{font-size:1.5rem;margin-bottom:2rem;color:var(--text-primary);text-align:center;font-family:Courier New,monospace;font-weight:400}.readme-content{background:#1e1e1e;color:#d4d4d4;padding:2rem;border-radius:.5rem;font-family:Courier New,monospace;font-size:14px;line-height:1.4;white-space:pre-wrap;word-wrap:break-word;border:1px solid #3c3c3c;box-shadow:0 .25rem .75rem #0000004d}.readme-content h1,.readme-content h2,.readme-content h3,.readme-content h4,.readme-content h5,.readme-content h6{color:#4ec9b0;margin-top:1.5rem;margin-bottom:.5rem;font-weight:400}.readme-content h1{font-size:1.2em;color:#569cd6;border-bottom:none;padding-bottom:0}.readme-content h2{font-size:1.1em;color:#4ec9b0}.readme-content p{margin-bottom:.8rem;color:#d4d4d4}.readme-content code{background:#2d2d30;color:#ce9178;padding:.1rem .3rem;border-radius:.2rem;font-family:Courier New,monospace;font-size:.9em}.readme-content pre{background:#2d2d30;color:#d4d4d4;padding:1rem;border-radius:.3rem;overflow-x:auto;margin:1rem 0;border:1px solid #3c3c3c;font-family:Courier New,monospace;font-size:13px}.readme-content pre code{background:none;padding:0;color:#d4d4d4}.readme-content blockquote{border-left:3px solid #4ec9b0;padding-left:1rem;margin:1rem 0;color:#6a9955;font-style:italic}.readme-content ul,.readme-content ol{margin:1rem 0;padding-left:2rem}.readme-content li{margin-bottom:.3rem;color:#d4d4d4}.readme-content a{color:#4ec9b0;text-decoration:none}.readme-content a:hover{text-decoration:underline;color:#5fd4b3}.loading,.error{text-align:center;padding:4rem 2rem;background:#1e1e1e;color:#d4d4d4;border-radius:.5rem;border:1px solid #3c3c3c;font-family:Courier New,monospace}.loading p,.error p{font-size:1rem;margin:0;font-family:Courier New,monospace}.error p{color:#f48771}.readme-content:before{content:"# The README file for this full-stack web application, fully deployed end to end with AI/ML and Genai integrations";display:block;color:#6a9955;font-style:italic;margin-bottom:1rem;font-size:12px}@media (max-width: 768px){.readme-page .container{padding:1rem}.readme-page h1{font-size:1.2rem}.readme-content{padding:1rem;font-size:13px}}.ugc-page{min-height:100vh;background:linear-gradient(135deg,#0f0f0ff2,#191923f2);color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.ugc-hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;background:radial-gradient(ellipse at center,rgba(59,130,246,.1) 0%,transparent 60%)}.ugc-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(147,197,253,.08) 0%,transparent 50%);pointer-events:none}.ugc-hero-content{position:relative;z-index:2;max-width:1000px;padding:2rem;display:flex;align-items:center;gap:4rem;flex-wrap:wrap;justify-content:center}.hero-profile{flex:0 0 auto}.profile-image-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem}.profile-image{width:160px;height:160px;border-radius:50%;object-fit:cover;border:4px solid rgba(59,130,246,.3);box-shadow:0 0 40px #3b82f633;transition:all .4s ease}.profile-image:hover{transform:scale(1.05);border-color:#3b82f680;box-shadow:0 0 60px #3b82f64d}.profile-status{display:flex;align-items:center;gap:.5rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);padding:.5rem 1rem;border-radius:50px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status-dot{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:pulse 2s infinite}.status-text{font-size:.85rem;color:#22c55e;font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.hero-text{flex:1;text-align:center}.ugc-title{font-size:clamp(3rem,8vw,6rem);font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#e2e8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.ugc-tagline{font-size:clamp(1.2rem,3vw,1.5rem);color:var(--text-secondary);margin-bottom:3rem;font-weight:300;letter-spacing:.02em}.hero-cta{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.cta-button{padding:1rem 2rem;border:none;border-radius:50px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cta-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 8px 32px #3b82f64d}.cta-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px #3b82f666}.cta-secondary{background:#ffffff1a;color:var(--text-color);border:1px solid rgba(255,255,255,.2)}.cta-secondary:hover{background:#fff3;transform:translateY(-2px)}.ugc-about{padding:8rem 2rem;max-width:1200px;margin:0 auto;text-align:center}.section-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;margin-bottom:2rem;color:var(--text-color)}.section-description{font-size:1.2rem;line-height:1.8;color:var(--text-secondary);max-width:800px;margin:0 auto}.ugc-niches{padding:8rem 2rem;background:#0003}.niches-container{max-width:1400px;margin:0 auto;text-align:center}.niches-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:4rem}.niche-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2.5rem;text-align:center;transition:all .4s ease;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.niche-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899);transform:scaleX(0);transition:transform .4s ease}.niche-card:hover:before{transform:scaleX(1)}.niche-card:hover{transform:translateY(-10px);background:#ffffff14;border-color:#3b82f64d;box-shadow:0 20px 60px #0000004d}.niche-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--text-color)}.niche-description{color:var(--text-secondary);line-height:1.6;margin-bottom:2rem}.demo-videos{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-top:1.5rem}.video-placeholder{aspect-ratio:9/16;background:linear-gradient(135deg,#3b82f626,#93c5fd14);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(59,130,246,.2);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.video-placeholder:before{content:"▶";font-size:1.2rem;color:#ffffffb3;transition:all .4s ease;z-index:2;position:relative}.video-placeholder:hover{transform:translateY(-3px);background:linear-gradient(135deg,#3b82f640,#93c5fd26);border-color:#3b82f666;box-shadow:0 6px 20px #3b82f626}.video-placeholder:hover:before{color:#fff;transform:scale(1.2)}.video-placeholder[data-video-number]:after{content:attr(data-video-number);position:absolute;top:.5rem;right:.5rem;background:#000000b3;color:#fff;font-size:.7rem;padding:.2rem .4rem;border-radius:8px;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ugc-contact{padding:8rem 2rem;text-align:center;background:linear-gradient(135deg,#3b82f60d,#93c5fd05)}.contact-container{max-width:800px;margin:0 auto}.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:3rem 0}.contact-item{background:#ffffff0d;padding:2rem;border-radius:16px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-label{font-weight:600;color:var(--text-color);margin-bottom:.5rem}.contact-value{color:var(--text-secondary);font-size:1.1rem}.contact-email{color:#3b82f6;text-decoration:none}.contact-email:hover{color:#60a5fa}.social-links{display:flex;justify-content:center;gap:2rem;margin:3rem 0;flex-wrap:wrap}.social-link{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:50px;color:var(--text-color);text-decoration:none;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:500}.social-icon{font-size:1.2rem;transition:all .3s ease}.social-link:hover{background:#ffffff1a;transform:translateY(-2px);box-shadow:0 8px 25px #0003}.social-link.instagram:hover{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff;border-color:#833ab4;box-shadow:0 8px 25px #833ab44d}.social-link.tiktok:hover{background:linear-gradient(135deg,#000,#ff0050);color:#fff;border-color:#ff0050;box-shadow:0 8px 25px #ff00504d}.social-link.youtube:hover{background:linear-gradient(135deg,red,#c00);color:#fff;border-color:red;box-shadow:0 8px 25px #ff00004d}.social-link:hover .social-icon{transform:scale(1.1)}.social-title{font-size:2rem!important;margin-top:4rem!important}.final-cta{margin-top:3rem}@media (max-width: 768px){.ugc-hero{min-height:90vh}.hero-cta{flex-direction:column;align-items:center}.cta-button{width:100%;max-width:300px}.niches-grid{grid-template-columns:1fr;gap:1.5rem}.niche-card{padding:2rem}.demo-videos{grid-template-columns:repeat(3,1fr);gap:.5rem}.contact-info{grid-template-columns:1fr}.social-links{flex-direction:column;align-items:center}.social-link{width:100%;max-width:300px;justify-content:center}.ugc-hero-content{flex-direction:column;gap:2rem}.profile-image{width:120px;height:120px}.hero-text{text-align:center}.video-wrapper{padding-bottom:75%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.profile-image{animation:float 6s ease-in-out infinite}.niche-card{animation:fadeInUp .6s ease forwards;opacity:0;transform:translateY(30px)}.niche-card:nth-child(1){animation-delay:.1s}.niche-card:nth-child(2){animation-delay:.2s}.niche-card:nth-child(3){animation-delay:.3s}.niche-card:nth-child(4){animation-delay:.4s}.niche-card:nth-child(5){animation-delay:.5s}.niche-card:nth-child(6){animation-delay:.6s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}[data-theme=light] .ugc-page{background:linear-gradient(135deg,#f8fafcf2,#f1f5f9f2)}[data-theme=light] .ugc-title{background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .niche-card{background:#fffc;border:1px solid rgba(0,0,0,.1)}[data-theme=light] .niche-card:hover{background:#ffffffe6;border-color:#3b82f64d}[data-theme=light] .contact-item,[data-theme=light] .social-link{background:#fffc;border:1px solid rgba(0,0,0,.1)}[data-theme=light] .social-link:hover{background:#ffffffe6}[data-theme=light] .social-link.instagram:hover{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff;border-color:#833ab4}[data-theme=light] .social-link.tiktok:hover{background:linear-gradient(135deg,#000,#ff0050);color:#fff;border-color:#ff0050}[data-theme=light] .social-link.youtube:hover{background:linear-gradient(135deg,red,#c00);color:#fff;border-color:red}[data-theme=light] .cta-secondary{background:#0000000d;color:var(--text-color);border:1px solid rgba(0,0,0,.1)}[data-theme=light] .cta-secondary:hover{background:#0000001a}.video-modal-content{padding:0}.video-wrapper{position:relative;width:100%;height:0;padding-bottom:56.25%;border-radius:12px;overflow:hidden;background:#000}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-modal-footer{padding:1.5rem 0 0;text-align:center}.video-modal-footer p{margin-bottom:1.5rem;color:var(--text-secondary);font-size:1.1rem}.ugc-demographics{padding:5rem 2rem;background:linear-gradient(135deg,#0f0f0ffa,#191923fa);position:relative}.ugc-demographics:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(59,130,246,.05) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(147,197,253,.03) 0%,transparent 50%);pointer-events:none}.demographics-container{max-width:1200px;margin:0 auto;position:relative;z-index:2;text-align:center}.demographics-placeholder{margin-top:3rem;display:flex;justify-content:center;align-items:center;min-height:400px}.graph-placeholder{background:#ffffff0d;border:2px dashed rgba(59,130,246,.3);border-radius:16px;padding:3rem;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.graph-placeholder:hover{background:#ffffff14;border-color:#3b82f680;transform:translateY(-2px)}.placeholder-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.graph-placeholder p{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.graph-placeholder small{color:var(--text-secondary);font-size:1rem}[data-theme=light] .ugc-demographics{background:linear-gradient(135deg,#f8fafcfa,#f1f5f9fa)}[data-theme=light] .graph-placeholder{background:#00000005;border-color:#3b82f633}[data-theme=light] .graph-placeholder:hover{background:#0000000d;border-color:#3b82f666}.chat-button{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;background:none;border:none;color:#c7c7c7;font-size:2rem;cursor:pointer;transition:all .3s ease;z-index:1000;display:flex;align-items:center;justify-content:center;padding:0}.chat-button:hover{color:#999}.chat-button:active{transform:translateY(-1px)}.chat-button i{animation:pulse 2s infinite;text-shadow:0 0 10px rgba(255,255,255,.5)}.chat-button:hover i{text-shadow:0 0 15px rgba(255,255,255,.7)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media (max-width: 768px){.chat-button{bottom:1.5rem;right:1.5rem;width:60vw;height:60vh;font-size:2.5rem}}.chat-overlay{position:fixed;inset:0;background:#0000001a;z-index:999;opacity:0;animation:fadeInOverlay .2s ease-out forwards;pointer-events:none}.chat-overlay{pointer-events:auto}@keyframes fadeInOverlay{to{opacity:1}}.pointer-events-auto{pointer-events:auto}.chat-panel{position:fixed;top:0;right:-100%;height:100vh;width:25vw;min-width:320px;max-width:400px;background:var(--surface-elevated);border-left:1px solid var(--border-color);z-index:1001;transition:right .3s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;overflow:hidden}.chat-panel:hover,.chat-panel:focus-within{overscroll-behavior:contain}.chat-panel-open{right:0}.chat-panel::-webkit-scrollbar{width:8px}.chat-panel::-webkit-scrollbar-track{background:transparent}.chat-panel::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:4px}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:2vh 3vw;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.chat-header h3{margin:0;font-size:clamp(1rem,2.5vw,1.125rem);font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.chat-header-title-group{display:flex;flex-direction:column}.chat-header-title{margin-bottom:2px}.chat-header-subtitle{font-size:.75rem;color:var(--text-muted);font-weight:400;letter-spacing:.01em;margin-top:2px}.chat-close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.125rem;cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.chat-close-btn:hover{background-color:var(--border-color);color:var(--text-primary)}.chat-content{flex:1;display:flex;flex-direction:column;height:100%;min-height:0}.chat-messages{flex:1;padding:1.5vh 0 0;overflow-y:auto;scroll-behavior:smooth;min-height:0;max-height:100%}.chat-messages::-webkit-scrollbar{width:8px;background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:8px}.message{display:flex;gap:.7vw;margin-bottom:2vh;padding:0 1vw;animation:slideInMessage .3s ease-out}@keyframes slideInMessage{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bot-message{align-self:flex-start}.user-message{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:clamp(28px,4vw,32px);height:clamp(28px,4vw,32px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(12px,2vw,14px);flex-shrink:0;margin-top:.2vh}.bot-message .message-avatar{background:var(--accent-primary);color:#fff}.user-message .message-avatar{background:var(--text-secondary);color:#fff}.message-content{max-width:calc(100% - 3vw);padding:1vh 1vw;border-radius:18px;font-size:clamp(13px,2vw,14px);line-height:1.4}.bot-message .message-content{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.user-message .message-content{background:var(--accent-primary);color:#fff}.typing-indicator{display:flex;gap:.5vw;align-items:center;padding:1vh 0}.typing-indicator span{width:.5vw;height:.5vw;min-width:6px;min-height:6px;border-radius:50%;background:var(--text-primary);animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.3}40%{opacity:1}}.chat-input-container{padding:2vh 3vw;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.chat-input-wrapper{display:flex;gap:1vw;align-items:end}.chat-input{flex:1;padding:1.5vh 2vw;border:1px solid var(--border-color);border-radius:20px;font-size:clamp(13px,2vw,14px);outline:none;transition:all .2s ease;background:var(--bg-primary);color:var(--text-primary);font-family:inherit;resize:none;min-height:6vh;max-height:15vh}.chat-input:focus{border-color:var(--accent-primary)}.chat-input:disabled{background-color:var(--bg-primary);color:var(--text-muted);cursor:not-allowed;opacity:.6}.chat-send-btn{width:clamp(40px,6vh,44px);height:clamp(40px,6vh,44px);border:none;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.chat-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.chat-send-btn:disabled{background:#cbd5e1;cursor:not-allowed;transform:none;box-shadow:none}.chat-status{font-size:clamp(.75rem,2vw,.85rem);color:var(--text-muted);text-align:center;margin:0;font-style:italic}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 48rem){.chat-panel{width:100vw;right:-100vw;min-width:unset;max-width:unset}.chat-panel.chat-panel-open{right:0}.message{gap:1vw;padding:0 2vw}.message-content{max-width:calc(100% - 5vw);padding:1.2vh 1.2vw}.chat-header,.chat-input-container{padding:3vh 4vw}}:root{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--border-color: #e2e8f0;--shadow-light: rgba(30, 64, 175, .1);--shadow-medium: rgba(30, 64, 175, .15);--accent-primary: #2563eb;--accent-secondary: #fbbf24;--accent-gradient: linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #fbbf24 100%);--surface-elevated: rgba(255, 255, 255, .95);--contact-link-color: var(--text-primary);--container-max-width: 75vw}.dark-theme{--bg-primary: #0f172a;--bg-secondary: #1e293b;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-color: #334155;--shadow-light: rgba(0, 0, 0, .3);--shadow-medium: rgba(0, 0, 0, .4);--accent-primary: #3b82f6;--accent-secondary: #f59e0b;--accent-gradient: linear-gradient(135deg, #1e40af 0%, #3b82f6 50%, #f59e0b 100%);--surface-elevated: rgba(30, 41, 59, .95);--contact-link-color: #fff}[data-theme=dark]{--contact-link-color: #f4f4f4}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:1rem;color:var(--text-primary)}h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:2rem}h4{font-size:1.5rem}p{margin-bottom:1rem;font-size:1.1rem;color:var(--text-secondary)}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 2vw}.btn{display:inline-block;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s,border .2s,box-shadow .2s;text-decoration:none;text-align:center;border:none}.btn-primary{background:linear-gradient(90deg,#2563eb,#3b82f6);color:#fff;box-shadow:0 .125rem .5rem #3b82f614}.btn-primary:hover{background:linear-gradient(90deg,#1e40af,#2563eb);color:#fff}.btn-secondary{background:#fff;color:#2563eb;border:.125rem solid #2563eb}.btn-secondary:hover{background:#e0e7ff;color:#1e40af;border-color:#1e40af}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out}@media (max-width: 48rem){h1{font-size:2.5rem}h2{font-size:2rem}.container{padding:0 1vw}}.ugc-page{padding:2rem;color:var(--text-primary);background:var(--bg-primary);min-height:100vh}.ugc-navbar{padding:1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}
