/* Trophy Case preview (Practice page) and full trophy room. */
.ptl-case-home .ptl-tc-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.ptl-case-home .ptl-tc-head h2 { margin: 0; font: 800 22px/1 'Saira', sans-serif; letter-spacing: 0.08em; color: #f3f4f5; text-transform: uppercase; }
.ptl-tc-records { color: #9aa3ad; font: 600 11px/1 'Saira', sans-serif; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.ptl-tc-records:hover, .ptl-tc-records:focus-visible { color: #f3f4f5; }
.ptl-tc-body { display: flex; flex-direction: column; gap: 12px; }
.ptl-tc-label { margin: 0; color: #9aa3ad; font: 700 11px/1.2 'Saira', sans-serif; letter-spacing: 0.14em; text-transform: uppercase; }
.ptl-tc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (max-width: 420px) {
  .ptl-case-home .ptl-tc-head h2 { font-size: 19px; letter-spacing: 0.06em; white-space: nowrap; }
  .ptl-tc-records { font-size: 10px; letter-spacing: 0.06em; }
  .ptl-tc-grid--champ .ptl-tc-tile__art { height: 92px; }
}
/* Stats */
.ptl-tc-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border: 1px solid #262d36; background: #101318; }
.ptl-tc-stats:not(.is-compact) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ptl-tc-stats > div { display: flex; flex-direction: column; gap: 4px; padding: 8px 10px; border-left: 1px solid #262d36; min-width: 0; }
.ptl-tc-stats > div:first-child { border-left: 0; }
.ptl-tc-stats:not(.is-compact) > div:nth-child(4) { border-left: 0; }
.ptl-tc-stats:not(.is-compact) > div:nth-child(n+4) { border-top: 1px solid #262d36; }
.ptl-tc-stats dt { color: #8b95a3; font: 600 10px/1 'Saira', sans-serif; letter-spacing: 0.12em; text-transform: uppercase; }
.ptl-tc-stats dd { margin: 0; color: #f3f4f5; font: 700 18px/1 'JetBrains Mono', ui-monospace, monospace; }
.ptl-tc-stats [data-k="gold"] dd { color: #e2c172; }
.ptl-tc-stats [data-k="silver"] dd { color: #cfd6dd; }
.ptl-tc-stats [data-k="bronze"] dd { color: #c98b5c; }

/* Tiles */
.ptl-tc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ptl-tc-tile {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; min-width: 0;
  margin: 0; padding: 10px 6px 9px; border: 1px solid #262d36; border-radius: 2px;
  background: linear-gradient(180deg, #171b22 0%, #111419 100%); color: #f3f4f5; text-align: center; font: inherit; cursor: pointer;
}
button.ptl-tc-tile:hover, button.ptl-tc-tile:focus-visible { border-color: #4a535e; outline: none; }
button.ptl-tc-tile:focus-visible { box-shadow: 0 0 0 2px #e3263b; }
.ptl-tc-tile__art { display: flex; align-items: center; justify-content: center; height: 78px; width: 100%; }
.ptl-tc-tile__art .ptl-award-svg { height: 100%; width: auto; max-width: 100%; }
.ptl-tc-tile__name {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
  min-height: 2.4em; color: #f3f4f5; font: 700 10.5px/1.2 'Saira', sans-serif; letter-spacing: 0.03em; text-transform: uppercase; overflow-wrap: anywhere;
}
.ptl-tc-tile__tier { color: #8b95a3; font: 600 10px/1 'Saira', sans-serif; letter-spacing: 0.1em; text-transform: uppercase; }
.ptl-tc-tile[data-metal="gold"] .ptl-tc-tile__tier { color: #e2c172; }
.ptl-tc-tile[data-metal="silver"] .ptl-tc-tile__tier { color: #cfd6dd; }
.ptl-tc-tile[data-metal="bronze"] .ptl-tc-tile__tier { color: #c98b5c; }
.ptl-tc-tile__count {
  position: absolute; top: 5px; right: 5px; padding: 3px 5px; border: 1px solid #3a424c; background: #0b0d10;
  color: #f3f4f5; font: 700 11px/1 'JetBrains Mono', ui-monospace, monospace;
}
.ptl-tc-tile.is-champ { border-color: #6b5730; background: linear-gradient(180deg, #1c1a16 0%, #121318 70%); }
.ptl-tc-tile.is-champ::before { content: ''; position: absolute; left: -1px; right: -1px; top: -1px; height: 2px; background: #e3263b; }
.ptl-tc-tile.is-locked { cursor: default; background: #0f1115; border-style: dashed; border-color: #262d36; }
.ptl-tc-tile.is-locked .ptl-tc-tile__name { color: #6f7884; }
.ptl-tc-tile.is-locked::before { display: none; }
.ptl-tc-tile.is-locked .ptl-tc-tile__tier { color: #5d6570 !important; }
.ptl-tc-tile.is-locked .ptl-tc-tile__art { opacity: 0.8; }

/* Empty preview */
.ptl-tc-empty { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px dashed #2a313b; background: #0f1115; }
.ptl-tc-empty__art { display: flex; gap: 2px; flex: 0 0 auto; }
.ptl-tc-empty__art span { display: block; width: 30px; height: 36px; }
.ptl-tc-empty__art .ptl-award-svg { width: 100%; height: 100%; }
.ptl-tc-empty p, .ptl-tc-note { margin: 0; color: #c6ccd4; font: 500 13px/1.4 'Inter', sans-serif; }

/* Next achievement */
.ptl-tc-next { display: flex; flex-direction: column; gap: 7px; padding: 10px 12px; border: 1px solid #262d36; border-left: 2px solid #e3263b; background: #101318; }
.ptl-tc-next__head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.ptl-tc-next__name { color: #f3f4f5; font: 700 14px/1.2 'Saira', sans-serif; letter-spacing: 0.03em; }
.ptl-tc-next__tier { color: #8b95a3; font: 600 10px/1 'Saira', sans-serif; letter-spacing: 0.12em; text-transform: uppercase; }
.ptl-tc-next__bar { display: block; height: 4px; background: #232931; overflow: hidden; }
.ptl-tc-next__bar i { display: block; height: 100%; background: #e3263b; }
.ptl-tc-next__meta { display: flex; justify-content: space-between; gap: 10px; color: #9aa3ad; font: 500 12px/1.3 'Inter', sans-serif; }
.ptl-tc-next__count { flex: 0 0 auto; color: #f3f4f5; font: 700 12px/1.3 'JetBrains Mono', ui-monospace, monospace; }

/* Primary action */
.ptl-tc-open {
  display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 46px; margin: 0; padding: 0 14px;
  border: 1px solid #e3263b; background: #e3263b; color: #fff; cursor: pointer;
  font: 800 13px/1 'Saira', sans-serif; letter-spacing: 0.12em; text-transform: uppercase;
}
.ptl-tc-open:hover, .ptl-tc-open:focus-visible { background: #c81f33; border-color: #c81f33; }
.ptl-tc-open__more { font: 600 11px/1 'JetBrains Mono', ui-monospace, monospace; letter-spacing: 0; opacity: 0.85; text-transform: none; }

/* Full trophy room */
.ptl-tc-room {
  width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; padding: 0; border: 0;
  background: #0b0d10; color: #f3f4f5; overflow: hidden;
}
.ptl-tc-room[open] { display: flex; flex-direction: column; }
.ptl-tc-room::backdrop { background: rgba(0, 0, 0, 0.78); }
.ptl-tc-room__bar {
  display: grid; grid-template-columns: 1fr auto; grid-template-areas: 'title close' 'select select'; gap: 10px; align-items: center;
  padding: max(12px, env(safe-area-inset-top)) 16px 12px; border-bottom: 1px solid #262d36; background: #0e1014;
}
.ptl-tc-room__bar h2 { grid-area: title; margin: 0; font: 800 20px/1 'Saira', sans-serif; letter-spacing: 0.08em; text-transform: uppercase; }
.ptl-tc-select { grid-area: select; position: relative; display: block; }
.ptl-tc-select::after { content: ''; position: absolute; right: 14px; top: 50%; width: 7px; height: 7px; margin-top: -5px; border-right: 2px solid #c6ccd4; border-bottom: 2px solid #c6ccd4; transform: rotate(45deg); pointer-events: none; }
.ptl-tc-select select {
  width: 100%; min-height: 42px; padding: 0 36px 0 12px; border: 1px solid #3a424c; border-radius: 2px; background: #14181e; color: #f3f4f5;
  font: 700 12px/1 'Saira', sans-serif; letter-spacing: 0.08em; text-transform: uppercase; -webkit-appearance: none; appearance: none;
}
.ptl-tc-select select:focus-visible { outline: 2px solid #e3263b; outline-offset: 1px; }
.ptl-tc-close {
  grid-area: close; min-height: 38px; padding: 0 14px; border: 1px solid #3a424c; background: transparent; color: #f3f4f5; cursor: pointer;
  font: 700 12px/1 'Saira', sans-serif; letter-spacing: 0.1em; text-transform: uppercase;
}
.ptl-tc-close:hover, .ptl-tc-close:focus-visible { border-color: #e3263b; }
.ptl-tc-room__body { flex: 1 1 auto; overflow-y: auto; overflow-x: hidden; padding: 14px 16px max(24px, env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 18px; -webkit-overflow-scrolling: touch; }
.ptl-tc-section { display: flex; flex-direction: column; gap: 8px; }
.ptl-tc-grid--champ { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ptl-tc-grid--champ .ptl-tc-tile { padding: 14px 8px 12px; }
.ptl-tc-grid--champ .ptl-tc-tile__art { height: 116px; }
.ptl-tc-grid--champ .ptl-tc-tile__name { font-size: 12px; }
.ptl-tc-locked summary { cursor: pointer; padding: 6px 0; list-style: none; }
.ptl-tc-locked summary::-webkit-details-marker { display: none; }
.ptl-tc-locked summary::after { content: ' +'; color: #e3263b; }
.ptl-tc-locked[open] summary::after { content: ' −'; }
.ptl-tc-grid--locked .ptl-tc-tile__art { height: 54px; }

/* Detail */
.ptl-tc-detail { display: grid; grid-template-columns: 1fr; gap: 14px; justify-items: center; }
.ptl-tc-back { justify-self: start; min-height: 36px; padding: 0 12px; border: 1px solid #3a424c; background: transparent; color: #c6ccd4; cursor: pointer; font: 700 11px/1 'Saira', sans-serif; letter-spacing: 0.1em; text-transform: uppercase; }
.ptl-tc-back:hover, .ptl-tc-back:focus-visible { color: #fff; border-color: #e3263b; }
.ptl-tc-detail__art { display: flex; justify-content: center; height: min(30vh, 220px); }
.ptl-tc-detail__art .ptl-award-svg { height: 100%; width: auto; max-width: 70vw; }
.ptl-tc-detail__info { display: flex; flex-direction: column; gap: 6px; width: 100%; max-width: 560px; }
.ptl-tc-detail__title { margin: 0; font: 800 20px/1.15 'Saira', sans-serif; letter-spacing: 0.04em; text-transform: uppercase; }
.ptl-tc-detail__sub { margin: 0; color: #c6ccd4; font: 600 12px/1.3 'Saira', sans-serif; letter-spacing: 0.08em; text-transform: uppercase; }
.ptl-tc-detail[data-metal="gold"] .ptl-tc-detail__sub { color: #e2c172; }
.ptl-tc-detail[data-metal="silver"] .ptl-tc-detail__sub { color: #cfd6dd; }
.ptl-tc-detail[data-metal="bronze"] .ptl-tc-detail__sub { color: #c98b5c; }
.ptl-tc-detail__kicker { margin: 0; color: #8b95a3; font: 500 12px/1.3 'Inter', sans-serif; }
.ptl-tc-detail__count { margin: 6px 0 0; color: #f3f4f5; font: 700 12px/1 'Saira', sans-serif; letter-spacing: 0.12em; text-transform: uppercase; }
.ptl-tc-history { display: flex; flex-direction: column; margin: 0 0 6px; padding: 0; list-style: none; border: 1px solid #262d36; }
.ptl-tc-history li { display: grid; grid-template-columns: 28px 1fr; gap: 2px 10px; padding: 9px 12px; border-top: 1px solid #1f252d; background: #101318; }
.ptl-tc-history li:first-child { border-top: 0; }
.ptl-tc-history__n { grid-row: span 2; color: #6f7884; font: 700 12px/1.4 'JetBrains Mono', ui-monospace, monospace; }
.ptl-tc-history__date { color: #f3f4f5; font: 600 13px/1.4 'Inter', sans-serif; }
.ptl-tc-history__facts { color: #9aa3ad; font: 500 12px/1.35 'Inter', sans-serif; }

@media (min-width: 560px) {
  .ptl-tc-grid { grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 10px; }
  .ptl-tc-grid--preview { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .ptl-tc-grid--champ { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
  .ptl-tc-stats:not(.is-compact) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .ptl-tc-stats:not(.is-compact) > div:nth-child(4) { border-left: 1px solid #262d36; }
  .ptl-tc-stats:not(.is-compact) > div:nth-child(n+4) { border-top: 0; }
  .ptl-tc-room__bar { grid-template-columns: auto 1fr auto; grid-template-areas: 'title select close'; }
  .ptl-tc-select { justify-self: end; width: min(320px, 100%); }
}
@media (min-width: 900px) {
  .ptl-tc-room { width: min(1180px, calc(100vw - 48px)); height: min(860px, calc(100dvh - 48px)); margin: auto; border: 1px solid #2a313b; }
  .ptl-tc-room__body { padding: 20px 24px 28px; }
  .ptl-tc-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
  .ptl-tc-grid--champ { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
  .ptl-tc-grid--champ .ptl-tc-tile__art { height: 140px; }
  .ptl-tc-tile__art { height: 92px; }
  .ptl-tc-grid--preview .ptl-tc-tile__art { height: 84px; }
  .ptl-tc-detail { grid-template-columns: minmax(240px, 360px) 1fr; grid-template-areas: 'back back' 'art info'; align-items: start; justify-items: stretch; gap: 18px 32px; }
  .ptl-tc-back { grid-area: back; }
  .ptl-tc-detail__art { grid-area: art; height: 320px; }
  .ptl-tc-detail__info { grid-area: info; max-width: 640px; }
}
/* Phone landscape: short screens keep the room tight. */
@media (max-height: 500px) and (orientation: landscape) {
  .ptl-tc-room__bar { padding-top: 8px; padding-bottom: 8px; }
  .ptl-tc-detail { grid-template-columns: 180px 1fr; grid-template-areas: 'back back' 'art info'; align-items: start; justify-items: stretch; }
  .ptl-tc-back { grid-area: back; }
  .ptl-tc-detail__art { grid-area: art; height: 200px; }
  .ptl-tc-detail__info { grid-area: info; }
}

.ptl-award-pic { display: contents; }
img.ptl-award-img { display: block; width: auto; object-fit: contain; }
.ptl-award-fallback { display: none; }
.ptl-tc-tile[data-metal="sticker"] .ptl-tc-tile__tier,
.ptl-tc-detail[data-metal="sticker"] .ptl-tc-detail__sub { color: #e8394f; }
.ptl-tc-history__disc { grid-column: 2; color: #9aa3ad; font: 600 11px/1.35 'Inter', sans-serif; letter-spacing: 0.04em; text-transform: uppercase; }

/* t459 stage 8: trophy case selector (All trees / Top Bulb / Bottom Bulb / Pro Tree). */
.ptl-tc-cases { display: flex; gap: 6px; margin: 0 0 12px; overflow-x: auto; scrollbar-width: none; }
.ptl-tc-cases::-webkit-scrollbar { display: none; }
.ptl-tc-case { flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 6px 8px; border: 1px solid #2c2c2c; border-radius: 8px; background: #141414; color: #cfcfcf; font-family: inherit; font-size: 12px; font-weight: 600; line-height: 1.1; letter-spacing: .02em; cursor: pointer; white-space: nowrap; }
.ptl-tc-case:hover, .ptl-tc-case:focus-visible { border-color: #555; color: #fff; }
.ptl-tc-case.is-on { background: #fff; border-color: #fff; color: #0a0a0a; }
.ptl-tc-case__n { font-variant-numeric: tabular-nums; opacity: .6; font-weight: 500; }
.ptl-tc-case.is-on .ptl-tc-case__n { opacity: .7; }
@media (max-width: 400px) { .ptl-tc-case { font-size: 11px; padding: 6px 6px; gap: 4px; } }
/* t465: Cash Games Winner, locked. Server-darkened art, lock and Coming soon. */
.ptl-tc-tile.is-cash-locked .ptl-tc-tile__art { position: relative; opacity: 1; }
.ptl-tc-tile.is-cash-locked .ptl-tc-tile__art img { height: 100%; width: auto; max-width: 100%; }
.ptl-tc-tile__lock { position: absolute; right: 8px; bottom: 2px; font-size: 14px; line-height: 1; filter: grayscale(1); opacity: 0.85; }

/* t467: legacy history. Graphite, never a medal colour. */
.ptl-tc-tile.is-legacy .ptl-tc-tile__art { opacity: .55; filter: grayscale(.6); }
.ptl-tc-tile__legacy, .ptl-tc-history__legacy { color: #9a9aa0; font-size: 11px; letter-spacing: .02em; }
.ptl-tc-detail__legacy { color: #b8b8be; font-size: 13px; margin: 4px 0 0; }
