/* =========================================================
   《临界都市》完整界面 CSS V2.0
   科幻终端 × 韩漫角色卡 × 超级英雄档案
   使用方法：删除原有全部CSS，只粘贴这一份
   ========================================================= */

/* =========================================================
   01. 全局变量
   ========================================================= */

:root {
  --fy-bg-0: #050816;
  --fy-bg-1: #091023;
  --fy-bg-2: #101a34;
  --fy-bg-3: #172443;
  --fy-bg-4: #22345c;

  --fy-panel:
    rgba(10, 17, 36, 0.97);

  --fy-panel-light:
    rgba(24, 36, 66, 0.94);

  --fy-card:
    rgba(20, 31, 58, 0.95);

  --fy-card-light:
    rgba(35, 50, 87, 0.72);

  --fy-white: #ffffff;
  --fy-text: #f3f7ff;
  --fy-text-main: #e9f1ff;
  --fy-text-soft: #c1cee2;
  --fy-text-muted: #94a7c5;

  --fy-cyan: #63f6ee;
  --fy-blue: #69d7ff;
  --fy-blue-2: #7196ff;
  --fy-purple: #b487ff;
  --fy-pink: #ff7edb;
  --fy-gold: #ffe08a;
  --fy-gold-2: #ffc85e;
  --fy-red: #ff718b;
  --fy-green: #68f1bd;

  --fy-line:
    rgba(117, 165, 255, 0.3);

  --fy-line-soft:
    rgba(130, 166, 225, 0.15);

  --fy-radius-xl: 22px;
  --fy-radius-lg: 16px;
  --fy-radius-md: 11px;
  --fy-radius-sm: 7px;

  --fy-shadow:
    0 18px 48px rgba(0, 0, 0, 0.5),
    0 0 26px rgba(82, 145, 255, 0.08);

  --fy-font:
    "Inter",
    "PingFang SC",
    "Microsoft YaHei",
    "Noto Sans SC",
    sans-serif;
}

/* =========================================================
   02. 基础重置
   ========================================================= */

.fy-panel,
.fy-story,
.fy-panel *,
.fy-story * {
  box-sizing: border-box;
}

.fy-panel,
.fy-story {
  font-family: var(--fy-font);
  color: var(--fy-text);
}

.fy-panel *,
.fy-story * {
  opacity: 1;
}

.fy-panel ::selection,
.fy-story ::selection {
  color: #06101c;
  background: var(--fy-cyan);
}

/* =========================================================
   03. 剧情正文
   ========================================================= */

.fy-story {
  position: relative;
  margin: 18px 0;
  padding: 24px 26px;
  overflow: hidden;

  color: var(--fy-text) !important;
  font-size: 15.5px;
  font-weight: 450;
  line-height: 2;
  letter-spacing: 0.025em;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(105, 151, 255, 0.12),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      rgba(10, 17, 36, 0.99),
      rgba(22, 32, 59, 0.97)
    );

  border: 1px solid rgba(119, 177, 255, 0.36);
  border-radius: var(--fy-radius-xl);

  box-shadow:
    var(--fy-shadow),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);

  animation: fy-story-in 0.55s ease both;
}

.fy-story::before {
  content: "";
  position: absolute;
  top: 0;
  left: -45%;
  width: 30%;
  height: 100%;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(100, 221, 255, 0.07),
      transparent
    );

  transform: skewX(-18deg);
  pointer-events: none;

  animation: fy-story-scan 9s ease-in-out infinite;
}

.fy-story::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;

  width: 135px;
  height: 135px;

  background-image:
    radial-gradient(
      circle,
      rgba(111, 188, 255, 0.2) 1px,
      transparent 1.5px
    );

  background-size: 10px 10px;
  opacity: 0.32;

  pointer-events: none;
}

.fy-story,
.fy-story p,
.fy-story div,
.fy-story span {
  color: var(--fy-text) !important;
}

.fy-story p {
  margin: 0.8em 0;
}

.fy-story strong,
.fy-story b {
  color: var(--fy-white) !important;
  font-weight: 800;
}

.fy-story em,
.fy-story i {
  color: #bceeff !important;
}

/* =========================================================
   04. 通用折叠面板
   ========================================================= */

.fy-panel {
  position: relative;
  margin: 14px 0;
  overflow: hidden;

  color: var(--fy-text-main) !important;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(82, 139, 255, 0.1),
      transparent 32%
    ),
    linear-gradient(
      145deg,
      rgba(8, 14, 31, 0.99),
      rgba(18, 28, 53, 0.97)
    );

  border: 1px solid var(--fy-line);
  border-radius: var(--fy-radius-xl);

  box-shadow:
    var(--fy-shadow),
    inset 0 1px 0 rgba(255, 255, 255, 0.035);

  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;

  animation: fy-panel-in 0.5s ease both;
}

.fy-panel:hover {
  transform: translateY(-2px);

  border-color:
    rgba(104, 220, 255, 0.58);

  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.56),
    0 0 32px rgba(82, 173, 255, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* 面板扫描光 */

.fy-panel::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;

  background:
    linear-gradient(
      108deg,
      transparent 20%,
      rgba(107, 222, 255, 0.065) 48%,
      transparent 74%
    );

  transform: translateX(-115%);
  pointer-events: none;

  animation: fy-panel-scan 10s ease-in-out infinite;
}

/* 顶部流光线 */

.fy-panel::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 18px;
  right: 18px;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--fy-blue),
      var(--fy-purple),
      transparent
    );

  opacity: 0.75;
  pointer-events: none;
}

/* =========================================================
   05. 折叠标题
   ========================================================= */

.fy-panel > summary {
  position: relative;
  z-index: 3;

  display: flex;
  align-items: center;
  gap: 13px;

  min-height: 58px;
  padding: 14px 53px 14px 18px;

  cursor: pointer;
  user-select: none;
  list-style: none;

  background:
    linear-gradient(
      90deg,
      rgba(49, 74, 126, 0.68),
      rgba(28, 42, 78, 0.46) 48%,
      rgba(12, 18, 34, 0.18)
    );

  border-bottom:
    1px solid rgba(122, 168, 255, 0.11);

  transition:
    background 0.25s ease,
    border-color 0.25s ease;
}

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

.fy-panel > summary:hover {
  background:
    linear-gradient(
      90deg,
      rgba(58, 91, 153, 0.77),
      rgba(31, 49, 91, 0.56) 50%,
      rgba(15, 22, 41, 0.2)
    );
}

.fy-panel[open] > summary {
  border-bottom-color:
    rgba(104, 218, 255, 0.21);
}

/* 左侧发光标记 */

.fy-panel > summary::before {
  content: "";
  flex: 0 0 auto;

  width: 5px;
  height: 30px;

  background:
    linear-gradient(
      180deg,
      var(--fy-cyan),
      var(--fy-blue),
      var(--fy-purple)
    );

  border-radius: 99px;

  box-shadow:
    0 0 10px rgba(95, 239, 255, 0.62),
    0 0 19px rgba(101, 160, 255, 0.26);
}

/* 右侧折叠箭头 */

.fy-panel > summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;

  width: 10px;
  height: 10px;

  border-right: 2px solid var(--fy-blue);
  border-bottom: 2px solid var(--fy-blue);

  transform:
    translateY(-68%)
    rotate(45deg);

  transition:
    transform 0.28s ease,
    border-color 0.28s ease;
}

.fy-panel[open] > summary::after {
  transform:
    translateY(-30%)
    rotate(225deg);

  border-color: var(--fy-cyan);
}

.fy-summary-title {
  color: var(--fy-white) !important;
  font-size: 15px;
  font-weight: 900 !important;
  letter-spacing: 0.13em;
  white-space: nowrap;

  text-shadow:
    0 0 8px rgba(106, 218, 255, 0.42),
    0 0 20px rgba(93, 142, 255, 0.14);
}

.fy-summary-brief {
  min-width: 0;
  overflow: hidden;

  color: #c7d5e9 !important;
  font-size: 11px;
  font-weight: 600 !important;
  letter-spacing: 0.05em;

  text-overflow: ellipsis;
  white-space: nowrap;
}

.fy-panel-body {
  position: relative;
  z-index: 2;
  padding: 18px;

  color: var(--fy-text-main) !important;
}

.fy-panel[open] > .fy-panel-body {
  animation: fy-panel-open 0.36s ease both;
}

/* =========================================================
   06. 当前场景栏
   ========================================================= */

.fy-scene {
  border-color:
    rgba(87, 241, 230, 0.38);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(84, 255, 230, 0.11),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      rgba(5, 22, 36, 0.99),
      rgba(18, 34, 62, 0.97)
    );
}

.fy-scene::after {
  background:
    linear-gradient(
      90deg,
      transparent,
      var(--fy-cyan),
      var(--fy-blue),
      transparent
    );
}

.fy-scene > summary::before {
  background:
    linear-gradient(
      180deg,
      var(--fy-cyan),
      var(--fy-blue)
    );
}

.fy-scene-grid,
.fy-info-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.fy-info-item {
  position: relative;
  padding: 14px;

  background:
    linear-gradient(
      135deg,
      rgba(45, 69, 113, 0.55),
      rgba(22, 35, 65, 0.62)
    );

  border:
    1px solid rgba(121, 185, 255, 0.23);

  border-radius: var(--fy-radius-md);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.025),
    0 8px 18px rgba(0, 0, 0, 0.16);

  transition:
    transform 0.24s ease,
    border-color 0.24s ease,
    background 0.24s ease;
}

.fy-info-item:hover {
  transform: translateY(-2px);

  border-color:
    rgba(103, 235, 255, 0.44);

  background:
    linear-gradient(
      135deg,
      rgba(55, 88, 143, 0.65),
      rgba(26, 43, 79, 0.68)
    );
}

.fy-info-item::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 9px;

  width: 12px;
  height: 2px;

  background: var(--fy-cyan);

  box-shadow:
    0 0 8px rgba(99, 246, 238, 0.64);
}

.fy-info-label {
  display: block;
  margin-bottom: 6px;

  color: var(--fy-cyan) !important;
  font-size: 10px;
  font-weight: 900 !important;
  letter-spacing: 0.15em;

  text-shadow:
    0 0 8px rgba(99, 246, 238, 0.26);
}

.fy-info-value {
  color: #eef6ff !important;
  font-size: 13px;
  font-weight: 600 !important;
  line-height: 1.65;
}

/* =========================================================
   07. 玩家终端
   ========================================================= */

.fy-player {
  border-color:
    rgba(184, 143, 255, 0.43);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(175, 111, 255, 0.12),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      rgba(13, 13, 38, 0.99),
      rgba(30, 29, 63, 0.97)
    );
}

.fy-player::after {
  background:
    linear-gradient(
      90deg,
      transparent,
      var(--fy-purple),
      var(--fy-blue),
      transparent
    );
}

.fy-player > summary::before {
  background:
    linear-gradient(
      180deg,
      var(--fy-purple),
      var(--fy-pink)
    );

  box-shadow:
    0 0 11px rgba(190, 128, 255, 0.57),
    0 0 20px rgba(255, 113, 219, 0.16);
}

.fy-player-header {
  position: relative;

  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;

  margin-bottom: 16px;
  padding: 18px;
  overflow: hidden;

  color: var(--fy-white);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226, 126, 255, 0.16),
      transparent 40%
    ),
    linear-gradient(
      110deg,
      rgba(93, 65, 178, 0.68),
      rgba(38, 50, 94, 0.65)
    );

  border:
    1px solid rgba(199, 161, 255, 0.33);

  border-radius: var(--fy-radius-lg);

  clip-path:
    polygon(
      0 0,
      calc(100% - 18px) 0,
      100% 18px,
      100% 100%,
      18px 100%,
      0 calc(100% - 18px)
    );

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.055),
    0 13px 27px rgba(16, 6, 42, 0.25);
}

.fy-player-header::after {
  content: "";
  position: absolute;
  top: -42px;
  right: -25px;

  width: 160px;
  height: 160px;

  background:
    repeating-radial-gradient(
      circle,
      rgba(205, 164, 255, 0.16) 0 2px,
      transparent 2px 9px
    );

  opacity: 0.48;
  transform: rotate(12deg);
}

.fy-player-name {
  position: relative;
  z-index: 1;

  color: var(--fy-white) !important;
  font-size: 23px;
  font-weight: 950 !important;
  letter-spacing: 0.08em;

  text-shadow:
    0 0 9px rgba(192, 151, 255, 0.65),
    0 0 26px rgba(106, 148, 255, 0.22);
}

.fy-player-codename {
  position: relative;
  z-index: 1;

  color: #ddc6ff !important;
  font-size: 11px;
  font-weight: 850 !important;
  letter-spacing: 0.15em;
}

/* =========================================================
   08. 通用信息分区
   ========================================================= */

.fy-section {
  position: relative;
  margin-top: 14px;
  padding: 14px;
  overflow: hidden;

  background:
    linear-gradient(
      145deg,
      rgba(35, 49, 83, 0.72),
      rgba(19, 28, 53, 0.77)
    );

  border:
    1px solid rgba(133, 169, 234, 0.18);

  border-radius: var(--fy-radius-lg);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.025),
    0 8px 20px rgba(0, 0, 0, 0.17);
}

.fy-section::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;

  width: 76px;
  height: 2px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(109, 220, 255, 0.85)
    );
}

.fy-section-title {
  display: flex;
  align-items: center;
  gap: 8px;

  margin-bottom: 12px;

  color: var(--fy-white) !important;
  font-size: 12px;
  font-weight: 900 !important;
  letter-spacing: 0.14em;

  text-shadow:
    0 0 9px rgba(103, 197, 255, 0.22);
}

.fy-section-title::before {
  content: "";
  flex: 0 0 auto;

  width: 18px;
  height: 4px;

  background:
    linear-gradient(
      90deg,
      var(--fy-blue),
      var(--fy-purple)
    );

  border-radius: 5px;

  box-shadow:
    0 0 10px rgba(101, 202, 255, 0.37);
}

.fy-info-row {
  display: grid;
  grid-template-columns:
    minmax(80px, 0.38fr)
    minmax(0, 1fr);

  gap: 12px;
  padding: 10px 2px;

  border-bottom:
    1px dashed rgba(146, 177, 234, 0.17);
}

.fy-info-row:last-child {
  border-bottom: 0;
}

.fy-info-row > span {
  color: #aebed8 !important;
  font-size: 11px;
  font-weight: 700 !important;
  letter-spacing: 0.05em;
}

.fy-info-row > b,
.fy-info-row > strong {
  color: #f1f6ff !important;
  font-size: 12px;
  font-weight: 650 !important;
  line-height: 1.65;
}

/* =========================================================
   09. 核心异能卡
   ========================================================= */

.fy-ability-card {
  position: relative;
  padding: 16px;
  overflow: hidden;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(94, 211, 255, 0.15),
      transparent 38%
    ),
    linear-gradient(
      135deg,
      rgba(60, 79, 136, 0.68),
      rgba(23, 33, 63, 0.84)
    );

  border:
    1px solid rgba(126, 196, 255, 0.34);

  border-radius: var(--fy-radius-lg);

  clip-path:
    polygon(
      0 0,
      calc(100% - 17px) 0,
      100% 17px,
      100% 100%,
      17px 100%,
      0 calc(100% - 17px)
    );

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 12px 25px rgba(0, 0, 0, 0.23),
    0 0 21px rgba(91, 184, 255, 0.07);
}

.fy-ability-card::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      118deg,
      transparent 35%,
      rgba(111, 220, 255, 0.1),
      transparent 65%
    );

  transform: translateX(-110%);
  pointer-events: none;

  animation: fy-ability-scan 7s infinite;
}

.fy-ability-head {
  position: relative;
  z-index: 1;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.fy-ability-name {
  color: var(--fy-white) !important;
  font-size: 18px;
  font-weight: 950 !important;
  letter-spacing: 0.06em;

  text-shadow:
    0 0 11px rgba(101, 218, 255, 0.38);
}

.fy-ability-type {
  position: relative;
  z-index: 1;

  margin-top: 7px;

  color: #7feaff !important;
  font-size: 11px;
  font-weight: 800 !important;
  letter-spacing: 0.1em;
}

.fy-ability-core {
  position: relative;
  z-index: 1;

  margin-top: 11px;

  color: #edf4ff !important;
  font-size: 13px;
  font-weight: 550 !important;
  line-height: 1.72;
}

.fy-ability-exposure {
  position: relative;
  z-index: 1;

  margin-top: 11px;
  padding-top: 10px;

  color: #b5c4db !important;
  font-size: 11px;

  border-top:
    1px solid rgba(136, 167, 226, 0.15);
}

/* =========================================================
   10. 位阶徽章
   ========================================================= */

.fy-rank {
  position: relative;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 35px;
  height: 29px;
  padding: 0 9px;
  overflow: hidden;

  color: var(--fy-white);
  font-size: 13px;
  font-weight: 1000;
  letter-spacing: 0.08em;

  background: #35435f;

  border: 1px solid currentColor;
  border-radius: 8px;

  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.55);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.13),
    inset 0 0 12px rgba(255, 255, 255, 0.05),
    0 0 16px rgba(255, 255, 255, 0.07);
}

.fy-rank::after {
  content: "";
  position: absolute;
  top: -20%;
  left: -85%;

  width: 38%;
  height: 140%;

  background:
    rgba(255, 255, 255, 0.37);

  transform: skewX(-20deg);

  animation:
    fy-rank-flash 5.2s ease-in-out infinite;
}

.fy-rank-S {
  color: #fff3b2 !important;

  background:
    linear-gradient(
      135deg,
      #5d3d00,
      #c88b12 48%,
      #765000
    );

  border-color: #ffdc70;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 0 20px rgba(255, 202, 61, 0.48);
}

.fy-rank-A {
  color: #f0e5ff !important;

  background:
    linear-gradient(
      135deg,
      #38245f,
      #7850b9
    );

  border-color: #c8a8ff;
}

.fy-rank-B {
  color: #ddf7ff !important;

  background:
    linear-gradient(
      135deg,
      #173c60,
      #287fad
    );

  border-color: #79dcff;
}

.fy-rank-C {
  color: #d7fff3 !important;

  background:
    linear-gradient(
      135deg,
      #16483e,
      #268676
    );

  border-color: #6de9c9;
}

.fy-rank-D {
  color: #eef4fb !important;

  background:
    linear-gradient(
      135deg,
      #343e4b,
      #5b6879
    );

  border-color: #aab8ca;
}

.fy-rank-unknown {
  color: #e1e7f0 !important;

  background:
    linear-gradient(
      135deg,
      #252b37,
      #454e5e
    );

  border-color: #8593a8;
}

/* =========================================================
   11. 附属异能标签
   ========================================================= */

.fy-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fy-ability-tag {
  display: inline-flex;
  align-items: center;

  padding: 7px 11px;

  color: #eee5ff !important;
  font-size: 11px;
  font-weight: 750 !important;

  background:
    linear-gradient(
      135deg,
      rgba(112, 77, 191, 0.4),
      rgba(44, 53, 93, 0.52)
    );

  border:
    1px solid rgba(181, 144, 255, 0.24);

  border-radius: 999px;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.fy-empty {
  color: #aebdd3 !important;
  font-size: 11px;
}

/* =========================================================
   12. 物品与事件列表
   ========================================================= */

.fy-item-list,
.fy-event-list,
.fy-clue-list,
.fy-memory-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.fy-item-list li,
.fy-event-list li,
.fy-clue-list li,
.fy-memory-list li {
  position: relative;

  display: flex;
  justify-content: space-between;
  gap: 12px;

  margin-top: 7px;
  padding: 10px 12px 10px 26px;

  color: #edf4ff !important;
  font-size: 12px;
  line-height: 1.58;

  background:
    linear-gradient(
      90deg,
      rgba(30, 44, 75, 0.78),
      rgba(18, 27, 50, 0.72)
    );

  border:
    1px solid rgba(126, 163, 221, 0.18);

  border-radius: var(--fy-radius-md);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.02);

  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease;
}

.fy-item-list li:hover,
.fy-event-list li:hover,
.fy-clue-list li:hover,
.fy-memory-list li:hover {
  transform: translateX(3px);

  border-color:
    rgba(105, 215, 255, 0.34);

  background:
    linear-gradient(
      90deg,
      rgba(42, 63, 104, 0.86),
      rgba(21, 34, 62, 0.78)
    );
}

.fy-item-list li::before,
.fy-event-list li::before,
.fy-clue-list li::before,
.fy-memory-list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;

  width: 6px;
  height: 6px;

  background: var(--fy-blue);

  border-radius: 1px;

  transform:
    translateY(-50%)
    rotate(45deg);

  box-shadow:
    0 0 8px rgba(102, 215, 255, 0.67);
}

.fy-item-name {
  color: var(--fy-white) !important;
  font-weight: 750 !important;
}

.fy-item-count,
.fy-item-state {
  color: #bdcce1 !important;
  font-size: 11px;
  text-align: right;
}

.fy-resource-line {
  color: #edf4ff !important;
  font-size: 12px;
  line-height: 1.68;
}

/* =========================================================
   13. NPC档案总栏
   ========================================================= */

.fy-npcs {
  border-color:
    rgba(255, 216, 118, 0.42);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(255, 205, 99, 0.09),
      transparent 33%
    ),
    linear-gradient(
      145deg,
      rgba(9, 16, 34, 0.99),
      rgba(22, 32, 57, 0.97)
    );
}

.fy-npcs::after {
  background:
    linear-gradient(
      90deg,
      transparent,
      var(--fy-gold),
      var(--fy-blue),
      transparent
    );
}

.fy-npcs > summary::before {
  background:
    linear-gradient(
      180deg,
      var(--fy-gold),
      #ff9471
    );

  box-shadow:
    0 0 11px rgba(255, 213, 103, 0.55),
    0 0 20px rgba(255, 141, 99, 0.15);
}

.fy-npc-list {
  display: grid;
  gap: 15px;
}

/* =========================================================
   14. NPC高级卡片
   ========================================================= */

.fy-npc-card {
  position: relative;
  overflow: hidden;

  color: var(--fy-text-main);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(255, 211, 102, 0.1),
      transparent 31%
    ),
    radial-gradient(
      circle at 0% 100%,
      rgba(75, 154, 255, 0.09),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      rgba(16, 25, 49, 0.99),
      rgba(29, 41, 73, 0.97)
    );

  border:
    1px solid rgba(255, 216, 123, 0.27);

  border-radius: 18px;

  clip-path:
    polygon(
      0 0,
      calc(100% - 19px) 0,
      100% 19px,
      100% 100%,
      19px 100%,
      0 calc(100% - 19px)
    );

  box-shadow:
    0 16px 35px rgba(0, 0, 0, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.035);

  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;

  animation:
    fy-npc-in 0.52s ease both;
}

.fy-npc-card:hover {
  transform:
    translateY(-4px)
    scale(1.003);

  border-color:
    rgba(255, 226, 144, 0.54);

  box-shadow:
    0 23px 44px rgba(0, 0, 0, 0.47),
    0 0 28px rgba(255, 204, 93, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

/* 韩漫圆点装饰 */

.fy-npc-card::before {
  content: "";
  position: absolute;
  top: -76px;
  right: -67px;

  width: 205px;
  height: 205px;

  background:
    repeating-radial-gradient(
      circle,
      rgba(255, 218, 123, 0.12) 0 2px,
      transparent 2px 9px
    );

  opacity: 0.45;
  transform: rotate(12deg);

  pointer-events: none;
}

/* 顶部英雄线 */

.fy-npc-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;

  width: 115px;
  height: 4px;

  background:
    linear-gradient(
      90deg,
      var(--fy-gold),
      var(--fy-blue),
      transparent
    );

  box-shadow:
    0 0 14px rgba(255, 211, 101, 0.38);
}

.fy-npc-header {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13px;

  padding: 18px 17px 14px;

  background:
    linear-gradient(
      90deg,
      rgba(52, 73, 121, 0.46),
      rgba(26, 37, 68, 0.16)
    );

  border-bottom:
    1px solid rgba(135, 158, 207, 0.14);
}

.fy-npc-title {
  min-width: 0;
}

.fy-npc-name {
  color: var(--fy-white) !important;
  font-size: 19px;
  font-weight: 950 !important;
  letter-spacing: 0.075em;

  text-shadow:
    0 0 10px rgba(102, 196, 255, 0.42),
    0 0 22px rgba(91, 139, 255, 0.16);
}

.fy-npc-codename {
  margin-top: 4px;

  color: #ffe49a !important;
  font-size: 10px;
  font-weight: 900 !important;
  letter-spacing: 0.15em;

  text-shadow:
    0 0 8px rgba(255, 208, 92, 0.25);
}

.fy-npc-content {
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns:
    minmax(0, 1.28fr)
    minmax(190px, 0.72fr);

  gap: 18px;
  padding: 16px;
}

.fy-npc-profile {
  min-width: 0;
  padding: 4px 2px;
}

.fy-npc-profile .fy-info-row {
  margin-bottom: 2px;
  padding-left: 8px;
  padding-right: 8px;

  background:
    linear-gradient(
      90deg,
      rgba(35, 51, 86, 0.26),
      transparent
    );

  border-radius: 7px;

  transition:
    background 0.22s ease;
}

.fy-npc-profile .fy-info-row:hover {
  background:
    linear-gradient(
      90deg,
      rgba(48, 72, 120, 0.43),
      rgba(25, 39, 70, 0.08)
    );
}

.fy-npc-profile .fy-info-row > span {
  color: #adbed7 !important;
}

.fy-npc-profile .fy-info-row > b {
  color: #f2f7ff !important;
}

/* =========================================================
   15. 六维雷达图
   ========================================================= */

.fy-radar-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  min-width: 0;
  padding: 11px;

  background:
    radial-gradient(
      circle at center,
      rgba(74, 155, 255, 0.18),
      rgba(34, 54, 92, 0.17) 48%,
      rgba(14, 22, 42, 0.29) 72%
    );

  border:
    1px solid rgba(124, 188, 255, 0.24);

  border-radius: 16px;

  box-shadow:
    inset 0 0 28px rgba(67, 147, 255, 0.06);
}

.fy-radar-title {
  margin-bottom: 2px;

  color: #d6e4f6 !important;
  font-size: 10px;
  font-weight: 900 !important;
  letter-spacing: 0.16em;
}

.fy-radar {
  position: relative;

  width: 215px;
  height: 215px;
  max-width: 100%;
}

/* 外层六边形 */

.fy-radar::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;

  width: 145px;
  height: 165px;

  background:
    linear-gradient(
      135deg,
      rgba(78, 148, 231, 0.21),
      rgba(153, 101, 223, 0.1)
    );

  outline:
    1px solid rgba(108, 210, 255, 0.43);

  clip-path:
    polygon(
      50% 0%,
      93% 25%,
      93% 75%,
      50% 100%,
      7% 75%,
      7% 25%
    );

  transform:
    translate(-50%, -50%);

  box-shadow:
    inset 0 0 28px rgba(93, 191, 255, 0.08),
    0 0 20px rgba(71, 154, 255, 0.1);

  pointer-events: none;
}

/* 内层六边形 */

.fy-radar::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;

  width: 92px;
  height: 104px;

  background: transparent;

  outline:
    1px solid rgba(145, 185, 245, 0.27);

  clip-path:
    polygon(
      50% 0%,
      93% 25%,
      93% 75%,
      50% 100%,
      7% 75%,
      7% 25%
    );

  transform:
    translate(-50%, -50%);

  pointer-events: none;
}

.fy-radar-svg {
  position: absolute;
  z-index: 2;
  inset: 0;

  width: 100%;
  height: 100%;

  overflow: visible;

  filter:
    drop-shadow(
      0 0 6px
      rgba(86, 218, 255, 0.42)
    );
}

.fy-radar-shape {
  fill:
    rgba(84, 189, 255, 0.36);

  stroke: #78fff1;
  stroke-width: 2.3;

  transform-origin: center;

  filter:
    drop-shadow(
      0 0 5px
      rgba(91, 255, 234, 0.45)
    );

  animation:
    fy-radar-pulse 3.7s ease-in-out infinite;
}

/* 雷达属性文字 */

.fy-axis {
  position: absolute;
  z-index: 3;

  display: flex;
  flex-direction: column;
  align-items: center;

  min-width: 28px;

  color: #eef4ff !important;
  font-size: 10px;
  font-weight: 900 !important;
  line-height: 1.1;
  text-align: center;

  text-shadow:
    0 1px 4px #020611,
    0 0 8px rgba(80, 165, 255, 0.48);
}

.fy-axis b {
  margin-top: 3px;

  color: #ffe28a !important;
  font-size: 13px;
  font-weight: 1000 !important;

  text-shadow:
    0 0 7px rgba(255, 217, 99, 0.68),
    0 1px 3px rgba(0, 0, 0, 0.7);
}

.fy-axis-force {
  top: 2px;
  left: 50%;

  transform:
    translateX(-50%);
}

.fy-axis-speed {
  top: 42px;
  right: 4px;
}

.fy-axis-range {
  right: 4px;
  bottom: 42px;
}

.fy-axis-duration {
  bottom: 1px;
  left: 50%;

  transform:
    translateX(-50%);
}

.fy-axis-precision {
  bottom: 42px;
  left: 4px;
}

.fy-axis-variation {
  top: 42px;
  left: 4px;
}

/* =========================================================
   16. NPC底部信息
   ========================================================= */

.fy-npc-footer {
  position: relative;
  z-index: 2;

  display: grid;
  gap: 8px;

  padding:
    0 16px 16px;
}

.fy-npc-techniques,
.fy-npc-note {
  padding: 10px 12px;

  color: #e6eef9 !important;
  font-size: 11px;
  line-height: 1.58;

  background:
    rgba(16, 23, 42, 0.56);

  border:
    1px solid rgba(120, 146, 201, 0.13);

  border-radius: 10px;
}

.fy-footer-label {
  margin-right: 8px;

  color: #ffe392 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em;
}

/* =========================================================
   17. 简化NPC
   ========================================================= */

.fy-npc-compact {
  display: grid;
  grid-template-columns:
    minmax(90px, 0.8fr)
    minmax(110px, 1fr)
    minmax(0, 1.3fr);

  gap: 10px;
  align-items: center;

  padding: 11px 13px;

  background:
    linear-gradient(
      90deg,
      rgba(27, 40, 70, 0.78),
      rgba(19, 28, 50, 0.72)
    );

  border:
    1px solid rgba(121, 151, 207, 0.14);

  border-radius: 11px;
}

.fy-compact-name {
  color: var(--fy-white) !important;
  font-size: 12px;
  font-weight: 850 !important;
}

.fy-compact-role {
  color: #ffe18b !important;
  font-size: 10px;
  font-weight: 700;
}

.fy-compact-state {
  color: #c2d0e4 !important;
  font-size: 11px;
}

/* =========================================================
   18. 事件与记忆
   ========================================================= */

.fy-events {
  border-color:
    rgba(255, 112, 153, 0.32);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(255, 101, 181, 0.09),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      rgba(18, 11, 34, 0.99),
      rgba(34, 24, 58, 0.97)
    );
}

.fy-events::after {
  background:
    linear-gradient(
      90deg,
      transparent,
      var(--fy-pink),
      var(--fy-purple),
      transparent
    );
}

.fy-events > summary::before {
  background:
    linear-gradient(
      180deg,
      var(--fy-pink),
      var(--fy-purple)
    );
}

/* =========================================================
   19. 滚动条
   ========================================================= */

.fy-panel-body::-webkit-scrollbar,
.fy-story::-webkit-scrollbar {
  width: 7px;
}

.fy-panel-body::-webkit-scrollbar-track,
.fy-story::-webkit-scrollbar-track {
  background:
    rgba(9, 14, 27, 0.7);
}

.fy-panel-body::-webkit-scrollbar-thumb,
.fy-story::-webkit-scrollbar-thumb {
  background:
    linear-gradient(
      var(--fy-blue),
      var(--fy-purple)
    );

  border-radius: 99px;
}

/* =========================================================
   20. 动画
   ========================================================= */

@keyframes fy-panel-in {
  from {
    opacity: 0;
    transform:
      translateY(11px)
      scale(0.993);
  }

  to {
    opacity: 1;
    transform:
      translateY(0)
      scale(1);
  }
}

@keyframes fy-story-in {
  from {
    opacity: 0;
    transform:
      translateY(14px);
    filter: blur(3px);
  }

  to {
    opacity: 1;
    transform:
      translateY(0);
    filter: blur(0);
  }
}

@keyframes fy-npc-in {
  from {
    opacity: 0;
    transform:
      translateX(-10px);
  }

  to {
    opacity: 1;
    transform:
      translateX(0);
  }
}

@keyframes fy-panel-open {
  from {
    opacity: 0;
    transform:
      translateY(-7px);
    filter: blur(2px);
  }

  to {
    opacity: 1;
    transform:
      translateY(0);
    filter: blur(0);
  }
}

@keyframes fy-panel-scan {
  0%,
  68% {
    transform:
      translateX(-115%);
  }

  86%,
  100% {
    transform:
      translateX(115%);
  }
}

@keyframes fy-story-scan {
  0%,
  57% {
    left: -45%;
  }

  80%,
  100% {
    left: 120%;
  }
}

@keyframes fy-ability-scan {
  0%,
  67% {
    transform:
      translateX(-110%);
  }

  84%,
  100% {
    transform:
      translateX(110%);
  }
}

@keyframes fy-rank-flash {
  0%,
  62% {
    left: -85%;
  }

  80%,
  100% {
    left: 145%;
  }
}

@keyframes fy-radar-pulse {
  0%,
  100% {
    opacity: 0.86;
    transform:
      scale(0.99);
  }

  50% {
    opacity: 1;
    transform:
      scale(1.025);
  }
}

/* =========================================================
   21. 平板与手机适配
   ========================================================= */

@media (max-width: 720px) {
  .fy-story {
    padding: 19px 17px;

    color: #f6f9ff !important;
    font-size: 14.5px;
    line-height: 1.92;

    border-radius: 17px;
  }

  .fy-panel {
    border-radius: 17px;
  }

  .fy-panel > summary {
    min-height: 54px;
    padding:
      12px 45px
      12px 14px;
  }

  .fy-summary-title {
    font-size: 13px;
  }

  .fy-summary-brief {
    color: #bfcee3 !important;
    font-size: 10px;
  }

  .fy-panel-body {
    padding: 13px;
  }

  .fy-scene-grid,
  .fy-info-grid {
    grid-template-columns: 1fr;
  }

  .fy-player-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .fy-player-name {
    font-size: 19px;
  }

  .fy-info-row {
    grid-template-columns:
      79px minmax(0, 1fr);

    gap: 8px;
  }

  .fy-info-row > span {
    color: #b8c8de !important;
  }

  .fy-info-row > b {
    color: #f5f8ff !important;
  }

  .fy-npc-content {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .fy-radar {
    width: 205px;
    height: 205px;
  }

  .fy-radar-block {
    padding: 12px 6px;
  }

  .fy-npc-compact {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

/* =========================================================
   22. 减少动画模式
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .fy-panel,
  .fy-story,
  .fy-npc-card,
  .fy-radar-shape,
  .fy-rank::after,
  .fy-panel::before,
  .fy-story::before,
  .fy-ability-card::before {
    animation: none !important;
    transition: none !important;
  }
}
/* =========================================================
   临界都市｜界域终端手机 APP CSS V1.0
   所有类名使用 lcx- 前缀，避免与原状态栏冲突
   ========================================================= */

.lcx-phone{
  margin:14px auto 0;
  width:min(100%,390px);
  color:#eef9ff;
  font-family:"Microsoft YaHei UI","PingFang SC",sans-serif;
}
.lcx-phone>summary,
.lcx-phone summary{
  list-style:none;
}
.lcx-phone>summary::-webkit-details-marker,
.lcx-phone summary::-webkit-details-marker{
  display:none;
}
.lcx-phone-launch{
  position:relative;
  min-height:58px;
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-items:center;
  gap:10px;
  padding:8px 11px;
  border:1px solid rgba(105,221,255,.28);
  border-radius:16px;
  cursor:pointer;
  background:
    linear-gradient(135deg,rgba(11,31,43,.96),rgba(5,15,25,.97));
  box-shadow:
    0 12px 28px rgba(0,0,0,.28),
    inset 0 1px rgba(255,255,255,.035);
  overflow:hidden;
}
.lcx-phone-launch:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,transparent 36%,rgba(114,231,255,.09) 50%,transparent 64%);
  transform:translateX(-130%);
  animation:lcx-phone-scan 6s ease-in-out infinite;
}
.lcx-phone-launch:hover{
  border-color:rgba(233,198,111,.58);
}
.lcx-launch-device{
  position:relative;
  width:38px;
  height:42px;
  border:1px solid rgba(119,232,255,.45);
  border-radius:9px;
  background:
    radial-gradient(circle at 50% 38%,rgba(119,232,255,.17),transparent 38%),
    rgba(50,142,190,.08);
  box-shadow:0 0 18px rgba(88,207,255,.08);
}
.lcx-launch-device:before{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  top:7px;
  height:18px;
  border:1px solid rgba(119,232,255,.2);
  background:
    repeating-linear-gradient(0deg,rgba(119,232,255,.12) 0 1px,transparent 1px 5px);
}
.lcx-launch-device:after{
  content:"";
  position:absolute;
  left:15px;
  bottom:5px;
  width:7px;
  height:2px;
  border-radius:99px;
  background:#7be9ff;
  box-shadow:0 0 8px rgba(123,233,255,.7);
}
.lcx-launch-copy{
  position:relative;
  min-width:0;
}
.lcx-launch-copy b{
  display:block;
  color:#e6f8ff;
  font-size:12px;
  letter-spacing:.08em;
}
.lcx-launch-copy small{
  display:block;
  margin-top:3px;
  color:#7194a0;
  font-size:8px;
  letter-spacing:.12em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.lcx-launch-badge{
  position:relative;
  min-width:28px;
  height:28px;
  display:grid;
  place-items:center;
  padding:0 7px;
  border:1px solid rgba(123,233,255,.22);
  border-radius:999px;
  color:#bfefff;
  background:rgba(69,164,207,.09);
  font-weight:900;
  font-size:9px;
}
.lcx-launch-badge.lcx-badge-task{
  color:#ffe7a5;
  border-color:rgba(233,198,111,.3);
  background:rgba(233,198,111,.08);
  animation:lcx-phone-pulse 2.4s ease-in-out infinite;
}
.lcx-launch-badge.lcx-badge-urgent{
  color:#ffd1cb;
  border-color:rgba(255,118,100,.42);
  background:rgba(255,91,72,.11);
  animation:lcx-phone-alert 1.35s ease-in-out infinite;
}

.lcx-phone-device{
  position:relative;
  margin-top:9px;
  padding:9px;
  border:1px solid rgba(109,220,255,.35);
  border-radius:30px;
  background:
    linear-gradient(150deg,rgba(18,42,58,.95),rgba(4,13,23,.98) 48%,rgba(7,18,34,.98));
  box-shadow:
    0 22px 60px rgba(0,0,0,.5),
    inset 0 1px rgba(255,255,255,.07),
    inset 0 0 32px rgba(65,177,227,.05);
  overflow:hidden;
}
.lcx-phone-device:before{
  content:"";
  position:absolute;
  top:5px;
  left:50%;
  width:76px;
  height:18px;
  transform:translateX(-50%);
  border-radius:0 0 12px 12px;
  background:#02070c;
  border:1px solid rgba(118,225,255,.11);
  z-index:3;
}
.lcx-phone-screen{
  position:relative;
  min-height:570px;
  padding:22px 10px 12px;
  border:1px solid rgba(118,225,255,.14);
  border-radius:22px;
  background:
    radial-gradient(circle at 82% 10%,rgba(233,198,111,.07),transparent 24%),
    radial-gradient(circle at 10% 75%,rgba(57,151,255,.08),transparent 31%),
    linear-gradient(160deg,#071621,#04101a 58%,#061324);
  overflow:hidden;
}
.lcx-phone-screen:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.23;
  background:
    linear-gradient(rgba(123,233,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(123,233,255,.03) 1px,transparent 1px);
  background-size:28px 28px;
}
.lcx-phone-status,
.lcx-phone-owner,
.lcx-app-grid,
.lcx-phone-dock{
  position:relative;
  z-index:2;
}
.lcx-phone-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:0 5px 8px;
  color:#8db0bc;
  font-size:8px;
  letter-spacing:.08em;
}
.lcx-phone-status b{
  color:#c7f5ff;
  letter-spacing:.16em;
}
.lcx-phone-owner{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  padding:12px 10px 16px;
}
.lcx-phone-owner small{
  display:block;
  color:#628997;
  font-size:7px;
  letter-spacing:.15em;
}
.lcx-phone-owner b{
  display:block;
  margin-top:4px;
  color:#ecfaff;
  font-size:18px;
  letter-spacing:.06em;
}
.lcx-phone-owner>span{
  color:#e9c66f;
  font-size:8px;
  letter-spacing:.09em;
}

.lcx-app-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  align-items:start;
}
.lcx-app{
  min-width:0;
}
.lcx-app[open]{
  grid-column:1/-1;
}
.lcx-app-tile{
  position:relative;
  min-height:86px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:7px 4px;
  border:1px solid rgba(123,233,255,.12);
  border-radius:15px;
  cursor:pointer;
  background:
    linear-gradient(145deg,rgba(21,48,63,.64),rgba(5,18,29,.72));
  transition:.2s ease;
}
.lcx-app-tile:hover{
  transform:translateY(-2px);
  border-color:rgba(233,198,111,.43);
}
.lcx-app[open]>.lcx-app-tile{
  width:94px;
  border-color:rgba(233,198,111,.43);
  background:rgba(233,198,111,.07);
}
.lcx-app-tile b{
  color:#dff7ff;
  font-size:9px;
  letter-spacing:.05em;
}
.lcx-app-tile small{
  color:#60818b;
  font-size:7px;
}
.lcx-app-count{
  position:absolute;
  right:7px;
  top:6px;
  min-width:18px;
  height:18px;
  display:grid;
  place-items:center;
  padding:0 5px;
  border-radius:999px;
  color:#fff4d2;
  background:#ae7625;
  box-shadow:0 0 12px rgba(233,198,111,.18);
  font-size:7px;
  font-weight:900;
}
.lcx-app-count.lcx-count-alert{
  background:#b94739;
}
.lcx-app-lock{
  position:absolute;
  inset:0;
  display:grid;
  place-items:end center;
  padding-bottom:7px;
  border-radius:15px;
  color:#71828a;
  background:rgba(3,9,14,.55);
  font-size:7px;
  letter-spacing:.08em;
}
.lcx-locked>.lcx-app-tile{
  filter:saturate(.4);
}

/* CSS绘制的APP图标 */
.lcx-app-glyph{
  position:relative;
  width:40px;
  height:40px;
  display:block;
  border:1px solid rgba(123,233,255,.27);
  border-radius:12px;
  background:
    radial-gradient(circle at 50% 35%,rgba(123,233,255,.13),transparent 45%),
    rgba(48,137,178,.07);
  box-shadow:inset 0 0 14px rgba(123,233,255,.035);
}
.lcx-app-glyph:before,
.lcx-app-glyph:after{
  content:"";
  position:absolute;
}
/* 通讯：消息框 */
.lcx-glyph-msg:before{
  left:8px;right:8px;top:9px;height:15px;
  border:1px solid #79dff4;
  border-radius:5px;
}
.lcx-glyph-msg:after{
  left:11px;bottom:8px;
  width:8px;height:8px;
  border-left:1px solid #79dff4;
  transform:skew(-35deg);
}
/* 工联：六边网络 */
.lcx-glyph-guild:before{
  left:9px;top:7px;width:20px;height:23px;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  border:1px solid #e9c66f;
  background:
    linear-gradient(30deg,transparent 47%,rgba(233,198,111,.55) 48% 52%,transparent 53%),
    linear-gradient(-30deg,transparent 47%,rgba(233,198,111,.55) 48% 52%,transparent 53%);
}
.lcx-glyph-guild:after{
  left:17px;top:15px;width:5px;height:5px;
  border:1px solid #e9c66f;border-radius:50%;
}
/* 城域通：城市矩阵 */
.lcx-glyph-city:before{
  left:8px;top:9px;width:23px;height:22px;
  background:
    linear-gradient(#75dbea,#75dbea) 0 100%/100% 1px no-repeat,
    repeating-linear-gradient(90deg,transparent 0 5px,rgba(117,219,234,.7) 5px 7px),
    linear-gradient(90deg,rgba(117,219,234,.7) 1px,transparent 1px) 0 0/7px 100%;
}
.lcx-glyph-city:after{
  left:17px;top:5px;width:6px;height:5px;
  border:1px solid #75dbea;border-bottom:0;
}
/* ID：证件 */
.lcx-glyph-id:before{
  left:6px;right:6px;top:8px;bottom:8px;
  border:1px solid #8be7ff;border-radius:4px;
  background:
    radial-gradient(circle at 27% 40%,transparent 0 3px,#8be7ff 3px 4px,transparent 4px),
    linear-gradient(#8be7ff,#8be7ff) 69% 32%/9px 1px no-repeat,
    linear-gradient(#8be7ff,#8be7ff) 69% 50%/9px 1px no-repeat,
    linear-gradient(#8be7ff,#8be7ff) 25% 74%/10px 1px no-repeat;
}
.lcx-glyph-id:after{
  left:18px;top:5px;width:5px;height:3px;
  border:1px solid #8be7ff;border-bottom:0;
}
/* 资产：卡片与币环 */
.lcx-glyph-asset:before{
  left:7px;right:7px;top:11px;height:17px;
  border:1px solid #e8c56f;border-radius:5px;
}
.lcx-glyph-asset:after{
  right:8px;top:15px;width:9px;height:9px;
  border:1px solid #e8c56f;border-radius:50%;
  background:#0a1b26;
}
/* 日程：日历 */
.lcx-glyph-calendar:before{
  left:8px;right:8px;top:9px;bottom:8px;
  border:1px solid #79dff4;border-radius:4px;
  background:
    linear-gradient(#79dff4,#79dff4) 0 7px/100% 1px no-repeat,
    radial-gradient(circle,#79dff4 0 1px,transparent 2px) 5px 12px/7px 7px;
}
.lcx-glyph-calendar:after{
  left:13px;top:6px;width:14px;height:5px;
  border-left:1px solid #79dff4;border-right:1px solid #79dff4;
}
/* 扩展：节点回路 */
.lcx-glyph-extra:before{
  left:7px;top:7px;width:24px;height:24px;border:1px solid #b88cff;
  border-radius:50%;
  background:
    radial-gradient(circle at center,#b88cff 0 2px,transparent 3px),
    linear-gradient(45deg,transparent 48%,rgba(184,140,255,.8) 49% 51%,transparent 52%);
}
.lcx-glyph-extra:after{
  left:17px;top:4px;width:5px;height:5px;border:1px solid #b88cff;border-radius:50%;
}

.lcx-app-sheet{
  margin-top:9px;
  padding:12px;
  border:1px solid rgba(123,233,255,.17);
  border-radius:16px;
  background:
    linear-gradient(150deg,rgba(5,17,27,.97),rgba(5,13,22,.98));
  box-shadow:inset 0 1px rgba(255,255,255,.025);
  animation:lcx-app-open .28s ease;
}
.lcx-app-sheet-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
  padding-bottom:9px;
  border-bottom:1px solid rgba(123,233,255,.1);
}
.lcx-app-sheet-head b{
  color:#e7f9ff;
  font-size:13px;
  letter-spacing:.07em;
}
.lcx-app-sheet-head span{
  color:#668994;
  font-size:7px;
  letter-spacing:.12em;
}
.lcx-empty{
  padding:21px 10px;
  text-align:center;
  color:#58737d;
  font-size:9px;
}
.lcx-section-title{
  margin:11px 0 7px;
  color:#dfd0a6;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
.lcx-list{
  display:grid;
  gap:7px;
}
.lcx-row,
.lcx-thread>summary,
.lcx-task,
.lcx-notice,
.lcx-transaction,
.lcx-schedule{
  padding:9px 10px;
  border:1px solid rgba(123,233,255,.1);
  border-radius:10px;
  background:rgba(123,233,255,.025);
}
.lcx-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
}
.lcx-row span,
.lcx-row small{
  color:#75939d;
  font-size:8px;
}
.lcx-row b{
  color:#d9f5fc;
  font-size:9px;
  text-align:right;
}
.lcx-thread>summary{
  position:relative;
  display:grid;
  grid-template-columns:32px 1fr auto;
  gap:8px;
  align-items:center;
  cursor:pointer;
}
.lcx-contact-avatar{
  width:32px;height:32px;
  display:grid;place-items:center;
  border:1px solid rgba(123,233,255,.18);
  border-radius:10px;
  color:#b7effa;
  background:rgba(123,233,255,.04);
  font-size:12px;font-weight:900;
}
.lcx-thread-copy{
  min-width:0;
}
.lcx-thread-copy b{
  display:block;
  color:#def6fb;
  font-size:9px;
}
.lcx-thread-copy small{
  display:block;
  margin-top:3px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#66828b;
  font-size:7px;
}
.lcx-thread-time{
  color:#607b84;
  font-size:7px;
}
.lcx-thread-messages{
  display:grid;
  gap:6px;
  padding:8px 4px 2px;
}
.lcx-message{
  max-width:84%;
  padding:8px 9px;
  border-radius:10px 10px 10px 3px;
  color:#b9d4dc;
  background:rgba(96,152,173,.1);
  font-size:8px;
  line-height:1.6;
}
.lcx-message.lcx-mine{
  justify-self:end;
  border-radius:10px 10px 3px 10px;
  color:#f3e7c7;
  background:rgba(233,198,111,.09);
}
.lcx-message time{
  display:block;
  margin-top:4px;
  color:#536b73;
  font-size:6px;
}
.lcx-task{
  position:relative;
  padding-left:13px;
}
.lcx-task:before{
  content:"";
  position:absolute;
  left:0;top:9px;bottom:9px;width:2px;
  background:#e9c66f;
}
.lcx-task.lcx-task-done:before{background:#68dcb2}
.lcx-task.lcx-task-urgent:before{background:#ff7869}
.lcx-task-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.lcx-task-head b{
  color:#e5f6fb;
  font-size:9px;
}
.lcx-task-head span{
  color:#e6cb87;
  font-size:7px;
}
.lcx-task p,
.lcx-notice p,
.lcx-schedule p{
  margin:5px 0 0;
  color:#718991;
  font-size:8px;
  line-height:1.58;
}
.lcx-task-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:6px;
}
.lcx-task-meta span{
  padding:4px 6px;
  border:1px solid rgba(123,233,255,.09);
  border-radius:99px;
  color:#627f88;
  font-size:6px;
}
.lcx-notice{
  border-left:2px solid #77deef;
}
.lcx-notice.lcx-notice-warn{border-left-color:#e9c66f}
.lcx-notice.lcx-notice-danger{border-left-color:#ff7869}
.lcx-notice-head,
.lcx-transaction,
.lcx-schedule{
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.lcx-notice-head b,
.lcx-transaction b,
.lcx-schedule b{
  color:#dff6fb;
  font-size:9px;
}
.lcx-notice-head span,
.lcx-transaction span,
.lcx-schedule span{
  color:#66848e;
  font-size:7px;
}
.lcx-balance{
  padding:16px;
  border:1px solid rgba(233,198,111,.17);
  border-radius:14px;
  background:
    radial-gradient(circle at 88% 10%,rgba(233,198,111,.1),transparent 28%),
    rgba(233,198,111,.035);
}
.lcx-balance small{
  display:block;color:#8c8067;font-size:7px;letter-spacing:.13em;
}
.lcx-balance b{
  display:block;margin-top:6px;color:#fff0bd;font-size:24px;letter-spacing:.05em;
}
.lcx-balance span{
  color:#8e866f;font-size:8px;
}
.lcx-id-card{
  position:relative;
  overflow:hidden;
  padding:14px;
  border:1px solid rgba(123,233,255,.29);
  border-radius:16px;
  background:
    linear-gradient(130deg,rgba(75,190,234,.15),rgba(42,91,179,.16)),
    rgba(6,24,42,.74);
}
.lcx-id-card:before{
  content:"";
  position:absolute;
  right:-35px;top:-45px;
  width:120px;height:120px;border-radius:50%;
  background:repeating-radial-gradient(circle,rgba(123,233,255,.13) 0 1px,transparent 1px 7px);
}
.lcx-id-card>*{position:relative}
.lcx-id-title{
  color:#75ddf0;font-size:7px;letter-spacing:.13em;
}
.lcx-id-name{
  margin-top:7px;color:#f0fbff;font-size:17px;font-weight:900;letter-spacing:.07em;
}
.lcx-id-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:11px;
}
.lcx-id-grid div{
  padding:7px;
  border:1px solid rgba(123,233,255,.11);
  border-radius:8px;
}
.lcx-id-grid small{
  display:block;color:#608896;font-size:6px;
}
.lcx-id-grid b{
  display:block;margin-top:3px;color:#d8f6ff;font-size:8px;
}
.lcx-special-app{
  padding:10px;
  border:1px solid rgba(184,140,255,.15);
  border-radius:11px;
  background:rgba(184,140,255,.025);
}
.lcx-special-app b{color:#d9c7ff;font-size:9px}
.lcx-special-app p{margin:5px 0 0;color:#82779a;font-size:8px;line-height:1.55}

.lcx-phone-dock{
  display:flex;
  justify-content:center;
  padding-top:11px;
}
.lcx-phone-dock span{
  width:86px;height:3px;border-radius:999px;
  background:rgba(166,230,245,.32);
}

@keyframes lcx-phone-scan{
  0%,62%{transform:translateX(-130%)}
  84%,100%{transform:translateX(130%)}
}
@keyframes lcx-phone-pulse{
  0%,100%{box-shadow:0 0 0 rgba(233,198,111,0)}
  50%{box-shadow:0 0 16px rgba(233,198,111,.23)}
}
@keyframes lcx-phone-alert{
  0%,100%{box-shadow:0 0 0 rgba(255,97,76,0)}
  50%{box-shadow:0 0 17px rgba(255,97,76,.3)}
}
@keyframes lcx-app-open{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:none}
}
@media(max-width:520px){
  .lcx-phone{width:100%}
  .lcx-phone-screen{min-height:535px}
}
@media(prefers-reduced-motion:reduce){
  .lcx-phone *{animation:none!important;transition:none!important}
}

/* =========================================================
   V1.1 平台兼容与全局可读性修复
   必须放在全部旧CSS的最末尾
   ========================================================= */

.fy-story,
.fy-story p,
.fy-story div,
.fy-story span,
.fy-story li,
.fy-story strong,
.fy-story em{
  color:#e8f0f4!important;
  text-shadow:none!important;
}
.fy-story{
  padding:22px 24px!important;
  border:1px solid rgba(118,205,232,.18)!important;
  border-radius:14px!important;
  background:
    linear-gradient(145deg,rgba(8,20,32,.98),rgba(13,25,45,.97))!important;
  line-height:1.9!important;
  font-size:15px!important;
  font-weight:400!important;
  opacity:1!important;
}
.fy-story a{
  color:#8be8ff!important;
}

.fy-panel,
.fy-panel-body,
.fy-section,
.fy-npc-card,
.fy-npc-compact,
.fy-ability-card{
  color:#dce9ee!important;
}
.fy-panel{
  border-color:rgba(121,210,235,.22)!important;
  background:linear-gradient(145deg,#07131d,#0b1728)!important;
}
.fy-panel>summary{
  color:#f3f8fa!important;
  background:linear-gradient(135deg,#0c1b29,#101d31)!important;
  border-color:rgba(121,210,235,.18)!important;
}
.fy-summary-title,
.fy-player-name,
.fy-npc-name,
.fy-ability-name{
  color:#f5fbfd!important;
}
.fy-summary-brief,
.fy-player-codename,
.fy-npc-codename,
.fy-ability-type,
.fy-ability-exposure,
.fy-resource-line,
.fy-npc-note,
.fy-npc-techniques{
  color:#9eb4bc!important;
}
.fy-section-title,
.fy-info-label,
.fy-footer-label{
  color:#e4c978!important;
}
.fy-info-value,
.fy-info-row b,
.fy-item-name,
.fy-item-state,
.fy-item-count,
.fy-event-list li,
.fy-clue-list li,
.fy-memory-list li,
.fy-compact-name,
.fy-compact-role,
.fy-compact-state{
  color:#e6f0f3!important;
}
.fy-info-item,
.fy-info-row,
.fy-section,
.fy-ability-card,
.fy-npc-card,
.fy-npc-compact{
  border-color:rgba(121,210,235,.16)!important;
  background:rgba(9,23,36,.72)!important;
}
.fy-empty{
  color:#748d96!important;
}

/* 避免平台浅色主题把手机内部改成白底 */
.lcx-phone,
.lcx-phone *,
.lcx-phone-device,
.lcx-phone-screen,
.lcx-app-sheet,
.lcx-app-tile,
.lcx-thread>summary,
.lcx-row,
.lcx-task,
.lcx-notice,
.lcx-transaction,
.lcx-schedule{
  color-scheme:dark!important;
}
.lcx-phone-device{
  background:linear-gradient(150deg,#102a3a,#04101a 48%,#07172a)!important;
}
.lcx-phone-screen{
  color:#e9f7fb!important;
  background:
    radial-gradient(circle at 82% 10%,rgba(233,198,111,.07),transparent 24%),
    radial-gradient(circle at 10% 75%,rgba(57,151,255,.08),transparent 31%),
    linear-gradient(160deg,#071621,#04101a 58%,#061324)!important;
}
.lcx-app-sheet{
  color:#e8f6fa!important;
  background:linear-gradient(150deg,#061723,#050f19)!important;
}
.lcx-app-tile{
  color:#e7f8fc!important;
  background:linear-gradient(145deg,rgba(21,48,63,.94),rgba(5,18,29,.96))!important;
}
.lcx-app-sheet *,
.lcx-phone-screen *{
  opacity:1;
}
.lcx-app-sheet p,
.lcx-task p,
.lcx-notice p,
.lcx-schedule p,
.lcx-message,
.lcx-thread-copy small{
  color:#9cb2ba!important;
}
.lcx-app-sheet b,
.lcx-task-head b,
.lcx-notice-head b,
.lcx-transaction b,
.lcx-schedule b,
.lcx-thread-copy b,
.lcx-row b{
  color:#e5f7fb!important;
}
.lcx-section-title{
  color:#e4ca7e!important;
}
.lcx-empty{
  color:#78919a!important;
}

/* 如果平台误把局部内容包入pre/code，至少不再出现白底白字 */
.lcx-phone pre,
.lcx-phone code{
  display:block!important;
  margin:0!important;
  padding:8px!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  color:#ffb1a5!important;
  background:#09131b!important;
  border:1px solid rgba(255,113,96,.35)!important;
  font-family:Consolas,monospace!important;
  font-size:10px!important;
}

/* 提高窄屏正文与终端可读性 */
@media(max-width:600px){
  .fy-story{
    padding:17px 15px!important;
    font-size:14px!important;
    line-height:1.82!important;
  }
  .lcx-phone-screen{
    min-height:520px!important;
  }
}

/* =========================================================
   玩家输入气泡与角色档案可读性优化 V1.2
   平台稳定钩子：#customized-question-content
   放在全部CSS最末尾
   ========================================================= */

#customized-question-content{
  position:relative!important;
  box-sizing:border-box!important;
  width:min(100%,760px)!important;
  max-width:min(760px,calc(100vw - 150px))!important;
  padding:20px 22px 19px!important;
  border:1px solid rgba(119,220,247,.26)!important;
  border-top:2px solid rgba(139,232,255,.78)!important;
  border-radius:18px 18px 18px 7px!important;
  color:#eaf6fa!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(233,198,111,.08),transparent 27%),
    linear-gradient(145deg,rgba(13,32,43,.98),rgba(10,24,37,.98) 48%,rgba(8,19,31,.98))!important;
  box-shadow:
    0 16px 38px rgba(0,0,0,.26),
    inset 0 1px rgba(255,255,255,.035),
    inset 4px 0 rgba(123,233,255,.035)!important;
  font-family:"Microsoft YaHei UI","PingFang SC","Microsoft YaHei",sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.82!important;
  letter-spacing:.012em!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  opacity:1!important;
  text-shadow:none!important;
}

#customized-question-content:before{
  content:"PLAYER INPUT / PERSONAL ARCHIVE";
  display:block;
  margin:0 0 12px;
  padding:0 0 9px;
  border-bottom:1px solid rgba(123,233,255,.13);
  color:#6ca9b8;
  font-size:8px;
  font-weight:900;
  line-height:1;
  letter-spacing:.18em;
}

#customized-question-content,
#customized-question-content p,
#customized-question-content div,
#customized-question-content span,
#customized-question-content li,
#customized-question-content ol,
#customized-question-content ul,
#customized-question-content em{
  color:#dcecf1!important;
}

#customized-question-content h1,
#customized-question-content h2,
#customized-question-content h3,
#customized-question-content h4{
  margin:15px 0 8px!important;
  color:#fff0bd!important;
  font-family:"Bahnschrift","Arial Narrow","Microsoft YaHei UI",sans-serif!important;
  font-weight:900!important;
  line-height:1.35!important;
  letter-spacing:.075em!important;
}

#customized-question-content h1{
  margin-top:0!important;
  padding-bottom:10px!important;
  border-bottom:1px solid rgba(233,198,111,.18)!important;
  font-size:19px!important;
}

#customized-question-content h2{
  padding-left:10px!important;
  border-left:2px solid #e9c66f!important;
  font-size:14px!important;
}

#customized-question-content h3,
#customized-question-content h4{
  font-size:12px!important;
}

#customized-question-content strong,
#customized-question-content b{
  color:#f5dda0!important;
  font-weight:800!important;
}

#customized-question-content blockquote{
  margin:10px 0 14px!important;
  padding:10px 12px!important;
  border:0!important;
  border-left:2px solid #72dff3!important;
  border-radius:0 9px 9px 0!important;
  color:#acd7e0!important;
  background:rgba(83,184,216,.055)!important;
}

#customized-question-content ul,
#customized-question-content ol{
  margin:8px 0 13px!important;
  padding-left:21px!important;
}

#customized-question-content li{
  margin:4px 0!important;
}

#customized-question-content li::marker{
  color:#e9c66f!important;
}

#customized-question-content hr{
  height:1px!important;
  margin:15px 0!important;
  border:0!important;
  background:linear-gradient(90deg,rgba(233,198,111,.58),rgba(123,233,255,.16),transparent)!important;
}

#customized-question-content code{
  padding:2px 5px!important;
  border:1px solid rgba(123,233,255,.12)!important;
  border-radius:5px!important;
  color:#bcefff!important;
  background:rgba(123,233,255,.055)!important;
  font-family:Consolas,monospace!important;
  font-size:.92em!important;
}

#customized-question-content a{
  color:#8be8ff!important;
}

@media(max-width:680px){
  #customized-question-content{
    width:100%!important;
    max-width:calc(100vw - 82px)!important;
    padding:17px 16px!important;
    border-radius:15px 15px 15px 6px!important;
    font-size:13px!important;
    line-height:1.76!important;
  }
  #customized-question-content:before{
    font-size:7px!important;
  }
}

/* 平台内部真实结构：Markdown正文、时间与操作按钮 */
#customized-question-content > .absolute.top-0{
  left:5%!important;
  width:90%!important;
  height:1px!important;
  transform:none!important;
  background:linear-gradient(90deg,transparent,rgba(123,233,255,.58) 22%,rgba(233,198,111,.54) 50%,rgba(123,233,255,.58) 78%,transparent)!important;
  box-shadow:none!important;
}

#customized-question-content .markdown-body{
  color:#dcecf1!important;
  background:transparent!important;
  font-family:"Microsoft YaHei UI","PingFang SC","Microsoft YaHei",sans-serif!important;
  font-size:14px!important;
  line-height:1.82!important;
}

#customized-question-content .markdown-body p{
  margin:0 0 11px!important;
  color:#dcecf1!important;
  line-height:1.82!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

#customized-question-content .markdown-body p:last-child{
  margin-bottom:0!important;
}

#customized-question-content .markdown-body strong,
#customized-question-content .markdown-body b{
  color:#f5dda0!important;
  font-weight:800!important;
}

#customized-question-content .markdown-body h1,
#customized-question-content .markdown-body h2,
#customized-question-content .markdown-body h3,
#customized-question-content .markdown-body h4{
  color:#fff0bd!important;
}

#customized-question-content > .text-xs{
  margin-top:14px!important;
  padding-top:10px!important;
  color:#6f929d!important;
  border-top:1px dotted rgba(123,233,255,.18)!important;
  font-size:10px!important;
  letter-spacing:.055em!important;
}

#customized-question-content .MuiStack-root{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  margin-top:5px!important;
}

#customized-question-content .MuiButton-root{
  min-width:auto!important;
  padding:4px 7px!important;
  color:#789ca7!important;
  border:1px solid transparent!important;
  border-radius:6px!important;
  background:transparent!important;
  box-shadow:none!important;
  font-family:"Microsoft YaHei UI","PingFang SC",sans-serif!important;
  font-size:10px!important;
  line-height:1.3!important;
  transition:color .18s ease,border-color .18s ease,background .18s ease!important;
}

#customized-question-content .MuiButton-root:hover{
  color:#ffe7a3!important;
  border-color:rgba(233,198,111,.2)!important;
  background:rgba(233,198,111,.055)!important;
}

#customized-question-content .MuiButton-root svg{
  color:inherit!important;
}

#customized-question-content.parent,
.group:has(> #customized-question-content){
  max-width:100%!important;
}

@media(max-width:680px){
  #customized-question-content .markdown-body{
    font-size:13px!important;
    line-height:1.76!important;
  }
  #customized-question-content .markdown-body p{
    line-height:1.76!important;
  }
  #customized-question-content .MuiButton-root{
    padding:4px 5px!important;
  }
}
/* =========================================================
   蓝色半透明 · 韩漫电子 ID 卡主题
   顶部栏 / 输入栏 / 按钮栏 / 分页栏 / 评论区
   ========================================================= */


/* ==================== 1. 顶部栏 ==================== */

.sticky.w-full.top-0.flex.items-center {
    background:
        linear-gradient(
            135deg,
            rgba(239, 249, 255, 0.96) 0%,
            rgba(199, 231, 255, 0.90) 42%,
            rgba(155, 211, 255, 0.88) 100%
        ) !important;
    border-bottom: 1px solid rgba(43, 155, 230, 0.72) !important;
    box-shadow:
        0 8px 28px rgba(16, 88, 150, 0.18),
        inset 0 -1px 0 rgba(255, 255, 255, 0.78),
        inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    color: #073a65 !important;
    font-family:
        Inter, ui-sans-serif, system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif !important;
}


/* 模型选择器：电子身份芯片卡槽 */

#ai-model-selector .group.flex.items-center {
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.86),
            rgba(206, 237, 255, 0.72)
        ) !important;
    border: 1px solid rgba(28, 139, 215, 0.62) !important;
    border-radius: 12px !important;
    box-shadow:
        0 5px 15px rgba(17, 93, 151, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.95),
        inset 0 0 12px rgba(71, 181, 255, 0.08) !important;
    color: #073d69 !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease !important;
}

#ai-model-selector .group.flex.items-center:hover {
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.97),
            rgba(181, 226, 255, 0.88)
        ) !important;
    border-color: rgba(0, 132, 224, 0.92) !important;
    box-shadow:
        0 7px 20px rgba(8, 112, 190, 0.23),
        0 0 0 3px rgba(56, 177, 255, 0.13),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    transform: translateY(-1px) !important;
}

#ai-model-selector .truncate.text-\[13px\] {
    color: #063b66 !important;
    font-weight: 700 !important;
    letter-spacing: 0.035em !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.78) !important;
}

#ai-model-selector .shrink-0.flex.items-center svg {
    color: #0879c5 !important;
    stroke: currentColor !important;
    filter: drop-shadow(0 0 4px rgba(31, 164, 246, 0.28)) !important;
    transition: transform 180ms ease, color 180ms ease !important;
}

#ai-model-selector .group.flex.items-center:hover
    .shrink-0.flex.items-center svg {
    color: #005f9f !important;
    transform: translateY(1px) !important;
}


/* 顶部栏移动端图标、音乐与设置按钮 */

.sticky.w-full.top-0 svg.lucide-clock-8,
.sticky.w-full.top-0 svg:has(use[href="#icon-icon-set"]) {
    color: #096fae !important;
    stroke: currentColor !important;
    filter: drop-shadow(0 1px 3px rgba(0, 97, 164, 0.20)) !important;
    transition:
        color 180ms ease,
        transform 180ms ease,
        filter 180ms ease !important;
}

.sticky.w-full.top-0 svg.lucide-clock-8:hover,
.sticky.w-full.top-0 svg:has(use[href="#icon-icon-set"]):hover {
    color: #004f87 !important;
    transform: translateY(-1px) scale(1.06) !important;
    filter: drop-shadow(0 0 6px rgba(0, 157, 245, 0.42)) !important;
}

.sticky.w-full.top-0 span.MuiBadge-dot.md\:hidden {
    background: #00a8ff !important;
    border: 1px solid rgba(255, 255, 255, 0.96) !important;
    box-shadow:
        0 0 0 2px rgba(0, 132, 218, 0.16),
        0 0 8px rgba(0, 157, 255, 0.75) !important;
}

.sticky.w-full.top-0 button.MuiIconButton-root:has(svg.lucide-music-2),
#header-setting-button {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.82),
            rgba(185, 226, 255, 0.70)
        ) !important;
    color: #076da9 !important;
    border: 1px solid rgba(33, 143, 211, 0.53) !important;
    border-radius: 11px !important;
    box-shadow:
        0 4px 12px rgba(16, 96, 151, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease !important;
}

.sticky.w-full.top-0 button.MuiIconButton-root:has(svg.lucide-music-2):hover,
#header-setting-button:hover {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.98),
            rgba(150, 213, 255, 0.88)
        ) !important;
    border-color: rgba(0, 120, 200, 0.88) !important;
    box-shadow:
        0 6px 17px rgba(7, 99, 164, 0.22),
        0 0 0 3px rgba(36, 170, 255, 0.12) !important;
    transform: translateY(-1px) !important;
}

.sticky.w-full.top-0 button.MuiIconButton-root svg.lucide-music-2,
#header-setting-button svg {
    color: #086ea9 !important;
    stroke: currentColor !important;
    filter: drop-shadow(0 0 4px rgba(29, 164, 245, 0.26)) !important;
}


/* ==================== 2. 功能按钮栏 ==================== */

#ai-mod-button2 {
    background:
        linear-gradient(
            100deg,
            rgba(229, 246, 255, 0.78),
            rgba(182, 224, 252, 0.55),
            rgba(232, 248, 255, 0.76)
        ) !important;
    border: 1px solid rgba(35, 145, 213, 0.42) !important;
    border-radius: 15px !important;
    box-shadow:
        0 8px 22px rgba(10, 85, 141, 0.13),
        inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(14px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
}

#ai-mod-button2 button.MuiButton-root {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.92),
            rgba(184, 227, 255, 0.82)
        ) !important;
    color: #064a7b !important;
    border: 1px solid rgba(25, 135, 205, 0.62) !important;
    border-radius: 11px !important;
    box-shadow:
        0 4px 12px rgba(9, 83, 139, 0.13),
        inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
    font-weight: 700 !important;
    letter-spacing: 0.025em !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.72) !important;
    transition:
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease !important;
}

#ai-mod-button2 button.MuiButton-root:hover {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 1),
            rgba(113, 198, 255, 0.88)
        ) !important;
    color: #003b68 !important;
    border-color: #0784d1 !important;
    box-shadow:
        0 7px 18px rgba(0, 99, 168, 0.22),
        0 0 0 3px rgba(31, 161, 243, 0.13),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    transform: translateY(-2px) !important;
}

#ai-mod-button2 button.MuiButton-root:active {
    background: rgba(125, 203, 250, 0.88) !important;
    transform: translateY(0) scale(0.98) !important;
}

#ai-mod-button2 button.MuiButton-root svg {
    color: #0877b9 !important;
    stroke: currentColor !important;
    filter: drop-shadow(0 0 3px rgba(13, 142, 223, 0.24)) !important;
    transition: transform 180ms ease, color 180ms ease !important;
}

#ai-mod-button2 button.MuiButton-root:hover svg {
    color: #004f87 !important;
    transform: scale(1.08) !important;
}


/* ==================== 3. 底部栏与输入栏 ==================== */

.bg-gradient-to-t {
    background:
        linear-gradient(
            to top,
            rgba(190, 227, 251, 0.96) 0%,
            rgba(221, 242, 255, 0.91) 54%,
            rgba(241, 250, 255, 0.70) 100%
        ) !important;
    border-top: 1px solid rgba(34, 145, 215, 0.54) !important;
    box-shadow:
        0 -10px 30px rgba(13, 83, 133, 0.13),
        inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
}

#ai-chat-bottom-input {
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.90),
            rgba(199, 233, 255, 0.82)
        ) !important;
    border: 1px solid rgba(20, 133, 208, 0.68) !important;
    border-radius: 17px !important;
    box-shadow:
        0 9px 26px rgba(7, 77, 130, 0.18),
        0 0 0 3px rgba(61, 178, 248, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.98),
        inset 0 0 16px rgba(55, 174, 246, 0.06) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    transition:
        border-color 200ms ease,
        box-shadow 200ms ease,
        background-color 200ms ease !important;
}

#ai-chat-bottom-input:focus-within {
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.98),
            rgba(214, 240, 255, 0.94)
        ) !important;
    border-color: #087fc8 !important;
    box-shadow:
        0 10px 28px rgba(0, 99, 167, 0.22),
        0 0 0 4px rgba(23, 158, 240, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

#ai-chat-input {
    background: transparent !important;
    color: #082f4e !important;
    caret-color: #007bc4 !important;
    font-family:
        Inter, ui-sans-serif, system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.58) !important;
}

#ai-chat-input::placeholder {
    color: #527c98 !important;
    opacity: 1 !important;
    font-weight: 500 !important;
}

#ai-chat-input::selection {
    background: rgba(23, 145, 221, 0.30) !important;
    color: #002f52 !important;
}


/* ==================== 4. 分页栏 ====================
   仅修改颜色、边框、阴影等视觉属性，不更改原布局
   ==================================================== */

.MuiPaginationItem-root {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.88),
            rgba(195, 231, 255, 0.78)
        ) !important;
    color: #07517f !important;
    border-color: rgba(24, 133, 204, 0.55) !important;
    border-radius: 9px !important;
    box-shadow:
        0 3px 9px rgba(7, 78, 129, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.90) !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.70) !important;
    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease !important;
}

.MuiPaginationItem-root:hover {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 1),
            rgba(135, 205, 250, 0.88)
        ) !important;
    color: #003b66 !important;
    border-color: rgba(0, 116, 190, 0.86) !important;
    box-shadow:
        0 5px 13px rgba(0, 92, 155, 0.20),
        0 0 0 3px rgba(37, 163, 239, 0.11) !important;
}

.MuiPaginationItem-root.Mui-selected {
    background:
        linear-gradient(
            145deg,
            #087fc8 0%,
            #22a6ed 52%,
            #6bcaff 100%
        ) !important;
    color: #ffffff !important;
    border-color: #0067a8 !important;
    box-shadow:
        0 5px 15px rgba(0, 91, 154, 0.30),
        0 0 0 3px rgba(39, 169, 244, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.36) !important;
    text-shadow: 0 1px 2px rgba(0, 48, 87, 0.46) !important;
}

.MuiPaginationItem-root.Mui-selected:hover {
    background:
        linear-gradient(
            145deg,
            #0671b5,
            #159ce5,
            #58c2fb
        ) !important;
    color: #ffffff !important;
}

.MuiPaginationItem-root.Mui-disabled {
    background: rgba(210, 228, 239, 0.62) !important;
    color: #7790a1 !important;
    border-color: rgba(109, 151, 176, 0.30) !important;
    box-shadow: none !important;
    opacity: 0.72 !important;
}

.MuiPaginationItem-icon {
    color: currentColor !important;
    filter: drop-shadow(0 1px 2px rgba(0, 80, 137, 0.18)) !important;
}

.MuiStack-root.css-1uwir8f {
    background: rgba(221, 242, 255, 0.78) !important;
    border-color: rgba(22, 132, 202, 0.46) !important;
    border-radius: 11px !important;
    box-shadow:
        0 4px 12px rgba(8, 83, 134, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.MuiStack-root.css-1uwir8f .MuiBox-root {
    color: #174f74 !important;
    font-weight: 600 !important;
}

.MuiInputBase-input {
    background: rgba(255, 255, 255, 0.88) !important;
    color: #073c63 !important;
    caret-color: #0077bd !important;
    border-color: rgba(13, 124, 197, 0.52) !important;
    border-radius: 7px !important;
    box-shadow: inset 0 1px 4px rgba(4, 72, 119, 0.10) !important;
    font-weight: 700 !important;
}

.MuiInputBase-input:focus {
    background: #ffffff !important;
    color: #062f4f !important;
    border-color: #087fc8 !important;
    box-shadow:
        0 0 0 3px rgba(25, 158, 238, 0.15),
        inset 0 1px 3px rgba(4, 72, 119, 0.08) !important;
}


/* ==================== 5. 评论区主背景 ====================
   不修改评论区背景容器的任何布局属性
   ======================================================== */

div[class*="w-full"][class*="bg-white"][class*="bottom-0"] {
    background:
        linear-gradient(
            145deg,
            rgba(240, 250, 255, 0.97) 0%,
            rgba(208, 237, 255, 0.95) 48%,
            rgba(183, 224, 252, 0.94) 100%
        ) !important;
    color: #082f4e !important;
    border-color: rgba(25, 137, 207, 0.56) !important;
    box-shadow:
        0 -14px 38px rgba(5, 70, 119, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.95),
        inset 0 0 36px rgba(49, 168, 239, 0.07) !important;
    backdrop-filter: blur(20px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(140%) !important;
    font-family:
        Inter, ui-sans-serif, system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif !important;
}


/* 评论标题与个人评分 */

div.text-lg.font-bold {
    color: #063f6c !important;
    font-weight: 800 !important;
    letter-spacing: 0.055em !important;
    text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.82),
        0 0 12px rgba(36, 162, 239, 0.14) !important;
}

p.MuiTypography-body1.text-grey-600 {
    color: #315f7e !important;
    font-weight: 650 !important;
}

span.MuiRating-root {
    background: rgba(255, 255, 255, 0.52) !important;
    border: 1px solid rgba(34, 144, 213, 0.30) !important;
    border-radius: 10px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.82),
        0 3px 10px rgba(9, 82, 134, 0.08) !important;
}

span.MuiRating-iconEmpty svg {
    color: #729db8 !important;
    fill: rgba(255, 255, 255, 0.48) !important;
    stroke: #5d91b2 !important;
    filter: drop-shadow(0 1px 2px rgba(0, 63, 109, 0.12)) !important;
}

span.MuiRating-iconFilled svg {
    color: #0a96e5 !important;
    fill: #25adf1 !important;
    stroke: #0572b7 !important;
    filter:
        drop-shadow(0 0 4px rgba(0, 156, 240, 0.46))
        drop-shadow(0 1px 1px rgba(0, 70, 121, 0.20)) !important;
}

span.text-orange-500 {
    color: #006fae !important;
    font-weight: 800 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.76) !important;
}


/* 评论输入框 */

div.flex.flex-col.border-gray-200 {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.90),
            rgba(211, 239, 255, 0.80)
        ) !important;
    border-color: rgba(23, 134, 205, 0.62) !important;
    border-radius: 14px !important;
    box-shadow:
        0 7px 20px rgba(7, 78, 129, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        background-color 180ms ease !important;
}

div.flex.flex-col.border-gray-200:focus-within {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.98),
            rgba(225, 245, 255, 0.94)
        ) !important;
    border-color: #0782cb !important;
    box-shadow:
        0 9px 24px rgba(0, 94, 158, 0.19),
        0 0 0 4px rgba(23, 159, 239, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

textarea.rc-textarea {
    background: transparent !important;
    color: #082f4e !important;
    caret-color: #007cc4 !important;
    font-family:
        Inter, ui-sans-serif, system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
}

textarea.rc-textarea::placeholder {
    color: #64879d !important;
    opacity: 1 !important;
}

textarea.rc-textarea::selection {
    background: rgba(27, 151, 226, 0.29) !important;
    color: #002e4f !important;
}

div.bg-gray-100.text-gray-500 {
    background: rgba(185, 225, 249, 0.62) !important;
    color: #3c6985 !important;
    border-color: rgba(25, 134, 203, 0.26) !important;
    font-weight: 650 !important;
}


/* 发送评论按钮 */

div.cursor-pointer.group.flex.items-center.justify-center {
    background:
        linear-gradient(
            145deg,
            #087fc8 0%,
            #23a7ec 55%,
            #66c9ff 100%
        ) !important;
    color: #ffffff !important;
    border: 1px solid #0571b5 !important;
    border-radius: 11px !important;
    box-shadow:
        0 6px 16px rgba(0, 91, 153, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.38) !important;
    transition:
        background-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease !important;
}

div.cursor-pointer.group.flex.items-center.justify-center:hover {
    background:
        linear-gradient(
            145deg,
            #056faf,
            #149fe8,
            #53c4fc
        ) !important;
    box-shadow:
        0 8px 21px rgba(0, 82, 142, 0.34),
        0 0 0 4px rgba(29, 168, 246, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.44) !important;
    transform: translateY(-2px) !important;
}

div.cursor-pointer.group.flex.items-center.justify-center:active {
    transform: translateY(0) scale(0.97) !important;
}

div[data-state="closed"] svg[data-icon="Send03"] {
    color: #ffffff !important;
    stroke: currentColor !important;
    filter: drop-shadow(0 1px 3px rgba(0, 50, 91, 0.38)) !important;
    transition: transform 180ms ease !important;
}

div.cursor-pointer.group.flex.items-center.justify-center:hover
    svg[data-icon="Send03"] {
    transform: translate(2px, -2px) rotate(-5deg) !important;
}


/* 评论分割线与排序按钮 */

div.style_divider__mW0YX {
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(16, 131, 203, 0.58),
            rgba(98, 195, 250, 0.76),
            rgba(16, 131, 203, 0.58),
            transparent
        ) !important;
    border-color: transparent !important;
    box-shadow: 0 0 7px rgba(22, 154, 231, 0.18) !important;
}

.MuiStack-root.css-1dmzxoz {
    background: rgba(216, 241, 255, 0.58) !important;
    border: 1px solid rgba(25, 139, 208, 0.30) !important;
    border-radius: 12px !important;
    box-shadow:
        0 4px 13px rgba(7, 79, 131, 0.09),
        inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
}

button.MuiButton-containedPrimary,
button.MuiButton-outlinedPrimary {
    border-radius: 9px !important;
    font-weight: 750 !important;
    letter-spacing: 0.02em !important;
    transition:
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease !important;
}

button.MuiButton-containedPrimary {
    background:
        linear-gradient(
            145deg,
            #087fc8,
            #22a8ed,
            #62c9ff
        ) !important;
    color: #ffffff !important;
    border-color: #0671b3 !important;
    box-shadow:
        0 5px 14px rgba(0, 91, 153, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.38) !important;
    text-shadow: 0 1px 2px rgba(0, 48, 87, 0.40) !important;
}

button.MuiButton-outlinedPrimary {
    background: rgba(255, 255, 255, 0.74) !important;
    color: #07517f !important;
    border-color: rgba(11, 123, 194, 0.62) !important;
    box-shadow:
        0 3px 10px rgba(6, 76, 127, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
}

button.MuiButton-containedPrimary:hover,
button.MuiButton-outlinedPrimary:hover {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.98),
            rgba(126, 205, 252, 0.92)
        ) !important;
    color: #003b66 !important;
    border-color: #0578be !important;
    box-shadow:
        0 6px 17px rgba(0, 91, 153, 0.20),
        0 0 0 3px rgba(34, 166, 242, 0.12) !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.74) !important;
    transform: translateY(-1px) !important;
}


/* ==================== 6. 评论列表与评论卡片 ==================== */

div.p-3.overflow-y-auto {
    color: #082f4e !important;
    scrollbar-color: rgba(28, 139, 207, 0.65) rgba(214, 239, 253, 0.55) !important;
}

div.group.ml-0 {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.78),
            rgba(213, 240, 255, 0.64)
        ) !important;
    color: #082f4e !important;
    border: 1px solid rgba(28, 138, 206, 0.33) !important;
    border-radius: 14px !important;
    box-shadow:
        0 6px 17px rgba(5, 75, 126, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease !important;
}

div.group.ml-0:hover {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.92),
            rgba(190, 231, 255, 0.78)
        ) !important;
    border-color: rgba(13, 126, 197, 0.58) !important;
    box-shadow:
        0 9px 23px rgba(0, 83, 141, 0.15),
        0 0 0 3px rgba(42, 169, 243, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
    transform: translateY(-1px) !important;
}

div.group img.rounded-full {
    border: 2px solid rgba(24, 141, 213, 0.72) !important;
    box-shadow:
        0 0 0 3px rgba(255, 255, 255, 0.68),
        0 4px 12px rgba(0, 86, 145, 0.20),
        0 0 12px rgba(31, 164, 241, 0.16) !important;
}

div.text-sm.text-grey-600 span.font-bold {
    color: #064b79 !important;
    font-weight: 800 !important;
    letter-spacing: 0.018em !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.72) !important;
}

span.text-\[10px\] {
    background: rgba(25, 153, 228, 0.16) !important;
    color: #006cae !important;
    border: 1px solid rgba(13, 127, 198, 0.44) !important;
    border-radius: 6px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68) !important;
    font-weight: 800 !important;
}

div.break-all {
    color: #123b57 !important;
    font-weight: 500 !important;
    line-height: 1.72 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.52) !important;
}

div.text-xs.text-grey-600 {
    color: #55788f !important;
    font-weight: 550 !important;
}

button.text-gray-400 {
    background: rgba(255, 255, 255, 0.55) !important;
    color: #477691 !important;
    border: 1px solid rgba(28, 137, 204, 0.30) !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 7px rgba(7, 76, 126, 0.08) !important;
    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease !important;
}

button.text-gray-400:hover {
    background: rgba(169, 222, 253, 0.70) !important;
    color: #006fae !important;
    border-color: rgba(5, 119, 189, 0.62) !important;
    box-shadow:
        0 4px 11px rgba(0, 87, 147, 0.14),
        0 0 0 3px rgba(34, 165, 241, 0.10) !important;
    transform: translateY(-1px) !important;
}

button.text-gray-400 svg {
    color: currentColor !important;
    stroke: currentColor !important;
    filter: drop-shadow(0 1px 2px rgba(0, 74, 126, 0.16)) !important;
    transition: transform 180ms ease !important;
}

button.text-gray-400:hover svg {
    transform: scale(1.10) rotate(-4deg) !important;
}

span.cursor-pointer {
    color: #076fae !important;
    font-weight: 750 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.66) !important;
    transition:
        color 180ms ease,
        text-shadow 180ms ease !important;
}

span.cursor-pointer:hover {
    color: #004f84 !important;
    text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.80),
        0 0 7px rgba(21, 155, 235, 0.26) !important;
}

div.ml-8.border-l {
    background:
        linear-gradient(
            90deg,
            rgba(84, 184, 241, 0.09),
            rgba(255, 255, 255, 0)
        ) !important;
    border-left-color: rgba(17, 132, 203, 0.52) !important;
    box-shadow: inset 3px 0 8px rgba(26, 155, 230, 0.05) !important;
}

/* =========================================================
   《临界都市》升格阵线原生全界面换肤 V2.0
   适配当前真实类名：fy-* 与 lcx-*
   规则：主题类加在本轮原有最外层，不新增嵌套外框
   ========================================================= */

/* =========================================================
   01. 主题根节点：整块输出变成连续的升格阵线画布
   ========================================================= */

.lc-output.lc-theme-ascension{
  --af-primary:#ff4fd8;
  --af-secondary:#a875ff;
  --af-tertiary:#6f52ff;
  --af-danger:#ff365f;

  --fy-bg-0:#09020c;
  --fy-bg-1:#100516;
  --fy-bg-2:#1b0925;
  --fy-bg-3:#2b103a;
  --fy-bg-4:#48175b;

  --fy-panel:rgba(18,6,24,.98);
  --fy-panel-light:rgba(47,15,59,.95);
  --fy-card:rgba(31,9,42,.96);
  --fy-card-light:rgba(66,21,81,.74);

  --fy-white:#fff7ff;
  --fy-text:#f7e8f5;
  --fy-text-main:#f0d9ec;
  --fy-text-soft:#d6adcE;
  --fy-text-muted:#a17d99;

  --fy-cyan:#ff64db;
  --fy-blue:#c67cff;
  --fy-blue-2:#8d66ff;
  --fy-purple:#e16eff;
  --fy-pink:#ff568e;
  --fy-gold:#ffc2ec;
  --fy-gold-2:#ff8ed8;
  --fy-red:#ff4d68;
  --fy-green:#c395ff;

  --fy-line:rgba(255,79,216,.36);
  --fy-line-soft:rgba(197,117,255,.17);

  --fy-shadow:
    0 18px 48px rgba(0,0,0,.56),
    0 0 28px rgba(181,70,255,.12);

  position:relative !important;
  isolation:isolate;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:10px 12px 14px !important;
  overflow:visible !important;

  color:var(--fy-text) !important;

  border:0 !important;
  border-radius:0 !important;

  background:
    linear-gradient(rgba(255,79,216,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(168,117,255,.018) 1px,transparent 1px),
    radial-gradient(circle at 92% 0%,rgba(255,79,216,.12),transparent 30%),
    radial-gradient(circle at 5% 78%,rgba(120,72,255,.09),transparent 34%),
    linear-gradient(160deg,#0c030f,#07030b 55%,#100516) !important;
  background-size:28px 28px,28px 28px,auto,auto,auto !important;

  box-shadow:none !important;
}

.lc-output.lc-theme-ascension::before{
  content:"ASCENSION FRONT // SIGNAL OVERRIDE";
  position:relative !important;
  z-index:10;
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 10px;
  padding:7px 12px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;

  color:#ffd9f4;
  background:
    linear-gradient(90deg,rgba(255,79,216,.18),rgba(31,7,35,.88));

  border:1px solid rgba(255,79,216,.3);
  border-left:3px solid var(--af-primary);
  border-radius:3px;

  box-shadow:
    inset 0 1px rgba(255,255,255,.04),
    0 8px 18px rgba(0,0,0,.2),
    0 0 18px rgba(255,79,216,.08);

  font-size:9px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.15em;
  text-shadow:0 0 10px rgba(255,79,216,.46);
}

.lc-output.lc-theme-ascension::after{
  content:none !important;
  display:none !important;
}

.lc-output.lc-theme-ascension[data-ascension-level="1"]{
  --af-primary:#c889ff;
  --af-secondary:#8979ff;
  --af-tertiary:#765fff;
  --fy-cyan:#c994ff;
  --fy-blue:#a980ff;
  --fy-purple:#d17cff;
  --fy-pink:#e986d7;
  --fy-line:rgba(200,137,255,.28);
}

.lc-output.lc-theme-ascension[data-ascension-level="1"]::before{
  content:"ASCENSION FRONT // SIGNAL DETECTED";
  color:#ecd7ff;
  border-color:rgba(200,137,255,.25);
  border-left-color:#c889ff;
  background:
    linear-gradient(90deg,rgba(200,137,255,.12),rgba(24,9,32,.84));
}

.lc-output.lc-theme-ascension[data-ascension-level="3"]{
  --af-primary:#ff365f;
  --af-secondary:#ff61bc;
  --af-tertiary:#bf4dff;
  --fy-cyan:#ff5f98;
  --fy-blue:#e962d7;
  --fy-purple:#bd5cff;
  --fy-pink:#ff496f;
  --fy-gold:#ffc0d4;
  --fy-line:rgba(255,54,95,.43);
}

.lc-output.lc-theme-ascension[data-ascension-level="3"]::before{
  content:"ASCENSION FRONT // TOTAL OVERRIDE";
  color:#ffe4eb;
  border-color:rgba(255,54,95,.38);
  border-left-color:#ff365f;
  background:
    linear-gradient(90deg,rgba(255,54,95,.2),rgba(38,5,16,.91));
  text-shadow:0 0 11px rgba(255,54,95,.56);
}

/* =========================================================
   02. 剧情正文：完整替换原蓝黑正文卡
   ========================================================= */

.lc-theme-ascension .fy-story{
  color:var(--fy-text) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,79,216,.13),transparent 34%),
    radial-gradient(circle at 0% 100%,rgba(126,73,255,.08),transparent 36%),
    linear-gradient(145deg,rgba(18,6,24,.99),rgba(10,5,17,.98)) !important;
  border-color:rgba(255,79,216,.4) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.48),
    0 0 28px rgba(178,71,255,.1),
    inset 3px 0 rgba(255,79,216,.08),
    inset 0 1px rgba(255,255,255,.035) !important;
}

.lc-theme-ascension .fy-story::before{
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,95,220,.09),
      transparent
    ) !important;
}

.lc-theme-ascension .fy-story::after{
  background-image:
    radial-gradient(
      circle,
      rgba(220,120,255,.22) 1px,
      transparent 1.5px
    ) !important;
}

.lc-theme-ascension .fy-story,
.lc-theme-ascension .fy-story p,
.lc-theme-ascension .fy-story div,
.lc-theme-ascension .fy-story span,
.lc-theme-ascension .fy-story li{
  color:#f4e4f2 !important;
}

.lc-theme-ascension .fy-story strong,
.lc-theme-ascension .fy-story b{
  color:#fff4fd !important;
}

.lc-theme-ascension .fy-story em,
.lc-theme-ascension .fy-story i,
.lc-theme-ascension .fy-story a{
  color:#e5b2ff !important;
}

/* =========================================================
   03. 通用折叠栏：直接给fy-panel原生换肤
   ========================================================= */

.lc-theme-ascension .fy-panel{
  color:var(--fy-text-main) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,79,216,.11),transparent 32%),
    linear-gradient(145deg,rgba(17,6,23,.99),rgba(11,5,18,.98)) !important;
  border-color:var(--fy-line) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.48),
    0 0 26px rgba(176,69,255,.09),
    inset 0 1px rgba(255,255,255,.035) !important;
}

.lc-theme-ascension .fy-panel:hover{
  border-color:rgba(255,104,225,.58) !important;
  box-shadow:
    0 24px 54px rgba(0,0,0,.54),
    0 0 32px rgba(220,78,255,.14),
    inset 0 1px rgba(255,255,255,.045) !important;
}

.lc-theme-ascension .fy-panel::before{
  background:
    linear-gradient(
      108deg,
      transparent 20%,
      rgba(255,91,219,.075) 48%,
      transparent 74%
    ) !important;
}

.lc-theme-ascension .fy-panel::after{
  background:
    linear-gradient(
      90deg,
      transparent,
      var(--af-primary),
      var(--af-secondary),
      transparent
    ) !important;
}

.lc-theme-ascension .fy-panel > summary{
  background:
    linear-gradient(
      90deg,
      rgba(86,24,94,.74),
      rgba(47,14,61,.54) 50%,
      rgba(14,6,21,.24)
    ) !important;
  border-bottom-color:rgba(255,79,216,.15) !important;
}

.lc-theme-ascension .fy-panel > summary:hover{
  background:
    linear-gradient(
      90deg,
      rgba(112,30,119,.82),
      rgba(59,17,75,.62) 50%,
      rgba(18,7,27,.28)
    ) !important;
}

.lc-theme-ascension .fy-panel[open] > summary{
  border-bottom-color:rgba(255,95,221,.26) !important;
}

.lc-theme-ascension .fy-panel > summary::before{
  background:
    linear-gradient(
      180deg,
      var(--af-primary),
      var(--af-secondary),
      var(--af-tertiary)
    ) !important;
  box-shadow:
    0 0 10px rgba(255,79,216,.62),
    0 0 20px rgba(168,117,255,.28) !important;
}

.lc-theme-ascension .fy-panel > summary::after{
  border-color:var(--af-secondary) !important;
}

.lc-theme-ascension .fy-panel[open] > summary::after{
  border-color:var(--af-primary) !important;
}

.lc-theme-ascension .fy-summary-title{
  color:#fff2fc !important;
  text-shadow:
    0 0 9px rgba(255,79,216,.46),
    0 0 20px rgba(168,117,255,.17) !important;
}

.lc-theme-ascension .fy-summary-brief{
  color:#d5b6d2 !important;
}

.lc-theme-ascension .fy-panel-body{
  color:#efddea !important;
}

/* =========================================================
   04. 当前场景与信息格
   ========================================================= */

.lc-theme-ascension .fy-scene{
  border-color:rgba(197,117,255,.42) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(177,92,255,.13),transparent 34%),
    linear-gradient(145deg,rgba(20,7,29,.99),rgba(12,5,21,.98)) !important;
}

.lc-theme-ascension .fy-scene::after{
  background:
    linear-gradient(
      90deg,
      transparent,
      #c886ff,
      #ff5fd8,
      transparent
    ) !important;
}

.lc-theme-ascension .fy-scene > summary::before{
  background:
    linear-gradient(
      180deg,
      #d08aff,
      #ff58d3
    ) !important;
}

.lc-theme-ascension .fy-info-item{
  background:
    linear-gradient(
      135deg,
      rgba(75,24,91,.62),
      rgba(31,11,44,.72)
    ) !important;
  border-color:rgba(218,116,255,.25) !important;
  box-shadow:
    inset 0 1px rgba(255,255,255,.025),
    0 8px 18px rgba(0,0,0,.2) !important;
}

.lc-theme-ascension .fy-info-item:hover{
  border-color:rgba(255,94,220,.48) !important;
  background:
    linear-gradient(
      135deg,
      rgba(98,30,117,.72),
      rgba(44,14,59,.78)
    ) !important;
}

.lc-theme-ascension .fy-info-item::before{
  background:var(--af-primary) !important;
  box-shadow:0 0 8px rgba(255,79,216,.68) !important;
}

.lc-theme-ascension .fy-info-label{
  color:#ff83e5 !important;
  text-shadow:0 0 8px rgba(255,79,216,.3) !important;
}

.lc-theme-ascension .fy-info-value{
  color:#f7eafa !important;
}

/* =========================================================
   05. 玩家终端、通用信息区与能力卡
   ========================================================= */

.lc-theme-ascension .fy-player{
  border-color:rgba(255,79,216,.44) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,70,202,.15),transparent 35%),
    linear-gradient(145deg,rgba(25,7,31,.99),rgba(13,5,22,.98)) !important;
}

.lc-theme-ascension .fy-player::after{
  background:
    linear-gradient(
      90deg,
      transparent,
      #ff55d3,
      #a875ff,
      transparent
    ) !important;
}

.lc-theme-ascension .fy-player > summary::before{
  background:
    linear-gradient(
      180deg,
      #ff55d3,
      #a875ff
    ) !important;
  box-shadow:
    0 0 11px rgba(255,79,216,.58),
    0 0 20px rgba(168,117,255,.22) !important;
}

.lc-theme-ascension .fy-player-header{
  color:#fff4fd !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,102,220,.2),transparent 40%),
    linear-gradient(110deg,rgba(127,35,142,.74),rgba(54,18,77,.72)) !important;
  border-color:rgba(255,145,232,.36) !important;
  box-shadow:
    inset 0 1px rgba(255,255,255,.055),
    0 13px 27px rgba(30,5,39,.34) !important;
}

.lc-theme-ascension .fy-player-header::after{
  background:
    repeating-radial-gradient(
      circle,
      rgba(255,153,233,.18) 0 2px,
      transparent 2px 9px
    ) !important;
}

.lc-theme-ascension .fy-player-name{
  color:#fff5fe !important;
  text-shadow:
    0 0 9px rgba(255,121,225,.68),
    0 0 26px rgba(168,117,255,.24) !important;
}

.lc-theme-ascension .fy-player-codename{
  color:#efc4ff !important;
}

.lc-theme-ascension .fy-section{
  background:
    linear-gradient(
      145deg,
      rgba(61,19,73,.77),
      rgba(27,9,39,.84)
    ) !important;
  border-color:rgba(215,117,255,.2) !important;
  box-shadow:
    inset 0 1px rgba(255,255,255,.025),
    0 8px 20px rgba(0,0,0,.2) !important;
}

.lc-theme-ascension .fy-section::after{
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,87,216,.88)
    ) !important;
}

.lc-theme-ascension .fy-section-title{
  color:#fff0fb !important;
  text-shadow:0 0 9px rgba(255,79,216,.26) !important;
}

.lc-theme-ascension .fy-section-title::before{
  background:
    linear-gradient(
      90deg,
      var(--af-secondary),
      var(--af-primary)
    ) !important;
  box-shadow:0 0 10px rgba(255,79,216,.4) !important;
}

.lc-theme-ascension .fy-info-row{
  border-bottom-color:rgba(222,124,255,.18) !important;
}

.lc-theme-ascension .fy-info-row > span{
  color:#c9a8c4 !important;
}

.lc-theme-ascension .fy-info-row > b,
.lc-theme-ascension .fy-info-row > strong{
  color:#f7eaf6 !important;
}

.lc-theme-ascension .fy-ability-card{
  background:
    radial-gradient(circle at 100% 0%,rgba(255,82,213,.17),transparent 38%),
    linear-gradient(135deg,rgba(90,27,105,.72),rgba(31,10,45,.9)) !important;
  border-color:rgba(255,110,226,.36) !important;
  box-shadow:
    inset 0 1px rgba(255,255,255,.04),
    0 12px 25px rgba(0,0,0,.29),
    0 0 22px rgba(255,79,216,.09) !important;
}

.lc-theme-ascension .fy-ability-card::before{
  background:
    linear-gradient(
      118deg,
      transparent 35%,
      rgba(255,114,228,.12),
      transparent 65%
    ) !important;
}

.lc-theme-ascension .fy-ability-name{
  color:#fff2fc !important;
  text-shadow:0 0 11px rgba(255,79,216,.42) !important;
}

.lc-theme-ascension .fy-ability-type{
  color:#ff83e4 !important;
}

.lc-theme-ascension .fy-ability-core{
  color:#f3e4f2 !important;
}

.lc-theme-ascension .fy-ability-exposure{
  color:#c9a9c4 !important;
  border-top-color:rgba(220,123,255,.18) !important;
}

.lc-theme-ascension .fy-ability-tag{
  color:#f3ddff !important;
  background:
    linear-gradient(
      135deg,
      rgba(151,66,184,.46),
      rgba(55,22,75,.58)
    ) !important;
  border-color:rgba(227,133,255,.27) !important;
}

.lc-theme-ascension .fy-empty{
  color:#bd99b7 !important;
}

/* 位阶仍保留区分，但全部纳入阵线配色 */
.lc-theme-ascension .fy-rank-S{
  color:#ffe8f8 !important;
  background:
    linear-gradient(135deg,#5e194d,#bd3b86 48%,#6e1f5c) !important;
  border-color:#ff9bdc !important;
  box-shadow:
    inset 0 1px rgba(255,255,255,.18),
    0 0 20px rgba(255,80,177,.38) !important;
}

.lc-theme-ascension .fy-rank-A{
  color:#f5e9ff !important;
  background:
    linear-gradient(135deg,#42205f,#8b4bc3) !important;
  border-color:#d5a6ff !important;
}

.lc-theme-ascension .fy-rank-B{
  color:#f4e8ff !important;
  background:
    linear-gradient(135deg,#33205c,#6750b6) !important;
  border-color:#bda3ff !important;
}

.lc-theme-ascension .fy-rank-C{
  color:#ffe8f5 !important;
  background:
    linear-gradient(135deg,#50204f,#995379) !important;
  border-color:#efa0cf !important;
}

.lc-theme-ascension .fy-rank-D{
  color:#f4e8f1 !important;
  background:
    linear-gradient(135deg,#352836,#655166) !important;
  border-color:#bca4bb !important;
}

.lc-theme-ascension .fy-rank-unknown{
  color:#eadceb !important;
  background:
    linear-gradient(135deg,#241725,#49314d) !important;
  border-color:#8f6f92 !important;
}

/* =========================================================
   06. 列表、NPC、雷达与事件
   ========================================================= */

.lc-theme-ascension .fy-item-list li,
.lc-theme-ascension .fy-event-list li,
.lc-theme-ascension .fy-clue-list li,
.lc-theme-ascension .fy-memory-list li{
  color:#f3e4f2 !important;
  background:
    linear-gradient(
      90deg,
      rgba(62,20,73,.84),
      rgba(28,9,40,.78)
    ) !important;
  border-color:rgba(218,122,255,.2) !important;
}

.lc-theme-ascension .fy-item-list li:hover,
.lc-theme-ascension .fy-event-list li:hover,
.lc-theme-ascension .fy-clue-list li:hover,
.lc-theme-ascension .fy-memory-list li:hover{
  border-color:rgba(255,91,220,.4) !important;
  background:
    linear-gradient(
      90deg,
      rgba(83,25,96,.9),
      rgba(39,12,52,.84)
    ) !important;
}

.lc-theme-ascension .fy-item-list li::before,
.lc-theme-ascension .fy-event-list li::before,
.lc-theme-ascension .fy-clue-list li::before,
.lc-theme-ascension .fy-memory-list li::before{
  background:var(--af-primary) !important;
  box-shadow:0 0 8px rgba(255,79,216,.68) !important;
}

.lc-theme-ascension .fy-item-name{
  color:#fff0fb !important;
}

.lc-theme-ascension .fy-item-count,
.lc-theme-ascension .fy-item-state{
  color:#c9a8c3 !important;
}

.lc-theme-ascension .fy-resource-line{
  color:#f1e1f0 !important;
}

.lc-theme-ascension .fy-npcs{
  border-color:rgba(224,118,255,.42) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(220,92,255,.12),transparent 33%),
    linear-gradient(145deg,rgba(18,6,24,.99),rgba(10,5,17,.98)) !important;
}

.lc-theme-ascension .fy-npcs::after{
  background:
    linear-gradient(
      90deg,
      transparent,
      #ff70dc,
      #9e75ff,
      transparent
    ) !important;
}

.lc-theme-ascension .fy-npcs > summary::before{
  background:
    linear-gradient(
      180deg,
      #ff76dc,
      #9f6cff
    ) !important;
  box-shadow:
    0 0 11px rgba(255,79,216,.56),
    0 0 20px rgba(159,108,255,.2) !important;
}

.lc-theme-ascension .fy-npc-card{
  color:var(--fy-text-main) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,104,220,.12),transparent 31%),
    radial-gradient(circle at 0% 100%,rgba(133,78,255,.1),transparent 35%),
    linear-gradient(145deg,rgba(28,8,37,.99),rgba(15,6,25,.98)) !important;
  border-color:rgba(237,139,255,.29) !important;
  box-shadow:
    0 16px 35px rgba(0,0,0,.44),
    0 0 23px rgba(214,80,255,.07),
    inset 0 1px rgba(255,255,255,.035) !important;
}

.lc-theme-ascension .fy-npc-card:hover{
  border-color:rgba(255,165,235,.56) !important;
  box-shadow:
    0 23px 44px rgba(0,0,0,.5),
    0 0 29px rgba(255,82,218,.12),
    inset 0 1px rgba(255,255,255,.045) !important;
}

.lc-theme-ascension .fy-npc-card::before{
  background:
    repeating-radial-gradient(
      circle,
      rgba(255,139,232,.14) 0 2px,
      transparent 2px 9px
    ) !important;
}

.lc-theme-ascension .fy-npc-card::after{
  background:
    linear-gradient(
      90deg,
      #ff68d8,
      #9f74ff,
      transparent
    ) !important;
  box-shadow:0 0 14px rgba(255,79,216,.4) !important;
}

.lc-theme-ascension .fy-npc-header{
  background:
    linear-gradient(
      90deg,
      rgba(95,27,111,.52),
      rgba(38,12,54,.2)
    ) !important;
  border-bottom-color:rgba(224,125,255,.17) !important;
}

.lc-theme-ascension .fy-npc-name{
  color:#fff2fc !important;
  text-shadow:
    0 0 10px rgba(255,79,216,.44),
    0 0 22px rgba(151,101,255,.18) !important;
}

.lc-theme-ascension .fy-npc-codename{
  color:#f2b8ff !important;
  text-shadow:0 0 8px rgba(255,99,219,.28) !important;
}

.lc-theme-ascension .fy-npc-profile .fy-info-row{
  background:
    linear-gradient(
      90deg,
      rgba(74,23,87,.32),
      transparent
    ) !important;
}

.lc-theme-ascension .fy-npc-profile .fy-info-row:hover{
  background:
    linear-gradient(
      90deg,
      rgba(103,31,119,.48),
      rgba(42,13,57,.1)
    ) !important;
}

.lc-theme-ascension .fy-npc-profile .fy-info-row > span{
  color:#c6a3c1 !important;
}

.lc-theme-ascension .fy-npc-profile .fy-info-row > b{
  color:#f6e8f4 !important;
}

.lc-theme-ascension .fy-radar-block{
  background:
    radial-gradient(
      circle at center,
      rgba(190,80,255,.2),
      rgba(75,26,96,.18) 48%,
      rgba(22,7,31,.34) 72%
    ) !important;
  border-color:rgba(220,122,255,.27) !important;
  box-shadow:inset 0 0 28px rgba(221,91,255,.08) !important;
}

.lc-theme-ascension .fy-radar::before{
  background:
    linear-gradient(
      135deg,
      rgba(187,78,245,.24),
      rgba(255,75,204,.12)
    ) !important;
  outline-color:rgba(255,103,224,.46) !important;
  box-shadow:
    inset 0 0 28px rgba(255,83,216,.09),
    0 0 20px rgba(167,91,255,.12) !important;
}

.lc-theme-ascension .fy-radar::after{
  outline-color:rgba(224,147,255,.29) !important;
}

.lc-theme-ascension .fy-radar-svg{
  filter:drop-shadow(0 0 6px rgba(255,91,218,.45)) !important;
}

.lc-theme-ascension .fy-radar-shape{
  fill:rgba(204,86,255,.36) !important;
  stroke:#ff79df !important;
  filter:drop-shadow(0 0 5px rgba(255,79,216,.48)) !important;
}

.lc-theme-ascension .fy-axis{
  color:#f7eaf6 !important;
  text-shadow:
    0 1px 4px #08010a,
    0 0 8px rgba(204,94,255,.5) !important;
}

.lc-theme-ascension .fy-axis b{
  color:#ffb9eb !important;
  text-shadow:
    0 0 7px rgba(255,102,219,.68),
    0 1px 3px rgba(0,0,0,.7) !important;
}

.lc-theme-ascension .fy-npc-techniques,
.lc-theme-ascension .fy-npc-note{
  color:#eedced !important;
  background:rgba(26,8,36,.62) !important;
  border-color:rgba(213,112,255,.16) !important;
}

.lc-theme-ascension .fy-footer-label{
  color:#f4b6ff !important;
}

.lc-theme-ascension .fy-npc-compact{
  background:
    linear-gradient(
      90deg,
      rgba(61,19,73,.84),
      rgba(27,9,39,.78)
    ) !important;
  border-color:rgba(213,115,255,.17) !important;
}

.lc-theme-ascension .fy-compact-name{
  color:#fff0fb !important;
}

.lc-theme-ascension .fy-compact-role{
  color:#f1b4ff !important;
}

.lc-theme-ascension .fy-compact-state{
  color:#c9a8c4 !important;
}

.lc-theme-ascension .fy-events{
  border-color:rgba(255,75,136,.38) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,76,151,.13),transparent 34%),
    linear-gradient(145deg,rgba(28,6,29,.99),rgba(15,5,23,.98)) !important;
}

.lc-theme-ascension .fy-events::after{
  background:
    linear-gradient(
      90deg,
      transparent,
      #ff4f8e,
      #bc62ff,
      transparent
    ) !important;
}

.lc-theme-ascension .fy-events > summary::before{
  background:
    linear-gradient(
      180deg,
      #ff4f8e,
      #b65eff
    ) !important;
}

/* =========================================================
   07. 界域终端手机：lcx-* 全套变为阵线终端
   ========================================================= */

.lc-theme-ascension .lcx-phone{
  color:#f5e6f3 !important;
}

.lc-theme-ascension .lcx-phone-launch{
  border-color:rgba(255,79,216,.34) !important;
  background:
    linear-gradient(135deg,rgba(42,10,48,.98),rgba(13,5,22,.98)) !important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.34),
    0 0 22px rgba(255,79,216,.08),
    inset 0 1px rgba(255,255,255,.035) !important;
}

.lc-theme-ascension .lcx-phone-launch::before{
  background:
    linear-gradient(
      105deg,
      transparent 36%,
      rgba(255,92,219,.11) 50%,
      transparent 64%
    ) !important;
}

.lc-theme-ascension .lcx-phone-launch:hover{
  border-color:rgba(255,132,226,.58) !important;
}

.lc-theme-ascension .lcx-launch-device{
  border-color:rgba(255,120,225,.48) !important;
  background:
    radial-gradient(circle at 50% 38%,rgba(255,94,218,.18),transparent 38%),
    rgba(151,48,174,.09) !important;
  box-shadow:0 0 18px rgba(255,79,216,.1) !important;
}

.lc-theme-ascension .lcx-launch-device::before{
  border-color:rgba(255,113,224,.22) !important;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(255,104,221,.14) 0 1px,
      transparent 1px 5px
    ) !important;
}

.lc-theme-ascension .lcx-launch-device::after{
  background:#ff6ada !important;
  box-shadow:0 0 8px rgba(255,79,216,.72) !important;
}

.lc-theme-ascension .lcx-launch-copy b{
  color:#fff0fb !important;
}

.lc-theme-ascension .lcx-launch-copy small{
  color:#a67c9e !important;
}

.lc-theme-ascension .lcx-launch-badge{
  color:#f5c7ec !important;
  border-color:rgba(255,79,216,.27) !important;
  background:rgba(255,79,216,.08) !important;
}

.lc-theme-ascension .lcx-launch-badge.lcx-badge-task{
  color:#ffd2f0 !important;
  border-color:rgba(255,111,211,.35) !important;
  background:rgba(255,79,216,.1) !important;
}

.lc-theme-ascension .lcx-phone-device{
  border-color:rgba(255,91,220,.4) !important;
  background:
    linear-gradient(
      150deg,
      rgba(55,15,64,.98),
      rgba(13,5,23,.99) 48%,
      rgba(23,7,34,.99)
    ) !important;
  box-shadow:
    0 22px 60px rgba(0,0,0,.55),
    0 0 30px rgba(255,79,216,.1),
    inset 0 1px rgba(255,255,255,.07),
    inset 0 0 32px rgba(217,75,255,.06) !important;
}

.lc-theme-ascension .lcx-phone-device::before{
  border-color:rgba(255,111,222,.14) !important;
  background:#080109 !important;
}

.lc-theme-ascension .lcx-phone-screen{
  border-color:rgba(255,106,224,.17) !important;
  background:
    radial-gradient(circle at 82% 10%,rgba(255,79,216,.1),transparent 24%),
    radial-gradient(circle at 10% 75%,rgba(129,73,255,.1),transparent 31%),
    linear-gradient(160deg,#17071d,#0b0411 58%,#160720) !important;
}

.lc-theme-ascension .lcx-phone-screen::before{
  background:
    linear-gradient(rgba(255,79,216,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(177,104,255,.035) 1px,transparent 1px) !important;
}

.lc-theme-ascension .lcx-phone-status{
  color:#b184aa !important;
}

.lc-theme-ascension .lcx-phone-status b{
  color:#f1c6ea !important;
}

.lc-theme-ascension .lcx-phone-owner small{
  color:#a2789c !important;
}

.lc-theme-ascension .lcx-phone-owner b{
  color:#fff0fb !important;
}

.lc-theme-ascension .lcx-phone-owner > span{
  color:#ff9dde !important;
}

.lc-theme-ascension .lcx-app-tile{
  border-color:rgba(255,79,216,.16) !important;
  background:
    linear-gradient(
      145deg,
      rgba(72,22,82,.72),
      rgba(20,7,30,.78)
    ) !important;
}

.lc-theme-ascension .lcx-app-tile:hover{
  border-color:rgba(255,126,224,.48) !important;
}

.lc-theme-ascension .lcx-app[open] > .lcx-app-tile{
  border-color:rgba(255,126,224,.48) !important;
  background:rgba(255,79,216,.09) !important;
}

.lc-theme-ascension .lcx-app-tile b{
  color:#f8e8f5 !important;
}

.lc-theme-ascension .lcx-app-tile small{
  color:#9c7595 !important;
}

.lc-theme-ascension .lcx-app-count{
  color:#fff0fa !important;
  background:#a53183 !important;
  box-shadow:0 0 12px rgba(255,79,216,.22) !important;
}

.lc-theme-ascension .lcx-app-lock{
  color:#8e7189 !important;
  background:rgba(11,3,15,.62) !important;
}

.lc-theme-ascension .lcx-app-glyph{
  border-color:rgba(255,111,221,.3) !important;
  background:
    radial-gradient(circle at 50% 35%,rgba(255,79,216,.15),transparent 45%),
    rgba(156,48,179,.08) !important;
  box-shadow:inset 0 0 14px rgba(255,79,216,.05) !important;
}

.lc-theme-ascension .lcx-glyph-msg::before,
.lc-theme-ascension .lcx-glyph-msg::after,
.lc-theme-ascension .lcx-glyph-guild::before,
.lc-theme-ascension .lcx-glyph-guild::after,
.lc-theme-ascension .lcx-glyph-id::before,
.lc-theme-ascension .lcx-glyph-id::after,
.lc-theme-ascension .lcx-glyph-asset::before,
.lc-theme-ascension .lcx-glyph-asset::after,
.lc-theme-ascension .lcx-glyph-calendar::before,
.lc-theme-ascension .lcx-glyph-calendar::after,
.lc-theme-ascension .lcx-glyph-extra::before,
.lc-theme-ascension .lcx-glyph-extra::after{
  border-color:#ff79df !important;
}

.lc-theme-ascension .lcx-glyph-guild::before{
  background:
    linear-gradient(30deg,transparent 47%,rgba(255,121,223,.65) 48% 52%,transparent 53%),
    linear-gradient(-30deg,transparent 47%,rgba(255,121,223,.65) 48% 52%,transparent 53%) !important;
}

.lc-theme-ascension .lcx-glyph-city::before{
  background:
    linear-gradient(#ff79df,#ff79df) 0 100%/100% 1px no-repeat,
    repeating-linear-gradient(90deg,transparent 0 5px,rgba(255,121,223,.75) 5px 7px),
    linear-gradient(90deg,rgba(255,121,223,.75) 1px,transparent 1px) 0 0/7px 100% !important;
}

.lc-theme-ascension .lcx-glyph-city::after{
  border-color:#ff79df !important;
}

.lc-theme-ascension .lcx-glyph-id::before{
  background:
    radial-gradient(circle at 27% 40%,transparent 0 3px,#ff79df 3px 4px,transparent 4px),
    linear-gradient(#ff79df,#ff79df) 69% 32%/9px 1px no-repeat,
    linear-gradient(#ff79df,#ff79df) 69% 50%/9px 1px no-repeat,
    linear-gradient(#ff79df,#ff79df) 25% 74%/10px 1px no-repeat !important;
}

.lc-theme-ascension .lcx-app-sheet{
  border-color:rgba(255,79,216,.2) !important;
  background:
    linear-gradient(
      150deg,
      rgba(24,7,32,.98),
      rgba(11,4,17,.99)
    ) !important;
}

.lc-theme-ascension .lcx-app-sheet-head{
  border-bottom-color:rgba(255,79,216,.13) !important;
}

.lc-theme-ascension .lcx-app-sheet-head b{
  color:#fff0fb !important;
}

.lc-theme-ascension .lcx-app-sheet-head span,
.lc-theme-ascension .lcx-empty{
  color:#96718f !important;
}

.lc-theme-ascension .lcx-section-title{
  color:#f1b5ff !important;
}

.lc-theme-ascension .lcx-row,
.lc-theme-ascension .lcx-thread > summary,
.lc-theme-ascension .lcx-task,
.lc-theme-ascension .lcx-notice,
.lc-theme-ascension .lcx-transaction,
.lc-theme-ascension .lcx-schedule{
  border-color:rgba(255,79,216,.13) !important;
  background:rgba(255,79,216,.035) !important;
}

.lc-theme-ascension .lcx-row span,
.lc-theme-ascension .lcx-row small,
.lc-theme-ascension .lcx-thread-copy small,
.lc-theme-ascension .lcx-thread-time,
.lc-theme-ascension .lcx-notice-head span,
.lc-theme-ascension .lcx-transaction span,
.lc-theme-ascension .lcx-schedule span{
  color:#9a7493 !important;
}

.lc-theme-ascension .lcx-row b,
.lc-theme-ascension .lcx-thread-copy b,
.lc-theme-ascension .lcx-task-head b,
.lc-theme-ascension .lcx-notice-head b,
.lc-theme-ascension .lcx-transaction b,
.lc-theme-ascension .lcx-schedule b{
  color:#f6e6f3 !important;
}

.lc-theme-ascension .lcx-contact-avatar{
  border-color:rgba(255,79,216,.22) !important;
  color:#f0b9e6 !important;
  background:rgba(255,79,216,.06) !important;
}

.lc-theme-ascension .lcx-message{
  color:#d9b8d3 !important;
  background:rgba(147,57,151,.13) !important;
}

.lc-theme-ascension .lcx-message.lcx-mine{
  color:#f6d9ec !important;
  background:rgba(255,79,216,.12) !important;
}

.lc-theme-ascension .lcx-task::before{
  background:#ff69d7 !important;
}

.lc-theme-ascension .lcx-task.lcx-task-done::before{
  background:#b887ff !important;
}

.lc-theme-ascension .lcx-task-head span{
  color:#ef9fda !important;
}

.lc-theme-ascension .lcx-task p,
.lc-theme-ascension .lcx-notice p,
.lc-theme-ascension .lcx-schedule p{
  color:#a985a3 !important;
}

.lc-theme-ascension .lcx-task-meta span{
  border-color:rgba(255,79,216,.12) !important;
  color:#96728f !important;
}

.lc-theme-ascension .lcx-notice{
  border-left-color:#ff70db !important;
}

.lc-theme-ascension .lcx-balance{
  border-color:rgba(255,111,215,.22) !important;
  background:
    radial-gradient(circle at 88% 10%,rgba(255,79,216,.12),transparent 38%),
    rgba(255,79,216,.035) !important;
}

.lc-theme-ascension .lcx-id-card{
  border-color:rgba(255,79,216,.33) !important;
  background:
    linear-gradient(130deg,rgba(255,75,204,.14),rgba(133,73,255,.15)),
    rgba(23,7,34,.82) !important;
}

.lc-theme-ascension .lcx-id-card::before{
  background:
    repeating-radial-gradient(
      circle,
      rgba(255,105,220,.15) 0 1px,
      transparent 1px 7px
    ) !important;
}

.lc-theme-ascension .lcx-id-title{
  color:#ff8be4 !important;
}

.lc-theme-ascension .lcx-id-name{
  color:#fff0fb !important;
}

.lc-theme-ascension .lcx-id-grid div{
  border-color:rgba(255,79,216,.14) !important;
}

.lc-theme-ascension .lcx-id-grid small{
  color:#9e7696 !important;
}

.lc-theme-ascension .lcx-id-grid b{
  color:#f5e3f2 !important;
}

.lc-theme-ascension .lcx-special-app{
  border-color:rgba(255,79,216,.2) !important;
  background:rgba(255,79,216,.045) !important;
}

.lc-theme-ascension .lcx-special-app b{
  color:#edb8ff !important;
}

.lc-theme-ascension .lcx-special-app p{
  color:#a17d9b !important;
}

.lc-theme-ascension .lcx-phone-dock span{
  background:rgba(255,121,223,.38) !important;
}

/* =========================================================
   08. 滚动条与局部介入
   ========================================================= */

.lc-theme-ascension .fy-panel-body::-webkit-scrollbar-track,
.lc-theme-ascension .fy-story::-webkit-scrollbar-track{
  background:rgba(15,4,20,.78) !important;
}

.lc-theme-ascension .fy-panel-body::-webkit-scrollbar-thumb,
.lc-theme-ascension .fy-story::-webkit-scrollbar-thumb{
  background:
    linear-gradient(
      var(--af-primary),
      var(--af-secondary)
    ) !important;
}

.lc-ascension-intrusion{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin:15px 0;
  padding:18px 18px 17px;

  color:#efd9e9;

  border:1px solid rgba(255,79,216,.4);
  border-left:3px solid #ff4fd8;
  border-radius:4px;

  background:
    repeating-linear-gradient(
      180deg,
      transparent 0,
      transparent 4px,
      rgba(255,79,216,.04) 5px,
      transparent 6px
    ),
    radial-gradient(circle at 92% 0%,rgba(174,70,255,.18),transparent 38%),
    linear-gradient(145deg,rgba(27,7,30,.98),rgba(7,4,12,.99));

  box-shadow:
    inset 3px 0 rgba(255,79,216,.11),
    0 14px 34px rgba(0,0,0,.27),
    0 0 24px rgba(180,70,255,.08);
}

.lc-ascension-intrusion::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-25px;
  bottom:-30px;
  width:110px;
  height:110px;
  border:1px solid rgba(255,79,216,.14);
  transform:rotate(45deg);
}

.lc-ascension-code{
  margin-bottom:11px;
  color:#ff9de8;
  font-size:8px;
  font-weight:900;
  line-height:1.3;
  letter-spacing:.16em;
}

.lc-ascension-intrusion p{
  margin:0;
  color:#efd9e9 !important;
  line-height:1.85;
}

.lc-ascension-intrusion strong,
.lc-ascension-intrusion b{
  color:#dda9ff !important;
}

/* =========================================================
   09. 手机端
   ========================================================= */

@media(max-width:720px){
  .lc-output.lc-theme-ascension{
    padding:8px 7px 10px !important;
  }

  .lc-output.lc-theme-ascension::before{
    max-width:100%;
    margin-bottom:8px;
    padding:6px 9px;
    font-size:7px;
  }

  .lc-ascension-intrusion{
    padding:15px 14px;
  }
}

@media(prefers-reduced-motion:reduce){
  .lc-theme-ascension *,
  .lc-ascension-intrusion,
  .lc-ascension-intrusion *{
    animation:none !important;
    transition:none !important;
  }
}


/* =========================================================
   《临界都市》行动参考 + 记忆模式 + 星记忆回廊 V2.2
   已整合在完整CSS末尾
   ========================================================= */

/* ---------- 隐藏模式标记 ---------- */

.fy-memory-mode{
  display:none !important;
}

/* STAR模式下，若AI误输出内置记忆，先进行视觉隐藏 */
.fy-output:has(> .fy-memory-mode[data-mode="STAR"]) .fy-short-memory,
.fy-output:has(> .fy-memory-mode[data-mode="STAR"]) .fy-long-memory,
.fy-output:has(> .fy-memory-mode[data-mode="STAR"]) .fy-memory-short,
.fy-output:has(> .fy-memory-mode[data-mode="STAR"]) .fy-memory-long{
  display:none !important;
}

/* ---------- 记忆模式切换确认卡 ---------- */

.fy-memory-switch-note{
  position:relative;
  overflow:hidden;
  width:min(680px,calc(100% - 24px));
  margin:16px auto;
  padding:18px 20px 18px 54px;

  color:#dbeaf0;
  border:1px solid rgba(123,233,255,.24);
  border-radius:15px;

  background:
    radial-gradient(circle at 92% 0%,rgba(123,233,255,.1),transparent 35%),
    linear-gradient(145deg,rgba(8,22,32,.98),rgba(3,9,15,.99));

  box-shadow:
    inset 0 1px rgba(255,255,255,.04),
    0 16px 38px rgba(0,0,0,.28),
    0 0 24px rgba(123,233,255,.06);
}

.fy-memory-switch-note::before{
  content:"";
  position:absolute;
  left:20px;
  top:20px;
  width:18px;
  height:18px;

  border:1px solid rgba(123,233,255,.5);
  border-radius:50%;

  background:
    radial-gradient(circle,#7be9ff 0 2px,transparent 3px),
    rgba(123,233,255,.06);

  box-shadow:0 0 16px rgba(123,233,255,.2);
}

.fy-memory-switch-note b{
  display:block;
  color:#e9fbff;
  font-size:14px;
  letter-spacing:.06em;
}

.fy-memory-switch-note p{
  margin:6px 0 0;
  color:#89a1a8;
  font-size:11px;
  line-height:1.7;
}

.fy-memory-switch-star{
  border-color:rgba(178,105,255,.3);
  background:
    radial-gradient(circle at 92% 0%,rgba(178,105,255,.13),transparent 36%),
    linear-gradient(145deg,rgba(25,7,31,.98),rgba(8,4,14,.99));
}

.fy-memory-switch-star::before{
  border-color:rgba(213,151,255,.55);
  background:
    radial-gradient(circle,#d49bff 0 2px,transparent 3px),
    rgba(178,105,255,.07);
  box-shadow:0 0 16px rgba(178,105,255,.25);
}

.fy-memory-switch-star b{
  color:#f1d7ff;
}

/* ---------- 行动参考 ---------- */

.fy-actions{
  border-color:rgba(105,232,187,.28) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(105,232,187,.09),transparent 34%),
    linear-gradient(145deg,rgba(7,24,28,.98),rgba(4,12,18,.99)) !important;
}

.fy-actions::after{
  background:
    linear-gradient(90deg,transparent,#69e8bb,#7be9ff,transparent) !important;
}

.fy-actions > summary::before{
  background:
    linear-gradient(180deg,#69e8bb,#7be9ff) !important;
  box-shadow:
    0 0 11px rgba(105,232,187,.48),
    0 0 20px rgba(123,233,255,.18) !important;
}

.fy-action-body{
  padding-top:14px;
}

.fy-action-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.fy-action-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  padding:14px;

  border:1px solid rgba(105,232,187,.16);
  border-radius:11px;

  background:
    radial-gradient(circle at 100% 0%,rgba(105,232,187,.07),transparent 38%),
    linear-gradient(145deg,rgba(21,46,51,.56),rgba(7,20,27,.78));

  box-shadow:
    inset 0 1px rgba(255,255,255,.025),
    0 9px 21px rgba(0,0,0,.2);
}

.fy-action-card::after{
  content:"";
  position:absolute;
  left:0;
  right:45%;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,#69e8bb,transparent);
}

.fy-action-type{
  display:inline-block;
  margin-bottom:7px;
  color:#78dcbf;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}

.fy-action-card b{
  display:block;
  color:#e7f8f5;
  font-size:12px;
  line-height:1.55;
}

.fy-action-card p{
  margin:6px 0 0;
  color:#829a9d;
  font-size:9px;
  line-height:1.65;
}

.fy-action-free{
  border-color:rgba(233,198,111,.19);
  background:
    radial-gradient(circle at 100% 0%,rgba(233,198,111,.08),transparent 38%),
    linear-gradient(145deg,rgba(49,42,24,.38),rgba(12,17,20,.78));
}

.fy-action-free::after{
  background:linear-gradient(90deg,#e9c66f,transparent);
}

.fy-action-free .fy-action-type{
  color:#e9c66f;
}

/* 升格阵线整体介入时，行动参考一并换肤 */
.lc-theme-ascension .fy-actions{
  border-color:rgba(255,79,216,.36) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,79,216,.12),transparent 34%),
    linear-gradient(145deg,rgba(21,6,27,.99),rgba(10,4,17,.98)) !important;
}

.lc-theme-ascension .fy-action-card{
  border-color:rgba(255,79,216,.18);
  background:
    radial-gradient(circle at 100% 0%,rgba(255,79,216,.08),transparent 38%),
    linear-gradient(145deg,rgba(63,18,74,.58),rgba(23,7,34,.82));
}

.lc-theme-ascension .fy-action-type{
  color:#ff8be4;
}

.lc-theme-ascension .fy-action-card::after{
  background:linear-gradient(90deg,#ff4fd8,transparent);
}

.lc-theme-ascension .fy-action-card b{
  color:#fff0fb;
}

.lc-theme-ascension .fy-action-card p{
  color:#aa829f;
}

/* ---------- 星记忆回廊结构识别与美化 ---------- */

/*
识别结构：
<details>
  <summary>星记忆回廊</summary>
  <details>配置</details>
  <details>记忆区<table>...</table></details>
</details>
*/
details:has(> details:nth-of-type(2) table){
  position:relative;
  overflow:hidden;
  width:100%;
  margin:16px 0;
  padding:10px;

  color:#dbeaf0;
  border:1px solid rgba(123,233,255,.25);
  border-radius:15px;

  background:
    linear-gradient(rgba(123,233,255,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(123,233,255,.018) 1px,transparent 1px),
    radial-gradient(circle at 90% 0%,rgba(123,233,255,.1),transparent 34%),
    linear-gradient(145deg,rgba(7,20,30,.99),rgba(3,8,14,.99));

  background-size:24px 24px,24px 24px,auto,auto;

  box-shadow:
    inset 0 1px rgba(255,255,255,.04),
    0 17px 40px rgba(0,0,0,.32),
    0 0 27px rgba(123,233,255,.065);
}

details:has(> details:nth-of-type(2) table) > summary{
  position:relative;
  padding:14px 44px 14px 16px;

  list-style:none;
  cursor:pointer;

  color:#fff0bd;
  border:1px solid rgba(233,198,111,.19);
  border-radius:11px;

  background:
    radial-gradient(circle at 92% 0%,rgba(123,233,255,.08),transparent 38%),
    linear-gradient(90deg,rgba(233,198,111,.09),rgba(123,233,255,.025));

  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
}

details:has(> details:nth-of-type(2) table) > summary::-webkit-details-marker{
  display:none;
}

details:has(> details:nth-of-type(2) table) > summary::before{
  content:"STAR MEMORY ARCHIVE";
  display:block;
  margin-bottom:4px;
  color:#6e98a2;
  font-size:7px;
  font-weight:900;
  letter-spacing:.16em;
}

details:has(> details:nth-of-type(2) table) > summary::after{
  content:"+";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:#7be9ff;
  font-size:18px;
}

details:has(> details:nth-of-type(2) table)[open] > summary::after{
  content:"−";
}

/* 配置区保留但弱化，方便检查Mod状态 */
details:has(> details:nth-of-type(2) table) > details:first-of-type{
  margin-top:10px;
  padding:8px;

  color:#83979c;
  border:1px solid rgba(123,233,255,.1);
  border-radius:10px;

  background:rgba(123,233,255,.018);
}

details:has(> details:nth-of-type(2) table) > details:first-of-type > summary{
  padding:8px 10px;
  cursor:pointer;
  color:#8ba6ad;
  font-size:9px;
  font-weight:800;
}

/* 记忆区 */
details:has(> details:nth-of-type(2) table) > details:nth-of-type(2){
  margin-top:10px;
  padding:9px;
  overflow-x:auto;

  color:#b9cdd2;
  border:1px solid rgba(123,233,255,.14);
  border-radius:11px;

  background:rgba(123,233,255,.022);
}

details:has(> details:nth-of-type(2) table) > details:nth-of-type(2) > summary{
  padding:10px 12px;

  list-style:none;
  cursor:pointer;

  color:#dff8ff;
  border-bottom:1px solid rgba(123,233,255,.1);

  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
}

details:has(> details:nth-of-type(2) table) table{
  width:100%;
  min-width:720px;
  margin:12px 0;

  border-collapse:separate;
  border-spacing:0;

  overflow:hidden;

  color:#bed0d5;
  border:1px solid rgba(123,233,255,.14);
  border-radius:10px;

  background:rgba(4,13,20,.78);
}

details:has(> details:nth-of-type(2) table) th{
  padding:9px 10px;

  color:#e8d6a6;
  background:
    linear-gradient(90deg,rgba(233,198,111,.08),rgba(123,233,255,.04));

  border-right:1px solid rgba(123,233,255,.08);
  border-bottom:1px solid rgba(233,198,111,.15);

  font-size:9px;
  font-weight:900;
  text-align:left;
}

details:has(> details:nth-of-type(2) table) td{
  padding:10px;

  color:#bed0d5;
  border-right:1px solid rgba(123,233,255,.08);
  border-bottom:1px solid rgba(123,233,255,.08);

  font-size:9px;
  line-height:1.72;
  vertical-align:top;
}

details:has(> details:nth-of-type(2) table) th:last-child,
details:has(> details:nth-of-type(2) table) td:last-child{
  border-right:0;
}

details:has(> details:nth-of-type(2) table) tr:last-child td{
  border-bottom:0;
}

details:has(> details:nth-of-type(2) table) td:first-child{
  color:#7be9ff;
  font-weight:900;
  text-align:center;
}

details:has(> details:nth-of-type(2) table) td:nth-child(2),
details:has(> details:nth-of-type(2) table) td:nth-child(3){
  color:#98aeb4;
  white-space:nowrap;
}

details:has(> details:nth-of-type(2) table) hr{
  height:1px;
  margin:16px 0;
  border:0;
  background:
    linear-gradient(90deg,transparent,rgba(233,198,111,.36),transparent);
}

/* ---------- 详细简介中的记忆与行动引导 ---------- */

.fy-onboarding-guide{
  position:relative;
  overflow:hidden;
  margin:20px auto;
  padding:20px;
  max-width:920px;

  color:#d8e7eb;
  border:1px solid rgba(123,233,255,.2);
  border-radius:18px;

  background:
    radial-gradient(circle at 95% 0%,rgba(123,233,255,.1),transparent 32%),
    radial-gradient(circle at 0% 100%,rgba(233,198,111,.07),transparent 34%),
    linear-gradient(145deg,rgba(7,19,28,.98),rgba(3,9,15,.99));

  box-shadow:
    inset 0 1px rgba(255,255,255,.04),
    0 18px 46px rgba(0,0,0,.3);
}

.fy-onboarding-guide small{
  color:#6f929a;
  font-size:8px;
  font-weight:900;
  letter-spacing:.16em;
}

.fy-onboarding-guide h3{
  margin:7px 0 8px;
  color:#fff0bd;
  font-size:20px;
}

.fy-onboarding-guide > p{
  margin:0;
  color:#8ba0a5;
  font-size:11px;
  line-height:1.75;
}

.fy-guide-mode-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-top:16px;
}

.fy-guide-mode{
  padding:15px;
  border:1px solid rgba(123,233,255,.14);
  border-radius:12px;
  background:rgba(123,233,255,.025);
}

.fy-guide-mode.is-star{
  border-color:rgba(190,127,255,.22);
  background:rgba(165,92,255,.035);
}

.fy-guide-mode b{
  display:block;
  color:#e8fbff;
  font-size:13px;
}

.fy-guide-mode.is-star b{
  color:#efd8ff;
}

.fy-guide-mode p{
  margin:6px 0 0;
  color:#80969b;
  font-size:10px;
  line-height:1.65;
}

.fy-guide-command{
  display:block;
  width:max-content;
  max-width:100%;
  margin-top:9px;
  padding:6px 9px;

  color:#92e8f7;
  border:1px solid rgba(123,233,255,.17);
  border-radius:7px;

  background:rgba(123,233,255,.035);

  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
}

.fy-guide-mode.is-star .fy-guide-command{
  color:#dfb7ff;
  border-color:rgba(190,127,255,.2);
  background:rgba(190,127,255,.045);
}

.fy-guide-steps{
  margin-top:14px;
  padding:13px 15px;
  border:1px solid rgba(233,198,111,.13);
  border-radius:11px;
  background:rgba(233,198,111,.025);
}

.fy-guide-steps b{
  color:#e8d8aa;
  font-size:11px;
}

.fy-guide-steps p{
  margin:6px 0 0;
  color:#8d9290;
  font-size:10px;
  line-height:1.7;
}

@media(max-width:720px){
  .fy-action-grid,
  .fy-guide-mode-grid{
    grid-template-columns:1fr;
  }

  .fy-memory-switch-note{
    width:calc(100% - 14px);
    padding:15px 14px 15px 46px;
  }

  .fy-memory-switch-note::before{
    left:16px;
    top:18px;
  }

  details:has(> details:nth-of-type(2) table){
    padding:7px;
  }

  .fy-onboarding-guide{
    padding:16px;
  }
}
