:root{--primary-blue: #007AFF;--primary-blue-dark: #0056CC;--primary-blue-light: #40A6FF;--secondary-gray: #8E8E93;--accent-purple: #5856D6;--accent-green: #34C759;--accent-orange: #FF9500;--accent-red: #FF3B30;--background-primary: #FFFFFF;--background-secondary: #F2F2F7;--background-tertiary: #FFFFFF;--background-elevated: #FFFFFF;--background-overlay: rgba(0, 0, 0, .4);--text-primary: #000000;--text-secondary: #3C3C43;--text-tertiary: #3C3C4399;--text-quaternary: #3C3C4366;--separator: #C6C6C8;--separator-opaque: #C6C6C8;--border-color: #D1D1D6;--shadow-light: rgba(0, 0, 0, .05);--shadow-medium: rgba(0, 0, 0, .1);--shadow-heavy: rgba(0, 0, 0, .2);--shadow-card: 0 4px 20px rgba(0, 0, 0, .08);--shadow-floating: 0 8px 30px rgba(0, 0, 0, .12);--radius-small: 8px;--radius-medium: 12px;--radius-large: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-round: 50%;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--ease-out: cubic-bezier(.25, .46, .45, .94);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--mobile-header-height: 60px;--mobile-input-height: 50px;--mobile-touch-target: 44px;--mobile-safe-area-top: env(safe-area-inset-top);--mobile-safe-area-bottom: env(safe-area-inset-bottom);--mobile-safe-area-left: env(safe-area-inset-left);--mobile-safe-area-right: env(safe-area-inset-right)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-weight:var(--font-weight-regular);line-height:1.6;color:var(--text-primary);background:linear-gradient(135deg,var(--background-primary) 0%,var(--background-secondary) 100%);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--separator);border-radius:4px;transition:background var(--duration-fast) var(--ease-in-out)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::-webkit-scrollbar-corner{background:var(--background-secondary)}html{scrollbar-width:thin;scrollbar-color:var(--separator) var(--background-secondary)}a,a:hover,a:focus{text-decoration:none;color:inherit}button{border:none;background:none;cursor:pointer;font-family:inherit}input,select,textarea{outline:none;border:none;font-family:inherit}ul,ol,li{list-style:none}img{max-width:100%;height:auto;border:none}table{border-collapse:collapse;border-spacing:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text-ellipsis-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.clearfix:after{content:"";display:table;clear:both}.responsive-img{max-width:100%;height:auto;display:block}.flex-center{display:flex;align-items:center;justify-content:center}.flex-center-v{display:flex;align-items:center}.flex-center-h{display:flex;justify-content:center}.m-0{margin:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.p-0{padding:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.hidden{display:none!important}.invisible{visibility:hidden}.visible{visibility:visible}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.w-full{width:100%}.h-full{height:100%}.w-screen{width:100vw}.h-screen{height:100vh}.app-container{display:flex;height:100vh;max-width:100%;margin:0 auto;background:linear-gradient(135deg,var(--background-primary) 0%,var(--background-secondary) 100%);box-shadow:0 0 50px var(--shadow-light);padding-top:var(--mobile-safe-area-top);padding-bottom:var(--mobile-safe-area-bottom);padding-left:var(--mobile-safe-area-left);padding-right:var(--mobile-safe-area-right)}.main-content{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100%;position:relative}.chat-area{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.chat-area.active{padding:var(--spacing-md)}.messages-container{flex:1;overflow-y:auto;padding:var(--spacing-md);padding-right:var(--spacing-xl);scroll-behavior:smooth}.app-header{background:linear-gradient(135deg,var(--background-primary) 0%,var(--background-secondary) 100%);position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);max-width:800px;margin:0 auto}.logo-section{display:flex;align-items:center;gap:var(--spacing-md)}.logo-icon{position:relative;width:40px;height:40px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-purple));border-radius:var(--radius-medium);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;box-shadow:var(--shadow-card);transition:all var(--duration-normal) var(--ease-in-out)}.logo-icon:hover{transform:scale(1.05);box-shadow:var(--shadow-floating)}.logo-gradient{position:absolute;inset:-2px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-purple));border-radius:var(--radius-medium);opacity:.3;z-index:-1;animation:logoGlow 3s ease-in-out infinite alternate}.title-section{display:flex;flex-direction:column;gap:2px}.app-title{font-size:24px;font-weight:var(--font-weight-bold);color:var(--text-primary);letter-spacing:-.5px;line-height:1}.app-subtitle{font-size:12px;color:var(--text-tertiary);font-weight:var(--font-weight-medium);line-height:1}.title-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:2px;transition:all var(--duration-normal) var(--ease-in-out);border-radius:var(--radius-small);padding:2px 4px;margin:-2px -4px}.title-link:hover{background-color:#007aff1a;transform:translateY(-1px)}.title-link:hover .app-title{color:var(--primary-blue)}.title-link:hover .app-subtitle{color:var(--text-secondary)}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.header-button{width:36px;height:36px;border:none;border-radius:var(--radius-small);background-color:var(--background-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all var(--duration-normal) var(--ease-in-out);border:1px solid var(--border-color)}.header-button:hover{background-color:var(--background-elevated);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-card)}.status-indicator{display:flex;align-items:center;gap:var(--spacing-sm)}.status-dot{width:8px;height:8px;border-radius:50%;background-color:#34c759;box-shadow:0 0 0 2px #34c75933;animation:pulse 2s infinite}.status-text{font-size:14px;color:var(--text-secondary);font-weight:var(--font-weight-medium)}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}.chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;background:linear-gradient(135deg,var(--background-primary) 0%,var(--background-secondary) 100%)}.global-background{position:absolute;inset:0;z-index:0;pointer-events:none}.welcome-screen{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--spacing-md) var(--spacing-lg);position:relative;overflow:hidden;background:transparent;z-index:1;opacity:1;transform:translateY(0);transition:opacity .3s ease-out,transform .3s ease-out}.welcome-screen.fade-out{opacity:0;transform:translateY(-10px);pointer-events:none}.floating-shapes{position:absolute;width:100%;height:100%}.shape{position:absolute;border-radius:50%;opacity:.1;animation:float 6s ease-in-out infinite}.shape-1{width:120px;height:120px;background:linear-gradient(45deg,var(--primary-blue),var(--accent-purple));top:20%;left:10%;animation-delay:0s}.shape-2{width:80px;height:80px;background:linear-gradient(45deg,var(--accent-green),var(--primary-blue));top:60%;right:15%;animation-delay:2s}.shape-3{width:60px;height:60px;background:linear-gradient(45deg,var(--accent-orange),var(--accent-red));bottom:30%;left:20%;animation-delay:4s}.shape-4{width:100px;height:100px;background:linear-gradient(45deg,var(--accent-purple),var(--primary-blue));top:10%;right:20%;animation-delay:1s}.welcome-content{text-align:center;max-width:500px;animation:fadeInUp .8s ease-out;position:relative;z-index:1;margin:0 auto;padding:0 var(--spacing-lg)}.welcome-avatar{position:relative;width:140px;height:140px;margin:0 auto var(--spacing-xl);display:flex;align-items:center;justify-content:center}.avatar-rings{position:absolute;inset:0}.ring{position:absolute;border-radius:50%;border:2px solid;opacity:.3;animation:ringPulse 4s ease-in-out infinite}.ring-1{inset:0;border-color:var(--primary-blue);animation-delay:0s}.ring-2{inset:10px;border-color:var(--accent-purple);animation-delay:1.3s}.ring-3{inset:20px;border-color:var(--accent-green);animation-delay:2.6s}.avatar-core{width:100px;height:100px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-purple));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:42px;box-shadow:var(--shadow-floating);z-index:1;position:relative;animation:avatarFloat 3s ease-in-out infinite alternate}.welcome-text{margin-bottom:var(--spacing-2xl)}.welcome-title{font-size:36px;font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-md);letter-spacing:-1px;line-height:1.2}.highlight{background:linear-gradient(135deg,var(--primary-blue),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:18px;color:var(--text-secondary);font-weight:var(--font-weight-regular);line-height:1.5;max-width:400px;margin:0 auto}.suggestion-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);max-width:600px;margin:0 auto}.chip{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-large);cursor:pointer;transition:all var(--duration-normal) var(--ease-in-out);box-shadow:var(--shadow-card);text-align:left}.chip:hover{transform:translateY(-2px);box-shadow:var(--shadow-floating);border-color:var(--primary-blue)}.chip.primary{background:linear-gradient(135deg,var(--primary-blue),var(--primary-blue-dark));color:#fff;border-color:transparent}.chip.primary:hover{background:linear-gradient(135deg,var(--primary-blue-dark),var(--primary-blue))}.chip-icon{width:40px;height:40px;border-radius:var(--radius-medium);background-color:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.chip:not(.primary) .chip-icon{background-color:var(--background-secondary);color:var(--text-secondary)}.chip-content{display:flex;flex-direction:column;gap:2px;flex-grow:1}.chip-title{font-size:16px;font-weight:var(--font-weight-semibold);color:inherit;line-height:1.2}.chip-desc{font-size:13px;opacity:.8;line-height:1.2}@keyframes logoGlow{0%{opacity:.3;transform:scale(1)}to{opacity:.6;transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes ringPulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.1);opacity:.6}}@keyframes avatarFloat{0%{transform:translateY(0)}to{transform:translateY(-10px)}}
