@import"https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&family=Nunito:wght@400;500;600;700;800;900&display=swap";:root{--font-heading: "Quicksand", "Nunito", -apple-system, sans-serif;--font-body: "Nunito", -apple-system, sans-serif;--primary-color: #FF69B4;--primary-hover: #FF85C8;--secondary-color: #FFB6C1;--secondary-hover: #FFC8D6;--accent-pink: #FF1493;--accent-purple: #DA70D6;--accent-lavender: #E8D4FC;--light-pink: #FFE4E6;--soft-pink: rgba(255, 105, 180, .15);--accent-mint: #A8E6CF;--accent-peach: #FFB4D5;--accent-coral: #FF7A8C;--accent-yellow: #FFE66D;--accent-sky: #87CEEB;--bg-primary: #0f0f0f;--bg-secondary: #151515;--bg-tertiary: #1e1e1e;--bg-card: #161616;--bg-surface: #121212;--text-primary: #ffffff;--text-secondary: #e0b0c8;--text-muted: #997788;--text-accent: #FF69B4;--border: rgba(255, 105, 180, .18);--border-light: rgba(255, 182, 193, .22);--border-hover: rgba(255, 105, 180, .45);--divider: rgba(255, 105, 180, .1);--success: #77DD77;--warning: #FFD700;--error: #FF7A8C;--info: #87CEEB;--gradient-primary: linear-gradient(135deg, #FF69B4 0%, #FF1493 100%);--gradient-secondary: linear-gradient(135deg, #FFB6C1 0%, #DA70D6 100%);--gradient-soft: linear-gradient(135deg, rgba(255, 105, 180, .06) 0%, rgba(255, 182, 193, .06) 100%);--gradient-card: linear-gradient(145deg, #161616 0%, #1c1c1c 100%);--gradient-glow: linear-gradient(135deg, rgba(255, 105, 180, .25) 0%, rgba(218, 112, 214, .25) 100%);--gradient-lavender: linear-gradient(135deg, #E8D4FC 0%, #C8A2C8 100%);--gradient-mint: linear-gradient(135deg, #A8E6CF 0%, #77DD77 100%);--gradient-peach: linear-gradient(135deg, #FFB4D5 0%, #FFD700 100%);--shadow-sm: 0 2px 8px rgba(255, 105, 180, .08);--shadow-md: 0 4px 16px rgba(255, 105, 180, .12);--shadow-lg: 0 8px 24px rgba(255, 105, 180, .18);--shadow-xl: 0 16px 32px rgba(255, 105, 180, .22);--shadow-glow: 0 0 20px rgba(255, 105, 180, .3), 0 0 40px rgba(255, 105, 180, .1);--shadow-glow-strong: 0 0 30px rgba(255, 105, 180, .4), 0 0 60px rgba(255, 105, 180, .15);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 30px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden;width:100%}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background:var(--bg-primary);overflow-x:hidden;position:relative;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(rgba(255,105,180,.04) 1.5px,transparent 1.5px);background-size:30px 30px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.3;color:var(--text-primary);margin-bottom:var(--space-md)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{margin-bottom:var(--space-md);color:var(--text-secondary);line-height:1.7}.mission-card p,.hero-card p,.cta-card p{color:inherit}.cta-card p:last-child{margin-bottom:0}a{color:var(--text-accent);text-decoration:none;transition:all var(--transition-normal)}a:hover{color:var(--primary-hover);text-shadow:0 0 8px rgba(255,105,180,.3)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.section{padding:var(--space-3xl) 0}.section-title{font-family:var(--font-heading);font-size:var(--font-size-4xl);font-weight:700;text-align:center;margin-bottom:var(--space-2xl);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.card{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);transition:all var(--transition-bounce);position:relative;overflow:visible}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-normal);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.card:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:var(--shadow-glow);border-color:var(--border-hover);border-style:solid}.card:hover:before{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-family:var(--font-heading);font-size:var(--font-size-base);font-weight:700;text-decoration:none;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-bounce);position:relative;overflow:hidden;background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left var(--transition-slow)}.btn:hover:before{left:100%}.btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:var(--shadow-glow)}.btn:active{transform:scale(.97);transition:transform .1s ease}.btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-secondary{background:var(--gradient-secondary)}.btn-ghost{background:#ff69b414;color:var(--text-primary);border:2px dashed var(--border)}.btn-ghost:hover{background:#ff69b426;border-color:var(--border-hover);border-style:solid}.grid{display:grid;gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.navbar{background:#0f0f0feb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:2px dashed var(--border);position:fixed;top:0;z-index:1000;width:100%}.nav-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);position:relative}.nav-logo{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;z-index:1001;transition:all var(--transition-normal)}.nav-logo:hover{transform:scale(1.05)}.nav-menu{display:flex;gap:.25rem;align-items:center}.nav-link{color:var(--text-secondary);font-family:var(--font-heading);font-weight:600;padding:.5rem 1rem;border-radius:var(--radius-full);transition:all var(--transition-bounce);position:relative;font-size:.9rem}.nav-link:hover,.nav-link.active{color:var(--primary-color);background:#ff69b41a}.nav-link.active:after{content:"❤";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);color:var(--primary-color);font-size:.65rem;animation:heart-pulse 1.5s ease-in-out infinite}.mobile-menu-btn{display:none;flex-direction:column;justify-content:space-around;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.mobile-menu-btn span{width:26px;height:3px;background:var(--gradient-primary);border-radius:6px;transition:all var(--transition-bounce);transform-origin:1px}.mobile-menu-btn.active span:first-child{transform:rotate(45deg)}.mobile-menu-btn.active span:nth-child(2){opacity:0;transform:translate(20px)}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg)}.mobile-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero{background:var(--bg-secondary);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 30% 20%,rgba(255,105,180,.1) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(218,112,214,.08) 0%,transparent 50%);z-index:1}.hero-content{position:relative;z-index:2;text-align:center;padding:var(--space-3xl) 0}.hero-title{font-family:var(--font-heading);font-size:var(--font-size-5xl);font-weight:700;margin-bottom:var(--space-lg);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:var(--font-size-xl);color:var(--text-secondary);margin-bottom:var(--space-2xl);max-width:600px;margin-left:auto;margin-right:auto}.hero-actions{display:flex;gap:var(--space-lg);justify-content:center;flex-wrap:wrap}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-family:var(--font-heading);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-sm)}.form-input,.form-textarea{width:100%;padding:var(--space-md);background:var(--bg-surface);border:2px dashed var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-base);transition:all var(--transition-bounce)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color);border-style:solid;box-shadow:0 0 0 4px #ff69b41f;transform:scale(1.01)}.form-textarea{resize:vertical;min-height:120px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-0{margin-top:0}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.fade-in-up{opacity:0;transform:translateY(30px);animation:fadeInUp .6s ease forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.fade-in{opacity:0;animation:fadeIn .6s ease forwards}@keyframes fadeIn{to{opacity:1}}@keyframes sparkle{0%,to{opacity:.3;transform:scale(.7)}50%{opacity:1;transform:scale(1.3)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-12px) rotate(2deg)}66%{transform:translateY(-6px) rotate(-1deg)}}@keyframes float-slow{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(3deg)}}@keyframes heart-pulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.2)}}@keyframes wiggle{0%,to{transform:rotate(-3deg);opacity:1}25%{transform:rotate(3deg);opacity:1}50%{transform:rotate(-2deg);opacity:1}75%{transform:rotate(2deg);opacity:1}}@keyframes bounce-cute{0%,to{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(-10px) scale(1.03);opacity:1}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pop-in{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.05);opacity:1}to{transform:scale(1)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce-dots{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes twinkle-star{0%,to{opacity:.2;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1.1) rotate(20deg)}}@keyframes confetti-fall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(20px) rotate(360deg);opacity:0}}@keyframes rainbow-shift{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.bounce-hover:hover{animation:bounce-cute .6s ease infinite}.wiggle-hover:hover{animation:wiggle .5s ease}.shimmer-text{background:linear-gradient(90deg,var(--primary-color),var(--accent-purple),var(--secondary-color),var(--primary-color));background-size:300% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 4s linear infinite}.float-animation{animation:float-slow 4s ease-in-out infinite}.float-slow{animation:float-slow 6s ease-in-out infinite}.pop-in{animation:pop-in .4s ease-out}.spin-slow{animation:spin-slow 8s linear infinite}.sparkle{position:absolute;color:var(--primary-color);pointer-events:none;animation:sparkle 2s ease-in-out infinite}.sparkle-star{position:absolute;color:var(--secondary-color);pointer-events:none;animation:twinkle-star 3s ease-in-out infinite}.cute-divider{display:flex;align-items:center;gap:1rem;padding:2rem 0}.cute-divider:before,.cute-divider:after{content:"";flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--border) 0px,var(--border) 8px,transparent 8px,transparent 16px)}.cute-divider .divider-icon{font-size:1.5rem;animation:bounce-cute 2s ease-in-out infinite;flex-shrink:0}.fran-character{position:relative;display:flex;align-items:center;gap:2.5rem;padding:2rem 0}.fran-avatar{max-width:280px;border-radius:var(--radius-xl);box-shadow:var(--shadow-glow);animation:float 4s ease-in-out infinite;transition:all var(--transition-bounce);border:3px solid rgba(255,105,180,.3)}.fran-avatar:hover{transform:scale(1.06) rotate(2deg);box-shadow:var(--shadow-glow-strong);border-color:var(--primary-color)}.fran-bubble{background:linear-gradient(135deg,#fffffff2,#ffe4e6f2);color:var(--bg-primary);padding:1.5rem 2rem;border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);position:relative;box-shadow:var(--shadow-md);border:2px solid rgba(255,105,180,.2);max-width:450px}.fran-bubble:before{content:"";position:absolute;bottom:-12px;left:30px;width:24px;height:24px;background:linear-gradient(135deg,#fffffff2,#ffe4e6f2);border-right:2px solid rgba(255,105,180,.2);border-bottom:2px solid rgba(255,105,180,.2);transform:rotate(45deg)}.fran-bubble p{margin:0;font-family:var(--font-heading);font-weight:600;font-size:1.05rem;color:#333}.fran-sparkles{position:absolute;width:100%;height:100%;pointer-events:none;top:0;right:0;bottom:0;left:0}.footer{background:var(--bg-secondary);border-top:2px dashed var(--border);margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;padding:var(--space-2xl) var(--space-lg) var(--space-lg)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-2xl);margin-bottom:var(--space-2xl)}.footer-section{display:flex;flex-direction:column}.footer-title{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-md);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-description{color:var(--text-secondary);line-height:1.6;margin-bottom:0}.footer-links{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-link{color:var(--text-secondary);font-family:var(--font-heading);font-weight:600;transition:all var(--transition-normal);padding:var(--space-xs) 0}.footer-link:hover{color:var(--primary-color);transform:translate(4px)}.footer-bottom{padding-top:var(--space-lg);text-align:center}.footer-bottom p{color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:.25rem}.made-with{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800}.footer-deco{display:flex;justify-content:center;gap:1.5rem;padding:1.5rem 0 .5rem}.footer-deco span{font-size:1.2rem;animation:twinkle-star 2.5s ease-in-out infinite}.github-stats-preview{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);margin:var(--space-2xl) 0}.github-preview-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-xl);align-items:center}.github-preview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.github-stat{text-align:center}.stat-number{display:block;font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:var(--font-size-sm);color:var(--text-muted);font-weight:600}.github-preview-content h3{color:var(--text-primary);margin-bottom:var(--space-md)}.github-preview-content p{color:var(--text-secondary);margin-bottom:var(--space-lg)}::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:10px;border:3px solid var(--bg-primary)}::-webkit-scrollbar-thumb:hover{background:var(--gradient-secondary)}@media (max-width: 768px){.container{padding:0 var(--space-md)}.section{padding:var(--space-2xl) 0}.hero-title{font-size:var(--font-size-4xl)}.hero-subtitle{font-size:var(--font-size-lg)}.hero-actions{flex-direction:column;align-items:center}.mobile-menu-btn{display:flex}.nav-menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--bg-secondary);border-left:2px dashed var(--border);flex-direction:column;justify-content:flex-start;align-items:stretch;padding:var(--space-3xl) var(--space-lg) var(--space-lg);gap:var(--space-md);transition:right var(--transition-bounce);z-index:1001;box-shadow:var(--shadow-xl)}.nav-menu.mobile-open{right:0}.nav-link{padding:var(--space-md);border-radius:var(--radius-full);text-align:center;border:2px dashed var(--border);background:#ff69b40d}.nav-link:hover{background:#ff69b41a;border-color:var(--border-hover);border-style:solid}.mobile-overlay{display:block}.footer-content{grid-template-columns:1fr;gap:var(--space-xl);text-align:center}.footer-links{align-items:center}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}.fran-character{flex-direction:column;text-align:center}.fran-avatar{max-width:200px}.fran-bubble{max-width:100%}.fran-bubble:before{bottom:auto;top:-12px;left:50%;transform:translate(-50%) rotate(45deg)}}@media (max-width: 480px){.hero-title,.section-title{font-size:var(--font-size-3xl)}.btn{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm)}.github-preview-grid{grid-template-columns:1fr;text-align:center}.github-preview-stats{grid-template-columns:repeat(2,1fr)}}.fran-silhouette-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.fran-silhouette{position:absolute;pointer-events:none;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.12;filter:blur(.5px)}.fran-silhouette-sm{width:120px;height:120px}.fran-silhouette-md{width:180px;height:180px}.fran-silhouette-lg{width:250px;height:250px}.fran-silhouette-xl{width:350px;height:350px}.fran-silhouette-amazed{background-image:url(../../../Fran-head-expression-amazed.png)}.fran-silhouette-confused{background-image:url(../../../Fran-head-expression-confused.png)}.fran-silhouette-normal{background-image:url(../../../Fran-head-expression-normal.png)}.fran-silhouette-angry{background-image:url(../../../Fran-head-expression-angry.png)}.fran-silhouette-fullbody{background-image:url(../../../Fran-full-body-front-view.png)}.fran-silhouette-pos-top-right{top:-20px;right:-30px}.fran-silhouette-pos-top-left{top:-20px;left:-30px}.fran-silhouette-pos-bottom-right{bottom:-20px;right:-30px}.fran-silhouette-pos-bottom-left{bottom:-20px;left:-30px}.fran-silhouette-pos-mid-right{top:50%;right:-40px;transform:translateY(-50%)}.fran-silhouette-pos-mid-left{top:50%;left:-40px;transform:translateY(-50%)}.fran-silhouette-float{animation:fran-sil-float 6s ease-in-out infinite}.fran-silhouette-float-slow{animation:fran-sil-float 10s ease-in-out infinite}.fran-silhouette-float-fast{animation:fran-sil-float 4s ease-in-out infinite}.fran-silhouette-rotate{animation:fran-sil-rotate 20s linear infinite}@keyframes fran-sil-float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(2deg)}75%{transform:translateY(6px) rotate(-2deg)}}@keyframes fran-sil-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.fran-silhouette-lg{width:150px;height:150px}.fran-silhouette-xl{width:200px;height:200px}.fran-silhouette-md{width:100px;height:100px}.fran-silhouette{right:-130px;left:auto;transform:scale(.5)}.fran-silhouette-pos-top-right,.fran-silhouette-pos-top-left,.fran-silhouette-pos-bottom-right,.fran-silhouette-pos-bottom-left{right:-130px;left:auto;top:auto;bottom:auto;transform:scale(.4)}.fran-silhouette-pos-mid-right,.fran-silhouette-pos-mid-left{right:-130px;left:auto;top:50%;transform:translateY(-50%) scale(.5)}}.hide{display:none!important}:root{--chatbot-bg: rgba(22, 22, 22, .95);--chatbot-border: rgba(255, 255, 255, .1);--chatbot-msg-user: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-purple) 100%);--chatbot-msg-bot: var(--bg-card)}.chatbot-floating-container{position:fixed;bottom:24px;right:24px;display:flex;align-items:flex-end;gap:12px;z-index:1000}.chatbot-floating-btn{width:56px;height:56px;border-radius:50%;background:var(--gradient-primary);box-shadow:var(--shadow-glow);border:2px dashed var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-bounce);position:relative;overflow:hidden}.chatbot-floating-btn:hover{transform:scale(1.1);box-shadow:var(--shadow-glow-strong)}.chatbot-floating-btn:active{transform:scale(.95)}.chatbot-icon{font-size:1.5rem;position:relative;z-index:2}.chatbot-floating-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-secondary);opacity:0;transition:opacity var(--transition-normal);border-radius:var(--radius-full) var(--radius-full) 0 0}.chatbot-floating-btn:hover:before{opacity:1}.chatbot-tooltip{position:absolute;bottom:70px;right:0;max-width:220px;padding:12px 16px;background:var(--chatbot-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px dashed var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:.875rem;font-family:var(--font-body);color:var(--text-secondary);text-align:center;animation:fadeInUp .3s ease;white-space:nowrap}.chatbot-modal{position:fixed;bottom:96px;right:24px;width:384px;height:700px;max-height:calc(100vh - 2rem);max-width:calc(100vw - 2rem);background:var(--chatbot-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);border:2px dashed var(--border);box-shadow:var(--shadow-xl);z-index:1000;display:flex;flex-direction:column;overflow:hidden;animation:fadeInUp .3s ease forwards}.chatbot-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary)}.chatbot-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);border-bottom:2px dashed var(--border);background:var(--bg-surface);position:relative;z-index:1}.chatbot-bot-info{display:flex;align-items:center;gap:12px}.chatbot-avatar{width:40px;height:40px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:var(--shadow-md)}.chatbot-avatar-image{width:40px;height:40px;border-radius:50%;border:2px solid black;background:var(--bg-card);box-shadow:var(--shadow-md);object-fit:cover;padding:2px}.chatbot-avatar-image:hover{transform:scale(1.05);box-shadow:var(--shadow-glow)}.chatbot-bot-name{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.chatbot-close-btn{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-full);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-normal);color:var(--text-secondary);font-size:1rem}.chatbot-close-btn:hover{border-color:var(--border-hover);border-style:solid;transform:rotate(90deg)}.chatbot-messages{flex:1;overflow-y:auto;padding:var(--space-md);scroll-behavior:smooth;display:flex;flex-direction:column}.chatbot-messages::-webkit-scrollbar{width:6px}.chatbot-messages::-webkit-scrollbar-track{background:transparent}.chatbot-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}.chatbot-messages::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.chatbot-welcome{text-align:center;padding:var(--space-xl);color:var(--text-secondary)}.chatbot-welcome-icon{display:block;font-size:2rem;margin-bottom:var(--space-md);animation:sparkle 2s ease infinite}.chatbot-welcome p{font-size:.875rem;line-height:1.6}.chat-message{max-width:85%;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:12px;position:relative;animation:fadeInUp .3s ease}.chat-message.user{background:var(--chatbot-msg-user);color:#fff;margin-left:auto;border-radius:var(--radius-md) var(--radius-md) 4px var(--radius-md)}.chat-message.bot{background:var(--chatbot-msg-bot);border:2px dashed var(--border);color:var(--text-primary);margin-right:auto;border-radius:4px var(--radius-md) var(--radius-md) var(--radius-md)}.chat-message.bot:hover{border-color:var(--border-hover);border-style:solid}.chat-message-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.chat-message-avatar{font-size:1rem}.chat-message-role{font-family:var(--font-heading);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.chat-message-content{position:relative}.play-audio-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;cursor:pointer;font-size:.75rem;font-family:var(--font-body);margin-bottom:8px;transition:all var(--transition-normal);display:inline-block}.play-audio-btn:hover{background:var(--gradient-primary);border-color:var(--primary-color);transform:scale(1.05);color:#fff}.chat-message p{font-size:.875rem;line-height:1.5;margin:0;word-wrap:break-word}.chat-message-time{display:block;font-size:.625rem;color:var(--text-muted);margin-top:4px;opacity:.8}.chatbot-input{padding:var(--space-md);border-top:2px dashed var(--border);background:var(--bg-surface);position:relative;z-index:1}.chatbot-status-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;margin-bottom:12px;background:var(--bg-card);border-radius:var(--radius-md);font-size:.875rem;color:var(--text-secondary);font-family:var(--font-heading)}.chatbot-status-bar.recording{color:var(--error)}.chatbot-status-bar.processing{padding:12px 8px}.chatbot-input-wrapper{display:flex;gap:12px}.chatbot-mic-btn{width:44px;height:44px;border-radius:50%;background:var(--gradient-secondary);border:2px dashed var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;transition:all var(--transition-normal);flex-shrink:0;user-select:none;-webkit-user-select:none;touch-action:none;-webkit-touch-callout:none}.chatbot-mic-btn:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.chatbot-mic-btn:active,.chatbot-mic-btn.recording{transform:scale(.95)}.chatbot-mic-btn.recording{box-shadow:0 0 #ff7a8c66;animation:mic-pulse 1.5s ease infinite}@keyframes mic-pulse{0%{box-shadow:0 0 #ff7a8c66}70%{box-shadow:0 0 0 10px #ff7a8c00}to{box-shadow:0 0 #ff7a8c00}}.chatbot-input-wrapper input{flex:1;background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-md);padding:10px 16px;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);outline:none;transition:all var(--transition-normal)}.chatbot-input-wrapper input:focus{border-color:var(--border-hover);border-style:solid;box-shadow:0 0 0 3px #ff69b41a}.chatbot-input-wrapper input::placeholder{color:var(--text-muted)}.chatbot-input-wrapper input:disabled{opacity:.5}.chatbot-send-btn{width:44px;height:44px;border-radius:50%;background:var(--gradient-primary);border:2px dashed var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;transition:all var(--transition-normal);flex-shrink:0}.chatbot-send-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:var(--shadow-md)}.chatbot-send-btn:active:not(:disabled){transform:scale(.95)}.chatbot-send-btn:disabled{opacity:.4;cursor:not-allowed}.status-indicator{display:flex;align-items:center;gap:6px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.status-connected{background:var(--success)}.status-dot.status-connecting{background:var(--warning);animation:pulse 1.5s ease-in-out infinite}.status-dot.status-disconnected{background:var(--text-muted)}.status-dot.status-error{background:var(--error);animation:pulse 1.5s ease-in-out infinite}.status-label{font-size:.75rem;color:var(--text-muted);font-family:var(--font-body)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.processing-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px}.processing-indicator .processing-spinner{position:relative;width:24px;height:24px;flex-shrink:0}.processing-circle{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid rgba(255,105,180,.2);border-top-color:var(--primary-color);border-radius:50%;animation:chatbot-rotate 2s linear infinite}.processing-circle-inner{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:2px solid rgba(218,112,214,.2);border-bottom-color:var(--accent-purple);border-radius:50%;animation:chatbot-rotate 3s linear infinite reverse}.processing-text{font-family:var(--font-heading);font-size:.875rem;font-weight:600;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}@keyframes chatbot-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.waveform{display:flex;gap:3px;align-items:center;height:24px}.waveform-bar{width:3px;height:8px;background:var(--error);border-radius:var(--radius-sm);animation:waveform .5s ease-in-out infinite}.waveform-bar:nth-child(1){animation-delay:0s}.waveform-bar:nth-child(2){animation-delay:.1s}.waveform-bar:nth-child(3){animation-delay:.2s}.waveform-bar:nth-child(4){animation-delay:.3s}.waveform-bar:nth-child(5){animation-delay:.4s}@keyframes waveform{0%,to{height:8px}50%{height:24px}}@media (max-width: 640px){.chatbot-modal{width:100%;right:0;bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:80vh;height:80vh}.chatbot-floating-container{right:16px;bottom:16px}.chatbot-tooltip{display:none}}
