/* Short landscape entry screens use document scrolling: inputs and actions
   remain reachable when the software keyboard reduces the visible height. */
@media (orientation: landscape) and (max-height: 600px) {
  body.landscape-entry { min-height: 100dvh; height: auto; overflow-y: auto; }
  .landscape-entry input, .landscape-entry select { font-size: 16px; scroll-margin-block: 72px; }
  .landscape-entry :is(button, a) { touch-action: manipulation; }
  .landscape-entry .beta-feedback { position: relative !important; inset: auto !important; margin: 16px auto; max-width: calc(100% - 28px); }

  /* Account entry: brand at the side, a compact form that can always scroll. */
  .landscape-auth .back { position: absolute; top: max(8px, env(safe-area-inset-top)); left: max(14px, env(safe-area-inset-left)); width: 44px; height: 44px; border-radius: 12px; }
  .landscape-auth .language-switcher { position: absolute; top: max(8px, env(safe-area-inset-top)); right: max(14px, env(safe-area-inset-right)); }
  .landscape-auth .language-switcher button { min-height: 44px; }
  .landscape-auth .auth-shell { min-height: 100dvh; grid-template-columns: minmax(150px, .7fr) minmax(300px, 1.3fr); align-items: start; gap: 24px; padding: max(66px, calc(env(safe-area-inset-top) + 58px)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); }
  .landscape-auth .auth-story { position: sticky; top: 18px; width: 100%; margin: 0; padding-top: 10px; text-align: center; }
  .landscape-auth .auth-story > img { width: min(190px, 85%); margin-bottom: 4px; }
  .landscape-auth .auth-story > p:first-of-type { font-size: 10px; letter-spacing: .16em; }
  .landscape-auth .auth-story h1 { font-size: clamp(36px, 6vw, 56px); margin: 10px 0 16px; }
  .landscape-auth .auth-story h2 { font-size: 20px; margin: 0 0 12px; }
  .landscape-auth .auth-story__copy { font-size: 12px; line-height: 1.5; margin: 0; }
  .landscape-auth .auth-card { width: 100%; max-width: 560px; margin: 0 auto; padding: 18px; border-radius: 18px; background: linear-gradient(145deg, #171b20f2, #0a0d12ed); }
  .landscape-auth .auth-tabs { margin-bottom: 14px; padding: 3px; }
  .landscape-auth .auth-tabs button { min-height: 44px; padding: 10px; }
  .landscape-auth .auth-heading > p { margin: 0; font-size: 10px; }
  .landscape-auth .auth-heading h2 { font-size: 27px; margin: 6px 0; }
  .landscape-auth .auth-heading > span { font-size: 13px; }
  .landscape-auth #authForm { gap: 12px; margin-top: 18px; }
  .landscape-auth #authForm label > span:first-child { margin-bottom: 6px; }
  .landscape-auth #authForm input:not([type="checkbox"]) { height: 46px; }
  .landscape-auth .password-field button { top: 1px; height: 44px; }
  .landscape-auth .auth-options { flex-wrap: wrap; gap: 6px 14px; }
  .landscape-auth .auth-options .forgot-password { min-height: 44px; }
  .landscape-auth .remember { min-height: 32px; }
  .landscape-auth .auth-submit { min-height: 46px; height: auto; padding: 14px 10px; }
  .landscape-auth .form-error:empty { min-height: 0; }
  .landscape-auth .local-note { margin-top: 14px; font-size: 11px; }

  /* Rookie creation: choices and live fighter identity share the width. */
  .landscape-creator .creator { width: min(1100px, 100%); padding: max(14px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); }
  .landscape-creator .intro { max-width: none; text-align: center; }
  .landscape-creator .intro .eyebrow, .landscape-creator .intro > p:last-child { display: none; }
  .landscape-creator .intro h1 { font-size: 26px; line-height: 1.1; }
  .landscape-creator .intro > p:last-child { margin: 5px auto 0; font-size: 12px; }
  .landscape-creator .progress.creator-steps { position: static; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: 12px 0; padding: 4px 8px; border-radius: 12px; }
  .landscape-creator .creator-steps .progress-step { flex-direction: row; justify-content: center; gap: 6px; min-height: 44px; }
  .landscape-creator .creator-steps .progress-step i { width: 25px; height: 25px; flex: 0 0 25px; }
  .landscape-creator .creator-steps .progress-step span { display: block; font-size: 10px; letter-spacing: 0; text-align: start; }
  .landscape-creator .workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, .38fr); gap: 14px; align-items: start; }
  .landscape-creator .flow { grid-column: 1; grid-row: 1; min-width: 0; width: 100%; }
  .landscape-creator .flow-panel { min-height: 0; padding: 14px; border-radius: 16px; background: linear-gradient(145deg, #171b20f2, #0b0e13ef); }
  .landscape-creator .panel-heading { margin-bottom: 12px; padding-bottom: 10px; gap: 10px; }
  .landscape-creator .panel-heading h2 { font-size: 21px; }
  .landscape-creator .panel-number { width: 34px; height: 34px; }
  .landscape-creator .flow-panel[data-panel="1"]:not([hidden]) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .landscape-creator .flow-panel[data-panel="1"] .panel-heading { grid-column: 1 / -1; margin-bottom: 0; }
  .landscape-creator .name-grid { display: contents; }
  .landscape-creator .field input, .landscape-creator .country-search input { height: 44px; }
  .landscape-creator .field > span { margin-bottom: 6px; }
  .landscape-creator .field small:empty { min-height: 0; }
  .landscape-creator .fighter-age-field { max-width: none; margin: 0; }
  .landscape-creator .field { min-width: 0; }
  .landscape-creator .field input { min-width: 0; padding-inline: 10px; }
  .landscape-creator .country-search { margin-bottom: 10px; }
  .landscape-creator .country-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); max-height: 190px; }
  .landscape-creator .country-card, .landscape-creator .weight-card { min-height: 48px; padding: 10px; }
  .landscape-creator .weight-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .landscape-creator .nickname-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .landscape-creator .nickname-card { min-height: 64px; padding: 10px; }
  .landscape-creator .nickname-card b { font-size: 13px; overflow-wrap: anywhere; }
  .landscape-creator .avatar-gallery { gap: 12px; padding: 8px max(0px, calc((100% - 142px) / 2)); }
  .landscape-creator .avatar-gallery .avatar-card { flex-basis: 142px; border-radius: 12px; }
  .landscape-creator .avatar-gallery .avatar-card img { height: 148px; }
  .landscape-creator .avatar-card > span { padding: 8px; }
  .landscape-creator .avatar-card b { font-size: 11px; }
  .landscape-creator .avatar-card small { font-size: 10px; }
  .landscape-creator .carousel-controls { gap: 18px; margin-top: 8px; }
  .landscape-creator .carousel-controls button { width: 44px; height: 44px; }
  .landscape-creator .flow-actions { position: static; flex-wrap: wrap; min-height: 60px; padding: 8px 10px; margin-top: 10px; border-radius: 12px; gap: 8px; }
  .landscape-creator .flow-actions > div { width: 100%; margin-inline: 0; justify-content: flex-end; }
  .landscape-creator .flow-actions > p { width: 100%; }
  .landscape-creator .primary-button, .landscape-creator .secondary-button { min-height: 44px; padding: 0 16px; }
  .landscape-creator .preview { grid-column: 2; grid-row: 1; order: initial; width: 100%; display: block; position: sticky; top: max(12px, env(safe-area-inset-top)); min-width: 0; }
  .landscape-creator .preview-top { font-size: 9px; letter-spacing: .05em; gap: 6px; }
  .landscape-creator .portrait-wrap { aspect-ratio: 1 / 1; }
  .landscape-creator .card-copy { margin-top: -18px; padding: 0 8px 12px; }
  .landscape-creator .card-copy h2 { font-size: 20px; overflow-wrap: anywhere; }
  .landscape-creator .preview-nickname { font-size: 9px; padding: 5px 7px; letter-spacing: .06em; }
  .landscape-creator .card-tags { gap: 4px; }
  .landscape-creator .card-tags span { font-size: 9px; padding: 5px; }
  .landscape-creator .fighter-country-badge { font-size: 10px; }

  /* Existing-career handoff stays accessible until the Streets release. */
  .landscape-first-day .skip { top: max(8px, env(safe-area-inset-top)); right: max(14px, env(safe-area-inset-right)); min-height: 44px; }
  .landscape-first-day .scene { inset: -4%; }
  .landscape-first-day .subtitles { width: min(740px, calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right) - 40px)); bottom: max(18px, env(safe-area-inset-bottom)); }
  .landscape-first-day .subtitles p { font-size: clamp(16px, 2.4vw, 20px); }
  .landscape-first-day .finale, .landscape-first-day .handoff { overflow-y: auto; place-content: safe center; padding: max(18px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left)); }
  .landscape-first-day .finale-event { gap: 6px; margin-bottom: 12px; }
  .landscape-first-day .finale h1 { font-size: clamp(32px, 5vw, 46px); line-height: 1; }
  .landscape-first-day .finale-meta { margin: 12px 0 20px; }
  .landscape-first-day .finale button { min-width: min(350px, 100%); min-height: 46px; padding: 13px 24px; }
  .landscape-first-day .handoff { gap: 10px; }
  .landscape-first-day .handoff h1 { font-size: 32px; }
  .landscape-first-day .handoff p { margin-bottom: 8px; font-size: 14px; line-height: 1.5; }
  .landscape-first-day .handoff :is(button, a) { min-height: 44px; padding: 12px 18px; }

  /* Older Locker links remain readable while My Fighter becomes the hub. */
  .landscape-locker .topbar { min-height: 58px; height: auto; padding: 6px max(18px, env(safe-area-inset-right)) 6px max(18px, env(safe-area-inset-left)); }
  .landscape-locker .wordmark { font-size: 15px; }
  .landscape-locker .menu-button { min-height: 44px; padding: 10px 14px; }
  .landscape-locker main { min-height: calc(100dvh - 58px); padding: 14px max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); }
  .landscape-locker .locker { grid-template-columns: minmax(180px, .75fr) minmax(0, 1.25fr); border-radius: 18px; }
  .landscape-locker .portrait-shell { min-height: 260px; }
  .landscape-locker .portrait-shell img { position: absolute; inset: 0; }
  .landscape-locker .status { top: 12px; left: 12px; font-size: 9px; padding: 8px; }
  .landscape-locker .identity { min-width: 0; padding: 20px; }
  .landscape-locker .identity h1 { font-size: clamp(28px, 5vw, 42px); overflow-wrap: anywhere; }
  .landscape-locker .eyebrow { margin-bottom: 10px; }
  .landscape-locker .rank { font-size: 12px; margin: 10px 0 14px; }
  .landscape-locker .career-card { margin-bottom: 14px; }
  .landscape-locker .career-card div { min-width: 0; padding: 12px 0; }
  .landscape-locker .career-card div + div { padding-inline-start: 16px; }
  .landscape-locker .career-card dd { font-size: 26px; overflow-wrap: anywhere; }
  .landscape-locker .debut-note { margin-bottom: 14px; font-size: 13px; }
  .landscape-locker .primary-action { min-height: 46px; width: auto; padding: 14px 18px; }
}

@media (orientation: landscape) and (max-height: 300px) {
  .landscape-auth .auth-story { position: static; }
  .landscape-creator .preview { position: static; }
}
