/* LLMDuniya theme system. Load AFTER each page's own <style>. */
:root{color-scheme:dark}
[data-theme="light"]{
  color-scheme:light;
  --primary-hover:#4f46e5;--accent:#7c3aed;
  --text-primary:#14141a;--text-secondary:#555a6b;--text-muted:#8a8fa0;
  --border:#e1e4ec;--border-focus:#6366f1;
  --bg-base:#f5f6fa;--bg-surface:#ffffff;--bg-elevated:#eceef5;
  --bg-page:#f5f6fa;--bg-card:#ffffff;--bg-input:#f5f6fa;
  --error:#dc2626;--success:#16a34a;--warning:#b45309;
}

/* ---------- View transition (circular reveal) ---------- */
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal;background:#0a0a0a}
::view-transition-old(root){z-index:1}
::view-transition-new(root){z-index:2}
html.theme-anim .theme-toggle,html.theme-anim .theme-toggle::before,html.theme-anim .theme-toggle::after,html.theme-anim .tt-knob{
  transition:background-color .55s cubic-bezier(0.22,1,0.36,1),color .45s ease,border-color .45s ease,box-shadow .45s ease,transform .55s cubic-bezier(0.22,1,0.36,1) !important}

/* ---------- Toggle ---------- */
html button.theme-toggle{
  position:relative;width:58px;height:30px;padding:0;margin:0;flex-shrink:0;display:inline-block;
  border-radius:999px;border:1px solid rgba(99,102,241,.28);cursor:pointer;overflow:hidden;
  background:linear-gradient(135deg,#1e1b4b,#3730a3);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.55);
  transition:background .55s cubic-bezier(0.22,1,0.36,1),border-color .45s ease,box-shadow .35s ease,transform .2s ease;
}
html button.theme-toggle:hover{transform:scale(1.04);box-shadow:inset 0 1px 3px rgba(0,0,0,.45),0 0 14px rgba(99,102,241,.35)}
html button.theme-toggle:active{transform:scale(.97)}
html button.theme-toggle:focus-visible{outline:2px solid var(--primary,#6366f1);outline-offset:3px}
.theme-toggle::before{ /* stars */
  content:"";position:absolute;inset:0;opacity:.7;transition:opacity .5s ease,transform .55s cubic-bezier(0.22,1,0.36,1);
  background:
   radial-gradient(1.2px 1.2px at 12px 9px,#c7d2fe 98%,transparent),
   radial-gradient(1px 1px at 20px 20px,#a5b4fc 98%,transparent),
   radial-gradient(1.4px 1.4px at 28px 12px,#c7d2fe 98%,transparent),
   radial-gradient(1px 1px at 8px 21px,#818cf8 98%,transparent);
  animation:tt-twinkle 2.8s ease-in-out infinite alternate}
.theme-toggle::after{ /* clouds — fully gone in dark so no white streak */
  content:"";position:absolute;right:6px;bottom:3px;width:26px;height:10px;border-radius:10px;background:#fff;
  box-shadow:-8px -5px 0 -1px #fff,6px -6px 0 -2px #fff;
  opacity:0;visibility:hidden;transform:translateX(16px);
  transition:opacity .5s cubic-bezier(0.22,1,0.36,1),transform .55s cubic-bezier(0.22,1,0.36,1),visibility 0s linear .45s}
@keyframes tt-twinkle{from{opacity:.4}to{opacity:.85}}
.theme-toggle .tt-knob{
  position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;
  display:grid;place-items:center;background:#c7d2fe;color:#1e1b4b;
  transform:translateX(28px);box-shadow:0 2px 6px rgba(0,0,0,.45);
  transition:transform .55s cubic-bezier(0.22,1,0.36,1),background .45s ease,color .45s ease}
.theme-toggle .tt-knob svg{position:absolute;width:14px;height:14px;transition:transform .55s cubic-bezier(0.22,1,0.36,1),opacity .35s ease}
.theme-toggle .tt-sun{opacity:0;transform:rotate(-90deg) scale(.4)}
.theme-toggle .tt-moon{opacity:1;transform:rotate(0) scale(1)}

[data-theme="light"] button.theme-toggle{
  background:linear-gradient(135deg,#7dd3fc,#38bdf8);border-color:rgba(0,0,0,.08);
  box-shadow:inset 0 1px 4px rgba(0,0,0,.12)}
[data-theme="light"] .theme-toggle::before{opacity:0;transform:translateY(-10px)}
[data-theme="light"] .theme-toggle::after{opacity:.95;visibility:visible;transform:none;transition-delay:0s}
[data-theme="light"] .theme-toggle .tt-knob{transform:translateX(0);background:#fde047;color:#b45309;box-shadow:0 2px 8px rgba(245,158,11,.45)}
[data-theme="light"] .theme-toggle .tt-sun{opacity:1;transform:rotate(0) scale(1)}
[data-theme="light"] .theme-toggle .tt-moon{opacity:0;transform:rotate(90deg) scale(.4)}

.theme-toggle.tt-fixed{position:fixed !important;top:14px;right:16px;z-index:9999}
.topbar .theme-toggle{margin-left:1.25rem}
.top-right .theme-toggle{margin-right:.25rem}
.header>.back-btn{margin-left:auto}
.header>.theme-toggle{margin-left:1rem}
@media (max-width:768px){.topbar .theme-toggle{margin-left:auto}}
@media (prefers-reduced-motion:reduce){
  .theme-toggle,.theme-toggle *,.theme-toggle::before,.theme-toggle::after{transition:none !important;animation:none !important}}

/* ---------- Light-mode fixes for hard-coded colours ---------- */
[data-theme="light"] body{background:var(--bg-base);color:var(--text-primary)}
[data-theme="light"] .brand-name{background:linear-gradient(135deg,#14141a,#6d28d9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
[data-theme="light"] .hero h1 .highlight,
[data-theme="light"] .empty-state h2 span{background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
[data-theme="light"] svg path[stroke="#f5f5f5"]{stroke:#14141a}
[data-theme="light"] svg circle[fill="#f5f5f5"],
[data-theme="light"] svg[fill="#f5f5f5"]{fill:#14141a}
[data-theme="light"] .logo-text,
[data-theme="light"] .message-content strong,
[data-theme="light"] .message-content h1,[data-theme="light"] .message-content h2,[data-theme="light"] .message-content h3,
[data-theme="light"] .credits-text,[data-theme="light"] .custom-amount-input,
[data-theme="light"] .spend-value,[data-theme="light"] .token-total,[data-theme="light"] .side-stat .num,
[data-theme="light"] .cost-text,[data-theme="light"] .stat b,
[data-theme="light"] .card h3,[data-theme="light"] .btn-logout:hover{color:var(--text-primary)}
[data-theme="light"] .card,[data-theme="light"] .step{background:var(--bg-surface);border-color:var(--border)}
[data-theme="light"] .card p,[data-theme="light"] .header p,[data-theme="light"] .step p{color:var(--text-secondary)}
[data-theme="light"] .step h3{color:#4f46e5}
[data-theme="light"] .btn-buy{background:#14141a;color:#fff}
[data-theme="light"] .btn-buy:hover{background:#2a2a35}
[data-theme="light"] .message-content code{color:#5b21b6}
[data-theme="light"] .message-content pre code{color:#e5e5e5}
[data-theme="light"] .mark-btn{color:var(--text-primary);border-color:var(--border)}
[data-theme="light"] .mark-btn:hover,[data-theme="light"] .mark-btn.done{color:var(--text-primary);background:var(--bg-elevated);border-color:var(--text-primary)}
[data-theme="light"] .mark-btn.corner{background:rgba(255,255,255,.9)}
[data-theme="light"] .code-bar .mark-btn{color:#e5e5e5;border-color:#3f3f46}
[data-theme="light"] .code-bar .mark-btn:hover{background:#27272a;color:#fff;border-color:#fff}
[data-theme="light"] .overlay,[data-theme="light"] .modal{background:rgba(20,20,30,.45)}
/* speech overlay */
[data-theme="light"] .live-speech,[data-theme="light"] .caption-done{color:var(--text-primary)}
[data-theme="light"] .caption-now{color:var(--text-secondary);box-shadow:inset 0 -1px 0 rgba(0,0,0,.35)}
[data-theme="light"] .caption-hint{color:var(--text-muted)}
[data-theme="light"] .listen-dot{background:#14141a}
[data-theme="light"] .speech-ring{border-color:rgba(20,20,26,.7) !important}
[data-theme="light"] .btn-speech.listening{background:#14141a;border-color:#14141a;color:#fff}
[data-theme="light"] .btn-speech .bars i,[data-theme="light"] .btn-speech.listening .bars i{background:#fff}
[data-theme="light"] .speech-cancel{color:var(--text-secondary);border-color:var(--border)}
[data-theme="light"] .speech-cancel:hover{background:var(--bg-elevated);color:var(--text-primary)}
[data-theme="light"] .status-widget{box-shadow:0 4px 15px rgba(0,0,0,.06)}
[data-theme="light"] .plan-card:hover,[data-theme="light"] .matrix-container{box-shadow:0 12px 30px rgba(20,20,40,.08)}
[data-theme="light"] .login-card{box-shadow:0 20px 50px rgba(20,20,40,.1)}
[data-theme="light"] .new-key-value{color:var(--text-primary)}
[data-theme="light"] .token-table tr:hover td{background:rgba(0,0,0,.025)}
[data-theme="light"] select option,[data-theme="light"] select optgroup{background:var(--bg-surface);color:var(--text-primary)}
[data-theme="light"] .settings-container select{color:var(--text-primary)}
[data-theme="light"] .settings-container .back-link:hover{color:var(--text-primary)}
[data-theme="light"] .mic-notice{background:rgba(20,20,30,.45)}
[data-theme="light"] ::-webkit-scrollbar-thumb{background:#cfd3de}

/* =====================================================================
   PART 2: buttons, hover states, animations, charts, auth pages (light)
   ===================================================================== */
[data-theme="light"] ::selection{background:rgba(99,102,241,.25);color:inherit}

/* --- Admin buttons / status colours (pale dark-mode tints are unreadable on white) --- */
[data-theme="light"] button.ghost:hover,[data-theme="light"] a.ghost:hover{color:#dc2626;border-color:rgba(220,38,38,.4);background:rgba(220,38,38,.05)}
[data-theme="light"] button.ghost.on{color:#059669;border-color:rgba(5,150,105,.4);background:rgba(5,150,105,.06)}
[data-theme="light"] .error,[data-theme="light"] .status{color:#dc2626}
[data-theme="light"] .btn-logout:hover{background:rgba(220,38,38,.08);color:#dc2626}
[data-theme="light"] .credits-text.flash{color:#dc2626 !important}
[data-theme="light"] .btn-danger:hover{background:rgba(220,38,38,.08)}
[data-theme="light"] .btn-save:hover{background:var(--primary-hover)}

/* --- Pricing / home badges --- */
[data-theme="light"] .save,[data-theme="light"] .badge-cheap{color:#047857;background:rgba(5,150,105,.12)}
[data-theme="light"] .price-highlight{color:#059669}
[data-theme="light"] .badge-premium{color:#6d28d9;background:rgba(124,58,237,.1)}
[data-theme="light"] .example{color:var(--text-secondary)}
[data-theme="light"] a[style*="#818cf8"]{color:#4f46e5 !important}
[data-theme="light"] .pill{color:#4f46e5}

/* --- Admin login (uses no CSS variables) --- */
[data-theme="light"] body:has(#googleBtn){background:var(--bg-base);color:var(--text-primary)}
[data-theme="light"] .card:has(#googleBtn){background:#fff;border-color:var(--border);box-shadow:0 20px 50px rgba(20,20,40,.1)}
[data-theme="light"] .card:has(#googleBtn) p{color:var(--text-secondary)}
[data-theme="light"] .card .mark{color:#6d28d9;background:rgba(99,102,241,.12)}

/* --- Shimmer / glow / pulse animations --- */
[data-theme="light"] .status-widget::before{background:linear-gradient(to right,transparent,rgba(99,102,241,.16),transparent)}
[data-theme="light"] .status-widget{background:linear-gradient(135deg,rgba(99,102,241,.08),rgba(124,58,237,.06))}
[data-theme="light"] .hero::before{background:radial-gradient(ellipse at center,rgba(99,102,241,.2) 0%,transparent 70%)}
[data-theme="light"] body::before{opacity:.9}
@keyframes tt-speechGlowLight{
  0%,100%{box-shadow:0 0 0 0 rgba(20,20,26,.4)}
  50%{box-shadow:0 0 18px 4px rgba(99,102,241,.4)}}
[data-theme="light"] .btn-speech.listening,[data-theme="light"] .listen-dot{animation-name:tt-speechGlowLight}
[data-theme="light"] .btn-speech:hover{background:var(--bg-elevated)}
[data-theme="light"] .btn-send:hover:not(:disabled){box-shadow:0 0 15px rgba(99,102,241,.35)}
[data-theme="light"] .btn-new-chat-sidebar:hover{box-shadow:0 0 15px rgba(99,102,241,.4)}
[data-theme="light"] .btn-hero:hover{box-shadow:0 8px 24px rgba(99,102,241,.35)}
[data-theme="light"] .btn-primary-plan:hover{box-shadow:0 0 20px rgba(99,102,241,.4)}
[data-theme="light"] .btn-buy:hover{box-shadow:0 0 12px rgba(20,20,26,.25);transform:scale(1.05)}
[data-theme="light"] .btn-back:hover{box-shadow:0 8px 20px rgba(99,102,241,.3)}
[data-theme="light"] .btn-submit:hover:not(:disabled){box-shadow:0 0 18px rgba(99,102,241,.4)}
[data-theme="light"] .message.ai .message-avatar{box-shadow:0 0 14px rgba(99,102,241,.3)}
[data-theme="light"] .input-wrapper:focus-within{box-shadow:0 0 0 3px rgba(99,102,241,.15),0 4px 20px rgba(20,20,40,.08)}
[data-theme="light"] .custom-input-container:focus-within{box-shadow:0 0 0 4px rgba(99,102,241,.14)}
[data-theme="light"] .toast{box-shadow:0 10px 30px rgba(20,20,40,.15)}
[data-theme="light"] .plan-card.institutional{box-shadow:0 0 40px rgba(99,102,241,.1)}
[data-theme="light"] .spend{background:radial-gradient(120% 80% at 100% 0%,rgba(239,68,68,.07),transparent 55%),linear-gradient(160deg,rgba(99,102,241,.1),rgba(255,255,255,.6) 42%),var(--bg-surface)}
[data-theme="light"] .mic-notice-card{box-shadow:0 24px 60px rgba(20,20,40,.2)}
[data-theme="light"] .logo-item{color:var(--text-secondary)}

/* smooth hover/state transitions that were missing on some controls */
.btn-hero,.btn-plan,.btn-buy,.btn-send,.btn-attach,.btn-settings-toggle,.btn-logout,.quick-btn,.time-filter,
.history-item,.sidebar-nav a,.nav-links a,.mark-btn,button.ghost,.copy-btn,.btn-danger,.btn-save,.btn-back{
  transition-property:background-color,color,border-color,box-shadow,transform,opacity;
  transition-duration:.25s;transition-timing-function:ease}