/* Report sentences carry the player's marks; controls remain semantic HTML. */
.c4-report-screen { background:#081827; }
.c4-desk { width:min(1140px,calc(100% - 64px)); margin:auto; padding:28px 0 36px; }
.c4-heading { margin-bottom:24px; }
.c4-heading > span { color:#a9c0ce; }
.c4-heading h1 { font:30px/1.4 var(--font-title); margin:8px 0 12px; }
.c4-heading p { margin:0; }
.c4-tools { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; background:#081827; padding:12px 0; margin-bottom:20px; position:sticky; top:0; z-index:3; }
.c4-tools button { min-height:48px; padding:12px; border:1px solid #a9c0ce; background:#112b45; color:#f4f1e8; font:18px/1.4 var(--font-body); cursor:pointer; }
.c4-tools button[aria-pressed="true"] { background:#f1b43c; color:#192b3c; border:3px double #192b3c; padding:10px; }
.c4-tools p { grid-column:1/-1; margin:0; color:#f1b43c; font-size:15px; }
.c4-reports { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.c4-paper { background:#f4f1e8; color:#192b3c; padding:24px; min-width:0; box-shadow:4px 6px 12px #0003; }
.c4-paper header { display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; padding-bottom:16px; border-bottom:2px solid #08746e; }
.c4-paper h2 { font:24px/1.4 var(--font-title); margin:0; }
.c4-paper header > span { font:14px/1.5 var(--font-data); }
.c4-paper--limits { grid-column:1/-1; }
.c4-paper--limits .c4-clauses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.c4-clause { margin-top:16px; scroll-margin-top:132px; }
.c4-clause button { scroll-margin-top:132px; }
.c4-clause button { display:flex; flex-direction:column; align-items:flex-start; gap:12px; width:100%; padding:16px; color:#192b3c; background:transparent; border:1px solid #91856d; text-align:left; font:17px/1.65 var(--font-body); cursor:pointer; }
.c4-clause button[data-marked="true"] { background:#f5df9d; border-color:#9b6206; }
.c4-stamp { font-size:14px; padding:2px 8px; border:1px dashed #776c57; }
[data-marked="true"] .c4-stamp { border:3px double #895508; }
.c4-source { color:#08645f; font-size:14px; line-height:1.6; margin:8px 0 0; }
.c4-error { color:#9d2520; font-size:16px; margin:8px 0 0; }
.c4-clause[data-error="true"] button { border:2px solid #9d2520; }
.c4-desk button:focus-visible { outline:3px solid #9b6206; outline-offset:4px; }
.c4-tools button:focus-visible { outline-color:#f1b43c; }
.c4-clause button:hover { box-shadow:inset 0 0 0 1px #895508; }
.c4-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:24px; }
.c4-footer p { margin:0 0 8px; }
.c4-footer .action-button { flex-shrink:0; }
.c4-count { color:#69ded1; }
@media(max-width:680px) {
  .c4-desk { width:calc(100% - 32px); padding:20px 0 28px; }
  .c4-heading h1 { font-size:25px; }
  .c4-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .c4-reports,.c4-paper--limits .c4-clauses { grid-template-columns:1fr; }
  .c4-paper { padding:20px; }
  .c4-paper--limits .c4-clauses { gap:0; }
  .c4-paper h2 { font-size:22px; }
  .c4-clause { scroll-margin-top:190px; }
  .c4-clause button { scroll-margin-top:190px; }
  .c4-clause button { padding:12px; }
  .c4-footer { flex-direction:column; align-items:stretch; gap:12px; }
}
@media(forced-colors:active) {
  .c4-paper,.c4-tools { background:Canvas; color:CanvasText; }
  .c4-tools button[aria-pressed="true"],.c4-clause button[data-marked="true"] { border:3px double Highlight; }
  .c4-desk button:focus-visible { outline-color:Highlight; }
}
