/* =========================================================
   R2NP 融合CSS｜清理整合版
   定制器 + 手机式状态OS + 旧面板兼容 + 中档模板输出
   规则：
   1. CSS区只放一次。
   2. 每回合HTML禁止style/script/input/radio。
   3. 交互仅依赖details/summary与focus。
   4. TP/便签只保留一套 .nt/.ntx 规则，不再fixed/absolute，不再补丁覆盖。
   ========================================================= */

/* ===== 00. 基础变量 ===== */
:root{
  --r2np-bg:#090b0f;
  --r2np-ink:#eadfc9;
  --r2np-gold:#d4af37;
  --r2np-gold2:#f8d56b;
  --r2np-red:#a60f1e;
  --r2np-cyan:#49c4aa;
  --r2np-blue:#60a5fa;
  --r2np-green:#22c55e;
  --r2np-purple:#b388ff;
  --r2np-paper:#fff8e6;
  --r2np-brown:#3b2416;
  --r2np-line:rgba(205,159,76,.22);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;padding:0}

/* =========================================================
   A. R2NP 定制器
   ========================================================= */
.r2np-root{
  max-width:1120px;
  margin:0 auto;
  padding:14px;
  font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",Arial,sans-serif;
  color:var(--r2np-ink);
  background:
    radial-gradient(circle at 15% 6%,rgba(205,159,76,.18),transparent 26%),
    radial-gradient(circle at 90% 12%,rgba(73,196,170,.14),transparent 28%),
    linear-gradient(135deg,#090b0f,#15120f 48%,#24160e);
  border:1px solid rgba(205,159,76,.25);
  border-radius:18px;
  box-shadow:0 22px 60px rgba(0,0,0,.35);
  font-size:13px;
  line-height:1.65;
  overflow:hidden;
}

.r2np-root .r2np-hero{
  position:relative;
  padding:22px;
  border-radius:18px;
  background:
    linear-gradient(125deg,rgba(8,10,13,.88),rgba(28,20,13,.74)),
    linear-gradient(90deg,rgba(205,159,76,.22),rgba(73,196,170,.10));
  border:1px solid rgba(205,159,76,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 32px rgba(0,0,0,.25);
}

.r2np-root .r2np-kicker{font-size:11px;font-weight:900;letter-spacing:.14em;color:#d7b76a}
.r2np-root .r2np-hero h1{margin:6px 0 8px;font-size:34px;line-height:1.12;color:#fff3d0}
.r2np-root .r2np-hero p{margin:0;color:#bfb2a0}

.r2np-root .r2np-nav{
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:10px 0;
  padding:8px;
  border-radius:14px;
  background:rgba(13,15,19,.86);
  border:1px solid var(--r2np-line);
  backdrop-filter:blur(10px);
}

.r2np-root .r2np-nav button,
.r2np-root .hero-tabs button,
.r2np-root .pool-target button{
  border:1px solid rgba(205,159,76,.24);
  border-radius:999px;
  padding:7px 11px;
  background:linear-gradient(135deg,#1d1a16,#342314);
  color:#e8d6aa;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

.r2np-root .r2np-nav button.active,
.r2np-root .hero-tabs button.active,
.r2np-root .pool-target button.active{
  background:linear-gradient(135deg,#c99b3e,#7a2c2c);
  color:#110d08;
}

.r2np-root .r2np-page,
.r2np-root .hero-sheet,
.r2np-root .bio-box{display:none}

.r2np-root .r2np-page.active,
.r2np-root .hero-sheet.active,
.r2np-root .bio-box.active{display:block}

.r2np-root .r2np-panel{
  margin:10px 0;
  padding:13px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,246,223,.08),rgba(255,255,255,.035));
  border:1px solid var(--r2np-line);
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}

.r2np-root .r2np-panel h2{
  margin:0 0 9px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(205,159,76,.25);
  font-size:19px;
  color:#ffe6a5;
}

.r2np-root .r2np-panel h3{margin:10px 0 6px;font-size:14px;color:#d7b76a}

.r2np-root .r2np-note,
.r2np-root .audience-note{
  margin:7px 0;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(73,196,170,.08);
  border:1px solid rgba(73,196,170,.18);
  color:#bcd4ca;
  font-size:12px;
  line-height:1.55;
}

.r2np-root .grid2,
.r2np-root .grid3,
.r2np-root .world-grid,
.r2np-root .card-grid,
.r2np-root .history-grid,
.r2np-root .filter-select-grid,
.r2np-root .pool-control,
.r2np-root .pool-stat{display:grid;gap:8px}

.r2np-root .grid2{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}
.r2np-root .grid3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.r2np-root .world-grid,
.r2np-root .card-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.r2np-root .history-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:10px 0}
.r2np-root .filter-select-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:10px 0 12px;padding:10px}
.r2np-root .pool-control{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:10px 0;padding:10px}
.r2np-root .pool-stat{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:8px 0}

.r2np-root label{display:block;margin:7px 0 4px;color:#d7b76a;font-size:12px;font-weight:900}

.r2np-root input,
.r2np-root select,
.r2np-root textarea{
  width:100%;
  border:1px solid rgba(205,159,76,.24);
  border-radius:10px;
  background:rgba(8,10,13,.72);
  color:#f2ead7;
  padding:7px;
  font-family:inherit;
  font-size:12px;
  outline:none;
}

.r2np-root textarea{min-height:88px;resize:vertical}

.r2np-root input:focus,
.r2np-root select:focus,
.r2np-root textarea:focus{
  border-color:rgba(73,196,170,.55);
  box-shadow:0 0 0 3px rgba(73,196,170,.10);
}

.r2np-root .btn{
  display:inline-block;
  margin:6px 5px 6px 0;
  border:0;
  border-radius:10px;
  padding:8px 12px;
  background:linear-gradient(135deg,#c99b3e,#8b5a1f);
  color:#110d08;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
  box-shadow:0 7px 16px rgba(0,0,0,.20);
}

.r2np-root .btn.cyan{background:linear-gradient(135deg,#49c4aa,#247969);color:#06110f}
.r2np-root .btn.red{background:linear-gradient(135deg,#b64a4a,#732222);color:#fff0dc}
.r2np-root .btn.gray{background:linear-gradient(135deg,#5b5f67,#2b2f36);color:#e6e6e6}

.r2np-root .pill-row,
.r2np-root .pool-target,
.r2np-root .hero-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0}

.r2np-root .pill{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(205,159,76,.10);
  border:1px solid var(--r2np-line);
  color:#e8d6aa;
  font-size:11px;
  font-weight:800;
}

.r2np-root .history-card,
.r2np-root .world-card,
.r2np-root .r-card{
  position:relative;
  padding:10px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,246,223,.08),rgba(255,255,255,.035));
  border:1px solid rgba(205,159,76,.18);
  overflow:hidden;
}

.r2np-root .world-card,
.r2np-root .r-card{cursor:pointer}

.r2np-root .history-card b,
.r2np-root .world-card b,
.r2np-root .r-card b{
  display:block;
  color:#fff1c2;
  font-size:13px;
  margin-bottom:4px;
  word-break:break-word;
  overflow-wrap:anywhere;
}

.r2np-root .history-card small,
.r2np-root .world-card small,
.r2np-root .r-card small{
  display:block;
  color:#b8aa97;
  font-size:11px;
  line-height:1.5;
}

.r2np-root .world-card.active,
.r2np-root .r-card.active,
.r2np-root .r-card.selected{
  outline:2px solid rgba(73,196,170,.58);
  background:linear-gradient(135deg,rgba(73,196,170,.13),rgba(205,159,76,.10));
}

.r2np-root .r-card.locked{box-shadow:0 0 0 2px rgba(205,159,76,.48),0 8px 22px rgba(0,0,0,.25)}

.r2np-root .range-row{
  display:grid;
  grid-template-columns:108px minmax(150px,1fr) 70px;
  gap:8px;
  align-items:center;
  margin:7px 0;
  padding:7px;
  border-radius:11px;
  background:rgba(8,10,13,.42);
  border:1px solid rgba(205,159,76,.16);
}

.r2np-root .range-row label{margin:0;color:#e2c171}
.r2np-root .range-row label small{display:block;color:#9d8b74;font-size:10px;line-height:1.2}
.r2np-root .range-row input[type=range]{padding:0;accent-color:#d7b76a}
.r2np-root .range-val{text-align:right;font-weight:900;color:#49c4aa;font-size:11px}

.r2np-root .rarity-badge{display:inline-block;margin-bottom:5px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:900;border:1px solid rgba(255,255,255,.18)}
.r2np-root .rar-D{border-color:#69717d}
.r2np-root .rar-C{border-color:#3b946f}
.r2np-root .rar-B{border-color:#3d79d6}
.r2np-root .rar-A{border-color:#9b69e8}
.r2np-root .rar-S{border-color:#d3a03e}
.r2np-root .rar-SS{border-color:#d6528d}
.r2np-root .rar-EX{border-color:#e1e6f0}
.r2np-root .rar-EXS{border-color:#fff1a8}

.r2np-root .copy-box{min-height:280px;white-space:pre-wrap;font-family:Consolas,"Courier New",monospace;font-size:12px}
.r2np-root .update-timeline .history-scroll{max-height:320px;overflow-y:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(205,159,76,.65) rgba(8,10,13,.35)}
.r2np-root .update-timeline .history-scroll::-webkit-scrollbar{width:8px}
.r2np-root .update-timeline .history-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#cda04c,#49c4aa);border-radius:999px}
.r2np-root .update-timeline .history-scroll::-webkit-scrollbar-track{background:rgba(8,10,13,.35);border-radius:999px}

.r2np-root .filter-step.hidden,
.r2np-root .world-suggest.hidden{display:none!important}

.r2np-root .world-suggest{
  position:relative;
  margin:-2px 0 10px;
  padding:6px;
  border:1px solid rgba(203,156,72,.34);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(16,20,27,.96),rgba(45,30,20,.94));
  box-shadow:0 14px 30px rgba(0,0,0,.34);
  max-height:260px;
  overflow-y:auto;
  z-index:30;
}

.r2np-root .world-suggest-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  padding:8px 10px;
  margin:4px 0;
  border-radius:10px;
  border:1px solid rgba(203,156,72,.16);
  background:rgba(255,246,220,.06);
  cursor:pointer;
  transition:.14s ease;
}

.r2np-root .world-suggest-item:hover{background:rgba(203,156,72,.18);transform:translateX(2px)}
.r2np-root .world-suggest-item b{color:#f5d58a;font-size:13px}
.r2np-root .world-suggest-item small{display:block;color:#d2c4a0;font-size:11px;line-height:1.45;margin-top:2px}
.r2np-root .world-suggest-tags{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.r2np-root .world-suggest-tags span,
.r2np-root .audience-note span{padding:2px 6px;border-radius:999px;border:1px solid rgba(203,156,72,.25);color:#f0d494;background:rgba(203,156,72,.10);font-size:10px;white-space:nowrap}

.r2np-root .r2np-relation-box{
  margin:10px 0 12px;
  padding:12px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,246,223,.10),rgba(73,196,170,.08));
  border:1px solid rgba(205,159,76,.28);
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}

.r2np-root .r2np-rel-stage{
  margin-top:6px;
  padding:7px 9px;
  border-radius:10px;
  background:rgba(8,10,13,.48);
  border:1px solid rgba(205,159,76,.18);
  color:#ffe6a5;
  font-size:12px;
  font-weight:800;
}

.r2np-root .pool-control label{margin:0 0 4px;color:#e2c171}
.r2np-root .pool-control select{width:100%;background:#11151b;color:#f2e6cf;border:1px solid rgba(205,159,76,.26);border-radius:10px;padding:7px}

.r2np-root .qbar{padding:7px;border-radius:11px;background:rgba(255,255,255,.055);border:1px solid rgba(205,159,76,.13);font-size:11px}
.r2np-root .qbar b{display:block;font-size:12px}
.r2np-root .qbar small{display:block;color:#b8aa92;line-height:1.45}
.r2np-root .qbar.D{border-left:4px solid #777}
.r2np-root .qbar.C{border-left:4px solid #44a36f}
.r2np-root .qbar.B{border-left:4px solid #3f82e8}
.r2np-root .qbar.A{border-left:4px solid #9a64ff}
.r2np-root .qbar.S{border-left:4px solid #dba33a}
.r2np-root .qbar.SS{border-left:4px solid #df4f9b}
.r2np-root .qbar.EX{border-left:4px solid #f15b45}
.r2np-root .qbar.EXS{border-left:4px solid #f3e26b}

.r2np-root .r-card .card-state{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.r2np-root .r-card .mark{font-size:10px;padding:2px 6px;border-radius:999px;border:1px solid rgba(205,159,76,.22);background:rgba(255,255,255,.08);color:#eadfc9}
.r2np-root .r-card .mark.sel{border-color:rgba(73,196,170,.55);color:#7ce3cb}
.r2np-root .r-card .mark.lock{border-color:rgba(205,159,76,.65);color:#f4d27d}
.r2np-root .r-card .lock-btn{position:absolute;right:7px;top:7px;border:1px solid rgba(205,159,76,.30);border-radius:999px;background:rgba(8,10,13,.72);color:#f1d48a;font-size:10px;padding:2px 7px;cursor:pointer}

.r2np-root .world-page-panel{position:relative}
.r2np-root .world-card .world-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:5px}
.r2np-root .world-card .world-title{font-weight:900;color:#f5d99b;font-size:14px;line-height:1.35}
.r2np-root .world-card .world-cool{display:inline-block;padding:2px 7px;border-radius:999px;background:linear-gradient(135deg,rgba(205,159,76,.22),rgba(73,196,170,.15));border:1px solid rgba(205,159,76,.28);color:#f2d28d;font-size:10px;font-weight:800}
.r2np-root .world-card .world-intro{display:block;margin:5px 0;color:#d8c9af;font-size:12px;line-height:1.55;white-space:pre-wrap}

/* =========================================================
   B. style_default 面板与旧输出兼容
   ========================================================= */
.style_default{
  max-width:100%;
  box-sizing:border-box;
  margin:0 auto;
  padding:10px;
  font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",Arial,sans-serif;
  font-size:12px;
  line-height:1.62;
  word-break:break-word;
  overflow-wrap:break-word;
  color:#3b2416;
  background:linear-gradient(135deg,#fff9ef 0%,#f1dcc2 48%,#d7b17c 100%);
}

.style_default .panel-pink,
.style_default .panel-blue,
.style_default .panel-gold,
.style_default .pp,
.style_default .pb,
.style_default .pg{
  margin:9px 0;
  padding:0;
  border-radius:12px;
  color:#3b2416;
  box-shadow:0 4px 14px rgba(0,0,0,.22);
  overflow:hidden;
}

.style_default .panel-pink,
.style_default .pp{border:1px solid rgba(180,92,120,.42);background:linear-gradient(135deg,#f3dfba 0%,#e7c996 46%,#d6ad74 100%)}

.style_default .panel-blue,
.style_default .pb{border:1px solid rgba(70,110,180,.42);background:linear-gradient(135deg,#eaf3ff 0%,#c8dcf6 48%,#9fbde0 100%)}

.style_default .panel-gold,
.style_default .pg{border:1px solid rgba(190,140,55,.46);background:linear-gradient(135deg,#fff4cf 0%,#ecd091 50%,#c79b4e 100%)}

.style_default .panel-pink>summary,
.style_default .panel-blue>summary,
.style_default .panel-gold>summary,
.style_default .pp>summary,
.style_default .pb>summary,
.style_default .pg>summary{
  list-style:none;
  cursor:pointer;
  padding:8px 11px;
  font-weight:bold;
  font-size:13px;
  line-height:1.42;
  border-bottom:1px solid rgba(120,60,40,.25);
}

.style_default .panel-pink>summary,
.style_default .pp>summary{color:#5a2038;background:rgba(255,220,185,.55)}

.style_default .panel-blue>summary,
.style_default .pb>summary{color:#1f4c78;background:rgba(210,232,255,.65)}

.style_default .panel-gold>summary,
.style_default .pg>summary{color:#6e4810;background:rgba(255,236,176,.7)}

.style_default details>summary::-webkit-details-marker{display:none}
.style_default .panel-pink>summary:before,
.style_default .panel-blue>summary:before,
.style_default .panel-gold>summary:before,
.style_default .pp>summary:before,
.style_default .pb>summary:before,
.style_default .pg>summary:before,
.style_default .sub-panel>summary:before,
.style_default .sp>summary:before,
.style_default .data-card>summary:before,
.style_default .dc>summary:before,
.style_default .action-card>summary:before,
.style_default .ac>summary:before,
.style_default .task-card>summary:before,
.style_default .tkc>summary:before,
.style_default .item-card>summary:before,
.style_default .itc>summary:before,
.style_default .skill-card>summary:before,
.style_default .skc>summary:before{content:"▸ ";color:#7a2946}

.style_default details[open]>summary:before{content:"▾ "}

.style_default .panel-inner,
.style_default .pi,
.style_default .sys-box,
.style_default .sbx{padding:9px;font-size:12px;line-height:1.62}

.style_default .sub-panel,
.style_default .sp,
.style_default .data-card,
.style_default .dc,
.style_default .action-card,
.style_default .ac,
.style_default .task-card,
.style_default .tkc,
.style_default .item-card,
.style_default .itc,
.style_default .skill-card,
.style_default .skc,
.style_default .apc{
  margin:7px 0;
  padding:0;
  border-radius:10px;
  border:1px solid rgba(110,65,35,.16);
  background:rgba(255,255,245,.34);
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}

.style_default .sub-panel>summary,
.style_default .sp>summary,
.style_default .data-card>summary,
.style_default .dc>summary,
.style_default .action-card>summary,
.style_default .ac>summary,
.style_default .task-card>summary,
.style_default .tkc>summary,
.style_default .item-card>summary,
.style_default .itc>summary,
.style_default .skill-card>summary,
.style_default .skc>summary{
  list-style:none;
  cursor:pointer;
  padding:6px 9px;
  font-size:12px;
  font-weight:bold;
  line-height:1.4;
  color:#7a2946;
  background:rgba(255,248,224,.54);
  border-bottom:1px solid rgba(120,70,45,.12);
}

.style_default .card-body,
.style_default .cb{padding:7px}

.style_default .info-card,
.style_default .ic,
.style_default .body-part-card,
.style_default .bpc,
.style_default .memory-box,
.style_default .mem,
.style_default .goal-box,
.style_default .gb,
.style_default .recommend-box,
.style_default .rb,
.style_default .change-box,
.style_default .chg,
.style_default .guard-note,
.style_default .gn,
.style_default .kv-card,
.style_default .kvc,
.style_default .mem-card-lite,
.style_default .mcl,
.style_default .family-card-lite,
.style_default .fml,
.style_default .formula-card,
.style_default .formula-note,
.style_default .fnx,
.style_default .fm{
  background:rgba(255,248,224,.52);
  border:1px solid rgba(110,65,35,.18);
  border-radius:10px;
  padding:7px;
  margin:7px 0;
  font-size:12px;
  line-height:1.58;
}

.style_default .guard-note,
.style_default .gn{
  background:rgba(255,180,130,.18);
  border-color:rgba(180,80,40,.24);
  color:#6b351c;
  font-weight:bold;
}

.style_default .omit-lock,
.style_default .ol{font-weight:bold}

.style_default .kv-line,
.style_default .kv{margin:3px 0;line-height:1.55}

.style_default .icon-line,
.style_default .il{display:flex;gap:6px;align-items:flex-start;margin:3px 0;line-height:1.55}

.style_default .icon-line .ico,
.style_default .il .ico{width:20px;text-align:center;flex:0 0 20px;opacity:.95}

.style_default table{
  width:100%;
  border-collapse:collapse;
  margin:7px 0;
  font-size:11px;
  line-height:1.48;
}

.style_default th,
.style_default td{
  border:1px solid rgba(110,65,35,.22);
  padding:5px 6px;
  vertical-align:top;
  background:rgba(255,255,245,.38);
}

.style_default th{
  font-weight:bold;
  color:#7a2946;
  background:rgba(255,248,224,.62);
}

.style_default .status-grid,
.style_default .sg,
.style_default .counter-grid,
.style_default .cg{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:7px;
  margin:8px 0 10px;
}

.style_default .status-card,
.style_default .sc,
.style_default .counter-grid>div,
.style_default .cg>div{
  padding:7px;
  border-radius:10px;
  background:rgba(255,255,245,.45);
  border:1px solid rgba(110,65,35,.14);
}

.style_default .status-card b,
.style_default .sc b{display:block;color:#7a2946;font-size:12px}

.style_default .status-card span,
.style_default .sc span{display:block;color:#3b2416;font-size:14px;font-weight:900}

.style_default .status-card small,
.style_default .sc small{display:block;color:#5f4632;font-size:11px}

.style_default .mini-bar,
.style_default .mb{
  display:flex;
  align-items:center;
  gap:6px;
  width:100%;
  font-size:11px;
  margin:4px 0;
}

.style_default .bar-name,
.style_default .bn{min-width:78px;white-space:nowrap;font-size:11px}

.style_default .bar-track,
.style_default .bt{
  position:relative;
  flex:1;
  height:13px;
  background:rgba(80,50,35,.24);
  border-radius:9px;
  overflow:hidden;
}

.style_default .bar-fill,
.style_default .bf{display:block;height:100%}

.style_default .bar-num,
.style_default .bn2{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  font-size:10px;
  color:#fff;
  text-shadow:0 1px 2px #2b160f;
  white-space:nowrap;
}

.style_default .bar-note,
.style_default .bnote{font-size:10px;line-height:1.45;color:#5f4632;opacity:.95;margin:0 0 4px 84px}

.style_default .pink,
.style_default .pk{background:linear-gradient(90deg,#ff78b7,#ffaad4)}
.style_default .blue,
.style_default .bl{background:linear-gradient(90deg,#66aaff,#99ccff)}
.style_default .green,
.style_default .gr{background:linear-gradient(90deg,#66ff99,#99ffbb)}
.style_default .gold,
.style_default .gd{background:linear-gradient(90deg,#ffc766,#ffe0a3)}
.style_default .purple,
.style_default .pu{background:linear-gradient(90deg,#b388ff,#dfb3ff)}
.style_default .red,
.style_default .rd{background:linear-gradient(90deg,#ff7777,#ffaaaa)}
.style_default .orange,
.style_default .or{background:linear-gradient(90deg,#ff9c55,#ffd099)}
.style_default .hot{background:linear-gradient(90deg,#d91b64,#ff8cbd)}
.style_default .p0{width:0}

.style_default .map-box,
.style_default .mx{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  margin:7px 0;
  padding:9px;
  border-radius:10px;
  background:rgba(255,248,224,.52);
  border:1px solid rgba(110,65,35,.18);
  color:#3b2416;
  font-family:Consolas,"Courier New","Noto Sans Mono","Microsoft YaHei",monospace;
  font-size:12px;
  line-height:1.48;
  white-space:pre!important;
  overflow-x:auto!important;
  tab-size:2;
}

.style_default .final-count,
.style_default .fc{
  margin:9px 0 0;
  padding:7px 9px;
  border-radius:10px;
  background:rgba(255,255,245,.58);
  border:1px solid rgba(120,70,45,.16);
  font-size:11px;
  font-weight:bold;
  color:#7a2946;
  text-align:right;
}

.style_default .scroll-frame,
.style_default .sf,
.style_default .scroll-xy,
.style_default .sxy,
.style_default .wide-card,
.style_default .wc,
.style_default .npc-card-lite,
.style_default .ncl,
.style_default .force-card-lite,
.style_default .fcl,
.style_default .family-tree-box,
.style_default .ftb,
.style_default .recommend-box,
.style_default .rb,
.style_default .memory-box,
.style_default .mem{
  max-width:100%;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
  box-sizing:border-box;
}

.style_default .family-tree-html,
.style_default .fth{
  min-width:920px;
  width:max-content;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:6px;
}

.style_default .family-row,
.style_default .fr{
  display:flex;
  justify-content:center;
  align-items:stretch;
  gap:10px;
  min-width:max-content;
}

.style_default .family-link-line,
.style_default .fll{
  width:72%;
  min-width:520px;
  height:12px;
  margin:0 auto;
  border-top:1px solid rgba(205,159,76,.35);
  border-left:1px solid rgba(205,159,76,.22);
  border-right:1px solid rgba(205,159,76,.22);
  opacity:.9;
}

.style_default .family-node,
.style_default .fn{
  min-width:138px;
  max-width:190px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(205,159,76,.28);
  background:linear-gradient(135deg,rgba(255,246,223,.10),rgba(73,196,170,.06));
  box-shadow:0 5px 14px rgba(0,0,0,.18);
  box-sizing:border-box;
  font-size:11px;
  line-height:1.45;
  white-space:normal;
}

.style_default .family-node b,
.style_default .fn b{display:block;font-size:12px;color:#6e4810;margin-bottom:3px}

.style_default .family-node span,
.style_default .fn span{display:block;color:#5f4632}

.style_default .family-node.protagonist,
.style_default .fn.pro{
  border-color:rgba(255,210,105,.52);
  background:linear-gradient(135deg,rgba(255,210,105,.18),rgba(73,196,170,.08));
}

.style_default .family-node.spouse,
.style_default .family-node.consort,
.style_default .fn.spx,
.style_default .fn.co{
  border-color:rgba(230,135,190,.45);
  background:linear-gradient(135deg,rgba(230,135,190,.16),rgba(255,246,223,.06));
}

.style_default .family-node.child,
.style_default .fn.ch{border-color:rgba(73,196,170,.45)}

.style_default .family-node.risk,
.style_default .fn.rk{
  border-color:rgba(220,85,85,.45);
  background:linear-gradient(135deg,rgba(220,85,85,.14),rgba(255,246,223,.04));
}

.style_default .logic-card,
.style_default .lc{
  padding:7px;
  border-radius:10px;
  background:rgba(255,255,245,.45);
  border:1px solid rgba(110,65,35,.14);
  margin:6px 0;
}

.style_default .logic-h,
.style_default .lh{font-weight:bold;color:#1f4c78}

.style_default .logic-c,
.style_default .lcx{font-size:12px;line-height:1.55}

.style_default .logic-note-grid,
.style_default .twin-col{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:10px;
  margin:8px 0;
}

.style_default .line-stack{display:flex;flex-direction:column;gap:8px}
.style_default .line-item,
.style_default .mem-line,
.style_default .task-line,
.style_default .audit-line{
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  line-height:1.7;
}

.style_default .npc-card-lite,
.style_default .force-card-lite,
.style_default .mem-card-lite,
.style_default .task-card-lite,
.style_default .audit-card-lite{display:flex;flex-direction:column;gap:10px}

.style_default .npc-head-strip{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(76,114,255,.12),rgba(255,255,255,.03));
  border:1px solid rgba(120,160,255,.18);
}

.style_default .npc-avatar{
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.08);
  font-size:22px;
  flex:0 0 42px;
}

.style_default .npc-title{display:flex;flex-direction:column;gap:4px;min-width:0}
.style_default .npc-title b{font-size:15px}
.style_default .npc-title span{font-size:12px;opacity:.85}
.style_default .npc-tags{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto;justify-content:flex-end}
.style_default .npc-tags span,
.style_default .small-tag{display:inline-block;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);font-size:12px;line-height:1.4}

.style_default .part-img{font-size:18px;filter:drop-shadow(0 0 4px rgba(255,220,140,.18))}
.style_default .avatar-stage-low{background:linear-gradient(135deg,rgba(120,120,120,.22),rgba(255,255,255,.06))}
.style_default .avatar-stage-mid{background:linear-gradient(135deg,rgba(75,139,255,.22),rgba(255,255,255,.06))}
.style_default .avatar-stage-high{background:linear-gradient(135deg,rgba(255,120,190,.25),rgba(255,222,120,.12))}
.style_default .avatar-stage-risk{background:linear-gradient(135deg,rgba(255,74,74,.25),rgba(70,0,0,.18))}

.style_default .lbx{
  border-radius:12px;
  border:1px solid rgba(70,110,180,.42);
  background:rgba(210,232,255,.25);
  overflow:hidden;
}

.style_default .lbx>summary{
  list-style:none;
  cursor:pointer;
  padding:8px 11px;
  font-weight:bold;
  font-size:13px;
  color:#1f4c78;
  background:rgba(210,232,255,.65);
  border-bottom:1px solid rgba(70,110,180,.22);
}

.style_default .lbd{padding:8px}
.style_default .lcp{display:flex;flex-wrap:wrap;gap:6px}
.style_default .lt{padding:3px 7px;border-radius:999px;background:rgba(255,255,245,.5);font-size:11px}
.style_default .lgr{display:grid;gap:7px}
.style_default .lok,
.style_default .lok2{border-left:3px solid #50a36c}
.style_default .lwr,
.style_default .lwr2{border-left:3px solid #c98b3e}
.style_default .lsu{font-size:11px;color:#5f4632}

.style_default .nav{
  display:inline-flex;
  width:26px;
  height:26px;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,245,.5);
}

.style_default .nar,
.style_default .nhs,
.style_default .nts{display:flex;flex-wrap:wrap;gap:5px;align-items:center}

.style_default .nti span{display:block;font-size:11px}
.style_default .asl,
.style_default .asm,
.style_default .ash,
.style_default .asr{font-size:14px}
.style_default .pim{font-size:14px}

.style_default .tcl,
.style_default .apl{display:flex;flex-direction:column;gap:7px}

.style_default .tl{
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,255,245,.45);
  border:1px solid rgba(110,65,35,.14);
  line-height:1.7;
}

.style_default .tc{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin:8px 0}
.style_default .bs{display:flex;flex-direction:column;gap:4px}
.style_default .sn{font-size:11px;color:#5f4632;line-height:1.55;margin-top:6px}

/* =========================================================
   C. TP/便签唯一规则：span/div 点击聚焦显示
   不改前端、不改前置词、不改正文结构。
   现有结构：
   <span class="nt" tabindex="0"><strong>词条</strong><span class="ntx">说明</span></span>
   或：
   <div class="nt" tabindex="0"><strong>词条</strong><div class="ntx">说明</div></div>

   逻辑：
   1. 只用 :focus / :focus-within 保持显示。
   2. 不使用 :hover / :active 作为显示条件，避免“手指离开就收起”。
   3. 不使用 fixed / absolute，说明原地展开。
   ========================================================= */
.style_default .nt,
.style_default .ct,
.style_default .tt,
.style_default .CTip,
.style_default .tooltip,
.style_default .ctip,
.style_default .注释{
  display:inline-block;
  vertical-align:baseline;
  max-width:100%;
  color:#8f1f2f;
  font-weight:900;
  padding:0 3px;
  margin:0 1px;
  border-radius:5px;
  border-bottom:1px dotted rgba(128,54,38,.78);
  background:rgba(126,38,52,.08);
  cursor:pointer;
  outline:none;
  -webkit-tap-highlight-color:rgba(143,31,47,.18);
  touch-action:manipulation;
}

.style_default .ntx,
.style_default .ctx,
.style_default .ttx,
.style_default .CTip-text,
.style_default .tooltip-text,
.style_default .ctip-text,
.style_default .注释-text{
  display:none;
  box-sizing:border-box;
  width:min(360px,88vw);
  max-width:100%;
  margin:6px 0 8px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(205,159,76,.45);
  background:#3b2416;
  color:#fff3cf;
  box-shadow:0 8px 22px rgba(42,22,8,.22);
  font-size:12px;
  line-height:1.55;
  font-weight:700;
  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
  user-select:text;
}

.style_default .nt:focus,
.style_default .nt:focus-within,
.style_default .ct:focus,
.style_default .ct:focus-within,
.style_default .tt:focus,
.style_default .tt:focus-within,
.style_default .CTip:focus,
.style_default .CTip:focus-within,
.style_default .tooltip:focus,
.style_default .tooltip:focus-within,
.style_default .ctip:focus,
.style_default .ctip:focus-within,
.style_default .注释:focus,
.style_default .注释:focus-within{
  display:block;
  width:max-content;
  max-width:100%;
  color:#6f1120;
  background:rgba(255,238,198,.72);
  box-shadow:0 0 0 1px rgba(142,55,39,.18);
}

.style_default .nt:focus>.ntx,
.style_default .nt:focus-within>.ntx,
.style_default .ct:focus>.ctx,
.style_default .ct:focus-within>.ctx,
.style_default .tt:focus>.ttx,
.style_default .tt:focus-within>.ttx,
.style_default .CTip:focus>.CTip-text,
.style_default .CTip:focus-within>.CTip-text,
.style_default .tooltip:focus>.tooltip-text,
.style_default .tooltip:focus-within>.tooltip-text,
.style_default .ctip:focus>.ctip-text,
.style_default .ctip:focus-within>.ctip-text,
.style_default .注释:focus>.注释-text,
.style_default .注释:focus-within>.注释-text{
  display:block;
}

.style_default .ntx::before,
.style_default .ctx::before,
.style_default .ttx::before,
.style_default .CTip-text::before,
.style_default .tooltip-text::before,
.style_default .ctip-text::before,
.style_default .注释-text::before{
  content:"";
  display:none;
}

/* 小屏：展开后占满行宽，避免说明框被挤成细条 */
@media(max-width:700px){
  .style_default .nt:focus,
  .style_default .nt:focus-within,
  .style_default .ct:focus,
  .style_default .ct:focus-within,
  .style_default .tt:focus,
  .style_default .tt:focus-within,
  .style_default .CTip:focus,
  .style_default .CTip:focus-within,
  .style_default .tooltip:focus,
  .style_default .tooltip:focus-within,
  .style_default .ctip:focus,
  .style_default .ctip:focus-within,
  .style_default .注释:focus,
  .style_default .注释:focus-within{
    display:block;
    width:100%;
  }

  .style_default .ntx,
  .style_default .ctx,
  .style_default .ttx,
  .style_default .CTip-text,
  .style_default .tooltip-text,
  .style_default .ctip-text,
  .style_default .注释-text{
    width:100%;
    max-width:100%;
  }
}

/* =========================================================
   D. 手机式状态OS
   ========================================================= */
.sysk-root{
  max-width:520px;
  margin:0 auto;
  padding:12px;
  background:#050505;
  border-radius:30px;
  border:1px solid rgba(212,175,55,.42);
  box-shadow:0 24px 72px rgba(0,0,0,.58);
  font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",Arial,sans-serif;
  color:#fff8ee;
  letter-spacing:.01em;
}

.sysk-phone{
  min-height:780px;
  overflow:hidden;
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 0%,rgba(188,20,35,.28),transparent 30%),
    radial-gradient(circle at 92% 10%,rgba(212,175,55,.16),transparent 28%),
    linear-gradient(180deg,#161111,#080808 54%,#020202);
  border:8px solid #1b1b1b;
  box-shadow:inset 0 0 0 1px rgba(212,175,55,.34),inset 0 0 32px rgba(188,20,35,.12),0 18px 38px rgba(0,0,0,.48);
  position:relative;
}

.sysk-phone:before{
  content:"";
  position:absolute;
  left:29%;
  right:29%;
  top:7px;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg,#090909,#333,#090909);
  z-index:2;
}

.sysk-status{
  height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:0 18px;
  background:rgba(5,5,5,.82);
  border-bottom:1px solid rgba(212,175,55,.16);
  font-size:12px;
  font-weight:950;
  color:#fff7e6;
}

.sysk-status span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sysk-main{padding:14px 18px 20px;min-height:730px;position:relative}

.sysk-top{
  margin:0 0 12px;
  padding:12px 13px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(188,20,35,.18),rgba(212,175,55,.07));
  border:1px solid rgba(212,175,55,.18);
  box-shadow:0 9px 24px rgba(0,0,0,.28);
}

.sysk-toprow{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sysk-badge{display:inline-block;padding:5px 12px;border-radius:999px;background:linear-gradient(135deg,#a60f1e,#d4af37);color:#fff;font-size:12px;font-weight:950;box-shadow:0 0 16px rgba(212,175,55,.22)}
.sysk-date{font-size:12px;color:#f0dfbf;font-weight:900}
.sysk-loc{margin-top:10px;font-size:13px;line-height:1.6;color:#f7ebd6}

.sysk-flow{margin:10px 0 13px;padding:10px 12px;border-radius:18px;background:rgba(12,10,9,.72);border:1px solid rgba(212,175,55,.13)}
.sysk-flow b{display:block;margin-bottom:5px;color:#ffe9b0;font-size:13px}
.sysk-flowline{font-size:12px;line-height:1.55;color:#d8c9aa}

.sysk-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px 16px;margin:19px 0 16px;min-height:620px}
.sysk-app{display:block}
.sysk-app>summary{list-style:none;cursor:pointer;text-align:center;color:#fff7ed}
.sysk-app>summary::-webkit-details-marker{display:none}

.sysk-icon{
  width:72px;
  height:72px;
  margin:0 auto 8px;
  border-radius:23px;
  display:grid;
  place-items:center;
  font-size:31px;
  font-weight:950;
  color:#fff;
  box-shadow:0 12px 22px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.12);
  transition:transform .18s ease,filter .18s ease;
}

.sysk-label{display:block;font-size:16px;font-weight:950;text-shadow:0 2px 8px rgba(0,0,0,.65)}
.sysk-close{display:none}
.sysk-app>summary:hover .sysk-icon{transform:translateY(-2px) scale(1.04);filter:brightness(1.1)}

.ik-system{background:linear-gradient(135deg,#a60f1e,#d4af37)}
.ik-body{background:linear-gradient(135deg,#64080f,#d62b37)}
.ik-battle{background:linear-gradient(135deg,#3a0508,#f08a24)}
.ik-npc{background:linear-gradient(135deg,#1f2937,#60a5fa)}
.ik-shop{background:linear-gradient(135deg,#5f3f05,#e6bd3f)}
.ik-task{background:linear-gradient(135deg,#064e3b,#22c55e)}
.ik-travel{background:linear-gradient(135deg,#2d1063,#38bdf8)}
.ik-bag{background:linear-gradient(135deg,#4b341e,#b9803b)}
.ik-asset{background:linear-gradient(135deg,#111827,#d4af37)}
.ik-story{background:linear-gradient(135deg,#7f1d1d,#f43f5e)}
.ik-command{background:linear-gradient(135deg,#14532d,#d4af37)}

.sysk-app[open]{
  position:absolute;
  inset:-2px;
  z-index:30;
  display:block;
  border-radius:22px;
  background:radial-gradient(circle at 18% 0%,rgba(188,20,35,.18),transparent 32%),linear-gradient(180deg,#151111,#070707);
  border:1px solid rgba(212,175,55,.20);
  box-shadow:0 16px 42px rgba(0,0,0,.56);
  animation:syskOpen .24s ease both;
  overflow:auto;
  max-height:min(74vh,720px);
}

@keyframes syskOpen{from{opacity:0;transform:translateX(20px) scale(.985)}to{opacity:1;transform:translateX(0) scale(1)}}

.sysk-app[open]>summary{
  position:sticky;
  top:0;
  z-index:8;
  height:60px;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:7px 10px;
  text-align:left;
  background:rgba(8,8,8,.96);
  border-bottom:1px solid rgba(212,175,55,.16);
  backdrop-filter:blur(10px);
}

.sysk-app[open]>summary:before{
  content:"‹";
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(212,175,55,.10);
  color:#f8d56b;
  font-size:26px;
  font-weight:950;
  flex:0 0 auto;
}

.sysk-app[open] .sysk-icon{width:44px;height:44px;margin:0;border-radius:14px;font-size:24px;flex:0 0 auto}
.sysk-app[open] .sysk-label{font-size:20px;line-height:1;color:#fff;flex:1;min-width:0;text-align:left}
.sysk-app[open] .sysk-close{display:block;margin-left:auto;color:#f8d56b;font-size:13px;font-weight:950}
.sysk-page{display:none;padding:12px;animation:syskPage .2s ease both}
.sysk-app[open] .sysk-page{display:block}
@keyframes syskPage{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.sysk-bottom{margin-top:14px;padding:12px;border-radius:20px;background:rgba(7,7,7,.78);border:1px solid rgba(212,175,55,.12)}
.sysk-footergrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}
.sysk-footeritem{padding:9px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(212,175,55,.11)}
.sysk-footeritem span{display:block;font-size:11px;color:#c9aa58;font-weight:950}
.sysk-footeritem b{display:block;margin-top:4px;font-size:13px;color:#fff}

/* =========================================================
   E. 逻辑链与中档卡片补充
   ========================================================= */
.lcbox{
  border:1px solid rgba(95,134,168,.56);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(11,21,33,.96),rgba(16,29,43,.96));
  margin:10px 0;
  box-shadow:0 0 18px rgba(88,154,205,.22);
  overflow:hidden;
}

.lcbox summary{
  list-style:none;
  padding:14px 18px;
  background:linear-gradient(135deg,#21384e,#305777);
  font-size:18px;
  font-weight:800;
  color:#eef7ff;
  cursor:pointer;
}

.lcbox summary::-webkit-details-marker{display:none}
.lc-sub{font-size:12px;color:#c8deef;font-weight:600;margin-left:8px}
.lcbody{padding:14px 16px;font-size:13px;line-height:1.6}
.lc-chipbar{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px 0}
.lctag{display:inline-flex;align-items:center;border:1px solid #527a99;border-radius:999px;padding:2px 9px;background:#1b3146;color:#dcedf8;font-size:12px}

.logic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px}
.logic-card{border:1px solid #385c78;border-left:4px solid #73c7ee;border-radius:11px;background:#101d2b;overflow:hidden;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.logic-card .logic-h{background:linear-gradient(90deg,#355d79,#22384d);padding:8px 11px;color:#eaf6ff;font-weight:800}
.logic-card .logic-c{padding:10px 12px;color:#d7e8f5}
.logic-card.logic-ok{border-left-color:#83d6c8}
.logic-card.logic-ok .logic-h{background:linear-gradient(90deg,#356b75,#22384d);color:#eafffb}
.logic-card.logic-warn{border-left-color:#f0c56d}
.logic-card.logic-warn .logic-h{background:linear-gradient(90deg,#6a5630,#22384d);color:#fff4d2}
.slot-legend{margin:0 0 8px 0;padding:7px 10px;border:1px solid rgba(205,159,76,.18);border-radius:10px;background:rgba(255,248,224,.08);color:#bcae99;font-size:11px;line-height:1.55}

/* =========================================================
   F. 百分比宽度
   ========================================================= */
.pct-0{width:0%}
.pct-1{width:1%}
.pct-2{width:2%}
.pct-3{width:3%}
.pct-4{width:4%}
.pct-5{width:5%}
.pct-6{width:6%}
.pct-7{width:7%}
.pct-8{width:8%}
.pct-9{width:9%}
.pct-10{width:10%}
.pct-11{width:11%}
.pct-12{width:12%}
.pct-13{width:13%}
.pct-14{width:14%}
.pct-15{width:15%}
.pct-16{width:16%}
.pct-17{width:17%}
.pct-18{width:18%}
.pct-19{width:19%}
.pct-20{width:20%}
.pct-21{width:21%}
.pct-22{width:22%}
.pct-23{width:23%}
.pct-24{width:24%}
.pct-25{width:25%}
.pct-26{width:26%}
.pct-27{width:27%}
.pct-28{width:28%}
.pct-29{width:29%}
.pct-30{width:30%}
.pct-31{width:31%}
.pct-32{width:32%}
.pct-33{width:33%}
.pct-34{width:34%}
.pct-35{width:35%}
.pct-36{width:36%}
.pct-37{width:37%}
.pct-38{width:38%}
.pct-39{width:39%}
.pct-40{width:40%}
.pct-41{width:41%}
.pct-42{width:42%}
.pct-43{width:43%}
.pct-44{width:44%}
.pct-45{width:45%}
.pct-46{width:46%}
.pct-47{width:47%}
.pct-48{width:48%}
.pct-49{width:49%}
.pct-50{width:50%}
.pct-51{width:51%}
.pct-52{width:52%}
.pct-53{width:53%}
.pct-54{width:54%}
.pct-55{width:55%}
.pct-56{width:56%}
.pct-57{width:57%}
.pct-58{width:58%}
.pct-59{width:59%}
.pct-60{width:60%}
.pct-61{width:61%}
.pct-62{width:62%}
.pct-63{width:63%}
.pct-64{width:64%}
.pct-65{width:65%}
.pct-66{width:66%}
.pct-67{width:67%}
.pct-68{width:68%}
.pct-69{width:69%}
.pct-70{width:70%}
.pct-71{width:71%}
.pct-72{width:72%}
.pct-73{width:73%}
.pct-74{width:74%}
.pct-75{width:75%}
.pct-76{width:76%}
.pct-77{width:77%}
.pct-78{width:78%}
.pct-79{width:79%}
.pct-80{width:80%}
.pct-81{width:81%}
.pct-82{width:82%}
.pct-83{width:83%}
.pct-84{width:84%}
.pct-85{width:85%}
.pct-86{width:86%}
.pct-87{width:87%}
.pct-88{width:88%}
.pct-89{width:89%}
.pct-90{width:90%}
.pct-91{width:91%}
.pct-92{width:92%}
.pct-93{width:93%}
.pct-94{width:94%}
.pct-95{width:95%}
.pct-96{width:96%}
.pct-97{width:97%}
.pct-98{width:98%}
.pct-99{width:99%}
.pct-100{width:100%}

/* =========================================================
   G. 外部按钮兼容
   ========================================================= */
#ai-send-button{
  background:#0b0f19!important;
  border-radius:12px!important;
  width:42px!important;
  height:42px!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset!important;
}

#ai-send-button:hover{background:#111827!important}
#ai-send-button svg,
#ai-send-button svg *,
#ai-send-button use,
#ai-send-button .text-grey-600{color:#fff!important;fill:#fff!important;stroke:#fff!important}

#customized-prompt-log-button{
  position:fixed!important;
  right:14px!important;
  bottom:86px!important;
  z-index:9999!important;
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  padding:0!important;
  border-radius:14px!important;
  background:#0b0f19!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.12)!important;
  overflow:hidden!important;
  box-shadow:0 8px 28px rgba(0,0,0,.35)!important;
  font-size:0!important;
}

#customized-prompt-log-button svg{margin:0!important;color:#fff!important;fill:#fff!important;font-size:18px!important}

/* =========================================================
   H. 响应式
   ========================================================= */
@media(max-width:760px){
  .r2np-root{padding:8px;font-size:12px}
  .r2np-root .r2np-hero h1{font-size:24px}
  .r2np-root .r2np-nav{position:relative}
  .r2np-root .grid2,
  .r2np-root .grid3,
  .r2np-root .world-grid,
  .r2np-root .card-grid,
  .r2np-root .filter-select-grid,
  .r2np-root .pool-control{grid-template-columns:1fr}
  .r2np-root .range-row{grid-template-columns:1fr}
  .r2np-root .range-val{text-align:left}

  .style_default{font-size:12px;line-height:1.62;padding:8px}
  .style_default table{display:block;max-width:100%;max-height:64vh;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;white-space:nowrap;box-sizing:border-box}
  .style_default .scroll-frame,
  .style_default .sf,
  .style_default .scroll-xy,
  .style_default .sxy,
  .style_default pre,
  .style_default .map-box,
  .style_default .mx,
  .style_default .memory-box,
  .style_default .mem,
  .style_default .sys-box,
  .style_default .wide-card,
  .style_default .wc,
  .style_default .recommend-box,
  .style_default .rb,
  .style_default .npc-card-lite,
  .style_default .ncl,
  .style_default .force-card-lite,
  .style_default .fcl{max-height:68vh}

  .style_default .nt:focus,
  .style_default .nt:focus-within,
  .style_default .ct:focus,
  .style_default .ct:focus-within,
  .style_default .tt:focus,
  .style_default .tt:focus-within,
  .style_default .CTip:focus,
  .style_default .CTip:focus-within,
  .style_default .tooltip:focus,
  .style_default .tooltip:focus-within,
  .style_default .ctip:focus,
  .style_default .ctip:focus-within,
  .style_default .注释:focus,
  .style_default .注释:focus-within{
    display:block;
    width:100%;
  }

  .style_default .ntx,
  .style_default .ctx,
  .style_default .ttx,
  .style_default .CTip-text,
  .style_default .tooltip-text,
  .style_default .ctip-text,
  .style_default .注释-text{
    width:100%;
    max-width:100%;
  }
}

@media(max-width:390px){
  .sysk-root{border-radius:0;padding:6px}
  .sysk-phone{border-width:6px}
  .sysk-main{padding:12px}
  .sysk-grid{grid-template-columns:repeat(3,1fr);gap:17px 12px}
  .sysk-icon{width:62px;height:62px}
  .sysk-label{font-size:14px}
  .style_default table,
  .sysk-root table{font-size:10px}
  .sysk-footergrid,
  .counter-grid{grid-template-columns:1fr}
  .style_default .bar-name,
  .style_default .bn{min-width:70px}
  .style_default .bar-note,
  .style_default .bnote{margin-left:0}
}
/* ===== 行动推荐HUD｜分离卡片强化版｜替换旧版，不要叠加 ===== */
.style_default .action-hud{
  margin:10px 0;
  border-radius:16px;
  border:1px solid rgba(166,96,36,.38);
  background:
    radial-gradient(circle at 8% 0%,rgba(255,230,170,.55),transparent 32%),
    linear-gradient(135deg,#fff3cf 0%,#e6c27f 48%,#b9853d 100%);
  box-shadow:
    0 8px 22px rgba(80,45,20,.24),
    inset 0 1px 0 rgba(255,255,255,.45);
  overflow:hidden;
}

.style_default .action-hud>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  color:#5b340b;
  background:
    linear-gradient(90deg,rgba(255,247,213,.88),rgba(238,199,113,.72));
  border-bottom:1px solid rgba(120,70,35,.22);
  font-size:13px;
  font-weight:900;
}

.style_default .action-hud>summary::-webkit-details-marker{
  display:none;
}

.style_default .action-hud>summary::before{
  content:"▸";
  color:#7a2946;
  font-weight:900;
}

.style_default .action-hud[open]>summary::before{
  content:"▾";
}

.style_default .action-hud .决断{
  letter-spacing:.03em;
  text-shadow:0 1px 0 rgba(255,255,255,.48);
}

.style_default .m-tag{
  display:inline-flex;
  align-items:center;
  height:18px;
  padding:0 7px;
  border-radius:999px;
  background:linear-gradient(135deg,#3b2416,#7a2946);
  color:#fff3cf;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:0 2px 6px rgba(59,36,22,.28);
}

.style_default .m-sub{
  margin-left:auto;
  color:#7b4d19;
  font-size:11px;
  font-weight:800;
  opacity:.82;
}

.style_default .blink{
  animation:cmdBlink 1.25s infinite;
}

@keyframes cmdBlink{
  0%,100%{opacity:1}
  50%{opacity:.48}
}

.style_default .os-body{
  padding:11px;
}

.style_default .action-core{
  margin:0 0 10px;
  padding:9px 11px;
  border-radius:13px;
  border:1px solid rgba(110,65,35,.20);
  background:
    linear-gradient(135deg,rgba(255,250,229,.76),rgba(255,238,187,.50));
  color:#3b2416;
  font-size:12px;
  line-height:1.6;
  box-shadow:
    0 3px 10px rgba(80,45,20,.10),
    inset 0 1px 0 rgba(255,255,255,.55);
}

.style_default .action-core b{
  color:#7a2946;
}

/* 每条行动独立小板子 */
.style_default .action-list{
  display:grid;
  gap:9px;
}

.style_default .action-choice{
  position:relative;
  display:grid;
  grid-template-columns:30px auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:10px 11px;
  border-radius:14px;
  border:1px solid rgba(110,65,35,.22);
  background:
    linear-gradient(135deg,rgba(255,255,245,.82),rgba(255,241,204,.58));
  color:#3b2416;
  font-size:12px;
  line-height:1.45;
  cursor:pointer;
  box-shadow:
    0 5px 14px rgba(80,45,20,.14),
    inset 0 1px 0 rgba(255,255,255,.65);
  transition:transform .12s ease,background .12s ease,box-shadow .12s ease,border-color .12s ease;
  overflow:hidden;
}

/* 左侧彩色竖条 */
.style_default .action-choice::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:#b24572;
}

.style_default .action-choice:hover,
.style_default .action-choice:focus{
  transform:translateY(-1px);
  border-color:rgba(122,41,70,.34);
  background:
    linear-gradient(135deg,rgba(255,255,250,.96),rgba(255,232,180,.72));
  box-shadow:
    0 8px 18px rgba(80,45,20,.20),
    inset 0 1px 0 rgba(255,255,255,.75);
}

/* 编号圆标 */
.style_default .action-choice .num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:rgba(122,41,70,.12);
  color:#7a2946;
  font-weight:900;
  font-size:13px;
  box-shadow:inset 0 0 0 1px rgba(122,41,70,.18);
}

/* 类型标签 */
.style_default .action-choice .atype{
  padding:3px 8px;
  border-radius:999px;
  background:rgba(126,38,52,.10);
  border:1px solid rgba(126,38,52,.18);
  color:#7a2946;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

/* 行动正文 */
.style_default .action-choice .atext{
  min-width:0;
  color:#3b2416;
  font-weight:700;
  word-break:break-word;
  overflow-wrap:anywhere;
}

/* 成功率/倾向小胶囊 */
.style_default .action-choice .meta{
  padding:3px 7px;
  border-radius:999px;
  background:rgba(59,36,22,.08);
  border:1px solid rgba(59,36,22,.12);
  color:#6b4a33;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

/* 分类色 */
.style_default .action-choice.main::before{background:#b24572}
.style_default .action-choice.map::before{background:#3f7fc8}
.style_default .action-choice.p8::before{background:#8b5cf6}
.style_default .action-choice.relation::before{background:#ec4899}
.style_default .action-choice.resource::before{background:#22a06b}
.style_default .action-choice.force::before{background:#d49a2a}
.style_default .action-choice.fast::before{background:#64748b}
.style_default .action-choice.custom::before{background:#3b2416}

.style_default .action-choice.main .atype{color:#7a2946}
.style_default .action-choice.map .atype{color:#245f98;background:rgba(63,127,200,.10);border-color:rgba(63,127,200,.18)}
.style_default .action-choice.p8 .atype{color:#5b35a8;background:rgba(139,92,246,.10);border-color:rgba(139,92,246,.18)}
.style_default .action-choice.relation .atype{color:#9b2965;background:rgba(236,72,153,.10);border-color:rgba(236,72,153,.18)}
.style_default .action-choice.resource .atype{color:#17754e;background:rgba(34,160,107,.10);border-color:rgba(34,160,107,.18)}
.style_default .action-choice.force .atype{color:#8a5d12;background:rgba(212,154,42,.12);border-color:rgba(212,154,42,.20)}
.style_default .action-choice.fast .atype{color:#475569;background:rgba(100,116,139,.10);border-color:rgba(100,116,139,.18)}
.style_default .action-choice.custom .atype{color:#3b2416;background:rgba(59,36,22,.10);border-color:rgba(59,36,22,.18)}

@media(max-width:700px){
  .style_default .action-hud>summary{
    padding:9px 10px;
  }

  .style_default .m-sub{
    display:none;
  }

  .style_default .action-choice{
    grid-template-columns:28px auto minmax(0,1fr);
    gap:7px;
    padding:10px;
  }

  .style_default .action-choice .meta{
    grid-column:1 / -1;
    margin-left:36px;
    width:max-content;
    max-width:calc(100% - 36px);
    white-space:normal;
  }
}
/* ===== /行动推荐HUD｜分离卡片强化版 ===== */
.style_default .action-choice.daily::before{background:#4f8f46}
.style_default .action-choice.daily .atype{
  color:#3f6f34;
  background:rgba(79,143,70,.10);
  border-color:rgba(79,143,70,.18);
}

/* ===== v70 novel prose + dialogue color strips ===== */
.style_default .dlg{
  display:inline;
  padding:1px 5px;
  margin:0 1px;
  border-radius:6px;
  border-left:3px solid rgba(120,70,45,.35);
  background:rgba(255,248,224,.38);
  box-shadow:inset 0 -0.32em 0 rgba(255,255,255,.14);
  font-weight:800;
  line-height:1.7;
}
.style_default .dlg-a{color:#6f4510;border-left-color:#d4a23a;background:rgba(255,224,142,.28)}
.style_default .dlg-b{color:#5c3c91;border-left-color:#a684dd;background:rgba(210,190,255,.24)}
.style_default .dlg-f{color:#8f3268;border-left-color:#e694c2;background:rgba(255,216,236,.26)}
.style_default .dlg-m{color:#245c8f;border-left-color:#79aee6;background:rgba(210,232,255,.26)}
.style_default .dlg-n{color:#2f6d59;border-left-color:#69c4a8;background:rgba(211,245,235,.24)}
.style_default .dlg-x{color:#8d2c24;border-left-color:#d66b5d;background:rgba(255,210,200,.24)}
/* ===== /v70 novel prose + dialogue color strips ===== */

/* ===== v71 WDEV ledger + family/force/resource polish ===== */
.style_default .dev-card,.style_default .dev-ledger{background:rgba(255,248,224,.52);border:1px solid rgba(110,65,35,.18);border-radius:12px;padding:8px;margin:7px 0;overflow:auto;-webkit-overflow-scrolling:touch}
.style_default .dev-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;margin:0 0 7px}
.style_default .dev-head span{display:block;padding:6px 8px;border-radius:10px;background:rgba(255,255,245,.52);border:1px solid rgba(110,65,35,.14);font-size:11px;line-height:1.45}
.style_default .dev-table{display:table!important;width:1180px;min-width:1180px;border-collapse:collapse;font-size:10.8px;line-height:1.38;white-space:normal}
.style_default .dev-table th,.style_default .dev-table td{border:1px solid rgba(110,65,35,.22);padding:5px 6px;vertical-align:top;background:rgba(255,255,245,.38);word-break:break-word;overflow-wrap:anywhere}
.style_default .dev-table th{position:sticky;top:0;z-index:2;color:#7a2946;background:rgba(255,248,224,.82)}

.style_default .kv-grid,.style_default .family-summary-grid,.style_default .force-grid,.style_default .money-grid,.style_default .contact-grid,.style_default .member-grid,.style_default .rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;margin:7px 0}
.style_default .kv-chip,.style_default .family-tile,.style_default .force-tile,.style_default .money-tile,.style_default .contact-card,.style_default .member-card,.style_default .rule-card{padding:7px 8px;border-radius:11px;background:rgba(255,255,245,.48);border:1px solid rgba(110,65,35,.16);font-size:11px;line-height:1.48}
.style_default .kv-chip b,.style_default .family-tile b,.style_default .force-tile b,.style_default .money-tile b,.style_default .contact-card b,.style_default .member-card b,.style_default .rule-card b{display:block;margin-bottom:3px;color:#7a2946;font-size:11.5px}
.style_default .money-tile.plus{border-left:4px solid #50a36c}.style_default .money-tile.minus{border-left:4px solid #c98b3e}.style_default .money-tile.debt{border-left:4px solid #c35252}.style_default .money-tile.safe{border-left:4px solid #4f8ac9}
.style_default .flow-line{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:6px 0;font-size:11px}
.style_default .flow-line span{padding:3px 6px;border-radius:999px;background:rgba(255,255,245,.48);border:1px solid rgba(110,65,35,.14)}

.style_default .tech-tree{min-width:820px;width:max-content;padding:8px;display:flex;flex-direction:column;gap:8px}
.style_default .tree-root{align-self:center;padding:7px 12px;border-radius:999px;background:linear-gradient(135deg,rgba(255,210,105,.24),rgba(73,196,170,.12));border:1px solid rgba(205,159,76,.34);font-size:12px;font-weight:900}
.style_default .tree-row{display:flex;gap:8px;align-items:flex-start;justify-content:center}
.style_default .tree-branch{min-width:138px;max-width:170px;padding:7px;border-radius:12px;background:rgba(255,255,245,.46);border:1px solid rgba(110,65,35,.16);font-size:10.8px;line-height:1.42}
.style_default .tree-branch b{display:block;color:#1f4c78;margin-bottom:4px}
.style_default .tree-node{display:block;margin:4px 0;padding:4px 6px;border-radius:8px;background:rgba(255,248,224,.58);border-left:3px solid rgba(205,159,76,.5)}

.style_default .family-tree-box,.style_default .ftb{background:rgba(255,248,224,.38)}
.style_default .family-tree-html,.style_default .fth{min-width:760px;gap:6px;padding:5px}
.style_default .family-row,.style_default .fr{gap:7px}
.style_default .family-link-line,.style_default .fll{height:9px;min-width:420px;width:68%;border-color:rgba(120,70,45,.26)}
.style_default .family-node,.style_default .fn{min-width:104px;max-width:146px;padding:6px 7px;border-radius:10px;font-size:10.3px;line-height:1.38;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.style_default .family-node b,.style_default .fn b{font-size:10.8px;margin-bottom:2px;color:#6e4810}
.style_default .family-node span,.style_default .fn span{font-size:10px;line-height:1.35}
@media(max-width:760px){.style_default .dev-table{width:1040px;min-width:1040px}.style_default .tech-tree{min-width:760px}.style_default .family-tree-html,.style_default .fth{min-width:720px}.style_default .family-node,.style_default .fn{min-width:98px;max-width:138px}}
/* ===== /v71 WDEV ledger + family/force/resource polish ===== */

/* ===== v72 asset/system/tech template polish ===== */
.style_default .asset-grid,.style_default .book-grid,.style_default .force-grid,.style_default .money-grid,.style_default .contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:7px;margin:7px 0}
.style_default .asset-card,.style_default .book-card,.style_default .force-tile,.style_default .money-tile,.style_default .contact-card{padding:7px 8px;border-radius:10px;border:1px solid rgba(110,65,35,.16);background:rgba(255,255,245,.45);font-size:11px;line-height:1.48}
.style_default .asset-card b,.style_default .book-card b,.style_default .force-tile b,.style_default .money-tile b,.style_default .contact-card b{display:block;color:#7a2946;font-size:11.5px;margin-bottom:3px}
.style_default .asset-card span,.style_default .book-card span,.style_default .force-tile span,.style_default .money-tile span,.style_default .contact-card span{display:block;color:#3b2416}
.style_default .dev-scroll{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:10px}
.style_default .dev-table{display:table!important;width:1380px;min-width:1380px;border-collapse:collapse;font-size:10.5px;line-height:1.38;white-space:normal}
.style_default .dev-table th,.style_default .dev-table td{border:1px solid rgba(110,65,35,.22);padding:5px 6px;vertical-align:top;background:rgba(255,255,245,.38);word-break:break-word;overflow-wrap:anywhere;white-space:normal}
.style_default .dev-table th{position:sticky;top:0;z-index:2;color:#7a2946;background:rgba(255,248,224,.92)}
.style_default .wide-tech-tree{min-width:1280px}
.style_default .tech-tree{display:flex;align-items:flex-start;gap:10px;padding:8px}
.style_default .tree-root{flex:0 0 145px;padding:9px;border-radius:12px;border:1px solid rgba(205,159,76,.40);background:linear-gradient(135deg,rgba(255,210,105,.22),rgba(73,196,170,.08));font-weight:900;text-align:center}
.style_default .tree-branch{flex:0 0 116px;display:flex;flex-direction:column;gap:6px}
.style_default .tree-node{display:block;padding:6px 7px;border-radius:10px;border:1px solid rgba(110,65,35,.16);background:rgba(255,255,245,.48);font-size:10.5px;line-height:1.35;text-align:center}
.style_default .tree-node.main{color:#6e4810;font-weight:900;background:rgba(255,224,142,.42);border-color:rgba(205,159,76,.35)}
/* ===== /v72 asset/system/tech template polish ===== */

/* ===== v72 dialogue personality palette + anti-flat prose ===== */
.style_default .dlg-calm{filter:saturate(.92);border-bottom:1px solid rgba(80,120,110,.24)}
.style_default .dlg-hot{color:#8d2c24;border-left-color:#e07055;background:rgba(255,215,190,.30)}
.style_default .dlg-cold{color:#234f73;border-left-color:#77a7cc;background:rgba(214,234,248,.30)}
.style_default .dlg-noble{font-family:"Noto Serif SC","Songti SC","SimSun","Microsoft YaHei",serif;letter-spacing:.02em}
.style_default .dlg-rural{color:#5a5b22;border-left-color:#a7ad4a;background:rgba(240,236,180,.30)}
.style_default .dlg-official{color:#43306f;border-left-color:#8067b7;background:rgba(226,216,255,.28);font-weight:900}
.style_default .dlg-dark{color:#5b1f28;border-left-color:#8b2f3d;background:rgba(80,20,30,.08)}
.style_default .dlg-cute{color:#8f3268;border-left-color:#f0a1c8;background:rgba(255,226,241,.34)}
.style_default .dlg-old{color:#59402b;border-left-color:#9b7a55;background:rgba(238,222,197,.30)}
.style_default .dlg-young{color:#2f6d59;border-left-color:#6ccab1;background:rgba(218,248,238,.28)}
/* ===== /v72 dialogue personality palette ===== */

/* ===== MID NPC/方向球修复：只服务中档模板输出 ===== */
.style_default .npc-card .nt{
  display:inline-block;
  margin:3px 4px 3px 0;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(122,41,70,.26);
  background:rgba(255,248,230,.74);
  box-shadow:0 2px 8px rgba(80,45,20,.10);
}
.style_default .npc-card .nt:hover>.ntx,
.style_default .npc-card .nt:focus>.ntx,
.style_default .npc-card .nt:focus-within>.ntx{display:block;}
.style_default .npc-chipline{display:flex;flex-wrap:wrap;gap:4px 5px;align-items:flex-start;}
.style_default .dirpad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:360px;margin:6px auto;}
.style_default .dirrow{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:5px;min-width:0;}
.style_default .dirpad .action-choice.do{display:flex;align-items:center;justify-content:center;grid-template-columns:1fr;width:30px;min-width:30px;height:30px;min-height:30px;padding:0;margin:0;border-radius:50%;font-size:14px;font-weight:900;line-height:1;overflow:hidden;}
.style_default .dirpad .action-choice.do::before{display:none;}
.style_default .dirlabel{font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#3b2416;}
@media(max-width:520px){.style_default .dirpad{max-width:330px;gap:4px}.style_default .dirrow{grid-template-columns:28px minmax(0,1fr);gap:4px}.style_default .dirpad .action-choice.do{width:28px;min-width:28px;height:28px;min-height:28px;font-size:13px}.style_default .dirlabel{font-size:10px}}
/* ===== MID NPC hover tooltip popup v2 ===== */
.style_default .npc-card .nt{position:relative;display:inline-flex;align-items:center;justify-content:center;margin:3px 5px 3px 0;padding:5px 10px;border-radius:999px;border:1px solid rgba(60,108,190,.55);background:linear-gradient(180deg,#fffdf2,#efe8cb);color:#7a5b14;font-weight:900;line-height:1.15;overflow:visible;box-shadow:0 2px 8px rgba(80,45,20,.12);}
.style_default .npc-card .nt>.ntx{display:none;position:absolute;z-index:60;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);width:max-content;max-width:min(330px,82vw);padding:10px 14px;border-radius:4px;border:1px solid rgba(214,170,63,.35);background:#17120a;color:#f5e2a3;box-shadow:0 10px 24px rgba(0,0,0,.34);font-size:12px;line-height:1.65;font-weight:800;white-space:normal;text-align:left;word-break:break-word;overflow-wrap:anywhere;}
.style_default .npc-card .nt:hover>.ntx,.style_default .npc-card .nt:focus>.ntx,.style_default .npc-card .nt:focus-within>.ntx{display:block;}
.style_default .npc-card .nt:hover::after,.style_default .npc-card .nt:focus::after,.style_default .npc-card .nt:focus-within::after{content:"";position:absolute;left:50%;bottom:calc(100% + 2px);transform:translateX(-50%);border-width:8px 7px 0 7px;border-style:solid;border-color:#17120a transparent transparent transparent;z-index:61;}
/* ===== riliai-message-toolbar-hover-only ===== */
.w-full.h-full.flex.group .flex.items-center.gap-1.ml-auto{
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .16s ease!important;
}
.w-full.h-full.flex.group:hover .flex.items-center.gap-1.ml-auto,
.w-full.h-full.flex.group:focus-within .flex.items-center.gap-1.ml-auto{
  opacity:1!important;
  pointer-events:auto!important;
}
/* ===== MID hover overflow and dir color fix v3 ===== */
.style_default,
.style_default .pp,
.style_default .pb,
.style_default .pg,
.style_default .sp,
.style_default .pi,
.style_default .ic,
.style_default .tc,
.style_default .ncl,
.style_default .npc-card,
.style_default .npc-chipline{overflow:visible!important;}
.style_default .dirpad .action-choice.do{
  background:linear-gradient(135deg,rgba(255,255,245,.82),rgba(255,241,204,.58))!important;
  color:#3b2416!important;
  border:1px solid rgba(110,65,35,.22)!important;
  box-shadow:0 5px 14px rgba(80,45,20,.14),inset 0 1px 0 rgba(255,255,255,.65)!important;
  position:relative!important;
  overflow:hidden!important;
}
.style_default .dirpad .action-choice.do::before{
  display:block!important;
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:5px!important;
  background:#b24572!important;
}
.style_default .npc-card .nt>.ntx{
  z-index:9999!important;
  max-width:min(240px,calc(100vw - 32px))!important;
}
.style_default .npc-card .nt:nth-last-child(-n+2)>.ntx{
  left:auto!important;
  right:0!important;
  transform:none!important;
}
@media(max-width:520px){
  .style_default .npc-card .nt>.ntx{
    left:0!important;
    right:auto!important;
    transform:none!important;
    max-width:min(220px,calc(100vw - 28px))!important;
  }
}
/* ===== /MID hover overflow and dir color fix v3 ===== */

/* ===== MID body snapshot hover chips v4 ===== */
.style_default .body-snapshot,
.style_default .body-parts{overflow:visible!important;}
.style_default .body-parts{display:flex;flex-wrap:wrap;gap:5px 6px;align-items:flex-start;}
.style_default .body-snapshot .nt{
  position:relative!important;
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  align-items:center!important;
  justify-content:center!important;
  margin:3px 5px 3px 0!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  border:1px solid rgba(60,108,190,.55)!important;
  background:linear-gradient(180deg,#fffdf2,#efe8cb)!important;
  color:#7a5b14!important;
  font-weight:900!important;
  line-height:1.15!important;
  overflow:visible!important;
  box-shadow:0 2px 8px rgba(80,45,20,.12)!important;
}
.style_default .body-snapshot .nt>.ntx{
  display:none;
  position:absolute!important;
  z-index:10000!important;
  left:50%!important;
  bottom:calc(100% + 10px)!important;
  transform:translateX(-50%)!important;
  width:max-content!important;
  max-width:min(240px,calc(100vw - 32px))!important;
  padding:10px 14px!important;
  border-radius:4px!important;
  border:1px solid rgba(214,170,63,.35)!important;
  background:#17120a!important;
  color:#f5e2a3!important;
  box-shadow:0 10px 24px rgba(0,0,0,.34)!important;
  font-size:12px!important;
  line-height:1.65!important;
  font-weight:800!important;
  white-space:normal!important;
  text-align:left!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}
.style_default .body-snapshot .nt:hover>.ntx,
.style_default .body-snapshot .nt:focus>.ntx,
.style_default .body-snapshot .nt:focus-within>.ntx{display:block!important;}
.style_default .body-snapshot .nt:nth-last-child(-n+2)>.ntx{left:auto!important;right:0!important;transform:none!important;}
@media(max-width:520px){
  .style_default .body-snapshot .nt>.ntx{left:0!important;right:auto!important;transform:none!important;max-width:min(220px,calc(100vw - 28px))!important;}
}
/* ===== /MID body snapshot hover chips v4 ===== */

/* ===== NPC scroll-window restore v5 ===== */
.style_default .ncl.npc-card,
.style_default .npc-card{
  display:block!important;
  max-width:100%!important;
  max-height:min(680px,72vh)!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y!important;
  box-sizing:border-box!important;
  padding-right:6px!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(178,69,114,.55) rgba(255,248,224,.34)!important;
}
.style_default .ncl.npc-card::-webkit-scrollbar,
.style_default .npc-card::-webkit-scrollbar{width:8px!important;height:8px!important;}
.style_default .ncl.npc-card::-webkit-scrollbar-thumb,
.style_default .npc-card::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#b24572,#d7aa4c)!important;border-radius:999px!important;}
.style_default .ncl.npc-card::-webkit-scrollbar-track,
.style_default .npc-card::-webkit-scrollbar-track{background:rgba(255,248,224,.38)!important;border-radius:999px!important;}
.style_default .npc-card .npc-chipline,
.style_default .npc-card .body-parts{overflow:visible!important;}
.style_default .npc-card .nt{overflow:visible!important;}
.style_default .npc-card .nt>.ntx{
  z-index:10020!important;
  max-width:min(240px,calc(100vw - 32px))!important;
}
@media(max-width:520px){
  .style_default .ncl.npc-card,
  .style_default .npc-card{
    max-height:min(620px,76vh)!important;
    padding-right:4px!important;
  }
  .style_default .npc-card .nt>.ntx{
    max-width:min(220px,calc(100vw - 28px))!important;
  }
}
/* ===== /NPC scroll-window restore v5 ===== */

/* ===== WORLD setting hover legend v1 ===== */
.style_default .world-info{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  align-items:flex-start!important;
  overflow:visible!important;
  margin:6px 0 9px!important;
}
.style_default .world-info .nt.wi{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  margin:2px 2px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  font-weight:900!important;
  line-height:1.15!important;
  cursor:pointer!important;
  overflow:visible!important;
  border:1px solid rgba(110,65,35,.24)!important;
  background:linear-gradient(180deg,#fffdf2,#efe8cb)!important;
  color:#3b2416!important;
  box-shadow:0 2px 7px rgba(80,45,20,.10)!important;
}
.style_default .world-info .wi-red{border-color:rgba(210,60,60,.62)!important;color:#b6262f!important;}
.style_default .world-info .wi-gold{border-color:rgba(198,135,25,.62)!important;color:#a06d09!important;}
.style_default .world-info .wi-blue{border-color:rgba(55,115,185,.62)!important;color:#2f6fa8!important;}
.style_default .world-info .wi-green{border-color:rgba(70,145,83,.62)!important;color:#477d46!important;}
.style_default .world-info .wi-purple{border-color:rgba(115,83,170,.62)!important;color:#7053a6!important;}
.style_default .world-info .nt.wi>.ntx{
  display:none;
  position:absolute!important;
  z-index:10030!important;
  left:50%!important;
  bottom:calc(100% + 9px)!important;
  transform:translateX(-50%)!important;
  width:max-content!important;
  max-width:min(260px,calc(100vw - 32px))!important;
  max-height:none!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  padding:9px 12px!important;
  border-radius:4px!important;
  border:1px solid rgba(214,170,63,.35)!important;
  background:#17120a!important;
  color:#f5e2a3!important;
  box-shadow:0 10px 24px rgba(0,0,0,.34)!important;
  font-size:12px!important;
  line-height:1.65!important;
  font-weight:800!important;
  white-space:normal!important;
  text-align:left!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}
.style_default .world-info .nt.wi:hover>.ntx,
.style_default .world-info .nt.wi:focus>.ntx,
.style_default .world-info .nt.wi:focus-within>.ntx{display:block!important;}
.style_default .world-info .nt.wi:nth-last-child(-n+2)>.ntx{left:auto!important;right:0!important;transform:none!important;}
@media(max-width:520px){
  .style_default .world-info{gap:4px!important;}
  .style_default .world-info .nt.wi{padding:4px 8px!important;font-size:11px!important;}
  .style_default .world-info .nt.wi>.ntx{left:0!important;right:auto!important;transform:none!important;max-width:min(220px,calc(100vw - 28px))!important;max-height:none!important;overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;}
}
/* ===== /WORLD setting hover legend v1 ===== */

/* ===== v45 mid force-family-seed polish BEGIN ===== */
.style_default .ntx{max-width:min(260px,calc(100vw - 32px))!important;width:max-content;min-width:0;max-height:none;white-space:normal;overflow:visible;overflow-x:visible;overflow-y:visible;text-align:left}
.style_default .plan-board,.style_default .asset-ledger,.style_default .cash-table,.style_default .rel-index,.style_default .family-book,.style_default .seedline{margin:7px 0;padding:8px;border-radius:10px;border:1px solid rgba(110,65,35,.16);background:rgba(255,255,245,.42)}
.style_default .plan-head{margin-bottom:7px;padding:6px 8px;border-radius:9px;background:rgba(255,248,224,.62);border-left:4px solid #b24572;font-size:11.5px}
.style_default .plan-table,.style_default .cash-table,.style_default .rel-table,.style_default .gene-table{width:100%;border-collapse:collapse;font-size:10.6px;line-height:1.38}
.style_default .plan-table th,.style_default .plan-table td,.style_default .cash-table th,.style_default .cash-table td,.style_default .rel-table th,.style_default .rel-table td,.style_default .gene-table th,.style_default .gene-table td{border:1px solid rgba(110,65,35,.22);padding:5px 6px;vertical-align:top;background:rgba(255,255,245,.36);word-break:break-word;overflow-wrap:anywhere}
.style_default .plan-table th,.style_default .cash-table th,.style_default .rel-table th,.style_default .gene-table th{color:#7a2946;background:rgba(255,248,224,.72)}
.style_default .asset-ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px}
.style_default .cash-note{margin-top:7px;padding:6px 8px;border-radius:9px;background:rgba(73,196,170,.10);border:1px solid rgba(73,196,170,.22);font-size:11px;color:#4b3a24}
.style_default .tech-board{display:grid;grid-template-columns:repeat(5,minmax(126px,1fr));gap:8px;align-items:stretch;min-width:0;overflow-x:auto}
.style_default .tech-stage{position:relative;padding:7px;border-radius:11px;border:1px solid rgba(110,65,35,.18);background:linear-gradient(180deg,rgba(255,248,224,.62),rgba(255,255,245,.30));min-height:130px}
.style_default .tech-stage b{display:block;margin-bottom:6px;color:#1f4c78;font-size:11.5px;text-align:center}
.style_default .tech-stage:not(:last-child)::after{content:"→";position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:#9f7032;font-weight:900}
.style_default .tech-node{display:block;margin:5px 0;padding:5px 6px;border-radius:9px;border:1px solid rgba(110,65,35,.18);background:rgba(255,255,245,.58);font-size:10.5px;line-height:1.35}
.style_default .tech-node small{display:block;margin-top:2px;color:#5f4632}
.style_default .tech-node.done{border-left:4px solid #5b9f71}
.style_default .tech-node.active{border-left:4px solid #c99b3e;background:rgba(255,236,176,.58)}
.style_default .tech-node.locked{border-left:4px solid #8d8d8d;opacity:.78}
.style_default .family-book{overflow-x:auto}
.style_default .gene-table{min-width:760px}
.style_default .rel-mini{margin:5px 0;padding:6px 8px;border-radius:9px;background:rgba(255,248,224,.56);border:1px solid rgba(110,65,35,.16);font-size:11px;line-height:1.45}
.style_default .rel-mini b{display:block;color:#7a2946;margin-bottom:2px}
.style_default .seedline{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:rgba(42,27,18,.10)}
.style_default .seed{border-color:#9b6a2f;color:#7a2946;background:rgba(255,236,176,.42)}
@media(max-width:700px){.style_default .tech-board{grid-template-columns:repeat(5,142px)}.style_default .plan-table,.style_default .cash-table,.style_default .rel-table{font-size:10px}.style_default .ntx{max-width:min(280px,86vw)!important}}
/* ===== v45 mid force-family-seed polish END ===== */

/* ===== v46 body hover vertical containment BEGIN ===== */
.style_default,.style_default *{box-sizing:border-box}
.style_default .nt{max-width:100%;box-sizing:border-box}
.style_default .ntx{box-sizing:border-box;max-width:min(280px,calc(100vw - 28px))!important;overflow-wrap:anywhere;word-break:break-word}
.style_default .body-snapshot,.style_default .bpc{max-width:100%;overflow:visible}
.style_default .body-snapshot .npc-chipline.body-parts{display:flex!important;flex-direction:column!important;gap:6px;max-width:100%;overflow:visible;margin:6px 0}
.style_default .body-snapshot .nt.bp{display:block!important;width:100%!important;max-width:100%!important;margin:0;padding:6px 8px;border:1px solid rgba(110,65,35,.18);border-left:4px solid rgba(178,69,114,.55);border-radius:9px;background:rgba(255,248,224,.54);line-height:1.35}
.style_default .body-snapshot .nt.bp>strong{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.style_default .body-snapshot .nt.bp>.ntx{position:static!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;width:100%!important;min-width:0!important;max-width:100%!important;max-height:260px;margin:6px 0 0;padding:7px 9px;white-space:normal!important;overflow:auto;text-align:left;border-radius:10px}
.style_default .body-snapshot .nt.bp:hover>.ntx,.style_default .body-snapshot .nt.bp:focus>.ntx,.style_default .body-snapshot .nt.bp:active>.ntx{display:block!important}
@media(max-width:700px){.style_default .ntx{max-width:calc(100vw - 24px)!important}.style_default .body-snapshot .nt.bp>.ntx{max-height:220px;font-size:11px;line-height:1.5}}
/* ===== v46 body hover vertical containment END ===== */

/* ===== v47 hover containment + visual tree panels BEGIN ===== */
.style_default .nt{position:relative!important;overflow:visible!important;max-width:100%;box-sizing:border-box}
.style_default .ntx{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  top:calc(100% + 5px)!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  max-height:min(52vh,260px)!important;
  white-space:normal!important;
  overflow:auto!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  box-sizing:border-box!important;
  z-index:9999!important;
}
.style_default .nt:hover>.ntx,.style_default .nt:focus>.ntx,.style_default .nt:active>.ntx{display:block!important}
.style_default .sg,
.style_default .status-grid,
.style_default .top-info-bar,
.style_default .legendline,
.style_default .world-info,
.style_default .npc-chipline,
.style_default .seedline,
.style_default .pi,
.style_default .ic,
.style_default .cb{max-width:100%;box-sizing:border-box;overflow:visible}
.style_default .body-snapshot .nt.bp>.ntx{
  position:static!important;
  width:100%!important;
  max-width:100%!important;
  top:auto!important;
  left:auto!important;
  transform:none!important;
}
.style_default .viz-pop{margin:7px 0;border:1px solid rgba(110,65,35,.18);border-radius:12px;background:rgba(255,248,224,.34);overflow:hidden}
.style_default .viz-pop>summary{list-style:none;cursor:pointer;padding:7px 10px;font-size:11.5px;font-weight:900;color:#7a2946;background:rgba(255,248,224,.70);border-bottom:1px solid rgba(110,65,35,.14)}
.style_default .viz-pop>summary::before{content:"⛶ ";color:#1f4c78}
.style_default .viz-pop[open]{position:fixed!important;inset:10px!important;z-index:9998!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;overflow:auto!important;padding:0!important;background:linear-gradient(135deg,#fff9ef,#ecd8b6)!important;box-shadow:0 18px 60px rgba(0,0,0,.42)}
.style_default .viz-pop[open]>summary{position:sticky;top:0;z-index:2;border-radius:12px 12px 0 0}
.style_default .viz-window{max-width:100%;max-height:min(64vh,620px);overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior:contain;padding:8px;background:rgba(255,255,245,.42)}
.style_default .viz-pop[open] .viz-window{max-height:calc(100vh - 74px)}
.style_default .tech-map{min-width:860px;display:grid;grid-template-columns:repeat(5,160px);gap:14px;align-items:start;font-size:10px;line-height:1.34}
.style_default .tech-map .tech-stage{min-height:170px;padding:8px;border-radius:12px;background:linear-gradient(180deg,rgba(255,248,224,.72),rgba(234,244,255,.36));border:1px solid rgba(110,65,35,.18);box-shadow:0 5px 14px rgba(90,52,24,.12)}
.style_default .tech-map .tech-stage b{font-size:11px;color:#1f4c78}
.style_default .tech-map .tech-stage:not(:last-child)::after{right:-16px;font-size:16px;color:#9f7032}
.style_default .tech-map .tech-node{font-size:10px;padding:5px 6px;margin:6px 0;border-radius:9px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.style_default .tech-map .tech-node::before{content:"◆ ";font-size:9px;color:#b24572}
.style_default .gene-map{min-width:900px;padding:8px;font-size:10px;line-height:1.35}
.style_default .gene-row{display:flex;justify-content:center;gap:12px;align-items:stretch;margin:8px 0;min-width:max-content}
.style_default .gene-line{width:70%;min-width:540px;height:14px;margin:0 auto;border-top:1px solid rgba(120,70,45,.30);border-left:1px solid rgba(120,70,45,.18);border-right:1px solid rgba(120,70,45,.18)}
.style_default .gene-node{min-width:132px;max-width:164px;padding:7px 8px;border-radius:10px;border:1px solid rgba(110,65,35,.20);background:linear-gradient(135deg,rgba(255,248,224,.68),rgba(255,255,245,.36));box-shadow:0 4px 13px rgba(80,48,28,.13);white-space:normal}
.style_default .gene-node b{display:block;color:#7a2946;font-size:11px;margin-bottom:2px}
.style_default .gene-node span{display:block;color:#3b2416}
.style_default .gene-node.pro{border-color:rgba(178,69,114,.46);background:linear-gradient(135deg,rgba(255,232,241,.66),rgba(255,248,224,.50))}
.style_default .gene-node.key{border-color:rgba(31,76,120,.40);background:linear-gradient(135deg,rgba(224,240,255,.66),rgba(255,248,224,.46))}
.style_default .gene-table{font-size:10px}
@media(max-width:700px){
  .style_default .ntx{font-size:11px!important;line-height:1.5!important}
  .style_default .tech-map{grid-template-columns:repeat(5,146px);min-width:790px}
  .style_default .gene-map{min-width:800px}
  .style_default .gene-node{min-width:118px;max-width:142px}
}
/* ===== v47 hover containment + visual tree panels END ===== */

/* ===== v49 true family tree graph BEGIN ===== */
.style_default .family-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0}
.style_default .family-tile{padding:8px 9px;border-radius:10px;background:linear-gradient(135deg,rgba(255,255,245,.72),rgba(243,222,186,.48));border:1px solid rgba(118,75,41,.16);box-shadow:0 3px 9px rgba(85,52,28,.09);font-size:11px;line-height:1.42;color:#3b2416;overflow-wrap:anywhere}
.style_default .family-tile b{display:block;margin-bottom:3px;color:#7a2946;font-size:11.5px}
.style_default .ftree-wrap{max-width:100%;max-height:560px;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;padding:8px;border-radius:11px;background:rgba(255,248,224,.40);border:1px solid rgba(110,65,35,.16);box-sizing:border-box}
.style_default .ftree{position:relative;width:100%;min-width:0;padding:8px 0;border-radius:12px;background:linear-gradient(135deg,rgba(255,250,235,.76),rgba(238,218,184,.42));border:1px solid rgba(110,65,35,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.45);box-sizing:border-box}
.style_default .ftree::before{content:"";position:absolute;left:50%;top:32px;bottom:36px;border-left:2px solid rgba(122,41,70,.26);transform:translateX(-50%)}
.style_default .ft-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:0 5px;margin:8px 8px;min-height:54px}
.style_default .ft-node{position:relative;z-index:1;min-height:46px;padding:6px 7px;border-radius:10px;background:linear-gradient(135deg,rgba(255,255,245,.88),rgba(255,248,224,.62));border:1px solid rgba(110,65,35,.18);box-shadow:0 4px 12px rgba(90,52,24,.12);font-size:10px;line-height:1.34;white-space:normal;box-sizing:border-box;overflow-wrap:anywhere}
.style_default .ft-node.left{grid-column:1}.style_default .ft-node.right{grid-column:3}
.style_default .ft-node.left::after{content:"";position:absolute;right:-17px;top:50%;width:17px;border-top:2px solid rgba(122,41,70,.22)}
.style_default .ft-node.right::before{content:"";position:absolute;left:-17px;top:50%;width:17px;border-top:2px solid rgba(122,41,70,.22)}
.style_default .ft-node.center{grid-column:1/4;justify-self:center;width:min(68%,230px);text-align:center}
.style_default .ft-node.center::before{content:"";position:absolute;left:50%;top:-10px;height:10px;border-left:2px solid rgba(122,41,70,.22);transform:translateX(-50%)}
.style_default .ft-row:first-child .ft-node.center::before{display:none}
.style_default .ft-node b{display:block;color:#7a2946;font-size:10.8px;margin-bottom:2px}
.style_default .ft-node span{display:block;color:#3b2416}
.style_default .ft-node small{display:block;color:#6a563d;font-size:9.2px;margin-top:2px}
.style_default .ft-node.pro{border-color:rgba(178,69,114,.56);box-shadow:0 0 0 2px rgba(178,69,114,.09),0 4px 12px rgba(90,52,24,.13);background:linear-gradient(135deg,rgba(255,242,248,.90),rgba(255,248,224,.62))}
.style_default .ft-node.key{border-color:rgba(31,76,120,.42);background:linear-gradient(135deg,rgba(232,243,255,.84),rgba(255,248,224,.62))}
.style_default .ft-node.mate{border-color:rgba(173,127,38,.44);background:linear-gradient(135deg,rgba(255,240,194,.80),rgba(255,248,224,.62))}
.style_default .ft-node.ghost{opacity:.74;border-style:dashed}
.style_default .ft-legend{display:flex;flex-wrap:wrap;gap:5px;margin:7px 8px 0;font-size:9.8px;color:#5f4632}
.style_default .ft-legend span{padding:2px 6px;border-radius:999px;background:rgba(255,255,245,.62);border:1px solid rgba(110,65,35,.14)}
@media(max-width:420px){.style_default .family-summary-grid{gap:5px}.style_default .family-tile{font-size:10px;padding:6px}.style_default .ftree-wrap{max-height:520px;padding:6px}.style_default .ftree{padding:6px 0}.style_default .ft-row{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:0 4px;margin:7px 6px}.style_default .ft-node{font-size:9.2px;padding:5px;min-height:44px}.style_default .ft-node b{font-size:9.8px}.style_default .ft-node small{font-size:8.6px}.style_default .ft-node.left::after{right:-12px;width:12px}.style_default .ft-node.right::before{left:-12px;width:12px}.style_default .ft-node.center{width:min(72%,210px)}}
/* ===== v49 true family tree graph END ===== */

/* ===== v50 force tech tree graph BEGIN ===== */
.style_default .ttree-wrap{max-width:100%;max-height:540px;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior:contain;padding:8px;border-radius:12px;background:linear-gradient(135deg,rgba(255,248,224,.48),rgba(232,243,255,.30));border:1px solid rgba(110,65,35,.16);box-sizing:border-box}
.style_default .ttree{position:relative;min-width:820px;display:grid;grid-template-columns:repeat(5,minmax(142px,1fr));gap:14px;align-items:start;padding:12px 10px 10px;border-radius:13px;background:linear-gradient(135deg,rgba(255,250,235,.78),rgba(238,218,184,.40));border:1px solid rgba(110,65,35,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.45);box-sizing:border-box}
.style_default .ttree::before{content:"";position:absolute;left:52px;right:52px;top:47px;border-top:2px solid rgba(31,76,120,.22)}
.style_default .tt-stage{position:relative;z-index:1;display:grid;gap:7px;align-content:start}
.style_default .tt-stage:not(:last-child)::after{content:"→";position:absolute;right:-15px;top:30px;color:#7a2946;font-size:16px;font-weight:900}
.style_default .tt-head{position:relative;margin:0 auto 4px;padding:4px 9px;border-radius:999px;background:linear-gradient(135deg,rgba(232,243,255,.92),rgba(255,248,224,.76));border:1px solid rgba(31,76,120,.30);color:#1f4c78;font-size:10.5px;font-weight:900;text-align:center;box-shadow:0 4px 10px rgba(70,50,28,.10);white-space:nowrap}
.style_default .tt-node{position:relative;display:block;min-height:54px;padding:6px 7px;border-radius:10px;background:linear-gradient(135deg,rgba(255,255,245,.88),rgba(255,248,224,.62));border:1px solid rgba(110,65,35,.18);box-shadow:0 4px 12px rgba(90,52,24,.12);font-size:9.8px;line-height:1.32;color:#3b2416;white-space:normal;overflow-wrap:anywhere}
.style_default .tt-node::before{content:"◆";position:absolute;left:-7px;top:50%;transform:translateY(-50%);color:#b24572;font-size:10px;text-shadow:0 0 0 #fff}
.style_default .tt-node b{display:block;margin-bottom:2px;color:#7a2946;font-size:10.4px}
.style_default .tt-node small{display:block;margin-top:2px;color:#6a563d;font-size:8.8px}
.style_default .tt-node.done{border-color:rgba(49,118,76,.46);background:linear-gradient(135deg,rgba(232,255,239,.82),rgba(255,248,224,.60))}
.style_default .tt-node.active{border-color:rgba(178,69,114,.56);box-shadow:0 0 0 2px rgba(178,69,114,.08),0 4px 12px rgba(90,52,24,.13);background:linear-gradient(135deg,rgba(255,242,248,.90),rgba(255,248,224,.62))}
.style_default .tt-node.locked{opacity:.72;border-style:dashed;background:linear-gradient(135deg,rgba(238,238,238,.72),rgba(255,248,224,.52))}
.style_default .tt-meta{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 0;font-size:9.7px;color:#5f4632}
.style_default .tt-meta span{padding:2px 6px;border-radius:999px;background:rgba(255,255,245,.62);border:1px solid rgba(110,65,35,.14)}
@media(max-width:700px){.style_default .ttree{min-width:760px;grid-template-columns:repeat(5,136px);gap:10px}.style_default .tt-stage:not(:last-child)::after{right:-12px}.style_default .tt-node{font-size:9.2px;padding:5px}.style_default .tt-node b{font-size:9.8px}.style_default .tt-node small{font-size:8.4px}}
/* ===== v50 force tech tree graph END ===== */


/* ===== v78 unified bottom tooltip overlay ===== */
.style_default .tt,
.style_default .ct,
.style_default .nt,
.style_default .CTip,
.style_default .tooltip,
.style_default .ctip,
.style_default .注释,
.style_default .娉ㄩ噴{
  position:relative!important;
  overflow:visible!important;
}

.style_default .ttx,
.style_default .ctx,
.style_default .ntx,
.style_default .CTip-text,
.style_default .tooltip-text,
.style_default .ctip-text,
.style_default .注释-text,
.style_default .娉ㄩ噴-text,
.style_default .world-info .nt.wi>.ntx{
  display:none;
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:clamp(132px,18vh,168px)!important;
  transform:translateX(-50%)!important;
  z-index:2147483647!important;
  width:min(320px,calc(100vw - 28px))!important;
  min-width:0!important;
  max-width:calc(100vw - 28px)!important;
  max-height:none!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  box-sizing:border-box!important;
  padding:10px 12px!important;
  border-radius:8px!important;
  border:1px solid rgba(214,170,63,.42)!important;
  background:#17120a!important;
  color:#f5e2a3!important;
  box-shadow:0 12px 28px rgba(0,0,0,.36),0 0 0 1px rgba(255,247,214,.08) inset!important;
  font-size:12px!important;
  line-height:1.65!important;
  font-weight:800!important;
  white-space:normal!important;
  text-align:left!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
  text-shadow:none!important;
}

.style_default .tt:hover .ttx,
.style_default .tt:focus .ttx,
.style_default .tt:focus-within .ttx,
.style_default .tt:active .ttx,
.style_default .ct:hover .ctx,
.style_default .ct:focus .ctx,
.style_default .ct:focus-within .ctx,
.style_default .ct:active .ctx,
.style_default .nt:hover .ntx,
.style_default .nt:focus .ntx,
.style_default .nt:focus-within .ntx,
.style_default .nt:active .ntx,
.style_default .CTip:hover .CTip-text,
.style_default .CTip:focus .CTip-text,
.style_default .CTip:focus-within .CTip-text,
.style_default .CTip:active .CTip-text,
.style_default .tooltip:hover .tooltip-text,
.style_default .tooltip:focus .tooltip-text,
.style_default .tooltip:focus-within .tooltip-text,
.style_default .tooltip:active .tooltip-text,
.style_default .ctip:hover .ctip-text,
.style_default .ctip:focus .ctip-text,
.style_default .ctip:focus-within .ctip-text,
.style_default .ctip:active .ctip-text,
.style_default .注释:hover .注释-text,
.style_default .注释:focus .注释-text,
.style_default .注释:focus-within .注释-text,
.style_default .注释:active .注释-text,
.style_default .娉ㄩ噴:hover .娉ㄩ噴-text,
.style_default .娉ㄩ噴:focus .娉ㄩ噴-text,
.style_default .娉ㄩ噴:focus-within .娉ㄩ噴-text,
.style_default .娉ㄩ噴:active .娉ㄩ噴-text{
  display:block!important;
}

@media(max-width:520px){
  .style_default .ttx,
  .style_default .ctx,
  .style_default .ntx,
  .style_default .CTip-text,
  .style_default .tooltip-text,
  .style_default .ctip-text,
  .style_default .注释-text,
  .style_default .娉ㄩ噴-text,
  .style_default .world-info .nt.wi>.ntx{
    bottom:clamp(112px,17vh,148px)!important;
    width:min(280px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    font-size:11.5px!important;
    line-height:1.58!important;
  }
}
/* ===== /v78 unified bottom tooltip overlay ===== */





/* ===== v80 rili virtual-scroll tooltip fix ===== */
#conversation [style*="contain: size style"]:has(.style_default),
#conversation [style*="contain: layout style"]:has(.style_default){
  contain:none!important;
  content-visibility:visible!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
}

.style_default .ttx,
.style_default .ctx,
.style_default .ntx,
.style_default .CTip-text,
.style_default .tooltip-text,
.style_default .ctip-text,
.style_default .\6CE8\91CA-text,
.style_default .\5A09\3129\5674-text,
.style_default .world-info .nt.wi>.ntx{
  position:fixed!important;
  left:50dvw!important;
  right:auto!important;
  top:auto!important;
  bottom:clamp(132px,18dvh,168px)!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
  z-index:2147483647!important;
  width:min(260px,calc(100dvw - 32px))!important;
  max-width:min(260px,calc(100dvw - 32px))!important;
  max-height:none!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  white-space:normal!important;
  word-break:break-word!important;
}

.style_default .body-snapshot .nt.bp>.ntx,
.style_default .body18 .nt.bp>.ntx,
.style_default .equip18 .nt.bp>.ntx,
.style_default .p5a-body .nt.bp>.ntx{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  max-height:260px!important;
  overflow:auto!important;
}

@media(max-width:520px){
  .style_default .ttx,
  .style_default .ctx,
  .style_default .ntx,
  .style_default .CTip-text,
  .style_default .tooltip-text,
  .style_default .ctip-text,
  .style_default .\6CE8\91CA-text,
  .style_default .\5A09\3129\5674-text,
  .style_default .world-info .nt.wi>.ntx{
    bottom:clamp(112px,17dvh,148px)!important;
    width:min(240px,calc(100dvw - 28px))!important;
    max-width:min(240px,calc(100dvw - 28px))!important;
  }
}
/* ===== /v80 rili virtual-scroll tooltip fix ===== */





/* ===== v81 prompt input ornate skin ===== */
#prompt-input{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
  border:1px solid transparent!important;
  border-radius:18px!important;
  background:
    linear-gradient(180deg,rgba(38,31,36,.96),rgba(18,17,23,.96)) padding-box,
    linear-gradient(135deg,rgba(255,219,137,.92),rgba(180,91,218,.82),rgba(77,205,190,.78),rgba(236,103,134,.86)) border-box!important;
  box-shadow:
    0 16px 42px rgba(0,0,0,.48),
    0 0 0 1px rgba(255,242,202,.12),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -16px 34px rgba(0,0,0,.23)!important;
}

#prompt-input::before{
  content:""!important;
  position:absolute!important;
  inset:-6px!important;
  z-index:-1!important;
  pointer-events:none!important;
  border-radius:22px!important;
  background:
    linear-gradient(120deg,rgba(255,211,115,.28),rgba(168,95,214,.22),rgba(75,195,181,.20),rgba(229,82,119,.18))!important;
  filter:blur(10px)!important;
  opacity:.78!important;
}

#prompt-input::after{
  content:""!important;
  position:absolute!important;
  inset:5px!important;
  pointer-events:none!important;
  border-radius:13px!important;
  border:1px solid rgba(255,233,178,.16)!important;
  box-shadow:inset 0 0 18px rgba(255,223,151,.08)!important;
}

#prompt-input [data-slot="input-group"]{
  overflow:hidden!important;
  border:0!important;
  border-radius:17px!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(255,221,145,.14),transparent 34%),
    radial-gradient(circle at 92% 18%,rgba(97,211,196,.12),transparent 30%),
    linear-gradient(180deg,rgba(54,43,48,.72),rgba(23,22,29,.74))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(0,0,0,.36)!important;
}

#prompt-input [data-slot="input-group"]:focus-within{
  box-shadow:
    0 0 0 1px rgba(255,218,128,.42),
    0 0 22px rgba(177,99,222,.26),
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(0,0,0,.38)!important;
}

#prompt-input textarea[name="message"],
#prompt-input [data-slot="input-group-control"]{
  color:#fff6df!important;
  caret-color:#ffd879!important;
  border-radius:14px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
  text-shadow:0 1px 0 rgba(0,0,0,.40)!important;
}

#prompt-input textarea[name="message"]::placeholder{
  color:rgba(255,235,190,.52)!important;
}

#prompt-input #prompt-input-footer,
#prompt-input [data-slot="input-group-addon"]{
  border-top:1px solid rgba(255,224,164,.12)!important;
  background:
    linear-gradient(90deg,rgba(255,214,128,.08),rgba(117,204,191,.055),rgba(189,96,225,.07))!important;
}

#prompt-input button{
  border:1px solid rgba(255,226,162,.32)!important;
  border-radius:999px!important;
  background:
    linear-gradient(180deg,rgba(255,246,218,.18),rgba(255,205,112,.06))!important;
  color:#fff1d2!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 4px 12px rgba(0,0,0,.20)!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease!important;
}

#prompt-input button:hover,
#prompt-input button:focus-visible{
  border-color:rgba(255,221,132,.72)!important;
  background:
    linear-gradient(180deg,rgba(255,238,188,.28),rgba(197,118,226,.12))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    0 6px 18px rgba(0,0,0,.30),
    0 0 14px rgba(255,211,116,.18)!important;
  transform:translateY(-1px)!important;
}

#prompt-input button:active{
  transform:translateY(0)!important;
  box-shadow:inset 0 2px 8px rgba(0,0,0,.28)!important;
}

#prompt-input .truncate,
#prompt-input .flex-1.truncate{
  color:rgba(255,242,216,.88)!important;
}

#prompt-input svg{
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))!important;
}

@media(max-width:520px){
  #prompt-input{
    border-radius:15px!important;
    box-shadow:
      0 10px 28px rgba(0,0,0,.44),
      0 0 0 1px rgba(255,242,202,.10),
      inset 0 1px 0 rgba(255,255,255,.14)!important;
  }
  #prompt-input::before{
    inset:-4px!important;
    border-radius:18px!important;
    filter:blur(8px)!important;
  }
  #prompt-input [data-slot="input-group"]{
    border-radius:14px!important;
  }
  #prompt-input button{
    min-height:26px!important;
  }
}
/* ===== /v81 prompt input ornate skin ===== */


/* ===== v83 comment dialog ornate skin ===== */
:root{
  --rili-cmt-ink:#f7dfad;
  --rili-cmt-muted:#b99663;
  --rili-cmt-paper:#11100d;
  --rili-cmt-panel:#18130d;
  --rili-cmt-line:#c89b46;
  --rili-cmt-gold:#d7aa4d;
  --rili-cmt-rose:#b64d70;
  --rili-cmt-teal:#2f9a8f;
  --rili-cmt-plum:#2a1825;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) > div[class*="fixed"][class*="inset-0"][class*="bg-black"],
body:has([role="dialog"][data-vaul-drawer][data-state="open"]) > div[class*="fixed"][class*="inset-0"][class*="bg-black"]{
  background:
    radial-gradient(circle at 18% 10%,rgba(216,170,77,.18),transparent 30%),
    radial-gradient(circle at 84% 16%,rgba(182,77,112,.15),transparent 32%),
    linear-gradient(180deg,rgba(5,5,6,.74),rgba(2,2,3,.86))!important;
  backdrop-filter:blur(8px) saturate(1.08)!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"],
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]){
  isolation:isolate!important;
  overflow:hidden!important;
  width:min(930px,calc(100dvw - 32px))!important;
  max-height:min(86dvh,760px)!important;
  border:1px solid transparent!important;
  border-radius:22px!important;
  padding:0!important;
  color:var(--rili-cmt-ink)!important;
  background:
    linear-gradient(180deg,rgba(18,16,13,.98),rgba(7,7,8,.985)) padding-box,
    linear-gradient(135deg,rgba(231,188,91,.92),rgba(107,74,34,.7),rgba(182,77,112,.58)) border-box!important;
  box-shadow:
    0 30px 90px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,220,126,.08),
    inset 0 1px 0 rgba(255,225,140,.18)!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"]::before,
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"])::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 50% -14%,rgba(216,170,77,.18),transparent 34%),
    linear-gradient(90deg,rgba(216,170,77,.055) 1px,transparent 1px),
    linear-gradient(180deg,rgba(216,170,77,.04) 1px,transparent 1px)!important;
  background-size:auto,30px 30px,30px 30px!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"]::after,
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"])::after{
  content:"✦"!important;
  position:absolute!important;
  top:14px!important;
  right:18px!important;
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  color:#110b08!important;
  background:linear-gradient(135deg,#fff0ae,#d7aa4d 56%,#8c5a21)!important;
  box-shadow:0 0 16px rgba(216,170,77,.34),inset 0 1px 0 rgba(255,255,255,.56)!important;
  font-weight:900!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] > div:first-child,
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) > div:first-child{
  max-height:inherit!important;
  background:transparent!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] > div:first-child > div:first-child,
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) > div:first-child > div:first-child{
  position:relative!important;
  padding:18px 24px 16px!important;
  border-bottom:1px solid rgba(216,170,77,.28)!important;
  background:
    linear-gradient(90deg,rgba(12,10,9,.98),rgba(38,27,16,.95),rgba(12,10,9,.98))!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] > div:first-child > div:first-child::before,
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) > div:first-child > div:first-child::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:7px!important;
  background:linear-gradient(180deg,#d7aa4d,#7f5421,#b64d70)!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] > div:first-child > div:first-child [class*="font-semibold"],
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) > div:first-child > div:first-child [class*="font-semibold"]{
  color:#f6dda2!important;
  font-size:18px!important;
  letter-spacing:0!important;
  text-shadow:0 0 12px rgba(216,170,77,.22)!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] > div:first-child > div:nth-child(2),
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) > div:first-child > div:nth-child(2){
  scrollbar-width:thin!important;
  scrollbar-color:rgba(216,170,77,.66) rgba(15,12,10,.88)!important;
  padding:18px 24px 24px!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] div[class*="rounded-xl"][class*="border"],
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) div[class*="rounded-xl"][class*="border"]{
  border-color:rgba(216,170,77,.34)!important;
  background:linear-gradient(180deg,rgba(22,18,14,.92),rgba(10,10,10,.94))!important;
  box-shadow:0 12px 24px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,225,140,.12)!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] div[class*="rounded-xl"][class*="shadow-sm"],
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) div[class*="rounded-xl"][class*="shadow-sm"]{
  position:relative!important;
  border-radius:16px!important;
  padding:15px 16px!important;
  background:
    linear-gradient(180deg,rgba(20,17,14,.96),rgba(9,9,10,.96)) padding-box,
    linear-gradient(135deg,rgba(216,170,77,.62),rgba(89,59,27,.42),rgba(182,77,112,.32)) border-box!important;
  border:1px solid transparent!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] div[class*="rounded-xl"][class*="shadow-sm"]::before,
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) div[class*="rounded-xl"][class*="shadow-sm"]::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:15px!important;
  bottom:15px!important;
  width:4px!important;
  border-radius:0 999px 999px 0!important;
  background:linear-gradient(180deg,#d7aa4d,#8a5a22,#b64d70)!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] textarea[placeholder*="写下你的体验"],
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) textarea[placeholder*="写下你的体验"]{
  min-height:104px!important;
  border:1px solid rgba(216,170,77,.26)!important;
  border-radius:14px!important;
  color:#f7dfad!important;
  background:linear-gradient(180deg,rgba(9,9,10,.96),rgba(18,14,11,.94))!important;
  box-shadow:inset 0 2px 10px rgba(0,0,0,.38),0 1px 0 rgba(255,225,140,.12)!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] textarea[placeholder*="写下你的体验"]::placeholder,
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) textarea[placeholder*="写下你的体验"]::placeholder{
  color:rgba(185,150,99,.72)!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] button,
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) button{
  border-radius:999px!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] button[aria-label^="设为"],
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) button[aria-label^="设为"]{
  border-color:rgba(216,170,77,.42)!important;
  background:linear-gradient(180deg,#2a2114,#15110d)!important;
  color:#f0c866!important;
  box-shadow:0 0 12px rgba(216,170,77,.12),inset 0 1px 0 rgba(255,225,140,.16)!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] button:has(> span):not([aria-label^="设为"]),
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) button:has(> span):not([aria-label^="设为"]){
  min-height:30px!important;
  border:1px solid rgba(216,170,77,.22)!important;
  background:linear-gradient(180deg,rgba(28,22,15,.92),rgba(12,12,13,.9))!important;
  color:#e5c47c!important;
  box-shadow:0 4px 10px rgba(0,0,0,.2)!important;
}
body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"] p[class*="text-muted"],
[role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]) p[class*="text-muted"]{
  color:rgba(185,150,99,.84)!important;
}
@media (max-width:720px){
  body:has([role="dialog"] textarea[placeholder*="写下你的体验"]) [role="dialog"][class*="md:max-w-4xl"],
  [role="dialog"][data-vaul-drawer][data-state="open"]:has(button[aria-label*="星"]){
    width:calc(100dvw - 18px)!important;
    max-height:88dvh!important;
    border-radius:18px!important;
  }
}
/* ===== /v83 comment dialog ornate skin ===== */

/* ===== v84 reply dock cost fold waiting skin ===== */
@keyframes rili-heart-spin{
  0%{transform:rotate(0deg) scale(1)}
  45%{transform:rotate(176deg) scale(1.08)}
  100%{transform:rotate(360deg) scale(1)}
}
@keyframes rili-wait-shimmer{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}
#prompt-input{
  --rili-dock-ink:#f4dba0;
  --rili-dock-muted:#b99762;
  --rili-dock-paper:#0e0d0b;
  --rili-dock-panel:#17130e;
  --rili-dock-gold:#d7aa4d;
  --rili-dock-deep:#080808;
  --rili-dock-rose:#b64d70;
}
#prompt-input [data-slot="input-group"]{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid transparent!important;
  border-radius:18px!important;
  background:
    linear-gradient(180deg,rgba(19,17,14,.96),rgba(6,6,7,.96)) padding-box,
    linear-gradient(135deg,rgba(231,188,91,.92),rgba(111,78,34,.62),rgba(182,77,112,.55)) border-box!important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,221,130,.06),
    inset 0 1px 0 rgba(255,226,145,.16)!important;
}
#prompt-input [data-slot="input-group"]::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 14% 18%,rgba(216,170,77,.18),transparent 25%),
    radial-gradient(circle at 88% 80%,rgba(182,77,112,.12),transparent 25%),
    linear-gradient(90deg,rgba(216,170,77,.055) 1px,transparent 1px)!important;
  background-size:auto,auto,30px 30px!important;
}
#prompt-input [data-slot="input-group-addon"]{
  position:relative!important;
  z-index:1!important;
}
#prompt-input [data-slot="input-group-addon"]:first-child{
  border-bottom:1px solid rgba(216,170,77,.24)!important;
  background:linear-gradient(90deg,rgba(21,17,12,.95),rgba(41,30,16,.58),rgba(21,17,12,.92))!important;
}
#prompt-input [data-slot="input-group-addon"]:last-child{
  border-top:1px solid rgba(216,170,77,.2)!important;
  background:linear-gradient(90deg,rgba(9,9,10,.94),rgba(31,23,14,.84))!important;
}
#prompt-input textarea[data-slot="input-group-control"]{
  position:relative!important;
  z-index:1!important;
  min-height:38px!important;
  padding:8px 12px!important;
  color:var(--rili-dock-ink)!important;
  line-height:1.55!important;
  background:linear-gradient(180deg,rgba(8,8,8,.52),rgba(19,15,11,.4))!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(216,170,77,.56) rgba(12,10,8,.42)!important;
}
#prompt-input textarea[data-slot="input-group-control"]::placeholder{
  color:rgba(244,219,160,.62)!important;
}
#prompt-input button{
  position:relative!important;
  z-index:1!important;
  border-radius:999px!important;
}
#prompt-input button:not([aria-label="发送"]){
  border:1px solid rgba(216,170,77,.26)!important;
  background:linear-gradient(180deg,rgba(37,29,17,.94),rgba(12,12,13,.92))!important;
  color:#e6c782!important;
  box-shadow:0 4px 11px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,225,140,.12)!important;
}
#prompt-input button:not([aria-label="发送"]):hover{
  transform:translateY(-1px)!important;
  border-color:rgba(244,208,112,.48)!important;
  background:linear-gradient(180deg,rgba(58,42,20,.96),rgba(18,14,12,.96))!important;
  color:#ffe1a0!important;
}
#prompt-input button[aria-label="发送"]{
  border:1px solid rgba(255,226,145,.74)!important;
  color:#170e08!important;
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.82),transparent 24%),
    linear-gradient(135deg,#f1d17c,#c18a2e 58%,#7b4f1d)!important;
  box-shadow:0 0 18px rgba(216,170,77,.24),0 8px 18px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.42)!important;
}
#prompt-input button[aria-label="发送"]:hover{
  filter:saturate(1.12) brightness(1.06)!important;
  transform:translateY(-1px) scale(1.03)!important;
}
#prompt-input button:has(span.truncate){
  max-width:180px!important;
}
#prompt-input button:has(span.truncate)::before{
  content:""!important;
  width:5px!important;
  height:5px!important;
  margin-right:1px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#d7aa4d,#8c5a21)!important;
  box-shadow:0 0 0 2px rgba(216,170,77,.2),0 0 8px rgba(216,170,77,.38)!important;
}
#prompt-input:has(button[aria-label*="停止"]) [data-slot="input-group"],
#prompt-input:has(button[aria-label*="取消"]) [data-slot="input-group"],
#prompt-input:has(button[aria-label*="中止"]) [data-slot="input-group"],
#prompt-input:has([class*="animate-spin"]) [data-slot="input-group"],
#prompt-input:has([class*="animate-pulse"]) [data-slot="input-group"]{
  background:
    linear-gradient(180deg,rgba(20,16,12,.99),rgba(7,7,8,.98)) padding-box,
    linear-gradient(90deg,#d7aa4d,#b64d70,#d7aa4d) border-box!important;
  background-size:auto,220% 100%!important;
  animation:rili-wait-shimmer 2.2s linear infinite!important;
}
#prompt-input:has(button[aria-label*="停止"]) [data-slot="input-group"]::after,
#prompt-input:has(button[aria-label*="取消"]) [data-slot="input-group"]::after,
#prompt-input:has(button[aria-label*="中止"]) [data-slot="input-group"]::after,
#prompt-input:has([class*="animate-spin"]) [data-slot="input-group"]::after,
#prompt-input:has([class*="animate-pulse"]) [data-slot="input-group"]::after{
  content:"♥"!important;
  position:absolute!important;
  right:54px!important;
  bottom:13px!important;
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  color:#1b0f08!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
  background:linear-gradient(135deg,#fff0ae,#d7aa4d 56%,#8c5a21)!important;
  box-shadow:0 0 0 4px rgba(216,170,77,.18),0 8px 18px rgba(0,0,0,.3)!important;
  animation:rili-heart-spin 1.35s linear infinite!important;
}
#prompt-input:has(button[aria-label*="停止"]) [data-slot="input-group"] > [data-slot="input-group-addon"]:last-child::after,
#prompt-input:has(button[aria-label*="取消"]) [data-slot="input-group"] > [data-slot="input-group-addon"]:last-child::after,
#prompt-input:has(button[aria-label*="中止"]) [data-slot="input-group"] > [data-slot="input-group-addon"]:last-child::after{
  content:"生成中"!important;
  margin-left:8px!important;
  padding:3px 9px!important;
  border:1px solid rgba(216,170,77,.28)!important;
  border-radius:999px!important;
  color:#f0cc79!important;
  background:rgba(12,10,8,.88)!important;
  font-size:11px!important;
}
#conversation .is-assistant [class*="animate-spin"],
#conversation .is-assistant [class*="animate-pulse"],
.custom-styles .is-assistant [class*="animate-spin"],
.custom-styles .is-assistant [class*="animate-pulse"]{
  position:relative!important;
  color:transparent!important;
}
#conversation .is-assistant [class*="animate-spin"]::after,
#conversation .is-assistant [class*="animate-pulse"]::after,
.custom-styles .is-assistant [class*="animate-spin"]::after,
.custom-styles .is-assistant [class*="animate-pulse"]::after{
  content:"♥"!important;
  display:inline-grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  border-radius:999px!important;
  color:#170e08!important;
  background:linear-gradient(135deg,#fff0ae,#d7aa4d,#8c5a21)!important;
  animation:rili-heart-spin 1.1s linear infinite!important;
  box-shadow:0 0 0 3px rgba(216,170,77,.18),0 6px 14px rgba(0,0,0,.24)!important;
}
.is-assistant > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]){
  position:relative!important;
  min-height:28px!important;
  opacity:.42!important;
  transition:opacity .18s ease,transform .18s ease!important;
}
.is-assistant:hover > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]),
.is-assistant > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]):hover{
  opacity:1!important;
}
.is-assistant > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]) > div[class*="font-mono"]{
  position:relative!important;
  width:34px!important;
  height:24px!important;
  overflow:hidden!important;
  justify-content:center!important;
  border:1px solid rgba(216,170,77,.32)!important;
  border-radius:999px!important;
  color:transparent!important;
  background:linear-gradient(180deg,rgba(38,29,16,.96),rgba(9,9,10,.94))!important;
  box-shadow:0 5px 12px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,225,140,.12)!important;
  transition:width .2s ease,color .18s ease,background .18s ease!important;
}
.is-assistant > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]) > div[class*="font-mono"]::before{
  content:"耗"!important;
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  color:#e6c782!important;
  font:700 12px/1 ui-sans-serif,system-ui!important;
}
.is-assistant > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]):hover > div[class*="font-mono"],
.is-assistant:hover > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]) > div[class*="font-mono"]{
  width:auto!important;
  min-width:92px!important;
  padding-inline:9px!important;
  justify-content:flex-start!important;
  color:#f0d08b!important;
  background:linear-gradient(180deg,rgba(35,26,15,.98),rgba(10,10,11,.96))!important;
}
.is-assistant > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]):hover > div[class*="font-mono"]::before,
.is-assistant:hover > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]) > div[class*="font-mono"]::before{
  content:"消耗"!important;
  position:static!important;
  display:inline!important;
  margin-right:4px!important;
  color:#e6c782!important;
}
.is-assistant > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]) button{
  opacity:0!important;
  transform:translateY(3px) scale(.96)!important;
  transition:opacity .18s ease,transform .18s ease,background .18s ease,border-color .18s ease!important;
  border:1px solid rgba(216,170,77,.22)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(33,25,15,.94),rgba(9,9,10,.92))!important;
  color:#e6c782!important;
  box-shadow:0 4px 10px rgba(0,0,0,.22)!important;
}
.is-assistant:hover > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]) button,
.is-assistant > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]):hover button{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}
.is-assistant > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]) button:hover{
  border-color:rgba(244,208,112,.46)!important;
  background:linear-gradient(180deg,rgba(58,42,20,.96),rgba(18,14,12,.96))!important;
  color:#ffe1a0!important;
}
@media (hover:none){
  .is-assistant > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]){
    opacity:.88!important;
  }
  .is-assistant > div[class*="justify-between"][class*="gap-2"][class*="px-2"]:has(> div[class*="font-mono"]) button{
    opacity:1!important;
    transform:none!important;
  }
}
@media (max-width:720px){
  #prompt-input [data-slot="input-group"]{
    border-radius:15px!important;
  }
  #prompt-input button:has(span.truncate){
    max-width:120px!important;
  }
  #prompt-input:has(button[aria-label*="停止"]) [data-slot="input-group"]::after,
  #prompt-input:has(button[aria-label*="取消"]) [data-slot="input-group"]::after,
  #prompt-input:has(button[aria-label*="中止"]) [data-slot="input-group"]::after,
  #prompt-input:has([class*="animate-spin"]) [data-slot="input-group"]::after,
  #prompt-input:has([class*="animate-pulse"]) [data-slot="input-group"]::after{
    right:48px!important;
    bottom:11px!important;
    width:26px!important;
    height:26px!important;
    font-size:14px!important;
  }
}
/* ===== /v84 reply dock cost fold waiting skin ===== */

/* ===== v18.2 intro range row overflow fix ===== */
.r2np-root .range-row{
  display:grid!important;
  grid-template-columns:minmax(82px,100px) minmax(0,1fr) minmax(62px,82px)!important;
  gap:8px!important;
  align-items:center!important;
  min-height:58px;
  overflow:hidden;
}
.r2np-root .range-row>*{min-width:0}
.r2np-root .range-row label{
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  margin:0!important;
  color:#e2c171;
  font-size:13px;
  line-height:1.12;
  white-space:normal;
  overflow:hidden;
}
.r2np-root .range-row label small{
  display:block;
  margin-top:3px;
  color:#b9a57e;
  font-size:11px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.r2np-root .range-row input[type=range]{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  justify-self:stretch;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box;
  accent-color:#d7b76a;
}
.r2np-root .range-row .range-val{
  display:block;
  justify-self:end;
  min-width:62px;
  max-width:82px;
  text-align:right!important;
  color:#7a2946;
  font-size:13px;
  font-weight:900;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:760px){
  .r2np-root .range-row{
    grid-template-columns:minmax(72px,92px) minmax(0,1fr) minmax(54px,72px)!important;
    gap:6px!important;
    min-height:52px;
    padding:6px!important;
  }
  .r2np-root .range-row label{font-size:12px}
  .r2np-root .range-row label small{font-size:10px}
  .r2np-root .range-row .range-val{min-width:54px;max-width:72px;font-size:12px}
}
@media(max-width:420px){
  .r2np-root .range-row{grid-template-columns:1fr!important}
  .r2np-root .range-row .range-val{justify-self:start;text-align:left!important;max-width:100%}
}

/* ===== v18.3 catgirl settlement and hca board ===== */
.style_default .mcat{
  position:relative;
  border-left:4px solid #d85b93!important;
  border-color:rgba(216,91,147,.38)!important;
  background:
    radial-gradient(circle at 12px 12px,rgba(255,166,205,.24),transparent 34px),
    linear-gradient(135deg,rgba(255,224,239,.88),rgba(255,246,250,.62))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 4px 12px rgba(120,40,78,.12);
}
.style_default .mcat::after{
  content:"♡ ♡";
  position:absolute;
  right:8px;
  top:6px;
  color:rgba(190,42,104,.38);
  font-size:13px;
  pointer-events:none;
}
.style_default .mcat .lh{color:#a92962!important}
.style_default .mch{
  margin:4px 0 6px;
  padding:5px 7px;
  border-radius:9px;
  background:rgba(255,255,255,.45);
  border:1px dashed rgba(196,74,125,.32);
  color:#8b2554;
  font-weight:900;
}
.style_default .mcv{
  margin:4px 0;
  padding:4px 7px;
  border-radius:8px;
  background:rgba(255,255,255,.34);
  border:1px solid rgba(196,74,125,.16);
}
.style_default .hcat{
  position:relative;
  margin:0 0 10px;
  padding:13px 14px 11px;
  border-radius:14px;
  border:2px solid rgba(216,91,147,.72);
  outline:1px dashed rgba(255,132,188,.58);
  outline-offset:-6px;
  background:
    radial-gradient(circle at 18px 18px,rgba(255,105,170,.24),transparent 34px),
    radial-gradient(circle at calc(100% - 20px) 12px,rgba(255,183,215,.35),transparent 36px),
    linear-gradient(135deg,#ffe0ef 0%,#fff7fb 54%,#f6c8df 100%);
  color:#7b214b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 9px 22px rgba(120,40,78,.20);
  overflow:hidden;
}
.style_default .hcat::before{
  content:"♡  ♡  ♡  天道猫娘裁决  ♡  ♡  ♡";
  display:block;
  margin:-4px 0 6px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(216,91,147,.28);
  color:#bd2f73;
  font-size:11px;
  font-weight:900;
  text-align:center;
  letter-spacing:.02em;
}
.style_default .hcat::after{
  content:"♡";
  position:absolute;
  right:9px;
  bottom:4px;
  color:rgba(190,42,104,.28);
  font-size:32px;
  line-height:1;
  transform:rotate(-12deg);
  pointer-events:none;
}
.style_default .hcat b,
.style_default .hcat span{display:block;position:relative;z-index:1}
.style_default .hcat b{
  display:inline-block;
  margin:0 0 5px;
  padding:3px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.54);
  border:1px solid rgba(216,91,147,.24);
  color:#9b1f5a;
  font-size:13px;
  box-shadow:0 2px 8px rgba(120,40,78,.10);
}
.style_default .hcat span{
  margin:4px 0;
  padding:4px 7px;
  border-radius:9px;
  background:rgba(255,255,255,.30);
  border:1px solid rgba(216,91,147,.13);
  font-size:12px;
  line-height:1.55;
}
/* ===== v85 universal nt/ntx viewport lock BEGIN ===== */
.style_default .nt,
.style_default .ct,
.style_default .tt,
.style_default .CTip,
.style_default .tooltip,
.style_default .ctip,
.style_default .注释{
  overflow:visible!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.style_default .nt>.ntx,
.style_default .npc-card .nt>.ntx,
.style_default .body-snapshot .nt>.ntx,
.style_default .body-snapshot .nt.bp>.ntx,
.style_default .body18 .nt.bp>.ntx,
.style_default .equip18 .nt.bp>.ntx,
.style_default .p5a-body .nt.bp>.ntx,
.style_default .world-info .nt.wi>.ntx,
.style_default .npc-card .nt:nth-last-child(-n+2)>.ntx,
.style_default .body-snapshot .nt:nth-last-child(-n+2)>.ntx,
.style_default .world-info .nt.wi:nth-last-child(-n+2)>.ntx,
.style_default .nt.seed>.ntx,
.style_default .ct>.ctx,
.style_default .tt>.ttx,
.style_default .CTip>.CTip-text,
.style_default .tooltip>.tooltip-text,
.style_default .ctip>.ctip-text,
.style_default .注释>.注释-text{
  display:none!important;
  position:fixed!important;
  left:50vw!important;
  left:50dvw!important;
  right:auto!important;
  top:auto!important;
  bottom:clamp(132px,18dvh,168px)!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
  z-index:2147483647!important;
  width:max-content!important;
  min-width:0!important;
  max-width:min(260px,calc(100vw - 32px))!important;
  max-width:min(260px,calc(100dvw - 32px))!important;
  max-height:min(62dvh,calc(100dvh - 188px))!important;
  margin:0!important;
  padding:10px 12px!important;
  border-radius:8px!important;
  border:1px solid rgba(214,170,63,.42)!important;
  background:#17120a!important;
  color:#f5e2a3!important;
  box-shadow:0 12px 28px rgba(0,0,0,.36),0 0 0 1px rgba(255,247,214,.08) inset!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  white-space:normal!important;
  text-align:left!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
  font-size:12px!important;
  line-height:1.6!important;
  font-weight:800!important;
  text-shadow:none!important;
  pointer-events:auto!important;
  user-select:text!important;
  contain:none!important;
  clip-path:none!important;
}

.style_default .nt:hover>.ntx,
.style_default .nt:focus>.ntx,
.style_default .nt:focus-within>.ntx,
.style_default .nt:active>.ntx,
.style_default .ct:hover>.ctx,
.style_default .ct:focus>.ctx,
.style_default .ct:focus-within>.ctx,
.style_default .ct:active>.ctx,
.style_default .tt:hover>.ttx,
.style_default .tt:focus>.ttx,
.style_default .tt:focus-within>.ttx,
.style_default .tt:active>.ttx,
.style_default .CTip:hover>.CTip-text,
.style_default .CTip:focus>.CTip-text,
.style_default .CTip:focus-within>.CTip-text,
.style_default .CTip:active>.CTip-text,
.style_default .tooltip:hover>.tooltip-text,
.style_default .tooltip:focus>.tooltip-text,
.style_default .tooltip:focus-within>.tooltip-text,
.style_default .tooltip:active>.tooltip-text,
.style_default .ctip:hover>.ctip-text,
.style_default .ctip:focus>.ctip-text,
.style_default .ctip:focus-within>.ctip-text,
.style_default .ctip:active>.ctip-text,
.style_default .注释:hover>.注释-text,
.style_default .注释:focus>.注释-text,
.style_default .注释:focus-within>.注释-text,
.style_default .注释:active>.注释-text{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

.style_default .npc-card .nt:nth-last-child(-n+2):is(:hover,:focus,:focus-within,:active)>.ntx,
.style_default .body-snapshot .nt:nth-last-child(-n+2):is(:hover,:focus,:focus-within,:active)>.ntx,
.style_default .world-info .nt.wi:nth-last-child(-n+2):is(:hover,:focus,:focus-within,:active)>.ntx{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

.style_default .npc-card .nt::after,
.style_default .body-snapshot .nt::after,
.style_default .world-info .nt.wi::after{
  display:none!important;
  content:none!important;
}

#conversation [style*="contain"]:has(.style_default :is(.nt,.ct,.tt,.CTip,.tooltip,.ctip,.注释):is(:hover,:focus,:focus-within,:active)),
#conversation [style*="content-visibility"]:has(.style_default :is(.nt,.ct,.tt,.CTip,.tooltip,.ctip,.注释):is(:hover,:focus,:focus-within,:active)),
#conversation .is-assistant:has(.style_default :is(.nt,.ct,.tt,.CTip,.tooltip,.ctip,.注释):is(:hover,:focus,:focus-within,:active)),
.style_default:has(:is(.nt,.ct,.tt,.CTip,.tooltip,.ctip,.注释):is(:hover,:focus,:focus-within,:active)){
  contain:none!important;
  content-visibility:visible!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  clip-path:none!important;
}

@media(max-width:520px){
  .style_default .nt>.ntx,
  .style_default .npc-card .nt>.ntx,
  .style_default .body-snapshot .nt>.ntx,
  .style_default .body-snapshot .nt.bp>.ntx,
  .style_default .body18 .nt.bp>.ntx,
  .style_default .equip18 .nt.bp>.ntx,
  .style_default .p5a-body .nt.bp>.ntx,
  .style_default .world-info .nt.wi>.ntx,
  .style_default .npc-card .nt:nth-last-child(-n+2)>.ntx,
  .style_default .body-snapshot .nt:nth-last-child(-n+2)>.ntx,
  .style_default .world-info .nt.wi:nth-last-child(-n+2)>.ntx,
  .style_default .nt.seed>.ntx,
  .style_default .ct>.ctx,
  .style_default .tt>.ttx,
  .style_default .CTip>.CTip-text,
  .style_default .tooltip>.tooltip-text,
  .style_default .ctip>.ctip-text,
  .style_default .注释>.注释-text{
    bottom:clamp(112px,17dvh,148px)!important;
    max-width:min(240px,calc(100vw - 24px))!important;
    max-width:min(240px,calc(100dvw - 24px))!important;
    max-height:min(64dvh,calc(100dvh - 168px))!important;
    font-size:11.5px!important;
    line-height:1.55!important;
  }
}
/* ===== v85 universal nt/ntx viewport lock END ===== */
