/* Namespaced team-position console; no global page/layout overrides. */
.joust-strike { --js-cyan:var(--cyan,#35d4ff); --js-green:var(--green,#55ff87); --js-muted:var(--muted,#a6adbe); min-width:0; padding:16px; color:var(--text,#f4f4ff); border:1px solid #b5915366; background:linear-gradient(125deg,#a77c2010,transparent 40%),radial-gradient(ellipse at top right,#9b4dff20,transparent 65%),#0b0e16; box-shadow:inset 0 0 0 4px #070911; font:inherit; }
.joust-strike *, .joust-strike *::before, .joust-strike *::after { box-sizing:border-box; }
.joust-strike [hidden] { display:none!important; }
.joust-strike-header { display:flex; align-items:center; gap:12px; }
.joust-strike-header > img { width:56px; height:56px; object-fit:contain; flex:none; filter:drop-shadow(0 0 12px #9b4dff66); }
.joust-strike-heading { min-width:0; flex:1; }
.joust-strike h3 { margin:2px 0; font:700 1.4rem/1.15 var(--heading,'Arial Narrow',sans-serif); text-transform:uppercase; }
.joust-strike-eyebrow { margin:0; color:var(--js-cyan); font-size:.58rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.joust-strike-game { margin:5px 0 0; color:var(--js-muted); font-size:.7rem; overflow-wrap:anywhere; }
.joust-strike-cost { border-left:2px solid var(--js-green); padding:8px 10px; background:#55ff8709; }
.joust-strike-cost strong,.joust-strike-cost small { display:block; }
.joust-strike-cost strong { color:var(--js-green); font:700 1.35rem/1.2 var(--heading,'Arial Narrow',sans-serif); }
.joust-strike-cost small { font-size:.57rem; margin-top:4px; color:var(--js-muted); }
.joust-strike-intro { margin:10px 0 8px; color:#dfc58f; font-size:.74rem; line-height:1.5; }
.joust-strike-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 18px; color:var(--js-muted); font-size:.65rem; line-height:1.5; }
.joust-strike-meta span:last-child { color:var(--js-cyan); }
.joust-strike-picks { display:grid; gap:8px; margin:12px 0; }
.joust-strike-team { min-width:0; margin:0; padding:7px 8px 9px; border:1px solid #b591533b; background:#07091280; }
.joust-strike-team legend { padding:0 6px; color:#dfc58f; font-size:.65rem; font-weight:900; letter-spacing:.12em; }
.joust-strike-position-row { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
.joust-strike .joust-strike-position { min-width:0; padding:8px 2px; border-color:#b591534a; background:linear-gradient(#242130,#11121c); color:#e5d8b9; font-size:.72rem; }
.joust-strike .joust-strike-position[aria-pressed="true"] { opacity:1; border-color:var(--js-green); background:linear-gradient(#21472c,#10271c); color:var(--js-green); box-shadow:inset 0 -3px var(--js-green),0 0 12px #55ff8719; }
.joust-strike-empty { margin:0; padding:12px; color:var(--js-muted); border:1px dashed #b5915344; font-size:.73rem; }
.joust-strike-scoreboard { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px; margin-top:12px; padding:10px 12px; border:1px solid #35d4ff38; background:#35d4ff07; }
.joust-strike-side { display:flex; gap:9px; align-items:center; color:var(--js-muted); font-size:.72rem; font-weight:900; }
.joust-strike-side:last-child { justify-content:flex-start; flex-direction:row-reverse; }
.joust-strike-side strong { color:#fff; font:700 1.7rem/1 var(--heading,'Arial Narrow',sans-serif); }
.joust-strike-match-status { color:var(--js-cyan); text-align:center; font-size:.65rem; font-weight:900; overflow-wrap:anywhere; }
.joust-strike-scoreboard[data-state="INPROGRESS"] .joust-strike-match-status { color:var(--js-green); }
.joust-strike-selected { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; margin-top:10px; padding:10px 12px; border-left:3px solid var(--js-green); background:#55ff870b; }
.joust-strike-selected > span:first-child { grid-column:1/-1; color:var(--js-muted); font-size:.58rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.joust-strike-selected strong { font:700 1.3rem/1.1 var(--heading,'Arial Narrow',sans-serif); color:var(--js-green); }
.joust-strike-selected > span:last-child { align-self:center; color:#dfc58f; font-size:.64rem; }
.joust-strike button { min-height:44px; max-width:100%; padding:11px 15px; color:#fff; border:1px solid #ffffff40; border-radius:0; font:inherit; font-size:.74rem; font-weight:800; cursor:pointer; white-space:normal; overflow-wrap:anywhere; }
.joust-strike-primary { background:#8c35ed; box-shadow:3px 3px 0 #35d4ff35; }
.joust-strike-secondary { background:#ffffff07; }
.joust-strike button:disabled { opacity:.48; box-shadow:none; cursor:not-allowed; }
.joust-strike :is(button,summary):focus-visible { outline:2px solid var(--js-cyan); outline-offset:3px; }
.joust-strike-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.joust-strike-status { min-height:1.5em; margin:8px 0; color:var(--js-muted); font-size:.67rem; line-height:1.5; overflow-wrap:anywhere; }
.joust-strike-status[data-state="warning"] { color:#ffd690; }
.joust-strike-rules { border-top:1px solid #ffffff1c; margin-top:10px; }
.joust-strike-rules > summary { padding:10px 0; cursor:pointer; color:var(--js-cyan); font-size:.7rem; font-weight:800; min-height:44px; }
.joust-strike-rules p,.joust-strike-fine { color:var(--js-muted); font-size:.69rem; line-height:1.6; }
.joust-strike-receipt { margin-top:8px; padding:8px 10px; border-left:3px solid var(--js-cyan); background:#35d4ff0a; color:var(--js-cyan); font-size:.67rem; line-height:1.5; }
.joust-strike-receipt[data-state="verified"] { border-color:var(--js-green); color:var(--js-green); background:#55ff870a; }
.joust-strike-dialog { width:min(540px,calc(100% - 24px)); max-height:calc(100dvh - 24px); margin:auto; padding:24px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--js-cyan); color:var(--text,#f4f4ff); background:radial-gradient(ellipse at top right,#9b4dff25,transparent 65%),#0d1019; font:inherit; box-shadow:0 20px 80px #000b; }
.joust-strike-dialog::backdrop { background:#03050ddd; backdrop-filter:blur(5px); }
.joust-strike-summary { list-style:none; margin:18px 0; padding:0; display:grid; gap:7px; }
.joust-strike-summary li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; padding:12px; border:1px solid #ffffff20; }
.joust-strike-summary span { color:var(--js-cyan); font-weight:900; font-size:.75rem; }
.joust-strike-summary strong { font-size:.76rem; overflow-wrap:anywhere; }
.joust-strike-dialog-cost { color:var(--js-green); font-size:.8rem; font-weight:800; line-height:1.6; }
@media(max-width:420px) {
  .joust-strike { padding:11px; } .joust-strike-header { gap:7px; }
  .joust-strike-header > img { width:44px; height:44px; } .joust-strike h3 { font-size:1.2rem; }
  .joust-strike-cost { padding:5px 6px; } .joust-strike-cost strong { font-size:1.05rem; } .joust-strike-cost small { font-size:.5rem; }
  .joust-strike-eyebrow { font-size:.5rem; } .joust-strike-game { font-size:.62rem; }
  .joust-strike-actions { gap:6px; } .joust-strike-actions > button { padding:8px; font-size:.66rem; flex:1; }
  .joust-strike-scoreboard { padding:9px; } .joust-strike-side { gap:6px; } .joust-strike-match-status { max-width:86px; }
  .joust-strike-dialog { padding:18px; }
}
