/* 类名表：x外框 hd头 mn主体 s主区 sh常显标题 nf不可折叠 no序号 c内容 g网格 k卡 cap五维上限 st五维 sv单维 vb进度 bt按钮 tt便签触发 tx便签层 pc人物 fc势力 hc后宫 qc主线 mc宅邸 bd身体 rl简关 ac行动 lw逻辑链外框 lc因果轨 ls节点 lh节点头 cs节点态 wb召回块 br紧凑按钮组 pr正文 sl印章 tw横滚 tb表格 ln紧凑行 op一句条 rm房间 hs后宫局势 */
.x{--z:#080706;--d:#110e0b;--d2:#1b1510;--d3:#281d13;--g:#c8a45b;--g2:#f0d18a;--r:#7d2428;--r2:#b04443;--p:#35203c;--i:#f3e4bd;--m:#a99778;max-width:1180px;margin:18px auto;background:radial-gradient(circle at 50% -10%,#3b2818 0,#17110d 34%,#090807 82%);color:var(--i);border:1px solid #8f7139;border-radius:20px;box-shadow:0 22px 70px #000c,0 0 0 1px #2d2115 inset;overflow:hidden;font-family:"Noto Serif SC","Source Han Serif SC","Microsoft YaHei",serif}.x *{box-sizing:border-box}.x button{font:inherit}.x .hd{position:relative;padding:24px 26px 22px;background:linear-gradient(110deg,#0c0908,#2a1715 45%,#4b1b20 76%,#19100c);border-bottom:2px solid var(--g);overflow:hidden}.x .hd:before{content:"";position:absolute;inset:-80px auto auto -40px;width:260px;height:260px;border:1px solid #d6b86a33;border-radius:50%;box-shadow:0 0 0 22px #d6b86a0b,0 0 0 44px #d6b86a0a}.x .hd:after{content:"御";position:absolute;right:24px;top:8px;font-size:92px;font-weight:900;color:#e0ba5810}.x .hd h1{position:relative;margin:0;color:var(--g2);font-size:28px;letter-spacing:8px;text-shadow:0 2px 18px #000}.x .hd p{position:relative;margin:8px 0 0;color:#c7b184;font-size:12px;letter-spacing:2px}.x .mn{padding:13px}.x .s{margin:10px 0;border:1px solid #5b472b;border-radius:14px;background:linear-gradient(145deg,#17120eeb,#0d0b09f2);box-shadow:0 9px 24px #0007;overflow:hidden}.x .s>summary{display:flex;align-items:center;gap:10px;padding:13px 15px;cursor:pointer;list-style:none;color:var(--g2);background:linear-gradient(90deg,#231710,#15100d 62%,#251219);border-bottom:1px solid transparent;font-weight:800;letter-spacing:1px}.x .s[open]>summary{border-bottom-color:#5b472b}.x .s>summary::-webkit-details-marker{display:none}.x .no{display:grid;place-items:center;width:28px;height:28px;border:1px solid #d2a84f;border-radius:50%;color:#f2d38a;background:#301819;font-size:11px}.x .s>summary b{margin-left:auto;color:#a98f61;font-size:11px;font-weight:600}.x .c{padding:14px}.x .g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.x .g.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.x .g.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.x .k{padding:11px 12px;border:1px solid #4f3d26;border-radius:11px;background:linear-gradient(145deg,#211811,#120f0c);box-shadow:0 5px 15px #0005}.x .k small{display:block;color:var(--m);font-size:10px;margin-bottom:5px}.x .k b,.x .k strong{color:#ecd08f}.x .k p{margin:6px 0;color:#d3c19d;font-size:12px;line-height:1.65}.x .st{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0}.x .sv{position:relative;padding:10px;border:1px solid #60482a;border-radius:11px;background:linear-gradient(165deg,#2b1d13,#120e0b);overflow:hidden}.x .sv small{display:block;color:#9f8b68}.x .sv b{display:block;margin:3px 0;color:#f1d58e;font-size:24px}.x .vb{position:relative;height:8px;margin-top:7px;border-radius:999px;background:#090706;overflow:hidden;box-shadow:0 0 0 1px #4f3b24 inset}.x .bt{position:relative;display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:4px;padding:7px 9px;border:1px solid #806331;border-radius:9px;background:linear-gradient(150deg,#2c1d12,#17100d);color:#edd28f;cursor:pointer;box-shadow:0 4px 10px #0005}.x .bt:hover,.x .bt:focus{outline:none;border-color:#e0b85c;background:#3a2515;transform:translateY(-1px)}.x .tt{position:relative}.x .pc,.x .fc,.x .hc{margin:10px 0;padding:13px;border:1px solid #654c2a;border-radius:14px;background:linear-gradient(150deg,#211711,#100d0b);box-shadow:0 7px 20px #0008}.x .pc h3,.x .fc h3,.x .hc h3{display:flow-root;margin:0 0 10px;color:#f0d18a;letter-spacing:1px}.x .pc h3 em,.x .fc h3 em,.x .hc h3 em{float:right;color:#af9360;font-size:10px;font-style:normal}.x .bd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:7px}.x .rl{display:inline-block;margin:3px;padding:5px 8px;border:1px solid #5f4930;border-radius:999px;color:#e0c486;background:#19120e;font-size:11px}.x .pr{padding:clamp(22px,4vw,48px);background:linear-gradient(150deg,#16110e,#0c0a08);border-left:3px solid var(--r2);color:#f1e3c5;line-height:2.05;letter-spacing:.08em;font-size:16px;white-space:pre-wrap;text-shadow:0 1px #000}.x .ac{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:12px;border:1px solid #6e542e;border-radius:12px;background:linear-gradient(145deg,#251812,#110d0a);color:#e9cf8b;text-align:left;cursor:pointer}.x .ac:hover,.x .ac:focus{outline:none;border-color:#dfb65a;box-shadow:0 0 0 1px #dfb65a44,0 9px 22px #000a}.x .ac b{color:#f0d18a}.x .ac span{color:#c6b18b;font-size:11px;line-height:1.55}.x .ra{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:8px;padding:9px;margin:7px 0;border-left:2px solid #a9843c;background:#19110e;border-radius:0 9px 9px 0}.x .ra b{color:#e6c77e}.x .ra span{color:#d7c29b}.x .sl{display:inline-grid;place-items:center;min-width:31px;height:31px;padding:0 7px;border:1px solid #d0a951;background:#6f2527;color:#f7dfaa;font-size:11px}.x .ft{padding:10px;text-align:center;color:#7f6e53;font-size:10px;border-top:1px solid #332719}.x .hide{color:#8c795c;font-style:italic}.x .sub{margin:10px 0;border:1px solid #493721;border-radius:10px}.x .sub>summary{padding:9px 11px;color:#d8ba75;cursor:pointer;font-size:12px}.x .sub .c{padding-top:5px}@media(max-width:780px){.x .g,.x .g.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.x .st{grid-template-columns:repeat(2,minmax(0,1fr))}.x .bd{grid-template-columns:repeat(2,minmax(0,1fr))}.x .hd h1{font-size:21px}.x .ra{grid-template-columns:1fr}}
/* =========================================================
   HL V4 自定义样式补充
   mt间距 tw表格滚动 tb记忆表 os模块状态
   进度条、身体按钮与账簿表格基础。
   ========================================================= */
.x .mt{margin-top:9px}
.x progress.vb{display:block;width:100%;height:8px;margin-top:7px;border:0;border-radius:999px;appearance:none;-webkit-appearance:none;overflow:hidden;background:#090706;box-shadow:0 0 0 1px #4f3b24 inset}
.x progress.vb::-webkit-progress-bar{background:#090706;border-radius:999px}
.x progress.vb::-webkit-progress-value{background:linear-gradient(90deg,#79262a,#d4ae58);border-radius:999px}
.x progress.vb::-moz-progress-bar{background:linear-gradient(90deg,#79262a,#d4ae58);border-radius:999px}

/* 身体按钮：自适应列宽，不与边框、文字或相邻按钮重叠。 */
.x .bd{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;align-items:stretch;gap:9px!important}
.x .bd>.bt{width:100%;min-height:52px;margin:0!important;justify-content:center;white-space:normal;text-align:center}

/* 记忆账簿：语义表格；窄屏只横向滚动，不挤坏面板。 */

.x .tw{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #4f3d26;border-radius:10px;background:#0e0b09}
.x .tb{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed;color:#ddc9a0;font-size:11px;line-height:1.55}
.x .tb th,.x .tb td{padding:8px 9px;border-right:1px solid #4b3924;border-bottom:1px solid #4b3924;vertical-align:top;overflow-wrap:anywhere}
.x .tb th{position:sticky;top:0;z-index:2;background:#281812;color:#f0d18a;text-align:left}
.x .tb td{background:#15100d}
.x .tb tr:nth-child(even) td{background:#1b130e}
.x .tb th:last-child,.x .tb td:last-child{border-right:0}

@media(max-width:520px){
  .x .bd{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .x .bd>.bt{min-height:48px;padding:8px 6px}
}
/* ===== HL V5：主线卡与联立账 ===== */
.x .qc{margin:10px 0;padding:13px;border:1px solid #70542e;border-radius:14px;background:linear-gradient(150deg,#211711,#100d0b);box-shadow:0 7px 20px #0008;overflow:visible}
.x .qc h3{margin:0 0 10px;color:#f0d18a;letter-spacing:1px}
.x .qc h3 em{float:right;color:#af9360;font-size:10px;font-style:normal}
@media(max-width:620px){.x .qc h3 em{float:none;display:block;margin-top:5px}}
/* ===== HL V14 因果链：单列轨道 + 单一世界书召回块 ===== */
.x .lw{overflow:visible}.x .lw>.c{padding:12px 14px}.x .lc{position:relative;list-style:none;margin:0;padding:2px 0 2px 34px}.x .lc:before{content:"";position:absolute;left:13px;top:13px;bottom:13px;width:2px;background:linear-gradient(#d2aa54,#74402d)}
.x .ls{position:relative;margin:0 0 8px;padding:9px 11px 9px 13px;border:0;border-left:2px solid #826735;border-radius:0 9px 9px 0;background:linear-gradient(90deg,#21170f,#120e0b 78%);box-shadow:none}.x .ls:last-child{margin-bottom:0}.x .ls:before{content:attr(data-n);position:absolute;left:-35px;top:9px;display:grid;place-items:center;width:26px;height:26px;border:1px solid #d2aa54;border-radius:50%;background:#301819;color:#f0d18a;font-size:9px;z-index:1}.x .ls:not(:last-child):after{content:"⌄";position:absolute;left:-29px;bottom:-12px;color:#c8a45b;font-size:12px;z-index:2}
.x .lh{display:flex;align-items:center;gap:8px}.x .lh b{color:#f0d18a}.x .cs{margin-left:auto;padding:2px 6px;border:1px solid #684f2c;border-radius:999px;color:#bca474;font-size:9px;font-style:normal;white-space:nowrap}.x .ls p{margin:5px 0 0;color:#d3c19d;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.x .ls strong{color:#e7ca86}.x .wb{display:flex;gap:7px;margin-top:7px;padding:7px 8px;border:1px solid #594323;border-radius:7px;background:#0d0a08;color:#cdb88e;font-size:10px;line-height:1.5}.x .wb b{flex:0 0 auto;color:#dfbd70}.x .wb span{min-width:0;overflow-wrap:anywhere}
.x .br{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px}.x .br>.bt{margin:0}.x .k,.x .k b,.x .k p{min-width:0;overflow-wrap:anywhere}
@media(max-width:520px){.x .lw>.c{padding:9px}.x .lc{padding-left:28px}.x .lc:before{left:10px}.x .ls{padding:7px 8px 7px 10px}.x .ls:before{left:-29px;top:8px;width:22px;height:22px;font-size:8px}.x .ls:not(:last-child):after{left:-24px}.x .lh{gap:5px}.x .lh b{font-size:11px}.x .cs{font-size:8px}.x .ls p{font-size:9.5px;line-height:1.45}.x .wb{display:block;padding:6px;font-size:9px}.x .wb b{display:block;margin-bottom:2px}}
/* ===== HL V14 精简状态块 ===== */
.x .ln{margin:8px 0;padding:8px 10px;border-left:2px solid #9b7738;border-radius:0 8px 8px 0;background:#15100d;color:#d3c19d;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.x .ln b{color:#e7ca86}.x .op{margin:5px 0;padding:6px 8px;border-left:2px solid #684f2c;background:#120e0b;color:#cfbb94;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.x .op b{color:#e2c276}.x .rm{border-left:2px solid #a47d39}.x .hs{margin-bottom:10px;border-left:3px solid var(--r2);background:linear-gradient(90deg,#281411,#15100d)}
@media(max-width:520px){.x .ln,.x .op{padding:6px 7px;font-size:9px;line-height:1.4}.x .hs p{font-size:10px}}
/* ===== HL V14 TOOLTIP：桌面方形；手机只锁窄宽，高度随内容 ===== */
.x .bt.tt{gap:4px;margin:3px;padding:5px 7px;border-radius:7px;font-size:11px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:break-word;vertical-align:top}.x .bd>.bt.tt{margin:0!important;padding:7px 8px;font-size:inherit;line-height:normal}.x .bt:hover,.x .bt:focus{transform:none!important}
/* 便签可跨越面板分区，但不解锁最外层，避免影响聊天外壳和输入框。 */
.x .s,.x .sv,.x .tt{overflow:visible!important}.x .tt{position:relative!important}.x .tt:hover,.x .tt:focus,.x .tt:focus-within{z-index:2147483646!important}
.x .tt>.tx{display:block!important;position:absolute!important;box-sizing:border-box!important;top:100%!important;bottom:auto!important;left:0!important;right:auto!important;margin:7px 0 0!important;width:232px!important;min-width:232px!important;max-width:232px!important;height:232px!important;min-height:232px!important;max-height:232px!important;z-index:2147483647!important;padding:10px 12px!important;border:1px solid #d1a84f!important;border-radius:10px!important;background:#0b0908!important;color:#f2dfb2!important;box-shadow:0 18px 54px #000e,0 0 0 1px #f0d18a22 inset!important;transform:none!important;opacity:0!important;visibility:hidden!important;overflow-y:auto!important;overflow-x:hidden!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;text-align:left!important;line-height:1.62!important;pointer-events:auto!important;user-select:none!important;transition:none!important}
.x .tt:hover>.tx,.x .tt:focus>.tx,.x .tt:focus-within>.tx{opacity:1!important;visibility:visible!important}.x .tl>.tx{left:0!important;right:auto!important}.x .tr>.tx{left:auto!important;right:0!important}
/* 身体区仍按既有三列/两列显式定向，保持用户确认过的布局。 */
.x .bd>.bt:nth-child(3n)>.tx{left:auto!important;right:0!important}
@media screen and (max-width:520px){
.x .bt.tt{min-width:0;min-height:0;margin:2px;padding:3px 5px;gap:3px;border-radius:6px;font-size:9px;line-height:1.2;box-shadow:0 2px 6px #0005}.x .bd>.bt.tt{width:100%;min-height:48px;margin:0!important;padding:8px 6px;font-size:inherit;line-height:normal}
.x .tt>.tx{width:148px!important;min-width:148px!important;max-width:148px!important;height:auto!important;min-height:0!important;max-height:none!important;margin:3px 0 0!important;padding:5px 6px!important;border-radius:6px!important;font-size:8px!important;line-height:1.35!important;overflow:visible!important;box-shadow:0 10px 28px #000e,0 0 0 1px #f0d18a22 inset!important}
.x .bd>.bt:nth-child(odd)>.tx{left:0!important;right:auto!important}.x .bd>.bt:nth-child(even)>.tx{left:auto!important;right:0!important}
.x .sub>.c>.bt.tt,.x .mt>.bt.tt{display:flex;width:max-content;max-width:100%}.x .br>.bt.tt{display:inline-flex;width:auto;max-width:100%}
}

/* ===== HL V6 宅邸卡 ===== */
.x .mc{margin:10px 0;padding:13px;border:1px solid #70542e;border-radius:14px;background:linear-gradient(150deg,#221810,#100d0b);box-shadow:0 7px 20px #0008}
.x .mc h3{margin:0 0 10px;color:#f0d18a;letter-spacing:1px}
.x .mc h3 em{float:right;color:#af9360;font-size:10px;font-style:normal}
@media(max-width:620px){.x .mc h3 em{float:none;display:block;margin-top:5px}}
/* ===== HL V8：正文/下一步常显标题；五维上限提示 ===== */
.x .sh{display:flex;align-items:center;gap:10px;padding:13px 15px;color:var(--g2);background:linear-gradient(90deg,#231710,#15100d 62%,#251219);border-bottom:1px solid #5b472b;font-weight:800;letter-spacing:1px}
.x .sh b{margin-left:auto;color:#a98f61;font-size:11px;font-weight:600}
.x .cap{margin:10px 0 4px;padding:7px 10px;border:1px solid #765b31;border-radius:9px;background:#21150f;color:#d7ba78;font-size:10px;line-height:1.55;letter-spacing:.03em}
/* ===== HL V10 人物数值栏：ms资源组 mi单项；hp体况 en精力 wi心志 sp压力 ld负重 dm五维 ===== */
.x .ms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:9px 0}
.x .mi{min-width:0;padding:8px 9px;border:1px solid #554127;border-radius:9px;background:#15100d}
.x .mi>span{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.x .mi i{color:#aa9672;font-size:10px;font-style:normal}.x .mi b{color:#f1d58e;font-size:15px;white-space:nowrap}
.x .mi small{display:block;margin-top:4px;color:#8f8068;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.x progress.vb.hp{accent-color:#b73d43}.x progress.vb.en{accent-color:#bf722f}.x progress.vb.wi{accent-color:#5c947a}.x progress.vb.sp{accent-color:#845083}.x progress.vb.ld{accent-color:#7c8588}.x progress.vb.dm{accent-color:#c7a34f}
.x progress.vb.hp::-webkit-progress-value{background:#b73d43}.x progress.vb.en::-webkit-progress-value{background:#bf722f}.x progress.vb.wi::-webkit-progress-value{background:#5c947a}.x progress.vb.sp::-webkit-progress-value{background:#845083}.x progress.vb.ld::-webkit-progress-value{background:#7c8588}.x progress.vb.dm::-webkit-progress-value{background:#c7a34f}
.x progress.vb.hp::-moz-progress-bar{background:#b73d43}.x progress.vb.en::-moz-progress-bar{background:#bf722f}.x progress.vb.wi::-moz-progress-bar{background:#5c947a}.x progress.vb.sp::-moz-progress-bar{background:#845083}.x progress.vb.ld::-moz-progress-bar{background:#7c8588}.x progress.vb.dm::-moz-progress-bar{background:#c7a34f}
@media(max-width:620px){.x .ms{grid-template-columns:repeat(2,minmax(0,1fr))}.x .mi{padding:7px}.x .mi b{font-size:14px}}

/* ===== HL V14 字级收束：层级清晰，不改变布局 ===== */
.x .s>summary,.x .sh{font-size:17px;line-height:1.35}.x .pc h3,.x .fc h3,.x .hc h3,.x .qc h3,.x .mc h3{font-size:18px;line-height:1.4}.x .k b,.x .k strong{font-size:15px;line-height:1.4}.x .lh b{font-size:14px;line-height:1.4}.x .bd>.bt.tt{font-size:14px;line-height:1.4}.x .ac b{font-size:15px;line-height:1.4}
@media screen and (max-width:520px){.x .hd h1{font-size:23px;line-height:1.2}.x .hd p{font-size:11px;line-height:1.65;letter-spacing:1px}.x .s>summary,.x .sh{font-size:16px;line-height:1.35}.x .pc h3,.x .fc h3,.x .hc h3,.x .qc h3,.x .mc h3{font-size:16px;line-height:1.45;letter-spacing:.5px}.x .pc h3 em,.x .fc h3 em,.x .hc h3 em,.x .qc h3 em,.x .mc h3 em{font-size:9.5px;line-height:1.45}.x .lh b{font-size:13px}.x .ls p{font-size:10.5px;line-height:1.55}.x .wb{font-size:9.5px;line-height:1.5}.x .ln,.x .op{font-size:10.5px;line-height:1.55}.x .hs p{font-size:11px}.x .sv b{font-size:22px}.x .bd>.bt.tt{font-size:14px}.x .ac b{font-size:15px}.x .g.g2.wd{grid-template-columns:1fr}}


/* ===== HL V16 手机端卡片标题清浮动：修复后续网格被挤成细柱 ===== */
@media screen and (max-width:620px){
.x .pc h3 em,.x .fc h3 em,.x .hc h3 em{
float:none!important;
display:block!important;
clear:both!important;
width:100%!important;
margin:5px 0 0!important;
text-align:left!important;
}
}

/* ===== HL V15 记忆预计算：账簿顶部唯一小方块 ===== */
.x .mp{display:grid;width:min(100%,360px);gap:3px;margin:0 0 10px;padding:9px 10px}.x .mp>b{font-size:12px!important}.x .mp p{margin:0!important;font-size:10px!important;line-height:1.45!important}@media screen and (max-width:520px){.x .mp{width:100%;padding:8px}}
/* ===== HL V16 NPC独立折叠 + 末尾篇幅结算 ===== */
.x details.nc{padding:0;overflow:hidden}.x .nc>summary{display:flex;align-items:center;gap:8px;padding:12px 13px;color:#f0d18a;font-weight:800;letter-spacing:1px;cursor:pointer}.x .nc>summary em{margin-left:auto;color:#af9360;font-size:10px;font-style:normal}.x .nc[open]>summary{border-bottom:1px solid #654c2a;background:#1b120e}.x .nc>.nb{padding:13px}.x .gs{margin:12px 0 0;padding:10px 12px;border:1px solid #70542e;border-radius:11px;background:linear-gradient(145deg,#211711,#100d0b);color:#d3c19d}.x .gs small{display:block;color:#a98f61;font-size:9px}.x .gs b{display:block;margin:4px 0;color:#f0d18a;font-size:12px}.x .gs p{margin:0;font-size:10px;line-height:1.5}@media screen and (max-width:520px){.x .nc>summary{align-items:flex-start;font-size:13px}.x .nc>summary em{display:block;float:none}.x .gs{padding:8px}}