:root{--color-primary:#6b4f4f;--color-primary-rgb:107, 79, 79;--color-primary-light:#8a6b6b;--color-primary-dark:#4e3939;--color-secondary:#c8ac98;--color-secondary-rgb:200, 172, 152;--color-accent:#eaddc7;--color-accent-rgb:234, 221, 199;--color-bg:#fdfbf9;--color-bg-secondary:#f8f5f2;--color-bg-chat:#f5f1ed;--color-surface:#fff;--color-surface-elevated:#fff;--color-fg:#222;--color-fg-secondary:#666;--color-fg-muted:#999;--color-fg-inverse:#fff;--color-border:#e8e2db;--color-border-light:#f0ebe5;--color-success:#3a8735;--color-warning:#d2861a;--color-error:#da3f3f;--font-heading:"Playfair Display", "Georgia", serif;--font-body:"Lato", "Helvetica Neue", sans-serif;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--line-height-tight:1.3;--line-height-normal:1.6;--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:20px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #6b4f4f0f;--shadow-md:0 4px 12px #6b4f4f14;--shadow-lg:0 8px 32px #6b4f4f1f;--shadow-xl:0 16px 48px #6b4f4f29;--glass-bg:#ffffffbf;--glass-border:#ffffff4d;--glass-blur:16px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-default:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--header-height:64px;--input-dock-height:80px;--max-chat-width:820px;--container-padding:16px}[data-theme=dark]{--color-bg:#1a1714;--color-bg-secondary:#252019;--color-bg-chat:#1e1a16;--color-surface:#2a2520;--color-surface-elevated:#332d27;--color-fg:#f5f0eb;--color-fg-secondary:#b8afa5;--color-fg-muted:#8a8078;--color-border:#3d362f;--color-border-light:#332d27;--glass-bg:#2a2520cc;--glass-border:#3d362f80;--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 32px #0006;--shadow-xl:0 16px 48px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;height:100%;font-size:16px}body{font-family:var(--font-body);font-weight:400;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-fg);background-color:var(--color-bg);min-height:100%;overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500;line-height:var(--line-height-tight);color:var(--color-fg)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-light)}button{font-family:var(--font-body);cursor:pointer;font-size:inherit;color:inherit;background:0 0;border:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-fg-muted)}.app-container{background:var(--color-bg);flex-direction:column;max-width:100vw;height:100dvh;display:flex;overflow:hidden}.app-header{height:var(--header-height);padding:0 var(--space-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--color-border-light);z-index:100;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{object-fit:contain;width:auto;height:36px;transition:opacity var(--transition-default)}.home-btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-fg-secondary);transition:all var(--transition-default);flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex}.home-btn:hover{background:var(--color-bg-secondary);color:var(--color-primary)}.home-btn svg{width:20px;height:20px;transition:transform var(--transition-spring)}.home-btn:hover svg{transform:scale(1.1)}.header-center{align-items:center;gap:var(--space-sm);display:flex;position:absolute;left:50%;transform:translate(-50%)}.header-badge{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:var(--color-fg-inverse);border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:.5px;text-transform:uppercase;font-weight:700;display:flex}.header-badge-dot{background:#4ade80;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot}.header-right{align-items:center;gap:var(--space-sm);display:flex}.theme-toggle{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-fg-secondary);transition:all var(--transition-default);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.theme-toggle:hover{background:var(--color-bg-secondary);color:var(--color-primary)}.theme-toggle svg{width:20px;height:20px;transition:transform var(--transition-spring)}.theme-toggle:hover svg{transform:rotate(15deg)}.language-selector{position:relative}.language-btn{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-fg-secondary);transition:all var(--transition-default);border:1px solid #0000;display:flex}.language-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-border)}.language-flag{font-size:18px;line-height:1}.language-dropdown{top:calc(100% + var(--space-xs));background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-lg);padding:var(--space-xs);z-index:200;opacity:0;pointer-events:none;transition:all var(--transition-default);position:absolute;right:0;transform:translateY(-8px)scale(.96)}.language-dropdown.open{opacity:1;pointer-events:all;transform:translateY(0)scale(1)}.language-option{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-fg);text-align:left;transition:background var(--transition-fast);display:flex}.language-option:hover{background:var(--color-bg-secondary)}.language-option.active{background:rgba(var(--color-primary-rgb), .1);color:var(--color-primary);font-weight:600}.chat-area{padding:var(--space-lg) var(--container-padding);scroll-behavior:smooth;flex:1;overflow:hidden auto}.chat-container{max-width:var(--max-chat-width);gap:var(--space-md);padding-bottom:var(--space-lg);flex-direction:column;margin:0 auto;display:flex}.welcome-card{text-align:center;padding:var(--space-2xl) var(--space-xl);margin:var(--space-xl) auto;flex-direction:column;align-items:center;max-width:600px;animation:.6s cubic-bezier(0,0,.3,1) forwards fadeInUp;display:flex}.welcome-avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));width:80px;height:80px;margin-bottom:var(--space-lg);box-shadow:0 8px 24px rgba(var(--color-primary-rgb), .3);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.welcome-avatar:after{content:"";background:linear-gradient(135deg, var(--color-accent), var(--color-secondary), var(--color-primary));z-index:-1;opacity:.4;border-radius:50%;animation:3s ease-in-out infinite pulse-ring;position:absolute;inset:-4px}.welcome-avatar-icon{font-size:36px}.welcome-title{font-family:var(--font-heading);font-size:var(--font-size-xl);color:var(--color-fg);margin-bottom:var(--space-sm);font-weight:600}.welcome-subtitle{font-size:var(--font-size-base);color:var(--color-fg-secondary);margin-bottom:var(--space-xl);max-width:400px;line-height:var(--line-height-normal)}.suggestion-chips{justify-content:center;gap:var(--space-sm);flex-wrap:wrap;max-width:560px;display:flex}.suggestion-chip{padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-fg-secondary);transition:all var(--transition-default);white-space:nowrap}.suggestion-chip:hover{background:rgba(var(--color-primary-rgb), .08);border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.suggestion-chip:active{transform:translateY(0)}.message{gap:var(--space-sm);opacity:0;max-width:85%;animation:.35s cubic-bezier(0,0,.3,1) forwards messageIn;display:flex}.message-user{flex-direction:row-reverse;align-self:flex-end}.message-assistant{align-self:flex-start}.message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:4px;font-size:14px;display:flex}.message-user .message-avatar{background:var(--color-primary);color:var(--color-fg-inverse);font-weight:700}.message-assistant .message-avatar{background:linear-gradient(135deg, var(--color-secondary), var(--color-accent));color:var(--color-primary-dark)}.message-content{gap:var(--space-xs);flex-direction:column;display:flex}.message-bubble{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);font-size:var(--font-size-base);line-height:var(--line-height-normal);word-wrap:break-word;overflow-wrap:break-word}.message-user .message-bubble{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:var(--color-fg-inverse);border-bottom-right-radius:var(--space-xs)}.message-assistant .message-bubble{background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border-light);color:var(--color-fg);border-bottom-left-radius:var(--space-xs);box-shadow:var(--shadow-sm)}.message-timestamp{font-size:var(--font-size-xs);color:var(--color-fg-muted);padding:0 var(--space-sm)}.message-user .message-timestamp{text-align:right}.message-assistant .message-bubble h1,.message-assistant .message-bubble h2,.message-assistant .message-bubble h3,.message-assistant .message-bubble h4{margin-top:var(--space-md);margin-bottom:var(--space-sm);font-size:var(--font-size-md);font-weight:600}.message-assistant .message-bubble h1:first-child,.message-assistant .message-bubble h2:first-child,.message-assistant .message-bubble h3:first-child{margin-top:0}.message-assistant .message-bubble p{margin-bottom:var(--space-sm)}.message-assistant .message-bubble p:last-child{margin-bottom:0}.message-assistant .message-bubble ul,.message-assistant .message-bubble ol{padding-left:var(--space-lg);margin-bottom:var(--space-sm)}.message-assistant .message-bubble li{margin-bottom:var(--space-xs)}.message-assistant .message-bubble code{background:rgba(var(--color-primary-rgb), .08);font-size:var(--font-size-sm);border-radius:4px;padding:2px 6px}.message-assistant .message-bubble a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.message-assistant .message-bubble table{border-collapse:collapse;width:100%;margin:var(--space-sm) 0;font-size:var(--font-size-sm)}.message-assistant .message-bubble th,.message-assistant .message-bubble td{padding:var(--space-sm);border:1px solid var(--color-border);text-align:left}.message-assistant .message-bubble th{background:rgba(var(--color-primary-rgb), .06);font-weight:600}.message-assistant .message-bubble strong{color:var(--color-fg);font-weight:700}.message-sources{gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);flex-wrap:wrap;display:flex}.source-tag{background:rgba(var(--color-primary-rgb), .06);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-fg-muted);transition:all var(--transition-fast);align-items:center;gap:4px;padding:2px 8px;text-decoration:none;display:inline-flex}.source-tag:hover{background:rgba(var(--color-primary-rgb), .12);color:var(--color-primary)}.typing-indicator{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);animation:.3s forwards fadeInUp;display:flex}.typing-dots{padding:var(--space-md) var(--space-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);border-bottom-left-radius:var(--space-xs);box-shadow:var(--shadow-sm);align-items:center;gap:4px;display:flex}.typing-dot{background:var(--color-secondary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typing-bounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.input-dock{padding:var(--space-md) var(--container-padding) var(--space-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-top:1px solid var(--color-border-light);flex-shrink:0}.input-container{max-width:var(--max-chat-width);margin:0 auto}.input-wrapper{align-items:flex-end;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-default);box-shadow:var(--shadow-sm);display:flex}.input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .1), var(--shadow-md)}.input-field{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--color-fg);resize:none;min-height:24px;max-height:120px;padding:var(--space-sm) var(--space-sm);background:0 0;border:none;outline:none;flex:1;line-height:1.5}.input-field::placeholder{color:var(--color-fg-muted)}.send-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));width:40px;height:40px;color:var(--color-fg-inverse);transition:all var(--transition-default);box-shadow:0 2px 8px rgba(var(--color-primary-rgb), .3);flex-shrink:0;justify-content:center;align-items:center;display:flex}.send-btn:hover:not(:disabled){box-shadow:0 4px 12px rgba(var(--color-primary-rgb), .4);transform:scale(1.05)}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.send-btn svg{width:18px;height:18px}.disclaimer{text-align:center;font-size:var(--font-size-xs);color:var(--color-fg-muted);padding:var(--space-sm) var(--space-md) 0;line-height:1.4}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes pulse-ring{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.2;transform:scale(1.08)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width:768px){:root{--header-height:56px;--container-padding:12px}.app-header{padding:0 var(--space-md)}.header-center{display:none}.header-badge-mobile{display:flex}.welcome-card{padding:var(--space-xl) var(--space-md)}.welcome-avatar{width:64px;height:64px}.welcome-title{font-size:var(--font-size-lg)}.suggestion-chips{gap:var(--space-xs)}.suggestion-chip{font-size:var(--font-size-xs);padding:6px var(--space-sm)}.message{max-width:90%}.language-btn span:not(.language-flag){display:none}}@media (min-width:1024px){.chat-area{padding:var(--space-xl) var(--space-lg)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
