/* Rounded sports workspace, based on the supplied ArrowEdge red/yellow logo. */
:root {
  --bg: #fff9ed;
  --paper: #fffef9;
  --ink: #321719;
  --sub: #78605d;
  --line: #eddcd1;
  --accent: #b51b27;
  --mint: #ffd13f;
  --sidebar: #261315;
  --raised: #fff0dc;
  --accent-soft: #c91e2b12;
  --accent-border: #c91e2b45;
  --brand-red: #c91e2b;
  --brand-yellow: #ffd13f;
  --radius: 20px;
}
:root[data-theme='dark'] {
  --bg: #1b1717;
  --paper: #272020;
  --ink: #fff8ee;
  --sub: #c6b6aa;
  --line: #483737;
  --accent: #ffd13f;
  --mint: #ffd13f;
  --sidebar: #1b1717;
  --raised: #342828;
  --accent-soft: #ffd13f18;
  --accent-border: #ffd13f45;
}
:root[data-theme='dark'] .sidebar,
.sidebar {
  background: var(--sidebar);
}
/* Mascot artwork replaces the old letter tile without changing navigation. */
.brand-mascot {
  width: 42px;
  height: 48px;
  object-fit: contain;
  flex: none;
}
.brand strong > span {
  color: var(--brand-yellow);
}
.brand-sub,
.nav-label,
.sidebar-version,
.practice-note > span:last-child {
  color: #d8bdb1;
}
.nav-link,
.sidebar-tool {
  color: #f2dfd3;
}
.nav-link.active {
  background: #c91e2b26;
  border-color: #ffd13f38;
  color: var(--brand-yellow);
}
.nav-link.active .nav-count {
  color: var(--brand-yellow);
}
:root .masthead {
  background: var(--paper);
  border-color: var(--line);
}
:root .avatar {
  color: var(--accent);
  background: var(--accent-soft);
  border-color: var(--paper);
  outline-color: var(--line);
}
.brand-logo {
  display: block;
  width: 230px;
  max-width: 100%;
  height: auto;
  border-radius: 16px;
  margin: 16px 0 24px;
}
@media (max-width: 1000px) {
  .brand-mascot {
    width: 32px;
    height: 40px;
  }
}
@media (max-width: 800px) {
  .header-brand-mobile {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 19px;
    white-space: nowrap;
  }
  .header-brand-mobile img {
    width: 30px;
    height: 36px;
    object-fit: contain;
  }
}
.brand-sub {
  letter-spacing: 1.1px;
}
:root .section-tabs {
  border-radius: 999px;
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 5px;
  gap: 3px;
  overflow-x: auto;
}
:root .section-tab {
  border-radius: 999px;
  min-height: 44px;
  padding: 9px 19px;
  white-space: nowrap;
  flex-shrink: 0;
  transition:
    background 0.18s,
    color 0.18s;
}
:root .section-tab.active,
:root[data-theme='dark'] .section-tab.active {
  background: linear-gradient(110deg, #b91c1c, #d62820);
  color: #fffef9;
  box-shadow: 0 2px 10px #c91e2b25;
}
:root .button.primary,
:root[data-theme='dark'] .button.primary {
  background: linear-gradient(110deg, #b91c1c, #d62820);
  border-color: transparent;
  color: #fffef9;
  border-radius: 13px;
}
:root .button.primary:hover,
:root[data-theme='dark'] .button.primary:hover {
  background: #b51923;
  border-color: transparent;
}
:root .gc-toggle,
:root .gc-toggle:hover {
  color: var(--accent);
}
:root :is(.game-kickoff, .game-status, .feed-line, .card-eyebrow, .game-center-heading .eyebrow) {
  color: var(--sub);
}
:root .theme-toggle {
  border-radius: 999px;
  min-height: 44px;
}
:root[data-theme='dark'] :is(button, a, input, select, textarea):focus-visible {
  outline-color: #ffd13f;
}
:root .preset.active,
:root[data-theme='dark'] .preset.active,
:root .tab.active,
:root[data-theme='dark'] .tab.active {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent);
}
:root .game-tile.active,
:root[data-theme='dark'] .game-tile.active {
  border-color: var(--accent);
  background: var(--paper);
  box-shadow: inset 0 0 0 1px var(--accent);
}
:root .game-tile {
  border-radius: 20px;
}
:root .game-tile .team-emblem {
  background: var(--accent-soft);
  color: var(--accent);
  font-size: 10px;
  overflow: hidden;
}
:root .chip.connected {
  background: var(--accent-soft);
  color: var(--accent);
  border-color: var(--accent-border);
}
body:is([data-view='desk'], [data-view='daily']) .daily-panel {
  display: block;
}
.daily-panel {
  position: relative;
  padding: 26px;
  border-radius: 24px;
  border: 1px solid #e2b833;
  background: linear-gradient(130deg, #ffe883, #ffd13f);
  color: #29210c;
  overflow: hidden;
}
.daily-panel
  :is(
    .eyebrow,
    .daily-heading p,
    .daily-coverage,
    .daily-method p,
    .daily-method summary,
    .daily-empty p
  ) {
  color: #4f421c;
}
.daily-heading h2 {
  font-size: clamp(24px, 3vw, 35px);
  letter-spacing: -1px;
  max-width: 460px;
}
.daily-panel .daily-heading {
  margin-bottom: 14px;
}
.daily-panel .daily-actions select {
  background: #fff9d8;
  border-color: #dcc657;
  color: #302811;
}
.daily-panel .daily-ticket {
  background: var(--paper);
  border: 1px solid #33271722;
  color: var(--ink);
  border-radius: 20px;
}
.daily-panel .daily-ticket :is(.eyebrow, .daily-ticket-heading p, .daily-coverage) {
  color: var(--sub);
}
.daily-panel .daily-empty {
  background: #fff8cf70;
  border-radius: 18px;
  padding: 22px;
  min-height: 0;
}
.daily-panel .daily-empty h3 {
  font-size: 21px;
}
.daily-panel .daily-mark {
  font-size: 27px;
  margin-bottom: 8px;
}
.daily-panel .daily-method {
  border-color: #76631533;
}
.daily-sparkle {
  display: inline-block;
  font-size: 19px;
  margin-right: 7px;
  animation: sparkle-glow 4.8s ease-in-out infinite;
}
@keyframes sparkle-glow {
  0%,
  100% {
    opacity: 0.7;
    transform: scale(0.92) rotate(-8deg);
  }
  50% {
    opacity: 1;
    transform: scale(1.15) rotate(8deg);
  }
}
.sports-preferences {
  padding: 20px 0 10px;
}
.sports-filter-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.sports-filter-heading strong {
  margin-right: auto;
}
.sport-toggles,
.sport-view-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 0 8px;
  max-width: 100%;
}
.sport-toggle {
  position: relative;
  cursor: pointer;
  flex: none;
}
.sport-toggle input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.sport-toggle span,
.sport-view-tabs button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  white-space: nowrap;
  padding: 10px 20px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--sub);
  background: var(--paper);
  font-size: 14px;
  font-weight: 650;
}
.sport-toggle input:checked + span {
  background: linear-gradient(110deg, #b91c1c, #d62820);
  color: white;
  border-color: transparent;
}
.sport-toggle input:focus-visible + span {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.sport-toggle input:disabled + span {
  opacity: 0.45;
}
.sport-view-tabs .active {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-soft);
}
.sports-preference-note,
.sports-coverage {
  font-size: 12px;
  line-height: 1.7;
  color: var(--sub);
  margin: 4px 0 12px;
}
.sports-coverage {
  padding: 10px 14px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
}
.sports-coverage:empty {
  display: none;
}
.evidence-preferences {
  padding: 16px 20px;
  margin-bottom: 20px;
}
.evidence-settings summary {
  font-weight: 650;
  cursor: pointer;
  min-height: 32px;
}
.evidence-settings p {
  color: var(--sub);
  font-size: 13px;
}
.evidence-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
  margin: 18px 0;
}
.evidence-setting {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 12px;
  background: var(--bg);
}
.evidence-setting > span {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 13px;
}
.evidence-setting input[type='range'] {
  min-width: 0;
  flex: 1;
  accent-color: var(--accent);
  height: 30px;
}
.evidence-setting output {
  min-width: 56px;
  color: var(--sub);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.evidence-setting input[type='checkbox'] {
  accent-color: var(--accent);
  width: 18px;
  height: 18px;
}
.weighted-evidence {
  margin: 24px 0;
  border-top: 1px solid var(--line);
  padding-top: 18px;
}
.weighted-evidence .section-heading {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.weighted-evidence h3 {
  font-size: 18px;
}
.weighted-evidence p {
  font-size: 13px;
  color: var(--sub);
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.weighted-evidence-item {
  border: 1px solid var(--line);
  border-radius: 12px;
  margin: 8px 0;
  padding: 12px;
  background: var(--paper);
}
.weighted-evidence-item summary {
  display: grid;
  grid-template-columns: 1.4fr 1fr auto;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 12px;
  list-style: revert;
}
.weighted-evidence-item summary b {
  color: var(--accent);
  font-variant-numeric: tabular-nums;
}
.weighted-evidence-item.inactive summary {
  color: var(--sub);
}
.weighted-evidence-bar {
  height: 5px;
  background: var(--line);
  margin: 15px 0;
  border-radius: 3px;
  overflow: hidden;
}
.weighted-evidence-bar span {
  height: 100%;
  display: block;
  background: var(--accent);
}
.bettor-note-entry,
.scenario-section {
  margin: 20px 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  font-size: 13px;
}
.bettor-note-entry summary {
  font-weight: 650;
  cursor: pointer;
}
.bettor-note-entry form {
  display: grid;
  gap: 12px;
  margin-top: 15px;
}
.bettor-note-entry form > label {
  display: grid;
  gap: 6px;
}
.bettor-note-entry input,
.bettor-note-entry select {
  min-width: 0;
  width: 100%;
  padding: 10px;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  border-radius: 8px;
}
.bettor-note-entry .check-control {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}
.bettor-note-entry .check-control input {
  width: 18px;
  flex: none;
}
.scenario-summary {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}
.scenario-summary b {
  font-size: 22px;
  display: block;
  color: var(--accent);
}
.scenario-table-wrap {
  max-height: 270px;
  overflow: auto;
  margin-top: 10px;
}
.scenario-table {
  width: 100%;
  border-collapse: collapse;
}
.scenario-table :is(th, td) {
  padding: 7px;
  text-align: left;
  border-bottom: 1px solid var(--line);
}
.official-watch {
  font-size: 12px;
  margin: 8px 0 20px;
  color: var(--sub);
}
.official-watch a {
  color: var(--accent);
}
.golf-tile {
  display: grid;
  gap: 12px;
  min-width: 270px;
  text-align: left;
}
.golf-tile strong {
  font-size: 19px;
}
.golf-tile > span {
  font-size: 12px;
}
body:is([data-view='tickets'], [data-view='research'])
  :is(.sports-preferences, .sports-coverage, .evidence-preferences, .official-watch) {
  display: none;
}
body[data-view='desk']:not([data-sport='nfl']) .main-column {
  display: block;
}
body[data-view='desk']:not([data-sport='nfl'])
  :is(.controls, .candidates-section, .tracked-tickets) {
  display: none;
}
body[data-view='desk']:not([data-sport='nfl']) .market-panel {
  display: block;
}
body[data-view='daily']
  :is(.slate-wrap, .workspace-heading, .layout, .sports-coverage, .official-watch) {
  display: none;
}
.gc-live-arrow {
  animation: possession-glow 2.8s ease-in-out infinite;
}
@keyframes possession-glow {
  0%,
  100% {
    opacity: 0.6;
  }
  50% {
    opacity: 1;
    filter: drop-shadow(0 0 3px #fff8);
  }
}
@media (max-width: 650px) {
  .page-content {
    padding-top: 18px;
  }
  .daily-panel {
    padding: 20px 16px;
    border-radius: 22px;
  }
  .daily-heading {
    display: block;
  }
  .daily-actions {
    justify-content: flex-start;
    margin-top: 16px;
  }
  .daily-actions select {
    max-width: 100%;
  }
  .daily-support span {
    max-width: 68px;
  }
  .evidence-settings-grid {
    grid-template-columns: 1fr;
  }
  .weighted-evidence-item summary {
    grid-template-columns: 1fr auto;
  }
  .weighted-evidence-item summary > span:first-child {
    grid-column: 1/-1;
    font-weight: 650;
  }
  .section-toolbar {
    align-items: flex-start;
  }
  :root .section-tab {
    padding: 9px 15px;
    flex: none;
  }
  :root .section-tabs {
    overflow: auto;
    min-width: 0;
  }
  .theme-toggle span {
    display: none;
  }
  :root .mobile-nav,
  :root[data-theme='dark'] .mobile-nav {
    left: 14px;
    right: 14px;
    bottom: max(12px, env(safe-area-inset-bottom));
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--paper);
    box-shadow: 0 5px 25px #0002;
    padding: 5px 8px;
  }
  :root .mobile-nav button.active,
  :root[data-theme='dark'] .mobile-nav button.active {
    background: var(--accent-soft);
    border-radius: 999px;
    color: var(--accent);
  }
  body {
    padding-bottom: calc(108px + env(safe-area-inset-bottom));
  }
}
@media (prefers-reduced-motion: reduce) {
  .daily-sparkle,
  .gc-live-arrow {
    animation: none;
  }
}

:root .game-board {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 2px 1px 10px;
  max-width: 100%;
}
:root .game-board .game-tile {
  flex: 0 0 260px;
  min-width: 0;
  max-width: calc(100vw - 40px);
}
.game-best-pick {
  display: none;
}
:root body[data-view='markets'] .game-best-pick {
  display: grid;
  grid-column: 1 / -1;
  gap: 10px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink);
}
.game-best-pick .best-pick-label {
  display: block;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sub);
}
.best-pick-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
}
.best-pick-details {
  display: grid;
  min-width: 0;
  gap: 4px;
}
.game-best-pick .best-pick-details > strong {
  font-size: 15px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.game-best-pick .best-pick-selection {
  font-size: 12px;
  line-height: 1.45;
  color: var(--sub);
  overflow-wrap: anywhere;
}
:root body[data-view='markets'] .game-tile .game-best-pick .best-pick-price {
  color: var(--accent);
  font-size: 18px;
  line-height: 1.35;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.best-pick-research {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 11px;
}
.game-best-pick .best-pick-research > span,
:root body[data-view='markets'] .best-pick-empty {
  color: var(--sub);
}
.game-best-pick .best-pick-score {
  padding: 3px 7px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
  font-size: 12px;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
}
.game-best-pick .best-pick-score small {
  font-size: 10px;
  font-weight: 500;
}
:root
  .game-tile
  .game-best-pick
  :is(.best-pick-label, .best-pick-selection, .best-pick-research > span, .best-pick-score small) {
  color: var(--sub);
}
:root .game-tile .tile-status.live > span:first-child {
  color: var(--accent);
}

:root .context-card,
:root[data-theme='dark'] .context-card {
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--line);
}
:root .context-card :is(.score-block, .context-facts, .game-clock) {
  background: var(--bg);
  color: var(--ink);
}
:root .context-card :is(.eyebrow, .score-block span, .context-facts span) {
  color: var(--sub);
}
:root .context-card :is(.context-facts b, .score-block strong) {
  color: var(--ink);
}
:root[data-theme='dark'] .chip.connected {
  background: var(--accent-soft);
  color: var(--accent);
}
.selection-slip {
  padding: 18px;
  border: 1px solid var(--accent);
  border-radius: 16px;
  margin: 18px 0;
  background: var(--bg);
}
.selection-slip .section-heading,
.selection-slip-leg,
.selection-slip-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.selection-slip-leg {
  border-bottom: 1px solid var(--line);
  padding: 12px 0;
}
.selection-slip-leg p {
  margin: 4px 0;
  font-size: 13px;
}
.selection-slip-leg small {
  color: var(--sub);
}
.selection-slip-footer {
  flex-wrap: wrap;
  margin: 14px 0;
}
.market-row-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}
.add-selection {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--paper);
  color: var(--accent);
  min-height: 40px;
  min-width: 40px;
  font-size: 22px;
}
@media (max-width: 650px) {
  .market-row-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .selection-slip-footer .button {
    width: 100%;
  }
}
