/* ============================================================
   agency-theme.css — 构成事务所 · 全站统一风格(以 L01 主界面为基准)
   用法:各级页面引入本文件后,用 ag- 前缀组件类搭界面;
   旧页(agency.html 替代版、L02+、图谱页、面板)逐步迁移到这套记号。
   ============================================================ */

/* ---------- 设计记号(Design Tokens) ---------- */
:root{
  /* 纸墨金:主界面三色系 */
  --ag-paper:#f3efe7;        /* 页面底 */
  --ag-panel:#f9f7f2;        /* 面板底 */
  --ag-card:#f8f5ef;         /* 卡片底 */
  --ag-well:#eee9df;         /* 凹陷区/画布底 */
  --ag-line:#ddd3c5;         /* 描边 */
  --ag-line-soft:#e3dbd0;
  --ag-ink:#2b2620;          /* 主墨色 */
  --ag-ink-soft:#6f665e;     /* 次级文字 */
  --ag-ink-faint:#8d806f;    /* 辅助文字/kicker */
  --ag-gold:#b99a6b;         /* 品牌金:选中/强调描边 */
  --ag-gold-deep:#8a6d47;
  --ag-gold-wash:#fff5e4;    /* 金色浅底(选中chip) */
  /* 功能色(仅作语义,不做大面积) */
  --ag-red:#cc5a51;  --ag-blue:#4f77a6;  --ag-green:#567154;
  --ag-green-wash:#edf4ec;   --ag-red-wash:#f7ece9;
  /* 深色域:对话框/横幅/考核态 */
  --ag-night:#1a1712;  --ag-night-soft:rgba(24,18,13,.86);
  --ag-night-assess:#26313f; /* 考核态换轨色 */
  --ag-star:#f5c518;         /* 深色域上的强调金 */
  /* 字体 */
  --ag-serif:"Songti SC","STSong","SimSun",Georgia,serif; /* 标题/台词 */
  --ag-sans:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  /* 几何 */
  --ag-radius:0px;           /* 主界面为方角纸感;圆角仅深色域用 */
  --ag-radius-dark:12px;
  --ag-shadow:0 12px 28px rgba(79,61,40,.16);
}

/* ---------- 基础 ---------- */
.ag-body{background:var(--ag-paper);color:var(--ag-ink);font-family:var(--ag-sans);line-height:1.7}
.ag-serif{font-family:var(--ag-serif);font-weight:500}
.ag-kicker{font-size:10px;letter-spacing:2px;color:var(--ag-ink-faint);text-transform:uppercase}
.ag-h1{font-family:var(--ag-serif);font-size:26px;font-weight:500;margin:0}
.ag-h2{font-family:var(--ag-serif);font-size:20px;font-weight:500;margin:0}
.ag-h3{font-family:var(--ag-serif);font-size:16px;font-weight:500;margin:0 0 9px}
.ag-sub{font-size:12px;color:var(--ag-ink-soft);line-height:1.8}

/* ---------- 按钮 ---------- */
.ag-btn{border:1px solid var(--ag-line);background:#fff;color:var(--ag-ink);
  padding:10px 18px;font-size:13px;cursor:pointer;font-family:inherit;transition:.15s}
.ag-btn:hover{border-color:var(--ag-gold)}
.ag-btn.primary{background:var(--ag-ink);color:#fff;border-color:var(--ag-ink);font-weight:600}
.ag-btn.primary:hover{background:#000}
.ag-btn.primary:disabled{opacity:.4;cursor:not-allowed}
.ag-btn.ghost{background:transparent;color:var(--ag-ink-soft)}
.ag-btn.danger{color:var(--ag-red);border-color:#e0b7b1}

/* ---------- 面板 / 卡片 / 表格 ---------- */
.ag-panel{background:var(--ag-panel);border:1px solid var(--ag-line);padding:26px;position:relative}
.ag-panel-head h2{font-family:var(--ag-serif);font-weight:500;margin:2px 0 6px}
.ag-panel-head p{font-size:12px;color:var(--ag-ink-soft);margin:0;line-height:1.8}
.ag-card{border:1px solid var(--ag-line);background:var(--ag-card);padding:16px}
.ag-card h3{font-family:var(--ag-serif);font-weight:500;margin:0 0 9px}
.ag-card p,.ag-card li{font-size:12px;color:var(--ag-ink-soft);line-height:1.85}
.ag-table{width:100%;border-collapse:collapse;font-size:12px}
.ag-table td{padding:9px;border-bottom:1px solid var(--ag-line-soft)}
.ag-table td:first-child{width:120px;color:var(--ag-ink-faint)}

/* ---------- chip / 门槛 / 状态徽标 ---------- */
.ag-chip{border:1px solid var(--ag-line);background:#f4f0e8;padding:7px 10px;font-size:11.5px;cursor:pointer}
.ag-chip.selected{border-color:var(--ag-gold);background:var(--ag-gold-wash);color:var(--ag-gold-deep)}
.ag-gate{padding:7px 9px;background:#f2eee7;color:#9a6c5a;font-size:11px}
.ag-gate.ok{background:var(--ag-green-wash);color:var(--ag-green)}
.ag-st{font-size:9.5px;padding:2px 7px;border:1px solid var(--ag-line);background:#f4f0e8;color:var(--ag-ink-faint)}
.ag-st.viewed{border-color:#c8b08b;color:var(--ag-gold-deep)}
.ag-st.deep{background:var(--ag-green-wash);border-color:#9dbb9a;color:var(--ag-green)}
.ag-st.primary{background:#4a3b28;border-color:#4a3b28;color:#f5ecd9}

/* ---------- 人物卡(NPC / 用户) ---------- */
.ag-npc{border:1px solid var(--ag-line);background:var(--ag-card);padding:12px;
  display:grid;grid-template-columns:74px 1fr;gap:12px;position:relative;cursor:pointer;transition:.15s}
.ag-npc:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(79,61,40,.12)}
.ag-npc img{width:74px;height:90px;object-fit:cover;object-position:center 22%;filter:saturate(.8)}
.ag-npc h4{font-family:var(--ag-serif);margin:1px 0 3px;font-size:15px}
.ag-npc .code{font-size:10px;color:#a18663}
.ag-npc p{font-size:10.5px;color:var(--ag-ink-soft);line-height:1.6;margin:5px 0 0}

/* ---------- 深色域:VN对话框 / 选项 / 横幅 ---------- */
.ag-dialogue{background:var(--ag-night-soft);border:1.5px solid rgba(185,154,107,.55);
  border-radius:var(--ag-radius-dark);color:#fdf7ea;padding:14px 18px;backdrop-filter:blur(6px)}
.ag-dialogue .name{background:var(--ag-star);color:var(--ag-night);font-weight:800;font-size:13px;padding:5px 15px;border-radius:9px}
.ag-dialogue .text{font-family:var(--ag-serif);font-size:15.5px;line-height:1.9;white-space:pre-wrap}
.ag-dialogue.assess{background:rgba(20,26,34,.9);border-color:rgba(255,255,255,.4)}   /* 考核态换轨 */
.ag-dialogue.assess .name{background:#fff;color:var(--ag-night-assess)}
.ag-choice{background:#fff;border:1px solid var(--ag-line);padding:12px 15px;font-size:13.5px;
  cursor:pointer;text-align:left;transition:.15s;display:block;width:100%}
.ag-choice:hover{border-color:var(--ag-gold);transform:translateX(3px)}
.ag-choice small{display:block;font-size:10.5px;color:var(--ag-ink-faint);margin-top:2px}
.ag-banner{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:99999;
  background:var(--ag-night);color:#fdf7ea;padding:10px 16px;border-radius:12px;font-size:13px;
  box-shadow:0 8px 24px rgba(0,0,0,.35);display:flex;gap:10px;align-items:center}
.ag-banner b{color:var(--ag-star)}

/* ---------- 遮罩 / 抽屉 ---------- */
.ag-overlay{position:fixed;inset:0;background:rgba(31,26,20,.55);z-index:60;
  display:none;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(2px)}
.ag-overlay.show{display:flex}
.ag-overlay>.ag-panel{width:min(1080px,96vw);max-height:92vh;overflow:auto;box-shadow:var(--ag-shadow)}
.ag-drawer{background:var(--ag-panel);border-right:1px solid var(--ag-line)}
.ag-drawer .nav button{display:flex;gap:10px;width:100%;border:0;background:transparent;
  padding:11px 16px;font-size:13px;color:var(--ag-ink-soft);cursor:pointer;text-align:left}
.ag-drawer .nav button:hover{background:var(--ag-card);color:var(--ag-ink)}

/* ---------- 成长地图节点(与图谱页统一) ---------- */
.ag-node{font-size:11.5px;padding:4px 9px;cursor:pointer;border:1.5px solid transparent;background:#efece3;color:#9b9485}
.ag-node.touched{background:#fff;border-color:var(--ag-gold);color:var(--ag-gold-deep)}
.ag-node.evidenced{background:#f2e4bd;border-color:var(--ag-gold);color:#5c4a08}
.ag-node.mastered{background:var(--ag-gold);border-color:var(--ag-gold-deep);color:var(--ag-night);font-weight:700}

/* ---------- 响应式基线 ---------- */
@media(max-width:760px){
  .ag-panel{padding:20px 15px}
  .ag-overlay{padding:8px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
