/* 3RDS Playcaller Legacy — the command center. Black and charcoal glass, lit by neon, readable at 1x. */
.pc3 {
  --bg: #07090A; --glass: rgba(15,18,21,0.94); --glass-2: rgba(10,12,14,0.96);
  --ink: #EEF3F6; --ink-soft: rgba(238,243,246,0.74); --ink-faint: rgba(238,243,246,0.48);
  --cyan: #2EE6FF; --magenta: #FF2E9A; --lime: #B6FF3B; --amber: #FFB22E; --red: #FF3B3B;
  --edge: rgba(46,230,255,0.24); --edge-soft: rgba(238,243,246,0.10);
  --display: "Avenir Next Condensed", "Barlow Condensed", "Oswald", "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
  position: relative; left: 50%; transform: translateX(-50%);
  width: min(1480px, calc(100vw - 24px)); max-width: none !important;
  box-sizing: border-box; margin-top: 12px !important; margin-bottom: 28px !important; padding: 16px;
  background:
    radial-gradient(90% 60% at 50% -10%, rgba(46,230,255,0.10), transparent 60%),
    radial-gradient(60% 50% at 100% 110%, rgba(255,46,154,0.07), transparent 60%),
    var(--bg);
  border: 1px solid rgba(238,243,246,0.08); border-radius: 16px; color: var(--ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; -webkit-font-smoothing: antialiased;
  font-size: 14px; font-weight: 400; line-height: 1.4; letter-spacing: 0; text-align: left;
}
.pc3 *, .pc3 *::before, .pc3 *::after { box-sizing: border-box; }
.pc3 p { margin: 0; color: var(--ink-soft); font-size: 14px; }
.pc3 b { color: var(--ink); font-weight: 700; }
.pc3 [hidden] { display: none !important; }
.pc3__hero { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; margin-bottom: 14px; }
.pc3__brand { display: flex; gap: 12px; align-items: flex-start; min-width: 0; flex: 1 1 320px; }
.pc3__logo { display: block; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 8px; object-fit: contain; }
@media (max-width: 560px) { .pc3__logo { width: 36px; height: 36px; flex-basis: 36px; } }
.pc3__credit { color: var(--cyan); font-size: 12px; }
.pc3__eyebrow { display: block; font: 700 11px/1.2 Inter, system-ui, sans-serif; letter-spacing: .22em; text-transform: uppercase; color: var(--cyan); text-shadow: 0 0 10px rgba(46,230,255,.45); }
.pc3 h2 { margin: 6px 0 4px; font-family: var(--display); font-weight: 700; font-size: clamp(26px, 3.4vw, 40px); line-height: 1; letter-spacing: .01em; text-transform: uppercase; color: var(--ink); }
.pc3 h3 { margin: 6px 0; font: 700 22px/1.1 var(--display); text-transform: uppercase; color: var(--ink); }
.pc3 h4 { margin: 16px 0 6px; font: 700 12px/1.2 Inter, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--amber); }
.pc3__hero p { max-width: 72ch; }
.pc3__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.pc3__chip { font: 600 11px/1 Inter, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; padding: 6px 10px; border: 1px solid var(--edge); border-radius: 999px; color: var(--ink-soft); }
.pc3__chip.is-quiet { color: var(--amber); border-color: rgba(255,178,46,.35); }

/* ---------- glass panels with corner brackets ---------- */
.pc3__panel {
  position: relative; display: flex; flex-direction: column; gap: 10px; padding: 14px;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,0.018) 0 1px, transparent 1px 3px),
    linear-gradient(180deg, var(--glass), var(--glass-2));
  border: 1px solid var(--edge); border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(46,230,255,.10), 0 10px 30px rgba(0,0,0,.35);
}
.pc3__panel::before, .pc3__panel::after { content: ""; position: absolute; width: 14px; height: 14px; pointer-events: none; }
.pc3__panel::before { top: -1px; left: -1px; border-top: 2px solid var(--cyan); border-left: 2px solid var(--cyan); border-top-left-radius: 12px; filter: drop-shadow(0 0 4px rgba(46,230,255,.8)); }
.pc3__panel::after { bottom: -1px; right: -1px; border-bottom: 2px solid rgba(46,230,255,.55); border-right: 2px solid rgba(46,230,255,.55); border-bottom-right-radius: 12px; }
.pc3__panel.is-gold { border-color: rgba(255,178,46,.45); }
.pc3__panel.is-gold::before { border-color: var(--amber); filter: drop-shadow(0 0 4px rgba(255,178,46,.8)); }
.pc3__panel.is-alert { border-color: rgba(255,59,59,.5); }
.pc3__panel.is-mine { border-style: dashed; border-color: rgba(46,230,255,.4); background: rgba(46,230,255,.05); }
.pc3__panel.is-mine::before, .pc3__panel.is-mine::after { display: none; }
.pc3__panel.is-mine p { color: var(--ink); font-size: 13px; }
.pc3__panel.is-result { border-color: rgba(255,46,154,.4); }
.pc3__panel.is-result::before { border-color: var(--magenta); filter: drop-shadow(0 0 4px rgba(255,46,154,.8)); }
.pc3__label { font: 700 11px/1.2 Inter, system-ui, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--cyan); }
.pc3 label { display: flex; flex-direction: column; gap: 5px; margin: 0; font: 600 11px/1.2 Inter, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-faint); }
.pc3 select, .pc3 input[type="text"], .pc3 input[type="search"] {
  background: #0B0E10; color: var(--ink); border: 1px solid rgba(238,243,246,.16); border-radius: 8px; padding: 9px 10px;
  font: 400 15px/1.2 Inter, system-ui, sans-serif; text-transform: none; letter-spacing: 0; width: 100%; min-height: 40px; margin: 0;
}
.pc3 select:focus, .pc3 input:focus { border-color: var(--cyan); outline: none; box-shadow: 0 0 0 3px rgba(46,230,255,.18); }
.pc3 button:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.pc3__hint { display: block; color: var(--ink-faint); font-size: 12px; line-height: 1.35; }
.pc3__big { font-size: 16px !important; color: var(--ink) !important; }
.pc3__lock { color: var(--amber) !important; font-size: 13px !important; }
.pc3__err { background: rgba(255,59,59,.12); border: 1px solid rgba(255,59,59,.5); color: #FFD5D5; padding: 9px 11px; border-radius: 10px; font-size: 13px; }
.pc3__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pc3__row3 { display: grid; grid-template-columns: 1fr; gap: 6px; }
.pc3__steps { margin: 0; padding-left: 18px; color: var(--ink-soft); display: flex; flex-direction: column; gap: 7px; font-size: 14px; }

/* ---------- arcade buttons: rest (cyan edge), hover (glow), pressed (magenta), the big one (amber) ---------- */
.pc3__btn {
  appearance: none; -webkit-appearance: none; margin: 0; border: 1px solid rgba(46,230,255,.45); background: linear-gradient(180deg, #14181B, #0D1012); color: var(--ink);
  font: 700 12px/1.2 Inter, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; padding: 12px 12px; border-radius: 9px; cursor: pointer; text-align: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05); transition: box-shadow .12s, border-color .12s, background .12s;
}
.pc3__btn:hover { border-color: var(--cyan); box-shadow: 0 0 0 1px rgba(46,230,255,.35), 0 0 14px rgba(46,230,255,.35); }
.pc3__btn:active { border-color: var(--magenta); box-shadow: inset 0 2px 6px rgba(0,0,0,.6), 0 0 10px rgba(255,46,154,.35); background: #0A0C0E; }
.pc3__btn.is-primary { background: linear-gradient(180deg, #FFC04F, var(--amber)); border-color: var(--amber); color: #150F05; box-shadow: 0 0 16px rgba(255,178,46,.35); }
.pc3__btn.is-primary:hover { box-shadow: 0 0 0 1px rgba(255,178,46,.6), 0 0 22px rgba(255,178,46,.55); }
.pc3__btn.is-ghost { background: transparent; border-color: rgba(238,243,246,.18); color: var(--ink-soft); }
.pc3__btn.is-small { padding: 7px 10px; font-size: 11px; }
.pc3__btn.is-snap { font: 800 20px/1 var(--display); letter-spacing: .24em; padding: 16px; }
.pc3__btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }

/* ---------- setup / waiting ---------- */
.pc3__setup { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 14px; align-items: start; }
.pc3__panel.is-code { grid-column: 1 / -1; max-width: 560px; margin: 0 auto; text-align: center; align-items: center; }
.pc3__code { font: 800 64px/1 var(--display); letter-spacing: .22em; color: var(--cyan); text-shadow: 0 0 18px rgba(46,230,255,.6); padding: 8px 0 8px .22em; }

/* ---------- the scoreboard: three segments of glass ---------- */
.pc3__board { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 6px; align-items: stretch; margin-bottom: 12px; }
.pc3__team, .pc3__mid {
  position: relative; background: linear-gradient(180deg, rgba(20,24,28,.96), rgba(9,11,13,.96));
  border: 1px solid var(--edge); box-shadow: inset 0 1px 0 rgba(46,230,255,.12);
}
.pc3__team { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 12px; align-items: center; padding: 8px 14px; }
.pc3__team.is-away { clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px); border-radius: 0 4px 4px 10px; }
.pc3__team.is-home { clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%); border-radius: 4px 0 10px 4px; }
.pc3__team.has-ball { border-color: var(--amber); box-shadow: inset 0 0 0 1px rgba(255,178,46,.35), inset 0 -3px 0 var(--amber); }
.pc3__abbr { grid-row: 1 / 3; font: 800 24px/1 var(--display); letter-spacing: .05em; color: var(--ink); }
.pc3__name { font-size: 12px; color: var(--ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc3__name em { font-style: normal; font-weight: 700; color: var(--ink-faint); font-size: 10px; letter-spacing: .14em; margin-left: 4px; }
.pc3__name em.is-you { color: var(--cyan); }
.pc3__team b { grid-row: 1 / 3; grid-column: 3; font: 800 38px/1 var(--display); color: var(--ink); text-shadow: 0 0 12px rgba(238,243,246,.25); }
.pc3__tos { display: flex; gap: 4px; }
.pc3__tos i { width: 14px; height: 4px; border-radius: 2px; background: rgba(238,243,246,.14); }
.pc3__tos i.on { background: var(--amber); box-shadow: 0 0 6px rgba(255,178,46,.7); }
.pc3__mid { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 6px 18px; min-width: 210px; text-align: center; border-radius: 4px; }
.pc3__q { font: 800 22px/1.05 var(--display); letter-spacing: .08em; color: var(--ink); }
.pc3__q em { font-style: normal; color: var(--lime); font-size: 12px; }
.pc3__sit { font-size: 13px; color: var(--amber); }
.pc3__callclock { font: 700 11px/1.2 Inter, system-ui, sans-serif; letter-spacing: .16em; color: var(--cyan); min-height: 13px; }
.pc3__callclock.is-hot { color: var(--red); text-shadow: 0 0 8px rgba(255,59,59,.7); }
.pc3__callclock.is-paused { color: var(--ink-faint); }

/* ---------- the three columns ---------- */
.pc3__grid { display: grid; grid-template-columns: 340px minmax(0, 1fr) 300px; grid-template-areas: "calls field info"; gap: 12px; align-items: start; }
.pc3__center { grid-area: field; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pc3__calls { grid-area: calls; }
.pc3__info { grid-area: info; }
.pc3__side { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.pc3__stage { position: relative; border: 1px solid var(--edge); border-radius: 12px; overflow: hidden; background: #050607; line-height: 0; box-shadow: 0 0 0 1px rgba(0,0,0,.6), 0 0 30px rgba(46,230,255,.08); }
.pc3__stage canvas { display: block; width: 100%; }
.pc3__controls { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; min-height: 32px; }
.pc3__status { color: var(--ink-faint); font-size: 12px; }

/* the pre-snap feed: a thin strip lit along its top edge */
.pc3__feed ul { list-style: none; margin: 0; padding: 10px 12px 9px; display: flex; flex-direction: column; gap: 5px; position: relative;
  background: repeating-linear-gradient(0deg, rgba(255,255,255,0.02) 0 1px, transparent 1px 3px), rgba(10,12,14,.94); border: 1px solid rgba(238,243,246,.08); border-radius: 10px; }
.pc3__feed ul::before { content: ""; position: absolute; left: 10px; right: 10px; top: -1px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--cyan), var(--magenta)); box-shadow: 0 0 10px rgba(46,230,255,.5); }
.pc3__feed li { font-size: 13px; color: var(--ink-soft); display: flex; gap: 8px; align-items: baseline; }
.pc3__feed li b { font: 700 10px/1 Inter, system-ui, sans-serif; letter-spacing: .14em; color: var(--cyan); min-width: 30px; }

/* ---------- the call menus ---------- */
.pc3__count { font-size: 12px; color: var(--ink-faint); margin: 2px 0 6px; }
.pc3__list { display: flex; flex-direction: column; gap: 4px; max-height: 330px; overflow-y: auto; padding-right: 2px; overscroll-behavior: contain; }
.pc3__list::-webkit-scrollbar { width: 6px; } .pc3__list::-webkit-scrollbar-thumb { background: rgba(46,230,255,.3); border-radius: 3px; }
.pc3__opt { appearance: none; -webkit-appearance: none; margin: 0; display: flex; flex-direction: column; gap: 2px; align-items: flex-start; width: 100%; text-align: left; cursor: pointer;
  background: rgba(20,24,28,.7); border: 1px solid rgba(238,243,246,.08); border-radius: 8px; padding: 8px 10px; color: var(--ink); font: 400 13px/1.25 Inter, system-ui, sans-serif; letter-spacing: 0; text-transform: none; }
.pc3__opt:hover { border-color: rgba(46,230,255,.55); }
.pc3__opt.is-on { border-color: var(--cyan); background: rgba(46,230,255,.10); box-shadow: inset 3px 0 0 var(--cyan); }
.pc3__rowname { font-weight: 600; color: var(--ink); font-size: 14px; }
.pc3__rowname i { font-style: normal; font-size: 9px; font-weight: 800; letter-spacing: .14em; color: var(--magenta); border: 1px solid rgba(255,46,154,.55); border-radius: 4px; padding: 1px 4px; margin-left: 4px; vertical-align: 2px; }
.pc3__rowsub { font-size: 12px; color: var(--ink-faint); }
.pc3__opt.is-coming .pc3__rowname { color: var(--ink-soft); }
.pc3__opt.is-coming.is-on { border-color: var(--magenta); box-shadow: inset 3px 0 0 var(--magenta); background: rgba(255,46,154,.08); }
.pc3__pager { display: flex; gap: 8px; align-items: center; justify-content: space-between; margin-top: 6px; font-size: 12px; color: var(--ink-faint); }
.pc3__picked { display: flex; flex-direction: column; gap: 3px; padding: 9px 11px; border-radius: 9px; border: 1px solid rgba(46,230,255,.35); background: rgba(46,230,255,.06); font-size: 13px; color: var(--ink-soft); }
.pc3__picked b { font-size: 14px; }
.pc3__picked small { color: var(--ink-faint); font-size: 12px; }
.pc3__picked.is-coming { border-color: rgba(255,46,154,.45); background: rgba(255,46,154,.06); }
.pc3__picked .pc3__btn { margin-top: 6px; }
.pc3__move { border: 1px solid rgba(238,243,246,.10); border-radius: 10px; padding: 8px 10px; background: rgba(8,10,12,.6); }
.pc3__move[open] { display: flex; flex-direction: column; gap: 8px; }
.pc3__move summary { cursor: pointer; font: 700 12px/1.2 Inter, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); list-style: none; }
.pc3__move summary::-webkit-details-marker { display: none; }
.pc3__move summary::before { content: "▸ "; color: var(--cyan); }
.pc3__move[open] summary::before { content: "▾ "; }
.pc3__secrets { margin: 0; padding-left: 16px; color: var(--ink-soft); font-size: 13px; display: flex; flex-direction: column; gap: 3px; }
.pc3__secrets em { color: var(--amber); font-style: normal; }
.pc3__quit { display: flex; justify-content: flex-end; }
.pc3__net { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; padding: 7px 11px; border-radius: 9px; border: 1px solid rgba(182,255,59,.35); background: rgba(182,255,59,.06);
  font: 700 11px/1.3 Inter, system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--lime); }
.pc3__net.is-away { border-color: rgba(255,178,46,.45); background: rgba(255,178,46,.07); color: var(--amber); }

/* ---------- right side: play by play, box score, drives ---------- */
.pc3__tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.pc3__tabs button { appearance: none; margin: 0; background: rgba(14,17,20,.9); border: 1px solid rgba(238,243,246,.1); color: var(--ink-soft); border-radius: 8px; padding: 8px 4px; font: 700 11px/1.2 Inter, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.pc3__tabs button[aria-pressed="true"] { border-color: var(--cyan); color: var(--ink); box-shadow: inset 0 -2px 0 var(--cyan); }
.pc3__infobody { max-height: 640px; overflow-y: auto; background: rgba(10,12,14,.9); border: 1px solid rgba(238,243,246,.08); border-radius: 10px; padding: 8px; }
.pc3__log { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.pc3__log li { display: flex; flex-direction: column; gap: 2px; padding: 7px 8px; border-left: 2px solid rgba(238,243,246,.14); background: rgba(255,255,255,.02); border-radius: 0 6px 6px 0; font-size: 13px; color: var(--ink-soft); }
.pc3__log li.is-score { border-left-color: var(--amber); color: var(--ink); }
.pc3__log li.is-kick { border-left-color: rgba(46,230,255,.5); }
.pc3__log li.is-period, .pc3__log li.is-final { border-left-color: var(--magenta); color: var(--ink); }
.pc3__log small { font-size: 11px; color: var(--ink-faint); }
.pc3__when { font: 700 10px/1 Inter, system-ui, sans-serif; letter-spacing: .12em; color: var(--cyan); }
.pc3__table { width: 100%; border-collapse: collapse; font-size: 12px; margin: 0 0 8px; }
.pc3__table caption { text-align: left; font: 700 10px/1.4 Inter, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--cyan); padding: 4px 0; }
.pc3__table th, .pc3__table td { padding: 5px 6px; border-bottom: 1px solid rgba(238,243,246,.07); text-align: left; color: var(--ink-soft); vertical-align: top; }
.pc3__table th { color: var(--ink-faint); font-weight: 700; font-size: 11px; }
.pc3__table td:first-child { color: var(--ink); }

/* closed / needs-the-whiteboard card */
.pc3--closed { padding: 22px; }

@media (max-width: 1379px) and (min-width: 1200px) {
  .pc3__grid { grid-template-columns: 300px minmax(0, 1fr) 260px; }
}
/* ---------- tablet: the field across the top, calls and the books under it ---------- */
@media (max-width: 1199px) {
  .pc3__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "field field" "calls info"; }
}
/* ---------- phone: one column, field first ---------- */
@media (max-width: 759px) {
  .pc3 { width: calc(100vw - 16px); padding: 10px; border-radius: 12px; }
  .pc3__hero { margin-bottom: 10px; }
  .pc3__hero p { font-size: 13px; }
  .pc3__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "field" "calls" "info"; gap: 10px; }
  .pc3__board { gap: 4px; }
  .pc3__team { padding: 6px 8px; column-gap: 6px; }
  .pc3__team.is-away { clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%, 0 10px); }
  .pc3__team.is-home { clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%); }
  .pc3__abbr { font-size: 18px; }
  .pc3__team b { font-size: 28px; }
  .pc3__name { font-size: 11px; }
  .pc3__mid { min-width: 0; padding: 6px 8px; }
  .pc3__q { font-size: 17px; }
  .pc3__sit { font-size: 12px; }
  .pc3__opt { padding: 9px 10px; }
  .pc3__list { max-height: 300px; }
  .pc3__infobody { max-height: 420px; }
  .pc3__code { font-size: 52px; }
  .pc3__opt { min-height: 44px; }
}
@media (max-width: 380px) {
  .pc3__name { display: none; }
  .pc3__team { grid-template-columns: auto auto; justify-content: space-between; }
  .pc3__team b { grid-column: 2; }
}
@media (max-width: 480px) {
  .pc3__name { display: none; }
  .pc3__team { grid-template-columns: auto auto; grid-template-rows: auto auto; justify-content: space-between; row-gap: 4px; }
  .pc3__abbr { grid-row: 1; grid-column: 1; }
  .pc3__team b { grid-row: 1 / 3; grid-column: 2; }
  .pc3__tos { grid-row: 2; grid-column: 1; }
}
