/* ============================================================
   落日合成波主题（商店购买「落日合成波主题」后生效）
   作用域：<html class="theme-synthwave">（登录页 + 大厅 + 弹窗 + 桌宠）
   原则：位置 / 尺寸 / 文字一律不动，只换配色 / 字体 / 边框 / 圆角 / 阴影
   像素街机原样式在 hall.css / login.css / horn-bar.css，本文件按更高优先级覆盖
   风格：落日橙粉 × 电紫渐变 + 网格地平线 + 霓虹描边（synthwave / outrun）
   ============================================================ */

/* —— 合成波设计变量（落日渐变 + 电紫 + 深夜底）—— */
.theme-synthwave {
  --sw-ink: #f2e9ff;          /* 亮字主色 */
  --sw-ink-soft: #b9a8e0;     /* 次要文字 */
  --sw-bg: #14092e;           /* 深夜紫底 */
  --sw-bg2: #1d0f42;          /* 次级底 */
  --sw-panel: #221250;        /* 面板底 */
  --sw-sun1: #ff4fa3;         /* 落日粉 */
  --sw-sun2: #ff8a3d;         /* 落日橙 */
  --sw-purple: #8a5cf5;       /* 电紫 */
  --sw-purple-deep: #5b3bb8;  /* 深紫 */
  --sw-cyan: #4de8ff;         /* 霓虹青 */
  --sw-cyan-deep: #0f8fae;    /* 深青（文字用）*/
  --sw-yellow: #ffd75e;       /* 落日黄 */
  --sw-font: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", sans-serif;
  --sw-radius: 14px;
  --sw-radius-lg: 20px;
  --sw-sunset: linear-gradient(135deg, #ff4fa3 0%, #ff8a3d 60%, #ffd75e 100%);
  --sw-grid: repeating-linear-gradient(0deg, transparent 0 22px, rgba(138, 92, 245, .12) 22px 23px),
             repeating-linear-gradient(90deg, transparent 0 22px, rgba(138, 92, 245, .12) 22px 23px);
}

/* ===== 基础：深夜底 + 网格地平线 ===== */
.theme-synthwave body {
  font-family: var(--sw-font);
  color: var(--sw-ink);
  background:
    radial-gradient(ellipse 120% 55% at 50% 108%, rgba(255, 79, 163, .28) 0%, transparent 60%),
    linear-gradient(180deg, #14092e 0%, #1d0f42 48%, #31155f 78%, #4a1a6b 100%);
  background-attachment: fixed;
}

.theme-synthwave #hallBgVideo {
  opacity: .32;
  filter: saturate(1.2) hue-rotate(-14deg);
  mix-blend-mode: screen;
}

/* ===== 顶栏：落日霓虹 ===== */
.theme-synthwave header {
  background: linear-gradient(180deg, rgba(20, 9, 46, .97) 0%, rgba(34, 18, 80, .95) 100%);
  border-bottom: 2px solid var(--sw-sun1);
  box-shadow: 0 2px 0 rgba(255, 138, 61, .55), 0 10px 30px rgba(255, 79, 163, .25);
}

.theme-synthwave .brand {
  color: #ffd75e;
  text-shadow: 0 0 8px rgba(255, 138, 61, .9), 0 0 24px rgba(255, 79, 163, .7), 2px 2px 0 #8a5cf5;
  animation: none;
}

.theme-synthwave .online-num {
  color: var(--sw-cyan);
  border-color: rgba(77, 232, 255, .6);
  background: rgba(77, 232, 255, .08);
  box-shadow: 0 0 10px rgba(77, 232, 255, .3);
  text-shadow: 0 0 6px rgba(77, 232, 255, .7);
}

.theme-synthwave .user-box .name {
  color: var(--sw-cyan);
  text-shadow: 0 0 8px rgba(77, 232, 255, .7);
}

.theme-synthwave .user-box .utag {
  border-radius: 999px;
}

.theme-synthwave .coin-balance {
  border-radius: 999px;
}

.theme-synthwave .menu-btn {
  border-radius: 10px;
}

.theme-synthwave .pixel-btn {
  border-radius: var(--sw-radius);
  background: linear-gradient(135deg, #8a5cf5 0%, #5b3bb8 100%);
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
  box-shadow: 0 3px 0 var(--sw-purple-deep), 0 0 14px rgba(138, 92, 245, .4);
}

.theme-synthwave .checkin-btn {
  background: var(--sw-sunset);
  color: #3a0d28;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .4);
  box-shadow: 0 3px 0 #b8286d, 0 0 16px rgba(255, 138, 61, .5);
}

.theme-synthwave .logout-btn {
  background: linear-gradient(135deg, #ff5e7e 0%, #c22755 100%);
  box-shadow: 0 3px 0 #7d1030, 0 0 14px rgba(255, 94, 126, .45);
}

.theme-synthwave .music-btn {
  background: linear-gradient(135deg, #4de8ff 0%, #0f8fae 100%);
  color: #04222b;
  box-shadow: 0 3px 0 #0a5d73, 0 0 14px rgba(77, 232, 255, .45);
}

.theme-synthwave .music-btn.off {
  background: linear-gradient(135deg, #6f6f9e 0%, #4a4a72 100%);
  color: #d9d9f2;
  box-shadow: 0 3px 0 #26264a;
}

.theme-synthwave .nav-btn {
  background: linear-gradient(180deg, #2b1758 0%, #1d1042 100%);
  color: var(--sw-cyan);
  border-color: rgba(77, 232, 255, .45);
  text-shadow: 0 0 8px rgba(77, 232, 255, .6);
  box-shadow: 0 3px 0 #120a2e, 0 0 12px rgba(77, 232, 255, .22);
}

.theme-synthwave .nav-btn.active {
  background: var(--sw-sunset);
  color: #3a0d28;
  border-color: transparent;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .4);
  box-shadow: 0 3px 0 #b8286d, 0 0 18px rgba(255, 79, 163, .55);
}

/* ===== 主区：网格面板卡片 ===== */
.theme-synthwave .section-title {
  color: var(--sw-yellow);
  text-shadow: 0 0 10px rgba(255, 215, 94, .55);
  letter-spacing: 3px;
}

.theme-synthwave .section-title::before {
  color: var(--sw-sun1);
  text-shadow: 0 0 10px rgba(255, 79, 163, .8);
}

.theme-synthwave .card {
  background: linear-gradient(160deg, rgba(34, 18, 80, .96) 0%, rgba(29, 15, 66, .96) 100%);
  border: 1px solid rgba(255, 79, 163, .35);
  border-radius: var(--sw-radius-lg);
  box-shadow: 0 0 0 1px rgba(77, 232, 255, .12), 0 8px 24px rgba(0, 0, 0, .45), 0 0 22px rgba(138, 92, 245, .18);
}

.theme-synthwave .card:hover {
  border-color: rgba(255, 215, 94, .65);
  box-shadow: 0 8px 26px rgba(0, 0, 0, .5), 0 0 24px rgba(255, 138, 61, .3);
  transform: translateY(-2px);
}

.theme-synthwave .screen {
  border-color: rgba(77, 232, 255, .4);
  box-shadow: inset 0 0 24px rgba(77, 232, 255, .12);
}

.theme-synthwave .detail .enter {
  background: var(--sw-sunset);
  color: #3a0d28;
  border-radius: 999px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .4);
  box-shadow: 0 4px 0 #b8286d, 0 0 18px rgba(255, 79, 163, .5);
}

.theme-synthwave .gup {
  color: var(--sw-cyan);
}

/* ===== 弹窗（签到 / 商店 / 转盘 / 留言板）===== */
.theme-synthwave .board-mask {
  background: rgba(10, 4, 26, .78);
  backdrop-filter: blur(4px);
}

.theme-synthwave .board-panel {
  background: linear-gradient(165deg, #241252 0%, #170a38 100%);
  border: 2px solid rgba(255, 79, 163, .45);
  border-radius: var(--sw-radius-lg);
  box-shadow: 0 0 0 1px rgba(77, 232, 255, .15), 0 18px 48px rgba(0, 0, 0, .6), 0 0 34px rgba(255, 79, 163, .22);
}

.theme-synthwave .board-title {
  color: var(--sw-yellow);
  text-shadow: 0 0 12px rgba(255, 215, 94, .6);
}

.theme-synthwave .board-sub {
  color: var(--sw-ink-soft);
}

.theme-synthwave .board-send {
  background: var(--sw-sunset);
  color: #3a0d28;
  border-radius: 999px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .35);
  box-shadow: 0 3px 0 #b8286d, 0 0 16px rgba(255, 138, 61, .45);
}

.theme-synthwave .shop-item {
  background: linear-gradient(160deg, rgba(43, 24, 96, .95), rgba(29, 15, 66, .95));
  border: 1px solid rgba(77, 232, 255, .28);
  border-radius: var(--sw-radius);
  box-shadow: 0 0 14px rgba(138, 92, 245, .18);
}

.theme-synthwave .si-name {
  color: var(--sw-ink);
}

.theme-synthwave .si-desc {
  color: var(--sw-ink-soft);
}

.theme-synthwave .si-price {
  color: var(--sw-yellow);
  text-shadow: 0 0 8px rgba(255, 215, 94, .55);
}

.theme-synthwave .shop-tab.active {
  background: var(--sw-sunset);
  color: #3a0d28;
  box-shadow: 0 0 12px rgba(255, 79, 163, .5);
}

/* ===== 转盘弹窗：落日轮盘 ===== */
.theme-synthwave .ck-lottery-title {
  color: var(--sw-yellow);
  text-shadow: 0 0 10px rgba(255, 215, 94, .6);
}

.theme-synthwave .ck-lottery-go,
.theme-synthwave .wheel-go {
  background: var(--sw-sunset);
  color: #3a0d28;
  border-radius: 999px;
  box-shadow: 0 3px 0 #b8286d, 0 0 14px rgba(255, 138, 61, .5);
}

.theme-synthwave .wheel-box {
  border-color: rgba(255, 79, 163, .55);
  box-shadow: 0 0 24px rgba(255, 79, 163, .35), inset 0 0 18px rgba(138, 92, 245, .25);
  background: radial-gradient(circle at 50% 42%, #2b1758 0%, #170a38 78%);
}

.theme-synthwave .wheel-pointer {
  border-bottom-color: var(--sw-yellow);
  filter: drop-shadow(0 0 6px rgba(255, 215, 94, .8));
}

/* ===== 留言板 / 任务 / 杂项 ===== */
.theme-synthwave .msg-item {
  border-color: rgba(138, 92, 245, .3);
  background: rgba(43, 24, 96, .55);
}

.theme-synthwave .ck-task-item {
  border-color: rgba(77, 232, 255, .3);
  background: rgba(43, 24, 96, .55);
}

.theme-synthwave .tag-cell {
  background: linear-gradient(160deg, rgba(43, 24, 96, .95), rgba(29, 15, 66, .95));
  border-color: rgba(77, 232, 255, .25);
}

.theme-synthwave .bh-item,
.theme-synthwave .ah-item {
  background: rgba(43, 24, 96, .55);
  border-color: rgba(138, 92, 245, .3);
}

.theme-synthwave .bh-item.using,
.theme-synthwave .ah-item.using {
  border-color: rgba(77, 232, 255, .55);
  background: rgba(77, 232, 255, .1);
}

.theme-synthwave .more-menu {
  background: rgba(23, 10, 56, .98);
  border-color: rgba(255, 79, 163, .4);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .6), 0 0 20px rgba(255, 79, 163, .25);
}

.theme-synthwave .mm-item:hover {
  background: rgba(255, 79, 163, .14);
  border-color: rgba(255, 79, 163, .4);
}

/* ===== 登录页 ===== */
.theme-synthwave .login-card,
.theme-synthwave .tag-panel {
  border-radius: var(--sw-radius-lg);
}

/* ===== F7 主题适配 · 新界面（转盘弹窗/十连卡片/每日任务进度条/顶栏收纳）===== */

/* 大转盘独立弹窗 */
.theme-synthwave .wheel-panel {
  background: linear-gradient(165deg, #241252 0%, #170a38 100%);
  border: 2px solid rgba(255, 79, 163, .45);
}

.theme-synthwave .wheel-ticket-num {
  color: var(--sw-yellow);
  text-shadow: 0 0 8px rgba(255, 215, 94, .6);
}

.theme-synthwave .wheel-go {
  background: var(--sw-sunset);
}

/* 十连卡片：金/紫/蓝/绿/白（保留功能色，仅换卡底与光晕氛围） */
.theme-synthwave .rc-card {
  background: linear-gradient(160deg, rgba(43, 24, 96, .96), rgba(29, 15, 66, .96));
  color: var(--sw-ink);
}

.theme-synthwave .rc-card .rc-amt {
  text-shadow: 0 0 10px currentColor;
}

/* 每日任务 5 节点进度条 */
.theme-synthwave .dt-track {
  background: rgba(20, 9, 46, .9);
  border-color: rgba(255, 79, 163, .35);
}

.theme-synthwave .dt-node.done .dt-dot {
  background: var(--sw-sunset);
  border-color: #ffd75e;
  box-shadow: 0 0 12px rgba(255, 138, 61, .6);
}

.theme-synthwave .dt-fill {
  background: linear-gradient(90deg, #ff4fa3, #ff8a3d, #ffd75e);
}

/* 排行榜 */
.theme-synthwave .lb-row.top1 .lb-rank { color: #ffd75e; text-shadow: 0 0 10px rgba(255, 215, 94, .8); }
.theme-synthwave .lb-row.top2 .lb-rank { color: #d9d9f2; text-shadow: 0 0 8px rgba(217, 217, 242, .7); }
.theme-synthwave .lb-row.top3 .lb-rank { color: #ff9a6e; text-shadow: 0 0 8px rgba(255, 154, 110, .7); }

.theme-synthwave .lb-row {
  border-color: rgba(138, 92, 245, .25);
}

/* 桌宠气泡 / Toast */
.theme-synthwave .toast-wrap .toast {
  background: rgba(34, 18, 80, .97);
  border-color: rgba(255, 79, 163, .5);
  color: var(--sw-ink);
}
