/* ==========================================================================
   Legibility pass: larger small text + stronger contrast
   Loaded last on every page.
   ========================================================================== */
body {
  font-size: 15px;
}

.btn {
  font-size: 14.5px;
}

.btn-sm {
  font-size: 13px;
}

.chip {
  height: 26px;
  font-size: 12px;
}

.field > label,
.field-label {
  font-size: 13px;
}

.hint,
.error-text,
.modal-note {
  font-size: 13px;
  line-height: 1.65;
}

.toast {
  font-size: 13.5px;
}

.section-kicker {
  font-size: 11px;
}

.section-head p {
  font-size: 13.5px;
}

.section-count {
  font-size: 12px;
}

/* Storefront ------------------------------------------------------------- */
.brand-sub {
  font-size: 11px;
}

.site-nav a.nav-link {
  font-size: 14px;
}

.site-nav .btn {
  height: 42px;
  padding: 0 18px;
  font-size: 14.5px;
}

.eyebrow {
  height: 31px;
  font-size: 12px;
}

.hero-sub {
  font-size: 16px;
}

.hero-stat span {
  font-size: 12.5px;
}

.hero-step {
  font-size: 12.5px;
}

.step-num {
  font-size: 10.5px;
}

.card-kicker {
  font-size: 11px;
}

.redeem-desc {
  font-size: 13px;
}

.code-shell .code-prefix {
  font-size: 12px;
}

.redeem-foot .secure {
  font-size: 12px;
}

.link-btn {
  font-size: 13px;
}

.perks-title {
  font-size: 12px;
}

.redeem-perks li {
  font-size: 12.5px;
}

.perk-check {
  width: 17px;
  height: 17px;
  font-size: 9px;
}

.trust-item h3 {
  font-size: 13.5px;
}

.trust-item p {
  font-size: 12px;
}

.notice-bar {
  font-size: 13.5px;
}

.game-status {
  font-size: 11.5px;
}

.game-card p {
  font-size: 13px;
}

.game-avail {
  font-size: 12px;
}

.game-link {
  font-size: 12.5px;
}

.how-num {
  font-size: 12px;
}

.how-card p {
  font-size: 12.5px;
}

.footer-copy {
  color: #334155;
  font-size: 13px;
  line-height: 1.75;
}

.footer-links {
  color: #334155;
  font-size: 13.5px;
}

.quick-item {
  font-size: 10.5px;
}

.quick-icon {
  font-size: 17px;
}

/* Order page ------------------------------------------------------------- */
.order-top p {
  font-size: 13.5px;
}

.order-top .btn {
  height: 42px;
  padding: 0 18px;
  font-size: 14.5px;
}

.order-game p {
  font-size: 12px;
}

.countdown-label {
  font-size: 11px;
}

.expiry-line {
  font-size: 12px;
}

.panel-title span {
  font-size: 12px;
}

.credential-label {
  font-size: 11.5px;
}

.credential-hint {
  color: #475569;
  font-size: 12.5px;
  line-height: 1.7;
}

.security-note {
  font-size: 12.5px;
}

.expired-box p,
.ended-box p {
  font-size: 13px;
}

.renew-head p {
  font-size: 13px;
}

.renew-badge {
  font-size: 11px;
}

.renew-help {
  color: #475569;
  font-size: 12.5px;
  line-height: 1.7;
}

.renew-disabled {
  font-size: 12px;
}

.detail-cell span {
  color: #475569;
  font-size: 11px;
}

.detail-cell strong {
  color: #1e293b;
  font-size: 13px;
}

.renewal-row {
  color: #475569;
  font-size: 12.5px;
}

.support-line {
  color: #475569;
  font-size: 12.5px;
}

.support-line strong {
  color: #1e293b;
}

.login-tip {
  color: #475569;
  font-size: 13px;
  line-height: 1.75;
}

.order-login > p {
  font-size: 13.5px;
}

/* Admin ------------------------------------------------------------------ */
.side-brand small {
  font-size: 10.5px;
}

.side-label {
  font-size: 10px;
}

.nav-item {
  font-size: 13.5px;
}

.side-link {
  font-size: 13px;
}

.side-mini {
  color: #334155;
  font-size: 11px;
}

.topbar-title > span {
  font-size: 10px;
}

.beijing-clock {
  font-size: 11.5px;
}

.view-kicker {
  font-size: 10px;
}

.view-head p {
  font-size: 13px;
}

.view-actions .btn {
  font-size: 13px;
}

.kpi-top {
  font-size: 11.5px;
}

.kpi-foot {
  font-size: 11px;
}

.mini-strip span {
  font-size: 11px;
}

.mini-strip strong {
  font-size: 12.5px;
}

.panel-head p {
  font-size: 12px;
}

.text-link {
  font-size: 12.5px;
}

.expiring-copy b {
  font-size: 13px;
}

.expiring-copy small {
  font-size: 10.5px;
}

.expiring-time {
  font-size: 12px;
}

.ledger-mini-row b {
  font-size: 12.5px;
}

.ledger-mini-row small {
  font-size: 10.5px;
}

.amount {
  font-size: 12.5px;
}

.search-box input,
.toolbar-select {
  font-size: 13px;
}

.toolbar-count {
  font-size: 11px;
}

table.data {
  font-size: 13.5px;
}

table.data th {
  font-size: 11.5px;
}

table.data.compact td {
  font-size: 12.5px;
}

.cell-stack b {
  font-size: 12.5px;
}

.cell-stack small {
  font-size: 10.5px;
}

.row-sub {
  font-size: 10.5px;
}

.code-pill {
  font-size: 11.5px;
}

.password-text {
  font-size: 12px;
}

.mini-link {
  font-size: 11px;
}

.action-link {
  font-size: 11.5px;
}

.status-note {
  font-size: 10px;
}

.auth-note {
  font-size: 12px;
  line-height: 1.7;
}

.auth-help {
  color: #334155;
  font-size: 13px;
}

.auth-foot {
  color: #334155;
  font-size: 12.5px;
}

.auth-features small {
  color: #475569;
  font-size: 12px;
}

.auth-desc {
  font-size: 13.5px;
}

.back-store {
  color: #0f766e;
  font-size: 15px;
  font-weight: 600;
}

.modal-head p {
  font-size: 13px;
}

.result-tip {
  font-size: 11px;
}

.panel-text {
  font-size: 12.5px;
  line-height: 1.8;
}

.security-list small {
  font-size: 10.5px;
}

/* Backup ----------------------------------------------------------------- */
.backup-head p {
  font-size: 14px;
}

.backup-status small {
  font-size: 11.5px;
}

.backup-card p {
  font-size: 12.5px;
}

.command-row code {
  font-size: 11.5px;
}

.backup-mini {
  font-size: 11px !important;
}

.backup-note,
.backup-note ol {
  font-size: 12px;
}

.backup-contact {
  font-size: 12px;
}

.backup-contact .link-btn {
  color: #0f766e;
  font-size: 13.5px;
  font-weight: 600;
}

/* Final typography pass: larger redeem instructions, hall title and logo */
.site-header-inner {
  width: min(1500px, calc(100% - 48px));
  height: 76px;
}

.hall-main {
  padding-top: 18px;
}

.brand {
  gap: 13px;
}

.brand-mark {
  width: 48px;
  height: 48px;
}

.hall-head h1 {
  font-size: clamp(36px, 5vw, 52px);
}

.hall-head p {
  font-size: 14.5px;
}

.redeem-info-card h2 {
  font-size: 19px;
}

.redeem-info-card > p {
  font-size: 14px;
  line-height: 1.7;
}

.redeem-step-num {
  width: 32px;
  height: 32px;
  font-size: 10.5px;
}

.redeem-step b {
  font-size: 15px;
}

.redeem-step p {
  font-size: 14px;
  line-height: 1.75;
}

.redeem-info-card .guide-actions .btn {
  min-height: 42px;
  padding: 0 17px;
  font-size: 15px;
  font-weight: 650;
}

/* Redeem card headline: make it the visual anchor */
.redeem-inner .card-kicker {
  font-size: 12px;
  letter-spacing: 0.16em;
}

.redeem-inner h2 {
  font-size: 36px;
  line-height: 1.22;
  letter-spacing: -0.04em;
}

.redeem-desc {
  margin-top: 9px;
  font-size: 15px;
  line-height: 1.65;
}

@media (max-width: 520px) {
  .redeem-inner h2 {
    font-size: 28px;
  }
}

/* Show the whole Steam capsule instead of cropping it */
.game-art.has-cover {
  height: auto;
  aspect-ratio: 460 / 215;
  background: #0b1220;
}

.game-art.has-cover .game-cover {
  object-fit: contain;
}

.hall-feature-cover {
  height: auto;
  aspect-ratio: 460 / 215;
  object-fit: contain;
  background: #0b1220;
}

/* Price / online row and welcome panel: slightly larger */
.game-metrics {
  font-size: 13px;
}

.steam-price s {
  font-size: 13px;
}

.steam-online b {
  font-size: 14.5px;
}

.hall-welcome strong {
  font-size: 36px;
}

.welcome-kicker {
  font-size: 11px;
}

.beijing-clock {
  font-size: 20px;
}

.today-visitors {
  font-size: 14px;
}

.today-visitors b {
  font-size: 16px;
}

@media (max-width: 720px) {
  .site-header-inner {
    height: 72px;
  }

  .brand-mark {
    width: 42px;
    height: 42px;
  }
}
