/* ══════════════════════════════════════════════════════════════════════════
   NOVA GLASS v8 — final polish pass. Loaded LAST.
   20-agent polish, curated: light-text-on-light blocks dropped, entities
   unescaped, web-modal kept big, contrast audit applied at the very end.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── SUGGESTION CARDS (static; hover-only) ── */
html[data-theme="glass"] .suggestion-card {
  position: relative; border-radius: 18px; padding: 16px 18px; color: #1a2230;
  background: linear-gradient(150deg, rgba(255,255,255,.55), rgba(255,255,255,.18));
  -webkit-backdrop-filter: blur(18px) saturate(165%); backdrop-filter: blur(18px) saturate(165%);
  border: 1px solid transparent;
  box-shadow: 0 8px 24px rgba(31,38,55,.16), inset 0 1px 0 rgba(255,255,255,.6);
  transition: transform .28s cubic-bezier(.2,.8,.25,1), box-shadow .28s ease; will-change: transform; overflow: hidden;
  animation: none !important;
}
html[data-theme="glass"] .suggestion-card::before { content: ""; position: absolute; inset: 0; padding: 1px; border-radius: inherit; background: linear-gradient(135deg, rgba(255,120,180,.55), rgba(120,180,255,.5), rgba(150,255,210,.45), rgba(255,225,140,.5)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
html[data-theme="glass"] .suggestion-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.55) 47%, rgba(190,225,255,.4) 53%, transparent 70%); transform: translateX(-120%); opacity: 0; }
html[data-theme="glass"] .suggestion-card:hover { transform: translateY(-4px); box-shadow: 0 16px 38px rgba(31,38,55,.24), inset 0 1px 0 rgba(255,255,255,.75); }
html[data-theme="glass"] .suggestion-card:hover::after { opacity: 1; animation: gv8SugSheen .7s ease forwards; }
html[data-theme="glass"] .suggestion-card:active { transform: translateY(-1px) scale(.985); }
@keyframes gv8SugSheen { to { transform: translateX(120%); } }

/* ── MESSAGE BUBBLES (static; AI text dark, user white) ── */
html[data-theme="glass"] .ai-row .message-content,
html[data-theme="glass"] .ai-content {
  position: relative; color: #16213e !important;
  background: linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,255,255,.52)) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid rgba(255,255,255,.55) !important; border-radius: 18px !important;
  box-shadow: 0 10px 28px -10px rgba(20,30,60,.28), inset 0 1px 0 rgba(255,255,255,.85) !important;
  transition: transform .25s ease; animation: none !important;
}
html[data-theme="glass"] .user-row .message-content {
  position: relative; color: #fff !important;
  background: linear-gradient(135deg, rgba(255,90,160,.88), rgba(150,90,255,.85) 45%, rgba(60,170,255,.88)) !important;
  border: 1px solid rgba(255,255,255,.4) !important; border-radius: 18px !important;
  box-shadow: 0 12px 30px -10px rgba(120,40,160,.45), inset 0 1px 0 rgba(255,255,255,.6) !important;
  transition: transform .25s ease; animation: none !important;
}
html[data-theme="glass"] .ai-row .message-content::before,
html[data-theme="glass"] .user-row .message-content::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,0) 42%); mix-blend-mode: screen; }
html[data-theme="glass"] .ai-row .message-content::after,
html[data-theme="glass"] .user-row .message-content::after { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none; background: linear-gradient(120deg, rgba(255,90,160,.5), rgba(150,90,255,.5), rgba(60,170,255,.5), rgba(80,255,200,.5)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
html[data-theme="glass"] .ai-row .message-content:hover,
html[data-theme="glass"] .ai-content:hover,
html[data-theme="glass"] .user-row .message-content:hover { transform: translateY(-2px); }

/* ── GLASS THINKING BAR ── */
html[data-theme="glass"] .thinking-row.nova-enh { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; isolation: isolate; background: linear-gradient(135deg, rgba(255,255,255,.55), rgba(255,255,255,.22)); border: 1px solid rgba(255,255,255,.55); box-shadow: 0 4px 18px rgba(6,182,212,.14), inset 0 1px 0 rgba(255,255,255,.85); -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4); overflow: hidden; }
html[data-theme="glass"] .thinking-row.nova-enh::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 45%; z-index: -1; background: linear-gradient(to bottom, rgba(255,255,255,.6), transparent); pointer-events: none; }
html[data-theme="glass"] .thinking-row.nova-enh::after { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .4; pointer-events: none; background: linear-gradient(115deg, #06b6d4, #3b82f6, #8b5cf6, #ec4899, #14b8a6); background-size: 300% 100%; animation: gv8ThkSheen 9s linear infinite; filter: blur(8px); }
html[data-theme="glass"] .thinking-row.nova-enh .nova-enh-star { width: 22px; height: 22px; flex: 0 0 22px; }
html[data-theme="glass"] .thinking-row.nova-enh .nova-enh-star > svg { width: 22px; height: 22px; filter: drop-shadow(0 1px 2px rgba(6,182,212,.45)); animation: gv8ThkTwinkle 3.2s ease-in-out infinite; }
html[data-theme="glass"] .thinking-row.nova-enh .nova-enh-dots i { width: 6px; height: 6px; border-radius: 50%; background: #06b6d4; box-shadow: 0 0 5px rgba(6,182,212,.55); animation: gv8ThkPulse 1.4s ease-in-out infinite; }
html[data-theme="glass"] .thinking-row.nova-enh .nova-enh-dots i:nth-child(2) { animation-delay: .2s; }
html[data-theme="glass"] .thinking-row.nova-enh .nova-enh-dots i:nth-child(3) { animation-delay: .4s; }
html[data-theme="glass"] .thinking-row.nova-enh .thinking-step-label { font-weight: 800; letter-spacing: .2px; background: linear-gradient(90deg, #06b6d4, #3b82f6, #8b5cf6, #ec4899, #14b8a6, #06b6d4); background-size: 200% auto; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: #16213e; animation: gv8ThkFlow 6s linear infinite; }
@keyframes gv8ThkSheen { to { background-position: 300% 0; } }
@keyframes gv8ThkFlow { to { background-position: 200% center; } }
@keyframes gv8ThkTwinkle { 0%,100% { opacity: .85; } 50% { opacity: 1; } }
@keyframes gv8ThkPulse { 0%,100% { opacity: .4; transform: scale(.85); } 50% { opacity: 1; transform: scale(1); } }

/* ── MOON THINKING BAR ── */
html[data-theme="moon"] .thinking-row.nova-enh { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 9999px; background: linear-gradient(180deg, #0a0a12, #05050a); color: #e9e6f5; font-weight: 500; box-shadow: 0 4px 16px rgba(0,0,0,.55), inset 0 1px 0 rgba(168,85,247,.12); isolation: isolate; }
html[data-theme="moon"] .thinking-row.nova-enh::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: linear-gradient(120deg, #a855f7, #06b6d4, #a855f7); background-size: 220% 220%; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: gv8MthBorder 4s linear infinite; pointer-events: none; }
html[data-theme="moon"] .thinking-row.nova-enh .nova-enh-star { width: 22px; height: 22px; flex: 0 0 22px; filter: drop-shadow(0 0 5px #a855f7) drop-shadow(0 0 9px #06b6d4); animation: gv8MthNebula 3.2s ease-in-out infinite; }
html[data-theme="moon"] .thinking-row.nova-enh .nova-enh-star > svg { width: 22px; height: 22px; }
html[data-theme="moon"] .thinking-row.nova-enh .nova-enh-dots i { width: 6px; height: 6px; border-radius: 50%; background: radial-gradient(circle, #06b6d4, #a855f7); animation: gv8MthTwinkle 1.4s ease-in-out infinite; }
html[data-theme="moon"] .thinking-row.nova-enh .nova-enh-dots i:nth-child(2) { animation-delay: .18s; }
html[data-theme="moon"] .thinking-row.nova-enh .nova-enh-dots i:nth-child(3) { animation-delay: .36s; }
html[data-theme="moon"] .thinking-row.nova-enh .thinking-step-label { font-weight: 800; letter-spacing: .2px; background: linear-gradient(90deg, #a855f7, #06b6d4, #e9e6f5, #a855f7); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: gv8MthShimmer 3s linear infinite; }
@keyframes gv8MthBorder { to { background-position: 220% 0; } }
@keyframes gv8MthNebula { 0%,100% { transform: scale(1); } 50% { transform: scale(1.08); } }
@keyframes gv8MthTwinkle { 0%,100% { opacity: .35; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.15); } }
@keyframes gv8MthShimmer { to { background-position: 200% 0; } }

/* ── WEB-RESULT panel + modal (colours only; my big modal sizing kept) ── */
@keyframes gv8WebRainbow { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } }
.nova-web-result::before, .nova-web-modal::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg,#ff5f6d,#ffc371,#47e891,#3ba3ff,#a36bff,#ff5f6d); background-size: 200% 100%; animation: gv8WebRainbow 6s linear infinite; will-change: background-position; z-index: 3; }
.nova-web-result-body strong, .nova-web-modal-body strong { display: block; margin: 14px 0 4px; font-size: 14px; font-weight: 800; }
.nova-web-result-body strong:first-child, .nova-web-modal-body strong:first-child { margin-top: 0; }
html[data-theme="glass"] .nova-web-result, html[data-theme="glass"] .nova-web-modal { background: rgba(255,255,255,.62) !important; -webkit-backdrop-filter: blur(22px) saturate(160%); backdrop-filter: blur(22px) saturate(160%); border: 1px solid rgba(255,255,255,.6) !important; box-shadow: 0 8px 32px rgba(31,38,135,.18), inset 0 1px 0 rgba(255,255,255,.7) !important; color: #1a2233 !important; }
html[data-theme="glass"] .nova-web-result-title, html[data-theme="glass"] .nova-web-modal-title { color: #10203a !important; }
html[data-theme="glass"] .nova-web-result-body, html[data-theme="glass"] .nova-web-modal-body { color: #27313f !important; }
html[data-theme="glass"] .nova-web-result-body strong, html[data-theme="glass"] .nova-web-modal-body strong { color: #7a3bff !important; }
html[data-theme="glass"] .nova-web-modal-overlay { background: rgba(180,190,210,.32) !important; }
html[data-theme="moon"] .nova-web-result-body strong, html[data-theme="moon"] .nova-web-modal-body strong { color: #7fb4ff; }

/* ── CLARIFICATION ── */
html[data-theme="glass"] #nova-clarify-overlay { background: rgba(245,247,252,.6) !important; -webkit-backdrop-filter: blur(22px) saturate(180%); backdrop-filter: blur(22px) saturate(180%); border-radius: 22px; color: #16181d; overflow: hidden; box-shadow: 0 18px 50px rgba(20,24,40,.28), inset 0 1px 0 rgba(255,255,255,.6) !important; }
html[data-theme="glass"] #nova-clarify-overlay::before { content: ""; position: absolute; inset: 0; border-radius: 22px; padding: 1px; pointer-events: none; background: linear-gradient(120deg,#ff5f6d,#ffc371,#5ed6a8,#5b8cff,#c061ff,#ff5f6d); background-size: 300% 300%; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: .5; animation: gv8ClrBorder 9s linear infinite; }
html[data-theme="glass"] .nova-cl-title { font-weight: 700; color: #16181d !important; }
html[data-theme="glass"] .nova-cl-row { position: relative; overflow: hidden; background: rgba(255,255,255,.5) !important; border: 1px solid rgba(255,255,255,.6) !important; transition: transform .18s ease, box-shadow .25s ease; }
html[data-theme="glass"] .nova-cl-row::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 0; background: linear-gradient(0deg, rgba(255,95,109,.22), rgba(91,140,255,.18), rgba(192,97,255,.2)); transform: translateY(101%); transition: transform .35s cubic-bezier(.4,0,.2,1); }
html[data-theme="glass"] .nova-cl-row:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(20,24,40,.16); }
html[data-theme="glass"] .nova-cl-row:hover::after { transform: translateY(0); }
html[data-theme="glass"] .nova-cl-row.web::after { background: linear-gradient(0deg, rgba(94,214,168,.26), rgba(91,140,255,.2)); }
html[data-theme="glass"] .nova-cl-row.rewrite::after { background: linear-gradient(0deg, rgba(255,195,113,.26), rgba(192,97,255,.2)); }
html[data-theme="glass"] .nova-cl-row > * { position: relative; z-index: 1; }
html[data-theme="glass"] .nova-cl-num { background: radial-gradient(circle at 35% 28%, rgba(255,255,255,.95), rgba(255,255,255,.35) 60%, rgba(190,200,225,.5)) !important; color: #16181d !important; box-shadow: inset 0 1px 2px rgba(255,255,255,.9), 0 2px 4px rgba(20,24,40,.15); }
html[data-theme="glass"] .nova-cl-label { color: #16181d !important; }
html[data-theme="glass"] .nova-cl-sub { color: #4a4f5c !important; }
@keyframes gv8ClrBorder { 0% { background-position: 0% 50%; } 100% { background-position: 300% 50%; } }

/* ── SETTINGS / THEME CARDS ── */
html[data-theme="glass"] .settings-drawer { background: linear-gradient(150deg, rgba(255,255,255,.6), rgba(255,255,255,.4)) !important; -webkit-backdrop-filter: blur(28px) saturate(160%); backdrop-filter: blur(28px) saturate(160%); border: 1px solid rgba(255,255,255,.5) !important; border-radius: 22px; box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 18px 50px rgba(20,24,40,.25); color: #1a1d28; }
html[data-theme="glass"] .settings-title { font-weight: 800; color: #13161f !important; }
html[data-theme="glass"] .settings-section-title { color: #2a2e3c !important; font-weight: 700; }
html[data-theme="glass"] .lang-btn { background: rgba(255,255,255,.5); border: 1px solid rgba(255,255,255,.6); border-radius: 12px; color: #1a1d28; transition: transform .18s, background .18s; }
html[data-theme="glass"] .lang-btn:hover { background: rgba(255,255,255,.7); transform: translateY(-1px); }
html[data-theme="glass"] .lang-btn.active, html[data-theme="glass"] .nova-theme-card.active { position: relative; color: #0f1119; }
html[data-theme="glass"] .lang-btn.active::before, html[data-theme="glass"] .nova-theme-card.active::before { content: ""; position: absolute; inset: -2px; border-radius: inherit; padding: 2px; background: conic-gradient(from 0deg,#ff5f6d,#ffc371,#5ee7df,#b490ca,#ff5f6d); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: gv8SetSpin 6s linear infinite; pointer-events: none; }
html[data-theme="glass"] .nova-theme-card { background: linear-gradient(150deg, rgba(255,255,255,.6), rgba(255,255,255,.35)); border: 1px solid rgba(255,255,255,.5); border-radius: 18px; color: #1a1d28; -webkit-backdrop-filter: blur(16px) saturate(150%); backdrop-filter: blur(16px) saturate(150%); box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 8px 24px rgba(20,24,40,.18); transition: transform .2s; }
html[data-theme="glass"] .nova-theme-card:hover { transform: translateY(-2px); }
html[data-theme="glass"] .nova-theme-swatch.glass { border-radius: 10px; background: conic-gradient(from 0deg,#ff5f6d,#ffc371,#5ee7df,#b490ca,#ff5f6d) !important; background-size: 200% 200% !important; animation: gv8SetFlow 7s linear infinite; }
html[data-theme="glass"] .nova-theme-swatch.moon { border-radius: 10px; background: radial-gradient(1px 1px at 20% 30%,#fff,transparent), radial-gradient(1px 1px at 70% 60%,#fff,transparent), radial-gradient(1.5px 1.5px at 45% 80%,#cfd6ff,transparent), linear-gradient(160deg,#10131f,#1c2138) !important; }
html[data-theme="glass"] .nova-theme-meta strong { color: #13161f !important; font-weight: 800; }
html[data-theme="glass"] .settings-danger-btn { background: linear-gradient(150deg, rgba(255,90,90,.28), rgba(255,90,90,.12)); border: 1px solid rgba(255,120,120,.5); border-radius: 12px; color: #7a1320; font-weight: 700; }
@keyframes gv8SetSpin { to { transform: rotate(360deg); } }
@keyframes gv8SetFlow { to { background-position: 200% 200%; } }

/* ── SIDEBAR ── */
html[data-theme="glass"] .sidebar { background: linear-gradient(160deg, rgba(255,255,255,.66), rgba(238,247,255,.5) 55%, rgba(243,237,255,.55)) !important; -webkit-backdrop-filter: blur(22px) saturate(1.5); backdrop-filter: blur(22px) saturate(1.5); border-right: 1px solid rgba(255,255,255,.55); box-shadow: inset 1px 0 0 rgba(255,255,255,.7), 4px 0 30px rgba(99,102,241,.1); }
html[data-theme="glass"] .sidebar-header, html[data-theme="glass"] .sidebar-footer { background: linear-gradient(180deg, rgba(255,255,255,.45), transparent) !important; border-color: rgba(255,255,255,.4) !important; }
html[data-theme="glass"] .sidebar-section-label { color: #475569 !important; font-weight: 700; }
html[data-theme="glass"] .new-chat-btn { position: relative; color: #fff !important; border: 0 !important; overflow: hidden; background: linear-gradient(120deg,#7fe9f0,#a5b4fc,#d6b4fe,#f6a5d0,#8debdc,#7fe9f0) !important; background-size: 280% 280% !important; box-shadow: 0 6px 18px rgba(99,102,241,.32), inset 0 1px 0 rgba(255,255,255,.6); animation: gv8SideFlow 14s ease infinite; }
@keyframes gv8SideFlow { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
html[data-theme="glass"] .chat-history > * { position: relative; color: #1e293b !important; border-radius: 11px; transition: transform .22s ease, background .22s ease, box-shadow .22s ease; }
html[data-theme="glass"] .chat-history > *:hover { transform: translateX(5px); background: linear-gradient(90deg, rgba(255,255,255,.7), rgba(238,247,255,.35)) !important; box-shadow: 0 4px 14px rgba(99,102,241,.14), inset 0 1px 0 rgba(255,255,255,.8); }
html[data-theme="glass"] .chat-history > *:hover::before { content: ""; position: absolute; left: 0; top: 14%; bottom: 14%; width: 3px; border-radius: 3px; background: linear-gradient(180deg,#7fe9f0,#a5b4fc,#f6a5d0); }
html[data-theme="glass"] .local-ai-card { background: linear-gradient(150deg, rgba(255,255,255,.6), rgba(207,250,254,.42)) !important; border: 1px solid rgba(255,255,255,.6) !important; border-radius: 14px; }
html[data-theme="glass"] .beta-badge { background: linear-gradient(120deg,#a5b4fc,#d6b4fe,#f6a5d0) !important; color: #fff !important; border: 0 !important; font-weight: 700; box-shadow: 0 2px 8px rgba(168,85,247,.3); }

/* ── TOPBAR ── */
html[data-theme="glass"] .topbar { position: relative; z-index: 1; background: linear-gradient(180deg, rgba(255,255,255,.4), rgba(255,255,255,.2)) !important; -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%); border-bottom: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 6px 22px rgba(10,14,30,.1); }
html[data-theme="glass"] .topbar::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), rgba(140,180,255,.45), transparent); }
html[data-theme="glass"] .topbar-brand { font-weight: 800; background: linear-gradient(90deg,#06b6d4,#6366f1,#a855f7,#ec4899,#06b6d4); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: gv8TopFlow 9s linear infinite; }
html[data-theme="glass"] .topbar-action-btn { background: linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.28)); border: 1px solid rgba(255,255,255,.5); box-shadow: inset 0 1px 0 rgba(255,255,255,.6); transition: transform .18s ease, box-shadow .18s ease; }
html[data-theme="glass"] .topbar-action-btn:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 6px 16px rgba(20,30,60,.2); }
@keyframes gv8TopFlow { to { background-position: 300% 50%; } }

/* ── INPUT PILL (no focus ring) ── */
html[data-theme="glass"] .input-container { position: relative; background: linear-gradient(160deg, rgba(255,255,255,.4), rgba(255,255,255,.2)) !important; -webkit-backdrop-filter: blur(22px) saturate(170%); backdrop-filter: blur(22px) saturate(170%); border: 1px solid rgba(255,255,255,.5) !important; border-radius: 28px !important; box-shadow: 0 8px 30px rgba(31,38,135,.16), inset 0 1px 0 rgba(255,255,255,.6) !important; }
html[data-theme="glass"] .input-container::before { content: ""; position: absolute; inset: -1.5px; border-radius: inherit; padding: 1.5px; background: linear-gradient(120deg,#ff6b9d,#ffd166,#7afcff,#9d7bff,#ff6b9d); background-size: 300% 300%; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: .55; pointer-events: none; animation: gv8InpBorder 9s linear infinite; }
html[data-theme="glass"] .chat-input { background: transparent !important; border: none !important; color: #0e2230 !important; }
html[data-theme="glass"] .chat-input::placeholder { color: rgba(20,40,55,.55) !important; }
html[data-theme="glass"] .chat-input:focus, html[data-theme="glass"] .input-container:focus-within, html[data-theme="glass"] .send-btn:focus-visible, html[data-theme="glass"] .attach-btn:focus-visible { outline: none !important; box-shadow: none !important; }
html[data-theme="glass"] .send-btn { background: radial-gradient(120% 120% at 30% 25%, rgba(255,255,255,.85), transparent 45%), conic-gradient(from 210deg,#ff6b9d,#ffd166,#7afcff,#9d7bff,#ff6b9d) !important; background-size: auto, 220% 220%; border: 1px solid rgba(255,255,255,.55) !important; border-radius: 50% !important; color: #fff !important; box-shadow: 0 4px 14px rgba(120,80,200,.35), inset 0 1px 2px rgba(255,255,255,.7) !important; animation: gv8InpDroplet 7s ease-in-out infinite; }
html[data-theme="glass"] .send-btn:hover { filter: brightness(1.08); transform: translateZ(0) scale(1.05); }
@keyframes gv8InpBorder { 0% { background-position: 0% 50%; } 100% { background-position: 300% 50%; } }
@keyframes gv8InpDroplet { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

/* ── TYPING FX (global) ── */
.tfx-drop, .tfx-ring, .tfx-del, .tfx-moon { position: fixed; pointer-events: none; z-index: 9999; will-change: transform, opacity; --tfxc: #7aa2ff; }
.tfx-drop { width: 7px; height: 7px; border-radius: 50% 50% 50% 0; background: radial-gradient(circle at 35% 30%, #fff, var(--tfxc)); box-shadow: 0 0 8px var(--tfxc), 0 0 2px #fff; transform: rotate(-45deg); animation: gv8TypeDrop .6s cubic-bezier(.2,.7,.3,1) forwards; }
.tfx-ring { width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--tfxc); box-shadow: 0 0 10px var(--tfxc), inset 0 0 6px var(--tfxc); animation: gv8TypeRing .6s ease-out forwards; }
.tfx-del { width: 9px; height: 9px; border-radius: 50%; background: radial-gradient(circle, var(--tfxc), transparent 70%); filter: blur(.5px); animation: gv8TypePoof .55s ease-out forwards; }
.tfx-moon { font-size: 13px; line-height: 1; color: #fffbe6; text-shadow: 0 0 7px #ffe9a8, 0 0 14px #ffd56b; animation: gv8TypeTwinkle .6s ease-out forwards; }
.tfx-moon.space { animation: gv8TypeFloat .6s ease-out forwards; }
.tfx-moon.del { animation: gv8TypeFade .55s ease-in forwards; }
.input-container.tfx-pulse { animation: gv8TypePulse .35s ease-out; }
@keyframes gv8TypeDrop { 0% { opacity: 0; transform: rotate(-45deg) translateY(0) scale(.5); } 25% { opacity: 1; } 100% { opacity: 0; transform: rotate(-45deg) translate(6px,-16px) scale(.9); } }
@keyframes gv8TypeRing { 0% { opacity: .9; transform: scale(.3); } 100% { opacity: 0; transform: scale(2.6); } }
@keyframes gv8TypePoof { 0% { opacity: .95; transform: scale(.4); } 60% { opacity: .7; transform: scale(1.4); } 100% { opacity: 0; transform: scale(1.9); } }
@keyframes gv8TypeTwinkle { 0% { opacity: 0; transform: scale(.3) rotate(-30deg); } 40% { opacity: 1; transform: scale(1.25) rotate(8deg); } 100% { opacity: 0; transform: scale(.8) rotate(0) translateY(-12px); } }
@keyframes gv8TypeFloat { 0% { opacity: 0; transform: scale(.5) translateY(0); } 35% { opacity: 1; } 100% { opacity: 0; transform: scale(1.1) translateY(-18px); } }
@keyframes gv8TypeFade { 0% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.4) rotate(20deg); } }
@keyframes gv8TypePulse { 0% { transform: scale(1); } 45% { transform: scale(1.018); } 100% { transform: scale(1); } }

/* ── MOON polish ── */
html[data-theme="moon"] .topbar-brand, html[data-theme="moon"] .welcome-title { background: linear-gradient(100deg, #e9e6f5 20%, #a855f7 40%, #06b6d4 55%, #e9e6f5 75%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: gv8MoonShimmer 9s ease-in-out infinite; }
html[data-theme="moon"] .send-btn, html[data-theme="moon"] .new-chat-btn { box-shadow: 0 0 0 1px rgba(168,85,247,.25), 0 4px 18px -6px rgba(168,85,247,.45); transition: box-shadow .35s ease, transform .35s ease; }
html[data-theme="moon"] .send-btn:hover, html[data-theme="moon"] .new-chat-btn:hover { box-shadow: 0 0 0 1px rgba(6,182,212,.4), 0 8px 26px -6px rgba(168,85,247,.6); }
html[data-theme="moon"] .suggestion-card { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
html[data-theme="moon"] .suggestion-card:hover { transform: translateY(-3px); border-color: rgba(168,85,247,.5); box-shadow: 0 10px 30px -12px rgba(6,182,212,.5); }
html[data-theme="moon"] .model-chip.active { box-shadow: 0 0 0 1px rgba(168,85,247,.5), 0 0 16px -2px rgba(168,85,247,.55); }
html[data-theme="moon"] .chat-input { caret-color: #06b6d4; }
@keyframes gv8MoonShimmer { 0%,100% { background-position: 130% 50%; } 50% { background-position: -30% 50%; } }

/* ── MIC button ── */
.nova-mic-btn { position: relative; will-change: transform; }
.nova-mic-btn svg { position: relative; z-index: 2; transition: transform .25s cubic-bezier(.23,1,.32,1); }
.nova-mic-btn.listening svg { transform: scale(1.08); }
.nova-mic-btn.listening::after { content: ""; position: absolute; inset: -3px; border-radius: 50%; z-index: 0; border: 2px solid rgba(236,72,153,.55); animation: gv8MicRing 1.5s cubic-bezier(.16,1,.3,1) infinite; }
html[data-theme="glass"] .nova-mic-btn { background: linear-gradient(160deg, rgba(255,255,255,.72), rgba(228,235,255,.34)); border: 1px solid rgba(255,255,255,.7); color: #6d28d9; box-shadow: inset 0 1px 1px rgba(255,255,255,.95), 0 6px 16px rgba(99,102,241,.2); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
html[data-theme="glass"] .nova-mic-btn:hover { transform: translateY(-1px); }
html[data-theme="glass"] .nova-mic-btn.listening, html[data-theme="moon"] .nova-mic-btn.listening { color: #fff; border-color: transparent; background: linear-gradient(135deg, #ec4899 0%, #a855f7 55%, #7c3aed 100%); background-size: 200% 200%; animation: gv8MicPulse 1.5s ease-in-out infinite, gv8MicFlow 3s ease infinite; }
html[data-theme="moon"] .nova-mic-btn { background: radial-gradient(120% 120% at 30% 20%, rgba(80,70,140,.5), rgba(20,18,40,.7)); border: 1px solid rgba(168,140,255,.32); color: #c4b5fd; }
@keyframes gv8MicPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(236,72,153,.5); } 50% { box-shadow: 0 0 18px 4px rgba(168,85,247,.55); } }
@keyframes gv8MicRing { 0% { transform: scale(.8); opacity: .85; } 100% { transform: scale(1.75); opacity: 0; } }
@keyframes gv8MicFlow { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

/* ── HERO ── */
html[data-theme="glass"] .welcome-logo-wrap { display: flex; justify-content: center; will-change: transform; animation: gv8HeroFloat 6s ease-in-out infinite; }
html[data-theme="glass"] .welcome-logo-mark { position: relative; overflow: hidden; border-radius: 26px; background: linear-gradient(145deg, rgba(255,255,255,.45), rgba(255,255,255,.2)); border: 1px solid rgba(255,255,255,.5); box-shadow: 0 8px 30px rgba(40,60,120,.18), inset 0 1px 1px rgba(255,255,255,.7); -webkit-backdrop-filter: blur(10px) saturate(160%); backdrop-filter: blur(10px) saturate(160%); }
html[data-theme="glass"] .welcome-logo-mark::before { content: ""; position: absolute; top: 0; left: -60%; width: 55%; height: 100%; pointer-events: none; background: linear-gradient(105deg, transparent, rgba(255,255,255,.55), transparent); transform: skewX(-18deg); animation: gv8HeroSweep 5.5s ease-in-out infinite; }
html[data-theme="glass"] .welcome-title { background: linear-gradient(100deg,#ff5e8a,#ffb05e,#ffe75e,#5effa0,#5ec8ff,#9d7bff,#ff5e8a); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: gv8HeroRainbow 9s linear infinite; }
@keyframes gv8HeroFloat { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-6px,0); } }
@keyframes gv8HeroSweep { 0%,72% { transform: translateX(0) skewX(-18deg); } 100% { transform: translateX(420%) skewX(-18deg); } }
@keyframes gv8HeroRainbow { 0% { background-position: 0% 50%; } 100% { background-position: 300% 50%; } }

/* ── DONE BADGE (bold, both themes) ── */
.nova-done2 { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px 4px 9px; border-radius: 999px; font-weight: 800; font-size: 12.5px; letter-spacing: .2px; line-height: 1; position: relative; overflow: hidden; white-space: nowrap; animation: gv8DoneSpring .5s cubic-bezier(.34,1.56,.64,1) both !important; }
.nova-done2 svg { width: 15px; height: 15px; flex: 0 0 auto; overflow: visible; }
.nova-done2 .tick { stroke-dasharray: 18; stroke-dashoffset: 18; animation: gv8DoneTick .42s .26s cubic-bezier(.65,0,.35,1) forwards; }
.nova-done2 .lbl { font-weight: 800 !important; }
.nova-done2::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.5) 50%, transparent 65%); transform: translateX(-120%); animation: gv8DoneShine .9s .34s ease-out 1; }
html[data-theme="glass"] .nova-done2 { color: #0a7d72 !important; background: rgba(255,255,255,.7); border: 1px solid rgba(13,148,136,.35); box-shadow: 0 2px 10px rgba(13,148,136,.18); }
html[data-theme="glass"] .nova-done2 .ring, html[data-theme="glass"] .nova-done2 .tick { stroke: #0d9488; }
html[data-theme="glass"] .nova-done2 .lbl { color: #0a7d72 !important; }
html[data-theme="moon"] .nova-done2 { color: #7defff !important; background: rgba(14,20,30,.72); border: 1px solid rgba(56,220,255,.4); box-shadow: 0 0 14px rgba(56,220,255,.32); }
html[data-theme="moon"] .nova-done2 .ring, html[data-theme="moon"] .nova-done2 .tick { stroke: #38dcff; }
@keyframes gv8DoneSpring { 0% { transform: scale(.6); opacity: 0; } 60% { transform: scale(1.08); } 100% { transform: scale(1); opacity: 1; } }
@keyframes gv8DoneTick { to { stroke-dashoffset: 0; } }
@keyframes gv8DoneShine { to { transform: translateX(120%); } }

/* ── ACCOUNT modal ── */
html[data-theme="glass"] .account-dialog { background: linear-gradient(160deg, rgba(255,255,255,.6), rgba(255,255,255,.4)) !important; border: 1px solid rgba(255,255,255,.6) !important; box-shadow: 0 18px 50px rgba(40,50,90,.25), inset 0 1px 0 rgba(255,255,255,.9) !important; -webkit-backdrop-filter: blur(22px) saturate(160%); backdrop-filter: blur(22px) saturate(160%); color: #1c2233; }
html[data-theme="glass"] .account-title { color: #161b2e !important; }
html[data-theme="glass"] .account-tab.active::after { content: ""; position: absolute; left: 14%; right: 14%; bottom: 2px; height: 7px; border-radius: 50%; background: linear-gradient(90deg,#ff6ec4,#7873f5,#4ade80,#ffd166); background-size: 300% 100%; filter: blur(1px); animation: gv8AccBlob 5s ease-in-out infinite; }
html[data-theme="glass"] .account-input { background: rgba(255,255,255,.5) !important; border: 1px solid rgba(255,255,255,.65) !important; color: #1c2233 !important; }
html[data-theme="glass"] .account-input:focus { outline: none; box-shadow: inset 0 2px 10px rgba(120,115,245,.28) !important; }
html[data-theme="glass"] .account-submit-btn { color: #fff; background: linear-gradient(90deg,#ff6ec4,#7873f5,#4ade80,#ffd166,#ff6ec4); background-size: 300% 100%; animation: gv8AccFlow 6s linear infinite; }
@keyframes gv8AccFlow { to { background-position: 300% 0; } }
@keyframes gv8AccBlob { 0%,100% { background-position: 0 0; } 50% { background-position: 100% 0; } }

/* ── SCROLLBAR / SELECTION / CARET ── */
@keyframes gv8ScrHue { to { filter: hue-rotate(360deg); } }
html[data-theme="glass"] ::-webkit-scrollbar { width: 12px; height: 12px; }
html[data-theme="glass"] ::-webkit-scrollbar-track { background: rgba(255,255,255,.2); border-radius: 999px; }
html[data-theme="glass"] ::-webkit-scrollbar-thumb { border-radius: 999px; border: 2px solid transparent; background-clip: padding-box; background-image: linear-gradient(160deg, #6ee7ff, #a78bfa 45%, #f472b6 75%, #fbbf24); filter: saturate(1.4); animation: gv8ScrHue 14s linear infinite; }
html[data-theme="glass"] ::selection { background: rgba(167,139,250,.45); color: #16213e; }
html[data-theme="glass"] .chat-input { caret-color: #6ee7ff; }

/* ══ CONTRAST AUDIT — LAST so AI text is always readable (never white-on-white) ══ */
html[data-theme="glass"] .ai-content,
html[data-theme="glass"] .ai-row .message-content,
html[data-theme="glass"] .ai-content p, html[data-theme="glass"] .ai-content li,
html[data-theme="glass"] .ai-content span, html[data-theme="glass"] .ai-content strong,
html[data-theme="glass"] .ai-content em, html[data-theme="glass"] .ai-content h1,
html[data-theme="glass"] .ai-content h2, html[data-theme="glass"] .ai-content h3,
html[data-theme="glass"] .ai-content h4,
html[data-theme="glass"] .ai-row .message-content p, html[data-theme="glass"] .ai-row .message-content li,
html[data-theme="glass"] .ai-row .message-content span, html[data-theme="glass"] .ai-row .message-content strong,
html[data-theme="glass"] .ai-row .message-content em, html[data-theme="glass"] .ai-row .message-content h1,
html[data-theme="glass"] .ai-row .message-content h2, html[data-theme="glass"] .ai-row .message-content h3,
html[data-theme="glass"] .ai-row .message-content h4,
html[data-theme="glass"] .nova-web-result-body, html[data-theme="glass"] .nova-cl-label,
html[data-theme="glass"] .nova-cl-sub, html[data-theme="glass"] .model-info-name,
html[data-theme="glass"] .model-info-sub, html[data-theme="glass"] .sidebar-section-label { color: #16213e; }
html[data-theme="glass"] .user-row .message-content,
html[data-theme="glass"] .user-row .message-content * { color: #ffffff; }
html[data-theme="glass"] .ai-content code, html[data-theme="glass"] .ai-content pre,
html[data-theme="glass"] .ai-row .message-content code, html[data-theme="glass"] .ai-row .message-content pre { background: #f1f3f8; color: #16213e; }
html[data-theme="glass"] .ai-content a, html[data-theme="glass"] .ai-row .message-content a,
html[data-theme="glass"] .nova-web-result-body a { color: #0f7b8a; }

/* ── EMPTY-STATE filler: frosted panel behind the suggestion grid (still) ── */
html[data-theme="glass"] .welcome-screen .suggestion-grid,
html[data-theme="glass"] #welcomeScreen .suggestion-grid {
  position: relative; isolation: isolate; padding: 22px; border-radius: 26px;
  background: linear-gradient(150deg, rgba(255,255,255,.5), rgba(255,255,255,.66) 60%, rgba(255,255,255,.5));
  border: 1px solid rgba(255,255,255,.6);
  -webkit-backdrop-filter: blur(18px) saturate(1.5); backdrop-filter: blur(18px) saturate(1.5);
  box-shadow: 0 18px 50px rgba(70,110,200,.16), inset 0 1px 0 rgba(255,255,255,.55);
}
html[data-theme="glass"] .welcome-screen .suggestion-grid::before,
html[data-theme="glass"] #welcomeScreen .suggestion-grid::before {
  content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
  background: radial-gradient(60% 70% at 18% 12%, rgba(6,182,212,.16), transparent 60%), radial-gradient(55% 65% at 82% 22%, rgba(99,102,241,.15), transparent 62%), radial-gradient(70% 75% at 50% 100%, rgba(168,85,247,.13), transparent 60%);
  filter: blur(8px) saturate(1.3); opacity: .9;
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="glass"] [class], html[data-theme="moon"] [class] { animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}
