:root{--bg-primary: #f8f9fb;--bg-secondary: #ffffff;--surface: rgba(0, 0, 0, .03);--surface-hover: rgba(0, 0, 0, .06);--border: rgba(0, 0, 0, .08);--text-primary: #1a1a2e;--text-secondary: #64748b;--text-muted: #94a3b8;--accent-1: #0284c7;--accent-2: #0d9488;--accent-3: #0891b2;--user-bubble: rgba(2, 132, 199, .08);--user-bubble-border: rgba(2, 132, 199, .18);--ai-bubble: #ffffff;--ai-bubble-border: rgba(0, 0, 0, .07);--gradient-accent: linear-gradient(135deg, #0284c7, #0d9488, #0891b2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--radius-sm: 12px;--radius-md: 18px;--radius-lg: 24px;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}html{height:100%;scroll-behavior:smooth}body{height:100%;height:100dvh;overflow:hidden;position:fixed;width:100%;top:0;left:0}#root{height:100%;display:flex;flex-direction:column;position:relative}#root:before{content:"";position:fixed;top:-200px;left:50%;transform:translate(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(2,132,199,.06) 0%,transparent 70%);pointer-events:none;z-index:0}#root:after{content:"";position:fixed;bottom:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(13,148,136,.05) 0%,transparent 70%);pointer-events:none;z-index:0}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#0000001f;border-radius:20px}::-webkit-scrollbar-thumb:hover{background-color:#0003}@media(max-width:640px){::-webkit-scrollbar{width:0px;display:none}*{scrollbar-width:none}}textarea,input,select{font-size:16px!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media(min-width:640px){textarea,input,select{font-size:15px!important}}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}button{touch-action:manipulation;-webkit-user-select:none;user-select:none}textarea:focus,input:focus{outline:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .6s ease-out forwards}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-float{animation:floatIcon 4s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.animate-blink{animation:blink 1s step-end infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}@keyframes messageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 16px #0ea5e94d}50%{box-shadow:0 0 28px #0ea5e980}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.app-header{position:sticky;top:0;z-index:100;width:100%;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#f8f9fbd9;flex-shrink:0}.header-left{display:flex;align-items:center;gap:10px}.header-logo-img{height:32px;width:auto;object-fit:contain}.header-title{font-size:16px;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em}@media(max-width:640px){.app-header{padding:10px 16px}.header-logo-img{height:28px}.header-title{font-size:15px}}.welcome-container{text-align:center;animation:fadeInUp .6s ease-out;display:flex;flex-direction:column;align-items:center}.welcome-logo{width:140px;height:auto;object-fit:contain;animation:floatIcon 4s ease-in-out infinite;margin-bottom:24px;filter:drop-shadow(0 10px 15px rgba(0,0,0,.05))}.welcome-title{font-size:28px;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,#1a1a2e,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:15px;color:var(--text-secondary);line-height:1.6;margin-bottom:0}.suggestions-container{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:28px;animation:fadeInUp .6s ease-out .3s both}.suggestion-chip{padding:10px 18px;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .25s ease;font-family:Inter,sans-serif;display:flex;align-items:center;gap:8px}.suggestion-chip:hover{background:var(--surface-hover);border-color:#0ea5e94d;color:var(--text-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.suggestion-chip:active{transform:translateY(0)}.suggestion-chip i{font-size:14px;color:var(--accent-1)}@media(max-width:640px){.welcome-logo{width:120px}.welcome-title{font-size:22px}.welcome-subtitle{font-size:13px}.suggestions-container{gap:6px;margin-top:20px}.suggestion-chip{padding:8px 14px;font-size:12px}}.message-row{display:flex;gap:12px;align-items:flex-start;animation:messageIn .4s ease-out;max-width:100%}.message-row.user-row{justify-content:flex-end}.bubble{padding:14px 18px;border-radius:var(--radius-md);font-size:14.5px;line-height:1.7;max-width:100%;width:fit-content;word-wrap:break-word;overflow-wrap:anywhere;position:relative}.bubble-user{background:var(--user-bubble);border:1px solid var(--user-bubble-border);color:var(--text-primary);border-bottom-right-radius:6px;margin-left:auto}.bubble-ai{background:var(--ai-bubble);border:1px solid var(--ai-bubble-border);color:var(--text-primary);border-top-left-radius:0;width:100%;max-width:100%;box-shadow:var(--shadow-sm)}.bubble-ai h1,.bubble-ai h2,.bubble-ai h3{font-weight:600;color:var(--accent-3);margin-top:16px;margin-bottom:8px}.bubble-ai h1{font-size:17px}.bubble-ai h2{font-size:16px}.bubble-ai h3{font-size:15px}.bubble-ai h1:first-child,.bubble-ai h2:first-child,.bubble-ai h3:first-child{margin-top:0}.bubble-ai p{margin-bottom:8px;color:var(--text-primary)}.bubble-ai p:last-child{margin-bottom:0}.bubble-ai ul,.bubble-ai ol{padding-left:20px;margin:4px 0 8px}.bubble-ai li{padding:3px 0;color:var(--text-secondary)}.bubble-ai li strong{color:var(--text-primary)}.bubble-ai code{background:#0000000f;padding:2px 6px;border-radius:4px;font-size:13px}.bubble-ai pre{background:#1e293b;color:#e2e8f0;padding:14px;border-radius:10px;overflow-x:auto;margin:8px 0}.bubble-ai pre code{background:transparent;padding:0;color:inherit;font-size:13px}@media(max-width:640px){.bubble{padding:12px 16px;font-size:14px}.bubble-ai h3{font-size:14px;margin-top:14px;margin-bottom:6px}}.typing-indicator{display:flex;gap:4px;padding:14px 18px;background:var(--ai-bubble);border:1px solid var(--ai-bubble-border);border-radius:var(--radius-md);border-top-left-radius:0;box-shadow:var(--shadow-sm);animation:messageIn .3s ease-out;width:fit-content}.typing-indicator span{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:typingBounce 1.4s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.16s}.typing-indicator span:nth-child(3){animation-delay:.32s}.input-area-wrapper{flex-shrink:0;width:100%;z-index:100;padding:12px 20px 20px;background:linear-gradient(to top,var(--bg-primary) 70%,transparent);position:relative}.input-box{display:flex;align-items:flex-end;gap:8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-full);padding:6px 6px 6px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md)}.input-box:focus-within{border-color:#0ea5e94d;box-shadow:var(--shadow-lg),0 0 0 4px #0ea5e90d;transform:translateY(-1px)}.input-box textarea{flex:1;background:transparent;border:none;outline:none;font-size:15px;color:var(--text-primary);font-family:Inter,sans-serif;padding:10px 0;resize:none;line-height:1.5;max-height:100px}.input-box textarea::placeholder{color:var(--text-muted)}.send-btn{width:42px;height:42px;min-width:42px;border-radius:50%;border:none;background:var(--gradient-accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:16px;box-shadow:0 0 16px #0ea5e94d;flex-shrink:0}.send-btn:hover:not(:disabled){transform:scale(1.08);box-shadow:0 0 24px #0ea5e980}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{opacity:.5;cursor:default;box-shadow:none;background:var(--surface);color:var(--text-muted)}.input-footer-text{text-align:center;margin-top:8px;font-size:11px;color:var(--text-muted)}.input-footer-text a{color:var(--accent-1);text-decoration:none;margin-left:4px;transition:color .2s}.input-footer-text a:hover{color:var(--accent-2);text-decoration:underline}@media(max-width:640px){.input-area-wrapper{padding:10px 14px 16px}.input-box{padding:4px 4px 4px 16px}.input-box textarea{padding:8px 0}.send-btn{width:38px;height:38px;min-width:38px}}@supports (padding-bottom: env(safe-area-inset-bottom)){.input-area-wrapper{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.modal-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;width:90%;max-width:500px;box-shadow:var(--shadow-lg);animation:fadeInUp .3s cubic-bezier(.16,1,.3,1);overflow:hidden;max-height:85dvh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-title{font-size:18px;font-weight:600;color:var(--text-primary)}.modal-close-btn{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:6px;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-body{padding:20px 24px;color:var(--text-secondary);font-size:14px;line-height:1.7;overflow-y:auto;flex:1}.modal-body p{margin-bottom:12px}.modal-body ul{margin-left:20px;margin-bottom:12px}.modal-body li{margin-bottom:4px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border)}.modal-footer button{width:100%;padding:12px;background:var(--gradient-accent);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.modal-footer button:hover{opacity:.9;transform:translateY(-1px)}.modal-footer button:active{transform:translateY(0)}.ai-fish-icon{width:40px;height:40px;min-width:40px;object-fit:contain;margin-top:2px}@media(max-width:640px){.ai-fish-icon{width:32px;height:32px;min-width:32px}}@media(max-width:640px){.prose{font-size:14px;line-height:1.6}.prose p{margin-top:.5em;margin-bottom:.5em}.prose h1,.prose h2,.prose h3{margin-top:.75em;margin-bottom:.25em}.prose ul,.prose ol{padding-left:1.25em}.prose pre{font-size:12px;padding:.75em;border-radius:.5em;overflow-x:auto}.prose code{font-size:13px}}.small-chat-logo{height:60px;width:auto;object-fit:contain;opacity:.4;transition:opacity .3s}.small-chat-logo:hover{opacity:.6}
