@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#191a1a;--bg-secondary:#1e1f20;--bg-input:#2a2b2d;--bg-input-hover:#313234;--bg-message-user:#303134;--bg-message-ai:#1e1f20;--border-subtle:#ffffff14;--border-focus:#ffffff26;--text-primary:#e8eaed;--text-secondary:#9aa0a6;--text-muted:#5f6368;--accent-start:#7c5cfc;--accent-end:#5ea2ef;--accent-glow:#7c5cfc59;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.35s cubic-bezier(.4, 0, .2, 1);--transition-spring:.4s cubic-bezier(.175, .885, .32, 1.275)}html,body{background:var(--bg-primary);height:100%;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden}.message-bubble table{border-collapse:collapse;background:var(--bg-surface);border-radius:8px;width:100%;margin:12px 0;overflow:hidden}.message-bubble th,.message-bubble td{border:1px solid var(--border-subtle);text-align:left;padding:10px 14px}.message-bubble th{color:var(--text-primary);background:#ffffff0a;font-weight:500}.message-bubble pre{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;margin:12px 0;padding:12px;overflow-x:auto}.message-bubble code{background:#ffffff0f;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:.9em}.message-bubble pre code{background:0 0;padding:0}.message-bubble ul,.message-bubble ol{margin:10px 0 10px 20px}.message-bubble li{margin-bottom:6px}.message-bubble p{margin-bottom:12px}.message-bubble p:last-child{margin-bottom:0}.message-bubble .katex-display{margin:12px 0;padding:4px 0;overflow:auto hidden}.message-bubble .katex{color:var(--text-primary);font-size:1.05em}.app{flex-direction:column;height:100vh;display:flex;position:relative}.ambient-glow{pointer-events:none;z-index:0;background:radial-gradient(#7c5cfc0f 0%,#5ea2ef08 40%,#0000 70%);width:600px;height:400px;transition:opacity .6s;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.mode-selector{z-index:50;position:fixed;top:20px;left:24px}.mode-toggle{color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;display:flex}.mode-toggle:hover{background:#ffffff0f}.mode-toggle-arrow{width:16px;height:16px;transition:transform var(--transition-fast);opacity:.5}.mode-selector.open .mode-toggle-arrow{transform:rotate(180deg)}.mode-dropdown{background:var(--bg-input);border:1px solid var(--border-subtle);opacity:0;pointer-events:none;border-radius:14px;min-width:280px;padding:6px;transition:opacity .2s,transform .25s cubic-bezier(.175,.885,.32,1.275);position:absolute;top:calc(100% + 6px);left:0;transform:translateY(-8px)scale(.96);box-shadow:0 8px 32px #0006}.mode-selector.open .mode-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.mode-option{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;transition:background var(--transition-fast);background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-family:Inter,sans-serif;font-size:.88rem;display:flex}.mode-option:hover{background:#ffffff0f}.mode-option>svg:first-child{opacity:.7;width:20px;min-width:20px;height:20px}.mode-option-info{flex-direction:column;flex:1;gap:2px;display:flex}.mode-option-name{font-size:.88rem;font-weight:600}.mode-option-desc{color:var(--text-muted);font-size:.72rem}.mode-check{opacity:0;width:18px;height:18px;transition:opacity var(--transition-fast);color:var(--accent-start)}.mode-option.active .mode-check{opacity:1}.refresh-btn{z-index:50;width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;display:flex;position:fixed;top:20px;right:24px}.refresh-btn:hover{color:var(--text-primary);background:#ffffff0f}.refresh-btn svg{width:18px;height:18px}.plus-btn,.test-mode-btn{color:var(--text-muted);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);background:#ffffff0a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.plus-btn:hover,.test-mode-btn:hover{color:var(--text-primary);background:#ffffff1a}.test-mode-btn.active{color:#10b981;background:#10b98126}.test-mode-btn.active:hover{background:#10b98140}.plus-btn svg,.test-mode-btn svg{width:18px;height:18px}.main-content{transition:justify-content var(--transition-smooth);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.app.chat-active .main-content{justify-content:flex-start}.hero{text-align:center;z-index:1;transition:var(--transition-smooth);margin-bottom:30px;padding-top:0}.hero-title{letter-spacing:-.02em;color:var(--text-primary);transition:var(--transition-smooth);font-size:3.2rem;font-weight:300;line-height:1.1}.hero-title .highlight{background:linear-gradient(135deg, var(--accent-start), var(--accent-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:600}.hero-subtitle{color:var(--text-muted);letter-spacing:.01em;margin-top:12px;font-size:.95rem;font-weight:400}.app.chat-active .hero{display:none}.chat-container{scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent;flex:1;width:100%;padding:80px 24px 16px;display:none;overflow-y:auto}.app.chat-active .chat-container{display:block}.chat-container::-webkit-scrollbar{width:4px}.chat-container::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}.chat-messages{flex-direction:column;gap:20px;width:100%;max-width:1000px;margin:0 auto;display:flex}.message{gap:12px;animation:.3s ease-out msg-appear;display:flex}@keyframes msg-appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message.user{justify-content:flex-end}.message-bubble{word-wrap:break-word;white-space:pre-wrap;border-radius:18px;max-width:80%;padding:14px 18px;font-size:.9rem;line-height:1.6}.message.user .message-bubble{background:var(--bg-message-user);border:1px solid var(--border-subtle);color:var(--text-primary);border-bottom-right-radius:6px}.message.ai .message-bubble{color:var(--text-primary);background:0 0;border-bottom-left-radius:6px}.message.ai .message.ai{background:0 0;align-self:flex-start;position:relative}.copy-bubble-btn{color:var(--text-muted);cursor:pointer;opacity:0;width:28px;height:28px;transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:-36px}.message.ai:hover .copy-bubble-btn{opacity:1}.copy-bubble-btn:hover{color:var(--text-primary);background:#ffffff14}.copy-bubble-btn svg{width:14px;height:14px}.message.ai:before{content:"";background:linear-gradient(135deg, var(--accent-start), var(--accent-end));border-radius:50%;width:28px;min-width:28px;height:28px;margin-top:4px}.typing-indicator{gap:12px;animation:.3s ease-out msg-appear;display:flex}.typing-indicator:before{content:"";background:linear-gradient(135deg, var(--accent-start), var(--accent-end));border-radius:50%;width:28px;min-width:28px;height:28px;margin-top:4px}.typing-dots{align-items:center;gap:5px;padding:14px 18px;display:flex}.typing-dots span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.input-area{z-index:10;flex-direction:column;align-items:center;width:100%;padding:16px 24px 20px;display:flex;position:relative}.app:not(.chat-active) .input-area{flex:none}.app.chat-active .input-area{margin-top:auto}.input-wrapper{width:100%;max-width:380px;transition:max-width var(--transition-spring);margin:0 auto;position:relative}.input-wrapper.expanded{max-width:580px}.app.chat-active .input-wrapper,.app.chat-active .input-wrapper.expanded{max-width:680px}.input-card{background:var(--bg-input);border:1px solid var(--border-subtle);transition:border-color var(--transition-fast), background var(--transition-fast), width var(--transition-smooth);border-radius:20px;align-items:flex-end;gap:12px;padding:8px 12px;display:flex;box-shadow:0 4px 20px #0003}.input-card:focus-within{border-color:var(--border-focus);background:var(--bg-input-hover)}.sample-prompts{opacity:1;transition:opacity var(--transition-fast);flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;display:flex}.app.chat-active .sample-prompts{display:none}.sample-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0a;border-radius:12px;padding:8px 14px;font-size:.8rem}.sample-btn:hover{color:var(--text-primary);border-color:var(--border-focus);background:#ffffff14}.input-card:hover{background:var(--bg-input-hover);border-color:var(--border-focus)}.input-wrapper.expanded .input-card{border-color:var(--border-focus);border-radius:20px;box-shadow:0 0 0 1px #7c5cfc1f,0 4px 24px #0000004d,0 0 60px #7c5cfc0d}.plus-btn{border:1px solid var(--border-subtle);width:28px;min-width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:flex}.plus-btn:hover{border-color:var(--border-focus);color:var(--text-secondary);background:#ffffff0a}.plus-btn svg{width:14px;height:14px}.paper-popup{background:var(--bg-input);border:1px solid var(--border-subtle);opacity:0;pointer-events:none;border-radius:14px;min-width:280px;max-width:340px;padding:0;transition:opacity .2s,transform .25s cubic-bezier(.175,.885,.32,1.275);position:absolute;bottom:calc(100% + 10px);left:0;overflow:hidden;transform:translateY(8px)scale(.96);box-shadow:0 8px 32px #0006}.paper-popup.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.paper-popup-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);padding:14px 16px 10px;font-size:.78rem;font-weight:600}.paper-popup-list{max-height:200px;padding:6px;overflow-y:auto}.paper-popup-empty{color:var(--text-muted);text-align:center;padding:16px;font-size:.82rem;line-height:1.5}.paper-popup-empty code{background:#ffffff14;border-radius:4px;padding:2px 6px;font-size:.78rem}.paper-item{width:100%;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:Inter,sans-serif;font-size:.85rem;display:flex}.paper-item:hover{background:#ffffff0f}.paper-item.selected{background:#7c5cfc1a}.chat-input{color:var(--text-primary);resize:none;min-height:22px;max-height:200px;transition:min-height var(--transition-smooth);scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent;background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-family:Inter,sans-serif;font-size:.88rem;line-height:1.45;overflow-y:auto}.app:not(.chat-active) .chat-input{text-align:center}.app:not(.chat-active) .input-wrapper.expanded .chat-input,.app.chat-active .chat-input{text-align:left}.chat-input::placeholder{color:var(--text-muted);transition:color var(--transition-fast)}.chat-input:focus::placeholder{color:var(--text-secondary)}.input-wrapper:not(.expanded) .chat-input{cursor:pointer;min-height:24px}.input-wrapper.expanded .chat-input{min-height:24px}.chat-input::-webkit-scrollbar{width:4px}.chat-input::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}.submit-btn{background:linear-gradient(135deg, var(--accent-start), var(--accent-end));color:#fff;cursor:pointer;width:28px;min-width:28px;height:28px;transition:transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);opacity:.35;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;transform:scale(.88)}.submit-btn.active{opacity:1;transform:scale(1)}.submit-btn.active:hover{box-shadow:0 0 20px var(--accent-glow), 0 0 40px #7c5cfc26;transform:scale(1.06)}.submit-btn.active:active{transform:scale(.94)}.submit-btn svg{width:14px;height:14px;transition:transform var(--transition-fast)}.submit-btn.active:hover svg{transform:translateY(-1px)}.model-badge{opacity:0;transition:opacity var(--transition-smooth), transform var(--transition-smooth);justify-content:center;align-items:center;gap:6px;margin-top:10px;display:flex;transform:translateY(6px)}.model-badge.visible{opacity:1;transform:translateY(0)}.model-badge-dot{background:linear-gradient(135deg, var(--accent-start), var(--accent-end));border-radius:50%;width:5px;height:5px;animation:2s ease-in-out infinite pulse-dot}.model-badge-text{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:500}@keyframes pulse-dot{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.toast{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-secondary);opacity:0;z-index:100;pointer-events:none;border-radius:12px;padding:12px 20px;font-size:.85rem;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .3s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)translateY(100px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.footer{color:var(--text-muted);letter-spacing:.02em;opacity:.4;z-index:5;font-size:.68rem;position:fixed;bottom:6px;left:50%;transform:translate(-50%)}@media (width<=768px){.hero-title{font-size:2.2rem}.hero-subtitle{font-size:.82rem}.mode-selector{top:12px;left:12px}.input-wrapper,.input-wrapper.expanded,.app.chat-active .input-wrapper{max-width:94vw}.app:not(.chat-active) .input-area{max-width:94vw;bottom:30%}.chat-container{padding:70px 16px 12px}.message-bubble{max-width:88%}.ambient-glow{width:300px;height:200px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
