﻿/* ============================================================
   黑客终端主题（商店购买「黑客终端主题」后生效）
   作用域：<html class="theme-hacker">（登录页 + 大厅 + 弹窗 + 桌宠 + 管理后台）
   原则：位置 / 尺寸 / 文字一律不动，只换配色 / 字体 / 边框 / 圆角 / 阴影
   像素街机原样式在 hall.css / login.css / horn-bar.css，本文件按更高优先级覆盖
   风格：荧光绿终端 × 深黑绿机箱 + 扫描线 + 等宽字体 + 细描边微辉光
   ============================================================ */

/* —— 黑客终端设计变量（荧光绿主色 + 荧光青/冰蓝/琥珀辅助 + 深绿边框）—— */
.theme-hacker {
  --hk-ink: #c9f2d4;        /* 浅绿白（正文）*/
  --hk-ink-soft: #6fa381;   /* 灰绿（次要文字）*/
  --hk-pink: #33ff66;       /* 荧光绿（主强调）*/
  --hk-pink-deep: #2fbf5c;  /* 深绿（文字用）*/
  --hk-pink-pale: #0d2a16;  /* 深绿填色 */
  --hk-purple: #4ef0e0;     /* 荧光青（副强调）*/
  --hk-purple-deep: #1d9e94;/* 深青（文字用）*/
  --hk-purple-pale: #0d2a28;/* 深青填色 */
  --hk-blue: #58c4f5;       /* 冰蓝（信息色）*/
  --hk-blue-deep: #1d87c9;  /* 深蓝（文字用）*/
  --hk-blue-pale: #0d2434;  /* 深蓝填色 */
  --hk-yellow: #ffcc4d;     /* 琥珀（警告色）*/
  --hk-yellow-deep: #a3831c;/* 深琥珀（文字用）*/
  --hk-green: #52f5a0;      /* 荧光薄荷（成功色）*/
  --hk-green-deep: #1d9e68; /* 深薄荷（文字用）*/
  --hk-silver: #1e5231;     /* 深绿（边框）*/
  --hk-silver-deep: #123420;/* 更深绿 */
  --hk-font: "Cascadia Code", "JetBrains Mono", Consolas, "Courier New", "Microsoft YaHei", monospace;
  --hk-radius: 2px;                         /* 锐角（按钮）*/
  --hk-radius-lg: 6px;                      /* 小圆角（卡片/弹窗）*/
  --hk-metal: linear-gradient(180deg, #0e1c12 0%, #0a140d 100%); /* 深色面板 */
  --hk-holo: linear-gradient(135deg, #0f3d1f 0%, #14522a 50%, #0d3a3a 100%); /* 终端渐变 */
}

/* ===== 基础：纯黑偏绿底 + 扫描线 + 等宽字体 ===== */
.theme-hacker body {
  font-family: var(--hk-font);
  color: var(--hk-ink);
  background:
    repeating-linear-gradient(0deg, rgba(51, 255, 102, .03) 0 1px, transparent 1px 3px),
    radial-gradient(circle at 12% 18%, rgba(51, 255, 102, .06), transparent 42%),
    radial-gradient(circle at 88% 82%, rgba(78, 240, 224, .05), transparent 42%),
    linear-gradient(165deg, #050b07 0%, #061009 48%, #04100b 100%);
}

/* 大厅背景视频：染成暗绿色调（购入的背景不失效，只是换了色调） */
.theme-hacker #hallBgVideo {
  filter: saturate(.6) brightness(.55) hue-rotate(45deg);
  opacity: .5;
}

/* 星空像素点：深色终端不需要，隐藏 */
.theme-hacker .stars,
.theme-hacker .stars2 {
  display: none !important;
}

/* ===== 顶部栏：深色终端招牌 ===== */
.theme-hacker header {
  background: linear-gradient(180deg, rgba(14, 28, 18, .95) 0%, rgba(10, 20, 13, .92) 100%);
  border-bottom: 2px solid var(--hk-silver);
  box-shadow: 0 4px 0 var(--hk-silver-deep), 0 8px 24px rgba(0, 0, 0, .6);
}

.theme-hacker .brand {
  color: var(--hk-pink);
  text-shadow: 0 0 10px rgba(51, 255, 102, .4);
  animation: none;
}

.theme-hacker .online-num {
  color: var(--hk-green);
  border: 2px solid var(--hk-green);
  background: rgba(13, 42, 28, .8);
  box-shadow: 0 0 8px rgba(82, 245, 160, .25);
  text-shadow: none;
  border-radius: var(--hk-radius);
}

.theme-hacker .user-box .name {
  color: var(--hk-ink);
  text-shadow: none;
}

.theme-hacker .user-box .utag {
  border: 2px solid var(--hk-blue);
  background: rgba(13, 36, 52, .8);
  color: var(--hk-blue);
  text-shadow: none;
  box-shadow: 0 0 8px rgba(88, 196, 245, .2);
  border-radius: var(--hk-radius);
}

.theme-hacker .coin-balance {
  border: 2px solid var(--hk-yellow);
  background: rgba(42, 36, 16, .8);
  color: var(--hk-yellow);
  text-shadow: none;
  box-shadow: 0 0 8px rgba(255, 204, 77, .22);
  border-radius: var(--hk-radius);
}

/* ===== 通用按钮：深色终端方块 ===== */
.theme-hacker .pixel-btn {
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  background: var(--hk-metal);
  color: var(--hk-ink);
  text-shadow: none;
  box-shadow: 0 3px 0 var(--hk-silver-deep), 0 6px 14px rgba(0, 0, 0, .5);
}

.theme-hacker .pixel-btn:hover {
  border-color: var(--hk-pink);
}

.theme-hacker .pixel-btn:active {
  box-shadow: 0 1px 0 var(--hk-silver-deep), 0 3px 8px rgba(0, 0, 0, .4);
}

.theme-hacker .checkin-btn {
  background: linear-gradient(180deg, #0f3d1f 0%, #0d2a16 100%);
  color: var(--hk-pink);
  text-shadow: 0 0 8px rgba(51, 255, 102, .45);
  border-color: var(--hk-pink);
  box-shadow: 0 3px 0 #123420, 0 6px 16px rgba(51, 255, 102, .28);
}

.theme-hacker .checkin-btn:active {
  box-shadow: 0 1px 0 #123420, 0 3px 8px rgba(51, 255, 102, .2);
}

.theme-hacker .pixel-btn.board-btn {
  background: linear-gradient(180deg, #0d3a34 0%, #0d2a28 100%);
  color: var(--hk-purple);
  text-shadow: 0 0 8px rgba(78, 240, 224, .4);
  border-color: var(--hk-purple);
  box-shadow: 0 3px 0 #123a36, 0 6px 16px rgba(78, 240, 224, .25);
}

.theme-hacker .pixel-btn.board-btn:active {
  box-shadow: 0 1px 0 #123a36, 0 3px 8px rgba(78, 240, 224, .2);
}

.theme-hacker .logout-btn {
  background: var(--hk-metal);
  color: var(--hk-ink-soft);
  text-shadow: none;
  box-shadow: 0 3px 0 var(--hk-silver-deep), 0 6px 14px rgba(0, 0, 0, .4);
}

.theme-hacker .logout-btn:active {
  box-shadow: 0 1px 0 var(--hk-silver-deep), 0 3px 8px rgba(0, 0, 0, .35);
}

.theme-hacker .music-btn {
  background: linear-gradient(180deg, #0d2a1c 0%, #0a1f14 100%);
  color: var(--hk-green);
  text-shadow: 0 0 8px rgba(82, 245, 160, .4);
  border-color: var(--hk-green);
  box-shadow: 0 3px 0 #123420, 0 6px 16px rgba(82, 245, 160, .25);
}

.theme-hacker .music-btn:active {
  box-shadow: 0 1px 0 #123420, 0 3px 8px rgba(82, 245, 160, .2);
}

.theme-hacker .music-btn.off {
  background: var(--hk-metal);
  color: var(--hk-ink-soft);
  text-shadow: none;
  box-shadow: 0 3px 0 var(--hk-silver-deep), 0 4px 10px rgba(0, 0, 0, .4);
}

.theme-hacker .music-btn.off:active {
  box-shadow: 0 1px 0 var(--hk-silver-deep);
}

.theme-hacker .admin-btn {
  background: linear-gradient(180deg, #0d2434 0%, #0a1a26 100%);
  color: var(--hk-blue);
  text-shadow: 0 0 8px rgba(88, 196, 245, .4);
  border-color: var(--hk-blue);
  box-shadow: 0 3px 0 #12303f, 0 6px 16px rgba(88, 196, 245, .25);
}

.theme-hacker .admin-btn:active {
  box-shadow: 0 1px 0 #12303f, 0 3px 8px rgba(88, 196, 245, .2);
}

/* ===== 导航 / 视图切换按钮：终端方块，选中态绿描边微光 ===== */
.theme-hacker .nav-btn {
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  background: var(--hk-metal);
  color: var(--hk-ink);
  text-shadow: none;
  box-shadow: 0 3px 0 var(--hk-silver-deep), 0 5px 12px rgba(0, 0, 0, .45);
}

.theme-hacker .nav-btn:hover {
  border-color: var(--hk-pink);
}

.theme-hacker .nav-btn:active {
  box-shadow: 0 1px 0 var(--hk-silver-deep);
}

.theme-hacker .nav-btn.active {
  background: #0d2a16;
  color: var(--hk-pink);
  text-shadow: 0 0 8px rgba(51, 255, 102, .5);
  border-color: var(--hk-pink);
  box-shadow: 0 3px 0 #123420, 0 6px 14px rgba(51, 255, 102, .3);
}

.theme-hacker .view-switch button {
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  background: var(--hk-metal);
  color: var(--hk-ink-soft);
  text-shadow: none;
  box-shadow: 0 3px 0 var(--hk-silver-deep);
}

.theme-hacker .view-switch button:active {
  box-shadow: 0 1px 0 var(--hk-silver-deep);
}

.theme-hacker .view-switch button.active {
  background: var(--hk-holo);
  color: #d6ffe4;
  text-shadow: 0 0 8px rgba(51, 255, 102, .5);
  border-color: var(--hk-pink);
  box-shadow: 0 3px 0 #123420, 0 6px 14px rgba(51, 255, 102, .3);
}

/* ===== 工具栏标题：荧光绿下划高亮条 ===== */
.theme-hacker .section-title {
  color: var(--hk-pink);
  text-shadow: 0 0 10px rgba(51, 255, 102, .4);
  background: linear-gradient(transparent 58%, rgba(51, 255, 102, .14) 58%, rgba(51, 255, 102, .14));
  border-radius: 2px;
  padding: 0 4px;
}

.theme-hacker .section-title::before {
  color: var(--hk-pink);
}

.theme-hacker .empty {
  color: var(--hk-ink-soft);
}

/* ===== 大厅框体 / 屏幕：深色机箱 + 荧光绿屏幕 ===== */
.theme-hacker .cabinet {
  background: linear-gradient(180deg, rgba(14, 28, 18, .96) 0%, rgba(10, 20, 13, .94) 100%);
  border: 2.5px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  box-shadow: 0 5px 0 var(--hk-silver-deep), 0 14px 34px rgba(0, 0, 0, .6);
}

.theme-hacker .screen {
  background: linear-gradient(180deg, #07130c 0%, #050f09 100%);
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  box-shadow: inset 0 0 24px rgba(51, 255, 102, .08);
}

/* CRT 扫描线：换成终端扫描细线 */
.theme-hacker .screen::after {
  background: repeating-linear-gradient(0deg, rgba(51, 255, 102, .04) 0 1px, transparent 1px 3px);
}

/* ===== 游戏卡片：深色终端圆角卡 ===== */
.theme-hacker .card {
  background: linear-gradient(180deg, #0e1c12 0%, #0a140d 100%);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  box-shadow: 0 4px 0 var(--hk-silver-deep), 0 12px 28px rgba(0, 0, 0, .5);
}

.theme-hacker .card:hover {
  border-color: var(--hk-pink);
  box-shadow: 0 4px 0 var(--hk-silver-deep), 0 16px 36px rgba(51, 255, 102, .18);
}

.theme-hacker .cover {
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  background: var(--hk-purple-pale);
  box-shadow: inset 0 0 12px rgba(0, 0, 0, .5);
}

.theme-hacker .fav-btn {
  border: 2px solid var(--hk-silver);
  background: rgba(10, 20, 13, .92);
  color: var(--hk-ink-soft);
  border-radius: var(--hk-radius);
  box-shadow: none;
}

.theme-hacker .fav-btn.on {
  color: var(--hk-pink);
  background: rgba(13, 42, 22, .9);
  text-shadow: 0 0 8px rgba(51, 255, 102, .6);
}

.theme-hacker .card .gname {
  color: var(--hk-purple);
  text-shadow: 0 0 10px rgba(78, 240, 224, .3);
}

.theme-hacker .gup {
  color: var(--hk-pink);
}

.theme-hacker .card .gdesc {
  color: var(--hk-ink-soft);
}

.theme-hacker .card-right {
  border-left: 2px solid rgba(30, 82, 49, .7);
}

/* 开始游戏按钮：终端渐变 + 绿描边 */
.theme-hacker .card .enter,
.theme-hacker .detail .enter {
  background: var(--hk-holo);
  color: #d6ffe4;
  border: 2px solid var(--hk-pink);
  border-radius: var(--hk-radius);
  text-shadow: 0 0 8px rgba(51, 255, 102, .5);
  box-shadow: 0 4px 0 #123420, 0 8px 18px rgba(51, 255, 102, .28);
}

.theme-hacker .card .enter:active {
  box-shadow: 0 1px 0 #123420, 0 4px 10px rgba(51, 255, 102, .2);
}

.theme-hacker .detail .enter:active {
  box-shadow: 0 1px 0 #123420, 0 4px 10px rgba(51, 255, 102, .2);
}

.theme-hacker .enter .t-hover {
  color: #eafff0;
  text-shadow: 0 0 6px rgba(51, 255, 102, .95), 0 0 16px rgba(51, 255, 102, .7);
}

/* ===== 排行榜 ===== */
.theme-hacker .lb-head {
  color: var(--hk-pink);
  text-shadow: 0 0 10px rgba(51, 255, 102, .4);
}

.theme-hacker .lb-switch .lb-p {
  color: var(--hk-ink-soft);
  background: var(--hk-metal);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
}

.theme-hacker .lb-switch .lb-p.on {
  color: var(--hk-pink);
  background: #0d2a16;
  border-color: var(--hk-pink);
  text-shadow: 0 0 8px rgba(51, 255, 102, .45);
  box-shadow: 0 2px 8px rgba(51, 255, 102, .3);
}

.theme-hacker .lb-refresh {
  color: var(--hk-ink-soft);
}

.theme-hacker .lb-row.top1 {
  background: linear-gradient(90deg, rgba(51, 255, 102, .14), transparent);
}

.theme-hacker .lb-row.top2 {
  background: linear-gradient(90deg, rgba(78, 240, 224, .12), transparent);
}

.theme-hacker .lb-row.top3 {
  background: linear-gradient(90deg, rgba(88, 196, 245, .12), transparent);
}

.theme-hacker .lb-rank {
  color: var(--hk-ink-soft);
}

.theme-hacker .lb-row.top1 .lb-rank {
  color: var(--hk-pink);
  text-shadow: 0 0 10px rgba(51, 255, 102, .55);
}

.theme-hacker .lb-row.top2 .lb-rank {
  color: var(--hk-purple);
  text-shadow: 0 0 10px rgba(78, 240, 224, .5);
}

.theme-hacker .lb-row.top3 .lb-rank {
  color: var(--hk-blue);
  text-shadow: 0 0 10px rgba(88, 196, 245, .5);
}

.theme-hacker .lb-name {
  color: var(--hk-ink);
}

.theme-hacker .lb-score {
  color: var(--hk-blue);
  text-shadow: none;
}

.theme-hacker .lb-empty {
  color: var(--hk-ink-soft);
}

.theme-hacker .detail .lb-box {
  border-top: 2px solid rgba(30, 82, 49, .7);
}

/* ===== 操控台装饰：深色终端手柄 ===== */
.theme-hacker .deck {
  background: linear-gradient(180deg, #0e1c12 0%, #0a140d 100%);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  box-shadow: 0 5px 0 var(--hk-silver-deep), 0 10px 22px rgba(0, 0, 0, .5);
}

.theme-hacker .joy .j-base {
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  box-shadow: 0 3px 0 var(--hk-silver-deep);
}

.theme-hacker .joy .j-stick {
  background: var(--hk-silver);
}

.theme-hacker .joy .j-ball {
  background: radial-gradient(circle at 35% 30%, #33ff66, #1d9e68);
  border: 2px solid #0d2a16;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(51, 255, 102, .5);
}

.theme-hacker .coinslot {
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  box-shadow: inset 0 0 8px rgba(0, 0, 0, .6);
}

.theme-hacker .deck-label {
  color: var(--hk-purple);
  text-shadow: 0 0 8px rgba(78, 240, 224, .3);
}

.theme-hacker .deck-copy {
  color: var(--hk-ink-soft);
}

.theme-hacker .ybtn {
  background: linear-gradient(180deg, #2a2410 0%, #1a1608 100%);
  border: 2px solid var(--hk-yellow);
  border-radius: 50%;
  box-shadow: 0 4px 0 #6b5410, 0 8px 14px rgba(255, 204, 77, .25);
  color: var(--hk-yellow);
}

/* GBA 掌机造型：终端配色 */
.theme-hacker .gba-dpad::before,
.theme-hacker .gba-dpad::after {
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  border: 2px solid var(--hk-silver);
  box-shadow: 0 2px 0 var(--hk-silver-deep);
}

.theme-hacker .gba-dpad-dot {
  background: var(--hk-purple-pale);
  border: 2px solid var(--hk-silver);
  border-radius: 50%;
}

.theme-hacker .gba-select,
.theme-hacker .gba-start {
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  box-shadow: 0 2px 0 var(--hk-silver-deep);
}

.theme-hacker .gba-a {
  background: linear-gradient(180deg, #14522a, #0d2a16);
}

.theme-hacker .gba-b {
  background: linear-gradient(180deg, #0d3a3a, #0d2a28);
}

.theme-hacker .gba-a,
.theme-hacker .gba-b {
  border: 2px solid var(--hk-silver);
  border-radius: 50%;
  color: var(--hk-ink);
  text-shadow: 0 0 6px rgba(51, 255, 102, .35);
  box-shadow: 0 3px 8px rgba(0, 0, 0, .5);
}

/* ===== 焦点视图：详情 + 缩略图 ===== */
.theme-hacker .detail .gname {
  color: var(--hk-purple);
  text-shadow: 0 0 10px rgba(78, 240, 224, .3);
}

.theme-hacker .detail .gtag {
  color: var(--hk-blue);
  border: 2px solid var(--hk-blue);
  border-radius: var(--hk-radius);
  background: rgba(13, 36, 52, .8);
  text-shadow: none;
  box-shadow: 0 0 8px rgba(88, 196, 245, .15);
}

.theme-hacker .detail .gdesc {
  color: var(--hk-ink-soft);
}

.theme-hacker .thumb {
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  box-shadow: 0 3px 0 var(--hk-silver-deep);
}

.theme-hacker .thumb img {
  border: 2px solid rgba(30, 82, 49, .6);
  border-radius: 2px;
}

.theme-hacker .thumb.active {
  box-shadow: 0 0 0 3px var(--hk-pink), 0 4px 0 var(--hk-silver-deep), 0 8px 16px rgba(51, 255, 102, .35);
}

.theme-hacker .thumb.active::before {
  border-top-color: var(--hk-pink);
}

.theme-hacker .thumb-arrow {
  border: 2px solid var(--hk-yellow);
  border-radius: var(--hk-radius);
  background: linear-gradient(180deg, #2a2410 0%, #1a1608 100%);
  color: var(--hk-yellow);
  box-shadow: 0 3px 0 #6b5410;
}

.theme-hacker .thumb-arrow:active {
  box-shadow: 0 1px 0 #6b5410;
}

.theme-hacker .thumb-arrow:disabled {
  box-shadow: 0 3px 0 #6b5410;
}

/* ===== 滚动条：深底荧光绿 ===== */
/* 选择器同时带上 .theme-hacker 自身：主题 class 挂在 <html> 上，只写 `.theme-hacker *` 命中不到后代以外，
   窗口根滚动条 / 后台 iframe 根滚动条会漏掉主题配色（退回基础霓虹色） */
.theme-hacker,
.theme-hacker * {
  scrollbar-color: #2fbf5c #0a140d;
}

.theme-hacker::-webkit-scrollbar-track,
.theme-hacker *::-webkit-scrollbar-track {
  background: #0a140d;
  border-left: 2px solid #123420;
  box-shadow: none;
}

.theme-hacker::-webkit-scrollbar-thumb,
.theme-hacker *::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #2fbf5c, #1d9e68);
  border: 2px solid #123420;
  border-radius: var(--hk-radius);
  box-shadow: none;
}

.theme-hacker::-webkit-scrollbar-thumb:hover,
.theme-hacker *::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #33ff66, #2fbf5c);
  box-shadow: none;
}

.theme-hacker::-webkit-scrollbar-thumb:active,
.theme-hacker *::-webkit-scrollbar-thumb:active {
  background: #2fbf5c;
  box-shadow: none;
}

.theme-hacker::-webkit-scrollbar-button,
.theme-hacker *::-webkit-scrollbar-button {
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  box-shadow: none;
}

.theme-hacker::-webkit-scrollbar-corner,
.theme-hacker *::-webkit-scrollbar-corner {
  background: #0a140d;
}

/* ===== BGM / 签到悬停面板：深色终端圆角卡 ===== */
.theme-hacker .bgm-hover,
.theme-hacker .ck-hover {
  background: linear-gradient(180deg, #0e1c12 0%, #0a140d 100%);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  box-shadow: 0 4px 0 var(--hk-silver-deep), 0 12px 26px rgba(0, 0, 0, .55);
}

.theme-hacker .bgm-hover-title,
.theme-hacker .ck-hover-title {
  color: var(--hk-purple);
}

.theme-hacker .bgm-hover-title span,
.theme-hacker .ck-hover-title span {
  color: var(--hk-ink-soft);
}

.theme-hacker .bh-mute {
  border: 1px solid rgba(82, 245, 160, .6);
  background: rgba(13, 42, 28, .85);
  color: var(--hk-green);
  border-radius: var(--hk-radius);
}

.theme-hacker .bh-mute.off {
  border-color: rgba(163, 131, 28, .7);
  background: rgba(42, 36, 16, .85);
  color: var(--hk-yellow);
}

.theme-hacker .bh-item {
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  border: 1px solid var(--hk-silver);
  border-radius: 4px;
}

.theme-hacker .bh-item.using {
  border-color: var(--hk-pink);
  background: rgba(51, 255, 102, .08);
  box-shadow: 0 0 8px rgba(51, 255, 102, .2);
}

.theme-hacker .bh-name {
  color: var(--hk-ink);
}

.theme-hacker .bh-btn.buy {
  background: linear-gradient(180deg, #2a2410, #1a1608);
  color: var(--hk-yellow);
  border-radius: var(--hk-radius);
}

.theme-hacker .bh-btn.use {
  background: rgba(78, 240, 224, .1);
  color: var(--hk-purple);
  border-radius: var(--hk-radius);
}

.theme-hacker .bh-using {
  color: var(--hk-green);
}

.theme-hacker .bh-empty {
  color: var(--hk-ink-soft);
}

.theme-hacker .ck-hover-status,
.theme-hacker .ckh-task {
  color: var(--hk-ink);
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  border-radius: 4px;
}

.theme-hacker .ck-hover-tasks-title {
  color: var(--hk-ink-soft);
}

.theme-hacker .ckh-task.loading {
  color: var(--hk-ink-soft);
}

.theme-hacker .ckh-task-state {
  color: var(--hk-green);
}

.theme-hacker .ckh-done,
.theme-hacker .ckh-task.done,
.theme-hacker .ckh-task.done .ckh-task-state {
  color: #4e6b5b;
}

/* ===== 弹窗骨架：深卡 + 顶部终端光条 ===== */
.theme-hacker .board-mask {
  background: rgba(0, 10, 3, .78);
}

.theme-hacker .board-panel {
  position: relative;
  background: linear-gradient(180deg, #0e1c12 0%, #0b170f 100%);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  box-shadow: 0 0 0 4px rgba(0, 0, 0, .5), 0 8px 0 #123420, 0 20px 44px rgba(0, 0, 0, .7);
}

/* 顶部一截荧光绿光条（终端指示灯） */
.theme-hacker .board-panel::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 50%;
  width: 148px;
  height: 18px;
  transform: translateX(-50%) rotate(-1.5deg);
  background: linear-gradient(90deg, #123420, #33ff66, #4ef0e0, #33ff66, #123420);
  border-radius: var(--hk-radius);
  box-shadow: 0 2px 10px rgba(51, 255, 102, .45);
  pointer-events: none;
}

.theme-hacker .board-title {
  color: var(--hk-pink);
  text-shadow: 0 0 10px rgba(51, 255, 102, .4);
}

.theme-hacker .board-sub {
  color: var(--hk-ink-soft);
  text-shadow: none;
}

.theme-hacker .board-close {
  border: 2px solid var(--hk-pink);
  border-radius: var(--hk-radius);
  background: linear-gradient(180deg, #0f3d1f, #0d2a16);
  color: var(--hk-pink);
  box-shadow: 0 3px 0 #123420, 0 5px 12px rgba(51, 255, 102, .3);
}

.theme-hacker .board-close:active {
  box-shadow: 0 1px 0 #123420;
}

/* ===== 输入框：黑底绿边方块 ===== */
.theme-hacker .board-input,
.theme-hacker .tag-input,
.theme-hacker #hornContent,
.theme-hacker .field input {
  background: #07130c;
  color: var(--hk-ink);
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, .5);
  caret-color: var(--hk-pink);
}

.theme-hacker .board-input:focus,
.theme-hacker .tag-input:focus,
.theme-hacker #hornContent:focus,
.theme-hacker .field input:focus {
  outline: none;
  border-color: var(--hk-pink);
  box-shadow: 0 0 0 3px rgba(51, 255, 102, .22), inset 0 2px 5px rgba(0, 0, 0, .5);
}

/* ===== 留言板 ===== */
.theme-hacker .board-send {
  border: 2px solid var(--hk-green);
  border-radius: var(--hk-radius);
  background: linear-gradient(180deg, #0d2a1c, #0a1f14);
  color: var(--hk-green);
  font-weight: 700;
  text-shadow: 0 0 8px rgba(82, 245, 160, .45);
  box-shadow: 0 3px 0 #123420, 0 6px 14px rgba(82, 245, 160, .25);
}

.theme-hacker .board-send:active {
  box-shadow: 0 1px 0 #123420;
}

.theme-hacker .msg-item {
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, .4);
}

.theme-hacker .msg-user {
  color: var(--hk-purple);
  text-shadow: none;
}

.theme-hacker .msg-tag {
  border: 2px solid var(--hk-blue);
  border-radius: var(--hk-radius);
  color: var(--hk-blue);
  text-shadow: none;
  box-shadow: none;
}

.theme-hacker .msg-time {
  color: var(--hk-ink-soft);
}

.theme-hacker .msg-reply,
.theme-hacker .msg-del,
.theme-hacker .board-replycancel {
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  background: var(--hk-metal);
  color: var(--hk-ink-soft);
  text-shadow: none;
  box-shadow: 0 2px 0 #123420;
}

.theme-hacker .msg-reply:hover {
  color: var(--hk-blue);
}

.theme-hacker .msg-del:hover,
.theme-hacker .board-replycancel:hover {
  color: var(--hk-pink);
}

.theme-hacker .msg-replyto {
  color: var(--hk-blue);
  text-shadow: none;
}

.theme-hacker .board-replybar {
  background: rgba(13, 36, 52, .7);
  border: 2px solid var(--hk-blue);
  border-radius: 4px;
  color: var(--hk-blue);
}

.theme-hacker .board-replybar b {
  color: var(--hk-yellow);
}

.theme-hacker .msg-content {
  color: var(--hk-ink);
}

.theme-hacker .board-status {
  color: var(--hk-ink-soft);
}

/* ===== 签到面板 ===== */
.theme-hacker .ck-hero {
  border: 2px solid rgba(255, 204, 77, .7);
  border-radius: var(--hk-radius-lg);
  background: linear-gradient(135deg, rgba(42, 36, 16, .8), rgba(13, 42, 22, .7));
}

.theme-hacker .ck-reward {
  color: var(--hk-pink);
  text-shadow: 0 0 10px rgba(51, 255, 102, .4);
}

.theme-hacker .ck-status {
  color: var(--hk-ink);
}

.theme-hacker .ck-streak {
  color: var(--hk-blue);
  border: 2px solid var(--hk-blue);
  border-radius: var(--hk-radius);
  text-shadow: none;
  box-shadow: 0 0 8px rgba(88, 196, 245, .2);
}

.theme-hacker .ck-next {
  color: var(--hk-green);
  border: 1px dashed var(--hk-green);
  border-radius: var(--hk-radius);
  text-shadow: none;
}

.theme-hacker .ck-lottery {
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  background: linear-gradient(180deg, #0e1c12, #0a140d);
}

.theme-hacker .ck-lottery-title {
  color: var(--hk-purple);
  text-shadow: 0 0 8px rgba(78, 240, 224, .3);
}

.theme-hacker .ck-lottery-num {
  color: var(--hk-ink);
}

.theme-hacker .ck-lottery-go {
  border: 2px solid var(--hk-yellow);
  border-radius: var(--hk-radius);
  background: linear-gradient(180deg, #2a2410, #1a1608);
  color: var(--hk-yellow);
  font-weight: 700;
  box-shadow: 0 3px 0 #6b5410;
}

.theme-hacker .ck-lottery-tip,
.theme-hacker .ck-tip {
  color: var(--hk-ink-soft);
}

.theme-hacker .ck-btn:disabled {
  background: #0a140d;
  color: #4e6b5b;
  text-shadow: none;
  box-shadow: 0 3px 0 #0a140d;
}

.theme-hacker .admin-ck {
  background: linear-gradient(180deg, #2a2410, #1a1608);
  color: var(--hk-yellow);
  text-shadow: 0 0 8px rgba(255, 204, 77, .35);
  box-shadow: 0 3px 0 #6b5410, 0 6px 14px rgba(255, 204, 77, .2);
}

.theme-hacker .admin-ck:active {
  box-shadow: 0 1px 0 #6b5410;
}

.theme-hacker .ck-tasks {
  border-top: 2px solid #123420;
}

.theme-hacker .ck-tasks-title {
  color: var(--hk-blue);
  text-shadow: none;
}

.theme-hacker .ck-task-item {
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  background: linear-gradient(180deg, #0e1c12, #0a140d);
}

.theme-hacker .ck-task-item.done {
  border-color: var(--hk-green);
  background: rgba(13, 42, 28, .8);
}

.theme-hacker .ck-task-cover img {
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
}

.theme-hacker .ck-task-no {
  color: var(--hk-pink);
  text-shadow: none;
}

.theme-hacker .ck-task-state {
  color: var(--hk-green);
}

.theme-hacker .ck-task-go {
  color: var(--hk-blue);
  background: linear-gradient(180deg, #0d2434, #0a1a26);
  border: 2px solid var(--hk-blue);
  border-radius: var(--hk-radius);
  text-shadow: 0 0 6px rgba(88, 196, 245, .35);
  box-shadow: 0 2px 8px rgba(88, 196, 245, .2);
}

.theme-hacker .ck-task-empty {
  color: var(--hk-ink-soft);
}

/* ===== 钱库商店 ===== */
.theme-hacker .shop-balance {
  color: var(--hk-ink);
}

.theme-hacker .shop-balance b {
  color: var(--hk-pink);
  text-shadow: 0 0 10px rgba(51, 255, 102, .4);
}

.theme-hacker .shop-tab {
  color: var(--hk-ink-soft);
  background: #0a140d;
  border: 1px solid var(--hk-silver);
  border-radius: var(--hk-radius);
}

.theme-hacker .shop-tab:hover {
  color: var(--hk-ink);
  border-color: var(--hk-pink);
}

.theme-hacker .shop-tab.active {
  color: var(--hk-pink);
  background: #0d2a16;
  border-color: var(--hk-pink);
  text-shadow: 0 0 8px rgba(51, 255, 102, .45);
  box-shadow: 0 2px 8px rgba(51, 255, 102, .25);
}

.theme-hacker .shop-item {
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  box-shadow: 0 3px 8px rgba(0, 0, 0, .4);
}

.theme-hacker .si-name {
  color: var(--hk-ink);
}

.theme-hacker .si-desc {
  color: var(--hk-ink-soft);
}

.theme-hacker .si-price {
  color: var(--hk-pink);
  text-shadow: none;
}

.theme-hacker .si-price.free {
  color: var(--hk-green);
  text-shadow: none;
}

.theme-hacker .si-btn {
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  background: var(--hk-metal);
  color: var(--hk-ink-soft);
  text-shadow: none;
  box-shadow: 0 2px 0 #123420;
}

.theme-hacker .si-btn.buy {
  background: linear-gradient(180deg, #0d2a1c, #0a1f14);
  color: var(--hk-green);
  border-color: var(--hk-green);
  box-shadow: 0 2px 8px rgba(82, 245, 160, .25);
}

.theme-hacker .si-btn.use {
  background: linear-gradient(180deg, #0d2434, #0a1a26);
  color: var(--hk-blue);
  border-color: var(--hk-blue);
  text-shadow: 0 0 6px rgba(88, 196, 245, .3);
  box-shadow: 0 2px 8px rgba(88, 196, 245, .2);
}

.theme-hacker .si-btn.using {
  background: linear-gradient(180deg, #0f3d1f, #0d2a16);
  color: var(--hk-pink);
  border-color: var(--hk-pink);
  text-shadow: 0 0 8px rgba(51, 255, 102, .45);
  box-shadow: 0 2px 8px rgba(51, 255, 102, .3);
}

.theme-hacker .shop-empty {
  border: 2px dashed #a3831c;
  border-radius: var(--hk-radius-lg);
  background: rgba(42, 36, 16, .5);
}

.theme-hacker .shop-empty .se-text {
  color: var(--hk-yellow);
  text-shadow: none;
}

.theme-hacker .shop-empty .se-sub {
  color: var(--hk-ink-soft);
}

/* ===== 我的标签 / 修改密码 ===== */
.theme-hacker .tag-tip2 {
  color: var(--hk-ink-soft);
}

.theme-hacker .tag-cell {
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  box-shadow: 0 3px 8px rgba(0, 0, 0, .4);
}

.theme-hacker .tag-cell.using {
  box-shadow: 0 0 0 3px var(--hk-pink), 0 4px 10px rgba(51, 255, 102, .3);
}

.theme-hacker .tag-cell .t-name {
  text-shadow: none;
}

.theme-hacker .tag-cell.locked .t-name {
  color: #4e6b5b;
}

.theme-hacker .tag-cell .t-price {
  color: var(--hk-ink-soft);
}

.theme-hacker .tag-cell.locked .t-price {
  color: var(--hk-yellow);
}

.theme-hacker .tag-cell .t-mark {
  color: var(--hk-green);
}

.theme-hacker .tag-sec-title {
  color: var(--hk-pink);
  text-shadow: 0 0 10px rgba(51, 255, 102, .4);
}

.theme-hacker .tag-err {
  color: #ff5c74;
  text-shadow: none;
}

.theme-hacker .tag-divider {
  border-top: 2px solid #123420;
}

/* ===== 自定义游戏（ROM）弹窗 ===== */
.theme-hacker .rom-upload {
  border: 2px dashed var(--hk-blue);
  border-radius: var(--hk-radius-lg);
  background: rgba(13, 36, 52, .5);
  color: var(--hk-blue);
  box-shadow: none;
}

.theme-hacker .rom-upload .sub {
  color: var(--hk-ink-soft);
}

.theme-hacker .rom-tip {
  color: var(--hk-ink-soft);
}

.theme-hacker .rom-tip b {
  color: var(--hk-yellow);
}

.theme-hacker .rom-empty {
  color: var(--hk-ink-soft);
}

.theme-hacker .rom-item {
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  background: linear-gradient(180deg, #0e1c12, #0a140d);
}

.theme-hacker .rom-item .ri-name {
  color: var(--hk-purple);
}

.theme-hacker .rom-item .ri-meta {
  color: var(--hk-ink-soft);
}

.theme-hacker .rom-item .ri-btn {
  border: 2px solid var(--hk-green);
  border-radius: var(--hk-radius);
  background: linear-gradient(180deg, #0d2a1c, #0a1f14);
  color: var(--hk-green);
  font-weight: 700;
  box-shadow: 0 3px 0 #123420;
}

.theme-hacker .rom-item .ri-btn:active {
  box-shadow: 0 1px 0 #123420;
}

.theme-hacker .rom-item .ri-btn.del {
  background: linear-gradient(180deg, #2a1016, #1f0a10);
  color: #ff5c74;
  text-shadow: none;
  box-shadow: 0 3px 0 #40121e;
}

.theme-hacker .rom-item .ri-btn.del:active {
  box-shadow: 0 1px 0 #40121e;
}

.theme-hacker .rom-status {
  color: var(--hk-blue);
}

.theme-hacker .gba-custom-card {
  background: linear-gradient(180deg, #0e1c12, #0a140d);
}

.theme-hacker .gba-custom-card .cover {
  background: var(--hk-purple-pale);
}

.theme-hacker .gba-custom-card .cover .cup {
  color: var(--hk-blue);
  text-shadow: none;
}

/* ===== Toast 提示 ===== */
.theme-hacker .toast {
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  color: var(--hk-ink);
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .6);
  text-shadow: none;
}

.theme-hacker .toast.success {
  background: linear-gradient(180deg, #0d2a1c, #0a1f14);
  color: var(--hk-green);
  text-shadow: none;
  box-shadow: inset 0 0 0 1px rgba(82, 245, 160, .5), 0 4px 14px rgba(82, 245, 160, .3);
}

.theme-hacker .toast.error {
  background: linear-gradient(180deg, #2a1016, #1f0a10);
  color: #ff5c74;
  box-shadow: inset 0 0 0 1px rgba(255, 92, 116, .5), 0 4px 14px rgba(255, 92, 116, .3);
}

/* ===== 通用确认弹窗 ===== */
.theme-hacker .confirm-content {
  color: var(--hk-ink);
}

.theme-hacker .confirm-actions .btn-no {
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  background: var(--hk-metal);
  color: var(--hk-ink-soft);
  text-shadow: none;
  box-shadow: 0 3px 0 #123420;
}

.theme-hacker .confirm-actions .btn-no:hover {
  color: var(--hk-pink);
}

.theme-hacker .confirm-actions .btn-no:active {
  box-shadow: 0 1px 0 #123420;
}

/* ===== 登录页 ===== */
.theme-hacker .floor {
  background:
    linear-gradient(180deg, #061009 0%, #050b07 55%, #030805 100%);
  border-top: 3px solid var(--hk-silver);
  box-shadow: 0 -8px 30px rgba(51, 255, 102, .12);
}

.theme-hacker .floor::before {
  background: repeating-linear-gradient(90deg, transparent 0 30px, rgba(51, 255, 102, .07) 30px 32px);
}

.theme-hacker .cabinet {
  background: linear-gradient(180deg, #0e1c12 0%, #0b170f 55%, #0a140d 100%);
  border: 2.5px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  box-shadow: 0 6px 0 var(--hk-silver-deep), 0 16px 36px rgba(0, 0, 0, .6);
}

/* 框体顶部螺丝：改成发光绿指示灯 */
.theme-hacker .cabinet::before,
.theme-hacker .cabinet::after {
  background: radial-gradient(circle at 35% 35%, #b6ffd0, #33ff66);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(51, 255, 102, .8);
}

.theme-hacker .screen {
  background: linear-gradient(180deg, #07130c, #050f09);
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(51, 255, 102, .08);
}

.theme-hacker .screen::after {
  background: repeating-linear-gradient(0deg, rgba(51, 255, 102, .04) 0 1px, transparent 1px 3px);
}

.theme-hacker .marquee {
  color: var(--hk-pink);
  text-shadow: 0 0 16px rgba(51, 255, 102, .5);
}

.theme-hacker .coin {
  color: var(--hk-blue);
  text-shadow: 0 0 10px rgba(88, 196, 245, .5);
}

.theme-hacker .tabs button {
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  background: var(--hk-metal);
  color: var(--hk-ink-soft);
  text-shadow: none;
  box-shadow: 0 3px 0 var(--hk-silver-deep);
}

.theme-hacker .tabs button:active {
  box-shadow: 0 1px 0 var(--hk-silver-deep);
}

.theme-hacker .tabs button.active {
  color: var(--hk-pink);
  background: #0d2a16;
  border-color: var(--hk-pink);
  text-shadow: 0 0 8px rgba(51, 255, 102, .5);
  box-shadow: 0 3px 0 #123420, 0 5px 12px rgba(51, 255, 102, .3);
}

.theme-hacker .field label {
  color: var(--hk-purple);
  text-shadow: none;
}

.theme-hacker .captcha-box {
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  background: #07130c;
  box-shadow: 0 3px 8px rgba(0, 0, 0, .4);
}

.theme-hacker .captcha-tip {
  color: var(--hk-ink-soft);
}

.theme-hacker .submit {
  background: var(--hk-holo);
  color: #d6ffe4;
  border: 2px solid var(--hk-pink);
  border-radius: var(--hk-radius);
  text-shadow: 0 0 10px rgba(51, 255, 102, .55);
  box-shadow: 0 5px 0 #123420, 0 10px 22px rgba(51, 255, 102, .3);
}

.theme-hacker .submit:active {
  box-shadow: 0 1px 0 #123420, 0 5px 12px rgba(51, 255, 102, .22);
}

.theme-hacker .err {
  color: #ff5c74;
  text-shadow: none;
}

.theme-hacker .site-footer a {
  color: var(--hk-ink-soft);
}

.theme-hacker .site-footer a:hover {
  color: var(--hk-pink);
}

/* ===== 内联彩色文字可读性修正（BGM 名 / 标签名等亮色，深背景上统一提亮） ===== */
.theme-hacker .bh-name {
  filter: brightness(1.25) saturate(1.1);
}

.theme-hacker .tag-cell .t-name {
  text-shadow: none;
  filter: brightness(1.25) saturate(1.1);
}

.theme-hacker .msg-tag {
  filter: brightness(1.2);
}

/* ===== 全服喇叭：发送按钮 + 发送弹窗 ===== */
.theme-hacker #hornSendBtn {
  border-left: 2px solid var(--hk-silver);
  background: linear-gradient(180deg, rgba(14, 28, 18, .95), rgba(10, 20, 13, .92));
  color: var(--hk-pink);
}

.theme-hacker #hornSendBtn:hover {
  background: #0d2a16;
}

.theme-hacker #hornBar.horn-dark #hornSendBtn {
  background: linear-gradient(180deg, rgba(14, 28, 18, .95), rgba(10, 20, 13, .92));
}

.theme-hacker #hornBar.horn-dark #hornSendBtn:hover {
  background: #0d2a16;
}

.theme-hacker #hornDialogMask {
  background: rgba(0, 10, 3, .78);
}

.theme-hacker #hornDialog {
  background: linear-gradient(180deg, #0e1c12, #0b170f);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  color: var(--hk-ink);
  box-shadow: 0 0 0 4px rgba(0, 0, 0, .5), 0 10px 26px rgba(0, 0, 0, .65);
}

.theme-hacker #hornDialog h3 {
  color: var(--hk-pink);
  text-shadow: 0 0 10px rgba(51, 255, 102, .4);
}

.theme-hacker .horn-style-item {
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
}

.theme-hacker .horn-style-item.sel {
  border-color: var(--hk-pink);
  background: rgba(51, 255, 102, .1);
  box-shadow: 0 0 8px rgba(51, 255, 102, .25);
}

.theme-hacker .horn-style-item .hs-count {
  color: var(--hk-yellow);
}

.theme-hacker .horn-style-item.zero .hs-count {
  color: #4e6b5b;
}

.theme-hacker .horn-style-item .hs-buy {
  border: 2px solid var(--hk-yellow);
  border-radius: var(--hk-radius);
  background: linear-gradient(180deg, #2a2410, #1a1608);
  color: var(--hk-yellow);
  box-shadow: 0 2px 6px rgba(255, 204, 77, .25);
}

.theme-hacker #hornCounter {
  color: var(--hk-ink-soft);
}

.theme-hacker #hornCancelBtn {
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  background: var(--hk-metal);
  color: var(--hk-ink-soft);
  text-shadow: none;
  box-shadow: 0 2px 0 #123420;
}

.theme-hacker #hornSendOkBtn {
  border: 2px solid var(--hk-green);
  border-radius: var(--hk-radius);
  background: linear-gradient(180deg, #0d2a1c, #0a1f14);
  color: var(--hk-green);
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(82, 245, 160, .25);
}

.theme-hacker #hornDialogErr {
  color: #ff5c74;
}

/* ============================================================
   桌宠（agent-pet）：本体 SVG 改成深绿描边荧光娃娃，气泡 / 聊天窗换终端风
   ============================================================ */

/* —— 本体 SVG：深色机身 + 荧光绿描边 —— */
.theme-hacker .apet .apet-head,
.theme-hacker .apet .apet-body {
  fill: #0e1c12;
  stroke: #33ff66;
}

.theme-hacker .apet .apet-ear {
  fill: #0e1c12;
  stroke: #33ff66;
}

/* 天线杆：换成荧光绿 */
.theme-hacker .apet .apet-antenna line {
  stroke: #33ff66;
}

/* 天线灯：琥珀发光 */
.theme-hacker .apet .apet-bulb {
  fill: #ffcc4d;
  stroke: #b6ffd0;
  stroke-width: 1.5;
}

/* 眼睛：绿色圆眼 → 荧光薄荷圆眼（保留白色高光） */
.theme-hacker .apet .apet-eyes circle:nth-of-type(1),
.theme-hacker .apet .apet-eyes circle:nth-of-type(2) {
  fill: #52f5a0;
}

/* 腮红：换成荧光青 */
.theme-hacker .apet .apet-blush {
  fill: #4ef0e0;
}

/* 嘴：换成荧光绿 */
.theme-hacker .apet .apet-mouth {
  stroke: #33ff66;
}

/* —— 待机气泡：深底绿字终端卡 —— */
.theme-hacker .apet-bubble {
  background: linear-gradient(180deg, #0e1c12, #0a140d);
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  color: var(--hk-ink);
  font-family: var(--hk-font);
  letter-spacing: .5px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .55);
}

.theme-hacker .apet-bubble::after {
  border-top-color: var(--hk-silver);
}

/* —— 隐藏按钮：荧光绿描边方块 —— */
.theme-hacker .apet-close {
  border: 2px solid var(--hk-pink);
  border-radius: var(--hk-radius);
  background: linear-gradient(180deg, #0f3d1f, #0d2a16);
  color: var(--hk-pink);
  font-family: var(--hk-font);
  box-shadow: 0 2px 8px rgba(51, 255, 102, .35);
}

.theme-hacker .apet-close:active {
  box-shadow: 0 1px 3px rgba(51, 255, 102, .25);
}

/* —— 还原按钮：终端渐变圆 —— */
.theme-hacker .apet-restore {
  border: 2px solid var(--hk-pink);
  background: linear-gradient(135deg, #0f3d1f, #14522a 50%, #0d3a3a);
  color: var(--hk-pink);
  font-family: var(--hk-font);
  text-shadow: 0 0 8px rgba(51, 255, 102, .5);
  box-shadow: 0 4px 12px rgba(51, 255, 102, .3);
}

/* ===== 桌宠聊天窗口：深色终端卡 + 绿色渐变头 ===== */
.theme-hacker .apet-chat-overlay {
  background: rgba(0, 10, 3, .7);
}

.theme-hacker .apet-chat-win {
  background: linear-gradient(180deg, #0e1c12, #0b170f);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  box-shadow: 0 0 0 4px rgba(0, 0, 0, .5), 0 12px 30px rgba(0, 0, 0, .65);
}

.theme-hacker .apet-chat-head {
  background: linear-gradient(90deg, #0f3d1f, #14522a, #0d3a3a);
  border-bottom: 2px solid var(--hk-silver);
}

.theme-hacker .apet-chat-title {
  font-family: var(--hk-font);
  color: var(--hk-pink);
  text-shadow: 0 0 8px rgba(51, 255, 102, .45);
}

.theme-hacker .apet-chat-close {
  border: 2px solid var(--hk-pink);
  border-radius: var(--hk-radius);
  background: linear-gradient(180deg, #0f3d1f, #0d2a16);
  color: var(--hk-pink);
  font-family: var(--hk-font);
  box-shadow: 0 2px 6px rgba(51, 255, 102, .3);
}

.theme-hacker .apet-chat-close:active {
  box-shadow: 0 1px 2px rgba(51, 255, 102, .25);
}

.theme-hacker .apet-chat-msgs {
  background: transparent;
}

/* bot 气泡：深青底 */
.theme-hacker .apet-chat-msg.bot .apet-chat-bubble {
  background: rgba(13, 42, 40, .85);
  border: 2px solid #1d9e94;
  border-radius: 6px 6px 6px 2px;
  color: var(--hk-ink);
  font-family: var(--hk-font);
  box-shadow: 0 0 8px rgba(78, 240, 224, .12);
}

/* 用户气泡：深绿底 */
.theme-hacker .apet-chat-msg.user .apet-chat-bubble {
  background: rgba(13, 42, 22, .85);
  border: 2px solid #2fbf5c;
  border-radius: 6px 6px 2px 6px;
  color: var(--hk-ink);
  font-family: var(--hk-font);
  box-shadow: 0 0 8px rgba(51, 255, 102, .12);
}

.theme-hacker .apet-chat-foot {
  background: linear-gradient(180deg, #0b170f, #0a140d);
  border-top: 2px solid var(--hk-silver);
}

.theme-hacker .apet-chat-foot input {
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  background: #07130c;
  color: var(--hk-ink);
  font-family: var(--hk-font);
}

.theme-hacker .apet-chat-foot input:focus {
  border-color: var(--hk-pink);
  box-shadow: 0 0 0 3px rgba(51, 255, 102, .22);
}

.theme-hacker .apet-chat-foot input::placeholder {
  color: var(--hk-ink-soft);
}

.theme-hacker .apet-chat-send {
  border: 2px solid var(--hk-blue);
  border-radius: var(--hk-radius);
  background: linear-gradient(180deg, #0d2434, #0a1a26);
  color: var(--hk-blue);
  font-family: var(--hk-font);
  text-shadow: 0 0 6px rgba(88, 196, 245, .4);
  box-shadow: 0 2px 8px rgba(88, 196, 245, .25);
}

.theme-hacker .apet-chat-send:active {
  box-shadow: 0 1px 3px rgba(88, 196, 245, .2);
}

/* —— 桌宠弹窗双 tab + 消息通知列表 —— */
.theme-hacker .apet-tabs {
  background: transparent;
}

.theme-hacker .apet-tab {
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  background: #0a140d;
  color: var(--hk-ink-soft);
  font-family: var(--hk-font);
  box-shadow: 2px 2px 0 rgba(0, 0, 0, .5);
}

.theme-hacker .apet-tab.active {
  background: #0d2a16;
  color: var(--hk-pink);
  border-color: var(--hk-pink);
  box-shadow: inset 0 0 8px rgba(51, 255, 102, .25), 2px 3px 0 rgba(0, 0, 0, .5);
}

.theme-hacker .apet-nt-list {
  background: transparent;
}

.theme-hacker .apet-nt-item {
  border: 2px solid var(--hk-silver);
  border-radius: 4px;
  background: #0a140d;
  box-shadow: 2px 3px 0 rgba(0, 0, 0, .45);
}

.theme-hacker .apet-nt-item.unread {
  border-color: var(--hk-pink);
  box-shadow: 0 0 0 2px rgba(51, 255, 102, .25), 2px 3px 0 rgba(0, 0, 0, .45);
}

.theme-hacker .apet-nt-title {
  color: var(--hk-pink);
  font-family: var(--hk-font);
}

.theme-hacker .apet-nt-time,
.theme-hacker .apet-nt-from {
  font-family: var(--hk-font);
  color: var(--hk-ink-soft);
}

.theme-hacker .apet-nt-body {
  color: var(--hk-ink);
  font-family: var(--hk-font);
}

.theme-hacker .apet-nt-empty {
  font-family: var(--hk-font);
  color: var(--hk-ink-soft);
}

.theme-hacker .apet-nt-foot {
  background: var(--hk-purple-pale, #0d2a28);
  border-top: 2px solid var(--hk-silver);
  font-family: var(--hk-font);
  color: var(--hk-ink-soft);
}

/* ============================================================
   管理后台（admin.html）：荧光绿终端控制台
   header / .brand / .card / .toast 已由上方通用规则覆盖，此处补后台专属
   ============================================================ */

/* —— 副标题「管 理 后 台」：去闪烁，换荧光青 —— */
.theme-hacker .brand span {
  color: var(--hk-purple);
  text-shadow: 0 0 10px rgba(78, 240, 224, .35);
  animation: none;
}

/* —— 顶部标签页：终端方块 —— */
.theme-hacker .adm-tab {
  color: var(--hk-ink-soft);
  background: var(--hk-metal);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  text-shadow: none;
  box-shadow: 0 2px 0 #123420;
}

.theme-hacker .adm-tab:hover {
  color: var(--hk-ink);
  border-color: var(--hk-pink);
}

.theme-hacker .adm-tab.active {
  color: var(--hk-pink);
  font-weight: 700;
  background: #0d2a16;
  border-color: var(--hk-pink);
  text-shadow: 0 0 8px rgba(51, 255, 102, .45);
  box-shadow: 0 2px 8px rgba(51, 255, 102, .3);
}

/* —— 右上角：在线管理员 / 返回大厅 —— */
.theme-hacker .adm-user {
  color: var(--hk-green);
}

.theme-hacker .adm-back {
  color: var(--hk-blue);
  background: rgba(13, 36, 52, .8);
  border: 2px solid var(--hk-blue);
  border-radius: var(--hk-radius);
  box-shadow: 0 0 8px rgba(88, 196, 245, .2);
}

.theme-hacker .adm-back:hover {
  background: #0d2434;
  color: var(--hk-blue);
}

/* —— 面板：深底绿边 —— */
.theme-hacker .panel {
  background: linear-gradient(180deg, #0e1c12 0%, #0b170f 100%);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  box-shadow: 0 4px 0 var(--hk-silver-deep), 0 12px 28px rgba(0, 0, 0, .5);
}

.theme-hacker .toolbar-label {
  color: var(--hk-ink-soft);
}

.theme-hacker .toolbar-hint {
  color: var(--hk-ink-soft);
}

/* —— 输入框 / 下拉框：黑底绿边 —— */
.theme-hacker input[type="text"],
.theme-hacker input[type="number"],
.theme-hacker select {
  color: var(--hk-ink);
  background: #07130c;
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  font-family: var(--hk-font);
}

.theme-hacker input[type="text"]:focus,
.theme-hacker input[type="number"]:focus,
.theme-hacker select:focus {
  border-color: var(--hk-pink);
}

.theme-hacker input::placeholder {
  color: var(--hk-ink-soft);
}

/* —— 按钮：深色终端方块 / 彩色描边 —— */
.theme-hacker .btn {
  color: var(--hk-ink);
  background: var(--hk-metal);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  text-shadow: none;
  box-shadow: 0 2px 0 #123420;
}

.theme-hacker .btn:hover {
  color: var(--hk-pink);
  border-color: var(--hk-pink);
  background: #0d2a16;
}

.theme-hacker .btn.primary {
  color: var(--hk-pink);
  font-weight: 700;
  background: linear-gradient(180deg, #0f3d1f, #0d2a16);
  border-color: var(--hk-pink);
  text-shadow: 0 0 8px rgba(51, 255, 102, .45);
}

.theme-hacker .btn.primary:hover {
  background: linear-gradient(180deg, #14522a, #0f3d1f);
  box-shadow: 0 2px 10px rgba(51, 255, 102, .4);
}

.theme-hacker .btn.danger {
  color: #ff5c74;
  border-color: #ff5c74;
  background: rgba(42, 16, 22, .6);
}

.theme-hacker .btn.danger:hover {
  background: linear-gradient(180deg, #2a1016, #1f0a10);
  color: #ff8296;
  border-color: #ff8296;
}

/* —— 表格：绿表头深底 —— */
.theme-hacker th,
.theme-hacker td {
  border-bottom: 1px solid #123420;
}

.theme-hacker th {
  color: var(--hk-pink);
  letter-spacing: 1px;
  background: rgba(51, 255, 102, .08);
  font-family: var(--hk-font);
}

.theme-hacker tr:hover td {
  background: rgba(51, 255, 102, .06);
}

.theme-hacker td.num {
  font-family: var(--hk-font);
  font-weight: 700;
  color: var(--hk-ink);
}

.theme-hacker .td-empty {
  color: var(--hk-ink-soft);
}

/* —— 徽章：终端色块 —— */
.theme-hacker .badge {
  border: 2px solid transparent;
  border-radius: var(--hk-radius);
  font-family: var(--hk-font);
}

.theme-hacker .badge.admin {
  color: var(--hk-yellow);
  border-color: #a3831c;
  background: rgba(42, 36, 16, .7);
}

.theme-hacker .badge.user {
  color: var(--hk-ink-soft);
  border-color: var(--hk-silver);
  background: rgba(18, 52, 32, .5);
}

.theme-hacker .badge.banned {
  color: #ff5c74;
  border-color: #ff5c74;
  background: rgba(42, 16, 22, .6);
}

.theme-hacker .badge.normal {
  color: var(--hk-green);
  border-color: #1d9e68;
  background: rgba(13, 42, 28, .7);
}

.theme-hacker .badge.online {
  color: var(--hk-green);
  border-color: #1d9e68;
  background: rgba(13, 42, 28, .7);
}

.theme-hacker .badge.offline {
  color: #5c8a70;
  border-color: #1d3a29;
  background: rgba(10, 20, 13, .6);
}

/* —— 在线圆点：荧光绿发光 —— */
.theme-hacker .online-dot {
  background: #52f5a0;
  border: 2px solid #0a140d;
  box-shadow: 0 0 8px rgba(82, 245, 160, .8);
}

.theme-hacker .online-dot.off {
  background: #123420;
  box-shadow: none;
}

/* —— 行内小按钮 —— */
.theme-hacker .mini-btn {
  margin-right: 6px;
  color: var(--hk-ink);
  background: var(--hk-metal);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius);
  text-shadow: none;
  box-shadow: 0 1px 0 #123420;
}

.theme-hacker .mini-btn:hover {
  color: var(--hk-blue);
  border-color: var(--hk-blue);
}

.theme-hacker .mini-btn.green {
  color: var(--hk-green);
  border-color: #1d9e68;
  background: rgba(13, 42, 28, .7);
}

.theme-hacker .mini-btn.green:hover {
  background: #0d2a1c;
  color: var(--hk-green);
  border-color: var(--hk-green);
}

.theme-hacker .mini-btn.red {
  color: #ff5c74;
  border-color: #ff5c74;
  background: rgba(42, 16, 22, .5);
}

.theme-hacker .mini-btn.red:hover {
  background: #2a1016;
  color: #ff8296;
  border-color: #ff8296;
}

/* —— 统计卡片内部 —— */
.theme-hacker .card .c-num {
  color: var(--hk-pink);
  text-shadow: 0 0 14px rgba(51, 255, 102, .4);
  font-family: var(--hk-font);
}

.theme-hacker .card .c-label {
  color: var(--hk-ink-soft);
}

/* —— 图表盒子：深底卡 —— */
.theme-hacker .chart-box {
  background: linear-gradient(180deg, #0e1c12, #0b170f);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  box-shadow: 0 3px 8px rgba(0, 0, 0, .4);
}

.theme-hacker .chart-title {
  color: var(--hk-blue);
}

.theme-hacker .legend {
  color: var(--hk-ink-soft);
}

.theme-hacker .legend i {
  border: 2px solid #0a140d;
  box-shadow: 0 0 0 1px var(--hk-silver);
}

/* —— 弹窗：深卡 + 终端头 —— */
.theme-hacker .mask {
  background: rgba(0, 10, 3, .78);
}

.theme-hacker .modal {
  background: linear-gradient(180deg, #0e1c12, #0b170f);
  border: 2px solid var(--hk-silver);
  border-radius: var(--hk-radius-lg);
  box-shadow: 0 0 0 4px rgba(0, 0, 0, .5), 0 14px 34px rgba(0, 0, 0, .7);
}

.theme-hacker .modal-head {
  background: linear-gradient(90deg, #0f3d1f, #14522a, #0d3a3a);
  color: var(--hk-pink);
  text-shadow: 0 0 8px rgba(51, 255, 102, .45);
  border-bottom: 2px solid var(--hk-silver);
}

.theme-hacker .modal-close {
  color: var(--hk-ink);
  font-family: var(--hk-font);
  text-shadow: none;
}

.theme-hacker .modal-close:hover {
  color: var(--hk-yellow);
}

.theme-hacker .modal-body {
  color: var(--hk-ink);
}

/* —— 游戏审核表单：提交人信息 / 表单标签 / 驳回原因 —— */
.theme-hacker .rv-info {
  color: var(--hk-ink-soft);
}

.theme-hacker .rv-info b {
  color: var(--hk-pink);
}

.theme-hacker .rv-form label {
  color: var(--hk-ink);
}

.theme-hacker .td-reason {
  color: #ff5c74;
}

/* —— 账号详情：信息格 / 分节标题 / 商品贴纸 —— */
.theme-hacker .detail-grid .dg {
  background: rgba(18, 52, 32, .35);
  border: 1px solid #123420;
  border-radius: var(--hk-radius);
}

.theme-hacker .dg .k {
  color: var(--hk-ink-soft);
}

.theme-hacker .dg .v {
  color: var(--hk-ink);
  font-weight: 700;
}

.theme-hacker .sec-title {
  color: var(--hk-purple);
  border-bottom: 2px solid rgba(78, 240, 224, .3);
}

.theme-hacker .item-chip {
  background: rgba(51, 255, 102, .1);
  border: 2px solid #2fbf5c;
  border-radius: var(--hk-radius);
  color: var(--hk-pink);
  font-family: var(--hk-font);
}

.theme-hacker .detail-plays th {
  background: transparent;
}

/* —— AI游戏 游玩方式标签：深底亮字，保证终端深底可读 —— */
.theme-hacker .gplay {
  color: var(--hk-green);
  background: rgba(13, 42, 28, .85);
  border-color: #1d9e68;
  text-shadow: 0 0 6px rgba(82, 245, 160, .35);
}
.theme-hacker .gplay.gplay-kbd {
  color: var(--hk-purple);
  background: rgba(13, 42, 40, .85);
  border-color: #1d9e94;
}

/* ============================================================
   大厅框体 / 屏幕：加一点透明，隐约透出背景视频画面
   ============================================================ */
.theme-hacker .cabinet.hall-cab {
  background: linear-gradient(180deg, rgba(10, 20, 13, .68) 0%, rgba(7, 16, 10, .68) 100%);
}

.theme-hacker .screen {
  background: linear-gradient(180deg, rgba(7, 19, 12, .68) 0%, rgba(5, 15, 9, .68) 100%);
}


/* ================= F6 主题适配 · 新界面（成就弹窗/浮窗/筛选条/头像/主页链接） ================= */

/* —— 成就弹窗 —— */
.theme-hacker .ach-stats { color: var(--hk-dim, #35b835); }
.theme-hacker .ach-group-title { color: var(--hk-bright, #00ff66); }
.theme-hacker .ach-group-title::before { content: "> "; }
.theme-hacker .ach-item { background: var(--hk-panel, rgba(0, 20, 0, .8)); border-color: var(--hk-line, #1d7a1d); border-radius: 0; }
.theme-hacker .ach-item.done { border-color: var(--hk-bright, #00ff66); box-shadow: 0 0 10px rgba(0, 255, 102, .25); }
.theme-hacker .ach-item.done .ach-name::after { content: " [UNLOCKED]"; color: var(--hk-dim, #35b835); font-size: 11px; }
.theme-hacker .ach-name { color: var(--hk-bright, #00ff66); }
.theme-hacker .ach-desc { color: var(--hk-dim, #35b835); }
.theme-hacker .ach-date { color: var(--hk-warn, #ffcc00); }
.theme-hacker .ach-prog-bar { background: #042a04; border: 1px solid var(--hk-line, #1d7a1d); border-radius: 0; }
.theme-hacker .ach-prog-bar span { background: var(--hk-bright, #00ff66); }
.theme-hacker #recentWidget { background: rgba(0, 16, 0, .88); border: 1px solid var(--hk-line, #1d7a1d); border-radius: 0; box-shadow: 0 0 12px rgba(0, 255, 102, .15); }
.theme-hacker #recentWidget .rw-head { color: var(--hk-bright, #00ff66); }
.theme-hacker .rw-name { color: var(--hk-bright, #00ff66); }
.theme-hacker .rw-time { color: var(--hk-dim, #35b835); }
.theme-hacker .rw-item:hover { background: rgba(0, 255, 102, .08); }
.theme-hacker .hall-filterbar { background: rgba(0, 16, 0, .8); border: 1px solid var(--hk-line, #1d7a1d); border-radius: 0; }
.theme-hacker .ht-chip { background: transparent; border-color: var(--hk-line, #1d7a1d); color: var(--hk-dim, #35b835); border-radius: 0; }
.theme-hacker .ht-chip.active { background: var(--hk-bright, #00ff66); color: #001a00; border-color: var(--hk-bright, #00ff66); }
.theme-hacker .u-avatar { border-radius: 0; box-shadow: 0 0 8px rgba(0, 255, 102, .3); background: #041a04; }
.theme-hacker a.lb-name, .theme-hacker a.msg-user, .theme-hacker a.horn-name { color: var(--hk-bright, #00ff66); }
