/* ============================================================
   WARREN HOPZ v2 — lobby, account and game shell.
   The canvas game board remains intentionally untouched.
   ============================================================ */

@keyframes wh-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
@keyframes wh-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,138,60,.5); }
  50% { box-shadow: 0 0 0 10px rgba(255,138,60,0); }
}

/* ---------- Shared surface language ---------- */
.page-lobby {
  background:
    radial-gradient(70% 46% at 12% -4%, rgba(255,216,138,.85), transparent 62%),
    radial-gradient(60% 40% at 96% 2%, rgba(255,192,199,.6), transparent 66%),
    radial-gradient(90% 70% at 50% 108%, rgba(143,189,122,.4), transparent 60%),
    #efe0c2;
}
.page-lobby::before { display: none; }
.page-lobby .label, .wh-eyebrow {
  font-size: 11px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; color: var(--honey-600);
}
.page-lobby .btn {
  min-height: 44px; border: 0; border-radius: var(--radius-pill); font-weight: 900;
  box-shadow: 0 10px 20px -10px rgba(74,53,38,.55); transition: transform var(--dur-fast) var(--ease-bounce), box-shadow var(--dur-base) var(--ease-soft), background var(--dur-fast);
}
.page-lobby .btn:hover { transform: translateY(-2px); box-shadow: 0 15px 24px -12px rgba(74,53,38,.58); }
.page-lobby .btn--primary, .page-lobby .btn-primary { background: linear-gradient(155deg, var(--carrot-400), var(--carrot-600)); }
.page-lobby .btn--outline, .page-lobby .btn-ghost { background: rgba(255,253,248,.86); color: var(--honey-700); box-shadow: inset 0 0 0 1.5px var(--border-default); }
.page-lobby .field, .page-lobby input { border: 0; border-radius: 14px; background: var(--surface-card); box-shadow: inset 0 0 0 1.5px var(--border-default); }

/* ---------- Landing and sign-in ---------- */
.page-lobby:not(.lobby-active) .hero {
  width: 100%; height: 100vh; min-height: 680px; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: #d6ae75;
}
.page-lobby:not(.lobby-active) .hero::after { display: none; }
.page-lobby:not(.lobby-active) .hero__art { object-position: center; image-rendering: auto; }
.page-lobby:not(.lobby-active) .hero__scrim {
  background: linear-gradient(96deg, rgba(255,247,232,.97) 0%, rgba(253,240,215,.9) 34%, rgba(255,216,138,.24) 62%, rgba(58,38,22,.52) 100%);
}
.page-lobby:not(.lobby-active) .hero__inner { padding: 56px clamp(28px, 6vw, 88px) 100px; align-items: center; }
.page-lobby:not(.lobby-active) .hero__txt { max-width: 540px; }
.page-lobby:not(.lobby-active) .hero .wh-eyebrow {
  display: inline-flex; align-items: center; gap: 7px; padding: 7px 15px; border-radius: var(--radius-pill); background: rgba(255,253,248,.94); color: var(--carrot-700); box-shadow: 0 8px 18px -8px rgba(74,53,38,.6);
}
.page-lobby:not(.lobby-active) .hero__title { margin-top: 16px; font-family: var(--font-sans); font-size: clamp(52px, 6vw, 76px); font-weight: 900; line-height: .88; color: var(--text-strong); text-shadow: none; }
.page-lobby:not(.lobby-active) .hero__title .light { color: var(--carrot-600); text-shadow: 0 6px 20px rgba(255,138,60,.35); }
.page-lobby:not(.lobby-active) .hero__tag { max-width: 465px; margin-top: 18px; font-size: 17px; color: var(--text-body); }
.page-lobby:not(.lobby-active) .hero__ver { top: auto; right: auto; bottom: 46px; left: clamp(28px, 6vw, 88px); background: rgba(255,253,248,.78); color: var(--honey-700); border: 1.5px solid var(--border-default); }
.page-lobby:not(.lobby-active) .wrap { position: relative; z-index: 4; max-width: none; min-height: 0; margin-top: -100vh; padding: 0 clamp(28px, 6vw, 88px); pointer-events: none; }
.page-lobby:not(.lobby-active) .auth-wrap { max-width: 420px; min-height: 100vh; margin: 0 0 0 auto; display: grid; align-items: center; pointer-events: auto; }
.world-gate {
  min-height: 440px; padding: 26px; display: flex; flex-direction: column; border: 0; border-radius: 34px;
  background: linear-gradient(160deg, rgba(255,253,248,.97), rgba(255,243,224,.95)); backdrop-filter: blur(12px);
  box-shadow: 0 40px 60px -26px rgba(42,29,18,.7), inset 0 1.5px 0 #fff, inset 0 0 0 1.5px var(--gold-300);
}
.world-gate__head { margin-bottom: 14px; }
.world-gate__head img { display: none; }
.world-gate__head h2 { font-family: var(--font-sans); font-size: 30px; font-weight: 900; color: var(--text-strong); }
.world-gate__head .label { color: var(--honey-600); }
.tabs { gap: 4px; margin-bottom: 14px; padding: 5px; border-radius: var(--radius-pill); background: var(--surface-sunken); box-shadow: inset 0 2px 5px rgba(74,53,38,.16); }
.tab-btn { height: 38px; border-radius: var(--radius-pill); font-size: 12px; font-weight: 900; }
.tab-btn.active { color: var(--carrot-700); box-shadow: 0 5px 10px -6px rgba(74,53,38,.38); }
.tab-panel { min-height: 0; flex: 1; padding-top: 14px; }
.tab-panel.active { display: flex; flex-direction: column; }
.tab-panel#tab-guest.active { justify-content: center; gap: 18px; }
.tab-panel#tab-guest .muted, .tab-panel#tab-guest .btn { margin: 0; }
.tab-panel .muted { font-size: 14.5px; line-height: 1.5; }
.tab-panel .btn { margin-top: 18px; }
.form-group { margin-bottom: 12px; }
.form-group label { color: var(--honey-600); }
.wallet-auth { margin-top: 16px; }
.wallet-auth__divider { display: flex; align-items: center; gap: 10px; color: var(--text-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.wallet-auth__divider::before, .wallet-auth__divider::after { content: ''; height: 1px; flex: 1; background: var(--border-subtle); }
.wallet-auth__button { margin-top: 12px !important; }
.wallet-auth__button [data-lucide] { width: 17px; height: 17px; }
.wallet-auth__note { margin: 10px 2px 0; color: var(--text-muted); font-size: 12px; line-height: 1.45; }
.wallet-picker { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; }
.wallet-picker__backdrop { position: absolute; inset: 0; background: rgba(42,29,18,.56); backdrop-filter: blur(5px); }
.wallet-picker__dialog { position: relative; width: min(100%, 410px); padding: 28px; border-radius: 28px; background: linear-gradient(160deg,#fffdf8,#fff1dc); box-shadow: 0 38px 70px -22px rgba(42,29,18,.78), inset 0 1px 0 #fff, inset 0 0 0 1.5px var(--gold-300); }
.wallet-picker__dialog h2 { margin: 8px 30px 6px 0; font-family: var(--font-sans); font-size: 26px; font-weight: 900; color: var(--text-strong); }
.wallet-picker__dialog p { margin: 0; color: var(--text-muted); font-size: 14px; line-height: 1.45; }
.wallet-picker__close { position: absolute; top: 16px; right: 16px; width: 32px; height: 32px; border: 0; border-radius: 50%; color: var(--honey-700); background: var(--surface-sunken); font-size: 25px; line-height: 1; cursor: pointer; }
.wallet-picker__list { display: grid; gap: 10px; margin-top: 22px; }
.wallet-picker__option { min-height: 58px; display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 13px; border: 1.5px solid var(--border-default); border-radius: 18px; color: var(--text-strong); background: rgba(255,253,248,.9); font: inherit; font-weight: 900; text-align: left; cursor: pointer; transition: transform var(--dur-fast), border-color var(--dur-fast), box-shadow var(--dur-fast); }
.wallet-picker__option:hover { transform: translateY(-1px); border-color: var(--carrot-400); box-shadow: 0 12px 20px -14px rgba(74,53,38,.7); }
.wallet-picker__icon { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 10px; object-fit: contain; }
.wallet-picker__icon--fallback { display: grid; place-items: center; color: var(--carrot-700); background: var(--gold-200); font-size: 22px; }

/* ---------- Signed-in lobby shell ---------- */
.page-lobby.lobby-active .hero { display: none; }
.page-lobby.lobby-active .wrap { max-width: none; padding: 0; }
.lobby-shell { display: flex; min-height: 100vh; gap: 0; }
.lobby-content { flex: 1; min-width: 0; padding: 22px 26px 80px; }
.app-rail {
  position: sticky; top: 14px; align-self: flex-start; z-index: 5; width: 108px; height: calc(100vh - 28px); margin: 14px 0 14px 14px; padding: 20px 0 18px;
  display: flex; flex-direction: column; align-items: center; gap: 26px; border-radius: 32px; background: linear-gradient(180deg,#3e2a18,#2a1d12); box-shadow: 0 26px 50px -18px rgba(42,29,18,.7), inset 0 1px 0 rgba(255,247,234,.14);
}
.app-rail__brand { width: 60px; height: 60px; display: grid; place-items: center; overflow: hidden; border-radius: 22px; background: linear-gradient(160deg,var(--green-300),var(--green-600)); box-shadow: 0 10px 20px -6px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.5); }
.app-rail__brand img { width: 50px; animation: wh-float 4.4s ease-in-out infinite; }
.app-rail__nav { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 5px; }
.app-rail__item {
  width: 80px; padding: 11px 0 9px; border: 0; border-radius: 22px; display: flex; flex-direction: column; align-items: center; gap: 4px; color: rgba(255,247,234,.55); background: transparent; font: inherit; font-size: 11px; font-weight: 900; cursor: pointer; text-decoration: none; transition: background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease-bounce);
}
.app-rail__item:hover { color: #fff7ea; background: rgba(255,247,234,.1); transform: translateY(-1px); }
.app-rail__item.active { color: #fff; background: linear-gradient(160deg,var(--carrot-400),var(--carrot-600)); box-shadow: 0 12px 22px -8px rgba(255,138,60,.85), inset 0 1px 0 rgba(255,255,255,.45); }
.app-rail__item [data-lucide] { width: 20px; height: 20px; }
.play-mode, .warren-account-panel, .hall-of-fame { scroll-margin-top: 24px; }
.app-rail__logout { margin-top: auto; }
.app-rail__avatar { width: 48px; height: 48px; overflow: hidden; border-radius: 50%; box-shadow: 0 0 0 2.5px rgba(255,216,138,.9), 0 8px 16px -4px rgba(0,0,0,.55); }
.app-rail__avatar img { width: 100%; height: 100%; object-fit: cover; }
.topbar-panel {
  max-width: 1360px; min-height: 54px; margin: 0 auto 28px; padding: 0; display: flex; align-items: center; gap: 10px; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
.lobby-greeting { min-width: 0; }
.lobby-greeting .label { margin: 0; }
.lobby-greeting h2 { margin: 1px 0 0; font-family: var(--font-sans); font-size: 30px; font-weight: 900; line-height: 1.1; color: var(--text-strong); }
.lobby-greeting h2 span { color: var(--carrot-600); }
.topbar-av { width: 42px; height: 42px; overflow: hidden; margin-left: auto; border-radius: 50%; background: var(--green-100); box-shadow: 0 0 0 2px var(--gold-300); }
.topbar-av img { width: 100%; height: 100%; object-fit: cover; }
.topbar-id { padding-right: 8px; }
.topbar-id .who { font-size: 14px; }
.topbar-type { font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.topbar-panel #logout-btn { width: 42px; height: 42px; min-height: 42px; margin-left: 0; padding: 0; display: grid; place-items: center; font-size: 0; line-height: 1; border-radius: 50%; }
.topbar-panel #logout-btn [data-lucide] { display: block; flex: none; margin: 0; width: 18px; height: 18px; }
#lobby-alerts { max-width: 1360px; margin: 0 auto; }
.lobby-world { max-width: 1360px; margin: 0 auto; grid-template-columns: minmax(0,1.5fr) minmax(330px,.82fr); gap: 24px; }

/* ---------- Arena ---------- */
.play-courtyard { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 18px; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.play-courtyard::after { display: none; }
.courtyard-head { grid-column: 1 / -1; gap: 10px; margin: 0; padding: 0; }
.courtyard-head h2 { font-family: var(--font-sans); font-size: 27px; font-weight: 900; }
.courtyard-mark { display: none; }
.courtyard-free { padding: 7px 14px; border-radius: var(--radius-pill); background: var(--success-soft); font-size: 12px; }
.play-mode {
  min-width: 0; height: 100%; margin: 0; padding: 0 0 20px; display: flex !important; flex-direction: column; gap: 0;
  grid-template-columns: none !important; grid-template-areas: none !important;
  overflow: hidden; isolation: isolate; contain: layout paint; border: 0; border-radius: 32px;
  background: linear-gradient(160deg,#fff6f2,var(--surface-card) 55%);
  box-shadow: 0 32px 46px -24px rgba(74,53,38,.65), inset 0 1.5px 0 #fff, inset 0 0 0 1.5px var(--pink-200);
}
.play-mode--ai { background: linear-gradient(158deg,#4a3121 0%,#241809 64%); box-shadow: 0 36px 50px -24px rgba(42,29,18,.9), inset 0 1.5px 0 rgba(255,247,234,.2); }
.play-mode + .play-mode { margin: 0; padding-top: 0; border: 0; }
.mode-art {
  position: relative; z-index: 0; grid-area: auto !important; flex: 0 0 220px; align-self: auto !important;
  width: 100% !important; height: 220px !important; min-height: 220px !important; margin: 0 !important; aspect-ratio: auto !important;
  overflow: hidden; border: 0; border-radius: 0; background: var(--surface-sunken); box-shadow: none; transform: none !important;
}
.mode-art img { width: 100%; height: 100%; min-height: 0 !important; object-fit: cover; filter: saturate(1.03); }
.mode-art::before, .mode-art::after { box-sizing: border-box; content: ""; position: absolute; inset: auto; z-index: 2; display: block; background-repeat: no-repeat; background-position: center top; background-size: cover; box-shadow: 0 20px 26px -12px rgba(42,29,18,.7), inset 0 0 0 3px rgba(255,253,248,.9); }
.mode-art--human::before { left: 18px; bottom: 14px; width: 92px; height: 119px; border-radius: 18px; background-image: url('../img/v2/characters/boy_good_blue.png'); transform: rotate(-4deg); }
.mode-art--human::after { right: 18px; bottom: 14px; width: 92px; height: 119px; border-radius: 18px; background-image: url('../img/v2/characters/girl_bad_red.png'); transform: rotate(4deg); }
.mode-art--ai img { filter: brightness(.62) saturate(1.05); }
.mode-art--ai::before { left: 18px; bottom: 14px; width: 92px; height: 119px; border-radius: 18px; background-image: url('../img/v2/characters/girl_good_yellow.png'); transform: rotate(-4deg); }
.mode-art--ai::after { right: 18px; bottom: 14px; width: 92px; height: 119px; border-radius: 18px; border: 2px solid var(--gold-400); background-image: url('../img/v2/characters/robot.png'); background-position: center 16%; transform: rotate(4deg); }
.mode-intro { grid-area: auto !important; flex: 0 0 auto; align-content: initial; padding: 18px 20px 0; }
.mode-intro h3 { font-family: var(--font-sans); font-size: 24px; font-weight: 900; }
.mode-intro p { font-size: 13.5px; }
.play-mode--ai .mode-intro h3 { color: #fff7ea; }
.play-mode--ai .mode-intro p { color: rgba(255,247,234,.62); }
.human-actions, .ai-controls { grid-area: auto !important; flex: 0 0 auto; margin: 16px 20px 0; align-self: stretch !important; }
.human-actions { padding: 16px; border-radius: 24px; background: var(--surface-sunken); box-shadow: inset 0 2px 6px rgba(74,53,38,.14); }
.ai-controls { padding: 0; background: transparent; border: 0; }
.action-label, .join-private-label { color: var(--honey-600); }
.visibility-toggle { padding: 4px; border-radius: var(--radius-pill); background: rgba(255,253,248,.9); box-shadow: inset 0 0 0 1px var(--border-default); }
.vis-btn { border: 0; border-radius: var(--radius-pill); }
.vis-btn.active { color: #fff; background: linear-gradient(155deg,var(--carrot-400),var(--carrot-600)); box-shadow: 0 8px 14px -8px rgba(199,92,24,.75); }
.stake-row { padding: 0; background: transparent; }
.stake-label { color: var(--honey-600); }
.open-games { padding: 0; border: 0; background: transparent; }
.open-game { padding: 9px 12px; border-radius: 18px; background: var(--surface-card); box-shadow: inset 0 0 0 1px var(--border-subtle); }
.join-private { padding: 12px 14px; border-radius: 20px; background: rgba(255,253,248,.76); box-shadow: inset 0 0 0 1.5px var(--border-subtle); }
.play-mode--ai .difficulty-btn { flex: 1; border-radius: var(--radius-pill); color: rgba(255,247,234,.7); background: rgba(255,247,234,.08); border-color: rgba(255,247,234,.18); }
.play-mode--ai .difficulty-btn.active { color: #4a3016; background: linear-gradient(150deg,var(--gold-300),var(--gold-500)); border-color: transparent; }
.play-mode--ai .practice-toggle { padding: 12px 14px; border-radius: 20px; background: rgba(255,247,234,.07); box-shadow: inset 0 0 0 1px rgba(255,247,234,.12); }
.play-mode--ai .practice-label { color: #fff7ea; }
.play-mode--ai .practice-label .muted { color: rgba(255,247,234,.55); }

/* ---------- Reward, wallet and collection ---------- */
.weekly-reward-panel, .warren-panel { border: 0; border-radius: 30px; background: linear-gradient(160deg,#fffbeF,var(--surface-card)); box-shadow: 0 28px 42px -22px rgba(74,53,38,.6), inset 0 1.5px 0 #fff, inset 0 0 0 1.5px var(--gold-300); }
.weekly-reward-panel { padding: 22px; }
.weekly-reward-panel h2, .warren-panel__head h2 { font-family: var(--font-sans); font-size: 25px; font-weight: 900; }
.weekly-countdown { border: 0; border-radius: var(--radius-pill); background: var(--surface-sunken); font-family: var(--font-mono); font-size: 12px; }
.weekly-pool-value { margin-top: 12px; }
.weekly-pool-value span { font-family: var(--font-sans); font-size: 38px; font-weight: 900; }
.weekly-pool-breakdown > div, .weekly-trail, .wh-balance-card { border: 0; border-radius: 20px; background: var(--surface-sunken); }
.weekly-trail { padding: 0; background: transparent; box-shadow: none; }
.weekly-trail .wh-section-title { padding-top: 18px; border-top: 1px solid var(--border-subtle); }
.weekly-chips .chip { padding: 7px 10px; border-radius: var(--radius-pill); }
.warren-panel { padding: 22px; margin-top: 18px; background: var(--surface-card); box-shadow: 0 26px 40px -22px rgba(74,53,38,.55), inset 0 1.5px 0 #fff, inset 0 0 0 1px var(--border-subtle); }
.warren-panel__head { margin-bottom: 14px; }
.panel-heading-icon { display: none; }
.account-settings-panel { scroll-margin-top: 24px; }
.account-settings-panel .form-group { max-width: 460px; }
.account-settings-panel .field { width: 100%; }
.account-settings__password { max-width: 460px; margin: 18px 0; padding-top: 16px; border-top: 1px solid var(--border-subtle); }
.account-settings__password .action-label { display: block; margin-bottom: 4px; }
.account-settings__password .muted { margin: 0 0 14px; font-size: 13px; line-height: 1.45; }
.account-settings-panel .alert { max-width: 460px; }
.wh-balance-card { padding: 16px; background: linear-gradient(150deg,var(--gold-200),var(--gold-500)); box-shadow: inset 0 1.5px 0 rgba(255,255,255,.75); }
.wh-balance-card strong { color: #4a3016; }
.wh-tool { margin-top: 14px; padding: 14px 16px; border: 0; border-radius: 22px; background: var(--surface-sunken); }
.wh-tool + .wh-tool { margin-top: 14px; }
.wh-tool__head > span { color: var(--text-muted); }
.walletline { flex-wrap: wrap; }
.walletline small { color: var(--green-700); font-size: 11px; font-weight: 800; }
.wh-market .btn { margin-top: 8px; }
.wh-collection-panel { background: linear-gradient(160deg,#fff6f2,var(--surface-card)); }
.nfts { grid-template-columns: repeat(auto-fill,minmax(134px,1fr)); gap: 14px; }
.nft { overflow: hidden; border: 0; border-radius: 20px; background: var(--surface-card); box-shadow: 0 12px 22px -14px rgba(74,53,38,.45), inset 0 0 0 1px var(--border-subtle); }
.nft__art { height: 146px; background: #0b0805; }
.nft__body { padding: 10px 12px 12px; }

/* ---------- Hall of fame ---------- */
.hall-of-fame { margin-top: 18px; padding: 22px; border: 0; border-radius: 30px; background: linear-gradient(160deg,#3e2a18,#2a1d12); box-shadow: 0 30px 44px -24px rgba(42,29,18,.9), inset 0 1.5px 0 rgba(255,247,234,.16); }
.hall-of-fame::after { display: none; }
.hall-emblem { display: none; }
.hall-head .label { color: var(--gold-400); }
.hall-head h2 { font-family: var(--font-sans); font-size: 25px; font-weight: 900; }
.hall-head p { color: rgba(255,247,234,.5); }
.hall-of-fame #lb-section { padding: 0; background: transparent; }
.lb-table th { color: var(--gold-400); }
.lb-table td { color: #fff7ea; border-color: rgba(255,247,234,.1); }
.lb-table .lb-pts, .lb-table .lb-rank { color: var(--gold-300); }
.footer { margin-top: 46px; color: var(--honey-700); }

/* ---------- Game shell only — board styles deliberately untouched ---------- */
.page-game { background: radial-gradient(80% 60% at 50% 0%, #4a3121, #201509 70%); }
.page-game::before { content:""; position: fixed; inset: 0; z-index: 0; pointer-events: none; background: url('../img/v2/brand/hero-valley.png') center / cover; opacity: .13; }
.page-game #game-page, .page-game #hud, .page-game #canvas-wrap { position: relative; z-index: 1; }
.page-game #hud { padding: 18px 26px; background: transparent; border: 0; box-shadow: none; }
.page-game .score-chip { min-width: 112px; border: 1px solid rgba(255,247,234,.22); border-radius: var(--radius-pill); box-shadow: inset 0 1px 0 rgba(255,255,255,.15); }
.page-game .hud-status { border: 0; border-radius: var(--radius-pill); background: linear-gradient(150deg,var(--gold-300),var(--gold-500)); color: #4a3016; box-shadow: 0 14px 22px -10px rgba(188,135,34,.9); }
.page-game #hud-back-btn { color: #fff7ea; background: rgba(255,247,234,.08); box-shadow: inset 0 0 0 1px rgba(255,247,234,.18); }
.page-game .game-result-card { border: 0; border-radius: 38px; background: linear-gradient(160deg,rgba(255,253,248,.98),rgba(255,243,224,.95)); box-shadow: 0 50px 70px -28px rgba(0,0,0,.8), inset 0 1.5px 0 #fff, inset 0 0 0 1.5px var(--gold-300); }
.page-game .game-result-card h2 { font-family: var(--font-sans); font-size: 44px; font-weight: 900; }

@media (max-width: 1080px) {
  .app-rail { width: 84px; }
  .app-rail__item { width: 62px; }
  .app-rail__item span { font-size: 10px; }
  .lobby-world { grid-template-columns: 1fr; }
  .play-courtyard { width: 100%; }
}
@media (max-width: 760px) {
  .page-lobby:not(.lobby-active) .hero { height: 100svh; min-height: 620px; }
  .page-lobby:not(.lobby-active) .hero__inner { align-items: flex-start; padding-top: 52px; }
  .page-lobby:not(.lobby-active) .hero__title { font-size: 50px; }
  .page-lobby:not(.lobby-active) .wrap { margin-top: -1px; padding: 0 14px 40px; background: linear-gradient(180deg, transparent, #efe0c2 16%); }
  .page-lobby:not(.lobby-active) .auth-wrap { min-height: 0; max-width: none; margin-top: clamp(-460px, -45svh, -300px); }
  .world-gate { min-height: 0; padding: 22px; border-radius: 28px; }
  .tab-panel { flex: none; min-height: 0; padding-top: 16px; }
  .tab-panel#tab-guest.active { justify-content: flex-start; gap: 14px; }
  .lobby-content { padding: 20px 14px 42px; }
  .app-rail { position: fixed; top: auto; bottom: 12px; left: 12px; right: 12px; width: auto; height: 64px; margin: 0; padding: 7px 12px; flex-direction: row; border-radius: 24px; gap: 4px; }
  .app-rail__brand, .app-rail__logout, .app-rail__avatar { display: none; }
  .app-rail__nav { flex-direction: row; justify-content: space-around; gap: 4px; }
  .app-rail__item { width: auto; min-width: 58px; padding: 6px 8px; border-radius: 16px; }
  .app-rail__item [data-lucide] { width: 18px; height: 18px; }
  .topbar-panel { margin-bottom: 24px; }
  .lobby-greeting h2 { font-size: 24px; }
  .topbar-av { margin-left: auto; }
  .topbar-id { display: none; }
  .play-courtyard { display: flex; flex-direction: column; }
  .courtyard-head { width: 100%; }
  .courtyard-free { display: none; }
  .play-mode { width: 100%; }
  .mode-art { min-height: 205px; }
  .mode-art img { min-height: 205px; }
  .mode-art--human::before, .mode-art--human::after, .mode-art--ai::before, .mode-art--ai::after { width: 76px; height: 98px; border-radius: 16px; }
  .human-actions, .ai-controls { margin-left: 16px; margin-right: 16px; }
  .human-actions { padding: 14px; }
  .lobby-world { gap: 18px; }
  .page-game #hud { padding: 12px; gap: 8px; }
  .page-game .score-chip { min-width: 72px; }
  .page-game .score-name { display: none; }
}
