/* ============================================================================
   Design pass (Oct 2026): premium polish overlay.
   Softens leftover glow and heavy all-caps, tightens type/spacing, and
   gives cards/buttons/empty states one shared look. Does not change race
   timing, input, or anti-cheat. Sound stays off on the tree.
   ============================================================================ */

:root {
  --ptl-type-hero: 28px;
  --ptl-type-display: 20px;
  --ptl-type-title: 16px;
  --ptl-type-body: 14px;
  --ptl-type-label: 11px;
  --ptl-type-caption: 10px;
  --ptl-track-caps: 0.06em;
  --ptl-elevation-dialog: 0 16px 40px -20px rgba(0, 0, 0, 0.75);
}

/* Shared button set */
.ptl-btn,
.btn-primary,
.cc-btn.primary,
.lp-cta,
.ac-try a.go {
  font-family: var(--ptl-font-interface, 'Saira', system-ui, sans-serif);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
  border-radius: var(--ptl-radius-control, 9px);
  box-shadow: none;
}
.btn-primary:hover,
.cc-btn.primary:hover {
  box-shadow: none;
  filter: brightness(1.06);
  transform: none;
}

/* Shared card */
.ptl-card,
.lp-fcard,
.ac-card,
.st-card {
  border: 1px solid var(--ptl-border-instrument, rgba(255,255,255,.10));
  border-radius: var(--ptl-radius-panel, 13px);
  background: var(--ptl-surface-panel, #12161c);
  box-shadow: none;
}

/* Soften race-room glows that read as marketing neon */
.rp-series.win { text-shadow: none !important; }
.race-phase:has(.rp-series.win) {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
  background: rgba(227,38,59, 0.06) !important;
}
.race-phase:has(.rp-series.lose) {
  background: rgba(255, 68, 54, 0.05) !important;
}
.career-moment {
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45) !important;
  letter-spacing: 0.06em !important;
}
.btn-primary { box-shadow: none !important; }
.btn-primary:hover { box-shadow: none !important; }

/* Race labels: less shouty */
.rh-sub,
.rp-label,
.section-eyebrow,
.hero-tree-tag {
  letter-spacing: 0.06em !important;
  font-weight: 700 !important;
}

/* Weekly glow decoration: remove */
.wk-hero__glow { display: none !important; }

/* Empty states */
.lt-empty,
.ptl-empty {
  border: 1px dashed var(--ptl-border-instrument, rgba(255,255,255,.10));
  border-radius: var(--ptl-radius-panel, 13px);
  padding: 20px 16px;
  color: var(--ptl-text-secondary, #8a939c);
  background: transparent;
}

/* Tables */
.lt-table th,
.rank-table th,
.ac-table th {
  font-family: var(--ptl-font-label, 'Saira', system-ui, sans-serif);
  font-size: var(--ptl-type-label, 11px);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ptl-text-muted, #5b646e);
}
.lt-table td,
.rank-table td,
.ac-table td {
  font-size: var(--ptl-type-body, 14px);
  color: var(--ptl-text-primary, #e7ebe7);
}

/* Result card: track-style slip */
.ptl-result-slip,
.race-phase .rp-score {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}
.ptl-result-slip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
  max-width: 320px;
  margin: 14px auto 4px;
  padding: 14px 16px;
  border: 1px solid var(--ptl-border-instrument, rgba(255,255,255,.10));
  border-radius: var(--ptl-radius-panel, 13px);
  background: var(--ptl-surface-panel-2, #1a1f26);
  text-align: left;
}
.ptl-result-slip .k {
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ptl-text-muted, #5b646e);
}
.ptl-result-slip .v {
  font-family: var(--ptl-font-timing, 'JetBrains Mono', monospace);
  font-size: 18px;
  font-weight: 700;
  color: var(--ptl-text-timing, #f2f5f2);
  margin-top: 2px;
}
.ptl-result-slip .v.win { color: #d4a72c; }
.ptl-result-slip .v.foul { color: var(--ptl-red, #ff4436); }

/* Phone fit: keep bottom chrome clear */
@media (max-width: 719px) {
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
  .pshell--practice + main,
  .pshell--page + .ac-wrap { /* pages with shell already handle this */ }
}


/* Round 2b layout: tighter public pages, practice one-hand mobile */
@media (max-width: 390px) {
  .ac-wrap, .rank-wrap, .lb-wrap { padding-left: 14px; padding-right: 14px; }
  .ac-wrap h1, .rank-wrap h1, .lb-wrap h1 { font-size: 1.35rem !important; letter-spacing: -0.01em; }
}
.lobby-pro .lt-empty { padding: 14px 12px; }
