@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap";
:root{--color-primary:#f1ece6;--color-secondary:#403e3e;--color-accent:#fafaf6;--color-surface:#fff;--color-surface-alt:#f7f4f0;--color-surface-hover:#ede8e1;--color-border:#d9d3cb;--color-border-subtle:#e8e3dc;--color-text-primary:#2c2a2a;--color-text-secondary:#6b6666;--color-text-muted:#9a9494;--color-text-on-dark:#fafaf6;--color-user-bubble:#403e3e;--color-user-text:#fafaf6;--color-bot-bubble:#f7f4f0;--color-bot-text:#2c2a2a;--color-success:#5b8c5a;--color-warning:#c4933f;--color-error:#b85450;--color-info:#5a7b8c;--gradient-header:linear-gradient(135deg, #403e3e 0%, #5a5656 50%, #403e3e 100%);--gradient-welcome:linear-gradient(160deg, #f1ece6 0%, #e8e3dc 50%, #f1ece6 100%);--gradient-glow:radial-gradient(ellipse at 50% 0%, #f1ece666 0%, transparent 70%);--shadow-xs:0 1px 2px #403e3e0d;--shadow-sm:0 2px 8px #403e3e14;--shadow-md:0 4px 16px #403e3e1a;--shadow-lg:0 8px 32px #403e3e1f;--shadow-xl:0 16px 48px #403e3e26;--shadow-glow:0 0 24px #403e3e0f;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--font-family:"Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-xs:.7rem;--font-sm:.8125rem;--font-base:.9375rem;--font-lg:1.125rem;--font-xl:1.5rem;--font-2xl:2rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--header-height:64px;--input-dock-height:auto;--max-chat-width:860px}[data-theme=dark]{--color-primary:#1a1918;--color-secondary:#f1ece6;--color-accent:#2a2827;--color-surface:#1e1d1c;--color-surface-alt:#252322;--color-surface-hover:#302e2c;--color-border:#3a3735;--color-border-subtle:#2e2c2a;--color-text-primary:#f1ece6;--color-text-secondary:#b5afa8;--color-text-muted:#7a7470;--color-text-on-dark:#f1ece6;--color-user-bubble:#f1ece6;--color-user-text:#1a1918;--color-bot-bubble:#252322;--color-bot-text:#f1ece6;--gradient-header:linear-gradient(135deg, #252322 0%, #302e2c 50%, #252322 100%);--gradient-welcome:linear-gradient(160deg, #1e1d1c 0%, #252322 50%, #1e1d1c 100%);--gradient-glow:radial-gradient(ellipse at 50% 0%, #f1ece60d 0%, transparent 70%);--shadow-xs:0 1px 2px #0003;--shadow-sm:0 2px 8px #00000040;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #00000059;--shadow-xl:0 16px 48px #0006;--shadow-glow:0 0 24px #f1ece608}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;font-size:16px}body{height:100%;font-family:var(--font-family);background-color:var(--color-primary);color:var(--color-text-primary);transition:background-color var(--transition-base), color var(--transition-base);font-weight:400;line-height:1.6}a{color:var(--color-secondary);transition:opacity var(--transition-fast);text-decoration:none}a:hover{opacity:.8}.app-container{height:100dvh;max-width:var(--max-chat-width);background-color:var(--color-surface);box-shadow:var(--shadow-xl);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}.chat-header{padding:var(--space-md) var(--space-lg);background:var(--gradient-header);color:var(--color-text-on-dark);height:var(--header-height);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:relative}.header-left{align-items:center;gap:var(--space-md);display:flex}.header-logo{font-size:var(--font-lg);letter-spacing:.5px;white-space:nowrap;font-weight:700}.header-logo-accent{opacity:.85;font-weight:300}.header-center{flex-direction:column;align-items:center;gap:2px;display:flex}.header-title{font-size:var(--font-sm);letter-spacing:.3px;font-weight:600}.header-subtitle{font-size:var(--font-xs);opacity:.7;font-weight:400}.header-right{align-items:center;gap:var(--space-sm);display:flex}.home-btn{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);height:36px;color:var(--color-text-on-dark);font-family:var(--font-family);font-size:var(--font-sm);transition:all var(--transition-fast);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1;background:#ffffff14;border:1px solid #ffffff26;font-weight:500;text-decoration:none;display:flex}.home-btn:hover{opacity:1;background:#ffffff26;border-color:#ffffff40;transform:scale(1.05)}.home-btn:active{transform:scale(.95)}.home-btn svg{flex-shrink:0}.theme-toggle{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-on-dark);cursor:pointer;font-size:var(--font-base);transition:all var(--transition-fast);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff26;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:#ffffff26;border-color:#ffffff40;transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.language-selector{position:relative}.language-btn{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);height:36px;color:var(--color-text-on-dark);cursor:pointer;font-family:var(--font-family);font-size:var(--font-sm);transition:all var(--transition-fast);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff26;font-weight:500;display:flex}.language-btn:hover{background:#ffffff26;border-color:#ffffff40}.language-btn .flag{font-size:var(--font-base)}.language-dropdown{top:calc(100% + var(--space-xs));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-lg);z-index:100;animation:slideDown var(--transition-fast) ease-out;position:absolute;right:0;overflow:hidden}.language-option{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);width:100%;color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-sm);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;display:flex}.language-option:hover{background:var(--color-surface-hover)}.language-option.active{background:var(--color-surface-alt);font-weight:600}.language-option .flag{font-size:var(--font-base)}.language-option .lang-name{text-align:left;flex:1}.language-option .lang-native{font-size:var(--font-xs);color:var(--color-text-muted)}.info-strip{justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-sm) var(--space-lg);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-xs);color:var(--color-text-muted);flex-shrink:0;display:flex}.info-badge{align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);background:var(--color-surface);border-radius:var(--radius-full);border:1px solid var(--color-border-subtle);display:flex}.info-badge .dot{background:var(--color-success);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}.chat-messages{padding:var(--space-lg);scroll-behavior:smooth;flex:1;position:relative;overflow:hidden auto}.chat-messages:before{content:"";top:var(--header-height);background:var(--gradient-glow);pointer-events:none;z-index:1;height:60px;position:fixed;left:0;right:0}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.welcome-card{background:var(--gradient-welcome);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-xl);text-align:center;margin-bottom:var(--space-lg);animation:.6s ease-out fadeInUp;position:relative;overflow:hidden}.welcome-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 30%,#403e3e08 0%,#0000 60%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.welcome-icon{margin-bottom:var(--space-md);font-size:2.5rem;animation:3s ease-in-out infinite float}.welcome-title{font-size:var(--font-xl);margin-bottom:var(--space-sm);color:var(--color-text-primary);font-weight:700}.welcome-subtitle{font-size:var(--font-sm);color:var(--color-text-secondary);max-width:450px;margin:0 auto var(--space-xl);line-height:1.7}.suggestion-chips{gap:var(--space-sm);padding:0 var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.suggestion-chip{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-weight:500}.suggestion-chip:hover{background:var(--color-secondary);color:var(--color-text-on-dark);border-color:var(--color-secondary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.suggestion-chip:active{transform:translateY(0)}.message-wrapper{margin-bottom:var(--space-md);animation:.3s ease-out fadeInUp;display:flex}.message-wrapper.user{justify-content:flex-end}.message-wrapper.assistant{justify-content:flex-start}.message-bubble{max-width:80%;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);word-wrap:break-word;overflow-wrap:break-word;position:relative}.message-wrapper.user .message-bubble{background:var(--color-user-bubble);color:var(--color-user-text);border-bottom-right-radius:var(--space-xs)}.message-wrapper.assistant .message-bubble{background:var(--color-bot-bubble);color:var(--color-bot-text);border-bottom-left-radius:var(--space-xs);box-shadow:var(--shadow-xs)}.message-content{font-size:var(--font-base);line-height:1.7}.message-content p{margin-bottom:var(--space-sm)}.message-content p:last-child{margin-bottom:0}.message-content strong{font-weight:600}.message-content ul,.message-content ol{margin:var(--space-sm) 0;padding-left:var(--space-lg)}.message-content li{margin-bottom:var(--space-xs)}.message-content a{color:inherit;text-underline-offset:2px;text-decoration:underline}.message-content code{background:#403e3e14;border-radius:4px;padding:2px 6px;font-size:.875em}.message-content h1,.message-content h2,.message-content h3{margin:var(--space-md) 0 var(--space-sm);font-weight:600}.message-content h1{font-size:var(--font-lg)}.message-content h2{font-size:var(--font-base)}.message-content h3{font-size:var(--font-sm)}.message-content table{border-collapse:collapse;width:100%;margin:var(--space-sm) 0;font-size:var(--font-sm)}.message-content th,.message-content td{padding:var(--space-sm);border:1px solid var(--color-border);text-align:left}.message-content th{background:var(--color-surface-alt);font-weight:600}.message-timestamp{font-size:var(--font-xs);opacity:.5;margin-top:var(--space-xs)}.message-wrapper.user .message-timestamp{text-align:right}.message-source{font-size:var(--font-xs);color:var(--color-text-muted);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border-subtle);font-style:italic}.typing-indicator{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);animation:.3s ease-out fadeInUp;display:flex}.typing-dots{gap:4px;display:flex}.typing-dot{background:var(--color-text-muted);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite typingBounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.typing-label{font-size:var(--font-xs);color:var(--color-text-muted);font-weight:500}.input-dock{padding:var(--space-md) var(--space-lg);background:var(--color-surface);border-top:1px solid var(--color-border-subtle);flex-shrink:0}.input-container{align-items:flex-end;gap:var(--space-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-sm);transition:all var(--transition-fast);display:flex}.input-container:focus-within{border-color:var(--color-secondary);box-shadow:0 0 0 3px #403e3e14}.chat-input{color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-base);padding:var(--space-sm) var(--space-md);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:120px;line-height:1.5}.chat-input::placeholder{color:var(--color-text-muted)}.send-btn{border-radius:var(--radius-md);background:var(--color-secondary);width:40px;height:40px;color:var(--color-text-on-dark);cursor:pointer;transition:all var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.send-btn:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:scale(1.05)}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn svg{fill:currentColor;width:18px;height:18px}.input-disclaimer{text-align:center;font-size:var(--font-xs);color:var(--color-text-muted);padding:var(--space-sm) var(--space-md) 0;line-height:1.4}.new-chat-btn{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);height:36px;color:var(--color-text-on-dark);cursor:pointer;font-family:var(--font-family);font-size:var(--font-xs);transition:all var(--transition-fast);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff26;font-weight:500;display:flex}.new-chat-btn:hover{background:#ffffff26;border-color:#ffffff40}.chat-footer{text-align:center;padding:var(--space-sm);font-size:var(--font-xs);color:var(--color-text-muted);background:var(--color-surface);border-top:1px solid var(--color-border-subtle);flex-shrink:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@media (max-width:640px){.app-container{box-shadow:none}.chat-header{padding:var(--space-sm) var(--space-md)}.header-logo{font-size:var(--font-base)}.header-center{display:none}.chat-messages{padding:var(--space-md)}.message-bubble{max-width:88%}.welcome-card{padding:var(--space-xl) var(--space-md)}.welcome-title{font-size:var(--font-lg)}.suggestion-chips{padding:0}.suggestion-chip{font-size:var(--font-xs)}.input-dock{padding:var(--space-sm) var(--space-md)}.info-strip{padding:var(--space-xs) var(--space-md);gap:var(--space-sm)}}@media (max-width:380px){.header-left{gap:var(--space-sm)}.language-btn span:not(.flag),.new-chat-btn span,.home-btn span{display:none}}:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}button:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
