@font-face {
  font-family: 'Sofia Sans Condensed';
  src: url('fonts/sofia-sans-condensed-800.woff2') format('woff2');
  font-weight: 800;
  font-display: swap;
}
:root {
  --bg: #eceff1;
  --surface: #ffffff;
  --ink: #12191f;
  --muted: #45515b;
  --line: #c3ccd3;
  --a: #00706b;
  --a-soft: #d9eeec;
  --b: #ad4700;
  --b-soft: #f8e4d4;
  --on-team: #ffffff;
  --primary: #12191f;
  --on-primary: #ffffff;
  --board: #0f2230;
  --board-ink: #ffffff;
  --board-muted: #c8d4de;
  --digits: #ffc94a;
  --yellow: #e0b000;
  --red: #b3261e;
  --red-soft: #f8dcda;
  --ok: #1d6b38;
  --r: 8px;
  --head: 'Sofia Sans Condensed', 'Arial Narrow', system-ui, sans-serif;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0f1519;
    --surface: #182128;
    --ink: #e9eef2;
    --muted: #b4bfc8;
    --line: #36444f;
    --a: #52d3c7;
    --a-soft: #123330;
    --b: #ffa55e;
    --b-soft: #3a2513;
    --on-team: #0d1418;
    --primary: #e9eef2;
    --on-primary: #0f1519;
    --board: #070d12;
    --board-ink: #ffffff;
    --board-muted: #c3cfd9;
    --digits: #ffcf5c;
    --yellow: #f2c94c;
    --red: #ff8a80;
    --red-soft: #3d1a18;
    --ok: #7fd49b;
  }
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 17px/1.5 system-ui, -apple-system, 'Segoe UI', Roboto, 'Noto Sans', sans-serif; }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 16px; }
a { color: var(--a); text-underline-offset: 2px; }
h1, h2, h3 { font-family: var(--head); font-weight: 800; line-height: 1.1; letter-spacing: 0.005em; }
h1 { font-size: 2.6rem; margin: 20px 0 6px; }
h2 { font-size: 1.75rem; margin: 36px 0 10px; }
h3 { font-size: 1.3rem; margin: 18px 0 6px; }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--surface); padding: 8px 12px; z-index: 50; }
.skip:focus { left: 8px; }
:focus-visible { outline: 3px solid var(--a); outline-offset: 2px; }
.hero { padding-top: 4px; }
.lede { margin: 0 0 6px; max-width: 64ch; }
.links { margin: 0 0 14px; }
.linkish { background: none; border: 0; padding: 0; font: inherit; color: var(--a); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; min-height: 44px; }

/* buttons */
.btn { font: 600 1rem/1.2 system-ui, sans-serif; min-height: 44px; padding: 10px 16px; border-radius: var(--r); border: 1.5px solid var(--ink); background: var(--surface); color: var(--ink); cursor: pointer; }
.btn.primary { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
.btn.ghost { border-color: var(--line); }
.btn.big { min-height: 52px; font-size: 1.1rem; width: 100%; }
.btn.small { min-height: 44px; padding: 6px 12px; }
/* refused or unavailable: hatched and dashed, text kept at full contrast */
.btn:disabled, .btn[aria-disabled="true"] { cursor: not-allowed; border-style: dashed; border-color: var(--muted); color: var(--ink); background: repeating-linear-gradient(135deg, var(--surface) 0 7px, var(--bg) 7px 10px); }
.btn.on { background: var(--ink); color: var(--bg); }

/* setup */
.setup { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 0 16px; margin-bottom: 16px; }
.setup > summary { cursor: pointer; padding: 14px 0; list-style-position: inside; }
.sum-h { font: 800 1.35rem var(--head); }
.sum-sub { color: var(--muted); }
label { display: block; font-weight: 600; }
input, select { font: inherit; font-size: 16px; width: 100%; min-height: 44px; padding: 8px 10px; border: 1.5px solid var(--line); border-radius: 6px; background: var(--bg); color: var(--ink); margin-top: 4px; }
input:disabled, select:disabled { opacity: 0.75; }
.teams-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.teams-row .t0 { color: var(--a); }
.teams-row .t1 { color: var(--b); }
.teams-row input { color: var(--ink); }
.squad-tabs { display: flex; gap: 4px; margin: 16px 0 0; border-bottom: 2px solid var(--line); }
.sq-tab { flex: 1; min-height: 44px; font: 800 1.15rem var(--head); border: 0; background: none; color: var(--muted); border-bottom: 4px solid transparent; margin-bottom: -2px; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sq-tab.t0.on { color: var(--a); border-color: var(--a); }
.sq-tab.t1.on { color: var(--b); border-color: var(--b); }
.squad { width: 100%; border-collapse: collapse; margin-top: 8px; }
.squad th { text-align: left; font-weight: 600; color: var(--muted); padding: 4px 4px; }
.squad td { padding: 3px 4px; }
.squad td:first-child { width: 5.5em; }
.squad input { margin: 0; }
.row-btns { display: flex; gap: 8px; margin: 8px 0; flex-wrap: wrap; }
.copysq { margin: 10px 0 4px; }
.offs { border: 0; padding: 0; margin: 12px 0 0; }
.offs legend { font: 800 1.15rem var(--head); padding: 0; }
.off-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px 12px; }
.off-grid label span { font-weight: 600; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; margin: 16px 0; }
.more { margin: 8px 0 12px; }
.more > summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; }
.problems { color: var(--red); padding-left: 1.2em; margin: 8px 0; }
.chk { display: flex; align-items: center; gap: 10px; font-weight: 500; min-height: 44px; }
.chk input { width: 22px; height: 22px; min-height: 0; margin: 0; flex: none; }
#start { margin: 6px 0 18px; }

/* live: score board */
.live { margin-bottom: 18px; }
.board { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; background: var(--board); color: var(--board-ink); border-radius: var(--r); padding: 12px 14px; }
.board:focus { outline: none; }
.side { display: flex; flex-direction: column; min-width: 0; }
.side.t1 { text-align: right; align-items: flex-end; }
.tn { font: 800 1.15rem/1.15 var(--head); overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.side.t0 .tn { color: #7ee6dc; }
.side.t1 .tn { color: #ffbe8a; }
.pts { font: 800 3.4rem/1 var(--head); color: var(--digits); font-variant-numeric: tabular-nums; }
.court { color: var(--board-muted); font-size: 1rem; }
.court.short { color: #ffd2cc; font-weight: 700; }
.mid { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
.ph { color: var(--board-muted); font-size: 1rem; }
.clock { font: 800 2.4rem/1 var(--head); font-variant-numeric: tabular-nums; color: var(--board-ink); }
.clock.run { color: var(--digits); }
.clockbtn { background: var(--digits); color: #10202c; border-color: var(--digits); min-width: 8.5em; }
.clockbtn.stop { background: transparent; color: var(--board-ink); border-color: var(--board-muted); }
.strip { position: fixed; top: 0; left: 0; right: 0; z-index: 30; display: grid; grid-template-columns: 1fr auto auto auto 1fr; gap: 10px; align-items: center; background: var(--board); color: var(--board-ink); padding: 8px 16px; font-size: 1rem; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25); }
.strip b { font: 800 1.6rem/1 var(--head); color: var(--digits); }
.strip .sn { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.strip .sn.t1 { text-align: right; }
.strip .smid { font-variant-numeric: tabular-nums; }
.alert { background: var(--surface); border: 2px solid var(--yellow); border-radius: var(--r); padding: 8px 14px; margin-top: 8px; }
.alert p { margin: 6px 0; }
.alert .soon { font-weight: 700; }
.alert .btn { margin-bottom: 6px; }
.undo-row { display: flex; align-items: center; gap: 8px; margin: 10px 0; min-height: 44px; }
.last { color: var(--muted); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; min-width: 0; }
.last.hold { display: block; -webkit-line-clamp: none; overflow: visible; }

/* the entry pad */
.acts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.acts.two { grid-template-columns: 1fr 1fr; margin: 8px 0; }
.act { min-height: 48px; padding: 6px 4px; font: 800 1.08rem/1.1 var(--head); border-radius: 6px; border: 1.5px solid var(--line); background: var(--surface); color: var(--ink); cursor: pointer; }
.act.on { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.act.a-warn { box-shadow: inset 0 -5px 0 var(--yellow); }
.act.a-dq, .act.a-dqb { box-shadow: inset 0 -5px 0 var(--red); }
.act.a-dqb { box-shadow: inset 0 -5px 0 var(--red), inset -7px 0 0 #2a64c5; }
.hint { color: var(--muted); margin: 6px 0; }
.pads { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pads.one { grid-template-columns: 1fr; }
.pad { min-width: 0; }
.padh { display: flex; align-items: center; gap: 6px; margin: 4px 0 6px; font-size: 1.15rem; overflow-wrap: anywhere; }
.pad.t0 .padh { color: var(--a); }
.pad.t1 .padh { color: var(--b); }
.dot { width: 12px; height: 12px; border-radius: 50%; background: currentColor; flex: none; }
.pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(50px, 1fr)); gap: 5px; }
.pb { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 56px; padding: 2px; border-radius: 6px; border: 2px solid transparent; cursor: pointer; font-family: var(--head); color: var(--ink); }
.pad.t0 .pb { background: var(--a-soft); border-color: var(--a); }
.pad.t1 .pb { background: var(--b-soft); border-color: var(--b); }
.pb .no { font: 800 1.45rem/1 var(--head); }
.pb .st { font: 700 1rem/1.1 system-ui, sans-serif; min-height: 1.1em; font-variant-numeric: tabular-nums; }
.pb.off { background: var(--surface) !important; border-style: dashed; }
.pb.off .st { color: var(--red); }
.pb.red { background: var(--red-soft) !important; border-color: var(--red) !important; }
.pb.red .st { color: var(--red); }
.pb.no { border-style: dashed; border-color: var(--muted) !important; background: repeating-linear-gradient(135deg, var(--surface) 0 7px, var(--bg) 7px 10px) !important; }
.pb.sel { outline: 3px solid var(--ink); outline-offset: 1px; }
.mks { position: absolute; top: 3px; right: 3px; display: flex; gap: 2px; }
.mk { display: block; width: 7px; height: 10px; border-radius: 1px; }
.mk.y { background: var(--yellow); }
.mk.s { background: var(--ink); width: 4px; }
.ogrid { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.ob { min-height: 44px; min-width: 64px; padding: 4px 8px; border-radius: 6px; border: 1.5px dashed var(--line); background: var(--surface); color: var(--ink); font: 700 1rem system-ui, sans-serif; cursor: pointer; }
.ob.red { border-color: var(--red); color: var(--red); }
.ob.no { border-color: var(--muted); background: repeating-linear-gradient(135deg, var(--surface) 0 7px, var(--bg) 7px 10px); }
input[aria-invalid="true"] { border-color: var(--red); outline: 2px solid var(--red); }
.team-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 8px; }
.team-actions .btn { flex: 1 1 auto; }
.t0-o { border-color: var(--a); color: var(--a); }
.t1-o { border-color: var(--b); color: var(--b); }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 4px 14px 14px; margin-bottom: 10px; }
.panel h3 { margin-top: 10px; }
.sublab { color: var(--muted); margin: 6px 0; }
.panel .close { margin-top: 10px; }
.two-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 8px 0; }
.clockset { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.clockset label { width: 8em; }
.susps { display: grid; gap: 8px; }
.sus { background: var(--surface); border-radius: var(--r); padding: 6px 14px; }
.sus.t0 h3 { color: var(--a); }
.sus.t1 h3 { color: var(--b); }
.sus h3 { margin: 6px 0; font-size: 1.15rem; }
.sus ul { list-style: none; padding: 0; margin: 0 0 6px; }
.sus li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px; padding: 4px 0; border-top: 1px solid var(--line); font-variant-numeric: tabular-nums; }
.sus li:first-child { border-top: 0; }
.sus li.ret { color: var(--ok); font-weight: 700; }
.so h3 .tname { color: inherit; }
.so.t0 h3 { color: var(--a); }
.so.t1 h3 { color: var(--b); }
.sotally { color: var(--muted); }
.tossq .two-btns .t0 { border-color: var(--a); color: var(--a); }
.tossq .two-btns .t1 { border-color: var(--b); color: var(--b); }
.result { margin-top: 12px; background: var(--surface); border-radius: var(--r); padding: 4px 16px 10px; border-left: 0; }
.nextup { font-weight: 600; }
.none { color: var(--muted); }
.wake { margin-top: 6px; }
.note { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 10px 14px; overflow-wrap: anywhere; }
.banner { background: var(--surface); border: 2px solid var(--ink); border-radius: var(--r); padding: 6px 14px 12px; margin-bottom: 12px; overflow-wrap: anywhere; }
.banner .bb { display: flex; gap: 8px; flex-wrap: wrap; }

/* players table and log */
.sheetview h2 { margin-top: 24px; }
.sv { display: grid; grid-template-columns: 1fr; gap: 12px; }
.svt { min-width: 0; }
.svt h3 { margin: 4px 0 6px; overflow-wrap: anywhere; }
.svt.t0 h3 { color: var(--a); }
.svt.t1 h3 { color: var(--b); }
.svt h3 .sub { font: 400 1rem system-ui, sans-serif; color: var(--muted); }
.tablewrap { overflow-x: auto; }
.pt { width: 100%; border-collapse: collapse; background: var(--surface); font-variant-numeric: tabular-nums; }
.pt th, .pt td { padding: 6px 6px; border-bottom: 1px solid var(--line); text-align: left; }
.pt th { color: var(--muted); font-weight: 600; }
.pt td.n { white-space: nowrap; }
.pt td.nm { overflow-wrap: break-word; min-width: 5em; }
.pt th { white-space: nowrap; }
.pt td.w { white-space: normal; }
.pt .pun { display: none; }
@media (max-width: 480px) {
  .pt th, .pt td { padding: 6px 4px; }
  .pt .pc { display: none; }
  .pt .pun { display: block; color: var(--ink); font-size: 1rem; }
}
.logwrap { margin-top: 12px; }
.logwrap > summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; }
.more > summary::before, .logwrap > summary::before { content: "\25B8"; display: inline-block; width: 1.2em; }
.more[open] > summary::before, .logwrap[open] > summary::before { content: "\25BE"; }
.log { list-style: none; padding: 0; margin: 0; }
.log li { display: grid; grid-template-columns: 3.6em minmax(0, 1fr) auto; overflow-wrap: anywhere; gap: 8px; padding: 6px 0; border-bottom: 1px solid var(--line); font-variant-numeric: tabular-nums; }
.log li.skip { color: var(--muted); }
.log .tm { color: var(--muted); }
.log .sc { font-weight: 700; }
.finish { margin: 18px 0 8px; }
.finish-btns { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0; }
.earlier ul { list-style: none; padding: 0; }
.earlier li { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 0; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.earlier .when { color: var(--muted); }

/* page content */
.content { max-width: 760px; margin-left: auto; margin-right: auto; padding-bottom: 20px; }
.content p, .content li { max-width: 70ch; }
.steps { padding-left: 1.3em; }
.steps li { margin: 6px 0; }
.rules { width: 100%; border-collapse: collapse; }
.rules th, .rules td { text-align: left; vertical-align: top; padding: 8px 6px; border-bottom: 1px solid var(--line); }
.rules td:last-child { white-space: nowrap; }
.rules th { color: var(--muted); font-weight: 600; }
.faq h3 { margin-top: 22px; font-size: 1.25rem; }
.source { color: var(--muted); margin-top: 26px; overflow-wrap: anywhere; }

/* confirm and toast */
.confirm { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.5); display: grid; place-items: center; z-index: 60; padding: 16px; }
.confirm-box { background: var(--surface); color: var(--ink); border-radius: var(--r); padding: 16px; max-width: 460px; width: 100%; }
.confirm-btns { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
.toast { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 70; background: var(--ink); color: var(--bg); padding: 12px 16px; border-radius: var(--r); max-width: min(560px, calc(100vw - 32px)); pointer-events: none; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3); overflow-wrap: anywhere; }

/* footer */
.site-foot { border-top: 1px solid var(--line); margin-top: 30px; padding: 16px 0 28px; color: var(--muted); }
.sb-more { line-height: 1.9; overflow-wrap: anywhere; }
.sb-more a, .sb-credit a { color: var(--muted); }
.sb-privacy, .sb-credit { margin: 6px 0; }

@media (min-width: 760px) {
  h1 { font-size: 3.1rem; }
  .acts { grid-template-columns: repeat(7, 1fr); }
  .pgrid { grid-template-columns: repeat(auto-fill, minmax(60px, 1fr)); }
  .sv { grid-template-columns: 1fr 1fr; }
  .susps { grid-template-columns: 1fr 1fr; }
  .pts { font-size: 4.2rem; }
  .clock { font-size: 3rem; }
}
@media (max-width: 420px) {
  .teams-row, .grid2 { grid-template-columns: 1fr; }
  .board { padding: 10px; gap: 4px; }
  .pts { font-size: 2.8rem; }
  .clock { font-size: 2rem; }
  .clockbtn { min-width: 0; padding: 8px 10px; }
  .pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
  .pads { gap: 8px; }
  .act { font-size: 1rem; }
}
@media (max-width: 340px) {
  .pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* print: the match report */
.print-root { display: none; }
@media print {
  @page { margin: 8mm; }
  html, body { background: #fff !important; color: #000 !important; }
  body > *:not(.print-root) { display: none !important; }
  .print-root { display: block; }
  .sheet { break-after: page; page-break-after: always; color: #000; font: 8.6pt/1.2 Arial, Helvetica, sans-serif; width: 100%; }
  .sheet:last-child { break-after: auto; page-break-after: auto; }
  .sheet * { color: #000 !important; }
  .sh-head { display: flex; justify-content: space-between; align-items: baseline; gap: 6mm; border-bottom: 1.4pt solid #000; padding-bottom: 1mm; margin-bottom: 2mm; }
  .sh-title { margin: 0; font: 700 14pt Arial, sans-serif; white-space: nowrap; flex: none; }
  .sh-src { margin: 0; font-size: 7.5pt; text-align: right; }
  .f { display: flex; gap: 1.5mm; align-items: baseline; min-width: 0; }
  .fl { white-space: nowrap; font-weight: 700; }
  .fv { flex: 1; border-bottom: 0.75pt solid #000; min-height: 4mm; min-width: 0; overflow-wrap: anywhere; padding: 0 1mm; }
  .meta { display: grid; grid-template-columns: 2.1fr 1.1fr 0.65fr 0.7fr; gap: 1.6mm 5mm; margin-bottom: 2mm; }
  .vs { display: grid; grid-template-columns: 1fr 1fr; gap: 5mm; margin-bottom: 2mm; }
  .vs .big .fv { font-size: 10.5pt; font-weight: 700; }
  .fv.long { font-size: 7pt; line-height: 1.2; }
  .signs .fv.long { font-size: 6.5pt; }
  .vs .big .fv.long { font-size: 8.5pt; }
  .vs .big .fv.xl { font-size: 7pt; }
  .thead .tname.long { font-size: 7.5pt; }
  .rem .res.long { font-size: 8pt; }
  table { border-collapse: collapse; width: 100%; table-layout: fixed; }
  td, th { border: 0.75pt solid #000; padding: 0 1mm; height: 4.1mm; font-weight: 400; text-align: left; overflow: hidden; white-space: nowrap; }
  th { font-weight: 700; font-size: 7.6pt; text-align: center; }
  td.c { text-align: center; }
  td.b { font-weight: 700; }
  .scores { margin-bottom: 2.4mm; }
  .scores td { height: 5.4mm; text-align: center; font: 700 11pt Arial, sans-serif; }
  .tblock { margin-bottom: 2.4mm; break-inside: avoid; }
  .thead { display: flex; align-items: center; gap: 3mm; border: 0.75pt solid #000; border-bottom: 0; padding: 0.8mm 1.5mm; }
  .thead .side { font: 700 11pt Arial, sans-serif; }
  .thead .tname { flex: 1; font: 700 10pt Arial, sans-serif; overflow-wrap: anywhere; }
  .thead .tto, .thead .n7 { display: flex; align-items: center; gap: 1mm; }
  .thead .box { display: inline-block; min-width: 13mm; height: 5mm; border: 0.75pt solid #000; text-align: center; font: 9pt/5mm Arial, sans-serif; position: relative; }
  .thead .box small { position: absolute; left: 0.6mm; top: -0.4mm; font-size: 5.5pt; line-height: 1.2; }
  .team col.cno { width: 9mm; }
  .team col.cg { width: 8mm; }
  .team col.c7 { width: 11mm; }
  .team col.ct { width: 12.5mm; }
  .team col.cb { width: 8mm; }
  .team td { font-size: 8pt; line-height: 1.1; height: 3.45mm; }
  .team td.nm { overflow: hidden; text-overflow: ellipsis; }
  .team tbody tr:nth-child(17) td { border-top: 1.4pt solid #000; }
  .team td.x { background: #d9d9d9 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .key { margin: 0 0 1.5mm; font-size: 7pt; line-height: 1.15; }
  .foot { display: grid; grid-template-columns: 1.1fr 1fr; gap: 5mm; break-inside: avoid; }
  .rem .res { display: block; font: 700 9.5pt Arial, sans-serif; min-height: 4.5mm; margin: 0.5mm 0 1.5mm; }
  .rem .rm { display: block; }
  .rembox { border: 0.75pt solid #000; min-height: 13mm; padding: 1mm; font-size: 7.2pt; line-height: 1.2; white-space: normal; }
  .signs { display: grid; grid-template-columns: 2.2fr 1fr; gap: 0.8mm 4mm; align-content: start; }
  .signs .sig { border-bottom: 0.75pt solid #000; min-height: 4.4mm; font-size: 7pt; display: flex; align-items: flex-end; }
  .runs4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; }
  .run col.rn { width: 7mm; }
  .run col.rt { width: 12mm; }
  .run col.rs { width: 7mm; }
  .run td { height: 4.8mm; font-size: 8.6pt; }
  .sub { font: 700 10pt Arial, sans-serif; margin: 4mm 0 1.5mm; }
  .evs col.et { width: 14mm; }
  .evs col.es { width: 20mm; }
  .evs td { white-space: normal; height: 4.6mm; padding: 0.5mm 1mm; }
  .evs tr { break-inside: avoid; }
  .sot { width: 120mm; }
  .sobox { break-inside: avoid; }
  .evs tbody tr:last-child { break-before: avoid; }
  /* blank sheet (landscape): rows and text sized for a pen */
  .sheet.blank { font-size: 10pt; padding-right: 0.8mm; box-sizing: border-box; }
  .sheet.blank td, .sheet.blank .run td, .sheet.blank .evs td, .sheet.blank .sot td { height: 6.2mm; font-size: 10pt; }
  .sheet.blank .team td { height: 6.6mm; font-size: 10pt; }
  .sheet.blank th { font-size: 9pt; height: 5mm; }
  .sheet.blank .sh-src, .sheet.blank .key, .sheet.blank .fl, .sheet.blank .sig { font-size: 10pt; }
  .sheet.blank .fv { min-height: 6.5mm; }
  .meta4 { display: grid; grid-template-columns: 1.6fr 1.2fr 0.8fr 0.8fr; gap: 2mm 5mm; margin-bottom: 3mm; }
  .sides { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; }
  .sides .tblock { margin: 0; min-width: 0; }
  .sheet.blank .thead { padding: 1mm 1.5mm; gap: 1.5mm; }
  .sheet.blank .thead .tname { border-bottom: 0.75pt solid #000; min-height: 5mm; }
  .sheet.blank .thead .tto .fl { font-size: 9pt; }
  .sheet.blank .thead .box { height: 6.5mm; min-width: 11mm; }
  .sheet.blank .thead .box small { font-size: 7pt; }
  .sheet.blank .team col.cno { width: 8mm; }
  .sheet.blank .team col.cg { width: 7mm; }
  .sheet.blank .team col.c7 { width: 9mm; }
  .sheet.blank .team col.ct { width: 10.5mm; }
  .sheet.blank .team col.cb { width: 7mm; }
  .sheet.blank .key { margin: 2mm 0 0; }
  .bsplit { display: grid; grid-template-columns: minmax(0, 1fr) 72mm; gap: 5mm; align-items: start; }
  .bmain { min-width: 0; }
  .bside { display: grid; gap: 3mm; }
  .sheet.blank .runs4 { gap: 2.5mm; }
  .sheet.blank .run col.rn { width: 10mm; }
  .vscores th[scope="row"] { text-align: left; font-weight: 700; }
  .vscores col.vs2 { width: 16mm; }
  .vscores td, .vscores th { height: 7mm !important; }
  .sheet.blank .rembox { min-height: 32mm; }
  .sheet.blank .signs { grid-template-columns: 1.6fr 1fr; gap: 2.5mm 3mm; align-items: end; }
  .sheet.blank .signs .f { display: block; }
  .sheet.blank .signs .f .fl { display: block; font-size: 9pt; }
  .sheet.blank .signs .f .fv { display: block; width: 100%; box-sizing: border-box; }
  .sheet.blank .signs .sig { font-size: 9pt; }
  .sheet.blank .bside .rm { margin: 0; }
  .sheet.blank .sobox { margin-top: 4mm; }
  .sheet.blank .run th { font-size: 8.5pt; padding: 0 0.5mm; }
  .sheet.blank .run col.rs { width: 6mm; }
  .sheet.blank .run col.rt { width: 10.5mm; }
  .sheet.blank .signs .sig { min-height: 7mm; }
  .sheet.blank .sub { font-size: 11pt; margin-top: 0; }
  .sheet.blank .sot { width: 100%; }
  .sheet.blank .sot col.sw { width: 12mm; }
  .sot col.rn { width: 8mm; }
  .sot col.sw { width: 14mm; }
  .sot col.sr { width: 18mm; }
  .sot td { height: 5mm; overflow: hidden; text-overflow: ellipsis; }
}
