:root{--bg-secondary: rgba(16, 25, 45, .7);--accent-primary: #00D4FF;--accent-secondary: #00D4FF;--accent-glow: rgba(0, 212, 255, .5);--accent-gradient: linear-gradient(135deg, #00D4FF, #2563eb);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--glass-border: rgba(255, 255, 255, .08);--glass-border-light: rgba(255, 255, 255, .12);--danger: #ef4444;--success: #34d399;--success-bg: rgba(52, 211, 153, .1);--input-bg: rgba(255, 255, 255, .04);--user-bubble: rgba(0, 212, 255, .12);--user-border: rgba(0, 212, 255, .25);--ai-bubble: rgba(255, 255, 255, .04);--ai-border: rgba(255, 255, 255, .06)}.is-hidden{display:none!important}.ask-app-container{width:100%;height:calc(100vh - 100px);max-width:900px;margin:0 auto;display:flex;flex-direction:column;padding:1rem 1rem 2rem}.glass-panel{flex:1;background:var(--bg-secondary);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:24px;display:flex;flex-direction:column;box-shadow:0 -10px 40px -10px #00d4ff1a,0 25px 50px -12px #00000080;overflow:hidden}.chat-header{text-align:center;padding:1.5rem 2rem 1rem;border-bottom:1px solid var(--glass-border);flex-shrink:0}.chat-header h1{font-size:1.75rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.03em}.chat-header p{margin-top:.25rem;color:var(--text-secondary);font-size:.9rem}.header-row{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.75rem}.status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;background:#ffffff0d;border-radius:9999px;font-size:.78rem;font-weight:500;color:var(--text-muted);transition:all .4s ease}.status-badge.connected{color:var(--success);background:var(--success-bg)}.status-dot{width:7px;height:7px;border-radius:50%;background-color:currentColor;transition:box-shadow .4s ease}.connected .status-dot{box-shadow:0 0 8px currentColor;animation:dotPulse 2s ease-in-out infinite}.status-badge.quota-low{color:#fbbf24;background:#fbbf241a}.status-badge.quota-empty{color:var(--danger);background:#ef44441a}.example-questions{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:420px;margin-top:.25rem}.example-question-btn{padding:.65rem 1rem;background:#ffffff0a;border:1px solid var(--glass-border-light);border-radius:12px;color:var(--text-secondary);font-size:.82rem;font-family:inherit;line-height:1.45;text-align:left;cursor:pointer;transition:all .2s ease}.example-question-btn:hover:not(:disabled){background:#00d4ff14;border-color:#00d4ff4d;color:var(--text-primary)}.example-question-btn:disabled{opacity:.45;cursor:not-allowed}.input-area.is-disabled{opacity:.55;pointer-events:none}.chat-area{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.chat-area::-webkit-scrollbar{width:5px}.chat-area::-webkit-scrollbar-track{background:transparent}.chat-area::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.welcome-message{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:1rem;opacity:.6;padding:2rem}.welcome-title{font-size:1.2rem;font-weight:600;color:var(--text-secondary)}.welcome-desc{color:var(--text-muted);font-size:.875rem;text-align:center;max-width:320px;line-height:1.6}.welcome-icon{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#00d4ff33,#2563eb1a);border:1px solid rgba(0,212,255,.2);display:flex;align-items:center;justify-content:center;font-size:28px;animation:float 3s ease-in-out infinite}.message{padding:.85rem 1.1rem;border-radius:16px;max-width:80%;line-height:1.65;font-size:.92rem;animation:messageIn .35s cubic-bezier(.16,1,.3,1) forwards;word-wrap:break-word;white-space:pre-wrap}.message.user{background:var(--user-bubble);border:1px solid var(--user-border);color:#e2e8f0;align-self:flex-end;border-bottom-right-radius:6px}.message.ai{background:var(--ai-bubble);border:1px solid var(--ai-border);color:var(--text-primary);align-self:flex-start;border-bottom-left-radius:6px}.message-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem;opacity:.6}.message.user .message-label{color:var(--accent-secondary)}.message.ai .message-label{color:var(--success)}.typing-indicator{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.1rem;background:var(--ai-bubble);border:1px solid var(--ai-border);border-radius:16px 16px 16px 6px;align-self:flex-start}.typing-label{font-size:.8rem;color:var(--text-muted)}.typing-dots{display:flex;gap:4px}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.input-area{padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--glass-border);flex-shrink:0}.input-row{display:flex;align-items:center;gap:.75rem}.input-wrapper{flex:1;min-width:0;display:flex;align-items:center}.chat-input{width:100%;box-sizing:border-box;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--glass-border-light);border-radius:16px;color:var(--text-primary);font-size:.9375rem;font-family:inherit;line-height:1.5;outline:none;resize:none;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;transition:min-height .2s ease,max-height .2s ease,border-color .2s ease,box-shadow .2s ease;--input-line: 1.40625rem;--input-pad-y: .75rem;--input-h-one: calc(var(--input-line) + 2 * var(--input-pad-y));--input-h-four: calc(var(--input-line) * 4 + 2 * var(--input-pad-y));min-height:var(--input-h-one);max-height:var(--input-h-one)}.chat-input::-webkit-scrollbar{width:0;height:0;display:none}.chat-input:focus,.chat-input.is-focused{min-height:var(--input-h-four);max-height:var(--input-h-four);overflow-y:auto}.chat-input:focus{border-color:#00d4ff66;box-shadow:0 0 0 3px #00d4ff1a}.chat-input::placeholder{color:var(--text-muted)}.input-action-btn{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all .2s;padding:0}.input-action-btn svg{width:20px;height:20px}.send-btn{border:none;background:var(--accent-gradient);color:#fff;box-shadow:0 4px 15px -3px var(--accent-glow)}.send-btn:disabled{background:#1e293b;color:var(--text-muted);box-shadow:none;cursor:not-allowed}.mic-btn{border:1px solid var(--glass-border-light);background:var(--input-bg);color:var(--text-secondary)}.mic-btn.listening{background:#ef444426;border-color:#ef444466;color:var(--danger);animation:micPulse 2s infinite}.speech-bar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;margin-bottom:.75rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:12px}.speech-bar-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:dotPulse 1.5s infinite}.speech-bar-text{flex:1;font-size:.8rem;color:var(--danger);font-weight:500}.speech-bar-stop{padding:.3rem .7rem;border-radius:8px;border:1px solid rgba(239,68,68,.4);background:#ef444426;color:var(--danger);font-size:.75rem;cursor:pointer}@keyframes messageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}@keyframes dotPulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes micPulse{to{box-shadow:0 0 0 12px #ef444400}}.consent-overlay{position:fixed;inset:0;background:#000000a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;padding:1rem}.consent-modal{background:#10192df2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border-light);border-radius:24px;padding:2.5rem 2rem;max-width:420px;width:100%;text-align:center;box-shadow:0 0 40px #00d4ff14,0 25px 50px -12px #00000080;animation:modalSlideUp .4s cubic-bezier(.16,1,.3,1) forwards}.consent-icon{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#00d4ff33,#2563eb1a);border:1px solid rgba(0,212,255,.2);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 1.5rem}.consent-title{font-size:1.3rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.75rem}.consent-message{color:var(--text-secondary);font-size:.9rem;line-height:1.7;margin-bottom:1.75rem}.consent-actions{display:flex;flex-direction:column;gap:.6rem}.consent-btn{padding:.75rem 1.5rem;border-radius:14px;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease;border:none}.consent-btn-accept{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 15px -3px var(--accent-glow)}.consent-btn-accept:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px -3px var(--accent-glow)}.consent-btn-accept:disabled{opacity:.6;cursor:not-allowed}.consent-btn-decline{background:transparent;color:var(--text-muted);border:1px solid var(--glass-border-light)}.consent-btn-decline:hover:not(:disabled){background:#ffffff0a;color:var(--text-secondary)}.blocked-overlay{position:fixed;inset:0;background:#000000a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .3s ease;padding:1rem}.blocked-modal{background:#10192df2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(239,68,68,.25);border-radius:24px;padding:2.5rem 2rem;max-width:420px;width:100%;text-align:center;box-shadow:0 0 40px #ef444414,0 25px 50px -12px #00000080;animation:modalSlideUp .4s cubic-bezier(.16,1,.3,1) forwards}.blocked-icon{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#ef444433,#b91c1c1a);border:1px solid rgba(239,68,68,.2);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 1.5rem}.blocked-message{color:var(--text-secondary);font-size:.95rem;line-height:1.7}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
