/* CODE X · Ultra colorful printable theme (click to switch from Classic) */

.sheet--ultra {
  background:
    radial-gradient(55% 40% at 0% 0%, rgba(168, 85, 247, 0.1), transparent 60%),
    radial-gradient(45% 35% at 100% 0%, rgba(34, 211, 238, 0.08), transparent 55%),
    linear-gradient(180deg, #f7f5ff 0%, #ffffff 45%, #eef8fb 100%) !important;
  border: 0.4mm solid #c4b5fd;
  box-shadow:
    0 0 0 0.2mm rgba(139, 92, 246, 0.15),
    0 8px 28px rgba(109, 40, 217, 0.12);
}

/* ——— HEADER ——— */
.sheet--ultra .sheet-top {
  background:
    linear-gradient(135deg, rgba(124, 58, 237, 0.97) 0%, rgba(8, 145, 178, 0.92) 100%),
    #1a1030;
  color: #fff;
  padding: 2.5mm 5mm 2.2mm;
  border-bottom: none;
}

.sheet--ultra .sheet-top::after {
  content: "";
  position: absolute;
  left: 5mm;
  right: 5mm;
  bottom: 0;
  height: 0.55mm;
  background: linear-gradient(90deg, #f2b632 0%, #fff 50%, #22d3ee 100%);
  opacity: 0.9;
}

.sheet--ultra .brand-lockup img.logo-codex {
  height: 8.5mm;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.25));
}

.sheet--ultra .brand-lockup .x {
  color: rgba(255, 255, 255, 0.75);
  font-size: 8pt;
}

.sheet--ultra .brand-empire-badge {
  padding: 0.8mm 1.8mm;
  border-radius: 1.2mm;
  background: rgba(7, 9, 13, 0.35);
  border: 0.25mm solid rgba(255, 255, 255, 0.25);
  box-shadow: inset 0 0.3mm 0 rgba(255, 255, 255, 0.1);
}

.sheet--ultra .brand-lockup img.logo-empire {
  height: 5mm;
}

.sheet--ultra .sheet-top__copy h1 {
  margin: 0;
  font-size: 9.8pt;
  letter-spacing: 0.12em;
  color: #fff !important;
  font-weight: 800;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #fff !important;
}

.sheet--ultra .sheet-top__copy p {
  margin: 0.5mm 0 0;
  font-size: 6.5pt;
  color: #fff !important;
  opacity: 0.95;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #fff !important;
}

.sheet--ultra .play-pill a {
  background: rgba(7, 9, 13, 0.45);
  color: #fff;
  border: 0.3mm solid rgba(255, 255, 255, 0.3);
  font-size: 6.5pt;
}

.sheet--ultra .play-pill span {
  color: rgba(255, 255, 255, 0.85);
}

/* ——— BODY ——— */
.sheet--ultra .sheet-body {
  padding: 2.5mm 5mm 2mm;
  gap: 2.5mm;
  background: transparent;
}

.sheet--ultra .sheet-body--sidebar-left {
  grid-template-columns: 40mm 1fr 1fr;
}

/* ——— SIDEBAR ——— */
.sheet--ultra .side-card {
  border: 0.3mm solid #d8b4fe;
  border-radius: 1.4mm;
  background: linear-gradient(180deg, #fff 0%, #faf8ff 100%);
  box-shadow: 0 2px 8px rgba(109, 40, 217, 0.06);
}

.sheet--ultra .side-card--rules {
  border-top: 0.6mm solid #8b5cf6;
}

.sheet--ultra .side-card--tip {
  border-top: 0.6mm solid #f59e0b;
}

.sheet--ultra .side-card--play {
  border-top: 0.6mm solid #22d3ee;
  background: linear-gradient(180deg, #fff 0%, #ecfeff 100%);
}

/* ——— PLAYER PANELS ——— */
.sheet--ultra .player--compact {
  border: 0.35mm solid transparent;
  border-radius: 1.4mm;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8f5ff 52%, #f3fbff 100%) padding-box,
    linear-gradient(135deg, #a855f7 0%, #22d3ee 42%, #f2b632 78%, #8b5cf6 100%) border-box;
  box-shadow:
    0 6px 20px rgba(109, 40, 217, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  overflow: hidden;
}

.sheet--ultra .player--compact::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(90% 55% at 50% 0%, rgba(168, 85, 247, 0.08), transparent 62%),
    radial-gradient(70% 40% at 100% 100%, rgba(34, 211, 238, 0.06), transparent 55%);
}

.sheet--ultra .player--a .player__name {
  background: linear-gradient(135deg, #7c3aed, #6d28d9) !important;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(124, 58, 237, 0.25);
  border-bottom: none;
  border-radius: 0;
  font-size: 7.2pt;
}

.sheet--ultra .player--b .player__name {
  background: linear-gradient(135deg, #0891b2, #0e7490) !important;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(8, 145, 178, 0.25);
  border-bottom: none;
  border-radius: 0;
  font-size: 7.2pt;
}

.sheet--ultra .player__name > span {
  display: inline;
  white-space: nowrap;
}

.sheet--ultra .secret {
  border: 0.35mm solid transparent;
  background:
    linear-gradient(180deg, rgba(168, 85, 247, 0.12), rgba(34, 211, 238, 0.06)) padding-box,
    linear-gradient(135deg, #8b5cf6, #22d3ee) border-box;
  box-shadow: 0 2px 10px rgba(88, 60, 160, 0.08);
}

.sheet--ultra .digit,
.sheet--ultra .guess-cell {
  border: 0.35mm solid transparent !important;
  background:
    linear-gradient(180deg, #fff, #f7f2ff) padding-box,
    linear-gradient(145deg, #8b5cf6, #22d3ee) border-box !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.sheet--ultra .guess-table {
  border: 0.3mm solid #c4b5fd;
  border-radius: 1.2mm;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(109, 40, 217, 0.06);
}

.sheet--ultra .guess-table thead th {
  background: linear-gradient(180deg, #efe9ff 0%, #e7f8fc 100%);
  color: #4c1d95;
  border-color: #c4b5fd;
}

.sheet--ultra .guess-table th.th-mis {
  background: linear-gradient(180deg, #fff7ed, #ffedd5);
}

.sheet--ultra .guess-table th.th-exact {
  background: linear-gradient(180deg, #ecfdf5, #d1fae5);
}

.sheet--ultra .feedback--mis {
  background: linear-gradient(180deg, #fffaf3, #fff7ed);
}

.sheet--ultra .feedback--exact {
  background: linear-gradient(180deg, #f0fdf8, #ecfdf5);
}

/* ——— DIGIT TRACK (flush framed to panel bottom) ——— */
.sheet--ultra .table-wrap:has(+ .player-track) {
  padding-bottom: 1mm;
}

.sheet--ultra .player-track {
  display: grid !important;
  gap: 0.7mm;
  margin: 0 !important;
  padding: 1.4mm 2mm 1.6mm;
  border: none !important;
  border-top: 0.4mm solid #c4b5fd !important;
  border-radius: 0 !important;
  background: #f5f3ff !important;
  box-shadow: none !important;
}

.sheet--ultra .player--a .player-track {
  border-top-color: #7c3aed !important;
  background: #f5f3ff !important;
}

.sheet--ultra .player--b .player-track {
  border-top-color: #0891b2 !important;
  background: #ecfeff !important;
}

.sheet--ultra .track-row {
  display: grid;
  grid-template-columns: 12mm 1fr;
  align-items: center;
  gap: 1mm;
}

.sheet--ultra .track-label {
  font-size: 5pt;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #312e81;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: unset !important;
}

.sheet--ultra .player--b .track-label {
  color: #0e7490;
}

.sheet--ultra .track-digits {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 0.5mm;
}

.sheet--ultra .track-digit {
  aspect-ratio: 1;
  min-height: 4.6mm;
  border: 0.35mm solid #7c3aed !important;
  border-radius: 0.5mm;
  background: #fff !important;
  color: #4c1d95 !important;
  font-size: 5.4pt;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sheet--ultra .player--b .track-digit {
  border-color: #0891b2 !important;
  color: #0e7490 !important;
}

.sheet--ultra .track-note {
  min-height: 4.8mm;
  border: 0.3mm solid #a78bfa !important;
  border-style: solid !important;
  border-radius: 0.5mm;
  background: #fff !important;
}

/* ——— ALL PACKS ——— */
.sheet--ultra .mini-card,
.sheet--ultra .bracket-slot,
.sheet--ultra .pack-panel {
  border: 0.35mm solid transparent !important;
  background:
    linear-gradient(180deg, #fff 0%, #faf8ff 100%) padding-box,
    linear-gradient(135deg, #c4b5fd, #67e8f9) border-box !important;
  box-shadow: 0 4px 14px rgba(109, 40, 217, 0.08) !important;
  border-radius: 1.4mm !important;
}

.sheet--ultra .mini-card h4 {
  color: #6d28d9;
}

.sheet--ultra .bracket-final {
  border: 0.4mm solid #8b5cf6 !important;
  background: linear-gradient(160deg, #f5f0ff, #eafcff) !important;
  box-shadow: 0 4px 16px rgba(109, 40, 217, 0.1);
}

.sheet--ultra .pb-table th {
  background: linear-gradient(180deg, #efe9ff, #e7f8fc) !important;
  color: #4c1d95 !important;
}

.sheet--ultra .timer-box {
  background: linear-gradient(160deg, #f5f0ff, #eafcff) !important;
  border: 0.35mm solid #c4b5fd !important;
}

.sheet--ultra .vault-cta {
  background:
    radial-gradient(80% 60% at 50% 0%, rgba(168, 85, 247, 0.15), transparent 60%),
    linear-gradient(160deg, #f5f0ff, #eafcff) !important;
  border: 0.4mm solid #8b5cf6 !important;
}

.sheet--ultra .vault-cta__link {
  background: linear-gradient(135deg, #a855f7, #22d3ee) !important;
  color: #fff !important;
  border: none;
  box-shadow: 0 2mm 6mm rgba(109, 40, 217, 0.22);
}

.sheet--ultra .sheet-play-strip {
  border: 0.3mm solid #c4b5fd;
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.08), rgba(34, 211, 238, 0.06)) !important;
  border-radius: 1.2mm;
}

.sheet--ultra .player:not(.player--compact) {
  border: 0.35mm solid #c4b5fd !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(109, 40, 217, 0.08) !important;
}

.sheet--ultra .player:not(.player--compact) .player__name {
  background: linear-gradient(135deg, #7c3aed, #6d28d9) !important;
  color: #fff !important;
  border-radius: 999px;
}

.sheet--ultra .streak-cell {
  border: 0.3mm solid #c4b5fd;
  background: linear-gradient(180deg, #fff, #faf8ff);
}

.sheet--ultra .notes-box {
  border: 0.3mm solid #c4b5fd;
  background:
    repeating-linear-gradient(transparent, transparent 5mm, #ebe6f6 5mm, #ebe6f6 5.15mm),
    #fff !important;
}

.sheet--ultra .sheet-foot {
  border-top: 0.3mm solid #d8b4fe;
  background: linear-gradient(180deg, #fff, #faf8ff);
}

.sheet--ultra .sheet-foot a {
  color: #5b21b6 !important;
  font-weight: 800;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #5b21b6 !important;
}

.sheet--ultra .sheet-foot .tagline {
  color: #111827 !important;
  font-weight: 800;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #111827 !important;
}

/* Kill gradient text everywhere in Ultra */
.sheet--ultra h1,
.sheet--ultra h3,
.sheet--ultra h4,
.sheet--ultra .coach-h,
.sheet--ultra .pack-subhead,
.sheet--ultra .mini-card h4,
.sheet--ultra .side-card h3,
.sheet--ultra .player__name,
.sheet--ultra .secret__label > span:first-child {
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

.sheet--ultra .side-card--rules h3,
.sheet--ultra .mini-card h4,
.sheet--ultra .coach-h,
.sheet--ultra .pack-subhead--a {
  color: #5b21b6 !important;
  -webkit-text-fill-color: #5b21b6 !important;
  font-weight: 800;
}

.sheet--ultra .side-card--tip h3 {
  color: #b45309 !important;
  -webkit-text-fill-color: #b45309 !important;
  font-weight: 800;
}

.sheet--ultra .side-card--play h3,
.sheet--ultra .pack-subhead--b {
  color: #0e7490 !important;
  -webkit-text-fill-color: #0e7490 !important;
  font-weight: 800;
}

.sheet--ultra .player--a .player__name {
  -webkit-text-fill-color: #fff !important;
}

.sheet--ultra .player--b .player__name {
  -webkit-text-fill-color: #fff !important;
}

.sheet--ultra .secret__label > span:first-child {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  font-weight: 800;
}

/* ——— PRINT ——— */
@media print {
  .sheet--ultra {
    width: 297mm !important;
    height: 210mm !important;
    max-width: none !important;
    aspect-ratio: auto !important;
    border: none !important;
    box-shadow: none !important;
    background: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .sheet--ultra .sheet-top,
  .sheet--ultra .player--a .player__name,
  .sheet--ultra .player--b .player__name,
  .sheet--ultra .bracket-final,
  .sheet--ultra .vault-cta__link,
  .sheet--ultra .side-card {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
