.screen-last-cap { background: var(--scrim); }
.last-cap-sheet {
  box-sizing: border-box; width: min(620px, 100%); max-height: calc(100dvh - 48px); overflow-y: auto;
  padding: clamp(18px, 4vw, 30px); color: var(--paper); background: rgb(var(--ink-rgb) / .97);
  border: 1px solid rgb(var(--paper-rgb) / .18); border-top: 5px solid var(--yellow); box-shadow: var(--shadow-card);
}
.last-cap-header { display: flex; align-items: end; justify-content: space-between; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--line-strong); }
.last-cap-kicker { margin: 0 0 4px; color: var(--yellow); font: 800 11px/1.2 var(--font-body); }
.last-cap-header h2 { margin: 0; font: 38px/.98 var(--font-display); color: var(--paper); }
.last-cap-count { flex: none; padding: 5px 8px; color: var(--paper-muted); border: 1px solid var(--line-strong); font: 700 10px var(--font-body); }
.last-cap-promise { margin: 12px 0; color: var(--paper-muted); font: 16px/1.35 var(--font-body); }
.last-cap-families { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 10px; }
.last-cap-tab, .last-cap-back, .last-cap-primary, .last-cap-secondary {
  min-height: 44px; padding: 8px 12px; cursor: pointer; font: 800 12px/1.15 var(--font-body); text-transform: uppercase;
}
.last-cap-tab, .last-cap-secondary, .last-cap-back { color: var(--paper); background: #1d2925; border: 1px solid var(--line-strong); }
.last-cap-tab[aria-pressed="true"], .last-cap-primary { color: var(--ink); background: var(--yellow); border: 1px solid var(--yellow); }
.last-cap-tab:focus-visible, .last-cap-challenge:focus-visible, .last-cap-back:focus-visible,
.last-cap-primary:focus-visible, .last-cap-secondary:focus-visible { outline: 3px solid var(--yellow); outline-offset: 2px; }
.last-cap-list { display: grid; border-top: 1px solid var(--line); }
.last-cap-challenge { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 2px 10px; min-height: 64px; padding: 9px 4px; text-align: left; color: var(--paper); background: transparent; border: 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.last-cap-challenge:is(:hover,:focus-visible) { background: #1d2925; }
.last-cap-index { grid-row: span 2; color: var(--yellow); font: 700 15px var(--font-display); }
.last-cap-challenge strong { min-width: 0; overflow-wrap: anywhere; font: 800 14px/1.1 var(--font-body); text-transform: uppercase; }
.last-cap-challenge small { min-width: 0; color: var(--paper-muted); font: 12px/1.25 var(--font-body); }
.last-cap-best { grid-column: 3; grid-row: 1 / span 2; color: var(--yellow); font: 800 10px var(--font-body); white-space: nowrap; }
.last-cap-back { width: 100%; margin-top: 12px; }
.last-cap-result-sheet { width: min(520px, 100%); text-align: center; }
.last-cap-result-title { margin: 8px 0; color: var(--yellow); font: 38px/1 var(--font-display); text-transform: uppercase; }
.last-cap-result-name { margin: 0; color: var(--paper); font: 800 14px/1.3 var(--font-body); text-transform: uppercase; }
.last-cap-result-mark { margin: 8px 0; color: var(--yellow); font: 700 14px var(--font-body); }
.last-cap-result-note { margin: 8px 0 16px; color: var(--paper-muted); font: 14px/1.4 var(--font-body); }
.last-cap-result-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.last-cap-status { min-height: 1.3em; margin: 8px 0 0; color: var(--paper-muted); font: 12px/1.3 var(--font-body); overflow-wrap: anywhere; }
.last-cap-status:empty { display: none; }
.other-mode-last-cap { border-color: var(--yellow); }
@media (max-width: 560px) {
  .last-cap-sheet { max-height: calc(100dvh - 24px); padding: 16px; }
  .last-cap-header h2 { font-size: 32px; }
  .last-cap-challenge { grid-template-columns: 26px minmax(0, 1fr) auto; column-gap: 7px; }
  .last-cap-challenge small { font-size: 11px; }
  .last-cap-result-actions { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .screen-last-cap.is-active { animation: none; } }
