/* RBT mobile pass: camp stone, copper, moss; actions above decoration. */
:root {
    --ui-paper: #f4ecd6;
    --ui-muted: #c9d6c9;
    --ui-surface: #192f32;
    --ui-line: #80978a;
    --ui-focus: #ffe4a0;
    --ui-touch: 44px;
}
button, select, summary { -webkit-tap-highlight-color: transparent; }
button:focus-visible, select:focus-visible, input:focus-visible, summary:focus-visible {
    outline: 3px solid var(--ui-focus); outline-offset: 3px;
}
button:disabled { cursor: not-allowed; }
.modal-overlay,.modal-content,.main-menu-overlay,.drawer-panel,.armory-towers-grid,.codex-body {
    touch-action: pan-y pinch-zoom !important;
    overscroll-behavior: contain;
}
.main-menu-container { padding-bottom: calc(100px + var(--safe-area-bottom)); }
.menu-topbar { font-size: 11px; }
.menu-topbar-coins small { font-size: 10px; }
.home-dashboard { gap: 14px; }
.home-hero { min-height: 320px; }
.home-eyebrow,.home-hero-caption>span { font-size: 11px; letter-spacing: .15em; }
.home-splash { font-size: 13px; line-height: 1.5; }
.home-mode-row { grid-template-columns: 1fr 1fr; gap: 12px; align-items: stretch; }
.home-expedition { grid-column: 1/-1; grid-row: 1; min-height: 0; padding: 18px; }
.home-campaign-heading strong { font-size: 23px; }
.home-campaign-heading>span { font-size: 12px; }
#home-run-copy { font-size: 14px; line-height: 1.5; margin: 8px 0 12px; }
.home-difficulty { min-height: var(--ui-touch); font-size: 12px; padding: 10px; }
.home-difficulty span:last-child { font-size: 11px; }
.home-difficulty span:last-child::after { content: none; }
.home-actions .mc-menu-btn { min-height: 52px; font-size: 17px; letter-spacing: .02em; }
.home-new-game:not(.mc-btn-primary) { min-height: var(--ui-touch); font-size: 13px; }
.home-mode-tile { min-height: 122px; padding: 12px; gap: 5px; }
.home-mode-tag,.home-mode-lock { font-size: 10px; letter-spacing: .03em; }
.home-mode-symbol { width: 40px; height: 35px; }
.home-mode-symbol .menu-icon { width: 34px; height: 34px; }
.home-mode-tile strong { font-size: 16px; }
.home-mode-tile small { font-size: 12px; line-height: 1.4; }
.home-legion-tile { background: #243638; border-color: #65756c; box-shadow: none; }
.home-progress-top,.home-progress-stats { font-size: 12px; letter-spacing: 0; }
.home-quick-grid button { min-height: 54px; }
.home-quick-grid button strong,.menu-nav-btn small { font-size: 12px; }
.modal-overlay { padding: max(12px,var(--safe-area-top)) 12px max(12px,var(--safe-area-bottom)); }
.modal-content { max-height: calc(100dvh - 32px - var(--safe-area-top) - var(--safe-area-bottom)); }
.modal-subtitle { font-size: 14px; line-height: 1.55; color: var(--ui-muted); }
.modal-title { overflow-wrap: anywhere; }
.drawer-close,.dps-close-btn { min-width: var(--ui-touch); min-height: var(--ui-touch); flex-shrink: 0; font-size: 20px; }
.modal-header-row { gap: 8px; }
.mc-menu-btn,.btn-armory-action { min-height: var(--ui-touch); }
.settings-option-label { font-size: 14px; }
.settings-option-sub { font-size: 12px; line-height: 1.5; }
.settings-option-row { gap: 12px; }
.settings-option-row .mc-menu-btn { white-space: normal; min-width: 106px; }
.armory-card { min-width: 0; padding: 12px; display:flex; flex-direction:column; gap:8px; }
.armory-card-visual { height: 92px; min-height: 92px; }
.armory-card-title { font-size: 15px; line-height: 1.25; }
.armory-card-meta,.armory-card-status,.armory-visual-level { font-size: 11px; line-height: 1.4; }
.armory-card-header { flex-wrap:wrap; margin:0; }
.armory-card-icon { display:none; }
.armory-card-status { padding:3px 5px; }
.armory-card-desc,.armory-card-note,.armory-card-tech,.talent-card-desc { font-size: 13px; line-height:1.45; margin:0; color:var(--ui-muted); }
.armory-details { border-top:1px solid #63756b; padding-top:4px; }
.armory-details summary { min-height:36px; padding:8px 0; font-size:12px; color:#eed09a; cursor:pointer; }
.armory-details .armory-card-desc { margin:5px 0 8px; }
.armory-damage { font-size:12px; }
.armory-card-tech { display:block; }
.armory-tech-stars { margin:6px 0; }
.armory-tech-change { font-size:12px; line-height:1.5; color:var(--ui-paper); padding:5px 0; }
.btn-armory-action { margin-top:auto; font-size:12px; white-space:normal; gap:6px; }
.btn-armory-action:disabled { opacity:1; color:#c5cfc4; background:#30423a; border-color:#6b7967; }
.tower-card-btn { text-align:left; font:inherit; color:var(--ui-paper); min-height:100px; padding:12px; }
.tower-card-name { font-size:14px; line-height:1.3; }
.tower-card-preview-stats { font-size:12px; line-height:1.5; }
.tower-card-cost { font-size:14px; }
.tower-card-btn:disabled { opacity:.72; }
.drawer-title { font-size:16px; line-height:1.3; }
.drawer-panel { max-height:54dvh; overflow-y:auto; }
.drawer-header { position:sticky; top:0; z-index:2; background:#192c32; padding:8px 0; }
.top-hud { gap:6px; flex-wrap:wrap; align-items:flex-start; }
.hud-chip { min-height:36px; padding:5px 9px; font-size:14px; }
.hud-chip .icon { font-size:17px; }
.hud-mana-labels,.mana-rate-label { font-size:12px; }
.top-hud .icon-btn,.camera-quick-controls .icon-btn,.speed-controls .speed-btn { min-width:44px; min-height:44px; }
.camera-quick-controls { top:108px; gap:7px; }
.speed-controls { top:108px; gap:3px; padding:4px; }
.run-phase-label { position:absolute; top:94px; left:60px; right:60px; text-align:center; color:#f4ecd6; font-size:12px; line-height:1.3; font-weight:700; text-shadow:0 2px 3px #000; pointer-events:none; }
body.in-main-menu .run-phase-label { display:none; }
.dps-toggle-control { top:310px; }
.level-banner { top:110px; max-width:calc(100% - 124px); padding:10px 12px; pointer-events:none; }
.level-banner-title { font-size:18px; line-height:1.2; }
.level-banner-tag { font-size:11px; }
.level-banner-sub { font-size:12px; line-height:1.4; }
.codex-card p,.codex-card-desc { font-size:14px; line-height:1.5; }
.difficulty-card { width:100%; font:inherit; color:var(--ui-paper); text-align:left; }
.ticket-achievement-copy p,.ticket-progress-label,.ticket-instruction { font-size:12px; line-height:1.5; }
.ticket-tabs button,.ticket-achievement-filters button { min-height:44px; font-size:12px; }
.ticket-claim small { font-size:10px; }
.toast-msg { max-width:calc(100% - 28px); font-size:14px; line-height:1.4; }
@media(max-width:700px) {
    .home-hero { min-height:260px; }
    .home-hero-stage { inset:50px -25px -20px; }
    .home-hero .mc-title-text { font-size:38px; }
    .home-hero-caption { padding-top:20px; }
    .home-hero-caption>span { display:none; }
    .home-splash { max-width:40ch; }
    .main-menu-container { padding-left:12px; padding-right:12px; }
    .modal-content { padding:18px 14px; }
    .modal-armory-content { padding:16px 10px 0; }
    .armory-towers-grid { gap:10px; }
    .armory-card { padding:9px; }
    .armory-card-title { font-size:14px; }
    .hud-group { gap:5px; flex-wrap:wrap; }
    .top-hud .hud-group:last-child { margin-left:auto; }
    .home-progress-card { padding:12px; }
}
@media(max-height:500px) and (min-width:600px) {
    .home-hero { min-height:210px; }
    .home-dashboard { display:grid; grid-template-columns:1fr 1fr; align-items:start; }
    .home-mode-row { grid-column:2; grid-row:1/3; }
    .home-progress-card,.home-quick-grid { grid-column:1; }
    .main-menu-container { padding:10px 22px 100px; }
    .top-hud { left:8px; right:8px; }
    .run-phase-label { top:52px; }
    .camera-quick-controls,.speed-controls { top:75px; }
    .dps-toggle-control { top:275px; }
    .drawer-panel { position:fixed; right:8px; top:64px; bottom:10px; width:320px; max-height:none; }
    .bottom-dock { right:342px; }
    .level-banner { top:75px; max-width:310px; }
    .tutorial-guide { max-height:45dvh; overflow:auto; }
}
@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after { animation:none !important; transition:none !important; }
/* El resumen de expedición queda debajo de recursos y estado, entre los controles laterales. */
.mission-status { top:122px; width:min(360px,calc(100vw - 128px)); max-height:45dvh; }
.mission-status-heading { min-height:44px; font-size:12px; gap:4px; padding:7px; }
.mission-status-heading b { width:100%; font-size:12px; }
.mission-status-heading b::after { content:' ⌄'; }
.mission-status-heading span { white-space:normal; }
.mission-status-heading span:last-child { display:none; }
.mission-status-actions button,.mission-detail button,.mission-vein { min-height:44px; }
@media(min-width:600px) and (max-height:500px) {
 .mission-status { top:75px; width:310px; max-height:calc(100dvh - 140px); }
 .mission-status-heading b { width:auto; }
}
/* Mantener el precio y la acción accesibles al recorrer tarjetas altas en móviles estrechos. */
.armory-card .btn-armory-action { position:sticky; bottom:0; z-index:1; }
@media(max-width:380px) {
 .armory-card-visual .armory-visual-level { font-size:10px; }
 .armory-tech-change { font-size:11px; line-height:1.45; }
}

/* Correcciones verificadas de los pares de color señalados por el detector. */
.home-challenge-tile { background:radial-gradient(ellipse at 50% 10%,#493e30,#30352e 70%); }
.home-challenge-tile small { color:var(--ui-paper); }
.mc-btn-gold { background:linear-gradient(#775a00,#594500); }
#ticket-claim-count { background:#713c24; color:#fff4df; font-size:11px; }
.ticket-main-action { background:linear-gradient(#425c30,#304728); }
.status-locked { color:#ffb3ab; }
.menu-panel-kicker { font-size:11px; letter-spacing:.05em; }
