.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#f7fbff;
  border:1px solid rgba(10,132,255,.10);
  color:#3c5d88;
  font-size:11px;
  font-weight:700;
  width:fit-content;
}

.startInline {
  display:grid;
  gap:5px;
  padding:8px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fbfdff;
}

.startCopy {
  display:grid;
  gap:2px;
}
.readyLabel {
  font-size:12px;
  font-weight:800;
  letter-spacing:-.02em;
}
.readySub {
  font-size:10px;
  line-height:1.25;
  color:var(--muted);
}

.readyBtn {
  width:100%;
  min-height:40px;
  border-radius:10px;
  padding:8px 10px;
  border:1px solid var(--line-strong);
  background:#e9edf3;
  color:#526173;
  font-weight:800;
  cursor:not-allowed;
  box-shadow:none;
}
.readyBtn:disabled {
  opacity:1;
  cursor:not-allowed;
}
.readyBtn.enabled {
  color:#fff;
  background:linear-gradient(180deg,#1290ff,var(--blue));
  border-color:rgba(10,132,255,.45);
  box-shadow:0 10px 20px rgba(10,132,255,.18);
  cursor:pointer;
}
.readyBtn.ready {
  background:linear-gradient(180deg,#eefbf2,#e5f8ea);
  color:var(--green);
  border-color:#b6e4c7;
  box-shadow:none;
  cursor:default;
}
#readyCard.ready {
  background:#f7fcf8;
  border-color:#d3ecd9;
}

.actionsRow {
  display:grid;
  gap:6px;
}
.actionRail {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:38px;
  padding:7px 10px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  box-shadow:none;
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
}
.btn:hover {
  border-color:rgba(15,23,42,.12);
}
.btn.warn {
  background:linear-gradient(180deg,#f5f9ff,#e7efff);
  border-color:rgba(10,132,255,.16);
}
.btn.danger {
  background:linear-gradient(180deg,#fef3f2,#fffafb);
  border-color:rgba(180,35,24,.12);
  color:#991b1b;
  justify-content:flex-start;
  grid-column:1 / -1;
}

.saveBanner {
  padding:8px 9px;
  border-radius:10px;
  border:1px solid rgba(10,132,255,.18);
  background:linear-gradient(180deg, #eff6ff, #e8f2ff);
  box-shadow:var(--shadow-sm);
}
.saveBannerTop {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:900;
  color:#1d4ed8;
}
.saveDot {
  width:10px;
  height:10px;
  border-radius:999px;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.12);
  flex:0 0 auto;
}
.saveBannerText {
  margin-top:5px;
  color:#1e3a8a;
  font-size:12px;
  line-height:1.35;
}
.saveBanner.saved { border-color:#a7e2b6; background:linear-gradient(180deg, #f0fdf4, #e3f8e9); }
.saveBanner.saved .saveBannerTop, .saveBanner.saved .saveBannerText { color:#166534; }
.saveBanner.error { border-color:#f5c2c7; background:linear-gradient(180deg, #fef2f2, #fee2e2); }
.saveBanner.error .saveBannerTop, .saveBanner.error .saveBannerText { color:#991b1b; }

.netNotice {
  display:none;
  padding:8px 9px;
  border-radius:10px;
  border:1px solid #fed7aa;
  background:linear-gradient(180deg, #fff7ed, #ffedd5);
  color:#9a3412;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.netNotice.show { display:block; }

.toggleRow {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.togglePill {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 9px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  font-size:12px;
  font-weight:700;
  color:#243346;
}
.togglePill input { margin:0; }

.lockOverlay {
  position:absolute;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:14px;
  background:linear-gradient(180deg, rgba(248,250,252,.58), rgba(255,255,255,.74));
  backdrop-filter:blur(2px);
  z-index:5;
}
.trackerShell.locked .lockOverlay, .mapShell.locked .lockOverlay { display:flex; }
.lockCard {
  max-width:340px;
  width:100%;
  padding:12px;
  text-align:center;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 34px rgba(15,23,42,.10);
}
.lockTitle {
  font-size:14px;
  font-weight:900;
  letter-spacing:-.02em;
}
.lockText {
  margin-top:6px;
  font-size:12px;
  line-height:1.45;
  color:var(--muted);
}
.lockMini {
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  padding:6px 9px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-size:11px;
  font-weight:800;
  color:#344256;
}

.compSummary {
  padding:7px 8px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.06);
  background:#fcfdff;
  box-shadow:none;
  display:grid;
  gap:6px;
}
.compGrid {
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}
.compPill {
  padding:7px 8px;
  border-radius:10px;
  border:1px solid rgba(15,23,42,.06);
  background:#fff;
  box-shadow:none;
  font-size:13px;
}

.leaderboardList {
  display:grid;
  gap:6px;
}
.leader {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  padding:8px 9px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.leader:first-child {
  background:linear-gradient(180deg, #f8fafc, #eef2f7);
  border-color:rgba(0,0,0,.06);
}
.leader.me {
  border-color:rgba(10,132,255,.42);
  background:linear-gradient(180deg, #eff6ff, #e0edff);
  box-shadow:0 10px 22px rgba(10,132,255,.10);
}
.leaderName {
  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;
}
.leaderMeta {
  margin-top:2px;
  font-size:12px;
  color:var(--muted);
  line-height:1.35;
}
.leaderRank {
  border-radius:999px;
  padding:5px 8px;
  border:1px solid var(--line);
  background:#fff;
  color:#223145;
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
  flex:0 0 auto;
}
.leader.me .leaderRank {
  background:linear-gradient(180deg, var(--blue), #1269d3);
  color:#fff;
  border-color:transparent;
}

.leaderboardDetails[open] .collapseIcon,
.compDetails[open]

/* Returning player picker */
.recentPlayersWrap{
  display:grid;
  gap:6px;
}
.recentPlayersWrap:empty{
  display:none;
}
.recentPlayersLabel{
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#71839b;
}
.recentPlayersList{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.recentPlayerBtn{
  min-height:34px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
}
.recentPlayerBtn:hover{
  border-color:rgba(15,23,42,.14);
  transform:translateY(-1px);
}
.recentPlayerBtn:active{
  transform:scale(.985);
}

.leaderboardCardTop{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.leaderboardDetails,
.compDetails{
  display:block;
}
.leaderboardSummary,
.compSummaryHeader{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px 9px;
  user-select:none;
}
.leaderboardSummary::-webkit-details-marker,
.compSummaryHeader::-webkit-details-marker{
  display:none;
}
.leaderboardSummaryContent,
.compSummaryContent{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.collapseIcon{
  width:16px;
  height:16px;
  stroke:#516174;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
  transition:transform .18s ease, stroke .16s ease;
}
.leaderboardSummary:hover .collapseIcon,
.compSummaryHeader:hover .collapseIcon{
  stroke:#243346;
}
.leaderboardDetails[open] .collapseIcon,
.compDetails[open] .collapseIcon{
  transform:rotate(180deg);
}
.leaderboardTopBody{
  border-top:1px solid var(--line);
  padding:7px;
  max-height:320px;
  overflow:auto;
}
.leaderboardTopBody .leaderboardList{
  max-width:none;
  margin:0;
}
.compSummary{
  margin-top:0;
  border-top:1px solid var(--line);
  padding-top:10px;
}

/* Utility cleanup */
.spacer8{height:8px;}
.hiddenPanel{display:none;}
.missionCompactSpaced{margin-bottom:8px;}

/* Final collapsible polish */
.leaderboardSummary,
.compSummaryHeader{
  transition:background .14s ease;
}
.leaderboardSummary:hover,
.compSummaryHeader:hover{
  background:rgba(10,132,255,.02);
}
.leaderboardSummaryContent .sectionSub,
.compSummaryContent .sectionSub{
  margin-top:1px;
}
.leaderboardTopBody{
  scrollbar-width:thin;
}
.leaderboardTopBody::-webkit-scrollbar{
  width:8px;
}
.leaderboardTopBody::-webkit-scrollbar-thumb{
  background:rgba(148,163,184,.45);
  border-radius:999px;
}
.leaderboardTopBody::-webkit-scrollbar-track{
  background:transparent;
}

.tripProgressLabel{
  color:var(--muted);
  font-weight:800;
}
.tripProgressValue{
  font-weight:800;
}
.leaderNameStd{
  font-size:15px;
}

/* Game-first setup status */
.gameStatus{
  display:grid;
  gap:10px;
  margin-top:10px;
}
.targetPillBtn{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(183,121,31,.18);
  background:rgba(183,121,31,.06);
  color:var(--text);
  font-weight:800;
  cursor:pointer;
  box-shadow:none;
  transition:transform .12s ease, background .12s ease, border-color .12s ease;
}
.targetPillBtn:hover{
  transform:translateY(-1px);
  background:rgba(183,121,31,.09);
  border-color:rgba(183,121,31,.24);
}
.targetPillBtn:active{
  transform:scale(.985);
}
.targetLabel{
  font-size:11px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}
.targetCode{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(183,121,31,.16);
  background:rgba(255,255,255,.84);
  color:#7a5420;
  font-size:16px;
  font-weight:900;
}
.playerStatusWrap{
  min-height:20px;
}
.playerStatus{
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  color:var(--text);
}
.playerStatusWrap[data-tone="muted"] .playerStatus{
  color:var(--muted);
}
.playerStatusWrap[data-tone="saved"] .playerStatus{
  color:var(--text);
}
.playerStatusWrap[data-tone="error"] .playerStatus{
  color:var(--red);
}
.gameActionsSubtle{
  display:flex;
  gap:14px;
  align-items:center;
}
.linkBtn{
  background:none;
  border:none;
  padding:0;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  color:var(--muted);
  cursor:pointer;
}
.linkBtn:hover{
  color:var(--text);
}
.linkBtn.danger{
  color:#b42318;
}
.netNoticeInline{
  margin-top:0;
  padding:0;
  border:none;
  background:none;
  box-shadow:none;
  font-size:12px;
  line-height:1.4;
  color:var(--muted);
}
.netNoticeInline.show{
  display:flex;
}
.srOnly{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* Final polish pass */
.targetPillBtn{
  box-shadow:0 6px 18px rgba(183,121,31,.08);
}
.targetPillBtn:hover{
  box-shadow:0 10px 22px rgba(183,121,31,.12);
}
.targetPillBtn.targetPulse{
  animation:targetPillPulse .42s ease;
}
@keyframes targetPillPulse{
  0%{ transform:scale(.985); }
  50%{ transform:scale(1.015); }
  100%{ transform:scale(1); }
}

.playerStatus{
  letter-spacing:-.01em;
}

.linkBtn{
  opacity:.9;
  transition:opacity .14s ease, color .14s ease;
}
.linkBtn:hover{
  opacity:1;
}

.pill{
  box-shadow:none;
}
.heroPillsGame .pill.active{
  box-shadow:0 8px 18px rgba(10,132,255,.12);
}


/* Option A polish pass */
.heroGame{
  position:relative;
}
.heroGame h1{
  letter-spacing:-.04em;
}
.heroMetaGame,
.gameStatus,
.recentPlayersWrap{
  animation:fadeLiftIn .24s ease;
}
@keyframes fadeLiftIn{
  from{ opacity:0; transform:translateY(4px); }
  to{ opacity:1; transform:translateY(0); }
}

.targetPillBtn{
  background:linear-gradient(180deg, rgba(183,121,31,.07), rgba(183,121,31,.045));
  border-color:rgba(183,121,31,.18);
}
.targetPillBtn:hover{
  background:linear-gradient(180deg, rgba(183,121,31,.10), rgba(183,121,31,.06));
}
.targetPillBtn:focus-visible,
.readyBtn:focus-visible,
.linkBtn:focus-visible,
.recentPlayerBtn:focus-visible,
.leaderboardSummary:focus-visible,
.compSummaryHeader:focus-visible{
  outline:2px solid rgba(10,132,255,.35);
  outline-offset:2px;
}

.heroPillsGame .pill,
.recentPlayerBtn{
  backdrop-filter:saturate(1.05);
}

.playerStatus{
  transition:opacity .15s ease, color .15s ease, transform .15s ease;
}
.playerStatusWrap[data-tone="saved"] .playerStatus{
  transform:translateY(0);
}
.playerStatusWrap[data-tone="muted"] .playerStatus{
  opacity:.92;
}

.leaderboardSummary,
.compSummaryHeader{
  border-radius:12px;
}
.leaderboardDetails[open] .leaderboardSummary,
.compDetails[open] .compSummaryHeader{
  border-radius:0;
}

.netNoticeInline{
  opacity:.92;
}
