/* ═══════════════════════════════════════════════
   theme.css — 新州屋全域主題色
   供 voting-system.js / dice-game.js /
       treasure-hunt-system.js / link-card /
       image-gallery.js 共用
   ═══════════════════════════════════════════════ */

:root {
  /* ── 主色 ── */
  --color-pink:        #FF2D95;
  --color-purple:      #B24BF3;
  --color-cyan:        #00F0FF;
  --color-gold:        #FFD700;

  /* ── 漸層 ── */
  --gradient-primary:  linear-gradient(135deg, #FF2D95, #B24BF3);
  --gradient-bg:       linear-gradient(135deg, #0d0e1a 0%, #1a1040 50%, #0d0e1a 100%);
  --gradient-card:     linear-gradient(135deg, rgba(30,15,60,0.98), rgba(20,10,40,0.98));

  /* ── 背景 ── */
  --bg-overlay:        rgba(30, 15, 60, 0.98);
  --bg-card:           rgba(15, 15, 35, 0.95);
  --bg-input:          rgba(255, 255, 255, 0.1);
  --bg-dark:           rgba(0, 0, 0, 0.85);

  /* ── 文字 ── */
  --text-primary:      #ffffff;
  --text-secondary:    rgba(255, 255, 255, 0.75);
  --text-muted:        rgba(255, 255, 255, 0.5);

  /* ── 邊框 ── */
  --border-subtle:     rgba(255, 255, 255, 0.15);
  --border-pink:       rgba(255, 45, 149, 0.3);
  --border-purple:     rgba(178, 75, 243, 0.3);

  /* ── 陰影 ── */
  --shadow-card:       0 12px 40px rgba(0, 0, 0, 0.5);
  --shadow-pink:       0 4px 20px rgba(255, 45, 149, 0.4);
  --shadow-purple:     0 4px 20px rgba(178, 75, 243, 0.4);

  /* ── 圓角 ── */
  --radius-sm:         8px;
  --radius-md:         14px;
  --radius-lg:         20px;
  --radius-xl:         28px;
  --radius-full:       9999px;

  /* ── 動畫 ── */
  --transition-base:   all 0.3s ease;
  --transition-bounce: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Plugin 面板共用 ── */
  --plugin-bg:         rgba(15, 15, 35, 0.97);
  --plugin-border:     rgba(255, 45, 149, 0.25);
  --plugin-header-bg:  rgba(30, 15, 60, 0.98);
  --plugin-radius:     20px;

  /* ── 按鈕 ── */
  --btn-primary-bg:    linear-gradient(135deg, #FF2D95, #B24BF3);
  --btn-primary-color: #ffffff;
  --btn-secondary-bg:  rgba(255, 255, 255, 0.08);
  --btn-secondary-border: rgba(255, 255, 255, 0.2);
}
