/* ==========================================================================
   wx 无限服天赋模拟器副本 · 皮肤二：玄砚朱痕（skin-raycast.css）
   --------------------------------------------------------------------------
   主题描述：Raycast 深色（参考 raycast.com 设计语言）
   ——玄砚 = 近黑蓝底与发丝边框素净如砚面，朱痕 = 品牌红如钤记仅此一点。
   保留：#07080a 近黑蓝底（不用纯黑）、#101111 / #1b1c1e 表面、
         rgba(255,255,255,.06) 发丝边框、macOS 多层内嵌阴影（双环 + 顶部高光）、
         #FF6363 品牌红仅作点睛、#55b3ff 交互蓝、#5fc992 成功 / #ffbc33 警告、
         Inter 全局 + 正字距 +0.2px、正文 500 字重、胶囊 CTA、悬停用不透明度过渡。
   中文适配：展示字号按中文降档（Hero 64px→24px、Section 56px→22px），
         正文 14–14.5px / 行高 1.75–1.9，正字距对中文收敛到 0.02em–0.05em，
         标题 text-wrap: balance；信息密度靠留白与分层，不压缩行高。
   纪律：不覆盖 talent.css 的 position/top/left/width/height；
         覆盖行内样式一律 !important；属性前缀保证特异性高于社交样式表。
   ========================================================================== */

[data-skin="raycast"] {
    --s-bg: #07080a;
    --s-bg-deep: #07080a;
    --s-surface: #101111;
    --s-surface-2: #1b1c1e;
    --s-surface-3: rgba(255, 255, 255, 0.04);
    --s-border: #252829;
    --s-border-hairline: rgba(255, 255, 255, 0.06);
    --s-text: #f9f9f9;
    --s-text-2: #cecece;
    --s-text-3: #9c9c9d;
    --s-text-4: #6a6b6c;
    --s-accent: #ff6363;           /* 品牌红：点睛，不铺开 */
    --s-accent-2: #55b3ff;         /* 交互蓝：链接 / 焦点 / 选中 */
    --s-success: #5fc992;
    --s-warn: #ffbc33;
    --s-radius: 12px;
    --s-radius-lg: 16px;
    --s-radius-sm: 6px;
    --s-ring-card: rgb(27, 28, 30) 0 0 0 1px;
    --s-ring-card-inset: rgb(7, 8, 10) 0 0 0 1px inset;
    --s-btn-mac: rgba(255, 255, 255, 0.05) 0 1px 0 0 inset,
                 rgba(255, 255, 255, 0.25) 0 0 0 1px,
                 rgba(0, 0, 0, 0.2) 0 -1px 0 0 inset;
    --s-shadow-float: rgba(0, 0, 0, 0.5) 0 0 0 2px,
                      rgba(255, 255, 255, 0.19) 0 0 14px;
    --s-font: "Inter", "PingFang SC", "Hiragino Sans GB",
              "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
}

/* ============================================================
   一、页面级（首页 index.php + 职业页 class.php 共用）
   ============================================================ */
[data-skin="raycast"] body {
    background-color: #07080a !important;   /* 覆盖 body 行内 #30384c */
    color: #f9f9f9;
    font-family: var(--s-font);
    font-size: 14px;
    font-weight: 500;                       /* Raycast：深色底正文用 500 */
    line-height: 1.75;
    letter-spacing: 0.02em;                 /* 正字距（中文收敛版） */
    -webkit-font-smoothing: antialiased;
}
[data-skin="raycast"] a { color: var(--s-text-2); }
[data-skin="raycast"] a:visited { color: var(--s-text-3); }
[data-skin="raycast"] a:hover { color: #ffffff; }

/* 职业页顶部职业导航条：Raycast 标准卡片 */
[data-skin="raycast"] center > div:not(#replaceMeWithTalents) {
    display: inline-block;
    margin: 4px auto 8px;
    padding: 10px 14px;
    border: 1px solid var(--s-border-hairline);
    border-radius: var(--s-radius);
    background: var(--s-surface);
    box-shadow: var(--s-ring-card);
}
[data-skin="raycast"] center > div:not(#replaceMeWithTalents) img {
    border-radius: 8px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
[data-skin="raycast"] center > div:not(#replaceMeWithTalents) a:hover img {
    transform: translateY(-2px);
    box-shadow: var(--s-btn-mac);
}
/* 当前职业高亮框（原行内 #8ab4f8 蓝光 → 品牌红描边） */
[data-skin="raycast"] center img[style*="box-shadow"] {
    box-shadow: 0 0 0 2px var(--s-accent) !important;
    border-radius: 8px;
}

/* ============================================================
   二、天赋树框架（职业页）—— 只改颜色，不动定位；树体背景图保留原画
   ============================================================ */
[data-skin="raycast"] .tabletopleft,
[data-skin="raycast"] .tabletop,
[data-skin="raycast"] .tabletopright,
[data-skin="raycast"] .tableleft,
[data-skin="raycast"] .tableright,
[data-skin="raycast"] .tablebotleft,
[data-skin="raycast"] .tablebot,
[data-skin="raycast"] .tablebotright,
[data-skin="raycast"] .tablebotleftleft,
[data-skin="raycast"] .tablebotrightright {
    background-color: #101111;
}
[data-skin="raycast"] .tabletop { border-top: 1px solid var(--s-border-hairline); }
[data-skin="raycast"] .tablebot { border-bottom: 1px solid var(--s-border-hairline); }
/* 树体背景：保留原画，仅把行内兜底色 #000000 换成近黑蓝 */
[data-skin="raycast"] #replaceMeWithTalents td[style*="background.jpg"] {
    background-color: #07080a !important;
}

/* 树名与点数 */
[data-skin="raycast"] .treeName {
    color: var(--s-text);
    font-weight: 500;
    font-size: 15px;
}
[data-skin="raycast"] .treeColon  { color: var(--s-text-4); font-size: 12px; }
[data-skin="raycast"] .treePoint  { color: var(--s-warn); font-weight: 600; font-size: 13px; }
[data-skin="raycast"] .treePoints { color: var(--s-text-3); font-size: 12px; }

/* 等级数字三态：点满=警告黄 / 部分=成功绿 / 未点=暗灰 */
[data-skin="raycast"] .mySmall2,
[data-skin="raycast"] .mySmall22      { color: var(--s-warn); }
[data-skin="raycast"] .mySmallGreen,
[data-skin="raycast"] .mySmallGreen2  { color: var(--s-success); }
[data-skin="raycast"] .mySmallOff,
[data-skin="raycast"] .mySmallOff2    { color: var(--s-text-4); }
[data-skin="raycast"] .mySmall        { color: var(--s-text-2); font-size: 12px; line-height: 1.8; }
[data-skin="raycast"] .mySmallWhite   { color: var(--s-text-2); }
[data-skin="raycast"] .mySmallBlack   { color: var(--s-text); }

/* 天赋悬浮提示框：近黑面板 + 发丝边框 + 双环 */
[data-skin="raycast"] #replaceMeWithTalents td[bgcolor="#0c5380"] { background-color: var(--s-border); }
[data-skin="raycast"] #replaceMeWithTalents td[bgcolor="#051017"] {
    background-color: var(--s-surface);
    box-shadow: var(--s-ring-card-inset);
}
[data-skin="raycast"] .talentNameStyle {
    color: #f9f9f9 !important;             /* 原行内白 */
    font-size: 13.5px;
    font-weight: 600;
}
[data-skin="raycast"] .rankTooltip {
    color: var(--s-text-2);
    font-size: 12px;
    line-height: 1.8;
    letter-spacing: 0.01em;
}
/* 描述正文（原行内 #ffd100 黄 → Raycast 次级文本灰） */
[data-skin="raycast"] .talentDescriptionStyle {
    color: #cecece !important;
    font-size: 12.5px;
    line-height: 1.85;
}
/* 前置/层级需求（原行内 #ff4040 红 → 品牌红） */
[data-skin="raycast"] #replaceMeWithTalents span[style*="#ff4040"] { color: var(--s-accent) !important; }
/* 左键加点=成功绿 / 右键减点=品牌红 */
[data-skin="raycast"] #replaceMeWithTalents span[style*="#1eff00"] { color: var(--s-success) !important; }
[data-skin="raycast"] #replaceMeWithTalents span[style*="#1eff00"],
[data-skin="raycast"] #replaceMeWithTalents span[style*="#ff4040"] { font-size: 12px; line-height: 1.7; }

/* 底部信息盒 */
[data-skin="raycast"] #hideBoxBot td[bgcolor="#000000"] { background-color: #07080a; }
[data-skin="raycast"] #hideBoxBot .mySmallWhite { font-size: 12.5px; line-height: 1.9; }
[data-skin="raycast"] #tabPointsAvailable,
[data-skin="raycast"] #modifyRankPoints,
[data-skin="raycast"] #levelRequired,
[data-skin="raycast"] #hideBoxBot span[id$="PointsTopRight"] { color: var(--s-warn); font-weight: 600; }
[data-skin="raycast"] #hideBoxBot span[style*="color: #ffffff"],
[data-skin="raycast"] #hideBoxBot span[style*="color:#ffffff"] { color: #f9f9f9 !important; }
/* 分享链接（原 #ffd800 黄 → 交互蓝） */
[data-skin="raycast"] #replaceMeWithTalents span[style*="ffd800"] { color: var(--s-accent-2) !important; }

/* ============================================================
   三、首页（index.php）
   ============================================================ */
[data-skin="raycast"] #pick-class h1 {
    color: #f9f9f9;
    font-family: var(--s-font);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.01em;
    text-wrap: balance;
}
[data-skin="raycast"] #pick-class td a { display: inline-block; }
[data-skin="raycast"] #pick-class td a img {
    border-radius: 12px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
[data-skin="raycast"] #pick-class td a:hover img {
    transform: translateY(-3px);
    box-shadow: var(--s-shadow-float);
}
/* 天赋广场区块（行内 #3a4358 → 近黑表面 + 发丝边框） */
[data-skin="raycast"] .ts-recommend-section {
    background: var(--s-surface) !important;
    border: 1px solid var(--s-border-hairline);
    border-radius: var(--s-radius-lg) !important;
    box-shadow: var(--s-ring-card);
}
[data-skin="raycast"] .ts-recommend-section h2 {
    color: #f9f9f9;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.02em;
}
[data-skin="raycast"] .ts-recommend-section p {
    color: var(--s-text-2);
    font-size: 14.5px;
    line-height: 1.9;
}
[data-skin="raycast"] .ts-recommend-section strong { color: #f9f9f9; }
[data-skin="raycast"] .ts-recommend-empty { color: var(--s-text-4); }

/* ============================================================
   四、社交功能 UI（talent-social-wuxian.css 的 .ts-* 覆盖）
   ============================================================ */
/* 用户栏 */
[data-skin="raycast"] .ts-user-bar {
    background: rgba(7, 8, 10, 0.8);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--s-border-hairline);
    color: #f9f9f9;
    font-size: 13px;
    font-weight: 500;
}
[data-skin="raycast"] .ts-user-bar:hover { background: rgba(7, 8, 10, 0.92); }
[data-skin="raycast"] .ts-user-avatar { border-color: rgba(255, 255, 255, 0.25); }
[data-skin="raycast"] .ts-logout-btn {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--s-radius-sm);
    color: var(--s-text-3);
}
[data-skin="raycast"] .ts-logout-btn:hover { border-color: var(--s-accent); color: var(--s-accent); }
[data-skin="raycast"] .ts-user-name { color: #f9f9f9; }

/* QQ 登录 / 扫码按钮：Raycast CTA（半透明白胶囊 + 深色字） */
[data-skin="raycast"] .ts-qq-btn,
[data-skin="raycast"] .ts-qr-btn {
    background: hsla(0, 0%, 100%, 0.815);
    border: none;
    border-radius: 999px;
    color: #18191a;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.03em;
    box-shadow: var(--s-btn-mac);
    transition: opacity 0.2s ease;
}
[data-skin="raycast"] .ts-qq-btn:hover,
[data-skin="raycast"] .ts-qr-btn:hover {
    background: #ffffff;
    opacity: 0.9;
}

/* 浮动操作按钮：macOS 按压质感 */
[data-skin="raycast"] .ts-float-btn {
    box-shadow: var(--s-btn-mac), 0 2px 10px rgba(0, 0, 0, 0.4);
    font-size: 19px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, opacity 0.2s ease;
}
[data-skin="raycast"] .ts-float-btn:hover { opacity: 0.85; }
[data-skin="raycast"] .ts-float-btn.save   { background: var(--s-success); color: #07080a; }
[data-skin="raycast"] .ts-float-btn.load   { background: var(--s-accent-2); color: #07080a; }
[data-skin="raycast"] .ts-float-btn.browse { background: var(--s-warn); color: #07080a; }
[data-skin="raycast"] .ts-float-btn.my     { background: var(--s-accent); color: #07080a; }
[data-skin="raycast"] .ts-float-btn .btn-tooltip {
    background: rgba(16, 17, 17, 0.95);
    border: 1px solid var(--s-border);
    border-radius: var(--s-radius-sm);
    color: var(--s-text-2);
    font-size: 12px;
}

/* 弹窗：双环围合 */
[data-skin="raycast"] .ts-overlay { background: rgba(7, 8, 10, 0.7); }
[data-skin="raycast"] .ts-panel {
    background: var(--s-surface);
    border: 1px solid var(--s-border-hairline);
    border-radius: var(--s-radius-lg);
    box-shadow: var(--s-ring-card), var(--s-ring-card-inset), 0 8px 32px rgba(0, 0, 0, 0.6);
}
[data-skin="raycast"] .ts-panel-header {
    background: rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid var(--s-border-hairline);
}
[data-skin="raycast"] .ts-panel-header h3 { color: #f9f9f9; font-size: 15px; font-weight: 500; }
[data-skin="raycast"] .ts-panel-close { color: var(--s-text-4); }
[data-skin="raycast"] .ts-panel-close:hover { color: #ffffff; background: rgba(255, 255, 255, 0.06); }
[data-skin="raycast"] .ts-panel-footer { border-top: 1px solid var(--s-border-hairline); }
[data-skin="raycast"] .ts-panel-body::-webkit-scrollbar { width: 8px; }
[data-skin="raycast"] .ts-panel-body::-webkit-scrollbar-thumb {
    background: #2f3031;
    border-radius: 4px;
}

/* 表单：深色输入 + 焦点蓝晕 */
[data-skin="raycast"] .ts-input {
    background: #07080a;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    color: #f9f9f9;
    font-size: 14px;
}
[data-skin="raycast"] .ts-input:focus {
    border-color: var(--s-accent-2);
    box-shadow: 0 0 0 3px rgba(85, 179, 255, 0.15);
}
[data-skin="raycast"] .ts-input::placeholder { color: var(--s-text-4); }
[data-skin="raycast"] .ts-label { color: var(--s-text-3); font-size: 13px; font-weight: 500; }
[data-skin="raycast"] .ts-bind-input {
    background: #07080a;
    border: 2px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--s-radius);
    color: var(--s-accent-2);
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
    letter-spacing: 8px;
}
[data-skin="raycast"] .ts-bind-input:focus {
    border-color: var(--s-accent-2);
    box-shadow: 0 0 0 3px rgba(85, 179, 255, 0.15);
}
[data-skin="raycast"] .ts-bind-input::placeholder { color: var(--s-text-4); }
[data-skin="raycast"] .ts-bind-desc { color: var(--s-text-2); }

/* 按钮体系：CTA 胶囊 / 次按钮矩形 + 悬停不透明度 */
[data-skin="raycast"] .ts-btn {
    border-radius: var(--s-radius-sm);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.03em;
    transition: opacity 0.2s ease;
}
[data-skin="raycast"] .ts-btn:hover { opacity: 0.8; }
[data-skin="raycast"] .ts-btn-primary {
    background: hsla(0, 0%, 100%, 0.815);
    border-radius: 999px;
    color: #18191a;
    box-shadow: var(--s-btn-mac);
}
[data-skin="raycast"] .ts-btn-primary:hover { background: #ffffff; }
[data-skin="raycast"] .ts-btn-success {
    background: var(--s-success);
    color: #07080a;
    box-shadow: var(--s-btn-mac);
}
[data-skin="raycast"] .ts-btn-danger {
    background: var(--s-accent);
    color: #07080a;
    box-shadow: var(--s-btn-mac);
}
[data-skin="raycast"] .ts-btn-ghost {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--s-text-3);
    box-shadow: rgba(0, 0, 0, 0.03) 0 7px 3px;
}
[data-skin="raycast"] .ts-btn-ghost:hover { border-color: rgba(255, 255, 255, 0.25); color: #ffffff; }
[data-skin="raycast"] .ts-btn-cancel { background: rgba(255, 255, 255, 0.08); color: var(--s-text-2); }
[data-skin="raycast"] .ts-btn-cancel:hover { background: rgba(255, 255, 255, 0.12); }
[data-skin="raycast"] .ts-bind-actions .ts-btn { border-radius: var(--s-radius-sm); }
[data-skin="raycast"] .ts-bind-actions .ts-btn-primary { border-radius: 999px; }

/* 卡片 */
[data-skin="raycast"] .ts-talent-card,
[data-skin="raycast"] .ts-recommend-card {
    background: var(--s-surface);
    border: 1px solid var(--s-border-hairline);
    border-radius: var(--s-radius);
    box-shadow: var(--s-ring-card);
}
[data-skin="raycast"] .ts-talent-card:hover,
[data-skin="raycast"] .ts-recommend-card:hover {
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: var(--s-ring-card), 0 4px 12px rgba(0, 0, 0, 0.3);
}
[data-skin="raycast"] .ts-talent-card-title,
[data-skin="raycast"] .ts-recommend-name { color: #f9f9f9; }
[data-skin="raycast"] .ts-talent-card-meta,
[data-skin="raycast"] .ts-recommend-class,
[data-skin="raycast"] .ts-recommend-owner { color: var(--s-text-3); }
[data-skin="raycast"] .ts-recommend-score,
[data-skin="raycast"] .ts-slots-info strong,
[data-skin="raycast"] .ts-exchange-box .ts-points { color: var(--s-warn); }
[data-skin="raycast"] .ts-card-dist { color: var(--s-text-3); }

/* 投票 */
[data-skin="raycast"] .ts-vote-btn {
    background: var(--s-surface-3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--s-text-2);
}
[data-skin="raycast"] .ts-vote-btn:hover { background: rgba(255, 255, 255, 0.08); }
[data-skin="raycast"] .ts-vote-btn.upvote:hover,
[data-skin="raycast"] .ts-vote-btn.voted-up {
    border-color: var(--s-success);
    color: var(--s-success);
    background: rgba(95, 201, 146, 0.15);
}
[data-skin="raycast"] .ts-vote-btn.downvote:hover,
[data-skin="raycast"] .ts-vote-btn.voted-down {
    border-color: var(--s-accent);
    color: var(--s-accent);
    background: rgba(255, 99, 99, 0.15);
}
[data-skin="raycast"] .ts-vote-big {
    background: var(--s-surface-3);
    border: 2px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--s-radius);
}
[data-skin="raycast"] .ts-vote-big:hover { background: rgba(255, 255, 255, 0.1); }
[data-skin="raycast"] .ts-vote-big-count { color: var(--s-text-2); }
[data-skin="raycast"] .ts-vote-big.voted-up {
    background: rgba(95, 201, 146, 0.18);
    border-color: var(--s-success);
}
[data-skin="raycast"] .ts-vote-big.voted-up .ts-vote-big-count { color: var(--s-success); }
[data-skin="raycast"] .ts-vote-big.voted-down {
    background: rgba(255, 99, 99, 0.18);
    border-color: var(--s-accent);
}
[data-skin="raycast"] .ts-vote-big.voted-down .ts-vote-big-count { color: var(--s-accent); }
[data-skin="raycast"] .ts-vote-bar-name { color: #f9f9f9; }
[data-skin="raycast"] .ts-vote-bar-dist { color: var(--s-text-3); }
[data-skin="raycast"] .ts-vote-bar-desc { color: var(--s-text-2); line-height: 1.7; }
[data-skin="raycast"] .ts-vote-bar-meta,
[data-skin="raycast"] .ts-vote-bar-own { color: var(--s-text-3); }

/* 徽章 / 槽位 / 兑换 / 分隔线 */
[data-skin="raycast"] .ts-badge-public {
    background: rgba(95, 201, 146, 0.12);
    border: 1px solid rgba(95, 201, 146, 0.3);
    color: var(--s-success);
    border-radius: var(--s-radius-sm);
}
[data-skin="raycast"] .ts-badge-private,
[data-skin="raycast"] .ts-badge-legacy {
    background: var(--s-surface-2);
    border: 1px solid var(--s-border);
    color: var(--s-text-3);
    border-radius: var(--s-radius-sm);
}
[data-skin="raycast"] .ts-slots-info {
    background: var(--s-surface-3);
    border-radius: var(--s-radius-sm);
    color: var(--s-text-2);
}
[data-skin="raycast"] .ts-exchange-box {
    background: var(--s-surface-3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--s-radius);
}
[data-skin="raycast"] .ts-exchange-box .ts-points-label,
[data-skin="raycast"] .ts-exchange-box .ts-cost-info { color: var(--s-text-2); }
[data-skin="raycast"] .ts-divider { background: rgba(255, 255, 255, 0.08); }

/* 右侧公开天赋侧边栏 */
[data-skin="raycast"] .ts-sidebar {
    background: rgba(16, 17, 17, 0.92);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border: 1px solid var(--s-border-hairline);
    border-radius: var(--s-radius-lg);
    box-shadow: var(--s-ring-card), 0 4px 24px rgba(0, 0, 0, 0.5);
}
[data-skin="raycast"] .ts-sidebar-header {
    background: rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid var(--s-border-hairline);
    color: #f9f9f9;
}
[data-skin="raycast"] .ts-sidebar-list::-webkit-scrollbar { width: 6px; }
[data-skin="raycast"] .ts-sidebar-list::-webkit-scrollbar-thumb {
    background: #2f3031;
    border-radius: 3px;
}
[data-skin="raycast"] .ts-sidebar-item:hover { background: rgba(255, 255, 255, 0.06); }
[data-skin="raycast"] .ts-sidebar-item-name { color: #f9f9f9; }
[data-skin="raycast"] .ts-sidebar-item-meta { color: var(--s-text-3); }
[data-skin="raycast"] .ts-sidebar-item-desc { color: var(--s-text-4); }
[data-skin="raycast"] .ts-sidebar-empty { color: var(--s-text-4); }

/* 扫码 / 二维码下拉卡 */
[data-skin="raycast"] .ts-qr-drop {
    background: var(--s-surface);
    border: 1px solid var(--s-border);
    border-radius: var(--s-radius-lg);
    box-shadow: var(--s-shadow-float);
}
[data-skin="raycast"] .ts-qr-drop-close { color: var(--s-text-4); }
[data-skin="raycast"] .ts-qr-drop-close:hover { color: #f9f9f9; }
[data-skin="raycast"] .ts-qr-tip { color: var(--s-text-2); }
[data-skin="raycast"] .ts-qr-drop .ts-qr-tip { color: var(--s-warn); }
[data-skin="raycast"] .ts-qr-tip.error,
[data-skin="raycast"] .ts-qr-err { color: #ff8a80; }
[data-skin="raycast"] .ts-qr-shortlink {
    background: var(--s-surface-2);
    border: 1px solid var(--s-border);
    border-radius: 8px;
    color: var(--s-text-3);
}

/* Toast / 加载 / 空态 / 确认框 */
[data-skin="raycast"] .ts-toast {
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
    font-weight: 600;
}
[data-skin="raycast"] .ts-toast.success { background: rgba(95, 201, 146, 0.95); color: #07080a; }
[data-skin="raycast"] .ts-toast.error   { background: rgba(255, 99, 99, 0.95); color: #07080a; }
[data-skin="raycast"] .ts-toast.info    { background: rgba(85, 179, 255, 0.95); color: #07080a; }
[data-skin="raycast"] .ts-toast.warn    { background: rgba(255, 188, 51, 0.95); color: #07080a; }
[data-skin="raycast"] .ts-loading { color: var(--s-text-3); }
[data-skin="raycast"] .ts-loading::after { border-top-color: var(--s-accent-2); }
[data-skin="raycast"] .ts-empty { color: var(--s-text-4); }
[data-skin="raycast"] .ts-confirm-content p { color: #f9f9f9; }
[data-skin="raycast"] .ts-confirm-content .ts-sub { color: var(--s-text-3); }

/* ============================================================
   五、footer.php：SEO 文本区 + 页脚 + 打赏模块
   ============================================================ */
[data-skin="raycast"] main.seo-snapshot {
    background: var(--s-surface) !important;
    border: 1px solid var(--s-border-hairline);
    border-radius: var(--s-radius-lg) !important;
    color: var(--s-text-2) !important;
    font-size: 14.5px;
    line-height: 1.9;
    padding: 24px 28px !important;
}
[data-skin="raycast"] main.seo-snapshot h2 {
    color: #f9f9f9 !important;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0.01em;
    text-wrap: balance;
}
[data-skin="raycast"] main.seo-snapshot h3 {
    color: #f9f9f9 !important;
    font-size: 15px;
    font-weight: 600;
    margin: 22px 0 8px;
}
[data-skin="raycast"] main.seo-snapshot h4 {
    color: var(--s-text-2) !important;
    font-size: 14px;
    font-weight: 600;
    margin: 14px 0 4px;
}
[data-skin="raycast"] main.seo-snapshot p {
    color: var(--s-text-2);
    font-size: 14.5px;
    line-height: 1.9;
    margin: 0 0 12px;
}
[data-skin="raycast"] main.seo-snapshot p[style*="#a8b2c8"] { color: var(--s-text-3) !important; }
[data-skin="raycast"] main.seo-snapshot ul { margin: 0; padding-left: 20px; }
[data-skin="raycast"] main.seo-snapshot li { color: var(--s-text-2); line-height: 1.9; }
[data-skin="raycast"] main.seo-snapshot strong { color: #f9f9f9; }
[data-skin="raycast"] main.seo-snapshot table { font-size: 13px; }
[data-skin="raycast"] main.seo-snapshot th {
    background: var(--s-surface-2) !important;
    border: 1px solid #2f3031 !important;
    color: #f9f9f9 !important;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.03em;
    padding: 8px 10px;
}
[data-skin="raycast"] main.seo-snapshot td {
    border: 1px solid #2f3031 !important;
    color: var(--s-text-2);
    line-height: 1.7;
    padding: 7px 10px;
}
[data-skin="raycast"] main.seo-snapshot tr[style*="background"] {
    background: rgba(255, 255, 255, 0.03) !important;
}
[data-skin="raycast"] main.seo-snapshot span[style*="#a8b2c8"] { color: var(--s-text-3) !important; }
[data-skin="raycast"] main.seo-snapshot a { color: var(--s-accent-2); }
[data-skin="raycast"] main.seo-snapshot a[style*="color"] { color: var(--s-accent-2) !important; }
[data-skin="raycast"] main.seo-snapshot a:hover { color: #ffffff; }
[data-skin="raycast"] main.seo-snapshot p[style*="border-top"] {
    border-top: 1px solid #2f3031 !important;
    color: var(--s-text-3) !important;
}

[data-skin="raycast"] footer { color: var(--s-text-4) !important; }
[data-skin="raycast"] footer a { color: var(--s-text-3); }
[data-skin="raycast"] footer a:hover { color: #ffffff; }

/* 打赏模块：保留浅色卡片形成对比，仅统一阴影 / 圆角 / 徽章 */
[data-skin="raycast"] .reward-mini-module.narrow {
    border: 1px solid var(--s-border-hairline);
    border-radius: var(--s-radius-lg);
    box-shadow: 0 10px 24px -8px rgba(0, 0, 0, 0.6);
}
[data-skin="raycast"] .reward-mini-module.narrow .footer-badge {
    background: rgba(85, 179, 255, 0.1);
    border: 1px solid rgba(85, 179, 255, 0.25);
    border-radius: 18px;
    color: #4a90c9;
}

/* ============================================================
   六、细节层：选区 / 焦点 / 滚动条 / 减少动效
   ============================================================ */
[data-skin="raycast"] ::selection { background: var(--s-accent); color: #07080a; }
[data-skin="raycast"] :focus-visible {
    outline: 2px solid var(--s-accent-2);
    outline-offset: 2px;
}
html[data-skin="raycast"]::-webkit-scrollbar { width: 10px; }
html[data-skin="raycast"]::-webkit-scrollbar-track { background: #07080a; }
html[data-skin="raycast"]::-webkit-scrollbar-thumb {
    background: #2f3031;
    border-radius: 5px;
}
html[data-skin="raycast"]::-webkit-scrollbar-thumb:hover { background: #434345; }

@media (prefers-reduced-motion: reduce) {
    [data-skin="raycast"] * { transition: none !important; animation: none !important; }
}

/* ============================================================
   七、独立小工具换肤（nuqi 怒气计算器 / chuancheng 传承模拟器）
   --------------------------------------------------------------------------
   两工具均为变量驱动设计（paper/ink 体系），在此按皮肤重映射其 :root 变量，
   工具自身样式表零改动；chuancheng 少量硬编码色在本节定向覆盖。
   加载关系：nuqi/chuancheng/index.html 以 ../skins/ 引用本文件；
   shiguang 页面以 ../wuxian/skins/ 引用同一份皮肤（localStorage 键相同，
   四站皮肤选择自动同步）。变量重映射对模拟器页面无害——模拟器不使用
   paper/ink/accent/gold 等变量名（其配色由 --s-* 与显式色值驱动）。
   ============================================================ */
[data-skin="raycast"] {
    /* —— nuqi —— */
    --ink: #f9f9f9;
    --ink-soft: #cecece;
    --muted: #9c9c9d;
    --paper: #07080a;
    --paper-light: #101111;
    --rule: #252829;
    --ledger-rule-strong: #55b3ff;
    --accent: #ffbc33;
    --accent-deep: #e0a82e;
    --accent-active: #ffbc33;
    --action-ink: #07080a;
    --archive-data-ink: #cecece;
    /* —— chuancheng —— */
    --record-ink: #f9f9f9;
    --detail-muted: #9c9c9d;
    --action-start: #55b3ff;
    --action-end: #3d9fe0;
    --forest: #3d8a62;
    --recipe-green: #4aa476;
    --danger: #ff6363;
    --danger-hover: #ff7d7d;
    --gold: #ffd100;
    color-scheme: dark;
}

/* chuancheng 硬编码色定向覆盖 */
[data-skin="raycast"] .mode-btn:hover { background: rgba(255, 255, 255, 0.08); }
[data-skin="raycast"] .mode-btn.is-active { color: #07080a; }
[data-skin="raycast"] .action-primary { color: #07080a; }
[data-skin="raycast"] .arrow-line { stroke: #434345; }
[data-skin="raycast"] .arrow-head { fill: #434345; }
[data-skin="raycast"] .talent-icon-unknown { background: #1b1c1e; color: #9c9c9d; }
[data-skin="raycast"] .talent-btn.is-locked .talent-icon-unknown { color: #6a6b6c; background: #101111; }
[data-skin="raycast"] .talent-rank { color: #cecece; }
[data-skin="raycast"] .tooltip { background: rgba(16, 17, 17, 0.97); }
[data-skin="raycast"] .action-btn.is-on { background: rgba(255, 188, 51, 0.12); }
[data-skin="raycast"] .challenge-item:hover { background: rgba(255, 188, 51, 0.06); }
[data-skin="raycast"] .tree-panel + .tree-panel { border-top-color: rgba(37, 40, 41, 0.6); }
