.opposition-panel{margin-top:26px;padding:26px;background:var(--paper);border:1px solid var(--line)}
.opposition-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.opposition-heading h3{font-size:24px;letter-spacing:-.04em;margin:7px 0}.opposition-badge{font-size:11px;font-weight:650;white-space:nowrap;border:1px solid #bdc5c8;padding:7px 10px}.opposition-description,.opposition-summary{font-size:12px;line-height:1.85;color:var(--muted);margin:10px 0 0}.opposition-stats{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:23px}.opposition-stat{border-top:2px solid var(--signal);padding-top:14px}.opposition-blue{border-color:var(--blue)}.opposition-stat>span{font-size:12px;font-weight:650}.opposition-stat>strong{display:block;font:700 40px/1.2 Barlow,sans-serif;margin-top:5px}.opposition-stat small{font:500 13px Noto,sans-serif;color:var(--muted)}.opposition-stat p{font-size:11px;color:var(--muted);margin:7px 0}.opposition-tables{display:grid;grid-template-columns:1fr 1fr;gap:28px}.opposition-side h4{font-size:14px;margin:10px 0 15px}.opposition-side ul{list-style:none;margin:0;padding:0}.opposition-side li{padding:17px 0;border-top:1px solid var(--line)}.opponent-row-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.opponent-row-head strong{font-size:13px}.opponent-status{font-size:10px;color:var(--muted);white-space:nowrap}.opponent-status.linked{color:#33604b}.opponent-bout{font-size:10px;color:var(--muted);margin:5px 0 11px}.opponent-record{display:flex;gap:10px;align-items:center}.opponent-record b{font:700 23px Barlow,Noto,sans-serif}.opponent-record span{font-size:10px;color:var(--muted)}.opponent-row-note{font-size:10px;color:var(--muted);margin:6px 0;line-height:1.8}.opposition-side li>a{display:inline-block;font-size:10px;color:var(--signal-dark);margin-top:5px;text-underline-offset:3px}.opponent-load-error{font-size:12px;line-height:1.8;color:var(--signal-dark);border-left:2px solid currentColor;padding-left:12px}.opponent-details{margin-top:20px}.opponent-details summary{padding-bottom:0}.opponent-details[open] summary{padding-bottom:17px}
@media(max-width:650px){.opposition-panel{padding:18px 15px;margin-top:22px}.opposition-heading{display:block}.opposition-heading h3{font-size:22px}.opposition-badge{display:inline-block;margin:5px 0;font-size:10px}.opposition-description,.opposition-summary{font-size:11px}.opposition-stats{gap:17px}.opposition-stat>strong{font-size:35px}.opposition-stat small{font-size:11px}.opposition-tables{grid-template-columns:1fr;gap:20px}.opponent-record{flex-wrap:wrap;gap:5px 10px}}
