/* ═══════════════════════════════════════════════════════════
   「全服还在捡破烂，我的加工台已经出舰炮了」· 内置CSS (builtInCss)
   视觉主题：夜航驾驶台 · 海图桌面 · 黄铜仪表 · 磷光航线灯
   母题：你不是在玩手机系统，你是坐在老船驾驶台前——
         海图、仪表、无线电、船长暗格，全在这一块面板里。
   色板：深海墨 #081A26 · 夜雾蓝 #10293A · 甲板黑木 #1A2B35
         黄铜 #C89B5E · 黄铜暗 #8A6A3E · 磷光绿 #7FFFC2
         信号橙 #FF8A3D · 海图米 #E9DFC4 · 雾灰字 #8FA9B8 · 血锈红 #D4553F
   道具：黄铜铆钉/海图虚线/舷窗/麻绳压边/雷达扫描线/船长暗格/票根
   组件：状态栏/船只状态栏.dl-ship/系统面板.dl-sys七页签/公屏.dl-chat/船级榜.dl-rank/
         主角档案.dl-self/在场人物.dl-cast/船员.dl-crew/记忆卡.dl-memory/
         行动选项.dl-actions/思维链.dl-chain
   纯CSS：details/summary · 页签互斥name=sysTab · 零JS 零onclick 零input
   唯一动效：主页页签雷达扫描线（reduced-motion降级）
   ═══════════════════════════════════════════════════════════ */

/* ── 0. 设计令牌（夜航驾驶台色板） ── */
.status-bar,.dl-sys,.dl-ship,.dl-chat,.dl-rank,.dl-self,.dl-cast,.dl-crew,.dl-memory,.dl-actions,.dl-chain{
  --sea:#081A26;          /* 深海墨·全局底 */
  --fog:#10293A;           /* 夜雾蓝·面板底 */
  --deck:#1A2B35;          /* 甲板黑木·页签槽 */
  --brass:#C89B5E;         /* 黄铜·边框刻度 */
  --brass-d:#8A6A3E;       /* 黄铜暗 */
  --phos:#7FFFC2;          /* 磷光绿·数字选中 */
  --phos-d:rgba(127,255,194,.14);
  --orange:#FF8A3D;        /* 信号橙·回收页签预警 */
  --ink:#E9DFC4;           /* 海图米·主文字 */
  --ink-2:#9DB2C0;         /* 雾灰字·次级 */
  --ink-3:#7C96A8;         /* 雾灰暗·弱化 */
  --red:#D4553F;           /* 血锈红·危险 */
  --paper:#0F202E;         /* 旧海图纸·卡面 */
  --paper-2:#0C1C29;       /* 海图背纸 */
  --line:rgba(200,155,94,.35);        /* 黄铜细线 */
  --line-soft:rgba(200,155,94,.16);
  --noise:rgba(127,255,194,.05);       /* 无线电噪点 */
  --num:'Consolas','Courier New',monospace;  /* 仪表等宽数字 */
  --font:-apple-system,'PingFang SC','Microsoft YaHei','SimSun','Hiragino Sans GB',sans-serif;
  box-sizing:border-box;position:relative;
}

/* ── 1. 通用卡壳（旧海图纸+黄铜细框+四角铆钉+麻绳压边） ── */
.dl-self,.dl-cast,.dl-crew,.dl-memory,.dl-actions{
  width:100%;max-width:none;margin:12px auto 0;
  background:
    repeating-linear-gradient(0deg,rgba(200,155,94,.028) 0 1px,transparent 1px 28px),
    repeating-linear-gradient(90deg,rgba(200,155,94,.028) 0 1px,transparent 1px 28px),
    var(--paper);
  border:1px solid var(--line);
  border-radius:2px;              /* 旧仪表板的直边 */
  color:var(--ink);
  font-family:var(--font);font-size:13px;line-height:1.55;
  box-shadow:0 2px 10px rgba(0,0,0,.55),inset 0 0 24px rgba(0,0,0,.35);
  overflow:hidden;
}
/* 黄铜铆钉四角 */
.dl-self::before,.dl-cast::before,.dl-crew::before,.dl-memory::before,.dl-actions::before{
  content:'';position:absolute;inset:3px;pointer-events:none;z-index:2;
  background:
    radial-gradient(circle 2px at 5px 5px,var(--brass) 98%,transparent),
    radial-gradient(circle 2px at calc(100% - 5px) 5px,var(--brass) 98%,transparent),
    radial-gradient(circle 2px at 5px calc(100% - 5px),var(--brass) 98%,transparent),
    radial-gradient(circle 2px at calc(100% - 5px) calc(100% - 5px),var(--brass) 98%,transparent);
}
/* 顶部麻绳压边 */
.dl-self::after,.dl-cast::after,.dl-crew::after,.dl-memory::after,.dl-actions::after{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;pointer-events:none;z-index:1;
  background:repeating-linear-gradient(90deg,var(--brass) 0 7px,transparent 7px 12px);
  opacity:.5;
}

/* ── 2. 卡头 summary（黄铜铭牌条·海图米字） ── */
.dl-self>summary,.dl-cast>summary,.dl-crew>summary,.dl-memory>summary,.dl-actions>summary{
  list-style:none;cursor:pointer;user-select:none;
  display:flex;align-items:center;gap:8px;
  padding:9px 14px;
  font-size:12.5px;font-weight:800;letter-spacing:2px;
  background:linear-gradient(180deg,var(--deck),#13222D);
  color:var(--brass);
  border-bottom:1px solid var(--line-soft);
}
.dl-self>summary::-webkit-details-marker,
.dl-cast>summary::-webkit-details-marker,
.dl-crew>summary::-webkit-details-marker,
.dl-memory>summary::-webkit-details-marker,
.dl-actions>summary::-webkit-details-marker{display:none;}
/* 箭头 */
.dl-self-arrow,.dl-cast-arrow,.dl-crew-arrow,.dl-mem-arrow,.dl-act-arrow{
  margin-left:auto;font-size:10px;color:var(--brass);
  transition:transform .18s;
}
.dl-self[open]>summary .dl-self-arrow,
.dl-cast[open]>summary .dl-cast-arrow,
.dl-crew[open]>summary .dl-crew-arrow,
.dl-memory[open]>summary .dl-mem-arrow,
.dl-actions[open]>summary .dl-act-arrow{transform:rotate(180deg);}

/* ── 3. 行（海图格行·左缘黄铜刻度线） ── */
.dl-self-row{
  display:flex;align-items:center;gap:10px;
  padding:7px 14px 7px 12px;
  border-bottom:1px dashed var(--line-soft);
  font-size:12.5px;line-height:1.45;
}
.dl-self-row:last-child{border-bottom:none;}
.dl-self-row::before{
  content:'';position:absolute;left:0;top:5px;bottom:5px;width:3px;
  background:var(--brass);opacity:.8;
}
.dl-s-ic{
  width:24px;height:24px;flex-shrink:0;border-radius:2px;
  display:flex;align-items:center;justify-content:center;font-size:13px;
  background:var(--fog);color:var(--brass);
  border:1px solid var(--line-soft);
}
.dl-s-l{
  color:var(--ink-2);flex-shrink:0;min-width:36px;
  font-size:10.5px;font-weight:700;letter-spacing:2px;
}
.dl-s-v{
  flex:1;min-width:0;text-align:right;
  font-size:12.5px;color:var(--ink);line-height:1.45;word-break:break-word;
}
.dl-s-v em{font-style:normal;color:var(--brass);font-weight:800;}
.dl-s-v strong{font-style:normal;color:var(--red);font-weight:800;}

/* ── 4. 变更行 = 磷光浮标亮起 ── */
.dl-self-row.changed{
  background:linear-gradient(90deg,var(--phos-d),transparent 70%);
  box-shadow:inset 3px 0 0 var(--phos);
  animation:dl-flag .9s ease;
}
.dl-self-row.changed .dl-s-v{font-weight:800;color:#BFFFE0;}
@keyframes dl-flag{0%{background-color:rgba(127,255,194,.28)}100%{background-color:transparent}}

/* ── 5. 状态标签：风评/负面/评级（磷光绿体系） ── */
.rep-tag{
  display:inline-block;padding:1px 8px;border-radius:2px;
  font-size:10.5px;font-weight:700;letter-spacing:1px;
  border:1px solid;margin-right:4px;
}
.rep-tag.rp-new{color:var(--phos);border-color:var(--phos);background:rgba(127,255,194,.08);}
.rep-tag.rp-known{color:#9EDB8F;border-color:#9EDB8F;background:rgba(158,219,143,.08);}
.rep-tag.rp-backed{color:#B79CF0;border-color:#B79CF0;background:rgba(183,156,240,.08);}
.rep-tag.rp-suspect{color:var(--orange);border-color:var(--orange);background:rgba(255,138,61,.08);}
.rep-tag.rp-banned{color:#FFF;border-color:var(--red);background:var(--red);}

.neg-clean{color:#9EDB8F;font-weight:800;}
.neg-minor{color:var(--orange);font-weight:800;}
.neg-major{color:var(--red);font-weight:800;animation:dl-blink 1.2s infinite;}
@keyframes dl-blink{0%,100%{opacity:1}50%{opacity:.4}}

.dl-self-rank{
  display:inline-block;min-width:18px;text-align:center;padding:0 5px;
  border-radius:2px;color:#081A26;font-size:11px;font-weight:900;margin-right:4px;
}
.dl-self-rank.rk-s{background:var(--phos);}
.dl-self-rank.rk-a{background:#8FD9FF;}
.dl-self-rank.rk-b{background:#9EDB8F;}
.dl-self-rank.rk-c{background:var(--orange);}
.dl-self-rank.rk-d{background:var(--red);color:#FFF;}

/* ── 6. 在场人物卡 .dl-cast（同主角行样式） ── */
.dl-cast{margin-top:8px;}

/* ── 7. 船员名册 .dl-crew（票根样式） ── */
.dl-crew{margin-top:8px;}
.crew-body{padding:8px;display:flex;flex-direction:column;gap:7px;}
.crew-ticket{
  display:flex;align-items:center;gap:10px;padding:8px 12px;
  background:var(--paper-2);border:1px dashed var(--line);
  border-left:3px solid var(--brass);border-radius:2px;
}
.crew-ticket.empty{border-left-style:dashed;border-left-color:var(--line-soft);opacity:.85;}
.ticket-name{font-weight:800;color:var(--ink);font-size:12.5px;letter-spacing:1px;}
.ticket-role{flex:1;text-align:right;color:var(--ink-2);font-size:11.5px;}

/* ── 8. 记忆卡 .dl-memory（航海日志·黄铜书脊） ── */
.dl-memory>summary{background:linear-gradient(180deg,#2A2116,var(--deck));color:var(--brass);}
.dl-mem-body{padding:8px;display:flex;flex-direction:column;gap:7px;}
.dl-mem-sec{
  padding:8px 11px;
  background:var(--paper-2);
  border:1px solid var(--line-soft);border-radius:2px;
}
.dl-mem-tag{
  display:inline-block;font-size:10px;font-weight:900;letter-spacing:2px;
  margin-bottom:3px;padding:1px 8px;border-radius:2px;color:#081A26;
}
/* 四段配色：大总结=信号橙 / 长记=黄铜 / 小总结=磷光绿 / 下步=夜雾蓝 */
.dl-mem-sec:nth-child(1) .dl-mem-tag{background:var(--orange);}
.dl-mem-sec:nth-child(1){border-left:3px solid var(--orange);}
.dl-mem-sec:nth-child(2) .dl-mem-tag{background:var(--brass);}
.dl-mem-sec:nth-child(2){border-left:3px solid var(--brass);}
.dl-mem-sec:nth-child(3) .dl-mem-tag{background:var(--phos);}
.dl-mem-sec:nth-child(3){border-left:3px solid var(--phos);}
.dl-mem-sec:nth-child(4) .dl-mem-tag{background:#8FD9FF;}
.dl-mem-sec:nth-child(4){border-left:3px solid #8FD9FF;}
.dl-mem-txt{font-size:12.5px;line-height:1.6;color:var(--ink);word-break:break-word;}
.dl-mem-txt em{font-style:normal;color:var(--brass);font-weight:800;}
.dl-mem-txt strong{font-style:normal;color:var(--red);font-weight:800;}

/* ── 9. 行动选项 .dl-actions（舵令牌·航向刻度号） ── */
.dl-act-list{padding:6px 0;}
.dl-act-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 14px;
  border-bottom:1px dashed var(--line-soft);
  font-size:12.5px;line-height:1.5;
}
.dl-act-item:last-child{border-bottom:none;}
.dl-act-n{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--deck);color:var(--phos);font-size:11px;font-weight:900;
  border:1px solid var(--brass);
  font-family:var(--num);
}
.dl-act-t{flex:1;color:var(--ink);}

/* ── 10. 思维链 .dl-chain（航海笔记·草绘海图边） ── */
.dl-chain{
  width:100%;max-width:none;margin:4px auto 0;
  background:var(--paper-2);
  border:1px dashed var(--line);
  border-radius:2px;
  color:var(--ink-2);
  font-family:var(--font);font-size:11.5px;line-height:1.55;
  overflow:hidden;
}
.dl-chain>summary{
  list-style:none;cursor:default;user-select:none;
  padding:5px 12px;color:var(--brass);font-weight:800;letter-spacing:1px;font-size:11.5px;
}
.dl-chain>summary::-webkit-details-marker{display:none;}
.dl-chain[open]>summary{padding-bottom:4px;border-bottom:1px dashed var(--line-soft);}
.dl-chain-body{padding:4px 12px 10px;white-space:pre-line;word-break:break-word;}

/* ── 11. 四格状态栏 .status-bar（2×2·黄铜仪表格） ── */
.status-bar{
  width:100%;max-width:none;margin:10px auto 0;
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  font-family:var(--font);
}
.st-item{
  background:linear-gradient(180deg,var(--fog),var(--sea));
  border:1px solid var(--line);
  border-radius:2px;
  padding:7px 10px 8px;
  display:flex;flex-wrap:wrap;align-items:center;gap:3px 9px;
  box-shadow:0 1px 4px rgba(0,0,0,.5);
  position:relative;overflow:hidden;
}
.st-item::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--brass);
}
.st-ico{font-size:15px;flex-shrink:0;line-height:1;}
.st-ct{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;}
.st-value{font-size:13px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.st-sub{font-size:10px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35;}
.st-tag{
  flex-shrink:0;align-self:flex-start;font-size:10px;font-weight:900;
  padding:1px 7px;border-radius:2px;color:#081A26;
}
.st-item.is-day .st-tag{background:var(--brass);}
.st-item.is-night .st-tag{background:var(--orange);}
.st-item.is-late .st-tag{background:var(--phos);}
.st-bar{width:100%;flex-basis:100%;height:4px;background:#0A1B28;border:1px solid var(--line-soft);border-radius:2px;overflow:hidden;margin-top:2px;}
.st-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--phos),#45D99A);border-radius:1px;}
.st-hp .st-bar i{background:linear-gradient(90deg,var(--phos),#45D99A);}
.st-up .st-value{color:var(--phos);}
.st-down .st-value{color:var(--red);}
.status-bar .st-item.st-loc::before{background:var(--phos);}
.status-bar .st-item.st-hp::before{background:var(--orange);}

/* ── 12. 系统面板 .dl-sys（驾驶台总面板·核心） ── */
.dl-sys{
  width:100%;max-width:none;margin:12px auto 0;
  background:
    repeating-linear-gradient(0deg,rgba(200,155,94,.035) 0 1px,transparent 1px 30px),
    repeating-linear-gradient(90deg,rgba(200,155,94,.035) 0 1px,transparent 1px 30px),
    linear-gradient(180deg,var(--fog),var(--sea));
  border:1px solid var(--brass-d);
  border-radius:3px;
  color:var(--ink);
  font-family:var(--font);font-size:13px;line-height:1.55;
  box-shadow:0 4px 16px rgba(0,0,0,.6),inset 0 0 30px rgba(0,0,0,.4);
  position:relative;overflow:hidden;
}
/* 驾驶台四角黄铜铆钉 */
.dl-sys::before{
  content:'';position:absolute;inset:4px;pointer-events:none;z-index:2;
  background:
    radial-gradient(circle 3px at 7px 7px,var(--brass) 98%,transparent),
    radial-gradient(circle 3px at calc(100% - 7px) 7px,var(--brass) 98%,transparent),
    radial-gradient(circle 3px at 7px calc(100% - 7px),var(--brass) 98%,transparent),
    radial-gradient(circle 3px at calc(100% - 7px) calc(100% - 7px),var(--brass) 98%,transparent);
}
.sys-head{
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;
  background:linear-gradient(180deg,var(--deck),#13222D);
  border-bottom:1px solid var(--brass-d);
  letter-spacing:1px;
}
.sys-head .sys-ic{font-size:15px;}
.sys-head .sys-t{font-weight:900;color:var(--brass);letter-spacing:3px;font-size:13px;}
.sys-head .sys-sub{margin-left:auto;font-size:11px;color:var(--ink-3);font-family:var(--num);}
/* 页签排 = 仪表开关排 */
.sys-tabs{display:flex;flex-wrap:wrap;padding:6px;gap:6px;}
.sys-tab{
  flex:1 1 auto;min-width:86px;margin:0;
  background:var(--deck);
  border:1px solid var(--brass-d);
  border-radius:2px;
}
.sys-tab>summary{
  list-style:none;cursor:pointer;user-select:none;
  display:flex;align-items:center;justify-content:center;gap:5px;
  padding:6px 7px;
  font-size:11.5px;font-weight:800;letter-spacing:1px;
  color:var(--ink-2);
  background:linear-gradient(180deg,var(--deck),#14242F);
  border-bottom:2px solid var(--brass-d);
}
.sys-tab>summary::-webkit-details-marker{display:none;}
.sys-tab .tab-ic{font-size:13px;}
.sys-tab .tab-n{color:var(--ink-2);}
.sys-tab .tab-badge{
  display:none;font-size:9px;color:var(--ink-3);font-family:var(--num);
}
/* 选中态 = 航线灯亮 */
.sys-tab[open]>summary{
  color:var(--phos);
  border-bottom:2px solid var(--phos);
  background:linear-gradient(180deg,#173141,#0E212E);
  box-shadow:inset 0 -8px 14px -8px rgba(127,255,194,.55);
}
.sys-tab[open]>summary .tab-n{color:var(--phos);}
/* 回收页签 = 船长暗格（信号橙） */
.sys-tab.sys-tab-secret{border-color:rgba(255,138,61,.5);}
.sys-tab.sys-tab-secret>summary{color:var(--orange);}
.sys-tab.sys-tab-secret>summary .tab-n{color:var(--orange);}
.sys-tab.sys-tab-secret[open]>summary{
  color:#FFB88A;border-bottom:2px solid var(--orange);
  background:linear-gradient(180deg,#332012,#1E140C);
  box-shadow:inset 0 -8px 14px -8px rgba(255,138,61,.55);
}
.sys-tab.sys-tab-secret[open]>summary .tab-n{color:#FFB88A;}
/* 页签内容区 = 仪表内区 */
.sys-body{
  padding:8px 10px 10px;
  background:
    repeating-linear-gradient(0deg,rgba(200,155,94,.04) 0 1px,transparent 1px 26px),
    var(--sea);
  position:relative;overflow:hidden;
}
/* 雷达扫描线（唯一动效·主页页签内） */
.sys-sweep{
  position:absolute;right:8px;top:8px;width:46px;height:46px;pointer-events:none;
  border-radius:50%;border:1px solid rgba(127,255,194,.3);
  background:
    radial-gradient(circle,#081A26 0 5%,transparent 6%),
    repeating-radial-gradient(circle,rgba(127,255,194,.25) 0 1px,transparent 1px 7px);
  opacity:.75;
}
.sys-sweep::after{
  content:'';position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,rgba(127,255,194,.7),transparent 34%);
  animation:sys-sweep-rot 3.2s linear infinite;
}
@keyframes sys-sweep-rot{to{transform:rotate(360deg);}}
/* 仪表行 */
.sys-row{
  display:flex;align-items:center;gap:8px;
  padding:4px 2px;
  border-bottom:1px dashed rgba(200,155,94,.12);
  font-size:12px;line-height:1.45;
}
.sys-row:last-of-type{border-bottom:none;}
.sys-row .sys-l{
  flex-shrink:0;min-width:52px;color:var(--ink-3);
  font-size:10px;font-weight:800;letter-spacing:2px;
}
.sys-row .sys-v{
  flex:1;min-width:0;color:var(--ink);text-align:right;
  font-family:var(--num);font-size:12px;letter-spacing:.5px;word-break:break-word;
}
.sys-row .sys-s{
  flex-shrink:0;max-width:38%;color:var(--ink-3);
  font-size:10.5px;text-align:right;
}
.sys-row.changed{background:linear-gradient(90deg,var(--phos-d),transparent 60%);}
.sys-row.changed .sys-v{color:var(--phos);font-weight:900;}
/* 条形仪表 */
.sys-bar-wrap{display:flex;align-items:center;gap:8px;padding:4px 2px;}
.sys-bar-label{flex-shrink:0;color:var(--ink-3);font-size:10px;font-weight:800;letter-spacing:2px;}
.sys-bar{flex:1;height:6px;background:#0A1B28;border:1px solid var(--brass-d);border-radius:2px;overflow:hidden;}
.sys-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--phos),#45D99A);}
/* 背包货舱格 */
.bag-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:5px;
  padding:6px 2px 8px;
}
.bag-cell{
  min-width:0;padding:6px 5px;
  background:var(--paper-2);
  border:1px solid var(--brass-d);border-radius:2px;
  display:flex;flex-direction:column;align-items:center;gap:1px;
  text-align:center;
}
.bag-cell .bag-ic{font-size:15px;line-height:1.1;}
.bag-cell .bag-n{font-size:10px;color:var(--ink);font-weight:700;word-break:break-all;line-height:1.25;}
.bag-cell .bag-m{font-size:9px;color:var(--ink-3);font-family:var(--num);}
.bag-cell.empty{border-style:dashed;opacity:.45;}
.bag-cell.empty .bag-n{color:var(--ink-3);}
/* 船只页签·房间列表 */
.ship-room-list{
  display:flex;flex-direction:column;gap:5px;
  padding:6px 2px 2px;
}
.ship-room{
  display:grid;grid-template-columns:auto 1fr;gap:2px 8px;
  padding:7px 9px;
  background:var(--paper-2);
  border:1px solid var(--line-soft);border-left:3px solid var(--brass);
  border-radius:2px;
}
.ship-room.empty{border-left-style:dashed;border-left-color:var(--line-soft);opacity:.85;}
.ship-room .room-name{grid-column:1;font-weight:800;color:var(--ink);font-size:12px;letter-spacing:1px;}
.ship-room .room-meta{grid-column:2;justify-self:end;color:var(--ink-3);font-size:10.5px;font-family:var(--num);}
.ship-room .room-desc{grid-column:1/-1;color:var(--ink-2);font-size:11.5px;line-height:1.5;}
.ship-room .room-who{grid-column:1/-1;color:var(--phos);font-size:11px;font-weight:700;}

/* ── 12b. 船只状态栏 .dl-ship（独立常驻·默认展开·不放进系统面板） ── */
.dl-ship{
  width:100%;max-width:none;margin:12px auto 0;
  background:
    repeating-linear-gradient(0deg,rgba(200,155,94,.035) 0 1px,transparent 1px 30px),
    repeating-linear-gradient(90deg,rgba(200,155,94,.035) 0 1px,transparent 1px 30px),
    linear-gradient(180deg,var(--fog),var(--sea));
  border:1px solid var(--brass-d);
  border-radius:3px;
  color:var(--ink);font-family:var(--font);font-size:13px;line-height:1.55;
  box-shadow:0 4px 16px rgba(0,0,0,.6),inset 0 0 30px rgba(0,0,0,.4);
  position:relative;overflow:hidden;
}
.dl-ship::before{
  content:'';position:absolute;inset:4px;pointer-events:none;z-index:2;
  background:
    radial-gradient(circle 3px at 7px 7px,var(--brass) 98%,transparent),
    radial-gradient(circle 3px at calc(100% - 7px) 7px,var(--brass) 98%,transparent),
    radial-gradient(circle 3px at 7px calc(100% - 7px),var(--brass) 98%,transparent),
    radial-gradient(circle 3px at calc(100% - 7px) calc(100% - 7px),var(--brass) 98%,transparent);
}
.dl-ship>summary{
  list-style:none;cursor:pointer;user-select:none;
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;
  background:linear-gradient(180deg,var(--deck),#13222D);
  border-bottom:1px solid var(--brass-d);
  letter-spacing:1px;
}
.dl-ship>summary::-webkit-details-marker{display:none;}
.dl-ship>summary .dl-ship-ic{font-size:15px;}
.dl-ship>summary span{font-weight:900;color:var(--brass);letter-spacing:2px;font-size:12.5px;}
.dl-ship>summary .dl-ship-meta{
  margin-left:auto;color:var(--phos);font-family:var(--num);font-size:11px;font-weight:700;letter-spacing:.5px;
}
.dl-ship>summary .dl-ship-arrow{font-size:10px;color:var(--brass);transition:transform .18s;}
.dl-ship[open]>summary .dl-ship-arrow{transform:rotate(180deg);}
.dl-ship-body{
  padding:8px 10px 10px;
  background:
    repeating-linear-gradient(0deg,rgba(200,155,94,.04) 0 1px,transparent 1px 26px),
    var(--sea);
  position:relative;overflow:hidden;
}
.dl-ship-body .sys-row:last-of-type{border-bottom:none;}
.dl-ship-body .sys-row.changed{background:linear-gradient(90deg,var(--phos-d),transparent 60%);}
.dl-ship-body .sys-row.changed .sys-v{color:var(--phos);font-weight:900;}

/* ── 13. 世界公屏 .dl-chat（无线电收报条） ── */
.dl-chat{
  width:100%;max-width:none;margin:12px auto 0;
  background:
    repeating-linear-gradient(0deg,rgba(127,255,194,.03) 0 1px,transparent 1px 4px),
    var(--sea);
  border:1px solid var(--brass-d);border-radius:3px;
  color:var(--ink);font-family:var(--font);font-size:12.5px;line-height:1.5;
  box-shadow:0 2px 8px rgba(0,0,0,.5);
}
.chat-head{
  display:flex;align-items:center;gap:8px;padding:7px 12px;
  background:linear-gradient(180deg,var(--deck),#13222D);
  border-bottom:1px solid var(--brass-d);letter-spacing:1px;
}
.chat-head .chat-ic{font-size:14px;}
.chat-head .chat-t{font-weight:900;color:var(--brass);letter-spacing:2px;font-size:12.5px;}
.chat-head .chat-n{margin-left:auto;font-size:10.5px;color:var(--ink-3);font-family:var(--num);}
.chat-body{padding:6px 10px 8px;}
.chat-msg{
  padding:3px 2px;border-bottom:1px dotted rgba(200,155,94,.10);
  display:flex;gap:8px;align-items:baseline;
}
.chat-msg:last-child{border-bottom:none;}
.chat-msg .chat-id{
  flex-shrink:0;color:var(--phos);font-weight:800;font-size:11px;
  letter-spacing:.5px;font-family:var(--num);
}
.chat-msg .chat-txt{flex:1;color:var(--ink-2);font-size:12px;word-break:break-word;}

/* ── 14. 船级榜 .dl-rank（黄铜榜单表） ── */
.dl-rank{
  width:100%;max-width:none;margin:12px auto 0;
  background:var(--paper);
  border:1px solid var(--brass-d);border-radius:3px;
  color:var(--ink);font-family:var(--font);font-size:12.5px;line-height:1.5;
  box-shadow:0 2px 8px rgba(0,0,0,.5);
}
.rank-head{
  display:flex;align-items:center;gap:8px;padding:7px 12px;
  background:linear-gradient(180deg,#2A2116,var(--deck));
  border-bottom:1px solid var(--brass-d);letter-spacing:1px;
}
.rank-head .rank-ic{font-size:14px;}
.rank-head .rank-t{font-weight:900;color:var(--brass);letter-spacing:2px;font-size:12.5px;}
.rank-head .rank-n{margin-left:auto;font-size:10.5px;color:var(--ink-3);font-family:var(--num);}
.rank-body{padding:6px 10px 8px;}
.rank-row{
  display:flex;align-items:center;gap:7px;
  padding:4px 2px;border-bottom:1px dashed rgba(200,155,94,.12);
}
.rank-row:last-child{border-bottom:none;}
.rank-row .rank-no{
  flex-shrink:0;width:18px;text-align:center;color:var(--brass);font-weight:900;font-family:var(--num);
}
.rank-row .rank-name{flex:1;min-width:0;color:var(--ink);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rank-row .rank-ship{flex-shrink:0;color:var(--ink-2);font-size:11px;}
.rank-row .rank-crew{flex-shrink:0;color:var(--ink-3);font-size:10.5px;font-family:var(--num);}
.rank-row .rank-asset{flex-shrink:0;color:var(--phos);font-family:var(--num);font-size:11px;}
.rank-row.rank-me{
  background:linear-gradient(90deg,var(--phos-d),transparent 60%);
  box-shadow:inset 2px 0 0 var(--phos);
}
.rank-row.rank-me .rank-name{color:var(--phos);}

/* ── 响应式 ── */
@media (max-width:480px){
  .dl-self,.dl-cast,.dl-crew,.dl-memory,.dl-actions{margin:8px auto 0;font-size:12px;}
  .dl-self>summary,.dl-cast>summary,.dl-crew>summary,.dl-memory>summary,.dl-actions>summary{padding:8px 11px;font-size:11.5px;}
  .dl-self-row{padding:6px 11px 6px 10px;gap:7px;font-size:11.5px;}
  .dl-s-ic{width:21px;height:21px;font-size:12px;}
  .dl-s-l{font-size:9.5px;min-width:30px;}
  .status-bar{gap:6px;}
  .st-item{padding:7px 8px;gap:7px;}
  .st-value{font-size:12px;}
  .st-sub{font-size:9px;}
  .dl-mem-sec{padding:7px 9px;}
  .dl-act-item{padding:7px 11px;}
  .sys-tab{min-width:70px;}
  .sys-tab>summary{font-size:10.5px;padding:5px 4px;gap:3px;}
  .bag-grid{grid-template-columns:repeat(3,1fr);}
  .sys-row .sys-l{min-width:44px;}
  .sys-row .sys-s{max-width:32%;}
  .chat-msg{flex-direction:column;gap:1px;}
  .rank-row{gap:5px;flex-wrap:wrap;}
  .rank-row .rank-asset{width:100%;text-align:right;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;}
}
