.assets-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.chips-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.chip-wallet { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; padding: 26px 30px; margin: 8px 0 28px; border: 1px solid var(--line-gold); border-radius: 22px; background: linear-gradient(115deg, #282116, #17151f 65%); }
.chip-wallet > div { display: grid; gap: 10px; min-width: 100px; }
.chip-wallet span, .chip-wallet small { color: var(--muted); font-size: 12px; font-weight: 400; }
.chip-wallet strong { font-size: 34px; color: var(--gold-0); line-height: 1; }
.chip-wallet p { margin: 0 0 0 auto; color: var(--gold-1); line-height: 1.9; }
.chip-toolbar { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 12px; }
.chip-toolbar .select { max-width: 220px; height: 36px; }
.chip-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.chip-record { display: flex; gap: 22px; align-items: center; padding: 26px; min-height: 200px; border: 1px solid rgba(245,196,81,.24); border-radius: 20px; background: linear-gradient(130deg,#24202a,#14131c); color: var(--paper); text-align: left; cursor: pointer; transition: border-color .2s,transform .2s; }
.chip-record:hover { border-color: var(--gold-1); transform: translateY(-3px); }
.chip-coin { --coin: #96c4bc; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0; width: 96px; height: 96px; border: 7px dashed var(--coin); outline: 1px solid var(--coin); outline-offset: 3px; border-radius: 50%; background: radial-gradient(circle at 30% 25%,#363344,#13121c 75%); box-shadow: inset 0 0 0 3px #14131c,inset 0 0 0 4px var(--coin),0 8px 20px #0005; color: var(--coin); }
.chip-coin strong { font-size: 33px; line-height: 1.15; font-weight: 900; }
.chip-coin small { font-size: 9px; letter-spacing: .15em; }
.coin-25 { --coin: #8eb9ec; }.coin-50 { --coin: #bb9fe6; }.coin-100 { --coin: #edc56b; }.coin-unknown { --coin: #938e9a; }
.chip-copy { display: grid; gap: 9px; min-width: 0; }
.chip-recipient { font-size: 11px; color: var(--gold-1); }
.chip-copy > strong { font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.chip-description { color: var(--muted); font-size: 12px; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.chip-state { color: #bdc8bd; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.is-redeemed { border-style: dashed; background: #191920; }.is-redeemed .chip-coin { opacity: .65; }
.chip-empty { grid-column: 1/-1; text-align: center; padding: 36px 24px; border: 1px dashed var(--line-gold); border-radius: 22px; }.chip-empty > img { display: block; width: 128px; height: 128px; object-fit: contain; margin: 0 auto 12px; }.chip-empty h2 { font-size: 19px; font-weight: 500; }.chip-empty p { font-size: 13px; color: var(--muted); line-height: 1.8; }
.chip-ledger-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-top: 30px; font-size: 11px; line-height: 1.8; color: var(--muted); }
.chip-editor form { display: grid; gap: 18px; }.chip-editor label { display: grid; gap: 8px; color: var(--paper); font-size: 13px; }.chip-editor input,.chip-editor textarea,.chip-editor select { width: 100%; }.chip-editor fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }.chip-editor legend { margin-bottom: 20px; font-size: 13px; }
.chip-denominations { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }.chip-denominations label { justify-items: center; cursor: pointer; font-size: 10px; }.chip-denominations .chip-coin { width: 66px; height: 66px; border-width: 5px; }.chip-denominations .chip-coin strong { font-size: 23px; }.chip-denominations input { width: 16px; accent-color: var(--gold-1); }.chip-denominations label:has(input:checked) .chip-coin { box-shadow: 0 0 20px #eec76b66; }.chip-network-link { font-size: 12px; }.chip-form-error { color: #ffb8b8; margin: 0; }.chip-editor [hidden] { display: none; }
@media(max-width:760px) { .chips-header { align-items: start; flex-direction: column; }.chip-grid { grid-template-columns: 1fr; }.chip-wallet { padding: 22px; gap: 22px; }.chip-wallet > div { min-width: 65px; }.chip-wallet p { margin-left: 0; }.chip-record { padding: 22px; gap: 20px; }.chip-coin { width: 78px; height: 78px; }.chip-toolbar .select { margin-bottom: 18px; }.chip-editor { padding: 58px 20px 28px; }.chip-denominations { gap: 8px; }.chip-denominations .chip-coin { width: 59px; height: 59px; } }
.asset-score { display: grid; min-width: 150px; padding: 18px 22px; border-left: 1px solid var(--gold-2); }
.asset-score span { font-size: 42px; font-weight: 900; line-height: 1; background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.asset-score small { margin-top: 7px; color: var(--muted); }
/* 资产分组：胶囊标签（对应 demo .seg-tab） */
.asset-tabs { display: flex; gap: 6px; margin-bottom: 22px; overflow-x: auto; }
.asset-tabs button { flex: 0 0 auto; padding: 6px 14px; border: 1px solid var(--line); border-radius: 50px; color: var(--muted); background: rgba(255, 255, 255, .05); cursor: pointer; font-size: 12px; transition: all .22s; }
.asset-tabs button.active { border-color: rgba(245, 196, 81, .45); color: var(--gold-1); background: rgba(245, 196, 81, .13); font-weight: 700; }
.asset-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 18px; align-items: start; }
.asset-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.asset-card { min-height: 220px; text-align: left; color: inherit; cursor: pointer; transition: all .25s; }
.asset-card:hover { border-color: rgba(245, 196, 81, .5); transform: translateY(-2px); }
.asset-card .panel-body { display: flex; height: 100%; flex-direction: column; padding: 20px; }
.asset-card-top, .asset-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.asset-kind { color: var(--gold-1); font-size: 11px; letter-spacing: .12em; }
.asset-version { color: #665e4a; font-size: 10px; }
.asset-card h3 { margin: 16px 0 10px; font-size: 16px; }
.asset-card p { display: -webkit-box; margin-bottom: 16px; overflow: hidden; color: var(--muted); font-size: 13px; line-height: 1.75; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.asset-card-foot { margin-top: auto; color: #6d675d; font-size: 10px; }
.followup-panel { position: sticky; top: 28px; }
.followup-panel h2 { font-size: 18px; }
.followup-list { display: grid; gap: 4px; margin-top: 20px; }
.followup-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 0; border-top: 1px solid var(--line); }
.followup-row div { display: grid; gap: 5px; }
.followup-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.followup-row strong { font-size: 12px; font-weight: 500; line-height: 1.55; }
.followup-row time { color: var(--muted); font-size: 10px; }
.followup-state { width: max-content; color: var(--gold-1); font-size: 9px; letter-spacing: .1em; }
.followup-state.closed, .followup-state.completed { color: var(--muted); }
.detail-overlay, .modal-overlay { position: fixed; inset: 0; z-index: 60; background: rgba(0, 0, 0, .58); backdrop-filter: blur(4px); }
.asset-detail { position: fixed; top: 0; right: 0; bottom: 0; z-index: 61; width: min(520px, 94vw); padding: 46px 38px; overflow-y: auto; border-left: 1px solid var(--gold-3); background: #0d0c12; box-shadow: -30px 0 100px rgba(0, 0, 0, .55); animation: detail-in .25s ease; }
@keyframes detail-in { from { transform: translateX(30px); opacity: 0; } }
.detail-close { position: absolute; top: 18px; right: 18px; display: inline-flex; min-height: 40px; align-items: center; gap: 5px; padding: 0 10px; border: 1px solid rgba(245, 196, 81, .45); border-radius: 10px; color: var(--gold-1); background: rgba(13, 12, 18, .9); cursor: pointer; font-size: 13px; font-weight: 700; }
.detail-close:hover, .detail-close:focus-visible { border-color: var(--gold-1); background: rgba(245, 196, 81, .12); outline: none; }
.detail-close-mark { font-size: 22px; line-height: 1; }
.asset-detail h2 { margin: 18px 0; font-size: 30px; font-weight: 900; }
.detail-summary { color: #d8d1c3; line-height: 1.85; }
.detail-meta { display: flex; gap: 16px; margin: 18px 0 26px; color: var(--muted); font-size: 10px; }
.detail-data { margin: 0 0 28px; border-top: 1px solid var(--line); }
.detail-row { padding: 14px 0; border-bottom: 1px solid var(--line); }
.detail-row span { color: var(--gold-2); font-size: 10px; }
.detail-row p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
/* 结构化字段渲染（BUG-014）：列表/嵌套行 + 技术原文折叠，长串可换行 */
.detail-value { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.detail-list { margin: 0; padding-left: 18px; display: grid; gap: 5px; }
.detail-sub { display: grid; gap: 7px; margin: 4px 0; }
.detail-sub-row { display: grid; gap: 3px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, .02); }
.detail-sub-row > span { color: var(--gold-2); font-size: 10px; letter-spacing: .06em; }
.detail-sub-value { color: var(--muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.detail-json { font-size: 11px; color: var(--faint); word-break: break-all; }
.detail-extra { margin: 6px 0 0; }
.detail-extra summary { color: var(--faint); font-size: 11px; cursor: pointer; padding: 8px 0; }
.detail-extra summary:hover { color: var(--muted); }
.detail-raw { margin: 4px 0 26px; border-top: 1px dashed var(--line); }
.detail-raw summary { padding: 10px 0 8px; color: var(--faint); font-size: 11px; cursor: pointer; }
.detail-raw summary:hover { color: var(--muted); }
.detail-raw pre { margin: 0 0 10px; padding: 10px 12px; border-radius: 8px; background: rgba(0, 0, 0, .35); color: var(--muted); font-size: 11px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
body.detail-open { overflow: hidden; }
/* 弹窗：暖黑 + 金描边（对应 demo .modal） */
.modal-overlay { display: grid; place-items: center; padding: 18px; z-index: 80; }
.modal { width: min(520px, 100%); border: 1px solid rgba(245, 196, 81, .28); background: #171409; }
.modal .field { margin-top: 18px; }
.modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
@media (max-width: 1000px) { .asset-layout { grid-template-columns: 1fr; } .followup-panel { position: static; } }
@media (max-width: 650px) { .assets-header { align-items: flex-start; flex-direction: column; } .asset-grid { grid-template-columns: 1fr; } .asset-score { padding: 8px 0 8px 18px; } .asset-detail { padding: 40px 20px; } }

/* 人物统一入口的桥接面板（人际网络页签顶部，BUG-012） */
.network-bridge { grid-column: 1 / -1; }
.network-bridge .panel-body { display: grid; gap: 10px; }
.network-bridge p { margin: 0; color: var(--muted); line-height: 1.7; }
.network-bridge-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.network-bridge .button { justify-self: start; }

/* Keep supporting detail close to the action, and quiet until opened. */
.chip-source { margin: 0 0 24px; padding: 0 0 12px; border-bottom: 1px solid var(--line); }
.chip-source summary, .detail-disclosure > summary, .followup-history > summary, .net-source > summary { padding: 12px 0; color: var(--muted); font-size: 12px; cursor: pointer; }
.chip-source summary:hover, .detail-disclosure > summary:hover, .followup-history > summary:hover, .net-source > summary:hover { color: var(--paper); }
.chip-source p, .chip-source small { color: var(--muted); line-height: 1.8; overflow-wrap: anywhere; }
.chip-source .draft-facts { margin: 12px 0; }
.chip-editor .field-help { margin: 10px 0 0; line-height: 1.75; }
.chip-editor #chip-estimate-reason:empty { display: none; }
.detail-disclosure[open] { padding-bottom: 12px; }
.detail-disclosure > .field-help { overflow-wrap: anywhere; line-height: 1.8; }
.followup-history { margin-top: 18px; border-top: 1px solid var(--line); }
.net-source { margin: 0 18px; }
.net-source > p { color: var(--muted); font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.net-source .net-card-note { margin: 4px 0 12px; }
.net-source .net-card-source { margin: 10px 0; }
.net-card-foot { justify-content: flex-end; }
.net-node:focus-visible { outline: none; }
.net-node:focus-visible circle { stroke: var(--gold-0); stroke-width: 3; }
.net-node.is-selected circle { stroke: var(--gold-0); stroke-width: 3; }
.network-people { display: none; }
@media (max-width: 650px) {
  .network-people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 8px 0 16px; }
  .network-person { display: grid; align-content: center; gap: 4px; min-height: 48px; min-width: 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255, 255, 255, .025); color: var(--paper); text-align: left; font: inherit; cursor: pointer; }
  .network-person:only-child { grid-column: 1 / -1; }
  .network-person strong { font-size: 14px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
  .network-person span { color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
  .network-person.is-selected { border-color: var(--gold-1); background: rgba(245, 196, 81, .09); }
  .network-person.is-selected strong { color: var(--gold-0); }
  .network-person:focus-visible { outline: 2px solid var(--gold-1); outline-offset: 3px; }
}
