/* 自动抽取原拼图颜色及样式；布局适配在src/site.css。 */
:root {
  --m-calc: #5b4bdb; --m-cash: var(--cash); --m-risk: #5f6b7d; --m-strat: #9b44d6; --m-cust: var(--rep); --m-ops: #b7791f;
  --m-people: var(--morale); --m-gov: var(--trust); --m-change: #0e9494;
  --ledger-line: rgba(11, 15, 28, .10); --paper: rgba(255, 255, 255, .55);
  --rim: inset 0 1px 0 rgba(255, 255, 255, .85), inset 0 -1px 0 rgba(20, 30, 70, .06);
  --lift: 0 1px 2px rgba(20, 30, 70, .08), 0 8px 18px rgba(20, 30, 70, .10), 0 24px 48px rgba(20, 30, 70, .12);
  --good: #1f9d55; --bad: #e0312a;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --m-calc: #8f84ff; --m-risk: #9aa6b8; --m-strat: #c47cf5; --m-ops: #e3a948; --m-change: #35cfcf; --ledger-line: rgba(245, 246, 251, .12); --paper: rgba(30, 32, 46, .6);
  --rim: inset 0 1px 0 rgba(255, 255, 255, .12), inset 0 -1px 0 rgba(0, 0, 0, .35);
  --lift: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 18px rgba(0, 0, 0, .35), 0 24px 48px rgba(0, 0, 0, .45);
  --good: #32d74b; --bad: #ff5a4f; } }
:root[data-theme="dark"] {
  --m-calc: #8f84ff; --m-risk: #9aa6b8; --m-strat: #c47cf5; --m-ops: #e3a948; --m-change: #35cfcf; --ledger-line: rgba(245, 246, 251, .12); --paper: rgba(30, 32, 46, .6);
  --rim: inset 0 1px 0 rgba(255, 255, 255, .12), inset 0 -1px 0 rgba(0, 0, 0, .35);
  --lift: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 18px rgba(0, 0, 0, .35), 0 24px 48px rgba(0, 0, 0, .45);
  --good: #32d74b; --bad: #ff5a4f; }
.grp { display: grid; gap: 8px; }
.grp-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; font-size: 13px; color: var(--muted); }
.grp-h b { white-space: nowrap; font-size: 15px; color: var(--ink); font-weight: 800; }
.grp-h em { margin-left: auto; font-style: normal; font-size: 11px; font-weight: 700; color: var(--muted); padding: 2px 8px; border-radius: 999px; background: color-mix(in srgb, var(--ink) 6%, transparent); white-space: nowrap; }
.regs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.reg { appearance: none; text-align: left; display: grid; gap: 6px; padding: 8px 8px 9px; border-radius: 16px; background: var(--paper); border: 1px solid var(--glass-edge); box-shadow: var(--rim), 0 1px 2px rgba(20, 30, 70, .06); transition: transform .25s var(--spring); }
.reg:hover { transform: translateY(-2px); }
.reg[aria-pressed="true"] { border-color: color-mix(in srgb, var(--mc) 70%, transparent); box-shadow: var(--rim), 0 0 0 2px color-mix(in srgb, var(--mc) 45%, transparent), var(--lift); }
.reg-h { display: flex; align-items: center; gap: 6px; }
.reg-h i { flex: none; width: 24px; height: 24px; border-radius: 7px; background: var(--mc); display: grid; place-items: center; color: #fff; font: normal 800 12px/1 var(--font-body); box-shadow: inset 0 2px 0 rgba(255,255,255,.4), inset 0 -2px 0 rgba(0,0,0,.18); }
.reg-h em { margin-left: auto; font: normal 700 11px var(--font-num); color: var(--mc); }
.reg-n { font-size: 13px; font-weight: 700; line-height: 1.25; min-height: 2.5em; }
.mini { display: block; width: 100%; height: auto; overflow: visible; }
.pc { stroke-width: 3; transition: fill .25s; }
.pc.got { fill: var(--mc); stroke: color-mix(in srgb, var(--mc) 60%, #000); }
.pc.sim { fill: color-mix(in srgb, var(--mc) 30%, var(--glass-strong)); stroke: color-mix(in srgb, var(--mc) 55%, transparent); stroke-dasharray: 6 5; }
.pc.book { fill: color-mix(in srgb, var(--mc) 10%, var(--glass-strong)); stroke: color-mix(in srgb, var(--mc) 32%, transparent); }
.gold-b { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--muted); }
.gold-b i { width: 14px; height: 14px; border-radius: 50%; flex: none; background: color-mix(in srgb, var(--gold) 22%, var(--glass-strong)); border: 1.5px dashed color-mix(in srgb, var(--gold) 70%, var(--muted)); }
.gold-b.got i { background: radial-gradient(circle at 35% 30%, #fff 0 12%, var(--gold) 45%, color-mix(in srgb, var(--gold) 60%, #8a5a00)); border: 0; }
.gold-b.got { color: var(--ink); font-weight: 600; }
.m-calc { --mc: var(--m-calc); } .m-cash { --mc: var(--m-cash); } .m-risk { --mc: var(--m-risk); }
.m-strat { --mc: var(--m-strat); } .m-cust { --mc: var(--m-cust); } .m-ops { --mc: var(--m-ops); }
.m-people { --mc: var(--m-people); } .m-gov { --mc: var(--m-gov); } .m-change { --mc: var(--m-change); }
.k-got { background: var(--m-calc); }
.k-sim { background: color-mix(in srgb, var(--m-calc) 30%, var(--glass-strong)); border: 1.5px dashed color-mix(in srgb, var(--m-calc) 55%, transparent); }
.k-book { background: color-mix(in srgb, var(--m-calc) 10%, var(--glass-strong)); border: 1.5px solid color-mix(in srgb, var(--m-calc) 32%, transparent); }
.k-gold { border-radius: 50% !important; background: var(--gold); }
