/* ============================================================
   Taro Cake 全站配色方案 theme.css
   —— 引入处：bar.php（全站页面）/ login.html / signup.html / wsclient.js（聊天 iframe）
   —— 改配色只改下面第 1 节的变量；第 2 节是所有非默认方案的统一覆盖规则
   方案：denia（原浅色，默认）/ avocado / claude / aleph1
   皮肤标记：html[data-tc-theme="<方案>"] + html[data-tc-skin="denia|alt"]
   ============================================================ */

/* —— 原版全量字体（仅在选「原版全量」时才会下载） —— */
@font-face { font-family: tcHy;  src: url('/HYWenHei-85W.woff') format('woff'); font-display: swap; }
@font-face { font-family: tcHy5; src: url('/HYWenHei-55S.woff') format('woff'); font-display: swap; }

/* ============================================================
   1. 调色板变量
   ============================================================ */

/* Denia —— 原浅色（默认，页面自带样式即为本方案，无需覆盖） */
:root {
    --tc-page-bg: linear-gradient(160deg, #e0f2fe 0%, #fce7f3 55%, #ede9fe 100%);
    --tc-card-bg: rgba(255, 255, 255, .66);
    --tc-card-bg-hover: rgba(255, 255, 255, .78);
    --tc-card-bg-glass: rgba(255, 255, 255, .58);
    --tc-card-bg-glass-hover: rgba(255, 255, 255, .68);
    --tc-card-blur: none;
    --tc-text: #334155;
    --tc-text-strong: #1e3a8a;
    --tc-text-soft: #64748b;
    --tc-text-mute: #94a3b8;
    --tc-accent: #60a5fa;
    --tc-accent-2: #f472b6;
    --tc-accent-grad: linear-gradient(135deg, #60a5fa, #f472b6);
    --tc-accent-soft: rgba(96, 165, 250, .12);
    --tc-accent-soft-hover: rgba(96, 165, 250, .2);
    --tc-accent-ink: #2563eb;
    --tc-border: rgba(96, 165, 250, .25);
    --tc-border-soft: rgba(96, 165, 250, .16);
    --tc-panel-bg: rgba(255, 255, 255, .97);
    --tc-panel-border: rgba(255, 255, 255, .95);
    --tc-shell-bg: rgba(255, 255, 255, .82);
    --tc-shell-shadow: 0 6px 24px rgba(96, 165, 250, .18);
    --tc-shadow: rgba(96, 165, 250, .28);
    --tc-input-bg: rgba(255, 255, 255, .92);
    --tc-input-border: #bfdbfe;
    --tc-chip-bg: rgba(255, 255, 255, .86);
    --tc-login-card: linear-gradient(140deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, .4));
    --tc-code-bg: rgba(96, 165, 250, .16);
    --tc-chart-line: #60a5fa;
    --tc-chart-fill: rgba(96, 165, 250, .18);
    --tc-chart-point: #f472b6;
    --tc-chart-bar: rgba(244, 114, 182, .6);
    --tc-chart-grid: rgba(96, 165, 250, .12);
    --tc-chart-tick: #94a3b8;
}

/* Avocado —— 极浅牛油果绿（主色 rgb(222,229,216)） */
html[data-tc-theme="avocado"] {
    --tc-page-bg: linear-gradient(160deg, #f3f7ed 0%, #dee5d8 52%, #eaf0e2 100%);
    --tc-card-bg: rgba(255, 255, 255, .7);
    --tc-card-bg-hover: rgba(255, 255, 255, .84);
    --tc-card-bg-glass: rgba(255, 255, 255, .58);
    --tc-card-bg-glass-hover: rgba(255, 255, 255, .72);
    --tc-text: #3f4a38;
    --tc-text-strong: #2b3524;
    --tc-text-soft: #66755c;
    --tc-text-mute: #8b9a80;
    --tc-accent: #7f9a6a;
    --tc-accent-2: #b6c9a0;
    --tc-accent-grad: linear-gradient(135deg, #8fae74, #c3d3ac);
    --tc-accent-soft: rgba(127, 154, 106, .14);
    --tc-accent-soft-hover: rgba(127, 154, 106, .24);
    --tc-accent-ink: #5c7a48;
    --tc-border: rgba(127, 154, 106, .3);
    --tc-border-soft: rgba(127, 154, 106, .2);
    --tc-panel-bg: rgba(252, 254, 250, .98);
    --tc-panel-border: rgba(222, 229, 216, .95);
    --tc-shell-bg: rgba(255, 255, 255, .86);
    --tc-shell-shadow: 0 6px 24px rgba(127, 154, 106, .22);
    --tc-shadow: rgba(127, 154, 106, .32);
    --tc-input-bg: rgba(255, 255, 255, .92);
    --tc-input-border: #cfdcc0;
    --tc-chip-bg: rgba(255, 255, 255, .9);
    --tc-login-card: linear-gradient(140deg, rgba(243, 247, 237, .96), rgba(222, 229, 216, .96));
    --tc-code-bg: rgba(127, 154, 106, .16);
    --tc-chart-line: #7f9a6a;
    --tc-chart-fill: rgba(127, 154, 106, .2);
    --tc-chart-point: #9ec27f;
    --tc-chart-bar: rgba(158, 194, 127, .62);
    --tc-chart-grid: rgba(127, 154, 106, .16);
    --tc-chart-tick: #8b9a80;
}

/* Claude —— 米白 + 橙（照抄本地 LobsterAI 界面配色） */
html[data-tc-theme="claude"] {
    --tc-page-bg: linear-gradient(160deg, #fbf8f3 0%, #f7f2ec 48%, #f0e8e0 100%);
    --tc-card-bg: rgba(255, 255, 255, .8);
    --tc-card-bg-hover: rgba(255, 255, 255, .92);
    --tc-card-bg-glass: rgba(255, 255, 255, .66);
    --tc-card-bg-glass-hover: rgba(255, 255, 255, .8);
    --tc-text: #4a3828;
    --tc-text-strong: #2c2118;
    --tc-text-soft: #756050;
    --tc-text-mute: #9c8a78;
    --tc-accent: #d97757;
    --tc-accent-2: #b47840;
    --tc-accent-grad: linear-gradient(135deg, #d97757, #b47840);
    --tc-accent-soft: rgba(217, 119, 87, .13);
    --tc-accent-soft-hover: rgba(217, 119, 87, .22);
    --tc-accent-ink: #a8502f;
    --tc-border: rgba(110, 72, 40, .22);
    --tc-border-soft: rgba(110, 72, 40, .14);
    --tc-panel-bg: rgba(255, 253, 250, .98);
    --tc-panel-border: rgba(232, 221, 210, .95);
    --tc-shell-bg: rgba(255, 252, 248, .9);
    --tc-shell-shadow: 0 6px 24px rgba(110, 72, 40, .16);
    --tc-shadow: rgba(110, 72, 40, .24);
    --tc-input-bg: rgba(255, 255, 255, .94);
    --tc-input-border: #ddd0c2;
    --tc-chip-bg: rgba(255, 255, 255, .92);
    --tc-login-card: linear-gradient(140deg, rgba(250, 246, 240, .96), rgba(240, 232, 224, .96));
    --tc-code-bg: rgba(217, 119, 87, .14);
    --tc-chart-line: #d97757;
    --tc-chart-fill: rgba(217, 119, 87, .18);
    --tc-chart-point: #b47840;
    --tc-chart-bar: rgba(180, 120, 64, .62);
    --tc-chart-grid: rgba(110, 72, 40, .16);
    --tc-chart-tick: #9c8a78;
}

/* Aleph-1 —— 深色（原深色模式优化：傍晚紫色霞光） */
html[data-tc-theme="aleph1"] {
    --tc-page-bg: linear-gradient(160deg, #150f2a 0%, #2b1a4a 40%, #4a2a5e 58%, #120e24 100%);
    --tc-card-bg: rgba(38, 29, 64, .72);
    --tc-card-bg-hover: rgba(46, 35, 76, .88);
    --tc-card-bg-glass: rgba(26, 20, 46, .6);
    --tc-card-bg-glass-hover: rgba(32, 24, 56, .74);
    --tc-text: #d5cde9;
    --tc-text-strong: #ece6ff;
    --tc-text-soft: #a99fc6;
    --tc-text-mute: #8a80a8;
    --tc-accent: #a78bfa;
    --tc-accent-2: #f0a6c8;
    --tc-accent-grad: linear-gradient(135deg, #8b5cf6, #e879b9);
    --tc-accent-soft: rgba(167, 139, 250, .16);
    --tc-accent-soft-hover: rgba(167, 139, 250, .26);
    --tc-accent-ink: #c4b5fd;
    --tc-border: rgba(167, 139, 250, .24);
    --tc-border-soft: rgba(167, 139, 250, .16);
    --tc-panel-bg: rgba(24, 18, 42, .97);
    --tc-panel-border: rgba(148, 163, 184, .16);
    --tc-shell-bg: rgba(26, 20, 44, .88);
    --tc-shell-shadow: 0 6px 24px rgba(0, 0, 0, .45);
    --tc-shadow: rgba(0, 0, 0, .5);
    --tc-input-bg: rgba(17, 13, 32, .85);
    --tc-input-border: rgba(167, 139, 250, .42);
    --tc-chip-bg: rgba(148, 163, 184, .16);
    --tc-login-card: linear-gradient(140deg, rgba(43, 26, 74, .95), rgba(74, 42, 94, .95));
    --tc-code-bg: rgba(167, 139, 250, .2);
    --tc-chart-line: #a78bfa;
    --tc-chart-fill: rgba(167, 139, 250, .22);
    --tc-chart-point: #e879b9;
    --tc-chart-bar: rgba(167, 139, 250, .55);
    --tc-chart-grid: rgba(167, 139, 250, .16);
    --tc-chart-tick: #8a80a8;
}

/* 毛玻璃：只改卡片，文字/背景不动 */
html[data-tc-glass="on"] {
    --tc-card-bg: var(--tc-card-bg-glass);
    --tc-card-bg-hover: var(--tc-card-bg-glass-hover);
    --tc-card-blur: blur(14px);
}

/* ============================================================
   2. 非 Denia 方案的统一覆盖（全部走变量，三个方案共用）
   ============================================================ */

html[data-tc-skin="alt"] body {
    background: var(--tc-page-bg) !important;
    color: var(--tc-text) !important;
}

/* —— 顶栏 —— */
html[data-tc-skin="alt"] .capsule {
    background: var(--tc-shell-bg) !important;
    border: 1px solid var(--tc-border-soft);
    box-shadow: var(--tc-shell-shadow) !important;
}
html[data-tc-skin="alt"] .capsule::before { background: var(--tc-accent-grad); }
html[data-tc-skin="alt"] .brand .en { color: var(--tc-text-strong) !important; }
html[data-tc-skin="alt"] .brand .en b,
html[data-tc-skin="alt"] .title .en b,
html[data-tc-skin="alt"] .card h2 i,
html[data-tc-skin="alt"] .menu .ic,
html[data-tc-skin="alt"] .ntf-item .ic i,
html[data-tc-skin="alt"] .go i,
html[data-tc-skin="alt"] .bico i,
html[data-tc-skin="alt"] .tc-title i,
html[data-tc-skin="alt"] .level-badge i {
    background: var(--tc-accent-grad) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
html[data-tc-skin="alt"] .brand .cn,
html[data-tc-skin="alt"] .go,
html[data-tc-skin="alt"] .uname,
html[data-tc-skin="alt"] .tcstat { color: var(--tc-text-soft) !important; }
html[data-tc-skin="alt"] .go:hover { background: var(--tc-accent-soft-hover) !important; color: var(--tc-accent-ink) !important; }
html[data-tc-skin="alt"] .nav-sep { background: var(--tc-border); }
html[data-tc-skin="alt"] .bico { background: var(--tc-chip-bg) !important; box-shadow: 0 2px 8px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] .bico:hover { background: var(--tc-panel-bg) !important; }
html[data-tc-skin="alt"] .logout { color: var(--tc-text-soft) !important; background: var(--tc-chip-bg) !important; }
html[data-tc-skin="alt"] .auth-links .login { color: var(--tc-accent-ink) !important; background: var(--tc-accent-soft) !important; }
html[data-tc-skin="alt"] .auth-links .signup { background: var(--tc-accent-grad) !important; box-shadow: 0 4px 12px var(--tc-shadow) !important; }

/* —— 弹层 / 公告 / 通知 —— */
html[data-tc-skin="alt"] .tc-panel {
    background: var(--tc-panel-bg) !important;
    border-color: var(--tc-panel-border) !important;
    box-shadow: 0 12px 32px var(--tc-shadow) !important;
}
html[data-tc-skin="alt"] .av-pop { background: var(--tc-panel-bg) !important; border-color: var(--tc-panel-border) !important; }
html[data-tc-skin="alt"] .tc-title { color: var(--tc-text-strong) !important; border-bottom-color: var(--tc-border) !important; }
html[data-tc-skin="alt"] .ann-body { color: var(--tc-text) !important; }
html[data-tc-skin="alt"] .ann-body h1, html[data-tc-skin="alt"] .ann-body h2,
html[data-tc-skin="alt"] .ann-body h3, html[data-tc-skin="alt"] .ann-body h4 { color: var(--tc-text-strong) !important; }
html[data-tc-skin="alt"] .ann-time { color: var(--tc-text-mute) !important; }
html[data-tc-skin="alt"] .ntf-item .t1 { color: var(--tc-text) !important; }
html[data-tc-skin="alt"] .ntf-item .t2 { color: var(--tc-text-mute) !important; }
html[data-tc-skin="alt"] .ntf-item:hover { background: var(--tc-accent-soft-hover) !important; }
html[data-tc-skin="alt"] .av-pop-n, html[data-tc-skin="alt"] .av-pop-r b { color: var(--tc-text-strong) !important; }
html[data-tc-skin="alt"] .av-pop-r, html[data-tc-skin="alt"] .av-pop-sw { color: var(--tc-text-soft) !important; border-top-color: var(--tc-border) !important; }
html[data-tc-skin="alt"] .av-pop-tip { color: var(--tc-text-mute) !important; }
html[data-tc-skin="alt"] .av-pop-link { color: var(--tc-accent-ink) !important; border-top-color: var(--tc-border) !important; }
html[data-tc-skin="alt"] .avatar-box img.avatar { border-color: var(--tc-panel-bg); box-shadow: 0 3px 12px var(--tc-shadow); }
html[data-tc-skin="alt"] .av-dot { border-color: var(--tc-panel-bg); }

/* —— 主页仪表盘（index.php） —— */
html[data-tc-skin="alt"] .title .en { color: var(--tc-text-strong) !important; text-shadow: 0 4px 20px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] .title .cn { color: var(--tc-text-soft) !important; }
html[data-tc-skin="alt"] .title .slogan,
html[data-tc-skin="alt"] .cdate,
html[data-tc-skin="alt"] .words-src,
html[data-tc-skin="alt"] .ck-label,
html[data-tc-skin="alt"] .srv-sub,
html[data-tc-skin="alt"] .cap,
html[data-tc-skin="alt"] .m-artist,
html[data-tc-skin="alt"] .act-m,
html[data-tc-skin="alt"] .disk .lbl,
html[data-tc-skin="alt"] .net .item .k,
html[data-tc-skin="alt"] .ft-line,
html[data-tc-skin="alt"] .foot { color: var(--tc-text-mute) !important; }
html[data-tc-skin="alt"] .foot b { color: var(--tc-text-soft) !important; }
html[data-tc-skin="alt"] .w { border-color: var(--tc-border-soft) !important; box-shadow: 0 8px 24px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] .w > h3 { color: var(--tc-accent-ink) !important; }
html[data-tc-skin="alt"] .clock,
html[data-tc-skin="alt"] .ck-points,
html[data-tc-skin="alt"] .gauge .inner,
html[data-tc-skin="alt"] .net .item .v,
html[data-tc-skin="alt"] .m-title,
html[data-tc-skin="alt"] .act-t { color: var(--tc-text-strong) !important; }
html[data-tc-skin="alt"] .clock { text-shadow: 0 4px 18px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] .m-vol .m-volico,
html[data-tc-skin="alt"] .say-refresh { color: var(--tc-text-soft) !important; }
html[data-tc-skin="alt"] .words-text { color: var(--tc-text) !important; }
html[data-tc-skin="alt"] .net .item { background: var(--tc-accent-soft) !important; }
html[data-tc-skin="alt"] .disk .bar { background: var(--tc-border-soft) !important; }
html[data-tc-skin="alt"] .m-track { background: var(--tc-border) !important; }
html[data-tc-skin="alt"] .gauge .ring-bg { stroke: var(--tc-border-soft) !important; }
html[data-tc-skin="alt"] .fortune { border-top-color: var(--tc-border) !important; }
html[data-tc-skin="alt"] .ck-btn { box-shadow: 0 5px 14px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] .act-list::-webkit-scrollbar-thumb { background: var(--tc-border); }
html[data-tc-skin="alt"] .tc-banner { background: var(--tc-card-bg) !important; border-color: var(--tc-border-soft) !important; }
html[data-tc-skin="alt"] .tc-banner, html[data-tc-skin="alt"] .tc-blog-item { color: var(--tc-text) !important; }

/* —— 博客 / 个人主页 / 建频道 / 捐赠 / 聊天 等通用组件 —— */
html[data-tc-skin="alt"] .card,
html[data-tc-skin="alt"] .panel,
html[data-tc-skin="alt"] .qr,
html[data-tc-skin="alt"] .donor,
html[data-tc-skin="alt"] .pcard,
html[data-tc-skin="alt"] .post {
    background: var(--tc-card-bg) !important;
    border-color: var(--tc-border-soft) !important;
    box-shadow: 0 8px 24px var(--tc-shadow) !important;
}
html[data-tc-skin="alt"] .list-frame { background: var(--tc-card-bg) !important; box-shadow: inset 0 0 0 1px var(--tc-border-soft) !important; }
html[data-tc-skin="alt"] .ch { background: var(--tc-chip-bg) !important; color: var(--tc-text) !important; }
html[data-tc-skin="alt"] .ch:hover { background: var(--tc-accent-soft-hover) !important; }
html[data-tc-skin="alt"] .head h1, html[data-tc-skin="alt"] .title h1,
html[data-tc-skin="alt"] .pcard h2, html[data-tc-skin="alt"] .post-head h1,
html[data-tc-skin="alt"] .cm-h, html[data-tc-skin="alt"] .who .nm,
html[data-tc-skin="alt"] .donor .nm, html[data-tc-skin="alt"] .donor .nm .dlink,
html[data-tc-skin="alt"] .qr .qr-title, html[data-tc-skin="alt"] .fstats .fs b,
html[data-tc-skin="alt"] .head .title { color: var(--tc-text-strong) !important; text-shadow: none !important; }
html[data-tc-skin="alt"] .pcard .ex, html[data-tc-skin="alt"] .post-body,
html[data-tc-skin="alt"] .cm-txt, html[data-tc-skin="alt"] .bio,
html[data-tc-skin="alt"] .donor .msg, html[data-tc-skin="alt"] .title p { color: var(--tc-text) !important; }
html[data-tc-skin="alt"] .post-body h1, html[data-tc-skin="alt"] .post-body h2,
html[data-tc-skin="alt"] .post-body h3, html[data-tc-skin="alt"] .post-body h4 { color: var(--tc-text-strong) !important; }
html[data-tc-skin="alt"] .post-head .meta .nm, html[data-tc-skin="alt"] .pcard .meta .nm,
html[data-tc-skin="alt"] .cm-name, html[data-tc-skin="alt"] .col h2,
html[data-tc-skin="alt"] .list-title, html[data-tc-skin="alt"] .fstats .flink { color: var(--tc-accent-ink) !important; }
html[data-tc-skin="alt"] .head .sub, html[data-tc-skin="alt"] .head .slogan,
html[data-tc-skin="alt"] .pcard .meta .tm, html[data-tc-skin="alt"] .post-head .meta .tm,
html[data-tc-skin="alt"] .cm-time, html[data-tc-skin="alt"] .cm-login,
html[data-tc-skin="alt"] .who .sig, html[data-tc-skin="alt"] .fstats .fs,
html[data-tc-skin="alt"] .u-status, html[data-tc-skin="alt"] .u-lv-row,
html[data-tc-skin="alt"] .donor .qr-tip, html[data-tc-skin="alt"] .qr .qr-tip,
html[data-tc-skin="alt"] .secret, html[data-tc-skin="alt"] .file-name,
html[data-tc-skin="alt"] .empty { color: var(--tc-text-mute) !important; }
html[data-tc-skin="alt"] .post-body :not(pre) > code { background: var(--tc-code-bg) !important; color: var(--tc-text-strong) !important; }
html[data-tc-skin="alt"] .post-body blockquote { color: var(--tc-text-soft) !important; background: var(--tc-accent-soft) !important; }
html[data-tc-skin="alt"] .post-body th, html[data-tc-skin="alt"] .post-body td { border-color: var(--tc-border) !important; }
html[data-tc-skin="alt"] .post-body th { background: var(--tc-accent-soft) !important; }
html[data-tc-skin="alt"] .post-head, html[data-tc-skin="alt"] .cm-row,
html[data-tc-skin="alt"] .cm-form, html[data-tc-skin="alt"] .cm-login,
html[data-tc-skin="alt"] .bio, html[data-tc-skin="alt"] .fstats { border-color: var(--tc-border) !important; }
html[data-tc-skin="alt"] .btn.ghost { background: var(--tc-chip-bg) !important; color: var(--tc-text) !important; border-color: var(--tc-border) !important; }
html[data-tc-skin="alt"] input.in,
html[data-tc-skin="alt"] input[type="text"], html[data-tc-skin="alt"] input[type="password"] {
    background: var(--tc-input-bg) !important;
    color: var(--tc-text) !important;
    border-color: var(--tc-input-border) !important;
    border-bottom-color: var(--tc-input-border) !important;
}
html[data-tc-skin="alt"] input.in:focus,
html[data-tc-skin="alt"] input[type="text"]:focus, html[data-tc-skin="alt"] input[type="password"]:focus {
    background: var(--tc-input-bg) !important;
    border-bottom-color: var(--tc-accent) !important;
}
html[data-tc-skin="alt"] input.in::placeholder,
html[data-tc-skin="alt"] input[type="text"]::placeholder, html[data-tc-skin="alt"] input[type="password"]::placeholder { color: var(--tc-text-mute); }
html[data-tc-skin="alt"] input.in { border-radius: 8px; }
/* 登录/注册页输入框保持透明底（覆盖上面的通用输入框填色） */
html[data-tc-skin="alt"] #box .in { background: transparent !important; }
html[data-tc-skin="alt"] #box .in:focus { background: var(--tc-accent-soft) !important; }

/* 主按钮用渐变；次要按钮（传文件/发送文件）保持描边风格 */
html[data-tc-skin="alt"] .btn, html[data-tc-skin="alt"] #sub, html[data-tc-skin="alt"] #sb,
html[data-tc-skin="alt"] .ck-btn { background-image: var(--tc-accent-grad) !important; color: #fff !important; }
html[data-tc-skin="alt"] #sub { box-shadow: 0 6px 18px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] #subi, html[data-tc-skin="alt"] .file-btn {
    background: var(--tc-chip-bg) !important;
    border-color: var(--tc-border-soft) !important;
    color: var(--tc-accent-ink) !important;
}
html[data-tc-skin="alt"] .cm-form input[type=text] { background: var(--tc-input-bg) !important; color: var(--tc-text) !important; border-color: var(--tc-input-border) !important; }
html[data-tc-skin="alt"] .cm-form input[type=text]::placeholder { color: var(--tc-text-mute); }
html[data-tc-skin="alt"] .like-btn { background: var(--tc-chip-bg) !important; border-color: var(--tc-border) !important; }
html[data-tc-skin="alt"] .avatar-btn, html[data-tc-skin="alt"] .msg,
html[data-tc-skin="alt"] .empty a, html[data-tc-skin="alt"] .cm-login a,
html[data-tc-skin="alt"] .notfound a, html[data-tc-skin="alt"] a { color: var(--tc-accent-ink); }
html[data-tc-skin="alt"] .notfound { color: var(--tc-text-soft) !important; }
html[data-tc-skin="alt"] .head .title, html[data-tc-skin="alt"] .title h1 { text-shadow: none !important; }

/* —— 聊天室输入栏（formtest.php 外层；iframe 内由 wsclient.js 注入本文件） —— */
html[data-tc-skin="alt"] footer.inputbar { background: var(--tc-shell-bg) !important; border-top-color: var(--tc-panel-border) !important; }
html[data-tc-skin="alt"] .inputbar { background: var(--tc-shell-bg) !important; }
html[data-tc-skin="alt"] input#que { background: var(--tc-input-bg) !important; border-bottom-color: var(--tc-input-border) !important; box-shadow: 0 6px 18px var(--tc-shadow) !important; color: var(--tc-text) !important; }
html[data-tc-skin="alt"] input#que:focus { border-bottom-color: var(--tc-accent) !important; box-shadow: 0 8px 24px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] input#que::placeholder { color: var(--tc-text-mute); }
html[data-tc-skin="alt"] select#pop, html[data-tc-skin="alt"] select#emo { background: var(--tc-chip-bg) !important; border-color: var(--tc-border-soft) !important; box-shadow: 0 4px 12px var(--tc-shadow) !important; color: var(--tc-text) !important; }
html[data-tc-skin="alt"] .file-name { color: var(--tc-text-mute) !important; }
html[data-tc-skin="alt"] iframe#mes { background: var(--tc-card-bg) !important; border-color: var(--tc-panel-border) !important; box-shadow: 0 8px 26px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] .tro { background-image: var(--tc-accent-grad) !important; }

/* —— 聊天记录区（message.html 内，由 wsclient.js 注入本文件） —— */
html[data-tc-skin="alt"] .msg-name { color: var(--tc-accent-ink) !important; }
html[data-tc-skin="alt"] .msg-time { color: var(--tc-text-mute) !important; }

/* —— 仪表盘细节：图表 / 仪表环 / 播放器（dash.css、music.js 的写死渐变改走方案色） —— */
html[data-tc-skin="alt"] .w > h3 i {
    background-image: var(--tc-accent-grad) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
html[data-tc-skin="alt"] .ck-btn,
html[data-tc-skin="alt"] .disk .bar > i,
html[data-tc-skin="alt"] .m-btn.m-play,
html[data-tc-skin="alt"] .m-track i,
html[data-tc-skin="alt"] .act-item .ai,
html[data-tc-skin="alt"] .act-item.post .ai {
    background-image: var(--tc-accent-grad) !important;
}
html[data-tc-skin="alt"] .ck-btn:disabled { background-image: none !important; background: var(--tc-chip-bg) !important; color: var(--tc-text-mute) !important; }
html[data-tc-skin="alt"] #srvTag { color: var(--tc-text-mute) !important; }
html[data-tc-skin="alt"] .ck-btn.login { background-image: linear-gradient(135deg, #94a3b8, #64748b) !important; color: #fff !important; }
html[data-tc-skin="alt"] .disk .bar { background: var(--tc-border-soft) !important; }
html[data-tc-skin="alt"] .ck-streak { color: var(--tc-accent-2) !important; }
html[data-tc-skin="alt"] .m-pick-btn { color: var(--tc-accent-ink) !important; }
html[data-tc-skin="alt"] .m-btn { background: var(--tc-chip-bg) !important; color: var(--tc-accent-ink) !important; }
html[data-tc-skin="alt"] .m-btn.m-play { color: #fff !important; }
html[data-tc-skin="alt"] .m-heart.on { color: var(--tc-accent-2) !important; }
html[data-tc-skin="alt"] .m-track { background: var(--tc-border-soft) !important; }
html[data-tc-skin="alt"] .m-volico { color: var(--tc-accent) !important; }
html[data-tc-skin="alt"] .m-cover { background-image: var(--tc-accent-grad) !important; border-color: var(--tc-panel-bg) !important; }
html[data-tc-skin="alt"] .m-list .mi { color: var(--tc-text-soft) !important; }
html[data-tc-skin="alt"] .act-item.announce .ai { background-image: linear-gradient(135deg, var(--tc-accent-2), var(--tc-accent)) !important; }
html[data-tc-skin="alt"] .act-item.login .ai { background-image: linear-gradient(135deg, var(--tc-accent), var(--tc-accent-2)) !important; }
html[data-tc-skin="alt"] .act-empty { color: var(--tc-text-mute) !important; }
html[data-tc-skin="alt"] #gGrad stop:first-of-type { stop-color: var(--tc-accent) !important; }
html[data-tc-skin="alt"] #gGrad stop:last-of-type { stop-color: var(--tc-accent-2) !important; }
html[data-tc-skin="alt"] .say-refresh { color: var(--tc-accent-ink) !important; }
html[data-tc-skin="alt"] .ck-points { color: var(--tc-text-strong) !important; }

/* 全站音乐浮窗（music.js 运行时注入样式，需提高优先级） */
html[data-tc-skin="alt"] #musicFloat.m-float {
    background: var(--tc-panel-bg) !important;
    border-color: var(--tc-panel-border) !important;
    box-shadow: 0 14px 34px var(--tc-shadow) !important;
    color: var(--tc-text-strong) !important;
}
html[data-tc-skin="alt"] #musicFloat .mf-head > i {
    background-image: var(--tc-accent-grad) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
html[data-tc-skin="alt"] #musicFloat .m-cover { background-image: var(--tc-accent-grad) !important; border-color: var(--tc-panel-bg) !important; }
html[data-tc-skin="alt"] #musicFloat .m-btn { background: var(--tc-chip-bg) !important; color: var(--tc-accent-ink) !important; }
html[data-tc-skin="alt"] #musicFloat .m-btn.m-play { background-image: var(--tc-accent-grad) !important; color: #fff !important; }
html[data-tc-skin="alt"] #musicFloat .m-track { background: var(--tc-border-soft) !important; }
html[data-tc-skin="alt"] #musicFloat .m-track i { background-image: var(--tc-accent-grad) !important; }
html[data-tc-skin="alt"] #musicFloat .mf-ico:hover { color: var(--tc-accent-2) !important; }
html[data-tc-skin="alt"] #musicFloat .m-list .mi { color: var(--tc-text-soft) !important; }
html[data-tc-skin="alt"] #musicFloat .m-list .mi.cur { color: var(--tc-accent-ink) !important; background: var(--tc-accent-soft) !important; }
html[data-tc-skin="alt"] #musicFloat .m-title { color: var(--tc-text-strong) !important; }
html[data-tc-skin="alt"] #musicFloat .m-artist, html[data-tc-skin="alt"] #musicFloat .mf-time { color: var(--tc-text-mute) !important; }

/* —— 管理面板（admin.php）+ 频道列表（forchat.php）：不经顶栏，独立注入主题 —— */
html[data-tc-skin="alt"] h1 { color: var(--tc-text-strong) !important; }
html[data-tc-skin="alt"] .sub { color: var(--tc-text-soft) !important; }
html[data-tc-skin="alt"][data-tc-page="rooms"] body { background: transparent !important; }
html[data-tc-page="rooms"][data-tc-skin="alt"] table { background: var(--tc-card-bg) !important; box-shadow: 0 4px 14px var(--tc-shadow) !important; }
html[data-tc-page="rooms"][data-tc-skin="alt"] th { background-image: var(--tc-accent-grad) !important; color: #fff !important; }
html[data-tc-page="rooms"][data-tc-skin="alt"] tr:nth-child(even) { background-color: var(--tc-accent-soft) !important; }
html[data-tc-page="rooms"][data-tc-skin="alt"] tr:hover { background-color: var(--tc-accent-soft-hover) !important; }
html[data-tc-page="rooms"][data-tc-skin="alt"] td a { color: var(--tc-text-strong) !important; }
html[data-tc-page="rooms"][data-tc-skin="alt"] td a:hover { color: var(--tc-accent-ink) !important; }
html[data-tc-page="rooms"][data-tc-skin="alt"] .empty { color: var(--tc-text-soft) !important; }
html[data-tc-skin="alt"] .card { background: var(--tc-card-bg) !important; border-color: var(--tc-border-soft) !important; box-shadow: 0 8px 24px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] .card h2 i { background-image: var(--tc-accent-grad) !important; -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent !important; }
html[data-tc-skin="alt"] .menu a { background: var(--tc-card-bg) !important; border-color: var(--tc-panel-border) !important; box-shadow: 0 8px 24px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] .menu a:hover { box-shadow: 0 14px 30px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] .menu .ic { background-image: var(--tc-accent-grad) !important; }
html[data-tc-skin="alt"] .menu .tt,
html[data-tc-skin="alt"] .mrow .who, html[data-tc-skin="alt"] .brow .bn,
html[data-tc-skin="alt"] .card h2, html[data-tc-skin="alt"] .card h3 { color: var(--tc-text-strong) !important; }
html[data-tc-skin="alt"] .menu .ds, html[data-tc-skin="alt"] .mrow .time, html[data-tc-skin="alt"] .brow .br,
html[data-tc-skin="alt"] .empty, html[data-tc-skin="alt"] .role-tip { color: var(--tc-text-mute) !important; }
html[data-tc-skin="alt"] .mrow .body, html[data-tc-skin="alt"] .brow .bi { color: var(--tc-text) !important; }
html[data-tc-skin="alt"] .mrow, html[data-tc-skin="alt"] .brow { border-bottom-color: var(--tc-border-soft) !important; }
html[data-tc-skin="alt"] .msg { color: var(--tc-accent-ink) !important; }
html[data-tc-skin="alt"] .back { color: var(--tc-text-soft) !important; }
html[data-tc-skin="alt"] .nav-row input, html[data-tc-skin="alt"] .banform input,
html[data-tc-skin="alt"] .deluser input { background: var(--tc-input-bg) !important; border-color: var(--tc-input-border) !important; color: var(--tc-text) !important; }
html[data-tc-skin="alt"] .addbtn { background: var(--tc-accent-soft) !important; color: var(--tc-accent-ink) !important; box-shadow: none !important; }
html[data-tc-skin="alt"] .room-tabs a { background: var(--tc-chip-bg) !important; color: var(--tc-text-soft) !important; border-color: var(--tc-border-soft) !important; }
html[data-tc-skin="alt"] .room-tabs a.on { background-image: var(--tc-accent-grad) !important; color: #fff !important; border-color: transparent !important; }
html[data-tc-skin="alt"] .editor-toolbar { background: var(--tc-chip-bg) !important; border-bottom-color: var(--tc-border-soft) !important; }
html[data-tc-skin="alt"] .editor-toolbar-btn { color: var(--tc-text-soft) !important; }
html[data-tc-skin="alt"] .editor-toolbar-btn:hover, html[data-tc-skin="alt"] .editor-toolbar-btn.is-active { background: var(--tc-accent-soft-hover) !important; color: var(--tc-accent-ink) !important; }
html[data-tc-skin="alt"] .editor-container { background: var(--tc-panel-bg) !important; }
html[data-tc-skin="alt"] .editor-content { color: var(--tc-text) !important; }
html[data-tc-skin="alt"] .editor-content h1, html[data-tc-skin="alt"] .editor-content h2,
html[data-tc-skin="alt"] .editor-content h3 { color: var(--tc-text-strong) !important; }
html[data-tc-skin="alt"] .editor-content a { color: var(--tc-accent-ink) !important; }
html[data-tc-skin="alt"] .editor-status-bar { background: var(--tc-chip-bg) !important; color: var(--tc-text-mute) !important; }
html[data-tc-skin="alt"] .tag.on { background: var(--tc-accent-soft) !important; color: var(--tc-accent-ink) !important; }
html[data-tc-skin="alt"] .tag.off { background: var(--tc-chip-bg) !important; color: var(--tc-text-mute) !important; }
html[data-tc-skin="alt"] .msg-tip, html[data-tc-skin="alt"] .hint { color: var(--tc-text-mute) !important; }

/* ============================================================
   3. 偏好设置面板（大窗口 + 配色卡片）
   ============================================================ */
#tcPrefs {
    position: fixed; inset: 0; z-index: 2147483600;
    display: none; align-items: center; justify-content: center;
    background: rgba(15, 18, 35, .45);
    -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
    padding: 18px;
}
#tcPrefs.show { display: flex; }
.tcp-card {
    width: min(920px, 96vw); max-height: 90vh;
    display: flex; flex-direction: column;
    background: var(--tc-panel-bg);
    border: 1px solid var(--tc-panel-border);
    border-radius: 24px;
    box-shadow: 0 24px 64px var(--tc-shadow);
    overflow: hidden;
    animation: tcpIn .22s cubic-bezier(.2, .9, .3, 1.2);
}
@keyframes tcpIn { from { transform: translateY(12px) scale(.97); opacity: 0; } to { transform: none; opacity: 1; } }
.tcp-h {
    display: flex; align-items: center; gap: 10px; flex-shrink: 0;
    padding: 18px 22px 14px; font-family: hy, tcHy, 'Microsoft YaHei', sans-serif; font-size: 20px;
    color: var(--tc-text-strong); border-bottom: 1px solid var(--tc-border-soft);
}
.tcp-h i { background: var(--tc-accent-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.tcp-x { margin-left: auto; border: 0; width: 32px; height: 32px; border-radius: 50%; cursor: pointer; font-size: 18px; background: var(--tc-chip-bg); color: var(--tc-text-soft); }
.tcp-x:hover { background: var(--tc-accent-soft-hover); color: var(--tc-accent-ink); }
.tcp-b { padding: 18px 22px 22px; overflow: auto; overscroll-behavior: contain; }
.tcp-sec { margin-bottom: 20px; }
.tcp-sec-t { font-size: 13px; color: var(--tc-text-soft); margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.tcp-sec-t::after { content: ''; flex: 1; height: 1px; background: var(--tc-border-soft); }
.tcp-schemes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.tc-sch {
    position: relative; text-align: left; cursor: pointer;
    border: 2px solid var(--tc-border-soft); border-radius: 16px; padding: 10px;
    background: var(--tc-card-bg); transition: border-color .18s, box-shadow .18s, transform .18s;
    font-family: hy5, 'Microsoft YaHei', sans-serif; color: var(--tc-text);
}
.tc-sch:hover { transform: translateY(-2px); box-shadow: 0 10px 24px var(--tc-shadow); }
.tc-sch.on { border-color: var(--tc-accent); box-shadow: 0 0 0 3px var(--tc-accent-soft); }
.tc-prev { position: relative; display: block; height: 96px; border-radius: 11px; overflow: hidden; background: var(--p-bg); margin-bottom: 9px; }
.tc-prev .p-shell { position: absolute; left: 8%; right: 8%; top: 8px; height: 15px; border-radius: 8px; background: var(--p-shell); box-shadow: inset 0 0 0 1px var(--p-border); }
.tc-prev .p-shell::before { content: ''; position: absolute; left: 6px; right: 6px; top: -1px; height: 3px; border-radius: 3px; background: var(--p-accent); }
.tc-prev .p-card { position: absolute; left: 8%; right: 8%; top: 30px; bottom: 10px; border-radius: 9px; background: var(--p-card); box-shadow: inset 0 0 0 1px var(--p-border); }
.tc-prev .p-l1, .tc-prev .p-l2 { position: absolute; height: 6px; border-radius: 3px; background: var(--p-text); opacity: .38; }
.tc-prev .p-l1 { left: 16%; right: 42%; top: 42px; }
.tc-prev .p-l2 { left: 16%; right: 58%; top: 54px; }
.tc-prev .p-dot { position: absolute; right: 15%; bottom: 20px; width: 15px; height: 15px; border-radius: 50%; background: var(--p-accent); }
.tc-sch-t { display: block; font-size: 14px; font-family: hy, tcHy, 'Microsoft YaHei', sans-serif; color: var(--tc-text-strong); }
.tc-sch-s { display: block; font-size: 11px; color: var(--tc-text-mute); margin-top: 2px; }
.tc-sch-ck { position: absolute; top: 14px; right: 14px; width: 20px; height: 20px; border-radius: 50%; background: var(--tc-accent); color: #fff; font-size: 11px; line-height: 20px; text-align: center; opacity: 0; transform: scale(.6); transition: all .18s; }
.tc-sch.on .tc-sch-ck { opacity: 1; transform: none; }
.tcp-row2 { display: grid; grid-template-columns: 1.2fr 1fr; gap: 16px; }
.tcp-box { border: 1px solid var(--tc-border-soft); border-radius: 16px; padding: 14px; background: var(--tc-card-bg); }
.tcp-k { font-size: 13px; color: var(--tc-text); margin-bottom: 9px; }
.tc-seg { display: flex; gap: 6px; }
.tc-seg button {
    flex: 1; border: 0; cursor: pointer; padding: 9px 4px; border-radius: 11px;
    font-size: 12px; font-family: hy5, 'Microsoft YaHei', sans-serif;
    background: var(--tc-chip-bg); color: var(--tc-text-soft); transition: all .18s;
}
.tc-seg button:hover { background: var(--tc-accent-soft-hover); }
.tc-seg button.on { background-image: var(--tc-accent-grad); color: #fff; box-shadow: 0 5px 14px var(--tc-shadow); }
.tc-hint { font-size: 11px; color: var(--tc-text-mute); line-height: 1.55; margin-top: 8px; min-height: 30px; }
.tcp-sw-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tc-sw { position: relative; display: inline-block; width: 44px; height: 24px; flex-shrink: 0; cursor: pointer; }
.tc-sw input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.tc-sw i { position: absolute; inset: 0; border-radius: 14px; background: var(--tc-border); transition: background .2s; }
.tc-sw i::after { content: ''; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: left .2s; }
.tc-sw input:checked + i { background-image: var(--tc-accent-grad); }
.tc-sw input:checked + i::after { left: 22px; }
.tcp-foot { display: flex; gap: 10px; align-items: center; margin-top: 4px; }
.tcp-reset { border: 0; border-radius: 12px; padding: 10px 18px; cursor: pointer; font-size: 13px; font-family: hy5, sans-serif; background: var(--tc-chip-bg); color: var(--tc-text-soft); }
.tcp-reset:hover { background: var(--tc-accent-soft-hover); color: var(--tc-accent-ink); }
.tcp-note { font-size: 11px; color: var(--tc-text-mute); line-height: 1.5; }
@media (max-width: 860px) {
    .tcp-schemes { grid-template-columns: repeat(2, 1fr); }
    .tcp-row2 { grid-template-columns: 1fr; }
    .tcp-card { max-height: 92vh; }
    .tcp-b { padding: 14px 14px 18px; }
    .tcp-h { padding: 14px 16px 12px; font-size: 18px; }
}

/* ============================================================
   4. 登录 / 注册页（Denia 保留原图片，其余方案改渐变）
   ============================================================ */
html[data-tc-skin="alt"] #bc { background: var(--tc-page-bg) !important; }
html[data-tc-skin="alt"] #big {
    background: var(--tc-login-card) !important;
    box-shadow: 0 18px 48px var(--tc-shadow) !important;
}
html[data-tc-skin="alt"] #big:hover { box-shadow: 0 22px 56px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] #box { background: var(--tc-panel-bg) !important; box-shadow: inset 0 0 0 1px var(--tc-panel-border) !important; }
html[data-tc-skin="alt"] #box h1 { color: var(--tc-text-strong) !important; }
html[data-tc-skin="alt"] .in { border-bottom-color: var(--tc-input-border) !important; color: var(--tc-text) !important; }
html[data-tc-skin="alt"] .in:focus { border-bottom-color: var(--tc-accent) !important; background: var(--tc-accent-soft) !important; }
html[data-tc-skin="alt"] #sb { background: var(--tc-accent-grad) !important; box-shadow: 0 6px 16px var(--tc-shadow) !important; }
html[data-tc-skin="alt"] .reg, html[data-tc-skin="alt"] .lgin, html[data-tc-skin="alt"] .hint { color: var(--tc-text-soft) !important; }
/* 非 Denia 方案：登录/注册卡右侧留白处补一层光晕，避免大块空渐变 */
html[data-tc-skin="alt"] #big { position: relative; }
html[data-tc-skin="alt"] #big::after {
    content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background:
        radial-gradient(120% 90% at 84% 18%, var(--tc-accent-soft-hover), transparent 62%),
        radial-gradient(95% 85% at 28% 102%, var(--tc-accent-soft), transparent 60%);
}
html[data-tc-skin="alt"] #box { position: relative; z-index: 1; }
html[data-tc-skin="alt"] .tc-modal-card { background: var(--tc-panel-bg) !important; color: var(--tc-text) !important; }

/* ============================================================
   5. 字体方案（轻量 / 原版全量 / 系统字体）
   ============================================================ */
html[data-tc-font="sys"] body,
html[data-tc-font="sys"] body *:not(i):not(code):not(pre):not(kbd):not(samp):not(textarea):not(input):not(select):not(button) {
    font-family: 'Microsoft YaHei', 'PingFang SC', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
}
html[data-tc-font="full"] body,
html[data-tc-font="full"] body *:not(i):not(code):not(pre):not(kbd):not(samp):not(textarea):not(input):not(select):not(button) {
    font-family: tcHy5, 'Microsoft YaHei', sans-serif !important;
}
html[data-tc-font="full"] .clock,
html[data-tc-font="full"] .title .en,
html[data-tc-font="full"] .brand .en,
html[data-tc-font="full"] .tc-title,
html[data-tc-font="full"] .ck-points,
html[data-tc-font="full"] .ft-level,
html[data-tc-font="full"] .gauge .inner .num {
    font-family: tcHy, 'Microsoft YaHei', sans-serif !important;
}
