/* Original Sideout match-room presentation. Scoped; no remote or licensed assets. */
.so-world {
  --so-w-ink: #183a2d;
  --so-w-muted: #4c6457;
  --so-w-paper: #f4f3e8;
  --so-w-card: #fffef6;
  --so-w-line: #b8c8af;
  --so-w-lime: #e4f788;
  --so-w-wood: #d9a56e;
  max-width: 1340px;
  margin: 0 auto;
  padding: 14px 18px 20px;
  color: var(--so-w-ink);
  background: var(--so-w-paper);
  font: 16px/1.4 var(--sans, system-ui, sans-serif);
  overflow-wrap: anywhere;
}
.so-world *, .so-world *::before, .so-world *::after { box-sizing: border-box; }
.so-world h1, .so-world h2, .so-world h3, .so-world p { margin: 0; font-family: inherit; letter-spacing: normal; }
.so-world h1 { font-size: 28px; line-height: 1.15; }
.so-world h2 { font-size: 20px; line-height: 1.3; }
.so-world h3 { font-size: 18px; line-height: 1.3; }
.so-world button, .so-world select, .so-world summary { font: inherit; min-height: 44px; }
.so-world button { cursor: pointer; }
.so-world button:disabled, .so-world select:disabled, .so-world option:disabled {
  opacity: 1;
  color: #c2ccd9;
  background: #1d2735;
  border-color: #46556a;
  cursor: not-allowed;
  -webkit-text-fill-color: #c2ccd9;
}
.so-world :is(button, select, summary, [tabindex]):focus-visible { outline: 3px solid var(--so-focus-inner); outline-offset: 2px; box-shadow: 0 0 0 5px var(--so-focus-outer); }
.so-world .so-w-header { height: auto; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 0 10px; background: transparent; color: var(--so-w-ink); border-bottom: 2px solid var(--so-w-ink); }
.so-world .so-w-kicker { font-size: 16px; font-weight: 750; color: var(--so-w-muted); }
.so-world .so-w-help { font-size: 16px; color: var(--so-w-muted); }
.so-world .so-w-heading > .so-w-help { margin-top: 4px; }
.so-world .so-w-balance { padding: 7px 12px; border: 1px solid var(--so-w-line); border-radius: 6px; background: #e5ebd9; min-width: 120px; }
.so-world .so-w-balance span, .so-world .so-w-balance strong { display: block; }
.so-world .so-w-balance strong { font-size: 20px; }
.so-world .so-w-matchbar { display: flex; gap: 14px; align-items: center; padding: 10px 0; flex-wrap: wrap; }
.so-world .so-w-fixture { flex: 1 1 240px; }
.so-world .so-w-fixture > strong { font-size: 18px; }
.so-world .so-w-fixture > p { color: var(--so-w-muted); margin-top: 2px; }
.so-world .so-w-fixture > .so-w-fixture-date { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin-top: 6px; }
.so-world .so-w-fixture-label { color: var(--so-w-muted); font-size: 14px; font-weight: 700; }
.so-world .so-w-date-value { display: inline-flex; max-width: 100%; padding: 2px 8px; border: 1px solid #98ac82; border-radius: 5px; background: #e3edd1; color: #244b2b; font-size: 16px; font-weight: 750; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.so-world .so-w-rest-gap { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 6px; margin-top: 5px; color: var(--so-w-muted); }
.so-world .so-w-rest-gap > strong { color: var(--so-w-ink); font-size: 18px; font-variant-numeric: tabular-nums; }
.so-world .so-w-date-source { display: block; width: fit-content; max-width: 100%; margin-top: 6px; padding: 3px 7px; border: 1px solid #b8c8af; border-radius: 5px; background: #eef1e5; color: #40593a; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
.so-world .so-w-pace { border: 0; margin: 0; padding: 0; min-width: 0; }
.so-world .so-w-pace legend { float: left; padding: 11px 8px 8px 0; font-weight: 700; }
.so-world .so-w-segmented { display: inline-flex; gap: 3px; padding: 3px; background: #e4e9d9; border-radius: 7px; border: 1px solid var(--so-w-line); }
.so-world .so-w-segmented button { border: 1px solid transparent; border-radius: 4px; padding: 7px 12px; color: var(--so-w-ink); background: transparent; font-weight: 750; }
.so-world .so-w-segmented button[aria-pressed="true"] { background: var(--so-w-ink); color: var(--so-w-lime); border-color: var(--so-w-ink); }
.so-world .so-w-button { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; padding: 9px 12px; border: 1px solid #819777; border-radius: 6px; background: var(--so-w-card); color: var(--so-w-ink); font-weight: 750; text-align: center; }
.so-world .so-w-button:hover:not(:disabled) { background: #e5eed5; border-color: #315b37; }
.so-world .so-w-primary:not(:disabled) { background: #1c503a; border-color: #143c2b; color: #f2ffd0; min-width: 164px; }
.so-world .so-w-primary:hover:not(:disabled) { background: #286444; }
.so-world .so-w-action-wrap > .so-w-reason { max-width: 32ch; }
.so-world .so-w-reason { color: #695026; font-size: 16px; font-weight: 400; margin-top: 5px; line-height: 1.35; }
.so-world .so-w-score { display: grid; grid-template-columns: minmax(110px, .4fr) minmax(0, 2fr); gap: 8px 16px; align-items: center; background: #173f31; border: 1px solid #0f3025; border-radius: 8px; color: #f8ffe9; padding: 10px 14px; }
.so-world .so-w-score-context { display: flex; flex-direction: column; gap: 3px; font-size: 16px; }
.so-world .so-w-score-context > span { color: #dbe6cf; }
.so-world .so-w-score-teams { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.so-world .so-w-score-team { display: flex; gap: 12px; align-items: center; min-width: 0; }
.so-world .so-w-score-name { flex: 1; min-width: 0; }
.so-world .so-w-score-name > strong { display: block; font-size: 20px; }
.so-world .so-w-score .so-w-country { color: #e0ebd5; }
.so-world .so-w-score-value, .so-world .so-w-score-sets { text-align: center; flex-shrink: 0; display: flex; flex-direction: column; }
.so-world .so-w-score-value > strong { font-size: 34px; line-height: 1.05; color: var(--so-w-lime); font-variant-numeric: tabular-nums; }
.so-world .so-w-score-value > span, .so-world .so-w-score-sets > span { font-size: 16px; }
.so-world .so-w-score-sets > strong { font-size: 22px; line-height: 1.25; }
.so-world .so-w-serving { display: inline-block; padding: 1px 6px; border: 1px solid #aaca80; border-radius: 4px; margin-top: 3px; font-size: 16px; }
.so-world .so-w-set-scores { display: flex; gap: 12px; flex-wrap: wrap; grid-column: 1 / -1; border-top: 1px solid #607e61; padding-top: 7px; font-size: 16px; }
.so-world .so-w-tabs { display: flex; gap: 5px; margin: 10px 0 12px; border-bottom: 2px solid #9eb494; }
.so-world .so-w-tabs button { border: 1px solid transparent; border-bottom: 0; border-radius: 6px 6px 0 0; padding: 8px 17px; color: var(--so-w-ink); background: #e4ebda; font-size: 17px; font-weight: 750; }
.so-world .so-w-tabs button[aria-pressed="true"] { background: var(--so-w-ink); color: var(--so-w-lime); border-color: var(--so-w-ink); }
.so-world .so-w-tabs button:hover:not([aria-pressed="true"]) { background: #d9e4c8; }
.so-world .so-w-section-title { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; margin-bottom: 8px; }
.so-world .so-w-section-title > p { color: var(--so-w-muted); font-size: 16px; }
.so-world .so-w-court-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 14px; align-items: start; }
.so-world .so-w-court-column { min-width: 0; }
.so-world .so-w-court { background: repeating-linear-gradient(90deg, #d7a16b 0 26px, #dca977 26px 52px); padding: 8px 10px; border: 3px solid #fffdf0; border-radius: 5px; outline: 1px solid #9f8053; }
.so-world .so-w-team-label { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; margin-bottom: 7px; font-size: 16px; color: #293c27; }
.so-world .so-w-team-label > strong { font-size: 17px; }
.so-world .so-w-team-label--own { margin-top: 7px; margin-bottom: 0; }
.so-world .so-w-opponent-row, .so-world .so-w-own-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.so-world .so-w-net { position: relative; height: 19px; display: grid; place-items: center; margin: 7px -10px; }
.so-world .so-w-net::before { content: ''; position: absolute; left: 0; right: 0; top: 8px; height: 4px; background: repeating-linear-gradient(90deg, #fffef3 0 9px, #304a37 9px 12px); }
.so-world .so-w-net > span { position: relative; background: #f5f4e6; border: 1px solid #8e9f85; padding: 0 8px; font-size: 16px; font-weight: 700; line-height: 1.15; }
.so-world .so-w-actor { min-width: 0; display: flex; flex-direction: column; align-items: stretch; text-align: left; justify-content: flex-start; gap: 3px; padding: 8px; border: 1px solid #577957; border-radius: 6px; background: #f9f9e9; color: var(--so-w-ink); line-height: 1.25; }
.so-world .so-w-actor.is-own { background: #eef4dc; box-shadow: inset 0 3px 0 #456f40; }
.so-world .so-w-actor.is-opponent { background: #f1eee0; border-color: #8b8568; }
.so-world .so-w-actor.is-selected { border: 2px solid #244e2f; padding: 7px; background: #e5f58c; box-shadow: inset 0 3px 0 #244e2f; }
.so-world .so-w-actor:hover:not(:disabled):not(.is-opponent) { border-color: #184326; background: #e0efb5; }
.so-world .so-w-actor-top { display: flex; gap: 8px; justify-content: space-between; align-items: flex-start; }
.so-world .so-w-actor-name { font-size: 17px; font-weight: 800; min-width: 0; }
.so-world .so-w-rating { display: flex; flex-direction: column; gap: 1px; text-align: right; font-size: 16px; flex: 0 0 auto; }
.so-world .so-w-rating strong { font-size: 18px; line-height: 1.05; }
.so-world .so-w-rating.is-unknown { flex-shrink: 1; }
.so-world .so-w-rating.is-unknown strong { font-size: 16px; }
.so-world .so-w-position { font-size: 16px; font-weight: 650; }
.so-world .so-w-country { display: block; color: #42583d; font-size: 16px; font-weight: 400; }
.so-world .so-w-flag { font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif; font-size: 19px; }
.so-world .so-w-evidence, .so-world .so-w-actor-description, .so-world .so-w-slot-label { font-size: 16px; font-weight: 400; }
.so-world .so-w-evidence { color: #705421; }
.so-world .so-w-slot-label { color: #51634d; }
.so-world .so-w-mobile-layout-note { display: none; }
.so-world .so-w-layout-note { font-size: 16px; margin-top: 7px; color: #625125; }
.so-world .so-w-own-grid.is-coordinates { position: relative; display: block; min-height: 342px; }
.so-world .is-coordinates > .so-w-actor { position: absolute; width: calc(33.333% - 6px); left: calc(17% + var(--so-w-x) * .66); top: calc(24% + var(--so-w-y) * .52); transform: translate(-50%, -50%); }
.so-world .so-w-coach { display: grid; gap: 10px; }
.so-world .so-w-last-point { padding: 10px 12px; border: 1px solid #a8bc94; border-left: 4px solid #345e37; border-radius: 6px; background: #e8edda; }
.so-world .so-w-last-point > p { margin-top: 5px; font-size: 16px; }
.so-world .so-w-last-point .so-w-consequence { font-size: 17px; font-weight: 750; color: #223f2a; }
.so-world .so-w-plan { margin: 0; padding: 9px 10px 10px; border: 1px solid var(--so-w-line); border-radius: 6px; background: #f0f1e4; min-width: 0; }
.so-world .so-w-plan legend { padding: 0 4px; font-size: 18px; font-weight: 750; }
.so-world .so-w-plan-options { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.so-world .so-w-plan-option { padding: 8px; align-items: flex-start; justify-content: flex-start; text-align: left; font-size: 16px; }
.so-world .so-w-plan-option > strong { font-size: 17px; }
.so-world .so-w-plan-option > span { margin-top: 4px; font-size: 16px; font-weight: 400; }
.so-world .so-w-plan-option[aria-pressed="true"] { background: #e3f493; border: 2px solid #335936; padding: 7px; }
.so-world .so-w-bench { padding: 10px; border: 1px solid var(--so-w-line); border-radius: 6px; background: #efeddf; }
.so-world .so-w-bench-selects { display: grid; gap: 7px; margin-top: 8px; }
.so-world .so-w-bench label { display: block; margin: 0; font-size: 16px; font-weight: 700; }
.so-world .so-w-bench select { display: block; width: 100%; min-width: 0; margin: 3px 0 0; padding: 8px; border: 1px solid #849777; border-radius: 5px; background: #fffef6; color: var(--so-w-ink); font-size: 16px; }
.so-world .so-w-bench-preview { margin-top: 6px; }
.so-world .so-w-substitute { width: 100%; margin-top: 8px; }
.so-world .so-w-diagnostics { padding: 3px 0 0; margin-top: 9px; border-top: 1px solid var(--so-w-line); }
.so-world .so-w-diagnostics summary { padding: 10px 0; font-size: 16px; font-weight: 750; cursor: pointer; }
.so-world .so-w-diagnostics dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px; margin: 5px 0 0; }
.so-world .so-w-diagnostics dl > div { background: #e9ecdc; border-radius: 5px; padding: 9px; }
.so-world .so-w-diagnostics dt { font-weight: 750; }
.so-world .so-w-diagnostics dd { margin: 3px 0 0; }
.so-world .so-w-diagnostics dd > span { display: block; color: var(--so-w-muted); }
.so-world .so-w-table-scroll { overflow-x: auto; border: 1px solid var(--so-w-line); border-radius: 7px; background: var(--so-w-card); }
.so-world table { border-collapse: collapse; width: 100%; font-size: 16px; text-align: left; }
.so-world caption { text-align: left; padding: 9px 11px; background: #e8edda; color: #40593a; }
.so-world th, .so-world td { padding: 10px 11px; border-bottom: 1px solid #d0d8c4; vertical-align: middle; }
.so-world thead th { background: #dfe8cf; font-weight: 750; white-space: nowrap; }
.so-world tbody tr:last-child > * { border-bottom: 0; }
.so-world tbody tr:nth-child(even) { background: #f0f3e6; }
.so-world tbody tr.is-selected { background: #e6f29e; }
.so-world .so-w-table-team { display: block; min-width: 140px; font-size: 17px; }
.so-world .so-w-table-badges { display: flex; gap: 4px; flex-wrap: wrap; min-width: 110px; }
.so-world .so-w-badge { display: inline-block; border: 1px solid #98ac82; background: #e3edd1; color: #244b2b; font-size: 16px; padding: 2px 6px; border-radius: 4px; font-weight: 650; }
.so-world .so-w-badge.is-host { background: #efe4c9; border-color: #b8a26b; color: #635022; }
.so-world .so-w-badge.is-relegation { background: #f7e7d7; border-color: #c18b62; color: #824123; }
.so-world .so-w-bracket { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: start; }
.so-world .so-w-round { min-width: 0; border-top: 4px solid #8da769; padding-top: 8px; }
.so-world .so-w-round[data-round="gold"] { border-top-color: #b6892e; }
.so-world .so-w-round[data-round="bronze"] { border-top-color: #a06b46; }
.so-world .so-w-round > h3 { margin-bottom: 10px; }
.so-world .so-w-match-card { border: 1px solid var(--so-w-line); background: var(--so-w-card); border-radius: 6px; padding: 9px; margin-bottom: 10px; }
.so-world .so-w-match-card-heading { display: flex; flex-wrap: wrap; gap: 3px 8px; justify-content: space-between; padding-bottom: 7px; margin-bottom: 5px; border-bottom: 1px solid #cbd5bf; font-size: 16px; }
.so-world .so-w-match-card-heading > span { color: var(--so-w-muted); }
.so-world .so-w-match-card > .so-w-match-date { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 7px; margin-top: 7px; }
.so-world .so-w-match-date .so-w-date-source { display: inline-flex; margin-top: 0; }
.so-world .so-w-bracket-team { display: flex; gap: 8px; align-items: center; justify-content: space-between; padding: 5px 0; font-size: 17px; }
.so-world .so-w-bracket-team > div { min-width: 0; }
.so-world .so-w-bracket-score { flex-shrink: 0; font-size: 22px; font-variant-numeric: tabular-nums; }
.so-world .so-w-match-card > p { margin-top: 7px; color: var(--so-w-muted); font-size: 16px; }
.so-world .so-w-empty { padding: 12px 0; color: var(--so-w-muted); font-size: 16px; }
.so-world .so-w-log-index { display: grid; gap: 8px; }
.so-world .so-w-log-match { padding: 0 12px; background: #f6f7e9; border: 1px solid var(--so-w-line); border-radius: 6px; }
.so-world .so-w-log-match > summary { display: list-item; position: relative; padding: 9px 90px 9px 0; cursor: pointer; }
.so-world .so-w-log-match > summary > span { display: inline-flex; gap: 3px 12px; flex-wrap: wrap; align-items: baseline; }
.so-world .so-w-log-match > summary > strong { position: absolute; right: 0; top: 9px; font-size: 18px; }
.so-world .so-w-log-match ol { margin: 8px 0 12px; padding-left: 26px; }
.so-world .so-w-log-match li { padding: 7px 0; border-top: 1px solid #d2dbc5; font-size: 16px; }
.so-world .so-w-log-summary { padding: 7px 0; font-size: 16px; }
.so-world .so-w-terminal { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 14px; border: 1px solid #87a477; border-left: 5px solid #345834; border-radius: 7px; background: #e4edc9; margin-top: 10px; }
.so-world .so-w-terminal p { margin-top: 5px; }
.so-world .so-w-terminal ul { margin: 7px 0 0; padding-left: 21px; }
/* Keep locked court and coaching controls in the midnight room palette. */
.so-world .so-w-segmented button:disabled, .so-world .so-w-plan-option:disabled, .so-world .so-w-actor:disabled, .so-world .so-w-bench select:disabled { opacity: 1; color: #c2ccd9; background: #1d2735; border-color: #46556a; -webkit-text-fill-color: #c2ccd9; }
/* A locked choice still needs a clear selected state. */
.so-world .so-w-segmented button:disabled[aria-pressed="true"], .so-world .so-w-plan-option:disabled[aria-pressed="true"] { color: #e9f8f5; background: #263e49; border-color: #7acbbd; box-shadow: inset 0 0 0 1px #7acbbd; -webkit-text-fill-color: #e9f8f5; }
@media (max-width: 1080px) {
  .so-world .so-w-court-workspace { grid-template-columns: minmax(0, 1fr); }
  .so-world .so-w-coach { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
  .so-world .so-w-plan-options { grid-template-columns: 1fr; }
  .so-world .so-w-bracket { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .so-world { padding: 12px; }
  .so-world .so-w-header { align-items: flex-start; }
  .so-world .so-w-balance { min-width: 0; padding: 6px 8px; }
  .so-world .so-w-matchbar { gap: 9px; }
  .so-world .so-w-fixture { flex-basis: 100%; }
  .so-world .so-w-action-wrap { flex: 1; }
  .so-world .so-w-primary { width: 100%; }
  .so-world .so-w-score { grid-template-columns: minmax(0, 1fr); gap: 7px; padding: 10px; }
  .so-world .so-w-score-context { flex-direction: row; justify-content: space-between; gap: 8px; }
  .so-world .so-w-score-teams { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .so-world .so-w-score-team + .so-w-score-team { border-top: 1px solid #608061; padding-top: 8px; }
  .so-world .so-w-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; }
  .so-world .so-w-tabs button { padding: 8px 5px; font-size: 16px; }
  .so-world .so-w-court { padding: 8px; }
  .so-world .so-w-mobile-layout-note { display: block; margin-top: 7px; font-size: 16px; color: var(--so-w-muted); }
  .so-world .so-w-team-label { align-items: flex-start; flex-direction: column; gap: 2px; }
  .so-world .so-w-opponent-row { grid-template-columns: minmax(0, 1fr); }
  .so-world .so-w-own-grid, .so-world .so-w-own-grid.is-coordinates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 0; gap: 8px; }
  .so-world .so-w-own-grid > .so-w-actor { position: static; width: auto; transform: none; grid-column: auto !important; grid-row: auto !important; }
  .so-world .so-w-actor-top { flex-wrap: wrap; }
  .so-world .so-w-actor-name { font-size: 18px; }
  .so-world .so-w-rating { flex-direction: row; align-items: baseline; gap: 5px; text-align: left; }
  .so-world .so-w-coach { grid-template-columns: minmax(0, 1fr); }
  .so-world .so-w-plan-options { grid-template-columns: 1fr 1fr; }
  .so-world .so-w-bench-selects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .so-world .so-w-bracket { grid-template-columns: minmax(0, 1fr); }
  .so-world .so-w-terminal { align-items: stretch; flex-direction: column; }
  .so-world .so-w-log-match > summary { padding-right: 68px; }
}
@media (max-width: 400px) {
  .so-world .so-w-own-grid, .so-world .so-w-own-grid.is-coordinates, .so-world .so-w-bench-selects { grid-template-columns: minmax(0, 1fr); }
  .so-world .so-w-header { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .so-world * { scroll-behavior: auto; transition: none; animation: none; }
}

.so-w-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;list-style:none}.so-w-path li{padding:18px;background:#e8eddf;border:1px solid #b7cbbd;border-radius:10px}.so-w-path strong,.so-w-path span{display:block;font-size:16px;line-height:1.5}.so-w-path strong{font-size:18px;margin-bottom:8px}@media(max-width:680px){.so-w-path{grid-template-columns:1fr}}

.so-world .so-w-workload { margin: 14px 0; border: 1px solid #c5d3e3; border-radius: 14px; background: #f7f9fc; color: #10243a; }
.so-world .so-w-workload > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 10px 14px; cursor: pointer; list-style: none; }
.so-world .so-w-workload > summary::-webkit-details-marker { display: none; }
.so-world .so-w-workload > summary span:first-child { display: grid; gap: 2px; }
.so-world .so-w-workload > summary strong { font-size: 17px; }
.so-world .so-w-workload > summary small, .so-world .so-w-workload > p { color: #52677f; font-size: 13px; }
.so-world .so-w-workload-caret { color: #315f8c; font-size: 22px; }
.so-world .so-w-workload[open] .so-w-workload-caret { transform: rotate(45deg); }
.so-world .so-w-workload > p { margin: 0; padding: 0 14px 10px; }
.so-world .so-w-workload-list { display: grid; gap: 7px; padding: 0 10px 10px; }
.so-world .so-w-workload-row { display: grid; grid-template-columns: minmax(130px, .8fr) minmax(120px, .55fr) minmax(0, 2fr); align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #d9e1ec; border-radius: 10px; background: white; }
.so-world .so-w-workload-rallies { color: #344c66; font-variant-numeric: tabular-nums; }
.so-world .so-w-workload-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px 12px; font-size: 13px; color: #52677f; }
.so-world .so-w-workload-actions b { color: #10243a; font-variant-numeric: tabular-nums; }
.so-world .so-w-workload-actions small { color: #697b90; }
.so-world .so-w-workload :focus-visible { outline: 3px solid var(--so-focus-inner); outline-offset: 2px; box-shadow: 0 0 0 5px var(--so-focus-outer); }
@media (max-width: 720px) { .so-world .so-w-workload-row { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; } .so-world .so-w-workload-actions { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 400px) { .so-world .so-w-workload-row { grid-template-columns: minmax(0, 1fr); } .so-world .so-w-workload-rallies { grid-row: 2; } }
.so-world .so-w-actor:focus-visible { box-shadow: 0 0 0 5px var(--so-focus-outer); }
.so-world .so-w-actor.is-own:focus-visible { box-shadow: 0 0 0 5px var(--so-focus-outer), inset 0 3px 0 #456f40; }
.so-world .so-w-actor.is-selected:focus-visible { box-shadow: 0 0 0 5px var(--so-focus-outer), inset 0 3px 0 #244e2f; }

/* v89: player exposure cues in roster selection; evidence is count-only. */
.so-w-player-exposure{display:block;min-width:0;color:#cfdae7;font-size:14px;line-height:1.2;overflow-wrap:anywhere}.so-w-workload-list{max-height:34vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.so-w-workload-row{scroll-margin:8px}

/* v90: a tournament result is a destination, not a sidebar notice. */
.so-world-complete .so-v90-complete{display:grid;gap:14px}.so-world-complete .so-v90-result-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 22px;align-items:center;padding:22px;border:2px solid #163d35;border-radius:12px;background:linear-gradient(125deg,#122e43,#17493c);color:#f6f8ef;box-shadow:0 8px 24px #142b2530}.so-world-complete .so-v90-result-hero>p:first-child{grid-column:1/-1;color:#70e3cf;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.so-world-complete .so-v90-result-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.05;color:#fff}.so-world-complete .so-v90-result-hero>p:not(:first-child){grid-column:1/-1;color:#dce9e6;font-size:18px}.so-world-complete .so-v90-result-stats{display:flex;gap:10px;justify-content:flex-end}.so-world-complete .so-v90-result-stats span{display:grid;min-width:126px;padding:8px 12px;border:1px solid #77958c;border-radius:8px;background:#091a2b;color:#f6f8ef}.so-world-complete .so-v90-result-stats small{font-size:14px;color:#c5d4d1}.so-world-complete .so-v90-result-stats strong{font-size:22px;font-variant-numeric:tabular-nums}.so-world-complete .so-v90-result-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.so-world-complete .so-v90-result-actions .so-w-primary{background:#a8f071;color:#173520;border-color:#d3ff9c}.so-world-complete .so-v90-final-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}.so-world-complete .so-v90-final-details>div{min-width:0;max-height:440px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--so-w-line);border-radius:9px}.so-world-complete .so-v90-final-details .so-w-bracket-panel,.so-world-complete .so-v90-final-details .so-w-table-panel{margin:0;min-height:100%}.so-world-complete .so-v90-final-details .so-w-table-scroll{max-height:370px;overflow:auto}.saved-career-group>h2{margin:8px 16px 0;font-size:18px}.saved-career-group+.saved-career-group{margin-top:14px}
@media(max-width:760px){.so-world-complete .so-v90-result-hero{grid-template-columns:1fr;padding:16px}.so-world-complete .so-v90-result-stats{justify-content:flex-start}.so-world-complete .so-v90-final-details{grid-template-columns:1fr}.so-world-complete .so-v90-final-details>div{max-height:45vh}}

.so-world .so-v93-history { margin-top: 18px; }
.so-world .so-v93-history-list { max-height: min(58vh, 560px); overflow: auto; display: grid; gap: 8px; }
.so-world .so-v93-history-season { border: 1px solid var(--so-w-line); border-radius: 8px; background: var(--so-w-panel); }
.so-world .so-v93-history-season > summary { cursor: pointer; padding: 12px 14px; }
.so-world .so-v93-history-scores, .so-world .so-v93-history-table { margin: 8px 14px 14px; padding-left: 24px; }
.so-world .so-v93-history-scores li, .so-world .so-v93-history-table li { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-bottom: 1px solid var(--so-w-line); }
.so-world .so-v93-history-season h3 { margin: 8px 14px 0; }

.so-w-calendar{margin:.75rem 0;padding:.7rem .8rem;border:1px solid var(--game-line,#536779);border-left:4px solid var(--game-accent,#58dec6);border-radius:.55rem;background:rgba(19,37,53,.86);color:var(--game-ink,#f4f7fb)}.so-w-calendar-period{margin:0 0 .35rem;color:#d5e0eb;font-size:.82rem;font-weight:700}.so-w-calendar ul{display:flex;flex-direction:column;gap:.25rem;max-height:7.2rem;overflow:auto;margin:0;padding:0;list-style:none}.so-w-calendar li{display:flex;justify-content:space-between;gap:.5rem;font-size:.88rem}.so-w-calendar li span{color:#c6d2de;font-size:.76rem}

/* v103 Fantasy finance workspace */
.so-w-finance { color: var(--so-w-ink); display:grid; gap:14px; min-width:0; }
.so-w-finance-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border:2px solid #355367; border-radius:14px; background:#112638; color:#f5f8fb; }
.so-w-finance-header h2 { margin:2px 0 0; font-size:clamp(22px,2vw,30px); }
.so-w-finance-balance { display:grid; text-align:right; gap:2px; }
.so-w-finance-balance small,.so-w-finance-cards small,.so-w-finance-player small,.so-w-finance-scroll li small { color:#b6c7d7; font-size:14px; }
.so-w-finance-balance strong { color:#67ead3; font-size:24px; }
.so-w-finance-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.so-w-finance-cards article { display:grid; gap:5px; min-width:0; padding:12px; border:1px solid #7890a4; border-radius:12px; background:#1b3448; color:#f4f7fa; }
.so-w-finance-cards article strong { font-size:20px; }
.so-w-finance-note { margin:0; color:#d5e0eb; font-size:14px; }
.so-w-finance-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.so-w-finance-columns section { min-width:0; }
.so-w-finance-columns h3 { display:flex; justify-content:space-between; gap:10px; margin:0 0 8px; color:#f1f6fb; font-size:18px; }
.so-w-finance-scroll { max-height:min(32vh,330px); min-height:150px; overflow:auto; margin:0; padding:0; border:1px solid #9cacb5; border-radius:10px; background:#fffef6; list-style:none; }
.so-w-finance-scroll li { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:54px; padding:8px 12px; border-bottom:1px solid #cbd4d6; color:#183a2d; font-size:16px; }
.so-w-finance-scroll li:last-child { border-bottom:0; }
.so-finance-player,.so-w-finance-scroll li>span:first-child,.so-finance-flow { display:grid; gap:2px; min-width:0; }
.so-finance-flow { text-align:right; }
.so-w-finance-scroll .is-income { color:#126b4e; }
.so-w-finance-scroll .is-cost { color:#8c382c; }
@media(max-width:900px) { .so-w-finance-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .so-w-finance-columns { grid-template-columns:1fr; } .so-w-finance-scroll { max-height:38vh; } }

/* Sites v96: compact, plainly labelled simulated player progression. */
.so-w-development{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:12px 16px;margin:0 0 14px;border:1px solid #456477;border-left:4px solid #58ddca;border-radius:12px;background:#14283b;color:#edf4fb}.so-w-development h2{margin:2px 0 0;font-size:18px}.so-w-development p{margin:0;color:#c1d1df;font-size:14px}.so-w-development ul{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none}.so-w-development li{display:flex;gap:8px;align-items:center}.so-w-development li span{color:#aeeadd}@media(max-width:620px){.so-w-development{grid-template-columns:1fr}.so-w-development ul{display:grid;grid-template-columns:1fr}}

/* v107 career calendar: one bounded season agenda, derived from saved dates. */
.so-world .so-w-calendar-screen{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:9px;min-width:0;min-height:0;padding:12px;border:1px solid #50697f;border-radius:12px;background:#0d1b2b;color:#f3f6fb}
.so-world .so-w-calendar-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #426079;border-left:4px solid #56dec9;border-radius:9px;background:linear-gradient(110deg,#142c42,#203b55);color:#f4f7fb}
.so-world .so-w-calendar-hero h2{margin-top:2px;font-size:clamp(22px,2.3vw,30px)}
.so-world .so-w-calendar-hero p:not(.so-w-kicker){margin-top:4px;color:#d1deea}
.so-world .so-w-calendar-counts{display:flex;gap:8px;flex-shrink:0}
.so-world .so-w-calendar-counts span{display:grid;min-width:70px;padding:6px 9px;border:1px solid #71869a;border-radius:8px;background:#0c1a29;text-align:center}
.so-world .so-w-calendar-counts strong{font-size:19px;color:#66e4cf;font-variant-numeric:tabular-nums}
.so-world .so-w-calendar-counts small{color:#d5dfeb}
.so-world .so-w-calendar-period-note,.so-world .so-w-calendar-note{margin:0;color:#d7e2ed;font-size:14px}
.so-world .so-w-calendar-list{min-height:0;max-height:min(52vh,470px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 5px 2px 0}
.so-world .so-w-calendar-row{display:grid;grid-template-columns:minmax(116px,.7fr) 18px minmax(0,2fr) auto;gap:8px;align-items:center;min-height:54px;padding:7px 9px;border-bottom:1px solid #34495e;color:#f3f6fb}
.so-world .so-w-calendar-row time{display:flex;flex-direction:column;color:#e1eaf3;font-variant-numeric:tabular-nums}
.so-world .so-w-calendar-row time span,.so-world .so-w-calendar-row .is-today{color:#66e4cf}
.so-world .so-w-calendar-marker{color:#86a2b8;text-align:center}
.so-world .so-w-calendar-row[data-calendar-kind="match"] .so-w-calendar-marker{color:#6ce8d3}
.so-world .so-w-calendar-detail{display:grid;min-width:0;gap:1px}
.so-world .so-w-calendar-detail>strong{overflow-wrap:anywhere}
.so-world .so-w-calendar-detail>span,.so-world .so-w-calendar-detail>small{color:#c6d4e1;font-size:14px}
.so-world .so-w-calendar-status{padding:3px 7px;border:1px solid #60768a;border-radius:20px;color:#dce5ee;font-size:13px;white-space:nowrap}
.so-world .so-w-calendar-row.is-today{background:#183448}
.so-world .so-w-calendar-row.is-today .so-w-calendar-status{border-color:#56dec9;color:#7cebd9}
.so-world .so-w-calendar-row.is-played,.so-world .so-w-calendar-row.is-passed{color:#d0d9e2}
.so-world .so-w-calendar-row.is-played .so-w-calendar-status,.so-world .so-w-calendar-row.is-passed .so-w-calendar-status{border-color:#536777;color:#c4d0dc}
.so-world .so-w-calendar-row.is-missed .so-w-calendar-status{border-color:#d39b59;color:#ffd08a}
.so-world .so-w-calendar-empty{padding:20px;color:#d6e0e9}
@media(max-width:720px){.so-world .so-w-calendar-row{grid-template-columns:minmax(96px,.7fr) 14px minmax(0,2fr)}.so-world .so-w-calendar-status{grid-column:3;justify-self:start}.so-world .so-w-calendar-counts span{min-width:56px}.so-world .so-w-calendar-list{max-height:52vh}}
@media(max-width:420px){.so-world .so-w-calendar-hero{align-items:flex-start;flex-direction:column}.so-world .so-w-calendar-counts{width:100%}.so-world .so-w-calendar-counts span{flex:1}.so-world .so-w-calendar-row{grid-template-columns:minmax(78px,.8fr) 12px minmax(0,2fr);gap:6px;padding:7px 4px}.so-world .so-w-calendar-row time{font-size:14px}}
.so-season-objectives{margin:12px 0;padding:12px 14px;background:#14283a;border:1px solid #426176;border-radius:8px}.so-season-objectives h3{margin:0 0 8px;font-size:16px}.so-season-objectives>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.so-season-objectives article{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:8px 10px;background:#0b1925;border:1px solid #355066;border-radius:6px;color:#f0f5fb}.so-season-objectives article.is-complete{border-color:#45cbb7;background:#12352f}.so-season-objectives article span{display:grid;gap:3px;min-width:0}.so-season-objectives article strong{font-size:14px}.so-season-objectives article small{color:#c5d5e2;font-size:13px}.so-season-objectives article>b{flex:none;color:#8ce8d2;font-size:15px}@media(max-width:700px){.so-season-objectives>div{grid-template-columns:1fr}}
