.gov{
  --bg:#f7f5ef;
  --card:#fffdf8;
  --ink:#27313f;
  --muted:#78828f;
  --line:#ded8cc;
  --deep:#263d5a;
  --gold:#b58b45;
  --soft:#f0f3f6;

  display:block;
  color:var(--ink);
  font-size:14px;
  line-height:1.65;
}

/* ===== details ===== */

.gov>details{
  margin:10px 0;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--card);
  overflow:hidden;
  box-shadow:0 2px 7px rgba(30,40,55,.06);
}

.gov>details>summary{
  cursor:pointer;
  padding:10px 14px;
  background:linear-gradient(90deg,#edf1f5,#f8f6ef);
  border-bottom:1px solid var(--line);
  color:var(--deep);
  font-weight:700;
}

.gov>details:not([open])>summary{
  border-bottom:0;
}

.gov summary sub{
  margin-left:6px;
  color:var(--muted);
  font-size:12px;
  font-weight:500;
}


/* ===== 通用 ===== */

.gov ctx,
.gov npc,
.gov kv,
.gov sec,
.gov pow,
.gov fac,
.gov who,
.gov row,
.gov clue,
.gov evt,
.gov rel,
.gov stats,
.gov stat,
.gov bond,
.gov mem,
.gov mrow,
.gov empty{
  display:block;
}

.gov sec{
  margin:13px 14px 7px;
  padding-left:8px;
  border-left:3px solid var(--gold);
  color:var(--deep);
  font-weight:700;
}

.gov empty{
  padding:7px 14px 12px;
  color:var(--muted);
  font-style:italic;
}


/* ===== 当前局势 ===== */

.gov ctx{
  padding:11px 15px;
}

.gov ctx>i{
  display:block;
  padding:2px 0;
  font-style:normal;
}


/* ===== NPC ===== */

.gov npc{
  margin:12px 14px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
}

.gov npc>nm{
  display:block;
  color:var(--deep);
  font-size:17px;
  font-weight:700;
}

.gov npc>role{
  display:block;
  margin:1px 0 8px;
  color:var(--muted);
  font-size:13px;
  font-weight:600;
}

.gov npc>kv{
  display:grid;
  grid-template-columns:6.5em minmax(0,1fr);
  gap:8px;
  padding:5px 7px;
  border-top:1px dashed #e5e0d8;
}

.gov npc>kv>b{
  color:var(--deep);
  font-weight:600;
}


/* ===== 势力 ===== */

.gov pow{
  display:grid;
  grid-template-columns:6em 1fr;
  gap:8px;
  padding:3px 15px;
}

.gov pow>b{
  color:var(--deep);
}


/* ===== 派系人物 ===== */

.gov fac{
  margin:9px 14px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
}

.gov fac>h{
  display:block;
  margin-bottom:6px;
  color:var(--deep);
  font-weight:700;
}

.gov who{
  display:block;
}

.gov who>nm{
  font-weight:700;
  color:var(--deep);
}

.gov who>role{
  margin-left:5px;
  color:var(--muted);
}

.gov row{
  display:flex;
  flex-wrap:wrap;
  gap:4px 13px;
  margin-top:5px;
  padding:6px 8px;
  border-radius:6px;
  background:var(--soft);
}

.gov row>x{
  display:inline-block;
}


/* ===== 情报 ===== */

.gov clue,
.gov evt{
  display:grid;
  gap:7px;
  margin:7px 14px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
}

.gov clue{
  grid-template-columns:2fr .8fr 1fr 1fr;
}

.gov evt{
  grid-template-columns:1fr 1.2fr 2fr .8fr;
}

.gov clue>x,
.gov evt>x{
  min-width:0;
}

.gov clue>x>b,
.gov evt>x>b{
  display:block;
  color:var(--muted);
  font-size:11px;
}


/* ===== 派系关系 ===== */

.gov rel{
  display:grid;
  grid-template-columns:1fr 1.3fr 1.3fr .8fr;
  gap:7px;
  margin:7px 14px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
}

.gov rel>x>b{
  display:block;
  color:var(--muted);
  font-size:11px;
}


/* ===== 玩家状态 ===== */

.gov stats{
  margin:11px 14px;
}

.gov stats>kv{
  display:grid;
  grid-template-columns:7em 1fr;
  padding:5px 8px;
  border-bottom:1px dashed var(--line);
}

.gov stats>kv>b{
  color:var(--deep);
}

.gov stat{
  display:grid;
  grid-template-columns:8.5em 5em 1fr;
  gap:7px;
  align-items:center;
  padding:5px 8px;
  border-bottom:1px dashed var(--line);
}

.gov stat>b{
  color:var(--deep);
}

.gov stat>v{
  font-weight:600;
}

.gov stat>bar{
  color:var(--gold);
  font-family:Consolas,monospace;
  letter-spacing:1px;
}


/* ===== 关系记录 ===== */

.gov bond{
  display:grid;
  grid-template-columns:1fr 1.2fr .8fr 2fr;
  gap:7px;
  padding:7px 8px;
  border-bottom:1px dashed var(--line);
}

.gov bond>x>b{
  display:block;
  color:var(--muted);
  font-size:11px;
}


/* ===== 记忆 ===== */

.gov mem{
  margin:11px 14px;
}

.gov mrow{
  display:grid;
  grid-template-columns:3em 8em 1fr 3fr;
  gap:7px;
  padding:7px 8px;
  border-bottom:1px dashed var(--line);
}

.gov mrow>x>b{
  display:block;
  color:var(--muted);
  font-size:11px;
}


/* ===== 移动端 ===== */

@media(max-width:620px){

  .gov npc>kv{
    grid-template-columns:1fr;
    gap:0;
  }

  .gov clue,
  .gov evt,
  .gov rel,
  .gov bond,
  .gov mrow{
    grid-template-columns:1fr 1fr;
  }

  .gov stat{
    grid-template-columns:1fr auto;
  }

  .gov stat>bar{
    grid-column:1/-1;
  }
}