/* TLPT UX convergence layer.
   Shared interaction and geometry rules live here so page themes can remain
   expressive without changing how the site behaves. */

:root{
  --content-max:1240px;
  --radius-inner:8px;
  --radius-control:12px;
  --radius-card:18px;
  --radius-hero:22px;
  --touch-target:44px;
  --focus-color:#fff4cc;
  --focus-shadow:0 0 0 3px rgba(255,184,28,.34);
  --surface-raised:linear-gradient(180deg,rgba(20,27,36,.99),rgba(11,16,23,.99));
}

#schedule-list h2.event-title-kicker{
  margin:0;
}

.wrap,
.site-footer-inner{
  max-width:var(--content-max);
}

.site-header{
  width:min(
    calc(100% - (var(--page-gutter) * 2)),
    calc(var(--content-max) - (var(--page-gutter) * 2))
  );
}

.section,
.profile-shell,
.player-card,
.event-card,
.champ-card,
.stat-card{
  border-radius:var(--radius-card);
}

.trophy-room-page .trophy-room-hero{
  border-radius:var(--radius-hero);
}

.btn,
.dashboard-category-tab,
.dashboard-metric-selector,
.fl-select-trigger,
.fl-select-menu,
.pm-btn,
.trophy-filter-family button,
.trophy-filter-fields select,
.knockouts-view-tab,
.format-toggle .btn,
.crew-view-toolbar .btn,
.marchand-era-button,
.marchand-filter-button{
  border-radius:var(--radius-control);
}

:where(
  a,
  button,
  select,
  input,
  textarea,
  summary,
  [role="button"],
  [tabindex]:not([tabindex="-1"])
):focus-visible{
  outline:2px solid var(--focus-color);
  outline-offset:3px;
  box-shadow:var(--focus-shadow);
}

body .site-page-hero-kicker,
.trophy-room-page .trophy-room-kicker{
  font-size:.78rem;
}

/* Functional labels and explanatory copy stay readable at every viewport.
   Deliberately excludes typography printed inside collectible-card artwork. */
.dashboard-metric-selector label,
.trophy-room-page .trophy-room-summary span,
.trophy-room-page .trophy-filter-fields label > span,
.trophy-room-page .trophy-card-plaque > div span,
.trophy-room-page .trophy-card-featured,
.trophy-room-page .trophy-card-plaque > em,
.trophy-room-page .trophy-card-plaque p,
.trophy-room-page .trophy-card-plaque > small,
.player-page .tlpt-card-special-banner strong,
.player-page .tlpt-card-special-banner b,
.player-page .tlpt-card-special-banner small,
.player-page .tlpt-card-special-banner em,
.player-page .tlpt-card-experience-head span,
.player-page .tlpt-card-experience p,
.player-page .tlpt-card-experience small,
.player-page .tlpt-card-rating-explainer-head span,
.player-page .tlpt-card-rating-explainer > p,
.player-page .tlpt-card-rating-explainer > small,
.player-page .tlpt-card-rating-explainer > em,
.vog-field span{
  font-size:.75rem;
}

/* Links that operate as controls share the same 44px interaction floor as
   native buttons and selects, including at tablet widths. */
.home-module-cta,
#home-snapshot .home-featured-profile-link,
.player-page .player-page-link{
  min-height:var(--touch-target);
}

/* A hero identifies the page. Controls, definitions, and live summaries sit
   in a companion surface immediately below it. */
.site-page-companion{
  position:relative;
  overflow:hidden;
  margin:-8px 0 0;
  padding:16px;
  border:1px solid rgba(255,184,28,.18);
  border-radius:var(--radius-card);
  background:
    radial-gradient(circle at top right,rgba(255,184,28,.07),transparent 34%),
    var(--surface-raised);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 12px 28px rgba(0,0,0,.18);
}

.site-page-companion::before{
  content:"";
  position:absolute;
  top:0;
  right:18px;
  left:18px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,184,28,.72),transparent);
}

.site-page-companion .site-page-hero-lower{
  margin:0;
  padding:0;
  border:0;
}

.dashboard-hero-companion,
.standings-hero-companion{
  margin-top:-10px;
}

.dashboard-hero-companion .dashboard-buttons-shell,
.standings-hero-companion .standings-buttons-shell{
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
}

.crew-hero-companion .crew-view-toolbar{
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
}

.streak-hero-companion .streak-definition-grid{
  margin:0;
}

.trophy-room-page .trophy-room-summary.trophy-room-companion{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:-8px 0 20px;
  padding:16px;
  border:1px solid rgba(255,184,28,.18);
  border-radius:var(--radius-card);
  background:var(--surface-raised);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 12px 28px rgba(0,0,0,.18);
}

.dashboard-list-rank,
.mobile-jump-nav-shell,
.player-section-jump-nav,
.crew-tier-jump-nav{
  display:none;
}

/* Shared interaction rows use the same dependable target height on every
   device. The footer link remains inline with its sentence while gaining a
   full touch target, and archive/dropdown rows keep their existing shape. */
.fl-select-option{
  min-height:var(--touch-target);
}

body:not(.marchand-page) .site-footer a{
  display:inline-flex;
  align-items:center;
  min-height:var(--touch-target);
}

.news-archive-link{
  display:flex;
  align-items:center;
  min-height:var(--touch-target);
}

/* Primary UI icons keep a stable footprint. Emoji remain available for the
   site's voice, but no longer move labels around from one platform to another. */
.btn-emoji,
.dashboard-category-tab > span[aria-hidden="true"],
.dashboard-metric-icon,
.pm-btn::first-letter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.45rem;
  min-width:1.45rem;
  height:1.45rem;
  border:1px solid rgba(255,255,255,.10);
  border-radius:var(--radius-inner);
  background:rgba(0,0,0,.20);
  font-family:"Arial Unicode MS","Segoe UI Symbol",Arial,sans-serif;
  font-variant-emoji:text;
  line-height:1;
}

/* Real mobile navigation: the parent destination and its disclosure control
   are separate tap targets. */
.site-nav-toggle,
.nav-submenu-toggle{
  display:none;
  appearance:none;
  border:1px solid rgba(255,184,28,.28);
  background:linear-gradient(180deg,rgba(255,184,28,.12),rgba(255,184,28,.035));
  color:#fff3c4;
  font:inherit;
  font-weight:850;
  cursor:pointer;
}

.site-nav-toggle{
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:96px;
  min-height:var(--touch-target);
  padding:9px 13px;
  border-radius:var(--radius-control);
}

.site-nav-toggle-icon{
  position:relative;
  width:18px;
  height:12px;
  border-top:2px solid currentColor;
  border-bottom:2px solid currentColor;
}

.site-nav-toggle-icon::after{
  content:"";
  position:absolute;
  top:4px;
  right:0;
  left:0;
  border-top:2px solid currentColor;
}

.nav-submenu-toggle{
  align-items:center;
  justify-content:center;
  width:var(--touch-target);
  min-width:var(--touch-target);
  min-height:var(--touch-target);
  padding:0;
  border-radius:var(--radius-inner);
}

.nav-submenu-toggle::before{
  content:"";
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .16s ease;
}

.nav-dropdown.is-open > .nav-submenu-toggle::before{
  transform:translateY(2px) rotate(225deg);
}

.hall-title-lock{
  display:inline-block;
  white-space:nowrap;
}

/* Scroll regions get a real affordance that disappears as the user reaches
   the far edge. */
.scroll-affordance-host{
  position:relative;
  min-width:0;
}

.scroll-affordance-shell{
  position:absolute;
  inset:0;
  z-index:12;
  overflow:hidden;
  border-radius:inherit;
  pointer-events:none;
}

.scroll-affordance{
  position:absolute;
  top:10px;
  right:10px;
  z-index:1;
  display:none;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border:1px solid rgba(255,184,28,.30);
  border-radius:999px;
  background:rgba(8,12,18,.92);
  color:#ffe2a0;
  box-shadow:0 8px 20px rgba(0,0,0,.28);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  pointer-events:none;
  transition:opacity .16s ease;
}

.scroll-affordance-shell.is-scrollable:not(.is-scroll-end) .scroll-affordance{
  display:inline-flex;
}

.scroll-affordance-shell.is-scroll-start .scroll-affordance::after{
  content:"→";
}

/* Loading states match the eventual card language instead of presenting a
   large empty shell. */
.tlpt-loading-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  width:100%;
}

.tlpt-loading-card{
  min-height:132px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:var(--radius-card);
  background:
    linear-gradient(110deg,transparent 24%,rgba(255,255,255,.055) 38%,transparent 52%) 0 0 / 220% 100%,
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  animation:tlptSkeleton 1.25s linear infinite;
}

@keyframes tlptSkeleton{
  to{background-position:-220% 0,0 0}
}

/* YouTube facades provide an intentional poster while keeping embeds dormant
   until the visitor asks to play them. */
.media-video-facade{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  width:100%;
  min-height:100%;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:var(--radius-control);
  background:#05070a;
  color:#fff;
  cursor:pointer;
}

.media-video-facade img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.76;
  transition:transform .24s ease,opacity .24s ease;
}

.media-video-facade::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.42));
}

.media-video-play{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:68px;
  height:52px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:var(--radius-control);
  background:rgba(215,38,61,.92);
  box-shadow:0 12px 30px rgba(0,0,0,.38);
}

.media-video-play::before{
  content:"";
  margin-left:4px;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  border-left:16px solid #fff;
}

.media-video-facade:hover img{
  transform:scale(1.025);
  opacity:.9;
}

/* Felt Whispers keeps its editorial black room while sharing the same outer
   geometry and title rhythm as the rest of TLPT. */
.section.news-header-shell{
  padding:34px 38px 30px;
  border-radius:var(--radius-hero);
}

.news-header-shell #news-page-title{
  margin:5px 0 8px;
  font-size:clamp(2.35rem,5vw,4.6rem);
  line-height:.95;
  letter-spacing:-.045em;
}

.news-header-shell .news-page-kicker{
  margin:10px 0 0;
}

.marchand-return-link{
  display:inline-flex;
  align-items:center;
  min-height:var(--touch-target);
  margin:0 0 12px;
  padding:9px 13px;
  border:1px solid rgba(255,184,28,.24);
  border-radius:var(--radius-control);
  background:rgba(9,13,18,.78);
  color:#ffe09a;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.player-page-more{
  position:relative;
}

.player-page-more > summary{
  display:none;
}

.player-page-more-links{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

/* Tablets are touch surfaces too. Keep the full TLPT control system at a
   dependable target size through the single-column responsive range while
   leaving the separately branded Marchand experience untouched. */
@media (max-width:980px){
  #schedule-list{
    grid-template-columns:1fr !important;
  }

  #schedule-list .event-card,
  #schedule-list .event-layout-grid,
  #schedule-list .event-details-col,
  #schedule-list .event-rsvp-col{
    min-width:0;
    width:100%;
  }

  body:not(.marchand-page) button,
  body:not(.marchand-page) select,
  body:not(.marchand-page) .btn,
  body:not(.marchand-page) [role="button"]:not(.fl-point),
  body:not(.marchand-page) .fl-select-option{
    min-height:var(--touch-target) !important;
  }

  #home-events-list .event-details-col > .home-event-fixed-buttons,
  #home-events-list .event-details-col > .home-event-fixed-buttons-inline,
  #schedule-list .event-details-col > a.btn.btn-rsvp{
    order:1;
    min-height:var(--touch-target) !important;
    margin:14px 0 0 !important;
    padding-top:0 !important;
  }

  #home-events-list .event-details-col > .event-rsvp-forecast,
  #schedule-list .event-details-col > .event-rsvp-forecast{
    order:2;
  }
}

@media (max-width:800px){
  .tlpt-loading-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dashboard-category-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    overflow:visible;
    padding:0;
  }

  .dashboard-category-tab{
    min-width:0;
    width:100%;
  }

  .trophy-room-page .trophy-room-summary.trophy-room-companion{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Tablet layouts should not require a sideways swipe to read standings or a
   blind level. The same focused columns used on phones become active before
   the full tables run out of room. */
@media (min-width:701px) and (max-width:900px){
  .site-header{
    width:calc(100% - (var(--page-gutter) * 2));
  }

  .site-header .header-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
  }

  .site-header .header-inner > div:first-child,
  .site-header .logo{
    min-width:0;
  }

  .site-header .logo{
    display:inline-flex;
    align-items:center;
    min-height:var(--touch-target);
    padding:4px 0;
  }

  .site-nav-toggle,
  .nav-submenu-toggle{
    display:inline-flex;
    min-width:var(--touch-target) !important;
  }

  .site-header .nav{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    width:100%;
    max-height:0;
    padding:0;
    overflow:hidden;
    visibility:hidden;
    opacity:0;
    transition:max-height .24s ease,opacity .18s ease,padding .18s ease;
  }

  .site-header.is-nav-open .nav{
    max-height:78vh;
    padding:10px 0 2px;
    overflow-y:auto;
    visibility:visible;
    opacity:1;
  }

  .site-header .nav > a{
    width:100%;
    justify-content:flex-start;
    min-height:48px;
    padding:10px 14px;
    border-color:rgba(255,255,255,.075);
    border-radius:12px;
    background:rgba(255,255,255,.025);
  }

  .site-header .nav-dropdown{
    display:grid;
    grid-template-columns:minmax(0,1fr) var(--touch-target);
    gap:0;
    width:100%;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.075);
    border-radius:12px;
    background:rgba(255,255,255,.025);
    transition:border-color .16s ease,background .16s ease;
  }

  .site-header .nav-dropdown-parent{
    width:100%;
    justify-content:flex-start;
    min-height:46px;
    padding:10px 14px;
    border:0;
    border-radius:11px 0 0 11px;
    background:transparent;
    box-shadow:none;
  }

  .site-header .nav-dropdown > .nav-submenu-toggle{
    align-self:stretch;
    min-height:46px;
    border:0;
    border-left:1px solid rgba(255,255,255,.075);
    border-radius:0;
    background:transparent;
  }

  .site-header .nav-dropdown.is-open{
    border-color:rgba(255,184,28,.28);
    background:rgba(255,184,28,.045);
  }

  .site-header .nav-dropdown.is-open > .nav-submenu-toggle{
    border-left-color:rgba(255,184,28,.18);
    background:rgba(255,184,28,.055);
  }

  .site-header .nav > a.is-active,
  .site-header .nav-dropdown-parent.is-active{
    background:linear-gradient(90deg,rgba(255,184,28,.12),rgba(255,184,28,.025));
    box-shadow:inset 3px 0 0 rgba(255,184,28,.82);
  }

  .site-header .nav-dropdown-parent::after,
  .site-header .nav-dropdown::after{
    content:none;
  }

  .site-header .nav-dropdown-menu,
  .site-header .nav-dropdown:hover .nav-dropdown-menu,
  .site-header .nav-dropdown:focus-within .nav-dropdown-menu{
    position:static;
    grid-column:1 / -1;
    display:grid;
    gap:4px;
    width:100%;
    min-width:0;
    max-height:0;
    padding:0 8px;
    overflow:hidden;
    border-width:0;
    border-radius:0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:none;
    transition:max-height .2s ease,opacity .16s ease,padding .16s ease;
  }

  .site-header .nav-dropdown.is-open .nav-dropdown-menu,
  .site-header .nav-dropdown.is-open:hover .nav-dropdown-menu,
  .site-header .nav-dropdown.is-open:focus-within .nav-dropdown-menu{
    max-height:480px;
    padding:7px;
    border-width:1px 0 0;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .site-header .nav-dropdown-menu a{
    display:flex;
    align-items:center;
    min-height:var(--touch-target);
    padding:9px 12px;
    border-radius:9px;
  }

  .site-nav-toggle[aria-expanded="true"]{
    border-color:rgba(255,184,28,.62);
    background:linear-gradient(180deg,rgba(255,184,28,.18),rgba(255,184,28,.07));
  }

  .site-nav-toggle:focus-visible,
  .nav-submenu-toggle:focus-visible{
    outline:2px solid #ffd568;
    outline-offset:2px;
    box-shadow:none;
  }

  .standings-buttons-shell > .button-row[data-sort-scope="standings"]{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
  }

  .standings-buttons-shell > .button-row[data-sort-scope="standings"] .btn{
    min-width:0;
    min-height:var(--touch-target);
    justify-content:center;
  }

  .standings-table-shell.has-horizontal-overflow,
  .blind-sheet.has-horizontal-overflow{
    padding-top:16px;
  }

  .standings-table-shell .table-wrap,
  .blind-table-scroll{
    overflow-x:visible;
  }

  #standings-table{
    width:100%;
    min-width:0 !important;
    table-layout:fixed;
  }

  #standings-table thead,
  #standings-table tbody{
    display:block;
  }

  #standings-table tr{
    display:grid;
    grid-template-columns:54px minmax(0,1fr) minmax(116px,.55fr);
    width:100%;
  }

  #standings-table th,
  #standings-table td{
    display:none;
    min-width:0 !important;
    padding:12px 10px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  #standings-table th:first-child,
  #standings-table td:first-child,
  #standings-table th:nth-child(2),
  #standings-table td:nth-child(2){
    position:static;
    display:table-cell;
    width:auto;
    min-width:0;
    background:transparent;
    box-shadow:none;
  }

  #standings-table[data-active-stat="totalWinnings"] :is(th,td):nth-child(3),
  #standings-table[data-active-stat="profit"] :is(th,td):nth-child(4),
  #standings-table[data-active-stat="timesPlaced"] :is(th,td):nth-child(5),
  #standings-table[data-active-stat="bubbles"] :is(th,td):nth-child(6),
  #standings-table[data-active-stat="hits"] :is(th,td):nth-child(7),
  #standings-table[data-active-stat="buyIns"] :is(th,td):nth-child(8),
  #standings-table[data-active-stat="rebuys"] :is(th,td):nth-child(9),
  #standings-table[data-active-stat="entries"] :is(th,td):nth-child(10){
    display:table-cell;
    grid-column:3;
  }

  .blind-table{
    width:100%;
    min-width:0;
    table-layout:fixed;
    font-size:.84rem;
  }

  .blind-table th,
  .blind-table td,
  .blind-table th:first-child,
  .blind-table td:first-child{
    position:static !important;
    padding:11px 7px;
    overflow:hidden;
    text-align:center;
    text-overflow:ellipsis;
    box-shadow:none !important;
  }

  .blind-table th:nth-child(1),
  .blind-table td:nth-child(1){ width:12%; }
  .blind-table th:nth-child(2),
  .blind-table td:nth-child(2){ width:22%; }
  .blind-table th:nth-child(3),
  .blind-table td:nth-child(3),
  .blind-table th:nth-child(4),
  .blind-table td:nth-child(4){ width:20%; }
  .blind-table th:nth-child(5),
  .blind-table td:nth-child(5){ width:26%; }

  .blind-table th:nth-child(n+6),
  .blind-table td:nth-child(n+6){
    display:none;
  }

  .blind-table th:nth-child(1),
  .blind-table th:nth-child(2),
  .blind-table th:nth-child(3),
  .blind-table th:nth-child(4){
    font-size:0;
  }

  .blind-table th:nth-child(1)::after{ content:"Lvl"; }
  .blind-table th:nth-child(2)::after{ content:"Time"; }
  .blind-table th:nth-child(3)::after{ content:"SB"; }
  .blind-table th:nth-child(4)::after{ content:"BB"; }

  .blind-table th:nth-child(-n+4)::after{
    font-size:.76rem;
  }

  .blind-table .blind-break td{
    display:table-cell;
    width:auto;
    padding:10px 6px;
    white-space:normal;
  }
}

@media (max-width:900px){
  .home-event-rotator-shell,
  .home-event-rotator-stage,
  .home-event-rotator-panel,
  .rotating-home-event-card,
  #home-events-list .event-card,
  #home-events-list .event-layout-grid,
  #home-events-list .event-details-col,
  #home-events-list .event-rsvp-col,
  #home-events-list{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  .home-event-rotator-panel{
    right:0;
    left:0;
  }
}

@media (max-width:700px){
  .standings-table-shell.has-horizontal-overflow{
    padding-top:36px;
  }

  .blind-sheet.has-horizontal-overflow{
    padding-top:48px;
  }

  .site-header{
    width:calc(100% - (var(--page-gutter) * 2));
  }

  .site-header .header-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
  }

  .site-header .header-inner > div:first-child,
  .site-header .logo{
    min-width:0;
  }

  .site-header .logo{
    display:inline-flex;
    align-items:center;
    min-height:var(--touch-target);
    padding:4px 0;
  }

  .site-nav-toggle,
  .nav-submenu-toggle{
    display:inline-flex;
    min-width:var(--touch-target) !important;
  }

  .site-header .nav{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    width:100%;
    max-height:0;
    padding:0;
    overflow:hidden;
    visibility:hidden;
    opacity:0;
    transition:max-height .24s ease,opacity .18s ease,padding .18s ease;
  }

  .site-header.is-nav-open .nav{
    max-height:78vh;
    padding:10px 0 2px;
    overflow-y:auto;
    visibility:visible;
    opacity:1;
  }

  .site-header .nav > a{
    width:100%;
    justify-content:flex-start;
    min-height:48px;
    padding:10px 14px;
    border-color:rgba(255,255,255,.075);
    border-radius:12px;
    background:rgba(255,255,255,.025);
  }

  .site-header .nav-dropdown{
    display:grid;
    grid-template-columns:minmax(0,1fr) var(--touch-target);
    gap:0;
    width:100%;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.075);
    border-radius:12px;
    background:rgba(255,255,255,.025);
    transition:border-color .16s ease,background .16s ease;
  }

  .site-header .nav-dropdown-parent{
    width:100%;
    justify-content:flex-start;
    min-height:46px;
    padding:10px 14px;
    border:0;
    border-radius:11px 0 0 11px;
    background:transparent;
    box-shadow:none;
  }

  .site-header .nav-dropdown > .nav-submenu-toggle{
    align-self:stretch;
    min-height:46px;
    border:0;
    border-left:1px solid rgba(255,255,255,.075);
    border-radius:0;
    background:transparent;
  }

  .site-header .nav-dropdown.is-open{
    border-color:rgba(255,184,28,.28);
    background:rgba(255,184,28,.045);
  }

  .site-header .nav-dropdown.is-open > .nav-submenu-toggle{
    border-left-color:rgba(255,184,28,.18);
    background:rgba(255,184,28,.055);
  }

  .site-header .nav > a.is-active,
  .site-header .nav-dropdown-parent.is-active{
    background:linear-gradient(90deg,rgba(255,184,28,.12),rgba(255,184,28,.025));
    box-shadow:inset 3px 0 0 rgba(255,184,28,.82);
  }

  .site-header .nav-dropdown-parent::after{
    content:none;
  }

  .site-header .nav-dropdown::after{
    content:none;
  }

  .site-header .nav-dropdown-menu,
  .site-header .nav-dropdown:hover .nav-dropdown-menu,
  .site-header .nav-dropdown:focus-within .nav-dropdown-menu{
    position:static;
    grid-column:1 / -1;
    display:grid;
    gap:4px;
    width:100%;
    min-width:0;
    max-height:0;
    padding:0 8px;
    overflow:hidden;
    border-width:0;
    border-radius:0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:none;
    transition:max-height .2s ease,opacity .16s ease,padding .16s ease;
  }

  .site-header .nav-dropdown.is-open .nav-dropdown-menu,
  .site-header .nav-dropdown.is-open:hover .nav-dropdown-menu,
  .site-header .nav-dropdown.is-open:focus-within .nav-dropdown-menu{
    max-height:480px;
    padding:7px;
    border-width:1px 0 0;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .site-header .nav-dropdown-menu a{
    min-height:var(--touch-target);
    display:flex;
    align-items:center;
    padding:9px 12px;
    border-radius:9px;
  }

  .site-nav-toggle[aria-expanded="true"]{
    border-color:rgba(255,184,28,.62);
    background:linear-gradient(180deg,rgba(255,184,28,.18),rgba(255,184,28,.07));
  }

  .site-nav-toggle:focus-visible,
  .nav-submenu-toggle:focus-visible{
    outline:2px solid #ffd568;
    outline-offset:2px;
    box-shadow:none;
  }

  button,
  select,
  .btn,
  [role="button"]{
    min-height:var(--touch-target);
  }

  button,
  [role="button"]{
    min-width:var(--touch-target);
  }

  .dashboard-metric-selector label,
  .trophy-room-page .trophy-room-summary span,
  .trophy-room-page .trophy-filter-family button > span,
  .trophy-room-page .trophy-filter-fields label > span,
  .trophy-room-page .trophy-room-ledger-head > div > span,
  .trophy-room-page .trophy-room-ledger-head > strong,
  .vog-overline,
  .vog-field span,
  .vog-card-duration{
    font-size:.75rem;
  }

  .home-event-tab,
  .home-event-dot,
  #schedule-list .btn-rsvp,
  .fl-select-trigger,
  .knockouts-view-button,
  .crew-view-toolbar .btn,
  .player-page-link,
  .trophy-filter-family button,
  .standings-buttons-shell .btn,
  .tlpt-card-view-switch button,
  .fl-select-option{
    min-height:var(--touch-target) !important;
  }

  .pm-page .pm-btn{
    flex:1 1 auto;
    width:auto;
    min-width:0;
    height:auto;
    min-height:var(--touch-target) !important;
  }

  .home-module-cta,
  #home-snapshot .home-featured-profile-link{
    min-height:var(--touch-target);
  }

  .dashboard-list-rank{
    display:none;
  }

  #dashboard-grid .dashboard-card-mobile-compact{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    min-height:64px;
    padding:10px 14px;
    text-align:left;
    transform:none;
  }

  #dashboard-grid .dashboard-card-mobile-compact:hover{
    transform:translateY(-1px);
  }

  .dashboard-card-mobile-compact .dashboard-list-rank{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border:1px solid rgba(255,184,28,.22);
    border-radius:50%;
    color:#ffe09a;
    background:rgba(255,184,28,.07);
    font-size:.78rem;
    font-weight:900;
  }

  .dashboard-card-mobile-compact .dashboard-card-top,
  .dashboard-card-mobile-compact .dashboard-rank-medal{
    display:none;
  }

  .dashboard-card-mobile-compact .dashboard-player-name-below{
    margin:0;
  }

  .dashboard-card-mobile-compact .dashboard-card-value{
    font-size:1.32rem;
    text-align:right;
  }

  .dashboard-studio-strip-inline{
    min-width:0;
    padding:12px 14px;
  }

  .dashboard-studio-strip-inline .dashboard-studio-copy,
  .dashboard-studio-strip-inline .dashboard-studio-context{
    width:100%;
    min-width:0;
    white-space:normal;
    overflow-wrap:anywhere;
  }

  .mobile-jump-nav-shell{
    position:sticky;
    top:8px;
    z-index:18;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:6px;
    align-items:stretch;
    width:100%;
    margin:0 0 12px;
  }

  .player-section-jump-nav,
  .crew-tier-jump-nav{
    position:relative;
    display:flex;
    gap:7px;
    width:100%;
    min-width:0;
    margin:0;
    padding:7px 7px 9px;
    overflow-x:auto;
    border:1px solid rgba(255,184,28,.24);
    border-radius:13px;
    background:rgba(8,13,19,.94);
    box-shadow:0 10px 24px rgba(0,0,0,.30);
    scrollbar-width:thin;
    scrollbar-color:rgba(255,184,28,.68) rgba(255,255,255,.055);
    scroll-snap-type:x proximity;
  }

  .player-section-jump-nav::-webkit-scrollbar,
  .crew-tier-jump-nav::-webkit-scrollbar{
    display:block;
    height:5px;
  }

  .player-section-jump-nav::-webkit-scrollbar-track,
  .crew-tier-jump-nav::-webkit-scrollbar-track{
    border-radius:999px;
    background:rgba(255,255,255,.055);
  }

  .player-section-jump-nav::-webkit-scrollbar-thumb,
  .crew-tier-jump-nav::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:rgba(255,184,28,.68);
  }

  .player-section-jump-nav a,
  .crew-tier-jump-nav a{
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    min-height:var(--touch-target);
    padding:7px 11px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:9px;
    color:#edf3f8;
    background:rgba(255,255,255,.035);
    font-size:.74rem;
    font-weight:850;
    text-decoration:none;
    white-space:nowrap;
    scroll-snap-align:start;
  }

  .mobile-jump-nav-cue{
    position:static;
    z-index:2;
    display:none;
    align-items:center;
    justify-content:center;
    min-width:66px;
    padding:0 8px;
    border:1px solid rgba(255,184,28,.32);
    border-radius:10px;
    background:rgba(8,13,19,.98);
    box-shadow:0 10px 24px rgba(0,0,0,.30);
    color:#ffd568;
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.04em;
    text-transform:uppercase;
    pointer-events:none;
    transition:opacity .16s ease;
  }

  .mobile-jump-nav-shell.is-scrollable:not(.is-scroll-end) .mobile-jump-nav-cue{
    display:inline-flex;
  }

  :is(#player-overview,#player-card-collection,#player-dna,#player-archetypes,#player-stats,[id^="crew-tier-"]){
    scroll-margin-top:68px;
  }

  #dashboard-metric-select,
  #schedule-list .btn-rsvp{
    height:var(--touch-target) !important;
  }

  .site-page-companion{
    margin-top:-10px;
    padding:14px;
  }

  .scroll-affordance-shell.is-scrollable:not(.is-scroll-end) .scroll-affordance{
    display:inline-flex;
  }

  #standings-table th:first-child,
  #standings-table td:first-child{
    position:sticky;
    left:0;
    z-index:7;
    width:50px;
    min-width:50px;
    background:#121922;
  }

  #standings-table th:nth-child(2),
  #standings-table td:nth-child(2){
    position:sticky;
    left:50px;
    z-index:6;
    min-width:150px;
    background:#121922;
    box-shadow:8px 0 16px rgba(0,0,0,.22);
  }

  .blind-table th:first-child,
  .blind-table td:first-child{
    position:sticky;
    left:0;
    z-index:5;
    background:#121922;
    box-shadow:7px 0 14px rgba(0,0,0,.18);
  }

  /* Phone standings are a focused ranking, not a shrunken data wall. The
     currently selected metric remains the third visible column. */
  .standings-table-shell.has-horizontal-overflow{
    padding-top:18px;
  }

  .standings-table-shell .table-wrap{
    overflow-x:visible;
  }

  #standings-table{
    width:100%;
    min-width:0 !important;
    table-layout:fixed;
  }

  #standings-table thead,
  #standings-table tbody{
    display:block;
  }

  #standings-table tr{
    display:grid;
    grid-template-columns:32px minmax(0,1fr) 82px;
    width:100%;
  }

  #standings-table th,
  #standings-table td{
    display:none;
    min-width:0 !important;
    padding:11px 5px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  #standings-table thead th[aria-sort]{
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:visible;
    font-size:.69rem;
    line-height:1.08;
    text-align:center;
    text-overflow:clip;
    white-space:normal;
  }

  #standings-table tbody td{
    white-space:nowrap;
  }

  #standings-table th:first-child,
  #standings-table td:first-child,
  #standings-table th:nth-child(2),
  #standings-table td:nth-child(2){
    position:static;
    display:table-cell;
    width:auto;
    min-width:0;
    background:transparent;
    box-shadow:none;
  }

  #standings-table th:first-child,
  #standings-table td:first-child{ grid-column:1; }

  #standings-table th:nth-child(2),
  #standings-table td:nth-child(2){ grid-column:2; }

  #standings-table[data-active-stat="totalWinnings"] :is(th,td):nth-child(3),
  #standings-table[data-active-stat="profit"] :is(th,td):nth-child(4),
  #standings-table[data-active-stat="timesPlaced"] :is(th,td):nth-child(5),
  #standings-table[data-active-stat="bubbles"] :is(th,td):nth-child(6),
  #standings-table[data-active-stat="hits"] :is(th,td):nth-child(7),
  #standings-table[data-active-stat="buyIns"] :is(th,td):nth-child(8),
  #standings-table[data-active-stat="rebuys"] :is(th,td):nth-child(9),
  #standings-table[data-active-stat="entries"] :is(th,td):nth-child(10){
    display:table-cell;
    grid-column:3;
  }

  #standings-table .player-inline{
    gap:6px;
  }

  #standings-table .player-avatar.table,
  #standings-table .player-avatar-fallback.table{
    width:30px;
    height:30px;
    min-width:30px;
    min-height:30px;
  }

  #standings-table .player-inline-name{
    font-size:.78rem;
  }

  /* Collectible cards stay ornate on phones, but their supporting type should
     still clear a practical ten-pixel reading floor. */
  .trophy-room-page .trophy-card-edition small{
    font-size:.58rem;
  }

  .trophy-room-page .trophy-card-edition strong{
    display:-webkit-box;
    overflow:hidden;
    font-size:.64rem;
    line-height:1.05;
    text-align:center;
    text-overflow:clip;
    white-space:normal;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .trophy-room-page .trophy-card-edition em{
    font-size:.52rem;
  }

  .trophy-room-page .trophy-card-identity small,
  .trophy-room-page .trophy-card-earned,
  .trophy-room-page .trophy-card-suits{
    font-size:.60rem;
  }

  .trophy-room-page .trophy-card-attributes small{
    font-size:.64rem;
  }

  .trophy-room-page .trophy-card-plaque > div span,
  .trophy-room-page .trophy-card-featured,
  .trophy-room-page .trophy-card-plaque > em{
    font-size:.75rem;
  }

  .trophy-room-page .trophy-card-plaque > div strong{
    font-size:.82rem;
  }

  .trophy-room-page .trophy-card-plaque p{
    font-size:.75rem;
  }

  .trophy-room-page .trophy-card-plaque > small{
    font-size:.75rem;
  }

  .player-page .tlpt-card-special-banner > div{
    grid-template-columns:minmax(0,1fr);
  }

  .player-page .tlpt-card-special-banner small,
  .player-page .tlpt-card-special-banner em{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .player-page .tlpt-card-special-banner em{
    width:100%;
    line-height:1.25;
    text-align:center;
  }

  .player-page .tlpt-card-collectible-edition{
    font-size:.58rem;
  }

  .player-page .tlpt-card-collectible-edition strong{
    display:-webkit-box;
    overflow:hidden;
    font-size:.58rem;
    line-height:1.05;
    text-overflow:clip;
    white-space:normal;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .player-page .tlpt-card-collectible-rating small,
  .player-page .tlpt-card-collectible-stats small{
    font-size:.58rem;
  }

  .player-page .tlpt-card-collectible-stamp strong{
    display:-webkit-box;
    overflow:hidden;
    font-size:.58rem;
    line-height:1.05;
    text-align:center;
    text-overflow:clip;
    white-space:normal;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .player-page .tlpt-player-card-special-milestone .tlpt-card-collectible-stamp strong{
    font-size:.52rem;
    letter-spacing:0;
  }

  .player-page .tlpt-card-collectible-caption strong{
    font-size:.68rem;
  }

  .player-page .tlpt-card-collectible-caption small{
    font-size:.72rem;
  }

  .player-page .tlpt-card-collectible-caption em{
    font-size:.60rem;
  }

  /* Blind structures retain the five pieces needed to play a level. Forecast
     columns stay available on larger screens without forcing phone scrolling. */
  .blind-sheet.has-horizontal-overflow{
    padding-top:16px;
  }

  .blind-table-scroll{
    overflow-x:visible;
  }

  .blind-table{
    width:100%;
    min-width:0;
    table-layout:fixed;
    font-size:.78rem;
  }

  .blind-table th,
  .blind-table td,
  .blind-table th:first-child,
  .blind-table td:first-child{
    position:static !important;
    padding:10px 4px;
    overflow:hidden;
    text-align:center;
    text-overflow:ellipsis;
    box-shadow:none !important;
  }

  .blind-table th:nth-child(1),
  .blind-table td:nth-child(1){ width:12%; }

  .blind-table th:nth-child(2),
  .blind-table td:nth-child(2){ width:22%; }

  .blind-table th:nth-child(3),
  .blind-table td:nth-child(3),
  .blind-table th:nth-child(4),
  .blind-table td:nth-child(4){ width:20%; }

  .blind-table th:nth-child(5),
  .blind-table td:nth-child(5){ width:26%; }

  .blind-table th:nth-child(n+6),
  .blind-table td:nth-child(n+6){
    display:none;
  }

  .blind-table th:nth-child(1),
  .blind-table th:nth-child(2),
  .blind-table th:nth-child(3),
  .blind-table th:nth-child(4){
    font-size:0;
  }

  .blind-table th:nth-child(1)::after{ content:"Lvl"; }
  .blind-table th:nth-child(2)::after{ content:"Time"; }
  .blind-table th:nth-child(3)::after{ content:"SB"; }
  .blind-table th:nth-child(4)::after{ content:"BB"; }

  .blind-table th:nth-child(1)::after,
  .blind-table th:nth-child(2)::after,
  .blind-table th:nth-child(3)::after,
  .blind-table th:nth-child(4)::after{
    font-size:.72rem;
  }

  .blind-table .blind-break td{
    display:table-cell;
    width:auto;
    padding:10px 6px;
    white-space:normal;
  }

  .section.news-header-shell{
    padding:27px 24px 24px;
  }

  .player-page-links-top{
    align-items:center;
  }

  .player-page-more{
    width:100%;
  }

  .player-page-more > summary{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:var(--touch-target);
    padding:9px 13px;
    border:1px solid rgba(255,184,28,.24);
    border-radius:var(--radius-control);
    background:rgba(255,184,28,.06);
    color:#ffe09a;
    font-weight:850;
    cursor:pointer;
    list-style:none;
  }

  .player-page-more > summary::-webkit-details-marker{
    display:none;
  }

  .player-page-more-links{
    display:none;
    grid-template-columns:1fr;
    gap:6px;
    margin-top:7px;
    padding:8px;
    border:1px solid rgba(255,184,28,.18);
    border-radius:var(--radius-control);
    background:rgba(8,12,18,.96);
  }

  .player-page-more[open] .player-page-more-links{
    display:grid;
  }

  .player-page-more-links .player-page-link{
    width:100%;
    justify-content:center;
  }
}

@media (max-width:760px){
  #home-events-list .event-details-col > .home-event-fixed-buttons,
  #home-events-list .event-details-col > .home-event-fixed-buttons-inline,
  #schedule-list .event-details-col > a.btn.btn-rsvp{
    width:100% !important;
    min-height:48px !important;
    align-self:stretch !important;
  }

  #home-events-list .event-details-col > .home-event-fixed-buttons .btn,
  #home-events-list .event-details-col > .home-event-fixed-buttons-inline .btn,
  #schedule-list .event-details-col > a.btn.btn-rsvp{
    width:100%;
    justify-content:center;
  }
}

@media (max-width:520px){
  .tlpt-loading-grid{
    grid-template-columns:1fr;
  }

  body:not(.marchand-page) .site-page-hero-title,
  .trophy-room-page .trophy-room-hero h1,
  .news-header-shell #news-page-title{
    font-size:clamp(2rem,10.5vw,2.85rem);
  }

  body:not(.marchand-page) .site-page-hero,
  .trophy-room-page .trophy-room-hero{
    gap:12px;
    padding:20px 18px 18px;
  }

  body:not(.marchand-page) .site-page-hero-copy,
  .trophy-room-page .trophy-room-hero-copy{
    padding-right:0;
  }

  body:not(.marchand-page) .site-page-hero-description,
  .trophy-room-page .trophy-room-hero-copy p{
    font-size:.92rem;
    line-height:1.42;
  }

  body:not(.marchand-page) .site-page-hero-brand{
    gap:14px;
    width:154px;
    height:44px;
  }

  body:not(.marchand-page) .site-page-hero-watermark{
    width:96px;
    height:44px;
  }

  body:not(.marchand-page) .site-page-hero-brand > .site-page-hero-chip,
  .trophy-room-page .site-page-hero-brand > .trophy-room-chip{
    flex-basis:44px;
    width:44px;
    height:44px;
  }

  body:not(.marchand-page) .site-page-hero-brand::before{
    right:-8px;
    width:60px;
    height:60px;
  }

  .section.news-header-shell{
    padding:20px 18px 18px;
  }

  .dashboard-category-tab{
    padding:9px 7px;
    font-size:.78rem;
  }

  .trophy-room-page .trophy-room-summary.trophy-room-companion{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:480px){
  .pm-page .pm-btn{
    width:100%;
  }
}

.mobile-page-return{
  display:none;
}

@media (max-width:700px){
  .mobile-page-return{
    position:static;
    z-index:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:min(calc(100% - 32px),360px);
    min-width:0 !important;
    min-height:46px;
    margin:18px auto max(14px,env(safe-area-inset-bottom));
    padding:11px 16px;
    border:1px solid rgba(255,184,28,.62);
    border-radius:12px;
    color:#fff4ce;
    background:linear-gradient(180deg,rgba(41,34,17,.98),rgba(16,20,25,.98));
    box-shadow:0 12px 28px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.08);
    font:inherit;
    font-size:.78rem;
    line-height:1;
    opacity:0;
    pointer-events:none;
    transform:none;
    transition:opacity .16s ease,border-color .16s ease;
  }

  .mobile-page-return[hidden]{
    display:none;
  }

  .mobile-page-return.is-visible{
    opacity:1;
    pointer-events:auto;
  }

  .mobile-page-return:hover{
    border-color:#ffd568;
  }

  .mobile-page-return:focus-visible{
    outline:2px solid #fff;
    outline-offset:3px;
  }
}

@media (max-width:350px){
  /* Compact standings keep player identity readable instead of sacrificing
     nearly the entire name column to the selected metric. */
  #standings-table tr{
    grid-template-columns:26px minmax(0,1fr) 74px;
  }

  #standings-table th,
  #standings-table td{
    padding:10px 4px;
    font-size:.76rem;
  }

  #standings-table .player-inline{
    gap:5px;
  }

  #standings-table .player-avatar.table,
  #standings-table .player-avatar-fallback.table{
    width:26px;
    height:26px;
    min-width:26px;
    min-height:26px;
  }

  #standings-table .player-inline-name{
    font-size:.74rem;
  }

  /* Preserve full blind values at 320px by reclaiming padding and giving the
     numeric columns a compact, tabular treatment. */
  .blind-table{
    font-size:.72rem;
  }

  .blind-table th,
  .blind-table td,
  .blind-table th:first-child,
  .blind-table td:first-child{
    padding-right:1px;
    padding-left:1px;
  }

  .blind-table th:nth-child(1),
  .blind-table td:nth-child(1){ width:10%; }

  .blind-table th:nth-child(2),
  .blind-table td:nth-child(2){ width:20%; }

  .blind-table th:nth-child(3),
  .blind-table td:nth-child(3),
  .blind-table th:nth-child(4),
  .blind-table td:nth-child(4){ width:21%; }

  .blind-table th:nth-child(5),
  .blind-table td:nth-child(5){ width:28%; }

  .blind-table td:nth-child(3),
  .blind-table td:nth-child(4),
  .blind-table td:nth-child(5){
    font-size:.70rem;
    font-variant-numeric:tabular-nums;
    letter-spacing:-.02em;
  }

  /* The Featured Actors receipt becomes a true compact stack, keeping every
     avatar and result pill inside the story card. */
  .news-receipt-panel,
  .news-receipt-lead,
  .news-receipt-top,
  .news-receipt-top-split,
  .news-receipt-pills{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .news-receipt-panel{
    padding:10px;
  }

  .news-receipt-top-split{
    flex-direction:column;
    gap:10px;
  }

  .news-receipt-avatar-row-three{
    display:flex;
    flex-wrap:wrap;
  }

  .news-receipt-avatar-row-three .player-avatar-wrap:nth-child(3){
    grid-column:auto;
  }

  .news-receipt-pills{
    display:grid;
    grid-template-columns:1fr;
  }

  .news-receipt-pill{
    width:100%;
    white-space:normal;
    line-height:1.25;
  }

  /* Edition cards become a legible snap rail: one full card plus a visible
     edge of the next, instead of two unreadably compressed thumbnails. */
  .player-page .tlpt-card-collection-grid{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:min(68vw,190px);
    justify-content:start;
    gap:14px;
    padding:19px 8px 12px;
    overflow-x:auto;
    scroll-padding-inline:8px;
    scroll-snap-type:x mandatory;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,184,28,.70) rgba(255,255,255,.06);
  }

  .player-page .tlpt-card-collection-grid::-webkit-scrollbar{
    height:6px;
  }

  .player-page .tlpt-card-collection-grid::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:rgba(255,184,28,.70);
  }

  .player-page .tlpt-card-collection-grid::-webkit-scrollbar-track{
    border-radius:999px;
    background:rgba(255,255,255,.06);
  }

  .player-page .tlpt-card-collectible-button{
    scroll-snap-align:center;
  }

  .player-page .tlpt-card-collectible-head{
    grid-template-columns:31px minmax(0,1fr) 28px;
    padding-right:5px;
    padding-left:5px;
  }

  .player-page .tlpt-card-collectible-rating{
    margin-top:13px;
    margin-left:-6px;
  }

  .player-page .tlpt-card-collectible-rating strong{
    font-size:1.45rem;
  }

  .player-page .tlpt-card-collectible-rating small{
    width:24px;
    font-size:.58rem;
  }

  .player-page .tlpt-card-collectible-edition{
    font-size:.58rem;
  }

  .player-page .tlpt-card-collectible-edition strong{
    font-size:.58rem;
  }

  .player-page .tlpt-card-collectible-head img{
    width:30px;
    height:30px;
    margin-top:13px;
    margin-right:-6px;
  }

  .player-page .tlpt-card-collectible-name{
    font-size:.67rem;
  }

  .player-page .tlpt-card-collectible-stats{
    gap:1px 9px;
    padding-right:7px;
    padding-left:7px;
  }

  .player-page .tlpt-card-collectible-stats strong{
    font-size:.62rem;
  }

  .player-page .tlpt-card-collectible-stats small{
    font-size:.58rem;
  }

  .player-page .tlpt-card-collectible-caption strong{
    font-size:.68rem;
  }

  .player-page .tlpt-card-collectible-caption small{
    font-size:.72rem;
  }

  .player-page .tlpt-card-collectible-caption em{
    font-size:.60rem;
  }

  .player-page .tlpt-card-collectible-stamp strong{
    font-size:.58rem;
  }
}

@media (max-width:360px){
  body:not(.marchand-page) .site-header .header-inner{
    grid-template-columns:minmax(0,1fr) 88px;
    gap:6px;
  }

  body:not(.marchand-page) .site-header .logo{
    font-size:1.2rem;
  }

  body:not(.marchand-page) .site-header .tag{
    display:none;
  }

  body:not(.marchand-page) .site-nav-toggle{
    min-width:88px !important;
    padding-right:9px;
    padding-left:9px;
  }
}

/* Final functional-type floor. Decorative type printed inside player cards,
   Trophy Room cards, and gallery posters deliberately remains at artwork
   scale; everything visitors must read or operate clears 12px. */
.event-rsvp-seating-note,
#home-snapshot .home-featured-profile-link,
#home-snapshot .home-featured-attribute small,
.crew-search-row label > span,
.hall-room-header p,
.fl-field > label,
.fl-detail-stat span,
.news-post-details-hint,
.gallery-filter-bar label > span,
.gallery-card-subline,
.vog-overline,
.vog-card-duration,
.trophy-room-page .trophy-room-ledger-head > div > span,
.trophy-room-page #trophy-result-count,
.player-page .tlpt-card-view-switch button,
.player-page .tlpt-card-compare-open,
.player-page .tlpt-card-view-bar > p,
.player-page .tlpt-player-status-card > span,
.player-page .tlpt-player-status-card > small,
.player-page .tlpt-player-snapshot-stat > span,
.player-page .tlpt-player-archetype-card > span,
.player-page .tlpt-player-archetype-card > small,
.player-page .tlpt-card-collection-head > div > span,
.player-page .tlpt-card-collection-head p,
.player-page .tlpt-card-collection-head > strong,
.player-page .tlpt-card-collection-status,
.player-page .player-stat-kicker,
.player-page .player-section-jump-nav a,
.player-page .mobile-jump-nav-cue,
.crew-page .crew-tier-jump-nav a,
.crew-page .mobile-jump-nav-cue,
.player-page .tlpt-card-collectible-caption strong,
.player-page .tlpt-card-collectible-caption small,
.player-page .tlpt-card-collectible-caption em,
.player-page .tlpt-card-collectible-selected,
.player-page .tlpt-card-collectible-featured,
.trophy-room-page .trophy-card-plaque > div strong,
.trophy-room-page .trophy-card-plaque > small{
  font-size:.75rem;
}

/* Keep the six featured-player labels readable at the 12px interface floor.
   Reclaim unused card padding before resorting to truncation on 320px screens. */
#home-snapshot .home-featured-attribute{
  padding-inline:6px;
}

#home-snapshot .home-featured-attribute small{
  letter-spacing:0;
  text-overflow:clip;
}

@media (max-width:340px){
  #home-snapshot .home-featured-ultimate-shell{
    padding-inline:0;
  }

  #home-snapshot .home-featured-attribute{
    padding-inline:5px;
  }
}

/* Edition captions are interface labels, not text printed on the card face.
   Preserve the full earned/upgraded history in no more than two lines. */
.player-page .tlpt-card-collectible-caption strong,
.player-page .tlpt-card-collectible-caption small,
.player-page .tlpt-card-collectible-caption em{
  display:-webkit-box;
  overflow:hidden;
  line-height:1.2;
  text-overflow:clip;
  white-space:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.player-page .tlpt-card-collectible-caption em{
  min-height:2.4em;
}

/* The plaque belongs to the readable archive interface. Keep long edition
   names and event notes intact instead of shaving their final characters. */
.trophy-room-page .trophy-card-plaque{
  min-height:146px;
}

.trophy-room-page .trophy-card-plaque > div strong,
.trophy-room-page .trophy-card-plaque > small{
  display:-webkit-box;
  overflow:hidden;
  line-height:1.2;
  text-overflow:clip;
  white-space:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.trophy-room-page .trophy-card-plaque > div strong,
.trophy-room-page .trophy-card-plaque > small{
  min-height:2.4em;
}

/* Tablet and compact-laptop layouts still use the desktop header, so they
   need an explicit touch-target bridge rather than inheriting phone rules. */
@media (min-width:701px) and (max-width:1100px){
  body:not(.marchand-page) button,
  body:not(.marchand-page) select,
  body:not(.marchand-page) summary,
  body:not(.marchand-page) .btn,
  body:not(.marchand-page) [role="button"]{
    min-height:var(--touch-target);
  }

  body:not(.marchand-page) button,
  body:not(.marchand-page) [role="button"]{
    min-width:var(--touch-target);
  }

  body:not(.marchand-page) .site-header .logo,
  body:not(.marchand-page) .site-header .nav > a,
  body:not(.marchand-page) .site-header .nav-dropdown-parent{
    display:inline-flex;
    align-items:center;
    min-height:var(--touch-target);
  }

  body:not(.marchand-page) .home-event-dot,
  body:not(.marchand-page) .home-event-tab,
  body:not(.marchand-page) #schedule-list .btn-rsvp,
  body:not(.marchand-page) .home-module-cta,
  body:not(.marchand-page) #home-snapshot .home-featured-profile-link,
  body:not(.marchand-page) .player-page-link,
  body:not(.marchand-page) .news-archive-link,
  body:not(.marchand-page) .player-page .tlpt-card-view-switch button,
  body.player-page:not(.marchand-page) .tlpt-card-view-switch button{
    min-height:var(--touch-target) !important;
  }

  #schedule-list .event-details-col > a.btn.btn-rsvp,
  body:not(.marchand-page) .pm-page .pm-btn{
    height:auto !important;
    min-height:var(--touch-target) !important;
  }

  body:not(.marchand-page) .home-event-dot{
    min-width:var(--touch-target);
  }

  /* The rink still owns 680px at this breakpoint. Stack forecast labels so
     player names remain whole in the intentionally narrow details column. */
  #home-events-list .event-rsvp-forecast-row,
  #schedule-list .event-rsvp-forecast-row{
    grid-template-columns:1fr !important;
    gap:3px !important;
  }

  #home-events-list .event-rsvp-forecast-names,
  #schedule-list .event-rsvp-forecast-names{
    overflow-wrap:normal !important;
    word-break:normal;
  }
}

@media (max-width:700px){
  #standings-table .player-inline-name,
  #standings-table thead th[aria-sort],
  .blind-table td,
  .blind-table th:nth-child(5),
  .blind-table th:nth-child(-n+4)::after{
    font-size:.75rem !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .tlpt-loading-card,
  .media-video-facade img,
  .site-header .nav,
  .site-header .nav-dropdown-menu,
  .nav-submenu-toggle::before{
    animation:none !important;
    transition:none !important;
  }

  .mobile-page-return{
    transition:none !important;
  }
}
