/* Debug console: dashboard, player directory and sheet, item catalogue, zones, character tools, combat. Compact, 500 px wide at most, no horizontal page scroll (tables scroll inside their own box). */
.debug-console .dc-bad { color: var(--dc-bad); }
.dc-fold > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; list-style: none; cursor: pointer; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--dc-accent); }
.dc-fold > summary::-webkit-details-marker { display: none; }
.dc-fold > summary::before { content: '▸'; display: inline-block; width: 12px; transition: transform .12s; }
.dc-fold[open] > summary::before { transform: rotate(90deg); }
.dc-fold > summary > span:first-child { flex: 1; }
.dc-fold-body { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; min-width: 0; }
.dc-fold-body > .dc-toolbar, .dc-fold-body > .dc-chips { margin: 0; }
/* alerts */
.dc-alerts { display: flex; flex-direction: column; gap: 4px; }
.dc-alert { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px; border-radius: 4px; border-left: 4px solid var(--dc-line); background: #fff; font-size: 12px; line-height: 1.35; }
.dc-alert.good { border-left-color: var(--dc-good); background: #eef7f0; } .dc-alert.warn { border-left-color: var(--dc-warn); background: #fbf2e0; } .dc-alert.bad { border-left-color: var(--dc-bad); background: #fbe9e7; }
.dc-alert .gf-btn { flex: none; }
/* class split and level histogram */
.dc-split-row { display: grid; grid-template-columns: 74px minmax(0, 1fr) minmax(0, 1fr); gap: 8px; align-items: center; font-size: 11px; }
.dc-split-row.head { color: var(--dc-mute); font-weight: 700; text-transform: uppercase; font-size: 10px; letter-spacing: .04em; }
.dc-split-row b { font-size: 12px; }
.dc-share { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .dc-share > span { color: var(--dc-mute); font-variant-numeric: tabular-nums; }
.dc-bar { height: 7px; } .dc-bar.bots > i { background: #b08a2e; }
.dc-fold-body h4 { margin: 4px 0 0; font-size: 11px; color: var(--dc-mute); text-transform: uppercase; letter-spacing: .04em; }
.dc-histo { padding-top: 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.dc-histo-col { display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: 11px; color: var(--dc-mute); }
.dc-histo-bars { display: flex; align-items: flex-end; justify-content: center; gap: 4px; width: 100%; height: 74px; border-bottom: 1px solid var(--dc-line); }
.dc-histo-bars i { position: relative; flex: 1; max-width: 26px; min-height: 2px; background: var(--dc-accent); border-radius: 3px 3px 0 0; }
.dc-histo-bars i.b { background: #b08a2e; }
.dc-histo-bars em { position: absolute; left: 50%; bottom: 100%; transform: translateX(-50%); font-style: normal; font-size: 10px; color: var(--dc-text); font-variant-numeric: tabular-nums; }
/* filters */
.dc-filters { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.dc-filters > input { width: 100%; }
.dc-filter-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; min-width: 0; }
.dc-filter-row > select { flex: 1 1 120px; min-width: 0; }
.dc-range { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; color: var(--dc-mute); }
.dc-range input, .dc-filter-row input[type=number] { width: 54px; }
.dc-pager { justify-content: space-between; margin: 6px 0 0; }
.dc-chips .dc-chip { cursor: pointer; }
.debug-console .dc-filter-row .dc-chip.on { background: var(--dc-accent); color: #fff; }
/* player table */
.dc-players th, .dc-players td { padding: 3px 5px; white-space: nowrap; }
.dc-players td { max-width: 92px; overflow: hidden; text-overflow: ellipsis; }
.dc-players tbody tr { cursor: pointer; }
.debug-console .dc-link { all: unset; cursor: pointer; font-weight: 700; color: var(--dc-accent); max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.debug-console .dc-link:hover, .debug-console .dc-link:focus-visible { text-decoration: underline; }
/* player sheet */
.dc-sheet-head { display: flex; flex-direction: column; gap: 4px; }
.dc-sheet-head h3 { margin: 0; font-size: 16px; text-transform: none; letter-spacing: 0; color: var(--dc-text); }
.dc-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.dc-group { flex: 1 1 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 5px 7px; border: 1px solid var(--dc-line); border-radius: 6px; background: var(--dc-card); }
.dc-group > b { flex: 1 0 100%; font-size: 10px; color: var(--dc-mute); text-transform: uppercase; letter-spacing: .04em; }
.dc-gauge { display: flex; flex-direction: column; gap: 2px; min-width: 100px; } .dc-gauge > span { font-size: 11px; font-variant-numeric: tabular-nums; }
.dc-sheet .dc-metrics { margin-top: 6px; }
.dc-sheet .dc-status { min-height: 16px; margin: 0; }
/* item catalogue and zone lists */
.dc-catalogue-list { max-height: 300px; gap: 2px; }
.dc-itemrow { display: flex; gap: 3px; align-items: stretch; }
.debug-console .dc-star { flex: none; width: 26px; padding: 0; border: 1px solid var(--dc-line); border-radius: 4px; background: #fff; color: var(--dc-mute); font-size: 14px; line-height: 1; }
.debug-console .dc-star.on { color: #c28b00; border-color: #e0b84a; background: #fff6d8; }
.dc-itemrow .dc-choice, .dc-catalogue-list > .dc-choice { display: flex; align-items: center; gap: 6px; flex: 1; min-width: 0; }
.dc-itemname { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dc-choice .mute { flex: none; font-size: 11px; }
.dc-dot { flex: none; width: 9px; height: 9px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, .25); }
.dc-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 6px 0; }
.dc-fields .dc-field { margin: 0; } .dc-fields input, .dc-fields select { width: 100%; }
.dc-item-detail h4, .dc-card h4 { margin: 0 0 4px; font-size: 14px; }
.dc-card .dc-chips { margin: 4px 0; }
.dc-card .dc-values, .dc-fold-body .dc-values { margin-top: 6px; }
.dc-fold-body .eco-table td:first-child { white-space: nowrap; }
.dc-card > .gf-btn { margin-top: 6px; }
.dc-card h3 + h4 { margin-top: 0; }
.debug-console .dc-card h3:not(:first-child) { margin-top: 10px; }
/* character tools */
.dc-feedback { position: sticky; top: -10px; z-index: 2; padding: 6px 8px; margin: 0; border: 1px solid var(--dc-line); border-radius: 4px; background: var(--dc-card); min-height: 30px; box-sizing: border-box; }
.dc-amount { display: flex; flex-direction: column; gap: 4px; padding-bottom: 6px; border-bottom: 1px dashed var(--dc-line); }
.dc-amount:last-child { border-bottom: 0; padding-bottom: 0; }
.dc-amount-row { display: flex; align-items: center; gap: 6px; }
.dc-amount-row > b { flex: 0 0 96px; font-size: 12px; }
.dc-amount-row > input { flex: 1; min-width: 0; }
.dc-amount-row > .mute { flex: none; }
.dc-list { margin: 0; padding-left: 18px; font-size: 12px; }
/* Maître des duels / Archiviste inside the console: the game's wood-and-paper widgets take the console's light theme */
.debug-console .nd-classes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.debug-console .nd-classbtn { color: var(--dc-text); background: #fff; border: 1px solid var(--dc-line); border-radius: 6px; font-size: 11px; }
.debug-console .nd-classbtn:hover { background: var(--dc-soft); border-color: var(--dc-accent); }
.debug-console .nd-cfgs { max-height: 260px; }
.debug-console .nd-cfg { background: #fff; border: 1px solid var(--dc-line); border-radius: 4px; padding: 4px 6px; }
.debug-console .nd-cfg .gf-btn.armed { background: var(--dc-bad); color: #fff; border-color: var(--dc-bad); }
.debug-console .nd-item-txt b { color: var(--dc-text); }
.debug-console .nd-save { margin-bottom: 4px; }
.debug-console .nd-note { margin: 0; min-height: 16px; }
.debug-console .nd-config, .debug-console .nd-duel { display: flex; flex-direction: column; gap: 10px; }
.debug-console .nd-row { margin-top: 0; }
@media (max-width: 520px) { .dc-split-row { grid-template-columns: 60px minmax(0, 1fr) minmax(0, 1fr); gap: 6px; } .dc-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dc-amount-row > b { flex-basis: 80px; } }
