/* The existing desk themes supply every color. Expanded participants overlay
   the investigation; they never enlarge its reserved summary space. */
body.reference-case .duel-status-panel.duel-meter,
body.reference-case .duel-status-panel.duel-meter:not([hidden]) {
  display:block;position:absolute;left:24px;right:24px;top:14px;bottom:auto;
  z-index:70;max-width:none;max-height:none;margin:0;padding:0;overflow:visible;
  color:var(--g-text);background:var(--g-panel);border:1px solid var(--g-text);
  font-size:12px;border-radius:14px;box-shadow:0 4px 16px rgb(30 24 17 / 5%);
}
body.reference-case main:has(> .duel-status-panel:not([hidden])) { padding-top:84px; }
body.reference-case main:has(> .duel-status-panel:not([hidden])) .game-shell { top:84px; }
.duel-status-panel .duel-participants { margin:0; }
.duel-status-panel .duel-summary {
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:52px;padding:10px 12px;list-style:none;cursor:pointer;
  color:var(--g-text);background:var(--g-panel);overflow-wrap:anywhere;border-radius:14px;
}
.duel-status-panel .duel-summary::-webkit-details-marker { display:none; }
.duel-status-panel .duel-self-summary { display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;min-width:0; }
.duel-status-panel .duel-self-name { min-width:0; }
.duel-status-panel .duel-self-progress { font-variant-numeric:tabular-nums; }
.duel-status-panel .duel-toggle { display:flex;align-items:center;gap:6px;flex:none;font-weight:700;white-space:nowrap; }
.duel-status-panel .duel-toggle svg { width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8; }
.duel-status-panel details[open] .duel-toggle svg { transform:rotate(180deg); }
.duel-status-panel .duel-participant-drawer {
  position:absolute;top:calc(100% + 8px);right:0;width:min(560px,100%);
  max-height:min(450px,var(--duel-available-height,calc(100dvh - 200px)));
  display:flex;flex-direction:column;gap:10px;padding:12px;overflow:hidden;
  background:var(--g-panel);color:var(--g-text);border:1px solid var(--g-rule);border-radius:16px;
  box-shadow:0 8px 26px rgb(30 24 17 / 12%);
}
.duel-status-panel .duel-drawer-heading { display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px;flex:none; }
.duel-status-panel #duel-rule { font-weight:700; }
.duel-status-panel .duel-roster-count { font-size:11px; }
body.reference-case .duel-status-panel #opponent-progress {
  display:block;flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;
  scrollbar-gutter:stable;border-block:1px solid var(--g-rule);padding-right:4px;
}
.duel-status-panel .duel-player-list { display:block;list-style:none;padding:0;margin:0; }
.duel-status-panel .duel-player-row {
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;
  padding:10px 6px;border-bottom:1px dashed var(--g-rule);line-height:1.6;
}
.duel-status-panel .duel-player-row:last-child { border-bottom:0; }
.duel-status-panel .duel-player-row[data-self=true] { background:color-mix(in srgb,var(--g-accent) 9%,var(--g-panel)); }
.duel-status-panel .duel-player-identity { display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;grid-column:1;min-width:0; }
.duel-status-panel .duel-player-name { overflow-wrap:anywhere; }
.duel-status-panel .duel-self-badge { padding:0 4px;border:1px solid var(--g-accent);font-size:10px;line-height:1.5; }
.duel-status-panel .duel-player-progress { grid-column:1;font-variant-numeric:tabular-nums;font-size:11px; }
.duel-status-panel .duel-player-score { grid-column:2;grid-row:1;align-self:start;white-space:nowrap;font-variant-numeric:tabular-nums; }
.duel-status-panel .duel-player-state { grid-column:2;grid-row:2;align-self:end;white-space:nowrap;font-size:11px; }
.duel-status-panel .duel-drawer-footer { display:flex;align-items:center;gap:12px;flex:none;min-height:44px; }
.duel-status-panel .duel-drawer-footer #duel-status { display:block;flex:1;min-width:0;color:var(--g-text);font-size:11px; }
body.reference-case .duel-status-panel #duel-leave { min-height:44px;margin-left:auto;flex:none;font-size:11px;letter-spacing:0; }
.duel-status-panel > #duel-status { display:none; }
.duel-status-panel:is([data-status-attention=true],[data-match-status=finished]) > #duel-status {
  position:absolute;top:calc(100% + 6px);right:0;display:block;width:min(560px,100%);
  padding:10px 12px;border:1px solid var(--g-text);background:var(--g-panel);color:var(--g-text);
  font-size:12px;line-height:1.7;
}
body.reference-case .duel-status-panel :is(summary,#opponent-progress,button):focus-visible { outline:3px solid var(--g-accent);outline-offset:3px; }
@media(hover:hover) { .duel-status-panel .duel-summary:hover { background:var(--g-board); } }
@media(max-width:760px) {
  body.reference-case .duel-status-panel.duel-meter,
  body.reference-case .duel-status-panel.duel-meter:not([hidden]) { position:relative;left:auto;right:auto;top:auto;margin:0 0 12px; }
  body.reference-case main:has(> .duel-status-panel:not([hidden])) { padding-top:14px; }
  body.reference-case main:has(> .duel-status-panel:not([hidden])) .game-shell { top:auto; }
  .duel-status-panel .duel-summary { gap:8px;padding:8px 10px; }
  .duel-status-panel .duel-self-summary { display:grid;gap:2px;font-size:11px; }
  .duel-status-panel .duel-toggle { gap:4px;font-size:11px; }
  .duel-status-panel .duel-participant-drawer { padding:10px; }
  .duel-status-panel .duel-drawer-footer { gap:8px; }
}
