/* Keep the landing elements in normal flow on short and mobile screens. */
.landing-shell { padding-top: clamp(20px, 4vh, 48px); }
.action-stack { margin-top: clamp(12px, 2.5vh, 28px); }
/* The generated transparent artwork has vertical canvas margins. */
.portal-button--gift { background-image: url('button-gift.png?v=20261013-gifts2'); background-size: 92.85% 187.2%; background-position: 35% 53.3%; }
.gift-front-history { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 12px; }
.gift-front-history p { font-size: 12px; overflow-wrap: anywhere; color: var(--muted); }
#gift-front-account[hidden], #gift-front-login[hidden] { display: none; }
#gift-modal .field select { width: 100%; height: 48px; padding: 0 15px; border: 1px solid rgba(211,185,132,.12); border-radius: 0; background: rgba(7,7,7,.76); color: var(--ink); font: inherit; outline: none; }
#gift-modal .field select:focus { border-color: rgba(227,122,40,.78); box-shadow: 0 0 0 3px rgba(227,122,40,.1); }
#gift-front-logout, #gift-front-refresh { padding: 8px 14px; border: 1px solid rgba(227,122,40,.45); background: rgba(81,45,20,.3); color: #e6a257; }
#gift-front-logout { margin-bottom: 16px; }
.gift-front-history button { margin-bottom: 10px; }
#gift-modal { z-index: 9; }
@media (max-width: 560px) {
  .landing-shell { padding-top: 24px; }
  .action-stack { margin-top: 16px; }
}

.portal-button--register { background-image: url('button-register-v2.png?v=20261013-register1'); background-size: 94.44% 139.33%; background-position: 28.3% 50.72%; }

#gift-front-buy[hidden], #gift-front-redeem[hidden] { display: none; }
.gift-tabs { display: flex; gap: 10px; margin: 18px 0; }
.gift-tabs button, .gift-catalog-pages button { padding: 8px 12px; border: 1px solid rgba(227,122,40,.3); background: rgba(7,7,7,.6); color: var(--muted); font: inherit; }
.gift-tabs button { flex: 1; }
.gift-tabs button[aria-pressed="true"] { border-color: var(--orange); background: rgba(193,91,24,.25); color: #f0b36b; }
.gift-catalog { border: 0; padding: 0; margin: 0; min-width: 0; }
.gift-catalog legend { margin-bottom: 10px; color: #a9a096; font-size: 12px; }
.gift-catalog-option { display: flex; gap: 10px; padding: 12px; margin-bottom: 9px; border: 1px solid rgba(211,185,132,.16); background: rgba(7,7,7,.62); cursor: pointer; }
.gift-catalog-option:has(input:checked) { border-color: var(--orange); background: rgba(193,91,24,.17); }
.gift-catalog-option input { flex: 0 0 auto; margin-top: 5px; accent-color: var(--orange); }
.gift-catalog-option span { min-width: 0; overflow-wrap: anywhere; }
.gift-catalog-option strong, .gift-catalog-option small { display: block; }
.gift-catalog-option strong { font-size: 14px; color: #f0b36b; }
.gift-catalog-option small { font-size: 12px; margin-top: 6px; color: var(--muted); }
.gift-catalog-pages { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); }
.gift-catalog-pages button:disabled { opacity: .4; cursor: default; }

#gift-modal .panel-heading { margin-bottom: 14px; }
#gift-front-message:empty { display: none; }
.gift-account-heading { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 14px; position: relative; }
.gift-account-heading #gift-front-logout { margin: 0; white-space: nowrap; }
#gift-front-username { margin: 0; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }

.portal-button--register { background-image: url('button-register-blank.png?v=20261013-text1'); background-size: 94.044% 136.512%; background-position: 30.114% 50.793%; }

.portal-button--sponsor { background-image: url('button-sponsor-blank.png?v=20261013-text1'); background-size: 95.252% 141.340%; background-position: 25.508% 48.783%; }

.action-stack { container-type: inline-size; }
.portal-button-label { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; color: #a6d949; font-family: 'Noto Sans SC', 'Microsoft YaHei', sans-serif; font-weight: 400; font-size: 34px; font-size: 8.4cqw; line-height: 1; letter-spacing: 0; text-shadow: 0 0 4px rgba(133,190,40,.45); }

.site-footer { position: relative; top: -20px; }
