/* ========================================= */
/* 1.思维链：名利场幕后控制室风格 */
/* ========================================= */
.think-noir {
    margin-bottom: 14px;
    position: relative;
    background: linear-gradient(175deg, rgba(8,6,4,0.97) 0%, rgba(14,11,8,0.94) 50%, rgba(10,8,5,0.97) 100%);
    border: 1px solid rgba(180,144,50,0.12);
    border-radius: 4px;
    box-shadow:
        0 4px 16px rgba(0,0,0,0.5),
        inset 0 1px 0 rgba(180,144,50,0.06),
        inset 0 0 30px rgba(0,0,0,0.4);
    overflow: hidden;
}
.think-noir::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(180deg, #8b6914 0%, #c9a227 30%, #8b6914 60%, #5c4510 100%);
    opacity: 0.8;
}
.think-noir > .think-header {
    display: flex;
    align-items: center;
    padding: 11px 16px 11px 18px;
    font-size: 11px;
    color: #b49032;
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    cursor: pointer;
    list-style: none;
    border-bottom: 1px solid rgba(180,144,50,0.1);
    background: linear-gradient(90deg, rgba(139,105,20,0.04) 0%, transparent 60%);
    transition: all 0.25s ease;
    text-shadow: 0 0 8px rgba(180,144,50,0.15);
}
.think-noir > .think-header::-webkit-details-marker {
    display: none;
}
.think-noir > .think-header::before {
    content: '◈';
    margin-right: 8px;
    font-size: 10px;
    color: #c9a227;
    opacity: 0.7;
}
.think-noir > .think-header::after {
    content: '▾';
    margin-left: auto;
    font-size: 9px;
    color: #8b6914;
    opacity: 0.5;
    transition: transform 0.3s ease, opacity 0.3s;
}
.think-noir[open] > .think-header::after {
    transform: rotate(180deg);
    opacity: 0.8;
}
.think-noir > .think-header:hover {
    color: #e2c45a;
    text-shadow: 0 0 12px rgba(226,196,90,0.2);
    background: linear-gradient(90deg, rgba(139,105,20,0.08) 0%, transparent 70%);
}
.think-noir .tk-body {
    padding: 6px 0 8px 0;
}
.think-noir .tk {
    position: relative;
    font-size: 11.5px;
    color: #7a7a60;
    padding: 5px 16px 5px 18px;
    margin: 0;
    line-height: 1.6;
    font-family: 'Courier New', Courier, monospace;
    border-bottom: 1px dotted rgba(139,105,20,0.06);
    transition: color 0.2s, background 0.2s, padding-left 0.2s;
}
.think-noir .tk:last-child {
    border-bottom: none;
}
.think-noir .tk:hover {
    color: #c4b078;
    background: rgba(180,144,50,0.03);
    padding-left: 22px;
}
.think-noir .tk-major {
    color: #9e8c52;
    font-weight: bold;
    padding-top: 8px;
    margin-top: 2px;
    border-top: 1px solid rgba(180,144,50,0.08);
}
.think-noir .tk-major:first-child {
    border-top: none;
    padding-top: 5px;
    margin-top: 0;
}
.think-noir .tk-sub {
    padding-left: 28px;
    font-size: 11px;
    color: #6b6b55;
}
.think-noir .tk-sub::before {
    content: '·';
    position: absolute;
    left: 20px;
    color: #8b6914;
    opacity: 0.6;
}
.think-noir .tk-critical {
    color: #c45c3e;
    border-left: 2px solid rgba(196,92,62,0.4);
    margin-left: 4px;
    padding-left: 14px;
}
.think-noir .tk-gate {
    color: #4a8b6e;
    border-left: 2px solid rgba(74,139,110,0.3);
    margin-left: 4px;
    padding-left: 14px;
}

/* ---- 米莱娜私语 (Milena's Whisper) ---- */
@keyframes vibe-breathe {
    0%, 100% { border-left-color: rgba(180, 70, 100, 0.35); box-shadow: inset 0 0 12px rgba(160, 50, 80, 0.03); }
    50% { border-left-color: rgba(220, 90, 130, 0.6); box-shadow: inset 0 0 18px rgba(200, 60, 100, 0.07); }
}
@keyframes vibe-glow {
    0%, 100% { text-shadow: 0 0 4px rgba(220, 100, 140, 0.2); opacity: 0.6; }
    50% { text-shadow: 0 0 8px rgba(220, 100, 140, 0.7); opacity: 0.9; }
}
@keyframes name-shimmer {
    0% { background-position: -100% center; }
    100% { background-position: 200% center; }
}

.think-noir .tk-vibe {
    position: relative;
    margin: 0 0 14px 0;
    padding: 14px 18px 14px 28px;
    font-style: italic;
    font-size: 12.5px;
    color: #d4a0b0;
    line-height: 1.85;
    letter-spacing: 0.4px;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(180, 60, 90, 0.06) 0%, transparent 60%),
        linear-gradient(135deg, rgba(100, 30, 50, 0.08) 0%, rgba(30, 10, 18, 0.03) 100%);
    border-left: 2.5px solid rgba(200, 80, 120, 0.45);
    border-radius: 0 6px 6px 0;
    border-bottom: none;
    font-family: 'Georgia', 'Times New Roman', serif;
    animation: vibe-breathe 4s ease-in-out infinite;
    overflow: hidden;
}
.think-noir .tk-vibe::before {
    content: '❦';
    position: absolute;
    left: 9px;
    top: 14px;
    font-size: 12px;
    color: rgba(220, 100, 140, 0.6);
    font-style: normal;
    animation: vibe-glow 3s ease-in-out infinite;
}
.think-noir .tk-vibe::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(200, 80, 120, 0.5), rgba(200, 80, 120, 0.1), transparent);
    opacity: 0.6;
}
.think-noir .tk-vibe .vibe-name {
    display: inline-block;
    font-style: normal;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: rgba(230, 130, 160, 0.85);
    border: 1px solid rgba(220, 100, 140, 0.35);
    border-radius: 3px;
    padding: 2px 8px;
    margin-right: 9px;
    vertical-align: middle;
    font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
    background:
        linear-gradient(90deg, transparent 30%, rgba(220, 100, 140, 0.12) 50%, transparent 70%),
        rgba(200, 80, 120, 0.06);
    background-size: 200% 100%;
    animation: name-shimmer 4s ease-in-out infinite;
    text-shadow: 0 0 5px rgba(220, 100, 140, 0.3);
    box-shadow: 0 0 6px rgba(200, 80, 120, 0.1), inset 0 0 4px rgba(200, 80, 120, 0.05);
}

/* ========================================= */
/* 2. 电影级场记牌：赛博胶片终端风 (v3)        */
/* ========================================= */

@keyframes film-grain {
    0%, 100% { background-position: 0 0; }
    25% { background-position: -2px 1px; }
    50% { background-position: 1px -1px; }
    75% { background-position: -1px 2px; }
}
@keyframes loc-breathe {
    0%, 100% { opacity: 1; text-shadow: 0 0 6px rgba(255, 42, 42, 0.3); }
    50% { opacity: 0.78; text-shadow: 0 0 12px rgba(255, 42, 42, 0.5); }
}
@keyframes bar-reveal {
    from { width: 0%; }
    to { width: 100%; }
}

.rili-top-bar {
    display: flex;
    flex-direction: column;
    gap: 0;
    background:
        url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.015'/%3E%3C/svg%3E"),
        linear-gradient(135deg, #08080c 0%, #0f0f14 40%, #0c0c10 100%);
    border: 1px solid rgba(50, 50, 65, 0.6);
    border-left: 3px solid #8b0000;
    border-radius: 4px;
    padding: 0;
    margin-bottom: 15px;
    box-shadow:
        0 6px 20px rgba(0, 0, 0, 0.7),
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        inset 0 -1px 0 rgba(0, 0, 0, 0.6);
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    letter-spacing: 0.5px;
    position: relative;
    overflow: hidden;
    animation: film-grain 0.5s steps(4) infinite;
}

/* 顶部扫光 */
.rili-top-bar::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(139, 0, 0, 0.05), rgba(255, 255, 255, 0.02), transparent);
    animation: scan-line 5s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
}

@keyframes scan-line {
    0%, 100% { left: -50%; }
    50% { left: 100%; }
}

/* 底部渐隐分割线 */
.rili-top-bar::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(139, 0, 0, 0.2), transparent);
    pointer-events: none;
}

/* 第一行：日期 + 季节 */
.rili-top-bar .t-row-1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 11px 16px 9px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
    position: relative;
}

.rili-top-bar .t-row-1::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 16px;
    right: 16px;
    height: 1px;
    background: linear-gradient(90deg, rgba(139, 0, 0, 0.3), rgba(80, 80, 100, 0.15), transparent);
    animation: bar-reveal 0.8s ease-out forwards;
}

.rili-top-bar .t-date {
    color: #8a8a9c;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
    white-space: nowrap;
    font-size: 12.5px;
    position: relative;
    padding-left: 2px;
}

.rili-top-bar .t-season {
    color: #d4a017;
    font-size: 11.5px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-shadow: 0 0 5px rgba(212, 160, 23, 0.2);
    white-space: nowrap;
    position: relative;
    padding: 2px 8px;
    border: 1px solid rgba(212, 160, 23, 0.2);
    border-radius: 2px;
    background: rgba(212, 160, 23, 0.04);
}

/* 第二行：地点 */
.rili-top-bar .t-loc {
    color: #ff3a3a;
    font-weight: 700;
    font-size: 12.5px;
    line-height: 1.6;
    padding: 9px 16px 11px;
    letter-spacing: 0.8px;
    animation: loc-breathe 4s ease-in-out infinite;
    position: relative;
}

.rili-top-bar .t-loc::before {
    content: '>';
    position: absolute;
    left: 8px;
    color: #8b0000;
    font-weight: 400;
    opacity: 0.6;
    font-size: 10px;
    top: 50%;
    transform: translateY(-50%);
}

/* ===== 响应式 ===== */
@media (max-width: 480px) {
    .rili-top-bar .t-row-1 {
        flex-wrap: wrap;
        gap: 6px;
        padding: 10px 14px 8px;
    }
    .rili-top-bar .t-date {
        flex: 1 1 100%;
        font-size: 11.5px;
    }
    .rili-top-bar .t-season {
        font-size: 10.5px;
    }
    .rili-top-bar .t-loc {
        font-size: 11.5px;
        padding: 8px 14px 10px 18px;
    }
}

/* ========================================= */
/* 3.正文美化：黑金书页·古卷质感 */
/* ========================================= */
novel {
  display: block;
  font-family: 'Georgia', 'Times New Roman', 'Noto Serif SC', serif;
  font-size: 14.5px;
  line-height: 2;
  color: #ede9e3;
  text-align: justify;
  padding: 28px 24px;
  margin-bottom: 25px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' opacity='0.4'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"),
    repeating-linear-gradient(
      0deg,
      transparent 0px,
      transparent 28px,
      rgba(201,168,76,0.012) 28px,
      rgba(201,168,76,0.012) 29px
    ),
    radial-gradient(ellipse at 8% 15%, rgba(201,168,76,0.07) 0%, transparent 30%),
    radial-gradient(ellipse at 92% 85%, rgba(201,168,76,0.04) 0%, transparent 30%),
    radial-gradient(ellipse at 50% 50%, rgba(180,140,60,0.015) 0%, transparent 60%),
    linear-gradient(175deg, #1a1714 0%, #13110e 25%, #0f0d0b 50%, #141210 75%, #1a1714 100%);
  border: 1.5px solid rgba(201,168,76,0.25);
  border-top: 1.5px solid rgba(201,168,76,0.35);
  border-radius: 5px;
  position: relative;
  box-shadow:
    0 6px 20px rgba(0,0,0,0.65),
    0 1px 3px rgba(0,0,0,0.5),
    inset 0 0 50px rgba(0,0,0,0.25),
    inset 0 1px 0 rgba(201,168,76,0.1);
  overflow: hidden;
  text-shadow: 0 1px 1px rgba(0,0,0,0.35);
}

/* 扫光 */
novel::before {
  content: '';
  position: absolute;
  top: -2px; left: -2px; right: -2px; bottom: -2px;
  border-radius: 6px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    transparent 30%,
    rgba(201,168,76,0.4) 44%,
    rgba(255,220,100,0.65) 50%,
    rgba(201,168,76,0.4) 56%,
    transparent 70%,
    transparent 100%
  );
  background-size: 300% 100%;
  animation: border-slide 7s ease-in-out infinite;
  z-index: 0;
  pointer-events: none;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 1.5px;
}

@keyframes border-slide {
  0% { background-position: 100% 0; opacity: 0; }
  15% { opacity: 0.7; }
  85% { opacity: 0.7; }
  100% { background-position: -100% 0; opacity: 0; }
}

/* 书脊装饰线 */
novel::after {
  content: '';
  position: absolute;
  top: 6%; left: 0;
  width: 2.5px; height: 88%;
  background: linear-gradient(180deg, transparent, rgba(201,168,76,0.18) 20%, rgba(201,168,76,0.12) 80%, transparent);
  z-index: 2;
  border-radius: 0 1px 1px 0;
}

novel p {
  margin-bottom: 1.2em;
  text-indent: 2em;
  word-break: break-word;
  letter-spacing: 0.4px;
  position: relative;
  z-index: 1;
}

novel p:first-child {
  margin-top: 0;
}

novel p:last-child {
  margin-bottom: 0;
}

/* 移动端适配 */
@media (max-width: 600px) {
  novel {
    font-size: 13.5px;
    padding: 20px 16px;
    line-height: 1.95;
    border-radius: 4px;
  }
  novel p {
    letter-spacing: 0.2px;
    margin-bottom: 1em;
  }
}

/* ========================================= */
/* 4. 战术 HUD 状态面板 · 暗夜质感重塑 v2.2      */
/* ========================================= */

/* === 微光呼吸动画 & 扫描线 === */
@keyframes hud-pulse {
    0%, 100% { opacity: 0.45; text-shadow: 0 0 4px rgba(255, 77, 109, 0.2); }
    50% { opacity: 1; text-shadow: 0 0 10px rgba(255, 77, 109, 0.6); }
}
@keyframes hud-glow-warm {
    0%, 100% { text-shadow: 0 0 4px rgba(255, 170, 80, 0.15); }
    50% { text-shadow: 0 0 8px rgba(255, 170, 80, 0.5); }
}
@keyframes scanline-drift {
    0% { transform: translateY(-100%); }
    100% { transform: translateY(100%); }
}

/* 主控折叠框外壳 */
.hud-sys {
    background:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 1px,
            rgba(255,255,255,0.015) 1px,
            rgba(255,255,255,0.015) 2px
        ),
        linear-gradient(160deg, #0a0a0f 0%, #12121a 40%, #08080c 100%);
    border: 1px solid rgba(42, 42, 56, 0.8);
    border-left: 3px solid #3d3d50;
    border-radius: 8px;
    margin-bottom: 15px;
    overflow: hidden;
    box-shadow:
        0 8px 25px rgba(0,0,0,0.8),
        inset 0 1px 0 rgba(255,255,255,0.05),
        inset 0 -1px 0 rgba(0,0,0,0.5);
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    position: relative;
}
.hud-sys::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(139,0,0,0.03) 0%, transparent 40%, transparent 60%, rgba(139,0,0,0.02) 100%);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.5s ease;
}
.hud-sys[open]::after, .hud-sys:hover::after {
    opacity: 1;
}
.hud-sys[open], .hud-sys:hover {
    border-left-color: #8b0000;
    border-right-color: rgba(139,0,0,0.1);
    box-shadow:
        0 10px 30px rgba(139, 0, 0, 0.15),
        inset 0 1px 0 rgba(255,255,255,0.06),
        inset 0 0 25px rgba(139,0,0,0.04);
}

/* 标题栏 */
.hud-sys > summary {
    font-family: 'Courier New', Courier, monospace;
    font-weight: 700;
    color: #e8e8f0;
    font-size: 13px;
    cursor: pointer;
    outline: none;
    padding: 14px 18px;
    background: linear-gradient(90deg, rgba(35,30,45,0.7) 0%, rgba(15,15,22,0.5) 100%);
    border-bottom: 1px solid rgba(0,0,0,0.5);
    letter-spacing: 1.5px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8);
    position: relative;
    z-index: 1;
}
.hud-sys > summary::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 0%;
    background: #ff4d6d;
    border-radius: 0 2px 2px 0;
    transition: height 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.hud-sys[open] > summary::before {
    height: 50%;
}
.hud-sys > summary::after {
    content: '▾';
    margin-left: auto;
    font-size: 11px;
    color: #666;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s ease;
}
.hud-sys[open] > summary::after {
    transform: rotate(180deg);
    color: #8b0000;
}
.hud-sys[open] > summary {
    border-bottom: 1px solid rgba(139,0,0,0.25);
    background: linear-gradient(90deg, rgba(50,30,35,0.6) 0%, rgba(15,15,22,0.5) 100%);
    color: #ff7a7a;
    text-shadow: 0 0 10px rgba(255,106,106,0.2);
}
.hud-sys > summary:hover {
    background: linear-gradient(90deg, rgba(60,45,70,0.5) 0%, rgba(20,20,30,0.4) 100%);
}
.hud-sys > summary::-webkit-details-marker { display: none; }

/* 内部网格容器 */
.hud-sys .hud-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 16px;
}

/* ================= 玩家 POV 卡片 ================= */
.hud-sys .hud-card {
    background: linear-gradient(145deg, rgba(24,24,36,0.85) 0%, rgba(12,12,18,0.95) 100%);
    border: 1px solid rgba(80,80,110,0.2);
    border-radius: 4px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.hud-sys .hud-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
    opacity: 0.5;
}
.hud-sys .hud-card::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at center, rgba(139,0,0,0.06) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}
.hud-sys .hud-card:hover {
    background: linear-gradient(145deg, rgba(28,28,42,0.9) 0%, rgba(14,14,20,0.98) 100%);
    border-color: rgba(139,0,0,0.35);
    box-shadow: 0 6px 18px rgba(0,0,0,0.5), inset 0 0 15px rgba(139,0,0,0.08);
    transform: translateY(-2px);
}
.hud-sys .hud-card:hover::after { opacity: 1; }
.hud-sys .hud-card:hover::before { opacity: 1; background: linear-gradient(90deg, transparent, rgba(255,77,109,0.3), transparent); }

/* 尺寸类 */
.hud-sys .f-quarter { flex: 1 1 calc(25% - 7.5px); min-width: 75px; }
.hud-sys .f-third { flex: 1 1 calc(33.33% - 6.6px); min-width: 100px; }
.hud-sys .f-twothird { flex: 1 1 calc(66.66% - 3.4px); min-width: 180px; }
.hud-sys .f-half { flex: 1 1 calc(50% - 5px); min-width: 150px; }
.hud-sys .f-full { flex: 1 1 100%; }

/* ================= 标签文字系统 ================= */
.hud-sys .hud-lbl {
    font-size: 9.5px;
    color: #727288;
    text-transform: uppercase;
    letter-spacing: 1.8px;
    font-weight: 700;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    font-family: 'Courier New', Courier, monospace;
    transition: color 0.3s ease;
}

/* 变体：物资资产 (琥珀金) */
.hud-sys .hud-lbl.warn {
    color: #e6a030;
    border-color: rgba(230,160,48,0.25);
    text-shadow: 0 0 6px rgba(230,160,48,0.15);
}
/* 变体：身心感知 (翡翠绿) */
.hud-sys .hud-lbl.high {
    color: #00e6b8;
    border-color: rgba(0,230,184,0.25);
    text-shadow: 0 0 6px rgba(0,230,184,0.15);
}
/* 变体：性格标签 (薰衣紫) */
.hud-sys .hud-lbl.accent {
    color: #c8a2e0;
    border-color: rgba(200,162,224,0.3);
    text-shadow: 0 0 6px rgba(200,162,224,0.2);
}
/* 变体：特殊才能 (赛博猩红) */
.hud-sys .hud-lbl.link {
    color: #ff4d6d;
    border-color: rgba(255,77,109,0.35);
    text-shadow: 0 0 8px rgba(255,77,109,0.3);
    animation: hud-pulse 3s infinite alternate;
}
/* 【新增变体】：生日 (暖光琥珀) */
.hud-sys .hud-lbl.birth {
    color: #ffaa50;
    border-color: rgba(255,170,80,0.3);
    text-shadow: 0 0 6px rgba(255,170,80,0.2);
    animation: hud-glow-warm 4s infinite alternate;
}

/* 数据文字 */
.hud-sys .hud-txt {
    font-size: 13px;
    color: #d8d8e5;
    line-height: 1.6;
    letter-spacing: 0.4px;
    font-weight: 400;
    text-shadow: 0 1px 2px rgba(0,0,0,0.8);
}
.hud-card:hover .hud-txt {
    color: #ffffff;
}

/* ================= NPC 深度扫描面板 ================= */
.hud-sys .npc-panel {
    flex: 1 1 100%;
    background: linear-gradient(155deg, rgba(16,14,20,0.95) 0%, rgba(8,8,12,0.98) 100%);
    border: 1px solid rgba(80,80,110,0.25);
    border-radius: 4px;
    overflow: hidden;
    position: relative;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
}
.hud-sys .npc-panel::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 25%;
    background: linear-gradient(180deg, rgba(139,0,0,0.06) 0%, transparent 100%);
    animation: scanline-drift 3.5s ease-in-out infinite;
    pointer-events: none;
    z-index: 0;
}
.hud-sys .npc-head {
    background: linear-gradient(90deg, rgba(139,0,0,0.12) 0%, transparent 60%);
    border-bottom: 1px solid rgba(139,0,0,0.2);
    padding: 12px 16px;
    display: flex;
    align-items: baseline;
    gap: 14px;
    position: relative;
    z-index: 1;
}
.hud-sys .npc-name {
    font-size: 14.5px;
    font-weight: 800;
    color: #f4f4fa;
    letter-spacing: 1.5px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.8);
}
.hud-sys .npc-tags {
    font-size: 11px;
    color: #8c8c9f;
    letter-spacing: 0.5px;
}
.hud-sys .npc-body {
    padding: 12px 16px;
    position: relative;
    z-index: 1;
}
.hud-sys .npc-row {
    display: flex;
    margin-bottom: 10px;
    align-items: flex-start;
}
.hud-sys .npc-row:last-child { margin-bottom: 0; }
.hud-sys .r-lbl {
    flex-shrink: 0;
    width: 62px;
    font-size: 10px;
    font-weight: 700;
    color: #7a7a95;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    text-align: center;
    padding: 4px 0;
    border-radius: 2px;
    margin-right: 12px;
    letter-spacing: 0.5px;
    font-family: 'Courier New', Courier, monospace;
    transition: all 0.2s ease;
    box-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
.hud-sys .npc-row:hover .r-lbl {
    color: #a5a5c0;
    border-color: rgba(255,255,255,0.15);
    background: rgba(255,255,255,0.05);
}
.hud-sys .r-lbl.link {
    color: #ff4d6d;
    background: rgba(255,77,109,0.08);
    border-color: rgba(255,77,109,0.25);
    text-shadow: 0 0 5px rgba(255,77,109,0.3);
    animation: hud-pulse 3s infinite alternate;
}
.hud-sys .r-txt {
    font-size: 12.5px;
    color: #c4c4d4;
    line-height: 1.6;
    flex-grow: 1;
    text-shadow: 0 1px 2px rgba(0,0,0,0.6);
}
.hud-sys .npc-row:hover .r-txt {
    color: #e0e0f0;
}

/* ===== 响应式：移动端适配 ===== */

/* 中等手机 / 聊天框窄容器 (≤520px) */
@media (max-width: 520px) {
    .hud-sys .hud-grid {
        gap: 8px;
        padding: 12px;
    }
    .hud-sys .hud-card {
        padding: 10px 12px;
    }
    /* quarter保持两列 */
    .hud-sys .f-quarter {
        flex: 1 1 calc(50% - 4px);
        min-width: 0;
    }
    /* third在中等宽度下尝试两列 */
    .hud-sys .f-third {
        flex: 1 1 calc(50% - 4px);
        min-width: 0;
    }
    .hud-sys .f-twothird {
        flex: 1 1 100%;
        min-width: 0;
    }
    .hud-sys .f-half {
        flex: 1 1 100%;
        min-width: 0;
    }
    .hud-sys .npc-head {
        flex-direction: column;
        gap: 6px;
    }
    .hud-sys .npc-row {
        margin-bottom: 8px;
    }
    .hud-sys .r-lbl {
        width: 54px;
        font-size: 9px;
        margin-right: 10px;
    }
    .hud-sys > summary {
        padding: 12px 14px;
        font-size: 12px;
        letter-spacing: 1px;
    }
}

/* 小屏手机 / 极窄容器 (≤380px) */
@media (max-width: 380px) {
    .hud-sys .hud-grid {
        gap: 6px;
        padding: 10px;
    }
    .hud-sys .hud-card {
        padding: 8px 10px;
        gap: 4px;
    }
    /* quarter仍保持两列，紧凑排列 */
    .hud-sys .f-quarter {
        flex: 1 1 calc(50% - 3px);
    }
    /* third在极窄时退回单列 */
    .hud-sys .f-third {
        flex: 1 1 100%;
    }
    .hud-sys .f-half {
        flex: 1 1 100%;
    }
    .hud-sys .hud-lbl {
        font-size: 9px;
        letter-spacing: 1.2px;
        padding-bottom: 3px;
    }
    .hud-sys .hud-txt {
        font-size: 12px;
        line-height: 1.5;
    }
    .hud-sys > summary {
        padding: 10px 12px;
        font-size: 11.5px;
    }
    .hud-sys .npc-head {
        padding: 10px 12px;
    }
    .hud-sys .npc-body {
        padding: 10px 12px;
    }
    .hud-sys .r-lbl {
        width: 48px;
        font-size: 8.5px;
        margin-right: 8px;
        padding: 3px 0;
    }
    .hud-sys .r-txt {
        font-size: 11.5px;
    }
    .hud-sys .hud-tag {
        font-size: 9px;
        padding: 2px 6px;
        margin-right: 5px;
    }
}

/* ================= 经济档位徽标 ================= */
.hud-sys .hud-tag {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    padding: 2px 8px;
    border-radius: 3px;
    margin-right: 7px;
    font-family: 'Courier New', Courier, monospace;
    vertical-align: middle;
    position: relative;
    top: -1px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

/* 赤贫 · 锈红 */
.hud-sys .hud-tag:has(+ *),
.hud-tag-赤贫,
.hud-sys .hud-tag[data-tier="赤贫"],
.hud-sys .hud-txt .hud-tag:first-child {
    /* 通用兜底，具体档位靠AI输出对应class */
}

/* 赤贫 · 锈铁红 */
.hud-tag-broke {
    background: rgba(120, 30, 30, 0.25);
    border: 1px solid rgba(160, 50, 50, 0.45);
    color: #e06060;
    text-shadow: 0 0 6px rgba(200, 60, 60, 0.4);
    box-shadow: inset 0 0 6px rgba(139,0,0,0.15);
}
.hud-tag-broke::before {
    content: '▼ ';
    font-size: 8px;
    opacity: 0.7;
}

/* 拮据 · 暗橙 */
.hud-tag-tight {
    background: rgba(120, 70, 20, 0.25);
    border: 1px solid rgba(180, 100, 30, 0.4);
    color: #d4854a;
    text-shadow: 0 0 6px rgba(200, 120, 40, 0.35);
    box-shadow: inset 0 0 6px rgba(150, 80, 20, 0.12);
}
.hud-tag-tight::before {
    content: '◆ ';
    font-size: 8px;
    opacity: 0.6;
}

/* 小康 · 冷银灰 */
.hud-tag-decent {
    background: rgba(60, 60, 80, 0.3);
    border: 1px solid rgba(110, 110, 140, 0.4);
    color: #a8a8c0;
    text-shadow: 0 0 5px rgba(150, 150, 190, 0.25);
    box-shadow: inset 0 0 6px rgba(80, 80, 110, 0.1);
}
.hud-tag-decent::before {
    content: '■ ';
    font-size: 8px;
    opacity: 0.6;
}

/* 富裕 · 琥珀金 */
.hud-tag-wealthy {
    background: rgba(100, 70, 10, 0.3);
    border: 1px solid rgba(210, 160, 40, 0.45);
    color: #e8b840;
    text-shadow: 0 0 8px rgba(230, 170, 50, 0.4);
    box-shadow: inset 0 0 8px rgba(200, 150, 30, 0.12);
    animation: hud-glow-warm 4s infinite alternate;
}
.hud-tag-wealthy::before {
    content: '◈ ';
    font-size: 8px;
    opacity: 0.8;
}

/* 豪阔 · 深紫金 */
.hud-tag-rich {
    background: linear-gradient(135deg, rgba(80, 40, 120, 0.35) 0%, rgba(100, 60, 20, 0.25) 100%);
    border: 1px solid rgba(180, 120, 255, 0.35);
    color: #d4a8ff;
    text-shadow: 0 0 10px rgba(180, 100, 255, 0.5);
    box-shadow:
        inset 0 0 10px rgba(120, 60, 200, 0.12),
        0 0 8px rgba(150, 80, 255, 0.1);
    animation: hud-pulse 3.5s infinite alternate;
}
.hud-tag-rich::before {
    content: '✦ ';
    font-size: 9px;
    opacity: 0.9;
}
.hud-tag-rich:hover {
    border-color: rgba(200, 150, 255, 0.6);
    text-shadow: 0 0 14px rgba(200, 120, 255, 0.7);
}

/* ========================================= */
/* 5.绝密羁绊雷达 UI 涂装 (作用域极度安全)       */
/* ========================================= */
.nexus-sys {
  background: linear-gradient(145deg, #12100f 0%, #1c1712 100%);
  border: 1px solid #3d2f1a;
  border-radius: 10px;
  margin: 10px 0;
  padding: 4px 10px 12px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.55), inset 0 0 24px rgba(0,0,0,0.4);
  overflow: hidden;
}
.nexus-sys > summary {
  cursor: pointer;
  list-style: none;
  color: #d4af6a;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 8px 4px;
  text-shadow: 0 0 6px rgba(212,175,106,0.4);
  transition: color 0.3s ease, text-shadow 0.3s ease;
}
.nexus-sys > summary:hover {
  color: #f0d089;
  text-shadow: 0 0 10px rgba(240,208,137,0.7);
}
.nexus-sys > summary::-webkit-details-marker { display: none; }
.nexus-sys > summary::before {
  content: "◈ ";
  color: #7a5c2e;
}

/* ===== 数据网格 (升级为绝对方正的 Grid 布局) ===== */
.nexus-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 6px;
}

/* ===== 单个角色卡 ===== */
.nexus-grid .char-box {
  background: linear-gradient(160deg, #201a15 0%, #17120e 100%);
  border: 1px solid #4a3a22;
  border-left: 3px solid #8a6d3b;
  border-radius: 8px;
  padding: 10px 12px;
  position: relative;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.nexus-grid .char-box:hover {
  transform: translateY(-2px);
  border-color: #c9a45f;
  box-shadow: 0 4px 14px rgba(180,140,70,0.25);
}

/* 角色名 */
.nexus-grid .char-box .c-name {
  display: block;
  color: #e8dcc4;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
  padding-bottom: 5px;
  border-bottom: 1px dashed #3d3020;
}

/* 数值容器 */
.nexus-grid .char-box .val-wrap {
  display: flex;
  gap: 8px;
}
.nexus-grid .char-box .c-val {
  flex: 1;
  font-size: 12px;
  text-align: center;
  padding: 4px 2px;
  border-radius: 5px;
  font-weight: 600;
  background: rgba(0,0,0,0.35);
}
/* 信任度 冷蓝 */
.nexus-grid .char-box .c-val.tr {
  color: #6fb7d6;
  border: 1px solid rgba(111,183,214,0.35);
  text-shadow: 0 0 5px rgba(111,183,214,0.4);
}
/* 恋爱度 赤红 */
.nexus-grid .char-box .c-val.ro {
  color: #e06a72;
  border: 1px solid rgba(224,106,114,0.35);
  text-shadow: 0 0 5px rgba(224,106,114,0.45);
}

/* 天眼 - "最近互动"字段 */
.nexus-grid .char-box .c-last {
  display: block;
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px dashed #3d3020;
  color: #9a8b75;
  font-size: 11px;
  line-height: 1.4;
  font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
  opacity: 0.85;
}

/* 天眼 - 关系标签字段 */
.nexus-grid .char-box .c-rel {
  display: block;
  margin: 6px 0 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #a89060;
  text-align: center;
  text-transform: uppercase;
  opacity: 0.9;
  transition: color 0.3s ease;
}

/* 灵魂伴侣关系标签自动适应专属色 */
.nexus-grid .char-box.soul-box .c-rel {
  color: var(--soul-light);
  text-shadow: 0 0 6px var(--soul-main);
  opacity: 0.95;
}

/* ===== 窄屏兜底：单列排布 ===== */
@media (max-width: 400px) {
  .nexus-grid {
    grid-template-columns: 1fr;
  }
}

/* ========================================= */
/* 6. 灵魂伴侣 (Soulmate) 专属定制涂装系统     */
/* ========================================= */

/* 灵魂伴侣基类：通用特效与呼吸动画 */
.nexus-grid .char-box.soul-box {
  border: 1px solid var(--soul-main) !important;
  border-left: 3px solid var(--soul-light) !important;
  background: linear-gradient(160deg, var(--soul-bg1) 0%, var(--soul-bg2) 100%) !important;
  animation: soulPulse 2.5s infinite ease-in-out;
  transform: translateY(-1px);
}
.nexus-grid .char-box.soul-box:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px var(--soul-dark);
}
/* 灵魂伴侣：名字高亮 */
.nexus-grid .char-box.soul-box .c-name {
  color: var(--soul-light) !important;
  text-shadow: 0 0 8px var(--soul-main);
  border-bottom: 1px dashed var(--soul-main);
  letter-spacing: 1.5px;
}
/* 灵魂伴侣：恋爱度数值锁血红装 (或专属色) */
.nexus-grid .char-box.soul-box .val-wrap .c-val.ro {
  color: var(--soul-light) !important;
  border-color: var(--soul-main) !important;
  background: rgba(0,0,0,0.6);
  text-shadow: 0 0 6px var(--soul-main);
  font-weight: 800;
}

/* 灵魂伴侣 - "最近互动"字段自动适应专属颜色 */
.nexus-grid .char-box.soul-box .c-last {
  border-top: 1px dashed var(--soul-main) !important;
  color: var(--soul-light) !important;
  opacity: 0.9;
}

/* 核心呼吸灯动画 (复用色值变量) */
@keyframes soulPulse {
  0%, 100% { box-shadow: 0 0 6px var(--soul-dark), inset 0 0 5px var(--soul-dark); }
  50% { box-shadow: 0 0 16px var(--soul-main), inset 0 0 12px var(--soul-dark); }
}

/* ----------------------------------------- */
/* 角色专属色彩基因 (Color Genes)             */
/* ----------------------------------------- */
/* 纯白 (伊尔) */
.soul-yier  { --soul-main:#b3b3b3; --soul-light:#ffffff; --soul-dark:rgba(255,255,255,0.25); --soul-bg1:#1f1f1f; --soul-bg2:#0a0a0a; }
/* 闪耀黑金 (珍娜) */
.soul-jenna { --soul-main:#cca300; --soul-light:#ffe600; --soul-dark:rgba(204,163,0,0.25); --soul-bg1:#1a170d; --soul-bg2:#0a0905; }
/* 忧郁蓝 (艾玛) */
.soul-emma  { --soul-main:#3d7a99; --soul-light:#7accff; --soul-dark:rgba(61,122,153,0.25); --soul-bg1:#0c151a; --soul-bg2:#05080a; }
/* 可爱粉 (伊薇) */
.soul-evie  { --soul-main:#cc5c8a; --soul-light:#ff99c2; --soul-dark:rgba(204,92,138,0.25); --soul-bg1:#1f1116; --soul-bg2:#0a0507; }
/* 血腥红 (克丽芙) */
.soul-cleve { --soul-main:#a61726; --soul-light:#ff3347; --soul-dark:rgba(166,23,38,0.3); --soul-bg1:#210c0f; --soul-bg2:#0d0405; }
/* 知性淡紫 (露西) */
.soul-lucy  { --soul-main:#855cba; --soul-light:#cd9eff; --soul-dark:rgba(133,92,186,0.25); --soul-bg1:#16101f; --soul-bg2:#08050a; }
/* 慵懒酒红 (米莱娜) */
.soul-milena { --soul-main:#993352; --soul-light:#ff6b8a; --soul-dark:rgba(153,51,82,0.28); --soul-bg1:#1f0f14; --soul-bg2:#0a0507; }
/* 冷玫瑰灰粉 (夏禾) */
.soul-xiahe { --soul-main:#996b7a; --soul-light:#e8a8bc; --soul-dark:rgba(153,107,122,0.25); --soul-bg1:#1a1215; --soul-bg2:#0a0708; }
/* 赛博墨绿 (锁念慈) */
.soul-lock  { --soul-main:#2d7a4f; --soul-light:#52e891; --soul-dark:rgba(45,122,79,0.28); --soul-bg1:#0b1510; --soul-bg2:#050a07; }

/* ========================================= */
/* 7. 人脉册 (Contacts System) 专属UI        */
/* ========================================= */

/* 红木桌面背景容器 */
.contacts-sys {
  background:
    repeating-linear-gradient(
      92deg,
      transparent 0px,
      transparent 3px,
      rgba(0,0,0,0.03) 3px,
      rgba(0,0,0,0.03) 4px
    ),
    repeating-linear-gradient(
      180deg,
      transparent 0px,
      transparent 8px,
      rgba(0,0,0,0.02) 8px,
      rgba(0,0,0,0.02) 9px
    ),
    linear-gradient(160deg, #2a1410 0%, #1e0e0a 40%, #2c1208 70%, #1a0c08 100%);
  border: 1px solid #5a2a18;
  border-top-color: #7a3a22;
  border-radius: 12px;
  margin: 12px 0;
  overflow: hidden;
  box-shadow:
    0 8px 32px rgba(0,0,0,0.7),
    0 2px 4px rgba(0,0,0,0.5),
    inset 0 1px 0 rgba(180,100,60,0.12);
  position: relative;
}
.contacts-sys::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background:
    radial-gradient(ellipse at 0% 50%, rgba(120,40,10,0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 100% 50%, rgba(80,20,5,0.06) 0%, transparent 60%);
  pointer-events: none;
}

.contacts-sys summary {
  background: linear-gradient(90deg, #1a0c08 0%, #251008 50%, #1a0c08 100%);
  color: #c8a87a;
  padding: 12px 18px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.5px;
  cursor: pointer;
  border-bottom: 1px solid #5a2a18;
  transition: color 0.3s;
  position: relative;
  z-index: 1;
}
.contacts-sys summary:hover { color: #e8c89a; }
.contacts-sys summary::-webkit-details-marker { display: none; }
.contacts-sys summary::before { content: "◈ "; color: #8a4a28; }

.ct-grid {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
  z-index: 1;
}

/* ===== 分区标签 ===== */
.ct-zone { margin-bottom: 16px; }
.ct-zone:last-child { margin-bottom: 0; }

.ct-zone-label {
  color: #7a6050;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 5px 10px 8px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(90,42,24,0.3);
  position: relative;
}
.ct-zone-label::after {
  content: "";
  position: absolute;
  bottom: -1px; left: 10px;
  width: 18px; height: 2px;
  border-radius: 1px;
}

.ct-zone-core .ct-zone-label { color: #c8a060; border-bottom-color: rgba(200,160,96,0.2); }
.ct-zone-core .ct-zone-label::after { background: linear-gradient(90deg, #c8a060, transparent); }
.ct-zone-active .ct-zone-label { color: #7a8a6a; border-bottom-color: rgba(122,138,106,0.2); }
.ct-zone-active .ct-zone-label::after { background: linear-gradient(90deg, #7a8a6a, transparent); }
.ct-zone-dormant .ct-zone-label { color: #5a4a3a; border-bottom-color: rgba(90,74,58,0.15); }
.ct-zone-dormant .ct-zone-label::after { background: linear-gradient(90deg, #5a4a3a, transparent); }

/* ===== 名片卡主体 ===== */
.ct-entry {
  background: linear-gradient(155deg, #1c1a14 0%, #141210 45%, #0f0d0b 100%);
  border: 1px solid rgba(90,70,40,0.6);
  border-top: 1px solid rgba(140,110,60,0.4);
  border-bottom: 1px solid rgba(30,20,10,0.8);
  border-radius: 10px;
  padding: 0;
  display: flex;
  flex-direction: column;
  transition: all 0.35s ease;
  position: relative;
  overflow: hidden;
  margin-bottom: 12px;
  box-shadow:
    0 1px 0 rgba(255,220,140,0.06) inset,
    0 -1px 0 rgba(0,0,0,0.6) inset,
    1px 0 0 rgba(255,200,100,0.02) inset,
    0 2px 4px rgba(0,0,0,0.5),
    0 6px 16px rgba(0,0,0,0.35),
    0 16px 40px rgba(0,0,0,0.2);
}

/* 左侧色条 */
.ct-entry::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 4px; height: 100%;
  border-radius: 10px 0 0 10px;
  background: linear-gradient(180deg, #8a7040 0%, #5a4820 100%);
  transition: all 0.3s;
}

/* 顶部整体光晕层 */
.ct-entry::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 50%;
  background: linear-gradient(180deg, rgba(255,255,255,0.025) 0%, transparent 100%);
  border-radius: 10px 10px 0 0;
  pointer-events: none;
}

.ct-entry:hover {
  border-color: rgba(168,128,64,0.6);
  border-top-color: rgba(200,165,80,0.5);
  box-shadow:
    0 1px 0 rgba(255,220,140,0.1) inset,
    0 -1px 0 rgba(0,0,0,0.6) inset,
    1px 0 0 rgba(255,200,100,0.03) inset,
    0 4px 8px rgba(0,0,0,0.55),
    0 10px 24px rgba(0,0,0,0.4),
    0 24px 56px rgba(0,0,0,0.25),
    0 0 24px rgba(180,130,50,0.04);
  transform: translateY(-2px) scale(1.003);
}
.ct-entry:hover::before {
  background: linear-gradient(180deg, #c8a060 0%, #8a6830 100%);
  box-shadow: 0 0 12px rgba(200,160,96,0.2);
}

/* ===== 名片头部 ===== */
.ct-header {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 15px 18px 0 22px;
}

.ct-name {
  color: #f0e8d8;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.8px;
  text-shadow:
    0 1px 2px rgba(0,0,0,0.8),
    0 0 12px rgba(220,180,100,0.08);
}

.ct-meta {
  color: #6a5e4e;
  font-size: 11px;
  letter-spacing: 0.8px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

.ct-sleep {
  font-size: 11px;
  margin-left: auto;
  opacity: 0.4;
  filter: grayscale(1);
}

/* ===== 肖像速写（凹槽区） ===== */
.ct-face {
  color: #c8c0a8;
  font-size: 11.5px;
  font-style: italic;
  padding: 9px 14px 9px 12px;
  margin: 10px 14px 0 14px;
  background: linear-gradient(145deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.28) 100%);
  border-radius: 6px;
  border-left: 2px solid rgba(180,140,80,0.35);
  line-height: 1.65;
  box-shadow:
    inset 0 2px 6px rgba(0,0,0,0.4),
    inset 0 -1px 0 rgba(255,255,255,0.02),
    0 1px 0 rgba(255,220,140,0.04);
}

/* ===== 信息行 ===== */
.ct-body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 12px 18px 0 22px;
}

.ct-role {
  color: #a09080;
  background: rgba(0,0,0,0.4);
  padding: 4px 11px;
  border-radius: 14px;
  font-size: 11px;
  border: 1px solid rgba(80,60,35,0.4);
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.3), 0 1px 0 rgba(255,200,100,0.03);
  letter-spacing: 0.3px;
}

/* ===== 好感度标签 ===== */
.ct-fav {
  padding: 4px 11px;
  border-radius: 14px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.3px;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.3), 0 1px 0 rgba(255,255,255,0.03);
  transition: all 0.3s;
}

/* 死敌 ≤10 — 暗血红脉动 */
.ct-fav-nemesis {
  color: #cc3030;
  border: 1px solid rgba(180,40,40,0.5);
  background: linear-gradient(135deg, rgba(140,20,20,0.18) 0%, rgba(100,10,10,0.12) 100%);
  text-shadow: 0 0 6px rgba(200,40,40,0.4);
  animation: nemesis-pulse 2s ease-in-out infinite;
}
@keyframes nemesis-pulse {
  0%, 100% { box-shadow: inset 0 1px 3px rgba(0,0,0,0.3), 0 0 5px rgba(180,30,30,0.2); }
  50% { box-shadow: inset 0 1px 3px rgba(0,0,0,0.3), 0 0 14px rgba(180,30,30,0.35), 0 0 24px rgba(120,10,10,0.1); }
}

/* 警惕 11-34 — 暗橙 */
.ct-fav-hostile {
  color: #c07040;
  border: 1px solid rgba(180,100,50,0.4);
  background: linear-gradient(135deg, rgba(160,80,30,0.1) 0%, rgba(120,55,15,0.06) 100%);
  text-shadow: 0 0 5px rgba(180,100,40,0.2);
}

/* 中立 35-59 — 灰白哑光 */
.ct-fav-neutral {
  color: #a8a090;
  border: 1px solid rgba(160,152,136,0.25);
  background: linear-gradient(135deg, rgba(150,142,125,0.06) 0%, rgba(110,104,92,0.03) 100%);
  text-shadow: none;
}

/* 友善 60-79 — 暗雾蓝 */
.ct-fav-warm {
  color: #5898b8;
  border: 1px solid rgba(80,148,184,0.4);
  background: linear-gradient(135deg, rgba(60,120,160,0.1) 0%, rgba(40,90,130,0.05) 100%);
  text-shadow: 0 0 5px rgba(80,148,184,0.2);
}

/* 挚友 80-100 — 暗金呼吸 */
.ct-fav-deep {
  color: #c8a050;
  border: 1px solid rgba(200,160,80,0.5);
  background: linear-gradient(135deg, rgba(180,140,60,0.12) 0%, rgba(140,100,30,0.07) 100%);
  text-shadow: 0 0 7px rgba(200,160,80,0.3);
  animation: gold-breathe 3s ease-in-out infinite;
}
@keyframes gold-breathe {
  0%, 100% { box-shadow: inset 0 1px 3px rgba(0,0,0,0.3), 0 0 4px rgba(200,160,80,0.15); }
  50% { box-shadow: inset 0 1px 3px rgba(0,0,0,0.3), 0 0 12px rgba(200,160,80,0.28), 0 0 22px rgba(160,120,40,0.08); }
}

/* ===== 关系定性 ===== */
.ct-rel {
  color: #b89050;
  border: 1px solid rgba(180,144,80,0.3);
  padding: 4px 11px;
  border-radius: 14px;
  font-size: 11px;
  background: rgba(160,120,50,0.06);
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.25), 0 1px 0 rgba(255,200,100,0.03);
  letter-spacing: 0.3px;
}

/* ===== 与主角关系（独立行） ===== */
.ct-bond {
  color: #a89880;
  font-size: 11px;
  font-style: italic;
  padding: 4px 18px 2px 22px;
  letter-spacing: 0.3px;
  opacity: 0.75;
  position: relative;
}
.ct-bond::before {
  content: "⤷ ";
  color: rgba(180,140,70,0.3);
  font-style: normal;
}

/* ===== 印象碎片 ===== */
.ct-imp {
  color: #c0b89a;
  font-size: 11.5px;
  font-style: italic;
  padding: 10px 18px 8px 24px;
  line-height: 1.62;
  opacity: 0.82;
  position: relative;
}
.ct-imp::before {
  content: "❝";
  position: absolute;
  left: 13px; top: 8px;
  color: rgba(180,140,70,0.25);
  font-size: 13px;
  font-style: normal;
}

/* ===== 底栏（印刷区） ===== */
.ct-last {
  color: #6a5e4a;
  font-size: 10.5px;
  padding: 9px 18px 12px 22px;
  margin-top: 8px;
  border-top: 1px solid rgba(80,55,30,0.35);
  background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.15) 100%);
  border-radius: 0 0 10px 10px;
  font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
  letter-spacing: 0.3px;
  line-height: 1.5;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.25);
}

/* ===== 分区色条特化 ===== */
.ct-zone-core .ct-entry::before {
  background: linear-gradient(180deg, #c8a060 0%, #8a6830 100%);
  box-shadow: 0 0 8px rgba(200,160,96,0.15);
}
.ct-zone-core .ct-entry:has(.ct-fav-nemesis)::before {
  background: linear-gradient(180deg, #aa2828 0%, #6a1010 100%);
  box-shadow: 0 0 8px rgba(180,40,40,0.15);
}
.ct-zone-active .ct-entry::before {
  background: linear-gradient(180deg, #7a8a6a 0%, #4a5a3a 100%);
}

/* ===== 休眠条目 ===== */
.ct-entry.ct-dormant {
  opacity: 0.38;
  filter: grayscale(0.6) brightness(0.7);
  transition: all 0.4s;
}
.ct-entry.ct-dormant::before {
  background: #2a2018;
  box-shadow: none;
}
.ct-entry.ct-dormant:hover {
  opacity: 0.6;
  filter: grayscale(0.2) brightness(0.88);
  transform: translateY(-1px);
}
.ct-entry.ct-dormant .ct-name {
  text-decoration: line-through;
  text-decoration-color: rgba(180,140,80,0.2);
  text-decoration-thickness: 1px;
}

/* ===== 空记录 ===== */
.ct-empty {
  color: #5a4a38;
  font-size: 11.5px;
  text-align: center;
  padding: 28px 16px;
  font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
  letter-spacing: 0.5px;
  background: rgba(0,0,0,0.25);
  border: 1px dashed rgba(100,65,35,0.2);
  border-radius: 8px;
  line-height: 1.6;
}
.ct-empty::before {
  content: "─── ✦ ───";
  display: block;
  margin-bottom: 8px;
  color: rgba(100,65,35,0.2);
  font-size: 10px;
  letter-spacing: 3px;
}

/* ========================================= */
/* 安息区 (Grave Zone) — 青蓝厚石碑          */
/* ========================================= */

.ct-zone-grave .ct-zone-label {
  color: #7a8690;
  border-bottom-color: rgba(110,130,145,0.15);
}
.ct-zone-grave .ct-zone-label::after {
  background: linear-gradient(90deg, #7a8690, transparent);
}

/* 墓碑网格：一行两列 */
.ct-zone-grave .ct-grid-grave {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

/* 单块墓碑 — 青蓝花岗岩厚碑 */
.ct-grave {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 22px 14px 18px;
  background:
    /* 表层：细密矿物颗粒 */
    repeating-linear-gradient(
      162deg,
      transparent 0px,
      transparent 3px,
      rgba(140,165,190,0.02) 3px,
      rgba(140,165,190,0.02) 4px
    ),
    /* 中层：斜向纹理脉络 */
    repeating-linear-gradient(
      45deg,
      transparent 0px,
      transparent 8px,
      rgba(80,100,120,0.025) 8px,
      rgba(80,100,120,0.025) 9px
    ),
    /* 底层：粗颗粒结构 */
    repeating-linear-gradient(
      78deg,
      transparent 0px,
      transparent 2px,
      rgba(0,0,0,0.035) 2px,
      rgba(0,0,0,0.035) 3px
    ),
    /* 基色：深青蓝石体 */
    linear-gradient(170deg, #1e2830 0%, #182028 35%, #1c2430 60%, #141c24 100%);
  border: none;
  border-radius: 40% 40% 4px 4px / 20px 20px 4px 4px;
  position: relative;
  overflow: visible;
  transition: all 0.4s ease;

  /* 核心厚度：多层投影堆叠模拟石碑侧面 */
  box-shadow:
    /* 顶面高光 */
    0 1px 0 rgba(160,185,210,0.08) inset,
    /* 内凹深度 */
    0 -3px 8px rgba(0,0,0,0.5) inset,
    /* 左右侧面切割 */
    -3px 0 0 #151d24,
    3px 0 0 #151d24,
    -4px 1px 0 #101820,
    4px 1px 0 #101820,
    /* 底部厚边 — 石碑底座 */
    0 4px 0 #1a2530,
    0 6px 0 #141c26,
    0 8px 0 #101820,
    /* 落地阴影 */
    0 10px 8px rgba(0,0,0,0.5),
    0 14px 20px rgba(0,0,0,0.4),
    0 20px 40px rgba(0,0,0,0.25);
}

/* 石碑正面：磨砂抛光层 */
.ct-grave::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background:
    /* 抛光高光带 */
    linear-gradient(
      170deg,
      rgba(160,185,210,0.06) 0%,
      transparent 25%,
      transparent 60%,
      rgba(100,125,150,0.03) 100%
    ),
    /* 散布噪点模拟石面粗糙度 */
    radial-gradient(circle at 20% 30%, rgba(140,165,190,0.04) 0%, transparent 2%),
    radial-gradient(circle at 65% 15%, rgba(100,130,160,0.03) 0%, transparent 1.5%),
    radial-gradient(circle at 40% 70%, rgba(120,150,175,0.03) 0%, transparent 2%),
    radial-gradient(circle at 80% 55%, rgba(90,115,140,0.025) 0%, transparent 1.8%),
    radial-gradient(circle at 15% 85%, rgba(130,155,180,0.03) 0%, transparent 2.2%);
  border-radius: inherit;
  pointer-events: none;
}

/* 顶部弧形边缘高光 — 石碑磨圆的棱 */
.ct-grave::after {
  content: "";
  position: absolute;
  top: -1px; left: 8%; right: 8%;
  height: 3px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(160,185,210,0.15) 30%,
    rgba(180,200,220,0.22) 50%,
    rgba(160,185,210,0.15) 70%,
    transparent
  );
  border-radius: 50%;
  filter: blur(0.5px);
}

.ct-grave:hover {
  transform: translateY(-3px);
  box-shadow:
    0 1px 0 rgba(160,185,210,0.1) inset,
    0 -3px 8px rgba(0,0,0,0.5) inset,
    -3px 0 0 #151d24,
    3px 0 0 #151d24,
    -4px 1px 0 #101820,
    4px 1px 0 #101820,
    0 4px 0 #1a2530,
    0 6px 0 #141c26,
    0 8px 0 #101820,
    0 12px 12px rgba(0,0,0,0.55),
    0 18px 28px rgba(0,0,0,0.4),
    0 26px 50px rgba(0,0,0,0.25),
    0 0 20px rgba(120,150,180,0.04);
}

/* 姓名 — 深凿刻字 */
.grave-name {
  color: #ccd8e2;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-align: center;
  text-shadow:
    0 2px 3px rgba(0,0,0,0.9),
    0 -1px 0 rgba(160,185,210,0.08),
    0 0 10px rgba(120,150,180,0.06);
  margin-top: 2px;
  position: relative;
  z-index: 1;
}

/* 性别·享年 */
.grave-meta {
  color: #6a7a88;
  font-size: 10.5px;
  letter-spacing: 0.8px;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0,0,0,0.7);
  position: relative;
  z-index: 1;
}

/* 死亡日期 */
.grave-date {
  color: #586878;
  font-size: 10px;
  font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
  letter-spacing: 0.5px;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0,0,0,0.7);
  opacity: 0.8;
  position: relative;
  z-index: 1;
}

/* 死因 */
.grave-cause {
  color: #708090;
  font-size: 10.5px;
  text-align: center;
  letter-spacing: 0.3px;
  padding: 2px 8px;
  line-height: 1.5;
  text-shadow: 0 1px 2px rgba(0,0,0,0.7);
  opacity: 0.75;
  position: relative;
  z-index: 1;
}

/* 分隔线 — 凹槽 */
.ct-grave .grave-divider {
  width: 40%;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(0,0,0,0.4) 20%,
    rgba(0,0,0,0.5) 50%,
    rgba(0,0,0,0.4) 80%,
    transparent
  );
  border-top: 1px solid rgba(120,150,175,0.1);
  margin: 3px 0;
  border-radius: 1px;
  position: relative;
  z-index: 1;
}

/* 生前身份 */
.grave-role {
  color: #7a90a0;
  font-size: 10.5px;
  font-style: italic;
  text-align: center;
  letter-spacing: 0.3px;
  padding: 0 6px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.7);
  position: relative;
  z-index: 1;
}

/* 关系·好感 */
.grave-rel {
  color: #5a6a78;
  font-size: 10px;
  text-align: center;
  letter-spacing: 0.3px;
  background: rgba(0,0,0,0.35);
  padding: 3px 10px;
  border-radius: 10px;
  border: 1px solid rgba(80,105,130,0.2);
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.3);
  text-shadow: 0 1px 2px rgba(0,0,0,0.6);
  position: relative;
  z-index: 1;
}

/* 怀念蜡烛 */
.grave-mem {
  color: #b8a060;
  font-size: 10.5px;
  text-align: center;
  margin-top: 4px;
  letter-spacing: 0.5px;
  position: relative;
  z-index: 1;
  animation: candle-flicker 3s ease-in-out infinite;
}
@keyframes candle-flicker {
  0%, 100% { opacity: 0.7; text-shadow: 0 0 4px rgba(200,160,60,0.2); }
  33% { opacity: 0.9; text-shadow: 0 0 8px rgba(200,160,60,0.35); }
  66% { opacity: 0.6; text-shadow: 0 0 3px rgba(200,160,60,0.15); }
}

/* 移动端墓碑自适应 */
@media (max-width: 480px) {
  .ct-zone-grave .ct-grid-grave {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .ct-grave {
    max-width: 85%;
    margin: 0 auto;
  }
}

/* ===== 伴侣标记 ===== */
.ct-partner {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 10px;
  font-size: 10.5px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #c0506a 0%, #e84393 50%, #fd79a8 100%);
  border: 1px solid rgba(232,67,147,0.4);
  border-radius: 14px;
  letter-spacing: 0.5px;
  vertical-align: middle;
  box-shadow:
    inset 0 1px 3px rgba(0,0,0,0.2),
    0 1px 0 rgba(255,200,200,0.05),
    0 0 8px rgba(232,67,147,0.2);
  text-shadow: 0 1px 2px rgba(0,0,0,0.4);
  animation: partner-glow 3s ease-in-out infinite;
}
@keyframes partner-glow {
  0%, 100% { box-shadow: inset 0 1px 3px rgba(0,0,0,0.2), 0 0 6px rgba(232,67,147,0.15); }
  50% { box-shadow: inset 0 1px 3px rgba(0,0,0,0.2), 0 0 14px rgba(232,67,147,0.3), 0 0 24px rgba(200,50,100,0.08); }
}

/* ========================================= */
/* 8. 手机ui美化 */
/* ========================================= */

/* ---------- 7.1 默认黑金·奢华商务 ---------- */
.phone-ui{
  --skin-bg1:#0d0d0f; --skin-bg2:#1c1a16;
  --skin-gold:#d4af37; --skin-gold-lite:#f5e19b; --skin-gold-deep:#8a6d1f;
  --skin-text:#f3ead4; --skin-sub:#9a8f78; --skin-danger:#ff4a4a;
  --skin-radius:32px; --skin-radius-inner:26px; --skin-radius-card:16px;
  --skin-radius-icon:15px; --skin-radius-news:8px;
  --skin-border:1px solid rgba(212,175,55,0.35);
  --skin-shadow:0 18px 45px rgba(0,0,0,0.85),inset 0 0 22px rgba(212,175,55,0.08),0 0 0 3px rgba(0,0,0,0.6);
  --skin-font:-apple-system,"SF Pro Display","Helvetica Neue",sans-serif;
  --skin-font-num:"SF Mono","Fira Code",monospace;
  --skin-font-news:"SF Pro Text","Helvetica Neue",sans-serif;
  --skin-icon-bg:linear-gradient(145deg,#2a2620,#131210);
  --skin-icon-border:1px solid rgba(212,175,55,0.4);
  --skin-icon-shadow:inset 0 1px 2px rgba(245,225,155,0.25),0 4px 10px rgba(0,0,0,0.6);
  --skin-screen-bg:linear-gradient(180deg,rgba(0,0,0,0.55),rgba(20,18,14,0.75));
  --skin-screen-border:1px solid rgba(212,175,55,0.15);
  --skin-fc-bg:linear-gradient(135deg,rgba(212,175,55,0.12),rgba(0,0,0,0.2));
  --skin-fc-border:1px solid rgba(212,175,55,0.3);
  --skin-news-bg:rgba(255,255,255,0.02);
  --skin-news-border-left:2px solid var(--skin-gold-deep);
  --skin-news-hot-border:2px solid var(--skin-danger);
  --skin-tag-bg:rgba(212,175,55,0.15); --skin-tag-border:1px solid rgba(212,175,55,0.4);
  --skin-tag-hot-bg:rgba(255,74,74,0.2); --skin-tag-hot-border:1px solid rgba(255,74,74,0.6);
  --skin-notch-weight:600; --skin-name-weight:800;
  max-width:400px; margin:14px auto;
  border-radius:var(--skin-radius);
  background:linear-gradient(160deg,var(--skin-bg1) 0%,var(--skin-bg2) 100%);
  padding:8px; box-sizing:border-box;
  border:var(--skin-border);
  box-shadow:var(--skin-shadow);
  font-family:var(--skin-font);
  color:var(--skin-text); overflow:hidden;
}

/* ---------- 7.2 顶部状态条(刘海) ---------- */
.phone-ui .phone-notch{
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 20px 12px; font-size:12px; letter-spacing:0.5px;
  color:var(--skin-gold-lite); font-weight:var(--skin-notch-weight);
  font-family:var(--skin-font-num);
}

/* ---------- 7.3 主屏幕容器 ---------- */
.phone-ui .phone-screen{
  background:var(--skin-screen-bg);
  border-radius:var(--skin-radius-inner); padding:18px 16px;
  border:var(--skin-screen-border);
}

/* ---------- 7.4 App图标宫格 ---------- */
.phone-ui .app-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:18px;
}
.phone-ui .app-item{
  position:relative; display:flex; flex-direction:column; align-items:center; gap:6px;
}
.phone-ui .app-icon{
  width:52px; height:52px; display:flex; align-items:center; justify-content:center;
  font-size:24px; border-radius:var(--skin-radius-icon);
  background:var(--skin-icon-bg);
  border:var(--skin-icon-border);
  box-shadow:var(--skin-icon-shadow);
  transition:transform 0.25s ease,box-shadow 0.25s ease;
}
.phone-ui .app-item:hover .app-icon{
  transform:translateY(-3px) scale(1.05);
  box-shadow:inset 0 1px 3px rgba(245,225,155,0.4),0 6px 16px rgba(212,175,55,0.35);
}
.phone-ui .app-name{ font-size:10px; color:var(--skin-sub); letter-spacing:0.3px; font-family:var(--skin-font); }
.phone-ui .app-badge{
  position:absolute; top:-4px; right:8px; min-width:16px; height:16px; padding:0 4px;
  display:flex; align-items:center; justify-content:center;
  font-size:10px; font-weight:700; color:#fff;
  background:var(--skin-danger); border-radius:9px;
  box-shadow:0 0 6px rgba(255,74,74,0.6); border:1px solid rgba(0,0,0,0.3);
}

/* ---------- 7.5 粉丝影响力卡片 ---------- */
.phone-ui .follower-card{
  display:flex; flex-direction:column; gap:3px; padding:14px 16px; margin-bottom:16px;
  background:var(--skin-fc-bg);
  border:var(--skin-fc-border); border-radius:var(--skin-radius-card);
  box-shadow:inset 0 0 15px rgba(212,175,55,0.06);
}
.phone-ui .fc-label{ font-size:11px; color:var(--skin-sub); letter-spacing:1px; font-family:var(--skin-font); }
.phone-ui .fc-num{
  font-size:26px; font-weight:var(--skin-name-weight); letter-spacing:1px;
  font-family:var(--skin-font-num);
  background:linear-gradient(90deg,var(--skin-gold-lite),var(--skin-gold),var(--skin-gold-deep));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  text-shadow:0 0 20px rgba(212,175,55,0.25);
}
.phone-ui .fc-trend{ font-size:12px; color:var(--skin-gold-lite); font-weight:600; font-family:var(--skin-font-num); }

/* ---------- 7.6 名利场头条新闻栏 ---------- */
.phone-ui .news-header{
  text-align:center; font-size:12px; font-weight:700; letter-spacing:3px;
  color:var(--skin-gold); padding:6px 0 14px;
  border-bottom:1px solid rgba(212,175,55,0.2); margin-bottom:12px;
  font-family:var(--skin-font);
}
.phone-ui .news-item{
  display:flex; align-items:flex-start; gap:10px; padding:10px 12px; margin-bottom:8px;
  background:var(--skin-news-bg); border-left:var(--skin-news-border-left);
  border-radius:var(--skin-radius-news); transition:background 0.25s ease,border-color 0.25s ease;
}
.phone-ui .news-item:hover{ background:rgba(212,175,55,0.07); border-left-color:var(--skin-gold); }
.phone-ui .news-item.hot{ border-left:var(--skin-news-hot-border); }
.phone-ui .news-tag{
  flex-shrink:0; font-size:9px; font-weight:700; letter-spacing:0.5px;
  padding:3px 7px; border-radius:5px; margin-top:1px;
  color:var(--skin-gold-lite); background:var(--skin-tag-bg);
  border:var(--skin-tag-border); font-family:var(--skin-font-num);
}
.phone-ui .news-item.hot .news-tag{
  color:#fff; background:var(--skin-tag-hot-bg); border:var(--skin-tag-hot-border);
}
.phone-ui .news-txt{
  margin:0; font-size:12px; line-height:1.55; color:var(--skin-text); opacity:0.92;
  font-family:var(--skin-font-news);
}

/* ========================================= */
/* 7.7 皮肤主题包 */
/* ========================================= */

/* ──── 皮肤·冷冽白金 · 极简科技风 ──── */
.phone-ui.skin-platinum{
  --skin-bg1:#f4f2ef; --skin-bg2:#e2e0db;
  --skin-gold:#4a4a4a; --skin-gold-lite:#1a1a1a; --skin-gold-deep:#8a8a8a;
  --skin-text:#1c1c1e; --skin-sub:#6e6e73; --skin-danger:#ff3b30;
  --skin-radius:20px; --skin-radius-inner:16px; --skin-radius-card:12px;
  --skin-radius-icon:12px; --skin-radius-news:6px;
  --skin-border:1px solid rgba(0,0,0,0.08);
  --skin-shadow:0 12px 35px rgba(0,0,0,0.12),0 0 0 1px rgba(0,0,0,0.04);
  --skin-font:"Inter","SF Pro Display",-apple-system,sans-serif;
  --skin-font-num:"JetBrains Mono","SF Mono","Fira Code",monospace;
  --skin-font-news:"Inter","SF Pro Text",sans-serif;
  --skin-icon-bg:linear-gradient(145deg,#ffffff,#f0eee9);
  --skin-icon-border:1px solid rgba(0,0,0,0.06);
  --skin-icon-shadow:0 2px 8px rgba(0,0,0,0.06),inset 0 1px 0 rgba(255,255,255,0.9);
  --skin-screen-bg:linear-gradient(180deg,rgba(255,255,255,0.6),rgba(240,238,233,0.8));
  --skin-screen-border:1px solid rgba(0,0,0,0.05);
  --skin-fc-bg:linear-gradient(135deg,rgba(0,0,0,0.02),rgba(0,0,0,0.04));
  --skin-fc-border:1px solid rgba(0,0,0,0.06);
  --skin-news-bg:rgba(0,0,0,0.015);
  --skin-news-border-left:2px solid #c8c8cc;
  --skin-news-hot-border:2px solid var(--skin-danger);
  --skin-tag-bg:rgba(0,0,0,0.04); --skin-tag-border:1px solid rgba(0,0,0,0.08);
  --skin-tag-hot-bg:rgba(255,59,48,0.08); --skin-tag-hot-border:1px solid rgba(255,59,48,0.3);
  --skin-notch-weight:500; --skin-name-weight:700;
}
.phone-ui.skin-platinum .app-item:hover .app-icon{
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 4px 14px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,1);
}
.phone-ui.skin-platinum .fc-num{
  background:linear-gradient(90deg,#1a1a1a,#4a4a4a);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  text-shadow:none;
}
.phone-ui.skin-platinum .news-item:hover{ background:rgba(0,0,0,0.03); border-left-color:#4a4a4a; }
.phone-ui.skin-platinum .news-header{ border-bottom-color:rgba(0,0,0,0.08); }
.phone-ui.skin-platinum .follower-card{ box-shadow:none; }

/* ──── 皮肤·血夜暗红 · 哥特戏剧风 ──── */
.phone-ui.skin-crimson{
  --skin-bg1:#0a0405; --skin-bg2:#1a080b;
  --skin-gold:#9b1b30; --skin-gold-lite:#f5a0a0; --skin-gold-deep:#5c1018;
  --skin-text:#f3dede; --skin-sub:#9a7070; --skin-danger:#ff2d2d;
  --skin-radius:28px; --skin-radius-inner:22px; --skin-radius-card:14px;
  --skin-radius-icon:50%; --skin-radius-news:4px;
  --skin-border:1px solid rgba(155,27,48,0.4);
  --skin-shadow:0 18px 50px rgba(0,0,0,0.9),inset 0 0 30px rgba(155,27,48,0.06),0 0 0 2px rgba(60,5,10,0.8);
  --skin-font:"Playfair Display","Georgia","Times New Roman",serif;
  --skin-font-num:"Courier Prime","Courier New",monospace;
  --skin-font-news:"Lora","Georgia",serif;
  --skin-icon-bg:linear-gradient(145deg,#1f0a0e,#0a0304);
  --skin-icon-border:1px solid rgba(155,27,48,0.5);
  --skin-icon-shadow:inset 0 1px 3px rgba(245,160,160,0.1),0 4px 12px rgba(0,0,0,0.7);
  --skin-screen-bg:linear-gradient(180deg,rgba(10,4,5,0.6),rgba(26,8,11,0.8));
  --skin-screen-border:1px solid rgba(155,27,48,0.12);
  --skin-fc-bg:linear-gradient(135deg,rgba(155,27,48,0.08),rgba(0,0,0,0.3));
  --skin-fc-border:1px solid rgba(155,27,48,0.25);
  --skin-news-bg:rgba(155,27,48,0.03);
  --skin-news-border-left:2px solid #5c1018;
  --skin-news-hot-border:2px solid var(--skin-danger);
  --skin-tag-bg:rgba(155,27,48,0.12); --skin-tag-border:1px solid rgba(155,27,48,0.4);
  --skin-tag-hot-bg:rgba(255,45,45,0.15); --skin-tag-hot-border:1px solid rgba(255,45,45,0.5);
  --skin-notch-weight:400; --skin-name-weight:700;
}
.phone-ui.skin-crimson .app-item:hover .app-icon{
  transform:translateY(-3px) scale(1.06);
  box-shadow:inset 0 1px 4px rgba(245,160,160,0.2),0 6px 18px rgba(155,27,48,0.4);
}
.phone-ui.skin-crimson .fc-num{
  background:linear-gradient(90deg,#f5a0a0,#9b1b30,#5c1018);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  text-shadow:0 0 25px rgba(155,27,48,0.3);
}
.phone-ui.skin-crimson .news-item:hover{ background:rgba(155,27,48,0.08); border-left-color:#9b1b30; }
.phone-ui.skin-crimson .news-header{
  border-bottom-color:rgba(155,27,48,0.2);
  font-style:italic; letter-spacing:4px;
}
.phone-ui.skin-crimson .follower-card{ box-shadow:inset 0 0 20px rgba(155,27,48,0.04); }

/* ──── 皮肤·翡翠墨绿 · 赛博朋克风 ──── */
.phone-ui.skin-emerald{
  --skin-bg1:#020d08; --skin-bg2:#081f14;
  --skin-gold:#00e676; --skin-gold-lite:#b9f6ca; --skin-gold-deep:#00693a;
  --skin-text:#d4f5e0; --skin-sub:#5a9a72; --skin-danger:#ff5252;
  --skin-radius:6px; --skin-radius-inner:4px; --skin-radius-card:4px;
  --skin-radius-icon:4px; --skin-radius-news:2px;
  --skin-border:1px solid rgba(0,230,118,0.4);
  --skin-shadow:0 0 30px rgba(0,230,118,0.08),0 18px 45px rgba(0,0,0,0.9),inset 0 0 1px rgba(0,230,118,0.3);
  --skin-font:"Share Tech Mono","Fira Code","Courier New",monospace;
  --skin-font-num:"Share Tech Mono","Fira Code",monospace;
  --skin-font-news:"Share Tech Mono","Fira Code",monospace;
  --skin-icon-bg:linear-gradient(145deg,#061a0f,#020d08);
  --skin-icon-border:1px solid rgba(0,230,118,0.35);
  --skin-icon-shadow:0 0 8px rgba(0,230,118,0.1),inset 0 0 3px rgba(0,230,118,0.05);
  --skin-screen-bg:linear-gradient(180deg,rgba(2,13,8,0.7),rgba(8,31,20,0.6));
  --skin-screen-border:1px solid rgba(0,230,118,0.15);
  --skin-fc-bg:linear-gradient(135deg,rgba(0,230,118,0.05),rgba(0,0,0,0.3));
  --skin-fc-border:1px solid rgba(0,230,118,0.2);
  --skin-news-bg:rgba(0,230,118,0.02);
  --skin-news-border-left:2px solid #00693a;
  --skin-news-hot-border:2px solid var(--skin-danger);
  --skin-tag-bg:rgba(0,230,118,0.08); --skin-tag-border:1px solid rgba(0,230,118,0.3);
  --skin-tag-hot-bg:rgba(255,82,82,0.1); --skin-tag-hot-border:1px solid rgba(255,82,82,0.4);
  --skin-notch-weight:400; --skin-name-weight:700;
}
.phone-ui.skin-emerald .app-item:hover .app-icon{
  transform:translateY(-2px) scale(1.04);
  box-shadow:0 0 12px rgba(0,230,118,0.25),inset 0 0 5px rgba(0,230,118,0.1);
}
.phone-ui.skin-emerald .fc-num{
  background:linear-gradient(90deg,#b9f6ca,#00e676,#00693a);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  text-shadow:0 0 20px rgba(0,230,118,0.3);
}
.phone-ui.skin-emerald .news-item:hover{ background:rgba(0,230,118,0.05); border-left-color:#00e676; }
.phone-ui.skin-emerald .news-header{
  border-bottom-color:rgba(0,230,118,0.15);
  letter-spacing:5px; text-transform:uppercase; font-size:11px;
}
.phone-ui.skin-emerald .phone-notch{
  border-bottom:1px solid rgba(0,230,118,0.1);
}
.phone-ui.skin-emerald .follower-card{ box-shadow:0 0 12px rgba(0,230,118,0.03) inset; }

/* ========================================= */
/* 9. 命运分歧点：黑金名片式行动推演（动态质感版） */
/* ========================================= */
@keyframes actAuraDrift {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
@keyframes actEmblemPulse {
    0%,100% { text-shadow: 0 0 4px rgba(198,166,100,0.4); opacity: 0.85; }
    50%     { text-shadow: 0 0 10px rgba(212,180,110,0.75); opacity: 1; }
}

.rili-actions {
    position: relative;
    margin-top: 16px;
    padding: 0 0 8px 0;
    border: 1px solid rgba(198,166,100,0.18);
    border-radius: 8px;
    box-shadow: 0 4px 22px rgba(0,0,0,0.55), inset 0 1px 0 rgba(198,166,100,0.06);
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(14,13,11,0.96), rgba(9,9,10,0.97)),
        linear-gradient(120deg, rgba(198,166,100,0.05), rgba(60,50,30,0.02), rgba(198,166,100,0.05));
    background-size: 100% 100%, 220% 220%;
    animation: actAuraDrift 14s ease-in-out infinite;
}

.rili-actions > summary {
    font-size: 11px;
    color: #b99a5b;
    letter-spacing: 4px;
    padding: 13px 18px;
    font-weight: bold;
    font-family: 'Courier New', Courier, monospace;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 10px;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(198,166,100,0.12);
}
.rili-actions > summary::-webkit-details-marker { display: none; }
.rili-actions > summary::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(198,166,100,0.35), transparent);
}
.rili-actions > summary:hover { color: #d9bd7e; }
.act-emblem {
    font-size: 15px;
    color: #d4b46e;
    animation: actEmblemPulse 3.5s ease-in-out infinite;
}

.rili-actions .act-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 12px 16px 0 16px;
    padding: 13px 15px;
    border: 1px solid rgba(198,166,100,0.15);
    border-left: 2px solid rgba(198,166,100,0.5);
    border-radius: 5px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.4);
    /* 哑光黑底 + 斜向细纹理 */
    background:
        repeating-linear-gradient(45deg, rgba(255,255,255,0.012) 0px, rgba(255,255,255,0.012) 1px, transparent 1px, transparent 5px),
        linear-gradient(135deg, rgba(28,26,21,0.92), rgba(15,14,13,0.92));
    transition: transform 0.25s cubic-bezier(.2,.8,.2,1), box-shadow 0.25s ease, border-color 0.25s ease;
}
/* 烫金流光扫过 */
.rili-actions .act-item::before {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 65%; height: 100%;
    background: linear-gradient(100deg, transparent, rgba(232,207,142,0.14), transparent);
    transition: left 0.65s ease;
    pointer-events: none;
}
.rili-actions .act-item:hover::before { left: 135%; }
.rili-actions .act-item:hover {
    transform: translateY(-2px);
    border-color: rgba(212,180,110,0.55);
    border-left-color: #d4b46e;
    box-shadow: 0 7px 20px rgba(0,0,0,0.6), 0 0 14px rgba(198,166,100,0.14);
}
/* 按下瞬间：陷下去，触感落地 */
.rili-actions .act-item:active {
    transform: translateY(0) scale(0.994);
    box-shadow: 0 1px 5px rgba(0,0,0,0.5), inset 0 0 12px rgba(198,166,100,0.1);
    border-left-color: #e8c877;
}

.rili-actions .act-text {
    flex: 1;
    font-size: 13px;
    line-height: 1.7;
    color: #a8a29a;
    position: relative;
    z-index: 1;
    transition: color 0.25s ease;
}
.rili-actions .act-item:hover .act-text { color: #ede6d6; }

.rili-actions .act-arrow {
    flex-shrink: 0;
    font-size: 20px;
    line-height: 1;
    color: rgba(198,166,100,0.4);
    font-family: 'Times New Roman', serif;
    position: relative;
    z-index: 1;
    transition: color 0.25s ease, transform 0.25s ease;
}
.rili-actions .act-item:hover .act-arrow { color: #d4b46e; transform: translateX(5px); }
.rili-actions .act-item:active .act-arrow { transform: translateX(9px); color: #e8c877; }

.rili-actions .act-tag {
    font-size: 10px;
    padding: 3px 8px;
    border-radius: 3px;
    flex-shrink: 0;
    border: 1px solid;
    font-weight: bold;
    letter-spacing: 1.5px;
    font-family: 'Courier New', Courier, monospace;
    position: relative;
    z-index: 1;
    transition: box-shadow 0.25s ease;
}
.rili-actions .act-tag.normal  { color:#7fd8c0; border-color:rgba(127,216,192,0.3); background:rgba(127,216,192,0.05); }
.rili-actions .act-tag.retreat { color:#d8ab6e; border-color:rgba(216,171,110,0.3); background:rgba(216,171,110,0.05); }
.rili-actions .act-tag.risk    { color:#e08585; border-color:rgba(224,133,133,0.35); background:rgba(224,133,133,0.07); }
.rili-actions .act-tag.skip    { color:#8fb4dd; border-color:rgba(143,180,221,0.3); background:rgba(143,180,221,0.05); }
.rili-actions .act-item:hover .act-tag.normal  { box-shadow:0 0 8px rgba(127,216,192,0.35); }
.rili-actions .act-item:hover .act-tag.retreat { box-shadow:0 0 8px rgba(216,171,110,0.35); }
.rili-actions .act-item:hover .act-tag.risk    { box-shadow:0 0 8px rgba(224,133,133,0.4); }
.rili-actions .act-item:hover .act-tag.skip    { box-shadow:0 0 8px rgba(143,180,221,0.35); }

/* ========================================= */
/* 10. 奖项ui                                 */
/* ========================================= */
.award-hall{
  max-width:100%;
  margin:14px 0;
  border:1px solid rgba(212,175,55,.35);
  border-radius:14px;
  background:linear-gradient(145deg,#12100a 0%,#1c1810 55%,#0d0b06 100%);
  box-shadow:0 6px 22px rgba(0,0,0,.55),inset 0 1px 0 rgba(212,175,55,.15);
  overflow:hidden;
  font-family:"Georgia","Songti SC",serif;
}
.award-hall-top{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 16px;
  cursor:pointer;
  list-style:none;
  background:linear-gradient(90deg,rgba(212,175,55,.14),rgba(212,175,55,0));
  border-bottom:1px solid rgba(212,175,55,.22);
  user-select:none;
  transition:background .35s ease;
}
.award-hall-top:hover{
  background:linear-gradient(90deg,rgba(212,175,55,.26),rgba(212,175,55,.04));
}
.award-hall-top::-webkit-details-marker{display:none;}
.award-hall-top::marker{content:"";}
.ah-icon{
  font-size:20px;
  filter:drop-shadow(0 0 5px rgba(212,175,55,.7));
  animation:ahGlow 2.6s ease-in-out infinite;
}
.ah-title{
  flex:1;
  font-size:16px;
  font-weight:700;
  letter-spacing:1px;
  color:#e9d9a0;
  text-shadow:0 0 8px rgba(212,175,55,.35);
}
.ah-count{
  font-size:12px;
  color:#c9a94a;
  padding:2px 10px;
  border:1px solid rgba(212,175,55,.4);
  border-radius:20px;
  background:rgba(212,175,55,.08);
  white-space:nowrap;
}
.award-grid{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px 14px 6px;
}
.award-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 13px;
  border-radius:11px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(212,175,55,.18);
  border-left:3px solid #d4af37;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.award-card:hover{
  transform:translateX(4px);
  box-shadow:0 4px 16px rgba(212,175,55,.18);
  border-color:rgba(212,175,55,.5);
}
.ac-medal{
  font-size:26px;
  flex-shrink:0;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));
}
.ac-body{flex:1;min-width:0;}
.ac-name{
  font-size:15px;
  font-weight:700;
  color:#f0e4b8;
  margin-bottom:2px;
}
.ac-tier{
  display:inline-block;
  font-size:11px;
  color:#0d0b06;
  background:linear-gradient(90deg,#e6c65c,#b8912f);
  padding:1px 8px;
  border-radius:10px;
  margin-bottom:4px;
  font-weight:700;
}
.ac-info{
  font-size:12.5px;
  color:#a89a72;
  line-height:1.5;
}
.award-foot{
  text-align:center;
  padding:8px 0 12px;
  font-size:11px;
  letter-spacing:2px;
  color:#8a7a45;
  opacity:.75;
}
.ah-tier-god .ac-medal{filter:drop-shadow(0 0 6px rgba(255,215,0,.6));}
.ah-tier-god{border-left-color:#ffd700;box-shadow:inset 0 0 18px rgba(255,215,0,.08);}
.ah-tier-pro{border-left-color:#c0c0c0;}
.ah-tier-pop{border-left-color:#cd7f32;}
.ah-tier-niche{border-left-color:#6f8faf;}
@keyframes ahGlow{
  0%,100%{filter:drop-shadow(0 0 4px rgba(212,175,55,.5));}
  50%{filter:drop-shadow(0 0 10px rgba(212,175,55,.95));}
}
@media(max-width:480px){
  .award-hall-top{padding:11px 13px;}
  .ah-title{font-size:14px;}
  .ah-count{font-size:11px;padding:2px 8px;}
  .ac-medal{font-size:22px;}
  .ac-name{font-size:14px;}
  .ac-info{font-size:12px;}
}

/* ========================================= */
/* 11. 双重记忆核心：Token极限压缩版专属UI */
/* ========================================= */
.mem-sys {
  border: 1px solid #3a2e33;
  border-radius: 10px;
  background: linear-gradient(160deg, #14141a 0%, #1c151a 100%);
  padding: 6px 10px;
  margin: 8px 0;
  font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
  overflow: hidden;
}

.mem-sys > summary {
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #d8c3c9;
  padding: 4px 2px;
  list-style: none;
  transition: color .3s ease;
}
.mem-sys > summary:hover { color: #ff6b81; }
.mem-sys > summary::-webkit-details-marker { display: none; }

.mem-sys .mem-block {
  border-radius: 8px;
  padding: 8px 10px;
  margin: 8px 0;
}

.mem-sys .mem-short {
  background: rgba(120, 160, 200, 0.06);
  border-left: 3px solid #5c8bb0;
}

/* 古早回忆：封存感，暖黄褪色调 */
.mem-sys .mem-ancient {
  background: rgba(160, 120, 60, 0.07);
  border-left: 3px solid #8a6a30;
}

.mem-sys .mem-long {
  background: rgba(150, 40, 55, 0.09);
  border-left: 3px solid #a83244;
}

.mem-sys .mem-title {
  font-size: 13.5px;
  font-weight: 700;
  margin: 0 0 6px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px;
}
.mem-sys .mem-short .mem-title  { color: #9fc3e0; }
.mem-sys .mem-ancient .mem-title { color: #c8a870; }
.mem-sys .mem-long .mem-title   { color: #e08795; }

.mem-sys .mem-cap {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .5px;
  opacity: .7;
  padding: 1px 8px;
  border-radius: 10px;
  background: rgba(255,255,255,0.06);
}

.mem-sys .mem-content { margin: 0; }

.mem-sys .mem-entry {
  font-size: 12.5px;
  line-height: 1.7;
  color: #c7bcc0;
  margin: 0 0 8px 0;
  padding: 6px 8px 6px 12px;
  position: relative;
  border-radius: 5px;
  background: rgba(0,0,0,0.18);
  transition: background .3s ease, transform .3s ease;
}
.mem-sys .mem-entry:last-child { margin-bottom: 0; }
.mem-sys .mem-entry:hover {
  background: rgba(0,0,0,0.30);
  transform: translateX(2px);
}
.mem-sys .mem-entry::before {
  content: "";
  position: absolute;
  left: 4px; top: 12px;
  width: 4px; height: 4px;
  border-radius: 50%;
  background: currentColor;
  opacity: .5;
}
.mem-sys .mem-short .mem-entry   { color: #b8c8d6; }
.mem-sys .mem-ancient .mem-entry { color: #c8b89a; }
.mem-sys .mem-long .mem-entry    { color: #d3b8bc; }

/* 古早回忆条目：额外的封存感边框 */
.mem-sys .ancient-entry {
  border: 1px solid rgba(138, 106, 48, 0.20);
  background: rgba(0,0,0,0.24);
}
.mem-sys .ancient-entry::before {
  background: #8a6a30;
  opacity: .6;
}

/* ========================================= */
/* 附加：角色档案系统 · 做旧牛皮纸档案 */
/* ========================================= */
.dossier-wrap {
    margin: 8px 0;
}
.dossier-card {
    margin: 6px 0;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='4' height='4' fill='%23b8960a' opacity='0.03'/%3E%3Ccircle cx='1' cy='1' r='0.8' fill='%23000' opacity='0.04'/%3E%3C/svg%3E"),
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 27px,
            rgba(0,0,0,0.07) 27px,
            rgba(0,0,0,0.07) 28px
        ),
        linear-gradient(
            155deg,
            #c9a84c 0%,
            #b8922e 20%,
            #c4a040 45%,
            #a87c20 65%,
            #bc9835 85%,
            #a07018 100%
        );
    border: 2.5px solid #2a1f00;
    border-radius: 2px;
    box-shadow:
        3px 3px 0 #1a1200,
        6px 6px 0 rgba(20,12,0,0.2),
        inset 0 0 40px rgba(80,40,0,0.15),
        inset 0 0 3px rgba(0,0,0,0.1);
    overflow: visible;
    position: relative;
}
.dc-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px 10px 16px;
    cursor: pointer;
    list-style: none;
    border-bottom: 2px solid #2a1f00;
    background: rgba(0,0,0,0.1);
    position: relative;
}
.dc-header::-webkit-details-marker {
    display: none;
}
.dc-header:hover {
    background: rgba(0,0,0,0.15);
}
.dc-stamp {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%) rotate(-12deg);
    font-size: 16px;
    font-weight: 900;
    color: rgba(140,10,10,0.7);
    border: 3px solid rgba(140,10,10,0.65);
    border-radius: 3px;
    padding: 3px 8px;
    letter-spacing: 5px;
    font-family: 'Georgia', serif;
    text-shadow:
        1px 1px 0 rgba(140,10,10,0.25),
        0 0 8px rgba(140,10,10,0.1);
    box-shadow:
        inset 0 0 8px rgba(140,10,10,0.1),
        0 0 0 1px rgba(140,10,10,0.15);
    pointer-events: none;
    white-space: nowrap;
    filter: url(#roughen);
}
.dc-title {
    font-size: 9px;
    color: #4a3208;
    letter-spacing: 3.5px;
    font-family: 'Georgia', serif;
    font-weight: bold;
    text-transform: uppercase;
    border: 1px solid rgba(0,0,0,0.25);
    padding: 2px 7px;
    border-radius: 1px;
    background: rgba(0,0,0,0.07);
    text-shadow: 0 1px 0 rgba(255,220,100,0.2);
}
.dc-name {
    font-size: 17px;
    color: #1a1000;
    font-weight: 900;
    letter-spacing: 3px;
    font-family: 'Georgia', serif;
    text-shadow:
        1px 1px 0 rgba(255,200,50,0.15),
        0 0 1px rgba(0,0,0,0.3);
}
.dc-body {
    padding: 14px 16px 12px 16px;
}
.dc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border: 1.5px solid #2a1f00;
    border-radius: 1px;
    overflow: hidden;
    box-shadow: inset 0 0 6px rgba(0,0,0,0.08);
}
.dc-cell {
    padding: 7px 10px;
    border-right: 1px solid rgba(42,31,0,0.35);
    border-bottom: 1px solid rgba(42,31,0,0.35);
    background: rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.dc-cell:nth-child(even) {
    border-right: none;
    background: rgba(0,0,0,0.09);
}
.dc-cell-wide {
    grid-column: span 2;
    border-right: none;
}
.dc-cell:last-child,
.dc-cell-wide:last-child {
    border-bottom: none;
}
.dc-lbl {
    font-size: 9px;
    color: #6a4a08;
    font-weight: bold;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-family: 'Georgia', serif;
    text-shadow: 0 1px 0 rgba(255,200,50,0.15);
}
.dc-val {
    font-size: 12.5px;
    color: #1c1400;
    line-height: 1.45;
    font-family: 'Georgia', serif;
    font-weight: 500;
    text-shadow: 0 1px 0 rgba(255,200,80,0.1);
}
.dc-divider {
    height: 2px;
    margin: 12px 0 10px 0;
    background: repeating-linear-gradient(
        90deg,
        rgba(42,31,0,0.4) 0px,
        rgba(42,31,0,0.4) 5px,
        transparent 5px,
        transparent 9px
    );
}
.dc-events-title {
    font-size: 10.5px;
    color: #2a1a00;
    font-weight: 900;
    letter-spacing: 2.5px;
    margin: 0 0 8px 0;
    padding-bottom: 5px;
    border-bottom: 1.5px solid rgba(42,31,0,0.3);
    font-family: 'Georgia', serif;
    text-transform: uppercase;
    text-shadow: 0 1px 0 rgba(255,200,50,0.12);
}
.dc-events {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1.5px solid rgba(42,31,0,0.25);
    border-radius: 1px;
    overflow: hidden;
}
.dc-evt {
    display: flex;
    align-items: baseline;
    gap: 0;
    padding: 6px 10px;
    margin: 0;
    border-bottom: 1px solid rgba(42,31,0,0.12);
    background: rgba(0,0,0,0.04);
    transition: background 0.15s;
}
.dc-evt:last-child {
    border-bottom: none;
}
.dc-evt:nth-child(even) {
    background: rgba(0,0,0,0.08);
}
.dc-evt:hover {
    background: rgba(0,0,0,0.12);
}
.dc-enum {
    flex: 0 0 26px;
    font-size: 11px;
    color: #8a0808;
    font-weight: 900;
    font-family: 'Georgia', serif;
    text-shadow: 0 1px 0 rgba(255,180,100,0.1);
}
.dc-date {
    flex: 0 0 86px;
    font-size: 10px;
    color: #6a4a08;
    font-family: 'Georgia', serif;
    border-right: 1px solid rgba(42,31,0,0.2);
    margin-right: 10px;
    padding-right: 8px;
    letter-spacing: 0.5px;
}
.dc-desc {
    font-size: 12px;
    color: #1c1400;
    line-height: 1.5;
    font-family: 'Georgia', serif;
}
.dc-footer {
    margin: 10px 0 0 0;
    font-size: 9px;
    color: rgba(42,31,0,0.4);
    font-family: 'Georgia', serif;
    letter-spacing: 1px;
    text-align: right;
    padding-top: 6px;
    border-top: 1px solid rgba(42,31,0,0.15);
    font-style: italic;
}
.dossier-tip {
    margin: 4px 0 0 0;
    padding: 6px 12px;
    font-size: 10px;
    color: rgba(42,31,0,0.4);
    text-align: center;
    letter-spacing: 0.5px;
    font-family: 'Georgia', serif;
    font-style: italic;
}

/* ===== 附加：真相碎片面板 ===== */

.truth-panel {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a0000 100%);
  border: 1px solid #3d0000;
  border-left: 3px solid #8b0000;
  border-radius: 4px;
  padding: 12px 16px;
  margin: 12px 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 12px rgba(139, 0, 0, 0.15), inset 0 0 30px rgba(0, 0, 0, 0.5);
}

.truth-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #8b0000, transparent);
  animation: truth-scan 4s ease-in-out infinite;
}

@keyframes truth-scan {
  0%, 100% { opacity: 0.3; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(100px); }
}

.truth-panel::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(ellipse at center, rgba(139, 0, 0, 0.03) 0%, transparent 70%);
  animation: truth-pulse 6s ease-in-out infinite;
  pointer-events: none;
}

@keyframes truth-pulse {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}

.truth-panel > summary {
  color: #c4c4c4;
  font-family: monospace;
  font-size: 14px;
  letter-spacing: 1.5px;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
}

.truth-panel > summary::-webkit-details-marker {
  display: none;
}

.truth-panel > summary .truth-icon {
  font-size: 16px;
  filter: drop-shadow(0 0 3px rgba(139, 0, 0, 0.6));
}

.truth-panel > summary::after {
  content: "▶";
  font-size: 10px;
  color: #8b0000;
  margin-left: auto;
  transition: transform 0.3s ease;
}

.truth-panel[open] > summary::after {
  transform: rotate(90deg);
}

.truth-panel > p {
  color: #d4d4d4;
  font-size: 13px;
  line-height: 1.8;
  margin: 6px 0 6px 20px;
  padding-left: 12px;
  border-left: 2px solid #5c0000;
  position: relative;
  animation: truth-reveal 0.5s ease-out forwards;
  opacity: 0;
}

.truth-panel > p:nth-of-type(1) { animation-delay: 0.1s; }
.truth-panel > p:nth-of-type(2) { animation-delay: 0.2s; }
.truth-panel > p:nth-of-type(3) { animation-delay: 0.3s; }
.truth-panel > p:nth-of-type(4) { animation-delay: 0.4s; }
.truth-panel > p:nth-of-type(5) { animation-delay: 0.5s; }

@keyframes truth-reveal {
  from { opacity: 0; transform: translateX(-8px); }
  to { opacity: 1; transform: translateX(0); }
}

.truth-panel > p::before {
  content: "";
  position: absolute;
  left: -2px;
  top: 0;
  width: 2px;
  height: 100%;
  background: #8b0000;
  box-shadow: 0 0 6px rgba(139, 0, 0, 0.8);
  animation: truth-drip 3s ease-in-out infinite;
}

@keyframes truth-drip {
  0%, 100% { box-shadow: 0 0 4px rgba(139, 0, 0, 0.4); }
  50% { box-shadow: 0 0 10px rgba(139, 0, 0, 1), 0 4px 8px rgba(80, 0, 0, 0.6); }
}

/* ========================================= */
/* 附加.米莱娜格式修复碎碎念 */
/* ========================================= */
.milena-fix {
  color: #e8a0b0;
  font-size: 12px;
  font-style: italic;
  text-align: center;
  padding: 8px 16px;
  margin: 6px 0 10px;
  letter-spacing: 0.5px;
  opacity: 0.88;
  text-shadow: 0 0 8px rgba(232,160,176,0.2);
  position: relative;
}
.milena-fix::before {
  content: "───── ";
  color: rgba(232,160,176,0.3);
  font-style: normal;
}
.milena-fix::after {
  content: " ─────";
  color: rgba(232,160,176,0.3);
  font-style: normal;
}

/* ============================================
   全局动画 Keyframes
   ============================================ */
@keyframes noiseDrift {
  0%   { background-position: 0% 0%, 0% 0%, 0% 0%, 0% 0%; }
  100% { background-position: 80% 60%, 0% 0%, 0% 0%, 0% 0%; }
}

@keyframes luxGlow {
  0%, 100% { opacity: 0.45; }
  50%      { opacity: 0.9; }
}

@keyframes goldPulse {
  0%, 100% {
    transform: scale(0.5) translateY(0) !important;
    background-color: rgba(200, 150, 30, 0.2) !important;
    box-shadow: 0 0 0 transparent !important;
  }
  50% {
    transform: scale(1.3) translateY(-4px) !important;
    background-color: #ffd700 !important;
    box-shadow: 
      0 0 8px rgba(255, 215, 0, 0.8),
      0 0 16px rgba(200, 150, 30, 0.6) !important;
  }
}

/* ============================================
   输入区 & 工具栏
   ============================================ */
#prompt-input {
  background:
    repeating-linear-gradient(
      92deg,
      transparent 0px, transparent 3px,
      rgba(0,0,0,0.04) 3px, rgba(0,0,0,0.04) 4px
    ),
    linear-gradient(160deg, #1c1410 0%, #140e0a 100%) !important;
  border: 1px solid rgba(90,50,25,0.6) !important;
  border-top-color: rgba(160,100,50,0.35) !important;
  border-radius: 10px !important;
  box-shadow:
    0 -4px 24px rgba(0,0,0,0.45),
    0 -1px 0 rgba(0,0,0,0.6),
    inset 0 1px 0 rgba(200,150,80,0.07),
    inset 0 -1px 0 rgba(0,0,0,0.4) !important;
  transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
  position: relative !important;
}
#prompt-input:focus-within {
  border-color: rgba(160,110,45,0.7) !important;
  border-top-color: rgba(200,150,70,0.45) !important;
  box-shadow:
    0 -4px 28px rgba(0,0,0,0.5),
    0 -1px 0 rgba(0,0,0,0.6),
    inset 0 1px 0 rgba(220,165,85,0.1),
    0 0 0 1px rgba(140,90,30,0.15),
    0 0 20px rgba(160,100,30,0.08) !important;
  overflow-x: hidden !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

textarea[name="message"] {
  background: transparent !important;
  color: #ede0c8 !important;
  caret-color: #d4a060 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  letter-spacing: 0.2px !important;
  transition: color 0.2s ease !important;
}
textarea[name="message"]::placeholder {
  color: rgba(160,115,60,0.3) !important;
  font-style: italic !important;
  letter-spacing: 0.3px !important;
}
textarea[name="message"]:focus::placeholder {
  color: rgba(160,115,60,0.18) !important;
  transition: color 0.3s ease !important;
}

#prompt-input-header {
  border-bottom: 1px solid rgba(80,45,18,0.35) !important;
  background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.08) 100%) !important;
}

#prompt-input-header button[class*="rounded-full"] {
  background: linear-gradient(145deg, #1e1b14 0%, #100e0a 100%) !important;
  border: 1px solid rgba(85,60,30,0.5) !important;
  border-top-color: rgba(130,95,45,0.3) !important;
  color: #9a7850 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,200,100,0.04),
    0 1px 3px rgba(0,0,0,0.4) !important;
  transition: all 0.25s ease !important;
  position: relative !important;
  overflow: hidden !important;
}
#prompt-input-header button[class*="rounded-full"]::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 60% !important; height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(200,155,70,0.06), transparent) !important;
  transition: left 0.4s ease !important;
}
#prompt-input-header button[class*="rounded-full"]:hover::before {
  left: 150% !important;
}
#prompt-input-header button[class*="rounded-full"]:hover {
  border-color: rgba(190,140,60,0.55) !important;
  border-top-color: rgba(220,170,80,0.4) !important;
  color: #d4a060 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,200,100,0.08),
    0 1px 6px rgba(0,0,0,0.45),
    0 0 10px rgba(180,125,40,0.1) !important;
  transform: translateY(-1px) !important;
}
#prompt-input-header button[class*="rounded-full"]:active {
  transform: translateY(0px) !important;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.3) !important;
}

#prompt-input-header button[class*="rounded-md"] {
  background: linear-gradient(145deg, #1a1710 0%, #0e0c08 100%) !important;
  border: 1px solid rgba(80,55,25,0.45) !important;
  color: #7a6040 !important;
  box-shadow: inset 0 1px 0 rgba(200,150,70,0.03), 0 1px 2px rgba(0,0,0,0.35) !important;
  transition: all 0.2s ease !important;
}
#prompt-input-header button[class*="rounded-md"]:hover {
  border-color: rgba(170,120,48,0.5) !important;
  color: #b88840 !important;
  box-shadow:
    inset 0 1px 0 rgba(200,150,70,0.06),
    0 0 8px rgba(160,110,35,0.1) !important;
  transform: translateY(-1px) !important;
}

#prompt-input-footer {
  border-top: 1px solid rgba(80,45,18,0.2) !important;
  background: linear-gradient(180deg, rgba(0,0,0,0.06) 0%, rgba(0,0,0,0.15) 100%) !important;
}

#prompt-input-footer button:not([type="submit"]) {
  background: linear-gradient(145deg, #1a1510, #100d08) !important;
  border: 1px solid rgba(75,52,24,0.4) !important;
  color: #7a6040 !important;
  box-shadow: inset 0 1px 0 rgba(200,150,70,0.03), 0 1px 2px rgba(0,0,0,0.3) !important;
  transition: all 0.22s ease !important;
}
#prompt-input-footer button:not([type="submit"]):hover {
  border-color: rgba(160,112,42,0.45) !important;
  color: #b08035 !important;
  transform: translateY(-1px) !important;
  box-shadow:
    inset 0 1px 0 rgba(200,150,70,0.05),
    0 0 8px rgba(150,100,28,0.1) !important;
}

#prompt-input-footer button[type="submit"] {
  background: linear-gradient(145deg, #9a6225 0%, #6a3e0e 100%) !important;
  border: 1px solid rgba(180,120,45,0.45) !important;
  border-top-color: rgba(220,160,70,0.35) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,210,120,0.12),
    inset 0 -1px 0 rgba(0,0,0,0.35),
    0 2px 8px rgba(140,80,15,0.3),
    0 4px 16px rgba(100,55,8,0.2) !important;
  transition: all 0.25s ease !important;
  position: relative !important;
  overflow: hidden !important;
}
#prompt-input-footer button[type="submit"]::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 50% !important;
  background: linear-gradient(180deg, rgba(255,220,130,0.08) 0%, transparent 100%) !important;
  border-radius: inherit !important;
  pointer-events: none !important;
}
#prompt-input-footer button[type="submit"]:hover {
  background: linear-gradient(145deg, #b0722c 0%, #7a4a14 100%) !important;
  border-color: rgba(210,150,60,0.55) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,215,130,0.16),
    inset 0 -1px 0 rgba(0,0,0,0.35),
    0 3px 12px rgba(160,95,18,0.4),
    0 6px 22px rgba(120,65,8,0.25),
    0 0 0 1px rgba(180,120,40,0.1) !important;
  transform: translateY(-1px) !important;
}
#prompt-input-footer button[type="submit"]:active {
  transform: translateY(1px) !important;
  box-shadow:
    inset 0 2px 6px rgba(0,0,0,0.35),
    0 1px 4px rgba(140,80,15,0.2) !important;
}

#prompt-input-header .overflow-x-auto::-webkit-scrollbar {
  height: 4px !important;
}
#prompt-input-header .overflow-x-auto::-webkit-scrollbar-track {
  background: rgba(20,14,10,0.6) !important;
  border-radius: 2px !important;
}
#prompt-input-header .overflow-x-auto::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, #5a3a18, #8a5a28, #5a3a18) !important;
  border-radius: 2px !important;
  border: none !important;
  box-shadow: inset 0 0 4px rgba(200,140,50,0.15) !important;
}
#prompt-input-header .overflow-x-auto::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(90deg, #6a4520, #a06830, #6a4520) !important;
  box-shadow: inset 0 0 6px rgba(200,140,50,0.25), 0 0 4px rgba(160,100,30,0.15) !important;
}

/* ============================================
   气泡与导航美化
   ============================================ */
.is-assistant .bg-card,
[class*="is-assistant"] [class*="bg-card"] {
  background:
    repeating-linear-gradient(
      175deg,
      transparent 0px, transparent 2px,
      rgba(0,0,0,0.02) 2px, rgba(0,0,0,0.02) 3px
    ),
    linear-gradient(165deg, #1e1812 0%, #14100a 40%, #0f0b07 100%) !important;
  border: 1px solid rgba(100,60,25,0.35) !important;
  border-top-color: rgba(160,110,50,0.2) !important;
  border-radius: 12px !important;
  box-shadow:
    0 4px 20px rgba(0,0,0,0.4),
    0 1px 0 rgba(0,0,0,0.5),
    inset 0 1px 0 rgba(200,150,75,0.05),
    inset 0 -1px 0 rgba(0,0,0,0.3) !important;
  padding: 16px 18px !important;
  transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
}

@media (max-width: 640px) {
  .is-assistant .bg-card,
  [class*="is-assistant"] [class*="bg-card"] {
    padding: 12px 14px !important;
    border-radius: 10px !important;
  }
}

.is-assistant .bg-card:hover,
[class*="is-assistant"] [class*="bg-card"]:hover {
  border-color: rgba(140,90,35,0.4) !important;
  border-top-color: rgba(180,130,60,0.25) !important;
  box-shadow:
    0 6px 28px rgba(0,0,0,0.45),
    0 1px 0 rgba(0,0,0,0.5),
    inset 0 1px 0 rgba(200,150,75,0.07),
    0 0 12px rgba(140,90,30,0.06) !important;
}

.group-\[\.is-assistant\] .flex.items-center.justify-center.size-6 .flex.gap-2 span {
  animation: goldPulse 1.2s infinite ease-in-out !important;
  transform: none !important; 
  background-color: transparent !important;
}
.group-\[\.is-assistant\] .flex.gap-2 span:nth-child(1) { animation-delay: 0s !important; }
.group-\[\.is-assistant\] .flex.gap-2 span:nth-child(2) { animation-delay: 0.2s !important; }
.group-\[\.is-assistant\] .flex.gap-2 span:nth-child(3) { animation-delay: 0.4s !important; }

.is-user .bg-secondary,
[class*="is-user"] [class*="bg-secondary"] {
  background: linear-gradient(145deg, #2a1e14 0%, #1e1510 100%) !important;
  border: 1px solid rgba(130,80,35,0.4) !important;
  border-top-color: rgba(180,120,55,0.25) !important;
  border-radius: 12px !important;
  box-shadow:
    0 3px 14px rgba(0,0,0,0.35),
    inset 0 1px 0 rgba(220,170,90,0.06),
    inset 0 -1px 0 rgba(0,0,0,0.25) !important;
}

.is-user .bg-secondary p,
[class*="is-user"] [class*="bg-secondary"] p,
[class*="is-user"] [style*="color: rgb(0, 0, 0)"] {
  color: #f0e6d4 !important;
}

.is-assistant .bg-muted,
.is-user .bg-muted {
  background: #0e0b08 !important;
  border-radius: 6px !important;
  border: 1px solid rgba(90,65,25,0.35) !important;
  flex-wrap: wrap !important;
  gap: 2px !important;
  box-shadow: none !important;
}
.is-assistant .bg-muted button,
.is-user .bg-muted button {
  flex-shrink: 0 !important;
  color: rgba(160,115,45,0.6) !important;
}
.is-assistant .bg-muted button:hover,
.is-user .bg-muted button:hover {
  background: rgba(100,70,30,0.15) !important;
  color: #c8a050 !important;
}
.is-assistant + div .text-muted-foreground {
  color: rgba(160,120,65,0.5) !important;
}

header {
  background: linear-gradient(180deg, #1a1410 0%, #14100a 100%) !important;
  border-bottom: 1px solid rgba(100,60,25,0.4) !important;
  box-shadow:
    0 2px 12px rgba(0,0,0,0.4),
    inset 0 -1px 0 rgba(0,0,0,0.5),
    inset 0 1px 0 rgba(200,150,75,0.04) !important;
}
header button {
  color: #8a6840 !important;
  transition: all 0.2s ease !important;
}
header button:hover {
  background: rgba(100,70,30,0.15) !important;
  color: #c8a060 !important;
}
header svg {
  stroke: currentColor !important;
}

/* ============================================
   聊天区 · 噪声丝绒底（无残影版）
   ============================================ */
#conversation {
  position: relative !important;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E"),
    radial-gradient(ellipse 120% 65% at 50% 0%, rgba(255,210,80,0.18) 0%, transparent 55%),
    radial-gradient(ellipse 80% 45% at 50% 100%, rgba(200,150,30,0.10) 0%, transparent 52%),
    linear-gradient(180deg, #0e0c08 0%, #080600 50%, #050400 100%) !important;
  background-size: 300px 300px, 100% 100%, 100% 100%, 100% 100% !important;
  border: none !important;
  outline: none !important;
  box-shadow:
    inset 0 0 70px rgba(0,0,0,0.65),
    0 0 16px rgba(200,155,20,0.08) !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  animation: noiseDrift 40s linear infinite !important;
}

/* 边框改用 outline 实现静态金边，不触发滚动重绘 */
#conversation::before {
  content: "" !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  border: 2px solid rgba(160,124,16,0.6) !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* 顶部金晕呼吸 */
#conversation::after {
  content: "" !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 42% !important;
  background: radial-gradient(ellipse 110% 100% at 50% 0%,
    rgba(255,210,0,0.20) 0%,
    rgba(200,155,0,0.07) 45%,
    transparent 70%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
  animation: luxGlow 6s ease-in-out infinite !important;
}

#conversation > * {
  position: relative !important;
  z-index: 1 !important;
}

/* ============================================
   输入容器底部托底（彻底无残影版）
   ============================================ */
.relative.z-50:has(#prompt-input) {
  background: linear-gradient(180deg, #0a0800 0%, #050400 100%) !important;
  border-top: none !important;
  border-image: none !important;
  box-shadow:
    0 -4px 24px rgba(0,0,0,0.8),
    0 -1px 0 rgba(160,124,16,0.5) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
}

.relative.z-50:has(#prompt-input) > .max-w-2xl {
  background: linear-gradient(160deg, rgba(18,14,4,0.7) 0%, rgba(8,6,2,0.7) 100%) !important;
  border: 1px solid rgba(212,160,0,0.45) !important;
  border-radius: 14px !important;
  padding: 8px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,215,0,0.1),
    0 2px 16px rgba(0,0,0,0.7),
    0 0 22px rgba(255,200,0,0.1) !important;
}

/* ============================================
   AI 思考动画 · 黑金卡 + 中心金点脉冲
   ============================================ */
@keyframes goldDot {
  0%, 100% {
    transform: scale(0.7) !important;
    background-color: rgba(160,124,16,0.4) !important;
    box-shadow: 0 0 0 rgba(255,215,0,0) !important;
  }
  50% {
    transform: scale(1.3) !important;
    background-color: #ffd700 !important;
    box-shadow: 0 0 8px rgba(255,215,0,0.7), 0 0 16px rgba(200,150,0,0.3) !important;
  }
}

@keyframes cardFloat {
  0%, 100% {
    transform: translateY(0px) !important;
  }
  50% {
    transform: translateY(-3px) !important;
  }
}

/* 解除尺寸和透明度压制 */
.opacity-50:has(.flex.gap-2 > span.rounded-full) {
  opacity: 1 !important;
}

.size-6:has(.flex.gap-2 > span.rounded-full) {
  opacity: 1 !important;
  overflow: visible !important;
  width: 120px !important;
  height: 72px !important;
  max-width: none !important;
  max-height: none !important;
}

.space-y-3:has(.flex.gap-2 > span.rounded-full) {
  overflow: visible !important;
  padding: 12px 0 !important;
}

/* 卡片主体 */
.flex.gap-2:has(> span.rounded-full[style*="translateY"]) {
  position: relative !important;
  width: 120px !important;
  height: 72px !important;
  min-width: 120px !important;
  min-height: 72px !important;
  border-radius: 8px !important;
  background: linear-gradient(165deg, #1c1814 0%, #0c0a06 50%, #161310 100%) !important;
  border: 1.5px solid rgba(160,124,16,0.55) !important;
  border-top-color: rgba(210,170,60,0.45) !important;
  box-shadow:
    0 6px 20px rgba(0,0,0,0.7),
    0 2px 6px rgba(0,0,0,0.5),
    inset 0 1px 0 rgba(255,215,0,0.12),
    inset 0 -1px 0 rgba(0,0,0,0.5),
    0 0 12px rgba(160,124,16,0.12),
    0 1px 0 rgba(160,124,16,0.3) !important;
  overflow: visible !important;
  animation: cardFloat 3s ease-in-out infinite !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

/* 三个金点居中显示 */
.flex.gap-2 > span.rounded-full[style*="translateY"] {
  position: relative !important;
  width: 8px !important;
  height: 8px !important;
  opacity: 1 !important;
  border-radius: 50% !important;
  background-color: rgba(160,124,16,0.4) !important;
  animation: goldDot 1.6s ease-in-out infinite !important;
  transform: none !important;
  pointer-events: none !important;
}

.flex.gap-2 > span.rounded-full[style*="translateY"]:nth-child(1) {
  animation-delay: 0s !important;
}

.flex.gap-2 > span.rounded-full[style*="translateY"]:nth-child(2) {
  animation-delay: 0.3s !important;
}

.flex.gap-2 > span.rounded-full[style*="translateY"]:nth-child(3) {
  animation-delay: 0.6s !important;
}