/* 全部模块共用灰雾与低饱和铜色；红色危险、绿色恢复保留语义。 */
:root {
  color-scheme:dark;
  --bg:#0c1016; --bg-glow:#161d26; --panel:#151c25; --panel-2:#1c2530; --panel-3:#252f3b;
  --line:#394451; --sunken:#10161e; --raise:#252f3b; --paper:#151c25; --paper-2:#1c2530;
  --gold:#c2ad88; --gold-2:#a99573; --gold-dim:#827356;
  --text:#e1e5eb; --text-1:#edf0f4; --text-2:#aeb8c4; --text-3:#8b98a7;
  --gold-wash:rgba(194,173,136,.08); --gold-wash-2:rgba(194,173,136,.16); --gold-wash-3:rgba(194,173,136,.05);
  --btn-bg:var(--panel-2); --btn-border:var(--line); --btn-bg-hover:var(--panel-3);
  --btn-border-hover:var(--gold-dim); --btn-text-hover:var(--text-1);
  --btn-primary-bg:#c2ad88; --btn-primary-bg-hover:#d1bd99; --btn-primary-text:#171c23;
  --btn-primary-text-hover:#171c23; --btn-primary-border:#c2ad88; --ink-on-gold:#171c23;
  --focus-ring:rgba(194,173,136,.7);
}
body {background:var(--bg);color:var(--text);}
.create-head {background:var(--panel);border-color:var(--line);}
.brand-sub {color:var(--text-2);}
.statusbar .btn {background:var(--panel-2);}
.hud-summary,.hud-summary>div,.hud-shortcuts button,.tabs-head,.composer,.game-side {border-color:var(--line);}
.hud-summary-block,.hud-quick button,.hudbar .hb-track {border-color:var(--line);}
.hud-summary-row strong,.hud-summary-block strong {color:var(--text);}
.hud-summary-row:hover,.hud-summary-block:hover,.hud-quick button:hover {background:var(--panel-3);}
.hud-quick button,.hudbar .hb-track {background:var(--panel-2);color:var(--text);}
.statusbar .sb-time {background:var(--sunken);border-color:var(--line);color:var(--text);}
.statusbar .sb-time::before {color:var(--gold);}
.tgroup.open .tg-nm,.tg-list .tab.on,.hud-key.on {background:var(--gold-wash-2);border-color:var(--gold-dim);color:var(--gold);}
.ritual-enabled .btn.primary {background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--gold);}
.ritual-enabled .seg-btn,.ritual-enabled .pill,.ritual-enabled .chip {background:var(--panel-2);color:var(--text-2);border-color:var(--line);}
.ritual-enabled .seg-btn.on {background:var(--gold-wash-2);color:var(--gold);border-color:var(--gold-dim);}
.card,.modal-box,.combat-box,#modalDialog.archive-modal,#modalDialog.item-dossier-modal {
  background:var(--panel);color:var(--text);border-color:var(--line);border-radius:10px;
}
.card-t,.modal-box>h2,#modalDialog.archive-modal>h2 {color:var(--gold);}
.btn,.hud-key,.mdl-pick,.icobtn,.libcat,.archive-button,.inv-button {
  background:var(--btn-bg);color:var(--text);border-color:var(--btn-border);border-radius:6px;
}
.btn.primary {background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--gold);}
.btn.danger,.icobtn.danger,.archive-button.danger {color:var(--danger-soft);border-color:var(--danger);}
.btn:hover:not(:disabled),.icobtn:hover:not(:disabled),.archive-button:hover:not(:disabled),.inv-button:hover:not(:disabled) {background:var(--panel-3);border-color:var(--gold-dim);}
input[type=text],input[type=number],input[type=password],input[type=date],input[type=search],select,textarea,
.archive-search input,.archive-field input,.archive-field textarea,.inventory-open #modalDialog input,.inventory-open #modalDialog textarea,.inventory-open #modalDialog select {
  background:var(--sunken);color:var(--text);border-color:var(--line);box-sizing:border-box;
}
select option,select optgroup,.inventory-open #modalDialog option {background:var(--sunken);color:var(--text);}
input::placeholder,textarea::placeholder {color:var(--text-3);opacity:1;}
#modalBody .field {width:100%;min-width:0;}
#modalBody .field>input,#modalBody .field>textarea,#modalBody .field>select {width:100%;min-width:0;}
.inventory-open #modalDialog,.inventory-window,#modalDialog.item-dossier-modal {
  --inv-ink:var(--text);--inv-line:var(--line);--inv-paper:var(--panel);
  background:var(--panel);color:var(--text);border-color:var(--line);font-family:var(--font-sans,system-ui,sans-serif);
}
.inventory-open #modalDialog .btn {background:var(--btn-bg);color:var(--text);border-color:var(--line);}
.inventory-open #modalDialog h2,.inventory-open #modalDialog .field>span {color:var(--gold);}
.inventory-open #modalDialog .hint,.inv-messenger p,.inv-messenger dt,.inv-messenger dd,.inv-detail small,.inv-slot small,
.inv-accessories summary small,.inv-slot-manage,.inv-detail-empty,.inv-empty,.artifact-group>summary small,.artifact-field dt,
.artifact-history small,.artifact-history blockquote {color:var(--text-2);}
.inv-header {background:var(--panel-2);color:var(--text);border-color:var(--gold-dim);}
.inv-header small {color:var(--text-2);}
.inv-close,.inv-portrait-tools button,.inv-pagination button {color:var(--text);border-color:var(--line);background:var(--panel-2);}
.inv-slot,.inv-item,.inv-accessories>summary {background:var(--sunken);color:var(--text);border-color:var(--line);}
.inv-accessories>summary>span,.inv-purse,.inv-detail h4,.inv-item-description,.inv-effects,.inv-portrait>p,.inv-portrait details,.inv-portrait-frame>span{color:var(--text);}
.inv-tools input::placeholder{color:var(--text-3);opacity:1;}
.inv-detail-empty>span,.inv-item .inv-symbol{color:var(--gold);}
.inv-slot:hover,.inv-item:hover,.inv-accessories>summary:hover {background:var(--panel-3);}
.inv-slot.selected,.inv-item.selected {background:var(--gold-wash-2);outline-color:var(--gold);}
.inv-symbol,.inv-detail-icon {color:var(--gold);}
.inv-bag,.inv-portrait-frame,.artifact-group,.artifact-history li {border-color:var(--line);}
.artifact-sheet {background:transparent;color:var(--text);}
.artifact-sheet-header,.artifact-fields,.artifact-field {color:var(--text);border-color:var(--line);}
.archive-button.primary,.archive-tabs button[aria-selected=true],.libcat.on {background:var(--gold-wash-2);color:var(--gold);border-color:var(--gold-dim);}
.archive-button.is-primary,.archive-type.is-current,.archive-result.is-selected {background:var(--gold-wash-2);color:var(--text-1);border-color:var(--gold-dim);}
.archive-button.is-primary:hover,.archive-result:hover {background:var(--panel-3);border-color:var(--gold-dim);}
.archive-button.is-danger {color:var(--danger-soft);background:var(--danger-wash);border-color:var(--danger);}
.archive-result,.archive-detail,.archive-refs,.archive-person-activity {background:var(--panel-2);color:var(--text);border-color:var(--line);}
.archive-detail h3,.archive-detail-copy,.archive-source article>div,.archive-ref-head strong {color:var(--text);}
.archive-meta dt,.archive-meta dd,.archive-intro,.archive-count,.archive-result-meta,.archive-feedback,.archive-field,.archive-source-hint,.archive-editor-hint,.archive-person-activity>summary {color:var(--text-2);}
.archive-feedback.is-error {color:var(--danger-soft);}
.archive-detail-labels span {background:var(--sunken);color:var(--gold);border-color:var(--line);}
.archive-search input:focus,.archive-field input:focus,.archive-field textarea:focus {border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-wash-2);}
.inv-bag-toolbar [role=tab],.inv-kind-filter button {color:var(--text-2);border-color:var(--line);}
.inv-bag-toolbar [role=tab][aria-selected=true],.inv-kind-filter button[aria-pressed=true] {color:var(--gold);border-color:var(--gold);background:var(--gold-wash);}
.inv-tools input {background:var(--sunken);color:var(--text);border-color:var(--line);}
.artifact-sheet-header small,.artifact-field.unknown dd {color:var(--text-2);}
.artifact-stamp {color:var(--gold);border-color:var(--gold-dim);}
.artifact-field.caution dt {color:var(--danger-soft);}
.artifact-editor,.artifact-editor .field>span {color:var(--text);}
.artifact-editor input,.artifact-editor textarea,.artifact-editor select,.artifact-editor option {background:var(--sunken);color:var(--text);border-color:var(--line);}
#modalDialog.item-dossier-modal>h2 {color:var(--gold);border-color:var(--line);}
#btnDirector008[aria-pressed=true] {color:var(--gold);background:var(--gold-wash-2);border-color:var(--gold-dim);}
#modalDialog.narrative-editor {width:min(1120px,calc(100vw - 48px));max-width:1120px;max-height:92dvh;}
#modalDialog.narrative-editor #modalBody {display:flex;flex-direction:column;gap:12px;padding:4px;}
#modalDialog.narrative-editor textarea {display:block;width:100%;min-width:0;min-height:46vh;height:52vh;resize:vertical;line-height:1.85;font-size:16px;padding:16px;}
#modalDialog.narrative-editor .row {flex-shrink:0;flex-wrap:wrap;}
#modalDialog.narrative-editor.editor-expanded {position:fixed;inset:12px;width:auto;max-width:none;max-height:none;height:calc(100dvh - 24px);}
#modalDialog.narrative-editor.editor-expanded textarea {height:calc(100dvh - 210px);}
#modalDialog.library-reader {width:min(1000px,100%);max-width:1000px;max-height:90dvh;}
.library-fulltext {white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:15px;color:var(--text);padding:12px 4px;}
.library-reader .hint {color:var(--text-2);}
@media(max-width:760px) {
  #modalDialog.narrative-editor,#modalDialog.narrative-editor.editor-expanded,#modalDialog.library-reader {
    position:fixed;inset:0;width:100%;height:100dvh;max-height:100dvh;max-width:none;border-radius:0;padding:calc(14px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));
  }
  #modalDialog.narrative-editor textarea {height:52dvh;min-height:36dvh;}
  #modalDialog.narrative-editor.editor-expanded textarea {height:calc(100dvh - 230px);}
}
