/* CAA Table Feud — Diwali Festival Theme v1.0
   Visual-only overrides. No application behavior changes. */
:root {
  color-scheme: dark;
  --diwali-night:#190d40;
  --diwali-purple:#3d1769;
  --diwali-plum:#651d77;
  --diwali-pink:#e44991;
  --diwali-gold:#ffd277;
  --diwali-saffron:#ff9f45;
  --diwali-cream:#fff7e8;
  --diwali-card:rgba(56,24,100,.88);
  --diwali-stroke:rgba(255,208,117,.35);
}
html { min-height:100%; background:var(--diwali-night); }
body {
  min-height:100vh;
  color:var(--diwali-cream) !important;
  background:
    radial-gradient(ellipse at 50% -10%,rgba(255,174,91,.25),transparent 38%),
    radial-gradient(ellipse at 5% 32%,rgba(237,71,153,.23),transparent 43%),
    radial-gradient(ellipse at 95% 65%,rgba(127,60,201,.36),transparent 48%),
    linear-gradient(150deg,#220e4f 0%,#4b176c 48%,#190d40 100%) fixed !important;
  background-color:var(--diwali-night) !important;
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.32;
  background-image:
    radial-gradient(circle,rgba(255,219,137,.95) 1.3px,transparent 2px),
    radial-gradient(circle,rgba(255,255,255,.7) 1px,transparent 1.8px);
  background-size:94px 115px,151px 173px;
  background-position:15px 26px,62px 70px;
}
body > * {position:relative;z-index:1;}
header, .topbar, #topbar, nav {
  background:linear-gradient(90deg,#31145d,#711f79,#3b165f) !important;
  border-color:var(--diwali-gold) !important;
  color:var(--diwali-cream) !important;
}
.card, .panel, .modal, .dialog, .tile, .stat, .question-card {
  background:var(--diwali-card) !important;
  border:1px solid var(--diwali-stroke) !important;
  box-shadow:0 12px 34px rgba(16,5,39,.27),inset 0 1px rgba(255,244,207,.08) !important;
  border-radius:18px !important;
  color:var(--diwali-cream) !important;
}
h1,h2,h3,.question,.big {color:#fff3d0 !important;}
h1 {text-shadow:0 2px 14px rgba(255,171,79,.28);}
.muted, small, .hint {color:#e9d4ee !important;}
.divider,hr {border-color:rgba(255,210,119,.26) !important;}
button, .btn, input[type=submit] {
  background:linear-gradient(135deg,#ffd982,#ffac49) !important;
  color:#39164f !important;
  border:1px solid rgba(255,245,208,.6) !important;
  border-radius:12px !important;
  font-weight:750 !important;
  box-shadow:0 3px 12px rgba(255,143,54,.2);
  transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;
}
button:hover,.btn:hover {filter:brightness(1.08);box-shadow:0 5px 17px rgba(255,172,70,.32);}
button:active,.btn:active {transform:translateY(1px);}
button.secondary,.secondary,.ghost,button[data-tab] {
  background:rgba(255,228,178,.12) !important;
  color:#fff3d4 !important;
  border-color:rgba(255,213,131,.42) !important;
}
button.active,button[data-tab].active,.active.btn {background:linear-gradient(135deg,#ffe19a,#ffb451) !important;color:#381344 !important;}
button:disabled {opacity:.48;cursor:not-allowed;box-shadow:none;}
input,textarea,select {
  background:#fff9f0 !important;
  color:#2b1746 !important;
  border:2px solid #d8b7e6 !important;
  border-radius:12px !important;
  max-width:100%;
}
input:focus,textarea:focus,select:focus {outline:3px solid rgba(255,203,108,.45) !important;border-color:#ffbd58 !important;}
input[type=checkbox],input[type=radio] {accent-color:#ee8d3f;}
label {color:#ffe7bd !important;}
.pill,.badge,.tag {background:rgba(255,192,102,.16) !important;color:#ffe7b0 !important;border:1px solid rgba(255,202,116,.4) !important;}
a {color:#ffe19a !important;}
a:hover {color:#fff2ce !important;}
table {border-collapse:collapse;max-width:100%;}
th {background:rgba(255,188,90,.18) !important;color:#ffe8ae !important;}
td,th {border-color:rgba(255,221,158,.19) !important;}
tr:nth-child(even) {background:rgba(255,255,255,.035);}
#countdown,.countdown,.timer {color:#ffdb7e !important;text-shadow:0 0 20px rgba(255,167,68,.3);}
:focus-visible {outline:3px solid #ffe198 !important;outline-offset:3px;}
@media(max-width:650px) {
  body {font-size:16px;}
  .card,.panel,.modal,.dialog {border-radius:14px !important;}
  button,.btn,input,textarea,select {min-height:44px;}
  h1 {font-size:clamp(1.4rem,6vw,2rem);}
  table {display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
}
@media(prefers-reduced-motion:reduce) {button,.btn {transition:none !important;}}
