.match-detail{--board:#123e30;--board-deep:#0c2b22;--board-line:#ffffff26;--board-text:#f2f4df;--score:#fff9d8;max-width:1120px;margin:32px auto;padding:0 24px 40px;color:#193747}
.match-page-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.match-back,.match-edit-link{font-size:14px;font-weight:650;text-decoration:none}.match-edit-link{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid #c9dce2;border-radius:8px;background:#fff}.match-page-heading{margin:28px 0 24px}.match-page-heading p{margin:0 0 8px;color:#57717d;font-size:14px}.match-page-heading h1{margin:0;font-size:clamp(24px,3vw,36px);font-weight:800;letter-spacing:.03em}
.match-detail .stadium-board{position:relative;overflow:hidden;padding:28px 32px 32px;background:var(--board);color:var(--board-text);border:1px solid var(--board-line);border-radius:18px;box-shadow:0 12px 30px #142c3518}.stadium-board-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;letter-spacing:.1em}.sport-chip{display:inline-flex;align-items:center;gap:10px;font-weight:750}.sport-chip:before{content:'';width:10px;height:10px;border:1px solid currentColor;transform:rotate(45deg)}.match-status{color:var(--board-text);opacity:.8}.stadium-score{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:16px;align-items:center;padding:28px 0 32px;text-align:center}.stadium-team{display:flex;flex-direction:column;align-items:center;min-width:0;align-self:stretch}.team-position{font-size:11px;letter-spacing:.16em;opacity:.65}.stadium-team h2{font-size:clamp(18px,2.4vw,26px);line-height:1.5;margin:10px 0 14px;overflow-wrap:anywhere;min-height:1.5em;color:inherit}.stadium-team h2 a{color:inherit;text-decoration:none}.stadium-team h2 a:hover{text-decoration:underline}.stadium-total{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(60px,9vw,108px);font-weight:750;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--score);margin-top:auto}.stadium-result{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;min-height:30px;margin-top:16px;padding:3px 12px;border-radius:5px;color:var(--board-text)}.stadium-team.win .stadium-result{background:var(--score);color:var(--board-deep);font-weight:800}.stadium-team.lose .stadium-result{opacity:.7}.stadium-subscore{font-size:13px;margin-top:8px}.stadium-divider{align-self:center;display:grid;justify-items:center;gap:16px;color:var(--board-text);opacity:.5;font-size:12px;letter-spacing:.15em}.stadium-divider i{height:50px;width:1px;background:currentColor}.stadium-breakdown{border-top:1px solid var(--board-line);padding-top:20px}.stadium-breakdown h2{font-size:12px;letter-spacing:.12em;margin:0 0 12px;font-weight:600;color:var(--board-text);opacity:.8}.stadium-table-scroll{overflow:auto;border:1px solid var(--board-line);border-radius:8px}.stadium-board table{width:100%;border-collapse:collapse;font-size:16px;font-variant-numeric:tabular-nums;color:var(--board-text)}.stadium-board th,.stadium-board td{text-align:center;padding:13px 10px;border:1px solid var(--board-line);white-space:nowrap;min-width:38px}.stadium-board thead th{font-size:12px;font-weight:500;background:var(--board-deep)}.stadium-board tbody th{text-align:left;font-size:13px;white-space:normal;min-width:140px;max-width:220px;background:var(--board-deep)}.stadium-board .total-column{color:var(--score);font-weight:800;background:#ffffff0b}.stadium-table-scroll:focus-visible{outline:2px solid var(--score);outline-offset:3px}
.match-detail[data-sport=basketball]{--board:#181d24;--board-deep:#101419;--board-text:#d6dce2;--score:#ffb34f}.match-detail[data-sport=basketball] .stadium-total{text-shadow:0 0 16px #ff8c2855; background-image:radial-gradient(#ffffff08 1px,transparent 1px);background-size:5px 5px;padding:8px 18px;border:1px solid #ffffff12;border-radius:6px}.match-detail[data-sport=basketball] .sport-chip:before{border-radius:50%;transform:none}.match-detail[data-sport=field]{--board:#193e50;--board-deep:#112d3b;--score:#e4ff9b}.match-detail[data-sport=court]{--board:#233d63;--board-deep:#1a2d49;--score:#e9f798}.match-detail[data-sport=standard]{--board:#203d51;--board-deep:#162d3d;--score:#fff}
.match-detail .match-information,.match-detail .match-notes{margin:24px 0;padding:24px;background:#fff;border:1px solid #d5e3e8;border-radius:14px}.match-information h2,.match-notes h2{font-size:18px;margin:0 0 20px}.match-information dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0}.match-information dt{display:flex;align-items:center;gap:8px;color:#647e8b;font-size:12px}.match-information dd{margin:8px 0 0;font-size:17px;font-weight:650;overflow-wrap:anywhere}.match-notes>div{display:grid;grid-template-columns:1fr 1fr;gap:24px}.match-notes h3{font-size:16px}.match-notes p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.match-discussion{margin-top:24px}.match-discussion>section{margin:0!important;border-radius:14px!important;box-shadow:none}.match-bottom-back{display:inline-block;margin-top:28px}.match-detail a:focus-visible{outline:2px solid #128797;outline-offset:4px}
@media(max-width:600px){.match-detail{margin:20px auto;padding:0 12px 28px}.match-page-heading{margin:22px 0 18px}.match-edit-link{font-size:12px;padding:7px 10px}.match-detail .stadium-board{padding:18px 12px 16px;border-radius:12px}.stadium-score{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:6px;padding:24px 0}.stadium-team h2{font-size:16px}.stadium-total{font-size:64px}.stadium-team h2{min-height:48px}.stadium-result{font-size:11px;padding:3px 7px}.stadium-board th,.stadium-board td{padding:10px 8px}.stadium-board tbody th{min-width:112px}.match-information dl{grid-template-columns:1fr 1fr;gap:18px}.match-information dd{font-size:15px}.match-detail .match-information,.match-detail .match-notes{padding:18px}.match-notes>div{grid-template-columns:1fr}.match-detail[data-sport=basketball] .stadium-total{padding:8px}.stadium-board-heading{font-size:12px}}
/* A lightly textured enclosure and inset score windows give the board depth. */
.match-detail .stadium-board{background-color:var(--board);background-image:radial-gradient(ellipse at 18% 0%,#ffffff0d,transparent 65%),repeating-linear-gradient(0deg,#ffffff02 0px,#ffffff02 1px,transparent 1px,transparent 4px);box-shadow:0 12px 30px #142c3518,inset 0 0 0 1px #ffffff05}
.stadium-total{min-width:1.8em;padding:8px 18px;border:1px solid #ffffff24;border-radius:10px;background:linear-gradient(145deg,#00000030,#00000012);box-shadow:inset 0 2px 8px #00000026,0 1px 0 #ffffff12}
.stadium-team.win .stadium-total{border-color:#fff9d855;text-shadow:0 2px 12px #fff9d812}
.stadium-breakdown{margin:0 -12px -12px;padding:20px 12px 12px;background:#0000000e;border:1px solid var(--board-line);border-radius:12px}
.stadium-board tbody tr:nth-child(even) td{background-color:#ffffff04}
.stadium-board tbody td.total-column{background:#fff9d817}
.match-detail[data-sport=baseball] .sport-chip:before{width:14px;height:14px;background:linear-gradient(135deg,transparent 46%,#f2f4df55 47%,#f2f4df55 53%,transparent 54%)}
.match-detail[data-sport=basketball] .stadium-total{background-color:#0c1017;box-shadow:inset 0 2px 12px #0008,0 1px 0 #ffffff12}
@media(max-width:600px){.stadium-total{padding:6px 10px;min-width:1.5em}.stadium-breakdown{margin:0;padding:14px 8px 8px}}
