/* 76.4 — shared defensive colors and complete publication layout. */
[data-position-group] { --position-bg:#f8fafb; --position-border:#d7e2e7; --position-ink:#526c7a; }
[data-position-group="pitcher"] { --position-bg:#fbe4e5; --position-border:#e7b3ba; --position-ink:#984a57; }
[data-position-group="catcher"] { --position-bg:#dfedfc; --position-border:#abcbe9; --position-ink:#326590; }
[data-position-group="infield"] { --position-bg:#fbf0cb; --position-border:#e2ce91; --position-ink:#866a21; }
[data-position-group="outfield"] { --position-bg:#e1f2e3; --position-border:#acd5b3; --position-ink:#367249; }
[data-position-group="extra"] { --position-bg:#fce8d4; --position-border:#e9bf94; --position-ink:#98612d; }
.tb-batter[data-position-group], .lv-player { background:var(--position-bg); border-color:var(--position-border); }
.tb-batter[data-position-group]>b, .lv-player>b { color:var(--position-ink); }
.tb-batter[data-position-group] em, .lv-player em { color:var(--position-ink); background:#ffffff85; }
.tb-batter[data-position-group].is-selected { background:var(--position-bg); border-color:#9f803f; outline:2px solid #bd9850; outline-offset:-2px; }
.tb-position.is-filled[data-position-group] { background:var(--position-bg); border-color:var(--position-border); color:var(--position-ink); }
.tb-position.is-selected { outline:2px solid #fff; outline-offset:2px; }
.tb-position.is-target { border:2px solid #f3d79b; box-shadow:0 0 0 3px #f3d79b44; background:#34564c; }
.tb-position.is-suggested { border:2px solid #f3d79b; box-shadow:0 0 0 2px #f3d79b45; animation:tb-position-hint 1.5s ease-in-out 2; }
@keyframes tb-position-hint { 0%,100% { box-shadow:0 0 0 2px #f3d79b45; } 50% { box-shadow:0 0 0 5px #f3d79b55,0 0 13px #f3d79b65; } }
.tb-batter.is-candidate { border-color:#4f9c81; box-shadow:inset 0 0 0 1px #4f9c81; }
.tb-batter.is-candidate em { background:#d8ebdf; color:#28634e; }
.tb-batter.is-unavailable { opacity:.42; cursor:default; }
.tb-roster-choice { margin:4px 0; padding:9px 12px; border:1px solid #dee8eb; border-radius:11px; background:#fff; transition:background .15s,color .15s,border-color .15s; }
.tb-roster-choice.is-checked { background:#194e5d; border-color:#194e5d; color:#fff; }
.tb-roster-choice.is-checked small { color:#d0e2e6; }
.tb-roster-choice.is-checked em { color:#f0d99e; }
.tb-roster-choice.is-checked input { accent-color:#f0d99e; }
.tb-roster-choice:focus-within { outline:2px solid #c5a059; outline-offset:1px; }
.tb-bench .is-selected { border-color:#9f803f; box-shadow:inset 0 0 0 1px #9f803f; }

.lv-shell { max-width:1260px; height:100%; margin:auto; padding:0 24px 10px; display:flex; flex-direction:column; gap:10px; }
.lv-toolbar { display:flex; align-items:center; gap:12px; flex:0 0 64px; }
.lv-toolbar>div { flex:1; }
.lv-toolbar small { font-size:.59rem; color:#66828d; font-weight:850; letter-spacing:.17em; }
.lv-toolbar h2 { font-size:1.25rem; color:#183f4e; margin:3px 0 0; line-height:1.1; }
.lv-date { padding:7px 12px; border:1px solid #ddcda7; background:#f5ecd8; color:#86652e; border-radius:10px; font-weight:800; font-size:.87rem; }
.lv-content { flex:1; min-height:0; width:100%; display:grid; grid-template-rows:minmax(0,1fr) 44px; gap:10px; }
.lv-board { display:grid; grid-template-columns:1.12fr 1fr; gap:24px; min-height:0; }
.lv-field { max-height:none; }
.lv-position { cursor:default; }
.lv-order { flex:1; min-height:0; padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(13,minmax(0,1fr)); column-gap:10px; }
.lv-player { display:flex; align-items:center; gap:6px; min-height:0; min-width:0; margin:3px 0; padding:4px 8px; border:1px solid var(--position-border); border-radius:10px; }
.lv-player>b { flex:0 0 23px; font-size:.86rem; font-variant-numeric:tabular-nums; text-align:center; }
.lv-player-identity { display:flex; flex:1; flex-direction:column; justify-content:center; min-width:0; gap:2px; }
.lv-player-identity small { color:#597382; font-size:.7rem; line-height:1.1; }
.lv-player-identity strong { font-size:.94rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.15; }
.lv-player em { font-size:.73rem; font-weight:850; font-style:normal; padding:3px 5px; border-radius:5px; flex-shrink:0; }
.lv-player.is-empty { border-style:dashed; background:transparent; opacity:.6; }
.lv-player.is-empty strong { font-weight:500; }
.lv-bench-strip { display:flex; align-items:center; min-width:0; gap:12px; border-top:1px solid #d7e2e8; }
.lv-bench-strip>strong { flex-shrink:0; font-size:.76rem; color:#657f8c; }
.lv-bench-strip>strong>span { margin-left:3px; }
.lv-bench { display:flex; align-items:center; gap:7px; min-width:0; overflow-x:auto; scrollbar-width:thin; padding:5px 0; }
.lv-bench>span { flex-shrink:0; white-space:nowrap; border:1px solid #d2dfe4; border-radius:8px; background:#fff; padding:6px 10px; font-size:.77rem; }
.lv-bench>.lv-no-bench { border:0; background:none; color:#8799a2; }
.tb-review-panel.lv-review-shell { width:100%; height:100%; max-height:100%; padding:0 24px 10px; margin:0; border-radius:0; background:#eef3f6; display:flex; flex-direction:column; overflow:hidden; gap:8px; }
.lv-review-heading { flex:0 0 56px; margin:0; }
#tb-review-content { flex:1; display:flex; min-height:0; }
.lv-review-actions { display:flex; gap:12px; align-items:center; flex:0 0 50px; }
.lv-review-actions #tb-review-message { flex:1; min-width:0; margin:0; font-size:.78rem; line-height:1.4; max-height:3em; overflow:auto; }
.lv-review-actions button { flex-shrink:0; }

@media(max-width:740px) {
  .lv-shell { padding:0 12px 8px; gap:5px; }
  .lv-toolbar { flex-basis:48px; gap:9px; }
  .lv-toolbar h2 { font-size:1.08rem; }
  .lv-toolbar small { font-size:.5rem; }
  .lv-date { font-size:.76rem; padding:6px 9px; }
  .lv-content { grid-template-rows:minmax(0,1fr) 38px; gap:5px; }
  .lv-board { grid-template-columns:1fr; grid-template-rows:minmax(0,.84fr) minmax(0,1fr); gap:7px; }
  .lv-order { column-gap:8px; }
  .lv-player { padding:3px 6px; margin:2px 0; gap:4px; border-radius:7px; }
  .lv-player>b { flex-basis:18px; font-size:.75rem; }
  .lv-player-identity { flex-direction:row; justify-content:flex-start; align-items:center; gap:4px; }
  .lv-player-identity strong { font-size:.8rem; }
  .lv-player-identity small { font-size:.62rem; flex-shrink:0; }
  .lv-player em { font-size:.62rem; padding:2px 3px; }
  .lv-bench-strip { gap:8px; }
  .lv-bench-strip>strong,.lv-bench>span { font-size:.69rem; }
  .lv-bench>span { padding:5px 8px; }
  .tb-review-panel.lv-review-shell { padding:0 12px 6px; gap:5px; }
  .lv-review-heading { flex-basis:46px; }
  .lv-review-heading h3 { font-size:.95rem; }
  .lv-review-heading .ws-button { min-height:34px; padding:6px 9px; font-size:.75rem !important; }
  .lv-review-actions { flex-basis:43px; gap:8px; }
  .lv-review-actions #tb-review-message { font-size:.67rem; }
  .lv-review-actions button { min-height:36px; font-size:.76rem !important; padding:7px 10px; }
}
@media(max-width:420px) {
  .lv-player-identity { flex-direction:column; align-items:flex-start; justify-content:center; gap:0; }
  .lv-player-identity strong { font-size:.77rem; }
  .lv-player-identity small { font-size:.56rem; }
}
@media(max-height:650px) and (orientation:portrait) {
  .lv-toolbar { flex-basis:42px; }
  .lv-toolbar small { display:none; }
  .lv-board { grid-template-rows:minmax(0,.72fr) minmax(0,1fr); gap:4px; }
  .lv-content { grid-template-rows:minmax(0,1fr) 32px; gap:4px; }
  .lv-player { padding:2px 4px; margin:1.5px 0; }
  .lv-player>b { flex-basis:16px; font-size:.68rem; }
  .lv-player-identity strong { font-size:.73rem; }
  .lv-player-identity small { font-size:.52rem; }
  .lv-review-heading { flex-basis:40px; }
  .lv-review-actions { flex-basis:40px; }
}
@media(max-height:520px) and (orientation:landscape) {
  .lv-shell { padding:0 14px 4px; gap:3px; }
  .lv-toolbar { flex-basis:40px; }
  .lv-toolbar small { display:none; }
  .lv-content { grid-template-rows:minmax(0,1fr) 32px; gap:3px; }
  .lv-board { grid-template-columns:1fr 1.08fr; grid-template-rows:1fr; gap:14px; }
  .lv-player { margin:1.5px 0; padding:2px 5px; border-radius:6px; gap:4px; }
  .lv-player>b { flex-basis:15px; font-size:.68rem; }
  .lv-player-identity { flex-direction:row; align-items:center; justify-content:flex-start; gap:4px; }
  .lv-player-identity small { font-size:.57rem; }
  .lv-player-identity strong { font-size:.73rem; }
  .lv-player em { font-size:.6rem; padding:2px 3px; }
  .lv-review-heading { flex-basis:38px; }
  .lv-review-actions { flex-basis:38px; }
  .tb-review-panel.lv-review-shell { padding:0 14px 4px; gap:3px; }
  .tb-status { display:block; grid-row:2; font-size:.65rem; padding:4px 8px; }
  .tb-shell { grid-template-rows:38px 23px minmax(0,1fr) 32px 38px; }
}
@media(prefers-reduced-motion:reduce) {
  .tb-position.is-suggested { animation:none; }
  .tb-roster-choice { transition:none; }
}
