/* Accessible chat and code-drop controls. Loaded after courtside.css. */
.chat-sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
button.chat-head{
  width:100%;border:0;border-bottom:1px solid var(--line);
  border-radius:0;background:var(--panel-2);color:var(--muted);
  font-family:inherit;text-align:left;cursor:pointer;min-height:44px;
}
.chat-head:focus-visible,.chat-form input:focus-visible,
.chat-form button:focus-visible,.hype-btn:focus-visible,
.chat-jump:focus-visible,.drop-action:focus-visible,.drop-shop:focus-visible{
  outline:2px solid var(--accent);outline-offset:3px;
}
.chat-form button:disabled{opacity:.6;cursor:wait}
.chat-feedback{
  flex:0 0 auto;margin:0;padding:8px 12px;font-size:12px;line-height:1.4;
  color:var(--text);border-top:1px solid var(--line);background:var(--panel-2);
}
.chat-feedback[data-kind="error"]{color:#ffd1d8}
.chat-feedback[hidden]{display:none}
#chatMount.chat-collapsed{height:48px;overflow:hidden}
#chatMount.chat-collapsed .chat{height:48px;border-radius:var(--radius)}
#chatMount.chat-collapsed .chat-head{min-height:48px}
#chatMount.chat-collapsed .chat-pin,
#chatMount.chat-collapsed .chat-scroll-wrap,
#chatMount.chat-collapsed .chat-scroll,
#chatMount.chat-collapsed .chat-hype,
#chatMount.chat-collapsed .chat-form,
#chatMount.chat-collapsed .chat-feedback{display:none}
@media(max-width:1000px){
  #chatMount{bottom:calc(var(--fan-nav-height,0px) + env(safe-area-inset-bottom))}
  /* Safari zooms focused fields smaller than 16px. Preserve user pinch zoom. */
  .chat-form input{font-size:16px;min-height:44px;min-width:0;box-sizing:border-box}
  .chat-form #chatNick{width:80px;flex:0 1 80px}
  .chat-form #chatBody{width:0;flex:1 1 0}
  .chat-form button{min-width:44px;min-height:44px}
  .chat-form input:focus-visible{outline-offset:1px}
  body.chat-keyboard .fan-tabs{visibility:hidden;pointer-events:none}
  body.chat-keyboard #chatMount{
    top:auto;bottom:var(--chat-keyboard-bottom,0px);
    height:min(420px,var(--chat-visible-height,45vh));max-height:var(--chat-visible-height,45vh);
  }
  body.chat-keyboard .chat-form{padding-bottom:10px}
  #dropBanner:not([hidden]) ~ main{padding-top:calc(var(--drop-height,90px) + 12px)}
}
#dropBanner{background:var(--panel);cursor:default}
.drop-action{
  display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  width:100%;border:0;padding:0;background:transparent;color:inherit;
  font:inherit;cursor:pointer;text-align:center;min-height:44px;
}
.drop-action .drop-cta{text-decoration:underline;text-underline-offset:3px}
.drop-tools{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:0 12px}
.drop-shop{color:inherit;font-weight:800;text-decoration:underline;min-height:32px;display:inline-flex;align-items:center}
.drop-feedback{font-size:12px;line-height:1.4;margin:5px 0 0;text-align:center}
.drop-copy-fallback{
  display:block;max-width:100%;width:230px;margin:8px auto;padding:8px;
  border:1px solid currentColor;border-radius:6px;background:var(--panel-2);
  color:var(--text);font:inherit;text-align:center;
}
.drop-feedback[hidden],.drop-copy-fallback[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.drop-inner{animation:none}}
