/* Tournament Storefront V3: browsing first, buying only after customer intent. */

@font-face {
  font-family: "Bebas Neue";
  src: url("/static/fonts/BebasNeue-Regular.woff2") format("woff2");
  font-display: swap;
}

.ts3SleevePrompt { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 14px; padding:14px; border:1px solid rgba(212,170,72,.42); border-radius:14px; background:linear-gradient(135deg,rgba(212,170,72,.13),rgba(13,27,42,.92)); }
.ts3SleevePrompt > div:first-child { display:grid; gap:3px; }
.ts3SleevePrompt b { color:#fff2c7; font-size:16px; }
.ts3SleevePrompt small { color:#b7c2d1; }
.ts3SleeveActions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.ts3SleeveActions button { min-height:38px; padding:0 12px; border:1px solid rgba(255,255,255,.16); border-radius:10px; background:#111d2b; color:#f6f8fb; font-weight:850; cursor:pointer; }
.ts3SleeveActions button.selected { border-color:#d4aa48; background:rgba(212,170,72,.2); color:#ffe6a0; }
.ts3RewardChoices { display:grid; gap:10px; }
.ts3RewardChoice { display:grid; grid-template-columns:auto 76px minmax(0,1fr); align-items:center; gap:11px; padding:10px; border:1px solid rgba(255,255,255,.13); border-radius:13px; background:rgba(255,255,255,.035); cursor:pointer; }
.ts3RewardChoice:has(input:checked) { border-color:#d4aa48; background:rgba(212,170,72,.12); }
.ts3RewardChoice input { width:20px; height:20px; accent-color:#d4aa48; }
.ts3RewardChoice img { width:76px; height:58px; object-fit:cover; border-radius:8px; }
.ts3RewardChoice span { display:grid; gap:3px; }
.ts3RewardChoice b { color:#fff; }
.ts3RewardChoice small { color:#b7c2d1; }
.ts3ProductShowcase { grid-column:1/-1; display:grid; gap:12px; margin:0 0 8px; padding:16px; border:1px solid rgba(212,170,72,.36); border-radius:16px; background:linear-gradient(145deg,rgba(16,30,46,.98),rgba(7,15,25,.98)); box-shadow:0 12px 28px rgba(0,0,0,.22); }
.ts3ProductShowcaseHead { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.ts3ProductShowcaseHead>div:first-child { display:grid; gap:3px; }
.ts3ProductShowcaseHead b { color:#f0c65b; font-family:"Bebas Neue",Impact,sans-serif; font-size:25px; letter-spacing:.04em; }
.ts3ProductShowcaseHead span { color:#d9e2ee; font-size:13px; }
.ts3ProductShowcaseBadges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.ts3ProductShowcaseBadges span { padding:6px 9px; border:1px solid rgba(39,198,119,.46); border-radius:999px; background:rgba(20,152,88,.14); color:#82f1b7; font-size:11px; font-weight:900; white-space:nowrap; }
.ts3ProductShowcaseItems { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; min-height:104px; }
.ts3ProductShowcaseItems figure { min-width:0; margin:0; padding:6px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:#060d16; }
.ts3ProductShowcaseItems img { display:block; width:100%; height:92px; object-fit:contain; border-radius:6px; background:#02060a; }
.ts3ProductShowcaseItems figcaption { margin-top:5px; color:#dce5ef; font-size:10px; font-weight:800; text-align:center; }
.ts3ProductShowcaseLoading { grid-column:1/-1; display:grid; place-items:center; min-height:104px; color:#9eabba; font-size:12px; }
.ts3ProductShowcase>p { margin:0; color:#aebac9; font-size:12px; }
.ts3ProductShowcase>p b { color:#fff; }

@media (max-width:680px) {
  .ts3SleevePrompt { align-items:stretch; flex-direction:column; }
  .ts3SleeveActions { justify-content:stretch; }
  .ts3SleeveActions button { flex:1 1 120px; }
  .ts3ProductShowcase { padding:13px; }
  .ts3ProductShowcaseHead { display:grid; }
  .ts3ProductShowcaseBadges { justify-content:flex-start; }
  .ts3ProductShowcaseItems { grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; }
  .ts3ProductShowcaseItems figure:nth-child(n+5) { display:none; }
  .ts3ProductShowcaseItems img { height:84px; }
}

body.tournamentStorefrontV3 #secPhotos .toolbarSalesGrid,
body.tournamentStorefrontV3 #secPhotos .pricePanel,
body.tournamentStorefrontV3 #secViewer .viewerSalesGrid,
body.tournamentStorefrontV3 #secViewer .viewerUpsellTeaser,
body.tournamentStorefrontV3 #secViewer .viewerUrgency,
body.tournamentStorefrontV3 #stickyCountdownBar,
body.tournamentStorefrontV3 #smsConsentModal,
body.tournamentStorefrontV3 #favNudgeModal,
body.tournamentStorefrontV3 #teamBuyNudgeModal {
  display: none !important;
}

body.tournamentStorefrontV3 #secAccount {
  display: none !important;
}

body.tournamentStorefrontV3 #btnHeaderFavourites,
body.tournamentStorefrontV3 #btnViewFavourites {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 46px;
  border-color: rgba(218,177,79,.5);
  background: linear-gradient(180deg, rgba(22,34,54,.96), rgba(14,24,39,.96));
  color: #f1f4f9;
  opacity: 1 !important;
}

body.tournamentStorefrontV3 #btnHeaderFavourites.ts3CollectionUnsaved::before,
body.tournamentStorefrontV3 #btnViewFavourites.ts3CollectionUnsaved::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #f0bd4d;
  box-shadow: 0 0 0 4px rgba(240,189,77,.12);
}

body.tournamentStorefrontV3 #btnHeaderFavourites.ts3CollectionSaved,
body.tournamentStorefrontV3 #btnViewFavourites.ts3CollectionSaved {
  border-color: rgba(75,207,137,.42);
}

body.tournamentStorefrontV3 #btnHeaderFavourites.ts3CollectionSaved b,
body.tournamentStorefrontV3 #btnViewFavourites.ts3CollectionSaved {
  color: #74e3a7;
}

body.tournamentStorefrontV3 #btnHeaderFavourites.ts3CollectionEmpty,
body.tournamentStorefrontV3 #btnViewFavourites.ts3CollectionEmpty {
  color: #f4d481;
}

body.tournamentStorefrontV3 #secPhotos .sectionHead {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-items: start;
  margin-bottom: 8px;
}

body.tournamentStorefrontV3 #secPhotos .sectionHead > div:first-child { min-width: 0; }

body.tournamentStorefrontV3 .ts3SectionActions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: wrap;
}

body.tournamentStorefrontV3 .thumbGameControl {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(0,0,0,.28);
}
body.tournamentStorefrontV3 .thumbGameControl .thumbSelect {
  min-width: 220px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.tournamentStorefrontV3 .thumbGameControl .thumbCount {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  margin-right: 9px;
  padding: 0 10px;
  border-left: 1px solid rgba(255,255,255,.12);
  color: #f5d681;
}

body.tournamentStorefrontV3 .ts3CollectionSummary {
  margin-top: 6px;
  color: #aeb8c8;
  font-size: 13px;
  font-weight: 750;
}

body.tournamentStorefrontV3 .ts3CollectionSave {
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-color: rgba(218,177,79,.62);
  background: linear-gradient(180deg, #162236, #101a29);
  color: #f4d481;
  font-weight: 900;
}

body.tournamentStorefrontV3 .ts3CollectionOptions {
  position: relative;
  align-items: center;
}

body.tournamentStorefrontV3 .ts3CollectionOptionsButton {
  min-width: 48px;
  min-height: 46px;
  padding: 0 12px;
  color: #d5dce8;
  font-size: 17px;
  letter-spacing: 2px;
}

body.tournamentStorefrontV3 .ts3CollectionOptionsMenu {
  position: absolute;
  z-index: 40;
  top: calc(100% + 7px);
  right: 0;
  width: 220px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 13px;
  background: #101b2b;
  box-shadow: 0 18px 42px rgba(0,0,0,.45);
}

body.tournamentStorefrontV3 .ts3CollectionOptionsMenu button {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #edf2f8;
  text-align: left;
  font-weight: 850;
  cursor: pointer;
}

body.tournamentStorefrontV3 .ts3CollectionOptionsMenu button:hover,
body.tournamentStorefrontV3 .ts3CollectionOptionsMenu button:focus-visible {
  background: rgba(255,255,255,.07);
}

body.tournamentStorefrontV3 #btnPrebookSelectedTeam {
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border: 1px solid rgba(218,177,79,.62);
  background: linear-gradient(180deg, #162236, #101a29);
  color: #f4d481;
  font-weight: 900;
}

body.tournamentStorefrontV3 #btnViewerHeart {
  display: none !important;
}

body.tournamentStorefrontV3 .ts3FocusPrompt {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 82px;
  margin: 12px 0 16px;
  padding: 12px 14px;
  overflow: hidden;
  border: 1px solid rgba(43,157,104,.5);
  border-left: 4px solid #16995c;
  border-radius: 12px;
  background: linear-gradient(105deg, rgba(13,39,36,.96), rgba(14,27,45,.97) 68%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

body.tournamentStorefrontV3 .ts3FocusPromptIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(40,189,118,.5);
  border-radius: 12px;
  background: rgba(22,153,92,.18);
  color: #7ee0ad;
  font-size: 27px;
  font-weight: 900;
  line-height: 1;
}

body.tournamentStorefrontV3 .ts3FocusPromptCopy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

body.tournamentStorefrontV3 .ts3FocusPromptCopy b {
  color: #fff;
  font-size: clamp(21px, 1.65vw, 24px);
  line-height: 1.12;
}

body.tournamentStorefrontV3 .ts3FocusPromptBody {
  color: #d5ddea;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.3;
}

body.tournamentStorefrontV3 .ts3FocusPromptActions {
  display: grid;
  justify-items: stretch;
  min-width: 172px;
}

body.tournamentStorefrontV3 .ts3FocusPromptButton {
  min-height: 48px;
  padding: 0 18px;
  border-color: #28bd76;
  background: linear-gradient(180deg, #16995c, #107443);
  color: #fff;
  font-size: 15px;
  font-weight: 1000;
  white-space: nowrap;
}

body.tournamentStorefrontV3 .ts3FocusInlinePrompt {
  grid-column: 1 / -1;
  width: 100%;
  margin: 5px 0;
}

body.tournamentStorefrontV3 .ts3FocusInlinePrompt-middle {
  min-height: 78px;
  background: linear-gradient(105deg, rgba(13,39,36,.94), rgba(13,25,41,.97) 68%);
}

body.tournamentStorefrontV3 .ts3FocusInlinePrompt-bottom {
  min-height: 84px;
  margin-top: 7px;
  margin-bottom: 8px;
  background: linear-gradient(135deg, rgba(14,31,48,.98), rgba(11,47,38,.96));
}

body.tournamentStorefrontV3 .ts3FocusGamePrompt {
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 11px;
  min-height: 70px;
  margin: 2px 0;
  padding: 10px 12px;
  border-color: rgba(43,157,104,.4);
  background: linear-gradient(105deg, rgba(13,36,34,.92), rgba(14,27,45,.94) 72%);
}

body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptIcon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 23px;
}

body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptCopy b { font-size: 21px; }
body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptBody { font-size: 15px; }
body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptActions { min-width: 184px; }
body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptButton { min-height: 46px; }

body.tournamentStorefrontV3 .ts3FocusInlinePrompt-mobile {
  display: none;
}

body.tournamentStorefrontV3 #btnTournamentHowToBuyGrid,
body.tournamentStorefrontV3 #btnTournamentHowToBuyViewer {
  align-items: center;
  justify-content: center;
  border-color: rgba(202,162,74,.56);
  background: rgba(202,162,74,.12);
  color: #f4d481;
}

body.tournamentStorefrontV3 .ts3PlayerPackageButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 15px;
  border: 1px solid rgba(255,225,151,.72);
  background: linear-gradient(180deg, #e4bf62, #b98a2c);
  color: #101722;
  font-weight: 950;
  box-shadow: 0 8px 22px rgba(185,138,44,.22), inset 0 1px 0 rgba(255,255,255,.3);
}

body.tournamentStorefrontV3 .ts3PlayerPackageButton:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

body.tournamentStorefrontV3 .ts3CollectionReset {
  min-height: 36px;
  padding: 7px 10px;
  border-color: rgba(255,255,255,.11);
  background: transparent;
  color: #95a2b5;
  font-size: 12px;
  font-weight: 750;
}

body.tournamentStorefrontV3 .ts3SavedState { color: #72e6a5; font-weight: 900; }
body.tournamentStorefrontV3 .ts3UnsavedState { color: #f0c45e; font-weight: 900; }

body.tournamentStorefrontV3 #secPhotos .photoGrid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 26px;
  width: min(100%, 760px);
  margin: 0 auto;
}

body.tournamentStorefrontV3 #secPhotos .photoTile {
  border-radius: 20px;
  overflow: visible;
  padding-bottom: 62px;
  background: #07101d;
}

body.tournamentStorefrontV3 #secPhotos .photoTile img {
  height: auto !important;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 18px 18px 0 0;
}

body.tournamentStorefrontV3 .photoHeart.photoTagChild {
  top: auto;
  right: 10px;
  bottom: 10px;
  width: auto;
  min-width: 178px;
  height: 42px;
  padding: 0 17px;
  border-radius: 12px;
  background: linear-gradient(180deg, #27364b, #1a2637);
  border-color: rgba(190,205,226,.32);
  color: #edf3fb;
  font-size: 15px;
  font-weight: 850;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

body.tournamentStorefrontV3 .photoHeart.photoTagChild.on {
  background: linear-gradient(180deg, #1aa761, #117844);
  border-color: rgba(126,236,178,.5);
  color: #fff;
  box-shadow: 0 10px 22px rgba(17,120,68,.28), inset 0 1px 0 rgba(255,255,255,.1);
}

body.tournamentStorefrontV3 .photoCart {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  top: auto !important;
  right: auto !important;
  left: 10px !important;
  bottom: 10px !important;
  width: auto !important;
  min-width: 150px;
  height: 42px !important;
  padding: 0 15px !important;
  border: 1px solid rgba(255,225,151,.68) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #e4bf62, #b98a2c) !important;
  color: #101722 !important;
  font-size: 15px !important;
  font-weight: 950;
  line-height: 1;
  letter-spacing: .01em;
  text-shadow: 0 1px 0 rgba(255,255,255,.25);
  box-shadow: 0 10px 24px rgba(185,138,44,.24), inset 0 1px 0 rgba(255,255,255,.34) !important;
  transition: filter .16s ease, transform .16s ease;
}

body.tournamentStorefrontV3 .photoCart:hover,
body.tournamentStorefrontV3 .photoHeart.photoTagChild:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

body.tournamentStorefrontV3 #btnViewerCart {
  display: none !important;
}

.ts3FieldLabel {
  display: grid;
  gap: 7px;
  margin-top: 13px;
  color: #d8dfeb;
  font-weight: 850;
}

.ts3FieldLabel span {
  color: #8f9caf;
  font-size: 12px;
  font-weight: 650;
}

.ts3FieldLabel input {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  padding: 10px 13px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 12px;
  background: #07101d;
  color: #fff;
  font: inherit;
}

.ts3TextAction {
  margin-top: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #d7b251;
  font-weight: 800;
  text-align: left;
  text-decoration: underline;
  cursor: pointer;
}

body.tournamentStorefrontV3 #secViewer .viewerActionRow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

body.tournamentStorefrontV3.viewerMode #secViewer {
  box-sizing: border-box;
}

body.tournamentStorefrontV3 #secViewer .viewerShell {
  grid-template-areas:
    "header"
    "sponsor"
    "image"
    "actions";
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 8px;
}

body.tournamentStorefrontV3 #secViewer .viewerHeaderBar { grid-area: header; }
body.tournamentStorefrontV3 #secViewer #viewerSponsorMount { grid-area: sponsor; }
body.tournamentStorefrontV3 #secViewer .viewerImageRow { grid-area: image; }
body.tournamentStorefrontV3 #secViewer .viewerActionRow { grid-area: actions; }

body.tournamentStorefrontV3 #secViewer .viewerTopActions .chipBtn {
  min-height: 40px;
  padding-right: 11px;
  padding-left: 11px;
  font-size: 14px;
}

body.tournamentStorefrontV3 #btnBuySingle::first-letter {
  text-transform: uppercase;
}

body.tournamentStorefrontV3 #btnFav {
  background: linear-gradient(180deg, #27364b, #1a2637) !important;
  border-color: rgba(190,205,226,.32) !important;
  color: #edf3fb !important;
  opacity: 1;
}

body.tournamentStorefrontV3 #btnFav.isTagged {
  background: linear-gradient(180deg, #1aa761, #117844) !important;
  border-color: rgba(126,236,178,.5) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(17,120,68,.28) !important;
}

body.tournamentStorefrontV3 #btnBuySingle {
  background: linear-gradient(180deg, #e4bf62, #b98a2c) !important;
  border-color: rgba(255,225,151,.68) !important;
  color: #101722 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.25);
}

body.tournamentStorefrontV3 #btnBuyMy {
  background: linear-gradient(180deg, #162236, #101a29) !important;
  border-color: rgba(218,177,79,.62) !important;
  color: #f4d481 !important;
}

body.tournamentStorefrontV3 #btnBuyTeam {
  grid-column: auto;
  min-height: 48px;
  background: linear-gradient(180deg, #162236, #101a29) !important;
  border-color: rgba(218,177,79,.62) !important;
  color: #f4d481 !important;
}

body.tournamentStorefrontV3 #btnBuyTeam::after {
  content: "";
}

.ts3Modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: 12px;
  background: rgba(2,7,14,.88);
  backdrop-filter: blur(10px);
}

.ts3ConfirmShade { position: fixed; inset: 0; z-index: 13000; display: grid; place-items: center; padding: 18px; background: rgba(0,0,0,.72); }
.ts3ConfirmCard { width: min(460px,100%); padding: 22px; border: 1px solid rgba(239,194,88,.48); border-radius: 18px; background: #0d192a; box-shadow: 0 28px 80px rgba(0,0,0,.7); }
.ts3ConfirmCard h3 { margin: 0 0 7px; font-size: 23px; }
.ts3ConfirmCard p { margin: 0 0 18px; color: #b9c4d5; line-height: 1.5; }
.ts3ConfirmCard > div { display: flex; justify-content: flex-end; gap: 10px; }

.ts3Card {
  width: min(920px, 100%);
  max-height: min(900px, calc(100dvh - 24px));
  overflow: auto;
  border: 1px solid rgba(202,162,74,.42);
  border-radius: 22px;
  background: linear-gradient(180deg, #111d31, #08111f);
  box-shadow: 0 30px 90px rgba(0,0,0,.65);
}

.ts3Head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  background: rgba(13,24,41,.97);
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.ts3Head h2 { margin: 0; font-size: clamp(23px, 4vw, 32px); }
.ts3Head p { margin: 5px 0 0; color: #aeb8ca; line-height: 1.4; }
.ts3Close { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: #fff; font-size: 25px; cursor: pointer; }
.ts3Body { padding: 20px; }
.ts3Tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.ts3Tab { min-height: 58px; border-radius: 14px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.04); color: #fff; font-size: 16px; font-weight: 900; cursor: pointer; }
.ts3Tab.on { background: linear-gradient(180deg, #2c72ff, #1651cc); border-color: #73a1ff; }
.ts3ShippingBanner { display: grid; grid-template-columns: auto minmax(0,1fr); column-gap: 10px; align-items: center; margin-bottom: 16px; padding: 13px 15px; border: 1px solid rgba(112,231,164,.38); border-radius: 14px; background: linear-gradient(135deg, rgba(21,139,77,.24), rgba(18,64,49,.18)); color: #eafff1; }
.ts3ShippingBanner > span { grid-row: 1 / 3; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 999px; background: #179b55; color: #fff; font-weight: 1000; }
.ts3ShippingBanner b { font-size: 16px; }
.ts3ShippingBanner small { margin-top: 2px; color: #b8d9c5; }
.ts3ShippingBanner.pending { border-color: rgba(224,187,99,.42); background: linear-gradient(135deg,rgba(146,102,25,.22),rgba(78,57,18,.15)); color: #fff1c9; }
.ts3ShippingBanner.pending > span { background: #bd8b2d; }
.ts3ShippingBanner.pending small { color: #decda5; }
.ts3Options { display: grid; gap: 12px; }
.ts3Option { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: start; padding: 15px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.035); cursor: pointer; }
.ts3Option.selected { border-color: #d7b054; background: rgba(202,162,74,.11); box-shadow: inset 0 0 0 1px rgba(202,162,74,.24); }
.ts3Option input { width: 22px; height: 22px; margin-top: 2px; }
.ts3Option h3 { margin: 0; font-size: 18px; }
.ts3Option p { margin: 6px 0 0; color: #b4bdcc; font-size: 14px; line-height: 1.4; }
.ts3Price { font-size: 20px; font-weight: 950; white-space: nowrap; color: #f0cf78; }
.ts3Badge { display: inline-block; margin-top: 7px; padding: 4px 8px; border-radius: 999px; background: #1c6c40; font-size: 12px; font-weight: 900; }
.ts3ProductJumpTabs { position: sticky; top: 76px; z-index: 1; margin: -2px 0 18px; padding: 8px 0 12px; background: #0b1526; }
.ts3ProductSection { scroll-margin-top: 72px; padding-top: 6px; }
.ts3ProductSection + .ts3ProductSection { margin-top: 26px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.11); }
.ts3AddOnSection { padding-top: 0; }
.ts3ProductSectionHead { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.ts3ProductSectionHead h3 { margin: 0; color: #e0bd67; font-size: 21px; letter-spacing: -.01em; }
.ts3ProductSectionHead p { margin: 4px 0 0; color: #9da9bd; font-size: 13px; line-height: 1.45; }
.ts3PackageGrid, .ts3QuantityGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ts3PackageCard { position: relative; min-height: 228px; padding: 17px 17px 15px; border: 1px solid rgba(255,255,255,.105); border-radius: 19px; background: linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); color: #f5f7fb; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.018); }
.ts3PackageCard:hover, .ts3QuantityRow:hover { border-color: rgba(224,191,112,.42); background: linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018)); }
.ts3PackageCard:focus-visible, .ts3QuantityRow:focus-visible { outline: 2px solid #d4aa48; outline-offset: 2px; }
.ts3PackageCard.selected { border-color: rgba(224,191,112,.67); background: linear-gradient(180deg,rgba(224,191,112,.105),rgba(255,255,255,.018)); box-shadow: 0 0 0 3px rgba(224,191,112,.035); }
.ts3PackageCard h3 { margin: 0 86px 5px 0; font-size: 19px; line-height: 1.18; }
.ts3PackagePrice { margin-top: 3px; color: #fff; font-size: 28px; font-weight: 950; letter-spacing: -.025em; }
.ts3PackageCard ul { margin: 10px 0 0; padding-left: 18px; color: #aeb9cc; font-size: 12px; line-height: 1.5; }
.ts3PackageBadge { position: absolute; top: 12px; right: 12px; max-width: 80px; padding: 5px 8px; border-radius: 999px; background: rgba(28,108,64,.88); color: #d7f8e4; font-size: 10px; font-weight: 950; text-align: center; }
.ts3PackageQuantity { display: flex; align-items: center; justify-content: space-between; gap: 11px; margin-top: 13px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.08); color: #eef3fb; font-size: 12px; font-weight: 800; }
.ts3QuantityRow { min-height: 75px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; border: 1px solid rgba(255,255,255,.10); border-radius: 16px; background: rgba(255,255,255,.02); cursor: pointer; }
.ts3QuantityRow.selected { border-color: rgba(224,191,112,.43); background: rgba(224,191,112,.075); }
.ts3QuantityRow > span { min-width: 0; }
.ts3QuantityRow b { display: block; color: #f5f7fb; font-size: 15px; line-height: 1.3; }
.ts3QuantityRow small { display: block; margin-top: 4px; color: #9faabd; font-size: 12px; line-height: 1.35; }
.ts3QtyControl { display: inline-grid; grid-template-columns: 36px minmax(50px,auto) 36px; align-items: center; flex: 0 0 auto; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: #0a1424; }
.ts3QtyControl button { width: 36px; height: 40px; border: 0; background: rgba(255,255,255,.045); color: #fff; font-size: 21px; font-weight: 750; line-height: 1; cursor: pointer; }
.ts3QtyControl button:hover:not(:disabled) { background: rgba(202,162,74,.16); color: #f2d793; }
.ts3QtyControl button:disabled { opacity: .3; cursor: not-allowed; }
.ts3QtyControl span { min-width: 50px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3px 6px; line-height: 1.05; }
.ts3QtyControl span b { color: #fff; font-size: 14px; }
.ts3QtyControl span small { margin-top: 3px; color: #8f9aae; font-size: 8px; font-weight: 850; letter-spacing: .07em; }
.ts3ProductsEmpty { padding: 17px; border: 1px dashed rgba(255,255,255,.15); border-radius: 15px; color: #9faabd; text-align: center; }
.ts3Foot { position: sticky; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 20px; background: rgba(9,18,31,.98); border-top: 1px solid rgba(255,255,255,.1); }
.ts3Total { display: flex; flex-direction: column; font-size: 18px; font-weight: 900; }
.ts3Total small { margin-bottom: 2px; color: #9faabd; font-size: 11px; font-weight: 800; }
.ts3FooterAction { display: grid; justify-items: end; gap: 7px; }
.ts3FooterAction .ts3InlineError { max-width: 440px; margin: 0; padding: 8px 11px; font-size: 13px; }
.ts3Primary, .ts3Secondary, .ts3Danger { min-height: 48px; padding: 0 20px; border-radius: 13px; font-size: 16px; font-weight: 950; cursor: pointer; }
.ts3Primary { border: 0; background: linear-gradient(180deg, #1aad5c, #108047); color: #fff; }
.ts3Secondary { border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.05); color: #fff; }
.ts3Danger { border: 1px solid rgba(255,118,118,.46); background: rgba(151,42,42,.18); color: #ffd7d7; }
.ts3CropGrid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.8fr); gap: 18px; }
.ts3PreviewColumn { min-width: 0; display: grid; align-content: start; gap: 11px; }
.ts3Proof { position: relative; width: 100%; min-height: 390px; max-height: min(520px, calc(100dvh - 260px)); display: grid; place-items: center; justify-self: center; overflow: hidden; border-radius: 16px; background: #03070d; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.ts3Proof > .ts3ProofPhoto { position: absolute; z-index: 1; display: block; max-width: none; max-height: none; object-fit: fill; transform: none; }
.ts3Proof.round { border-radius: 999px; aspect-ratio: 1; min-height: 0; }
.ts3Proof.portrait { width: auto; height: min(520px, calc(100dvh - 260px)); min-height: 0; max-width: 100%; aspect-ratio: 5 / 7; }
.ts3Proof.cardFront { width: auto; height: min(520px, calc(100dvh - 260px)); min-height: 0; max-width: 100%; aspect-ratio: 780 / 1075; background: #050a11; }
.ts3CardFrontOverlay { position: absolute; inset: 0; z-index: 5; pointer-events: none; overflow: hidden; container-type: inline-size; font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif; text-transform: uppercase; }
.ts3CardFrontBorder { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; max-height: none; object-fit: fill; transform: none; }
.ts3CardFrontLogo { position: absolute; z-index: 3; top: 5.4884%; width: 13.0769%; height: 9.4884%; object-fit: contain; }
.ts3CardFrontLogo.left { left: 9.2308%; object-position: left top; }
.ts3CardFrontLogo.right { left: 79.359%; object-position: right top; }
.ts3CardFrontSmall, .ts3CardFrontMain, .ts3CardFrontJersey { position: absolute; z-index: 3; display: flex; align-items: flex-end; overflow: hidden; white-space: nowrap; }
.ts3CardFrontSmall { left: 7.6923%; top: 83.4419%; width: 54.2308%; height: 3.2558%; color: #f6de3e; font-size: 5.8974cqw; line-height: .7174; }
.ts3CardFrontMain { left: 7.5641%; top: 88%; width: 54.359%; height: 6.6047%; color: #fff; font-size: 12.3077cqw; line-height: .71875; }
.ts3CardFrontJersey { left: 64.4872%; top: 82.5116%; width: 27.9487%; height: 11.907%; justify-content: flex-end; color: #fff; font-size: 23.0769cqw; line-height: .7111; }
.ts3CardFrontOverlay.noJersey .ts3CardFrontSmall { width: 84.7436%; }
.ts3CardFrontOverlay.noJersey .ts3CardFrontMain { width: 84.8718%; }
.ts3CardFrontSmall span, .ts3CardFrontMain span, .ts3CardFrontJersey span { position: relative; display: block; flex: 0 0 auto; max-width: none; white-space: nowrap; }
.ts3CardFrontSmall span { top: .5cqw; }
.ts3CardFrontMain span { top: .5cqw; }
.ts3CardFrontJersey span { top: 1.5cqw; }
.ts3CardFrontSmall.isHidden, .ts3CardFrontMain.isHidden, .ts3CardFrontJersey.isHidden { visibility: hidden; }
.ts3CardFrontSafe { position: absolute; z-index: 6; left: 7.6923%; top: 5.4884%; right: 7.5641%; bottom: 5.3953%; border: 2px dotted rgba(255,255,255,.96); pointer-events: none; filter: drop-shadow(0 1px 2px rgba(0,0,0,.82)); }
.ts3TournamentBar { position: absolute; inset: 0; z-index: 4; pointer-events: none; overflow: hidden; container-type: inline-size; }
.ts3TournamentBarLayer { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; object-fit: fill; transform: none; }
.ts3TournamentBarContent { position: absolute; inset: 0; color: #fff; }
.ts3TournamentFrameSafe { position: absolute; z-index: 6; border: 2px dotted rgba(255,255,255,.96); pointer-events: none; filter: drop-shadow(0 1px 2px rgba(0,0,0,.86)); }
.ts3TournamentBar.portrait .ts3TournamentFrameSafe { left: 13.46%; top: 5.42%; right: 13.40%; bottom: 13.33%; }
.ts3TournamentBar.landscape .ts3TournamentFrameSafe { left: 6.15%; top: 10.30%; right: 6.10%; bottom: 17.20%; }
.ts3TournamentBarLogo { position: absolute; z-index: 2; max-width: none; max-height: none; object-fit: contain; transform: none; }
.ts3TournamentBarLogo.left { left: 6.0606%; top: 83.9608%; width: 13.697%; height: 9.8824%; object-position: left bottom; }
.ts3TournamentBarLogo.right { left: 80.2727%; top: 83.9608%; width: 13.697%; height: 9.8824%; object-position: right bottom; }
.ts3TournamentBarCopy { position: absolute; inset: 0; min-width: 0; text-align: center; }
.ts3TournamentBarEvent,
.ts3TournamentBarTeam { position: absolute; left: 19.7576%; right: 19.7273%; display: flex; align-items: flex-end; justify-content: center; overflow: hidden; font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif; font-stretch: condensed; font-weight: 400; letter-spacing: 0; line-height: .9142857; text-transform: uppercase; white-space: nowrap; text-shadow: none; }
.ts3TournamentBarEvent { top: 84.8235%; height: 2.5098%; color: #f6de3e; font-size: 2.1212cqw; }
.ts3TournamentBarTeam { top: 88.8235%; height: 5.0196%; color: #fff; font-size: 4.2424cqw; }
.ts3TournamentBarEvent span,
.ts3TournamentBarTeam span { display: block; flex: 0 0 auto; max-width: none; white-space: nowrap; }
.ts3TournamentBarEvent.isHidden, .ts3TournamentBarTeam.isHidden { visibility: hidden; }
.ts3Proof.portrait .ts3TournamentBarLogo.left { left: 13.3333%; top: 81.3636%; width: 11.8824%; height: 13.697%; object-position: left bottom; }
.ts3Proof.portrait .ts3TournamentBarLogo.right { left: 74.8627%; top: 81.3636%; width: 11.8431%; height: 13.697%; object-position: right bottom; }
.ts3Proof.portrait .ts3TournamentBarEvent,
.ts3Proof.portrait .ts3TournamentBarTeam { left: 25.2157%; right: 25.1373%; }
.ts3Proof.portrait .ts3TournamentBarEvent { top: 88.0909%; height: 1.9394%; font-size: 2.7451cqw; }
.ts3Proof.portrait .ts3TournamentBarTeam { top: 91.1818%; height: 3.8788%; font-size: 5.4902cqw; }
.ts3Proof.round .ts3TournamentBarContent { left: 20%; right: 20%; bottom: 3.5%; height: 13%; }
.ts3Proof.round .ts3TournamentBarEvent { font-size: clamp(6px,.7vw,9px); }
.ts3Proof.round .ts3TournamentBarTeam { font-size: clamp(8px,1.5vw,16px); }
.ts3EditionGuides { position: absolute; inset: 0; z-index: 8; pointer-events: none; }
.ts3EditionSafe { position: absolute; inset: 2px; border: 2px dotted rgba(255,255,255,.96); border-radius: 3px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.82)); }
.ts3RoundSafe { position: absolute; z-index: 8; inset: 8.333%; border: 2px dotted rgba(255,255,255,.96); border-radius: 50%; pointer-events: none; filter: drop-shadow(0 1px 2px rgba(0,0,0,.82)); }
.ts3MagazineOverlay { position: absolute; inset: 0; z-index: 5; container-type: inline-size; pointer-events: none; color: #fff; text-shadow: 1px 1px 0 rgba(0,0,0,.94); font-family: Rockwell, "Roboto Slab", "DejaVu Serif Condensed", Georgia, serif; }
.ts3MagazineTopLine, .ts3MagazineStory b, .ts3MagazineStory small, .ts3MagazineStory strong, .ts3MagazineInterview strong, .ts3MagazinePlayerName, .ts3MagazineProfile strong { position: relative; z-index: 2; overflow: hidden; text-transform: uppercase; }
.ts3MagazineTopLine { position: absolute; left: 4.42%; top: 3.43%; width: 91.2%; height: 3.5%; color: #ffdb00; font-size: 2.6cqw; font-weight: 1000; line-height: 1.02; letter-spacing: .002em; }
.ts3MagazineMasthead { position: absolute; z-index: 2; left: 3.88%; right: 3.75%; top: 7.2%; height: 20.2%; overflow: hidden; }
.ts3MagazineMasthead img { position: absolute; left: -2.7%; top: -55%; width: 105.4%; height: auto; max-height: none; transform: none; }
.ts3MagazineStories { position: absolute; z-index: 2; left: 69.7%; top: 35.25%; width: 26.3%; height: 31.9%; display: grid; grid-template-rows: 31% 37% 32%; gap: 0; }
.ts3MagazineStory { position: relative; min-width: 0; overflow: visible; padding: 6% 0 0; }
.ts3MagazineStory:not(:first-child)::before { content: ""; position: absolute; left: 0; top: 0; width: 31%; height: 3px; background: #ff7417; }
.ts3MagazineStory:first-child { padding-top: 0; }
.ts3MagazineStory b { display: block; width: 100%; height: 29%; color: #ffdb00; font-size: 3.9cqw; font-weight: 1000; line-height: .92; }
.ts3MagazineStory small { display: block; width: 100%; height: 24%; color: #fff; font-size: 1.65cqw; font-weight: 1000; line-height: 1.02; }
.ts3MagazineStory strong { display: block; width: 100%; height: 45%; color: #fff; font-size: 2.15cqw; font-weight: 1000; line-height: 1.01; }
.ts3MagazinePlus { position: absolute; left: -22%; top: -18%; color: #ff7417; font-family: Arial, sans-serif; font-size: 7.55cqw; font-weight: 400; line-height: 1; }
.ts3MagazineStoryOne b { padding-left: 3%; }
.ts3MagazineStoryTwo b { height: 34%; font-size: 3.75cqw; }
.ts3MagazineStoryThree small { height: 28%; }
.ts3MagazineStoryThree strong { height: 60%; color: #ffdb00; font-size: 3.7cqw; line-height: .9; }
.ts3MagazineInterview { position: absolute; z-index: 2; left: 5.9%; top: 72.4%; width: 43%; height: 4.2%; display: grid; grid-template-columns: 10.5% minmax(0,1fr); gap: 4%; align-items: center; }
.ts3MagazineInterview span { width: 100%; aspect-ratio: 1; border: solid #ff7417; border-width: 0 8px 8px 0; transform: rotate(-45deg); }
.ts3MagazineInterview strong { width: 100%; height: 58%; color: #fff; font-size: 2.12cqw; font-weight: 1000; line-height: 1; }
.ts3MagazinePlayerName { position: absolute; z-index: 2; left: 5.7%; top: 76.4%; width: 65%; height: 7.7%; color: #ffdb00; font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif; font-size: 8.1cqw; font-stretch: condensed; font-weight: 500; letter-spacing: -.012em; line-height: .92; white-space: nowrap; }
.ts3MagazineProfile { position: absolute; z-index: 2; left: 0; top: 84%; width: 37.8%; height: 12.93%; display: grid; grid-template-columns: 19.25% minmax(0,1fr); gap: 3.6%; background: rgba(0,0,0,.56); }
.ts3MagazineProfile i { background: #ffdb00; }
.ts3MagazineProfile strong { align-self: center; width: 94%; height: 84%; white-space: pre-line; color: #fff; font-size: 2.12cqw; font-weight: 1000; line-height: 1.04; }
.ts3MagazinePublication { position: absolute; z-index: 2; left: 70.5%; top: 87.7%; width: 25.8%; height: 9%; display: grid; grid-template-columns: 34% 62%; gap: 4%; align-items: end; }
.ts3MagazinePublication small { color: #fff; font-size: 1.15cqw; font-weight: 900; text-transform: uppercase; }
.ts3MagazinePublication span { height: 86%; background: repeating-linear-gradient(90deg,#111 0 2px,#fff 2px 5px,#111 5px 6px,#fff 6px 9px); border: 3px solid #fff; box-shadow: 0 1px 3px rgba(0,0,0,.8); }
.ts3MagazinePublication em { display: none; }
.ts3MagAutoText { color: #fff !important; transition: color .12s ease; }
.ts3MagAutoText.dark { color: #30343b !important; }
.ts3Guide5x7 { border-color: #f3c95f; }
.ts3Guide5x7 span { color: #ffe28c; }
.ts3Controls { display: grid; align-content: start; gap: 13px; }
.ts3DesktopEditorControls { display: contents; }
.ts3MobileEditorControls { display: none; }
.ts3Controls label { display: grid; gap: 6px; color: #cad2df; font-weight: 750; }
.ts3Controls input, .ts3Controls select, .ts3Controls textarea { width: 100%; min-height: 44px; padding: 9px 11px; border-radius: 10px; border: 1px solid rgba(255,255,255,.16); background: #07101d; color: #fff; }
.ts3Controls input[type="range"] { min-height: 36px; padding: 0; accent-color: #d4aa48; }
.ts3Controls input[type="checkbox"] { width: 20px; min-height: 20px; padding: 0; accent-color: #179b55; }
.ts3Controls label > span { display: flex; align-items: center; gap: 9px; }
.ts3NudgeRow { display: grid; grid-template-columns: 42px minmax(0,1fr) 42px; gap: 7px; align-items: center; }
.ts3NudgeRow button { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.07); color: #fff; font-size: 20px; font-weight: 900; cursor: pointer; touch-action: none; }
.ts3NudgeRow button:disabled, .ts3Controls input[type="range"]:disabled { opacity: .3; cursor: not-allowed; }
.ts3ControlDisabled { opacity: .58; }
.ts3PreviewChoice { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ts3PreviewChoice button { min-height: 44px; border: 1px solid rgba(255,255,255,.16); border-radius: 11px; background: rgba(255,255,255,.045); color: #d8dfeb; font-weight: 900; cursor: pointer; }
.ts3PreviewChoice button.on { border-color: #e2bd5c; background: rgba(202,162,74,.17); color: #ffe194; box-shadow: inset 0 0 0 1px rgba(202,162,74,.18); }
.ts3OrientationChoice { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.ts3OrientationChoice button { min-height: 46px; border: 1px solid rgba(255,255,255,.17); border-radius: 11px; background: rgba(255,255,255,.045); color: #d8dfeb; font-weight: 900; cursor: pointer; }
.ts3OrientationChoice button.on { border-color: #e2bd5c; background: rgba(202,162,74,.17); color: #ffe194; box-shadow: inset 0 0 0 1px rgba(202,162,74,.18); }
.ts3FrameToggle { padding: 12px; border: 1px solid rgba(202,162,74,.32); border-radius: 12px; background: rgba(202,162,74,.08); }
.ts3FrameFields { display: grid; gap: 12px; padding: 13px; border: 1px solid rgba(202,162,74,.22); border-radius: 13px; background: rgba(5,12,21,.44); }
.ts3DesignLine { display: grid; grid-template-columns: minmax(120px,.8fr) minmax(160px,1.2fr); gap: 10px; align-items: center; }
.ts3DesignLine label { margin: 0; }
.ts3PlayerParts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding-top: 3px; }
.ts3PlayerParts label { min-height: 40px; padding: 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.025); font-size: 12px; }
.ts3IdentitySummary { display: grid; gap: 3px; padding: 14px; border: 1px solid rgba(202,162,74,.28); border-radius: 13px; background: rgba(202,162,74,.08); }
.ts3IdentitySummary small { color: #ddbd6a; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.ts3IdentitySummary b { color: #fff; font-size: 18px; }
.ts3IdentitySummary span { color: #b8c4d5; }
.ts3CustomStatField { display: grid; grid-template-columns: minmax(0,1fr) minmax(110px,.65fr); gap: 10px; padding: 11px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.025); }
.ts3CardBackResultToggle { padding: 11px 12px; border: 1px solid rgba(202,162,74,.28); border-radius: 12px; background: rgba(202,162,74,.07); }
.ts3Proof.cardBack { width: auto; height: min(520px,calc(100dvh - 260px)); min-height: 0; max-width: 100%; aspect-ratio: 5 / 7; background: #e9e9e9; }
.ts3CardBackPreview { position: absolute; inset: 0; overflow: hidden; background: #ececec url("/static/tournament/cardback_background_layer.jpg") center / 100% 100% no-repeat; container-type: inline-size; font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif; text-transform: uppercase; }
[data-card-back-fit] { display: inline-block; max-width: none; font: inherit; font-style: normal; color: inherit; letter-spacing: inherit; line-height: inherit; white-space: nowrap; }
.ts3CardBackEvent { position: absolute; left: 13%; top: 5.2%; width: 74%; height: 3.2%; overflow: hidden; color: #f0c456; font-size: 3.35cqw; line-height: 1; letter-spacing: .035em; text-align: center; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.78); }
.ts3CardBackLogo { position: absolute; left: 37.5%; top: 9.3%; width: 25%; height: 15.2%; object-fit: contain; filter: drop-shadow(0 2px 2px rgba(0,0,0,.58)); }
.ts3CardBackPlayer { position: absolute; left: 13%; top: 26%; width: 74%; height: 5.5%; overflow: hidden; color: #fff; font-size: 7.35cqw; line-height: .92; letter-spacing: .02em; text-align: center; white-space: nowrap; text-shadow: 0 2px 2px rgba(0,0,0,.76); }
.ts3CardBackTeam { position: absolute; left: 13%; top: 31.5%; width: 74%; height: 2.5%; overflow: hidden; color: #dce1e8; font-family: Inter,Arial,sans-serif; font-size: 2.42cqw; font-weight: 900; line-height: 1.1; letter-spacing: .025em; text-align: center; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.72); }
.ts3CardBackTitle { position: absolute; left: 17%; top: 37%; width: 66%; height: 5.7%; display: grid; place-items: center; border-top: 2px solid #f0c456; border-bottom: 2px solid #f0c456; color: #f0c456; font-size: 4.8cqw; line-height: .95; letter-spacing: .07em; text-align: center; text-shadow: 0 1px 2px rgba(0,0,0,.78); }
.ts3CardBackStats { position: absolute; left: 15%; top: 47%; width: 70%; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2.4%; }
.ts3CardBackStats > div { min-width: 0; padding: 14% 2% 11%; border: 1px solid rgba(255,255,255,.28); border-radius: 5px; background: rgba(7,12,19,.34); text-align: center; box-shadow: inset 0 1px 0 rgba(255,255,255,.1); }
.ts3CardBackStats b { display: block; overflow: hidden; color: #fff; font-size: 7.1cqw; font-weight: 400; line-height: .9; white-space: nowrap; text-shadow: 0 2px 2px rgba(0,0,0,.75); }
.ts3CardBackStats > div > span { display: block; margin-top: 13%; overflow: hidden; color: #f0c456; font-family: Inter,Arial,sans-serif; font-size: 1.9cqw; font-weight: 950; line-height: 1; letter-spacing: .04em; white-space: nowrap; }
.ts3CardBackBio { position: absolute; left: 16%; top: 45.5%; width: 68%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 8%; }
.ts3CardBackBio > div { min-width: 0; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.21); }
.ts3CardBackBio > div.wide { grid-column: 1 / -1; margin-right: 16.25%; margin-left: 16.25%; text-align: center; }
.ts3CardBackBio span { display: block; color: #f0c456; font-family: Inter,Arial,sans-serif; font-size: 1.75cqw; font-weight: 950; line-height: 1; letter-spacing: .06em; }
.ts3CardBackBio b { display: block; margin-top: 3px; overflow: hidden; color: #fff; font-size: 4cqw; font-weight: 400; line-height: 1; letter-spacing: .02em; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.72); }
.ts3CardBackResult { position: absolute; left: 15%; top: 69%; width: 70%; text-align: center; }
.ts3CardBackResult span { display: block; color: #f0c456; font-family: Inter,Arial,sans-serif; font-size: 1.9cqw; font-weight: 950; letter-spacing: .07em; text-shadow: 0 1px 2px rgba(0,0,0,.72); }
.ts3CardBackResult b { display: block; max-height: 12cqw; margin-top: 1.2%; overflow: hidden; color: #fff; font-size: 6.3cqw; font-weight: 400; line-height: .92; letter-spacing: .015em; text-shadow: 0 2px 2px rgba(0,0,0,.84); }
.ts3CardBackFooter { position: absolute; left: 13%; bottom: 7.5%; width: 74%; color: #1c2229; font-family: Inter,Arial,sans-serif; text-align: center; }
.ts3CardBackFooter b { display: block; overflow: hidden; font-size: 2.35cqw; font-weight: 950; line-height: 1.15; letter-spacing: .015em; white-space: nowrap; }
.ts3CardBackFooter span { display: block; margin-top: 4px; color: #4d535b; font-size: 1.9cqw; font-weight: 850; letter-spacing: .04em; }
.ts3DetailsIntro { display: grid; gap: 4px; margin-bottom: 17px; padding: 14px; border: 1px solid rgba(91,143,211,.34); border-radius: 14px; background: rgba(38,84,145,.15); }
.ts3DetailsIntro span { color: #c2cee0; font-size: 13px; }
.ts3DetailsGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.ts3DetailsGrid label { display: grid; gap: 6px; color: #d4dbe7; font-weight: 800; }
.ts3DetailsGrid label.wide { grid-column: 1 / -1; }
.ts3DetailsGrid em { margin-left: 5px; color: #e8c35f; font-size: 10px; font-style: normal; text-transform: uppercase; }
.ts3DetailsGrid input { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 11px; background: #07101d; color: #fff; font-size: 16px; }
.ts3DetailsGrid input[readonly] { color: #abb7c9; background: rgba(255,255,255,.035); }
.ts3JerseyInput { display: grid; grid-template-columns: 42px minmax(0,1fr); overflow: hidden; border-radius: 11px; }
.ts3JerseyInput span { display: grid; place-items: center; background: rgba(202,162,74,.18); color: #f0cf78; font-size: 20px; font-weight: 950; }
.ts3JerseyInput input { border-radius: 0; }
.ts3CoverageStatus[hidden] { display: none; }
.ts3CartDetail { margin-top: 11px; padding: 0 11px; border: 1px solid rgba(202,162,74,.24); border-radius: 13px; background: rgba(202,162,74,.055); }
.ts3CartDetailRow { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: start; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.09); }
.ts3CartDetailRow:first-child { border-top: 0; }
.ts3CartDetailRow small { display: block; color: #d6b75e; font-size: 9px; font-weight: 1000; letter-spacing: .08em; text-transform: uppercase; }
.ts3CartDetailRow p { margin: 3px 0 0; color: #d6ddea; font-size: 12px; line-height: 1.45; }
.ts3CartDetailRow .chipBtn { width: max-content; min-height: auto; padding: 6px 9px; font-size: 11px; }
.ts3SafeHelp { padding: 11px 13px; border: 1px dashed rgba(243,201,95,.58); border-radius: 12px; background: rgba(243,201,95,.08); color: #f5dfaa; font-size: 13px; line-height: 1.45; }
.ts3CropProductNote { padding: 11px 13px; border: 1px solid rgba(91,143,211,.38); border-radius: 12px; background: rgba(38,84,145,.18); color: #dceaff; font-size: 13px; line-height: 1.45; }
.ts3CoverageStatus { padding: 11px 13px; border-radius: 12px; font-size: 13px; font-weight: 850; line-height: 1.4; }
.ts3CoverageStatus.waiting { border: 1px solid rgba(142,164,195,.3); background: rgba(96,118,150,.11); color: #c8d3e3; }
.ts3CoverageStatus.ok { border: 1px solid rgba(91,221,150,.4); background: rgba(28,151,85,.14); color: #bff5d6; }
.ts3CoverageStatus.warning { border: 1px solid rgba(255,115,115,.5); background: rgba(183,50,50,.16); color: #ffd0d0; }
.ts3ApprovalError { padding: 11px 13px; border: 1px solid rgba(255,105,105,.55); border-radius: 12px; background: rgba(184,45,45,.18); color: #ffd0d0; font-weight: 850; }
.ts3ApprovalError[hidden] { display: none; }
.ts3Note { padding: 12px 14px; border-radius: 13px; background: rgba(44,114,255,.12); color: #cddcff; line-height: 1.45; }
.ts3HowCards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.ts3HowCard { display: flex; flex-direction: column; align-items: stretch; min-height: 210px; padding: 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.035); }
.ts3HowPlayerCard { grid-column: 1; grid-row: 1; }
.ts3HowPhotoCard { grid-column: 2; grid-row: 1; }
.ts3HowTeamCard { grid-column: 1; grid-row: 2; }
.ts3HowTeamPhotoCard { grid-column: 2; grid-row: 2; }
.ts3HowFocusCard { grid-column: 1 / -1; grid-row: auto; min-height: 0; }
.ts3HowNumber { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 999px; background: linear-gradient(180deg, #2c72ff, #1651cc); color: #fff; font-size: 19px; font-weight: 950; }
.ts3HowCard h3 { margin: 1px 0 6px; font-size: 19px; }
.ts3HowCard p { margin: 0 0 14px; color: #bdc6d5; line-height: 1.5; }
.ts3HowPlayerIncludes { margin-top: 5px; }
.ts3HowPlayerIncludes > b { display: block; margin-bottom: 5px; color: #f2f5fa; }
.ts3HowPlayerIncludes p { margin-bottom: 12px; }
.ts3HowPriceList { display: grid; margin: 0 0 13px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(3,9,17,.35); }
.ts3HowPriceList > div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 12px; color: #c8d0dd; }
.ts3HowPriceList > div + div { border-top: 1px solid rgba(255,255,255,.09); }
.ts3HowPriceList b { color: #f4d481; white-space: nowrap; }
.ts3HowPriceList > div.best { background: rgba(32,168,91,.13); color: #dff8e8; }
.ts3HowPriceList > div.best b { color: #7ee4a7; }
.ts3HowWarning { margin: 0 0 14px; padding: 11px 12px; border: 1px solid rgba(241,188,72,.42); border-radius: 11px; background: rgba(138,91,17,.16); color: #f5dfad; font-size: 13px; line-height: 1.42; }
.ts3HowWarning b { color: #fff0c7; }
.ts3HowAction { width: 100%; min-height: 46px; margin-top: auto; border: 1px solid rgba(218,177,79,.62); border-radius: 12px; background: linear-gradient(180deg, #162236, #101a29); color: #f4d481; font-size: 15px; font-weight: 900; cursor: pointer; }
.ts3HowAction.primary { background: linear-gradient(180deg, #e4bf62, #b98a2c); color: #101722; }
.ts3HowNote { margin-top: 14px; }
.ts3PlayerTagWarning { padding: 14px; border: 1px solid rgba(241,188,72,.46); border-radius: 13px; background: rgba(138,91,17,.18); color: #ffe8b2; line-height: 1.48; }
.ts3PlayerTagWarning b { color: #fff2cd; }
.ts3PlayerConfirm { display: flex; align-items: flex-start; gap: 10px; margin-top: 14px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: rgba(255,255,255,.035); color: #e6ebf2; line-height: 1.42; cursor: pointer; }
.ts3PlayerConfirm input { width: 19px; height: 19px; flex: 0 0 auto; margin-top: 1px; }
.ts3InlineError { display: none; margin-top: 12px; padding: 11px 13px; border: 1px solid rgba(255,104,104,.42); border-radius: 11px; background: rgba(124,29,29,.22); color: #ffd3d3; line-height: 1.4; }
.ts3SavePrompt { text-align: center; }
.ts3SavePrompt .ts3Body { max-width: 600px; margin: auto; }
.ts3SavePrompt input { width: 100%; min-height: 52px; margin: 12px 0; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(255,255,255,.18); background: #07101d; color: #fff; font-size: 17px; }
.ts3GameList { display: grid; gap: 10px; }
.ts3PlayerFields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.ts3PlayerFields input { min-height: 46px; padding: 0 12px; border-radius: 11px; border: 1px solid rgba(255,255,255,.16); background: #07101d; color: #fff; }
.ts3PackagePricing { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-bottom: 12px; }
.ts3PackagePricing span { display: grid; gap: 3px; min-width: 0; padding: 11px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.035); color: #f2cf77; font-size: 18px; font-weight: 950; text-align: center; }
.ts3PackagePricing span b { color: #aeb8c8; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.ts3PackagePricing span.best { border-color: rgba(58,199,116,.52); background: rgba(31,151,82,.14); color: #7ee4a7; }
.ts3PackageValue { width: 100%; margin: 0 0 14px; padding: 16px; border: 1px solid rgba(58,199,116,.58); border-radius: 15px; background: linear-gradient(135deg,rgba(25,142,74,.22),rgba(12,75,43,.18)); color: #fff; text-align: left; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.ts3PackageValue strong { display: block; color: #8af0b2; font-size: 19px; line-height: 1.2; }
.ts3PackageValue span { display: block; margin-top: 5px; color: #cae9d5; font-size: 13px; line-height: 1.4; }
.ts3PackagePlanChoices { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ts3PackagePlanChoices .ts3PackageValue { height: 100%; margin: 0; border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.04); }
.ts3PackagePlanChoices .ts3PackageValue.active { border-color: rgba(58,199,116,.72); background: linear-gradient(135deg,rgba(25,142,74,.28),rgba(12,75,43,.22)); box-shadow: 0 0 0 2px rgba(58,199,116,.12); }
.ts3Option.owned { opacity: .76; cursor: default; }
.ts3Option.owned .ts3Price { color: #7ee4a7; }
.ts3BrowseMoreGames { width: 100%; margin-top: 12px; }
.ts3OneGameConfirm { width: min(520px,100%); }

body.tournamentStorefrontV3 .collectionSelectLabel { align-items: center; min-width: 220px; min-height: 56px; padding: 0 16px; border: 2px solid rgba(218,177,79,.34); border-radius: 16px; background: rgba(218,177,79,.08); color: #f5d681; font-size: 18px; font-weight: 900; box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
body.tournamentStorefrontV3 .viewerCollectionLabel { min-height: 48px; border-radius: 14px; font-size: 16px; }
body.tournamentStorefrontV3 .collectionGameHeading { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 14px; margin: 10px 0 2px; padding: 13px 15px; border: 1px solid rgba(218,177,79,.34); border-radius: 13px; background: linear-gradient(180deg, rgba(218,177,79,.11), rgba(218,177,79,.045)); color: #f2f5fa; }
body.tournamentStorefrontV3 .collectionGameHeading b { min-width: 0; line-height: 1.35; }
body.tournamentStorefrontV3 .collectionGameHeading span { flex: 0 0 auto; color: #f5d681; font-size: 13px; font-weight: 900; white-space: nowrap; }

@media (max-width: 680px) {
  body.tournamentStorefrontV3 #secPhotos .sectionHead { align-items: stretch; }
  body.tournamentStorefrontV3 #secPhotos .sectionHead > div:first-child { width: 100%; }
  body.tournamentStorefrontV3 #secPhotos .sectionTitle { font-size: clamp(22px,7vw,28px); }
  body.tournamentStorefrontV3 .thumbGameControl { width: 100%; }
  body.tournamentStorefrontV3 .thumbGameControl .thumbSelect { width: auto; min-width: 0; flex: 1 1 auto; }
  body.tournamentStorefrontV3 .thumbGameControl .thumbCount { flex: 0 0 auto; margin-right: 5px; padding: 0 7px; font-size: 11px; }
  body.tournamentStorefrontV3 .ts3FocusPrompt {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
    min-height: 0;
    margin: 10px 0 14px;
    padding: 11px;
    border-left-width: 4px;
  }
  body.tournamentStorefrontV3 .ts3FocusPromptIcon { width: 36px; height: 36px; border-radius: 10px; font-size: 23px; }
  body.tournamentStorefrontV3 .ts3FocusPromptCopy b { font-size: 18px; }
  body.tournamentStorefrontV3 .ts3FocusPromptBody { font-size: 13px; }
  body.tournamentStorefrontV3 .ts3FocusPromptActions { grid-column: 1 / -1; min-width: 0; margin-top: 2px; }
  body.tournamentStorefrontV3 .ts3FocusPromptButton { width: 100%; white-space: normal; }
  body.tournamentStorefrontV3 .ts3FocusGamePrompt { grid-template-columns: 36px minmax(0, 1fr); }
  body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptCopy b { font-size: 18px; }
  body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptBody { font-size: 13px; }
  body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptActions { min-width: 0; }
  body.tournamentStorefrontV3 .ts3FocusInlinePrompt-desktop { display: none; }
  body.tournamentStorefrontV3 .ts3FocusInlinePrompt-mobile { display: grid; }
  body.tournamentStorefrontV3 #secPhotos .photoTile { padding-bottom: 112px; }
  body.tournamentStorefrontV3 .photoCart { left: 10px !important; right: 10px !important; bottom: 60px !important; width: auto !important; }
  body.tournamentStorefrontV3 .photoHeart.photoTagChild { left: 10px; right: 10px; bottom: 10px; width: auto; }
  body.tournamentStorefrontV3 #secViewer .viewerActionRow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.tournamentStorefrontV3 #secViewer #btnFav,
  body.tournamentStorefrontV3 #secViewer #btnBuySingle,
  body.tournamentStorefrontV3 #secViewer #btnBuyMy,
  body.tournamentStorefrontV3 #secViewer #btnBuyTeam { grid-column: auto; }
  body.tournamentStorefrontV3 #secViewer .viewerTopActions { display: flex; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; }
  body.tournamentStorefrontV3 #secViewer .viewerTopActions .chipBtn { flex: 0 0 auto; }
  .ts3Card { max-height: calc(100dvh - 12px); border-radius: 16px; }
  .ts3Body { padding: 14px; }
  .ts3Head { padding: 14px; }
  .ts3Tabs, .ts3PlayerFields, .ts3CropGrid, .ts3HowCards { grid-template-columns: 1fr; }
  .ts3PackagePricing { grid-template-columns: 1fr 1fr; }
  .ts3PackagePlanChoices { grid-template-columns: 1fr; }
  .ts3PackagePricing span { padding: 9px 8px; font-size: 17px; }
  .ts3PackageValue { padding: 14px; }
  .ts3PackageValue strong { font-size: 17px; }
  .ts3OneGameConfirm > div { display: grid; grid-template-columns: 1fr; }
  .ts3OneGameConfirm .ts3Primary, .ts3OneGameConfirm .ts3Secondary { width: 100%; }
  .ts3DetailsGrid { grid-template-columns: 1fr; }
  .ts3DetailsGrid label.wide { grid-column: auto; }
  .ts3DesignLine { grid-template-columns: 1fr; }
  .ts3PlayerParts { grid-template-columns: 1fr; }
  .ts3OrientationChoice { grid-template-columns: 1fr; }
  .ts3PackageGrid, .ts3QuantityGrid { grid-template-columns: 1fr; }
  .ts3ProductJumpTabs { position: static; }
  .ts3PackageCard { min-height: 0; }
  .ts3PackageQuantity, .ts3QuantityRow { align-items: flex-start; }
  .ts3QuantityRow { padding: 12px; }
  .ts3HowCard { min-height: 0; }
  .ts3HowPhotoCard, .ts3HowPlayerCard, .ts3HowTeamCard, .ts3HowTeamPhotoCard, .ts3HowFocusCard { grid-column: auto; grid-row: auto; }
  body.tournamentStorefrontV3 .collectionSelectLabel { width: 100%; min-width: 0; min-height: 50px; }
  body.tournamentStorefrontV3 .viewerCollectionLabel { min-height: 42px; }
  body.tournamentStorefrontV3 .collectionGameHeading { align-items: flex-start; flex-direction: column; gap: 5px; }
  body.tournamentStorefrontV3 .ts3SectionActions { width: 100%; justify-content: stretch; }
  body.tournamentStorefrontV3 .ts3SectionActions > button { flex: 1 1 145px; }
  body.tournamentStorefrontV3 .ts3CollectionSave { flex: 1 1 auto; }
  body.tournamentStorefrontV3 .ts3CollectionOptionsMenu { position: fixed; top: auto; right: 14px; bottom: 14px; left: 14px; width: auto; }
  .ts3Option { grid-template-columns: auto minmax(0,1fr); }
  .ts3Price { grid-column: 2; }
  .ts3Proof { min-height: 0; max-height: 48dvh; }
  .ts3Proof.portrait { width: auto; height: min(440px, 48dvh); max-width: 100%; }
  .ts3Proof.cardBack { width: auto; height: min(440px,48dvh); max-width: 100%; }
  .ts3Foot { padding: 12px 14px; flex-wrap: wrap; }
  .ts3Primary, .ts3Danger { flex: 1; }
}

/* Mobile checkout must keep its body scrollable and its actions reachable. */
@media (max-width: 700px) {
  body.tournamentStorefrontV3 #checkoutModal .modalInner { min-height:100dvh; padding:0; }
  body.tournamentStorefrontV3 #checkoutModal .modalCard {
    height:100dvh;
    max-height:none;
    border-width:0;
    border-radius:0;
  }
  body.tournamentStorefrontV3 #checkoutModal .modalHead { padding:12px 14px; }
  body.tournamentStorefrontV3 #checkoutModal .modalTitle { font-size:clamp(21px,6vw,26px); }
  body.tournamentStorefrontV3 #checkoutModal .modalBody { padding:12px 13px 18px; }
  body.tournamentStorefrontV3 #checkoutModal .stepRow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  body.tournamentStorefrontV3 #checkoutModal .stepDot { min-width:0; padding:7px 4px; overflow:hidden; font-size:10px; text-align:center; white-space:nowrap; }
  body.tournamentStorefrontV3 #checkoutModal .searchWrap { min-width:0; }
  body.tournamentStorefrontV3 #checkoutModal .searchField { min-width:0; flex-basis:100%; }
  body.tournamentStorefrontV3 #checkoutModal input,
  body.tournamentStorefrontV3 #checkoutModal select { min-width:0; font-size:16px; }
  body.tournamentStorefrontV3 #checkoutModal .modalFooter {
    flex-wrap:nowrap;
    align-items:stretch;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));
  }
  body.tournamentStorefrontV3 #checkoutModal .checkoutActionsLeft { flex:0 0 auto; }
  body.tournamentStorefrontV3 #checkoutModal .checkoutActionsRight { min-width:0; flex:1 1 auto; flex-wrap:nowrap; justify-content:flex-end; }
  body.tournamentStorefrontV3 #checkoutModal .chipBtn { min-width:0; min-height:46px; padding-inline:12px; }
}

/* Product editors keep the proof visible while only the controls scroll. */
@media (max-width: 680px) {
  .ts3Modal.ts3EditorModal { place-items: stretch; padding: 0; }
  .ts3EditorModal .ts3Card {
    width: 100%;
    height: 100dvh;
    max-height: none;
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    overflow: hidden;
    border-radius: 0;
  }
  .ts3EditorModal .ts3Head { position: relative; padding: 9px 11px; }
  .ts3EditorModal .ts3Head h2 { font-size: clamp(19px,5.4vw,24px); line-height: 1.08; }
  .ts3EditorModal .ts3Head p { display: none; }
  .ts3EditorModal .ts3Close { width: 36px; height: 36px; font-size: 22px; }
  .ts3EditorModal .ts3Body { min-height: 0; overflow: hidden; padding: 0; }
  .ts3EditorModal .ts3CropGrid {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(180px,36dvh) minmax(0,1fr);
    gap: 0;
  }
  .ts3EditorModal .ts3PreviewColumn {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0,1fr) auto;
    align-items: center;
    justify-items: center;
    gap: 5px;
    overflow: hidden;
    padding: 8px 10px 7px;
    border-bottom: 1px solid rgba(255,255,255,.10);
    background: #091321;
  }
  .ts3EditorModal .ts3Proof,
  .ts3EditorModal .ts3Proof.portrait,
  .ts3EditorModal .ts3Proof.cardBack,
  .ts3EditorModal .ts3Proof.cardFront {
    width: auto;
    height: 100%;
    min-height: 0;
    max-width: 100%;
    max-height: 100%;
  }
  .ts3EditorModal .ts3CropProductNote {
    width: 100%;
    max-height: 42px;
    overflow: hidden;
    padding: 5px 8px;
    border-radius: 8px;
    font-size: 10px;
    line-height: 1.25;
  }
  .ts3EditorModal .ts3Controls {
    min-height: 0;
    align-content: start;
    gap: 10px;
    overflow-x: hidden;
    overflow-y: hidden;
    overscroll-behavior: contain;
    padding: 11px 13px 20px;
    -webkit-overflow-scrolling: touch;
  }
  .ts3EditorModal .ts3DesktopEditorControls { display: none; }
  .ts3EditorModal .ts3MobileEditorControls { min-height: 0; display: grid; align-content: start; gap: 10px; overflow-x: hidden; overflow-y: auto; }
  .ts3MobilePersistent:empty { display: none; }
  .ts3MobileEditorTabs { position: sticky; z-index: 3; top: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; padding: 3px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: #091321; box-shadow: 0 6px 12px rgba(3,8,14,.34); }
  .ts3MobileEditorTabs button { min-height: 42px; border: 0; border-radius: 9px; background: transparent; color: #aeb9c9; font-size: 14px; font-weight: 950; cursor: pointer; }
  .ts3MobileEditorTabs button.on { background: linear-gradient(180deg,rgba(218,177,79,.26),rgba(181,132,39,.18)); color: #ffe094; box-shadow: inset 0 0 0 1px rgba(226,189,92,.62); }
  .ts3MobileEditorPanels { min-height: 0; }
  .ts3MobileEditorPanel { display: grid; align-content: start; gap: 10px; }
  .ts3MobileEditorPanel[hidden] { display: none; }
  .ts3EditorModal .ts3Controls input,
  .ts3EditorModal .ts3Controls select,
  .ts3EditorModal .ts3Controls textarea { min-height: 42px; }
  .ts3EditorModal .ts3NudgeRow button { width: 40px; height: 40px; }
  .ts3EditorModal .ts3Foot {
    position: relative;
    z-index: 3;
    flex-wrap: nowrap;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
  }
  .ts3EditorModal .ts3Foot .ts3Primary,
  .ts3EditorModal .ts3Foot .ts3Secondary {
    min-width: 0;
    min-height: 44px;
    padding: 0 11px;
    font-size: 13px;
    line-height: 1.15;
  }
  .ts3EditorModal .ts3Foot .ts3Secondary { flex: 0 1 38%; }
  .ts3EditorModal .ts3Foot .ts3Primary { flex: 1 1 62%; }
}

/* v1580b: Buy This Photo has its own cart and contact modals. */
body:has(.cartV2Modal),body:has(.cartV2CustomerInfoModal){overflow:hidden}
.cartV2Modal .modalBody,.cartV2CustomerInfoModal .modalBody{overscroll-behavior:contain}
.cartV2ItemRow>div,.cartV2CustomerInfoModal .modalBody div{min-width:0}
.cartV2ItemRow{overflow-wrap:anywhere}
.cartV2CustomerInfoModal input,.cartV2CustomerInfoModal select{min-width:0;max-width:100%}
@media(max-width:700px){
  .cartV2Modal .modalInner,.cartV2CustomerInfoModal .modalInner{min-height:100dvh;padding:0}
  .cartV2Modal .modalCard,.cartV2CustomerInfoModal .modalCard{height:100dvh;max-height:none;border:0;border-radius:0;max-width:none!important}
  .cartV2Modal .modalHead,.cartV2CustomerInfoModal .modalHead{padding:12px 14px}
  .cartV2Modal .modalTitle,.cartV2CustomerInfoModal .modalTitle{font-size:24px}
  .cartV2Modal .modalBody,.cartV2CustomerInfoModal .modalBody{padding:12px}
  .cartV2Modal .modalFooter,.cartV2CustomerInfoModal .modalFooter{padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px}
  .cartV2Modal .modalFooter .chipBtn,.cartV2CustomerInfoModal .modalFooter .chipBtn{flex:1 1 120px;min-width:0;min-height:46px;white-space:normal}
  .cartV2CustomerInfoModal .cartV2ContactRow{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:430px){
  .cartV2Modal .cartV2ItemRow{grid-template-columns:64px minmax(0,1fr) auto!important;gap:8px!important;padding:10px}
  .cartV2ItemRow>div:first-child{width:64px!important;height:64px!important}
}
/* A short landscape viewport must allow the whole editor to scroll. */
@media(max-height:550px){
  .ts3Modal.ts3EditorModal{padding:0}
  .ts3EditorModal .ts3Card{height:100dvh;max-height:none;display:flex;flex-direction:column;border-radius:0;overflow:hidden}
  .ts3EditorModal .ts3Head,.ts3EditorModal .ts3Foot{flex-shrink:0}
  .ts3EditorModal .ts3Head{position:static;padding:8px 12px}
  .ts3EditorModal .ts3Head h2{font-size:21px}
  .ts3EditorModal .ts3Head p{display:none}
  .ts3EditorModal .ts3Body{min-height:0;overflow:auto;flex:1}
  .ts3EditorModal .ts3CropGrid{height:auto;grid-template-rows:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .ts3EditorModal .ts3PreviewColumn{display:block;overflow:visible}
  .ts3EditorModal .ts3Proof{height:auto;max-height:none;width:100%}
  .ts3EditorModal .ts3Controls,.ts3EditorModal .ts3MobileEditorControls{overflow:visible}
}

/* v1594a: scoped selector clarity and compact, visible product samples. */
body.tournamentPage #secT .list,
body.tournamentStorefrontV3 :is(#teamList,#gameList){min-width:0;grid-template-columns:minmax(0,1fr)}
body.tournamentPage #secT .tile{min-width:0;max-width:100%}
body.tournamentPage #secT .tileName{display:block;-webkit-line-clamp:unset;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:clamp(19px,2.2vw,26px);line-height:1.2}
body.tournamentPage #secT .tileMeta{white-space:normal;overflow:visible;overflow-wrap:anywhere}
body.tournamentPage #secT .tileLocation{color:#dfc883}
body.tournamentPage #secT .tileDates{font-size:13px;margin-top:5px}
body.tournamentPage #secT .logo{width:66px;height:66px;padding:5px;border-radius:14px}
body.tournamentPage #secT .tileLeft{gap:12px}
body.tournamentPage #secT .searchField,
body.tournamentStorefrontV3 :is(#secTeam,#secGame) .searchField{min-width:0;max-width:100%}
body.tournamentPage #secT .searchField input,
body.tournamentStorefrontV3 :is(#secTeam,#secGame) .searchField input{min-width:0}
body.tournamentStorefrontV3 :is(#teamList,#gameList) .row{min-width:0;max-width:100%}
body.tournamentStorefrontV3 :is(#teamList,#gameList) .row :is(.top,.bot){white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
body.tournamentStorefrontV3 .sectionHead>div{min-width:0;max-width:100%}
body.tournamentStorefrontV3 .heroTitle{overflow-wrap:anywhere}
body.tournamentStorefrontV3 #gameList .ts3GameRow{display:grid;grid-template-columns:minmax(145px,.7fr) minmax(0,1.5fr) auto;gap:14px;width:100%;font-family:inherit;color:var(--text);text-align:left;padding:16px;min-height:88px}
body.tournamentStorefrontV3 .ts3GameWhen{font-size:19px;line-height:1.3;font-weight:950;overflow-wrap:anywhere}
body.tournamentStorefrontV3 .ts3GameInfo{min-width:0}
body.tournamentStorefrontV3 .ts3GameOpponent{display:block;font-size:18px;line-height:1.35;overflow-wrap:anywhere}
body.tournamentStorefrontV3 .ts3GameRink{display:block;font-size:13px;line-height:1.4;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}
body.tournamentStorefrontV3 .ts3GameOpen{font-size:14px;line-height:1.3;font-weight:900;color:var(--gold)}
body.tournamentStorefrontV3 #secPhotos :is(.thumbToolbar,.thumbToolbarLeft,.thumbToolbarRight,.thumbGameControl){min-width:0;max-width:100%}
body.tournamentStorefrontV3 #secPhotos .thumbGameControl{flex:1 1 320px;width:440px}
body.tournamentStorefrontV3 #secPhotos .thumbSelect{min-width:0;max-width:100%}
body.tournamentStorefrontV3 #secPhotos .thumbGameControl .thumbSelect{flex:1 1 0;width:0;min-width:0}
body.tournamentStorefrontV3 #secPhotos .thumbGameControl .thumbCount{white-space:normal;overflow-wrap:anywhere;min-width:0}
body.tournamentStorefrontV3 .ts3SelectedGameDetails{padding:0 2px;margin:10px 0 14px;min-width:0;color:var(--text);overflow-wrap:anywhere}
body.tournamentStorefrontV3 .ts3SelectedGameDetails p{margin:4px 0;font-size:16px;line-height:1.35}
body.tournamentStorefrontV3 .ts3SelectedGameDetails b{font-size:18px;line-height:1.35}
body.tournamentStorefrontV3 .ts3SelectedGameDetails .ts3SelectedTeam{color:var(--gold);font-weight:900}
body.tournamentStorefrontV3 .ts3SelectedGameDetails .ts3SelectedRink{color:var(--muted);font-size:13px}
body.tournamentStorefrontV3 .ts3ProductShowcase{padding:12px;gap:10px;min-width:0}
body.tournamentStorefrontV3 .ts3ProductShowcase .gmpKeepsakes{padding:0;background:none}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakesHeading{margin:0 0 10px}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakesKicker{display:none}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) h3{font-size:22px;line-height:1.2}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakesProducts{grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr);gap:10px;align-items:start}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsake{grid-column:auto;grid-row:auto}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakeArt{height:155px;padding:3px 0;gap:5px}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakeFace{transform:none;max-width:100%;gap:4px}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakeFace>span{display:none}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsake figcaption{min-height:0;margin-top:6px}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) figcaption strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) figcaption span{font-size:12px;line-height:1.3;overflow-wrap:anywhere}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakesNote{display:none}
body.tournamentStorefrontV3 .ts3ShowcaseFooter{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
body.tournamentStorefrontV3 .ts3ShowcaseFooter p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
body.tournamentStorefrontV3 .ts3ShowcaseSize{min-height:40px;padding:8px 10px;font-size:12px;white-space:normal}
body.tournamentStorefrontV3 .ts3ShowcaseSize[hidden]{display:none}
@media(max-width:700px){
  body.tournamentPage #secT .tile{display:grid;grid-template-columns:40px minmax(0,1fr);padding:12px;gap:9px}
  body.tournamentPage #secT .logo{width:40px;height:40px;padding:3px;border-radius:10px;align-self:start}
  body.tournamentPage #secT .tileLeft{display:contents}
  body.tournamentPage #secT .chev{grid-column:2;justify-self:end;width:24px;min-width:0;height:24px;min-height:0;padding:0;border:0;background:none;box-shadow:none}
  body.tournamentPage #secT .tileName{font-size:19px}
  body.tournamentStorefrontV3 .heroTitle{font-size:clamp(24px,6.5vw,30px);line-height:1.16}
  body.tournamentStorefrontV3 #teamList .teamRow{padding:14px;min-height:76px}
  body.tournamentStorefrontV3 #teamList .chev{width:24px;min-width:24px;height:32px;min-height:0;padding:0;border:0;background:none;box-shadow:none;flex:0 0 24px}
  body.tournamentStorefrontV3 #teamList .teamRow .top{font-size:20px;line-height:1.25}
  body.tournamentStorefrontV3 #gameList .ts3GameRow{grid-template-columns:minmax(0,1fr);gap:7px;padding:14px}
  body.tournamentStorefrontV3 .ts3GameWhen{font-size:18px}
  body.tournamentStorefrontV3 .ts3GameOpponent{font-size:17px}
  body.tournamentStorefrontV3 .ts3GameOpen{justify-self:end}
  body.tournamentStorefrontV3 #secPhotos .thumbToolbarLeft{display:grid;grid-template-columns:minmax(0,1fr)}
  body.tournamentStorefrontV3 #secPhotos .thumbGameControl{width:100%}
  body.tournamentStorefrontV3 #secPhotos .thumbGameControl .thumbCount{flex:0 1 auto;max-width:42%}
  body.tournamentStorefrontV3 #secPhotos .collectionSelectLabel{min-width:0;max-width:100%;overflow-wrap:anywhere}
  body.tournamentStorefrontV3 .ts3ProductShowcase{padding:10px}
  body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) h3{font-size:19px}
  body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakesProducts{gap:6px}
  body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakeArt{height:110px;gap:3px}
  body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) figcaption strong{font-size:12px;line-height:1.25;overflow-wrap:anywhere}
  body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) figcaption span{font-size:11px;line-height:1.3;overflow-wrap:anywhere}
  body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakeFace>span{font-size:11px;overflow-wrap:anywhere}
  body.tournamentStorefrontV3 .ts3ShowcaseSize{min-height:44px}
}
.ts3TeamPhotoDesigner .ts3Card{max-width:1120px}
.ts3TeamPhotoLayout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:start}
.ts3TeamPhotoProof{position:sticky;top:0;text-align:center;min-width:0}
.ts3TeamPhotoProof img{display:block;width:100%;max-height:58vh;object-fit:contain;border-radius:10px;background:#12171e}
.ts3TeamPhotoProof p{margin:10px 0 6px;font-size:14px}
.ts3TeamPhotoProof small{color:#9aabc2}
.ts3TeamPhotoControls{min-width:0}
.ts3TeamPhotoControls input,.ts3TeamPhotoControls select{min-width:0;max-width:100%}
.ts3TeamPhotoControls select{min-height:46px}
.ts3TeamPhotoOptions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.ts3TeamPhotoOptions label{display:flex;align-items:center;gap:8px;min-height:40px;font-size:14px}
.ts3TeamPhotoOptions input{flex:none;width:20px;height:20px}
.ts3TeamPhotoDesigner button:disabled{opacity:.5;cursor:default}
@media(max-width:760px){
  .ts3TeamPhotoLayout{grid-template-columns:minmax(0,1fr);gap:14px}
  .ts3TeamPhotoProof{position:static}
  .ts3TeamPhotoProof img{max-height:34vh}
  .ts3TeamPhotoDesigner .ts3DetailsGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ts3TeamPhotoDesigner .ts3Foot{position:sticky;bottom:0;background:#101b2c;z-index:2}
}

/* Team Photos: prominent team entry and shared examples, using the print editor. */
#ts3TeamPhotoPromo[hidden]{display:none!important}
#ts3TeamPhotoPromo{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 16px;padding:18px;text-align:left;font:inherit;color:#fff;cursor:pointer;border:1px solid #b89648;border-radius:14px;background:linear-gradient(110deg,#20324a,#253227)}
#ts3TeamPhotoPromo .ts3FocusPromptCopy{display:grid;gap:5px;min-width:0}
#ts3TeamPhotoPromo strong{font-size:20px;color:#ffe195}
#ts3TeamPhotoPromo [data-team-photo-promo-count]{font-size:14px;color:#d1dbe8}
.ts3TeamPhotoPromoAction{padding:12px 16px;background:#d7b15a;color:#102035;border-radius:10px;font-weight:900;text-align:center}
.ts3TeamPhotoGallery section{margin-bottom:24px}
.ts3TeamPhotoGallery section[hidden]{display:none}
.ts3TeamPhotoGalleryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ts3TeamPhotoTile{min-width:0;border:1px solid #344760;border-radius:12px;padding:10px;display:grid;gap:8px;background:#0a1626}
.ts3TeamPhotoTile>button:first-child{padding:0;display:grid;gap:8px;min-width:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}
.ts3TeamPhotoTile img{display:block;width:100%;height:220px;object-fit:contain;background:#04080e;border-radius:7px}
.ts3TeamPhotoTile strong{font-size:20px;overflow-wrap:anywhere}
.ts3TeamPhotoTile span{color:#ffe195;font-size:14px}
.ts3TeamPhotoDesigner .ts3TeamPhotoPreview{position:sticky;top:0;align-self:start;min-width:0;text-align:center}
.ts3TeamPhotoDesigner [data-team-photo-proof]{display:block;width:100%;height:440px;max-height:52vh;object-fit:contain;background:#050b13;border-radius:8px}
.ts3TeamPhotoProofStatus{font-size:13px;line-height:1.3;color:#b6c5d9;padding:7px 0}
.ts3TeamPhotoDesigner .ts3Controls{min-width:0}
.ts3TeamPhotoDesigner .ts3DesktopEditorControls,.ts3TeamPhotoPosition,.ts3TeamPhotoText{display:grid;gap:12px;min-width:0}
.ts3TeamPhotoDesigner [data-team-photo-panel][hidden]{display:none}
.ts3TeamPhotoFit{display:flex;gap:7px;flex-wrap:wrap}
.ts3TeamPhotoDesigner .ts3Foot{display:grid;gap:8px}
.ts3TeamPhotoOrder{display:flex;align-items:center;gap:12px;font-size:14px;min-width:0}
.ts3TeamPhotoOrder label{display:flex;align-items:center;gap:8px;flex:none}
.ts3TeamPhotoOrder input{width:64px;min-height:40px;background:#091321;color:#fff;border:1px solid #546378;border-radius:7px;padding:5px}
.ts3TeamPhotoConfirm{display:flex;align-items:center;gap:8px;font-size:13px}
.ts3TeamPhotoConfirm input{width:20px;height:20px;flex:none;accent-color:#d7b15a}
.ts3TeamPhotoActions{display:flex;flex-wrap:wrap;gap:8px}
.ts3TeamPhotoActions button{flex:1 1 auto;min-height:44px}
.ts3TeamPhotoShareStatus{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:13px;color:#cce9d1;overflow-wrap:anywhere}
.ts3TeamPhotoShareStatus:empty{display:none}
.ts3TeamPhotoShareStatus input,[data-team-photo-gallery-status] input{width:100%;min-width:0;padding:10px}
@media(max-width:680px){
  #ts3TeamPhotoPromo{grid-template-columns:auto minmax(0,1fr);padding:13px;gap:9px}
  #ts3TeamPhotoPromo strong{font-size:17px}
  .ts3TeamPhotoPromoAction{grid-column:1/-1;padding:10px}
  .ts3TeamPhotoGalleryGrid{grid-template-columns:minmax(0,1fr)}
  .ts3TeamPhotoTile img{height:auto;max-height:300px}
  .ts3TeamPhotoDesigner .ts3CropGrid{grid-template-rows:minmax(120px,30dvh) minmax(0,1fr)}
  .ts3TeamPhotoDesigner .ts3TeamPhotoPreview{position:static;align-self:stretch;min-height:0}
  .ts3TeamPhotoDesigner [data-team-photo-proof]{height:100%;max-height:100%;min-height:0}
  .ts3TeamPhotoDesigner .ts3Controls{overflow-y:auto;padding:10px}
  .ts3TeamPhotoDesigner .ts3MobileEditorControls{overflow:visible}
  .ts3TeamPhotoDesigner .ts3DesktopEditorControls{display:none}
  .ts3TeamPhotoDesigner .ts3Foot{position:relative;padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:6px}
  .ts3TeamPhotoOrder{font-size:12px;gap:8px}
  .ts3TeamPhotoOrder input{min-height:36px;width:54px}
  .ts3TeamPhotoActions{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:6px}
  .ts3TeamPhotoActions button{padding:8px 6px;font-size:12px;white-space:normal}
  .ts3TeamPhotoDesigner .ts3TeamPhotoShareStatus{max-height:90px;overflow-y:auto}
}
@media(max-width:900px) and (orientation:landscape) and (max-height:520px){
  .ts3TeamPhotoDesigner .ts3Card{height:auto;max-height:96dvh;display:block;overflow:auto}
  .ts3TeamPhotoDesigner .ts3Body{overflow:visible}
  .ts3TeamPhotoDesigner .ts3CropGrid{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .ts3TeamPhotoDesigner [data-team-photo-proof]{height:240px}
}
