/* PokéFrontier · v0.18.9 · Dúo con estilo Pokémon (Rojo Fuego / Verde Hoja, GBA): ventana con marco de dos tonos,
 * barra de título roja con Poké Ball, plazas como el menú de equipo, opciones Sí/No como en el menú de Opciones,
 * cursor ▶ y caja de texto con ▼. Reutiliza los colores de frlg.css (--fr-*). */
.squad{--pk-teal:#4f9c90;--pk-teal-2:#438a80;--pk-slot:#78a8e8;--pk-slot-2:#5888d0;--pk-slot-line:#203870;--pk-lead:#f8a058;--pk-lead-2:#e87838;--pk-lead-line:#803818;
  --pk-red:#e85848;--pk-red-2:#c83020;--pk-red-line:#701810;--pk-ok:#58c070;--pk-ok-line:#20683a;
  color:var(--fr-ink,#383840);width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;overflow:auto;padding:10px;
  background:repeating-linear-gradient(135deg,var(--pk-teal) 0 14px,var(--pk-teal-2) 14px 28px);
  border:3px solid var(--fr-frame,#4a5878);border-radius:12px;box-shadow:inset 0 0 0 2px var(--fr-frame-in,#9cc0e0),0 0 0 2px var(--fr-dark,#202838),0 8px 0 2px rgba(0,0,0,.35),0 24px 70px #0009;
  font-family:Pixel,var(--ui,system-ui);image-rendering:pixelated}
.squad::backdrop{background:rgba(16,24,40,.6)}
dialog.squad:not([open]){display:none}
.squad :focus-visible{outline:3px solid #f8d030;outline-offset:2px}
.squad button{font-family:Pixel,var(--ui,system-ui)}

/* Barra de título roja con Poké Ball (como el registro de botín) */
.squad header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px 6px 36px;
  background:linear-gradient(180deg,var(--pk-red),var(--pk-red-2));border:2px solid var(--pk-red-line);border-radius:7px;box-shadow:inset 0 2px 0 #f89080,inset 0 -2px 0 #a02818}
.squad header::before{content:"";position:absolute;left:10px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:linear-gradient(180deg,#f04030 0 45%,#202020 45% 57%,#f8f8f8 57%);box-shadow:0 0 0 2px #202020}
.squad header::after{content:"";position:absolute;left:16px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#f8f8f8;box-shadow:0 0 0 2px #202020}
.squad h2{margin:0;font:22px/1.1 Pixel,var(--ui,system-ui);color:#fff;text-shadow:2px 2px 0 #801810}
.squad-x{min-height:34px;padding:4px 10px;background:var(--fr-paper,#f8f8f8);color:var(--fr-ink,#383840);border:2px solid var(--fr-frame,#4a5878);border-radius:6px;box-shadow:inset 0 0 0 1px var(--fr-frame-in,#9cc0e0);font-size:13px;text-shadow:1px 1px 0 var(--fr-shade,#d0d0c8);cursor:pointer}
.squad-x:hover{background:var(--fr-sel,#e4eef8)}

/* Plazas: como el menú de EQUIPO. Tú, en naranja (la primera plaza); tu compañero, en azul. */
.squad-stage{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.squad-slot{position:relative;display:grid;justify-items:center;gap:3px;min-width:0;padding:8px 8px 10px;text-align:center;
  background:linear-gradient(180deg,var(--pk-slot),var(--pk-slot-2));border:2px solid var(--pk-slot-line);border-radius:12px 12px 12px 4px;box-shadow:inset 0 2px 0 #b0d0f8,inset 0 -3px 0 #4070b8,0 3px 0 rgba(0,0,0,.25)}
.squad-slot[data-slot=me]{background:linear-gradient(180deg,var(--pk-lead),var(--pk-lead-2));border-color:var(--pk-lead-line);box-shadow:inset 0 2px 0 #fcd0a0,inset 0 -3px 0 #c05820,0 3px 0 rgba(0,0,0,.25)}
.squad-pedestal{position:relative;width:118px;height:112px;display:grid;place-items:center;border:0;padding:0;background:none;color:inherit;font:inherit}
/* Poké Ball de fondo, como en la ficha del Pokémon */
.squad-pedestal::before{content:'';position:absolute;inset:8px 12px 6px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff 0 9%,transparent 10%),linear-gradient(180deg,#ffffff38 0 46%,#00000024 46% 54%,#ffffff1c 54%);box-shadow:inset 0 0 0 3px #ffffff40}
.squad-pedestal canvas{position:relative;z-index:1;width:104px;height:104px;image-rendering:pixelated}
.squad-slot strong{font:16px/1.2 Pixel,var(--ui,system-ui);color:#fff;text-shadow:2px 2px 0 #304060;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.squad-slot[data-slot=me] strong{text-shadow:2px 2px 0 #904018}
.squad-chip{font:12px/1 Pixel,var(--ui,system-ui);padding:4px 8px 3px;border-radius:4px;background:var(--fr-paper,#f8f8f8);color:var(--fr-ink,#383840);border:1px solid #00000059;text-shadow:1px 1px 0 var(--fr-shade,#d0d0c8)}
.squad-slot[data-state=ready] .squad-chip{background:var(--pk-ok);color:#fff;border-color:var(--pk-ok-line);text-shadow:1px 1px 0 var(--pk-ok-line)}
.squad-slot[data-state=bot] .squad-chip{background:#a8a0c8;color:#fff;border-color:#504878;text-shadow:1px 1px 0 #504878}
.squad-add{cursor:pointer}
.squad-plus,.squad-ball{display:none}
/* Plaza vacía: hueco oscuro con «+» (como una plaza libre del equipo) */
.squad-slot[data-state=empty]{background:#1c3e4a8c;border:2px dashed #d8f0f080;box-shadow:none}
.squad-slot[data-state=empty] canvas,.squad-slot[data-state=search] canvas,.squad-slot[data-state=bot] canvas{display:none}
.squad-slot[data-state=empty] .squad-pedestal::before{background:none;box-shadow:inset 0 0 0 3px #ffffff30}
.squad-slot[data-state=empty] .squad-plus,.squad-slot[data-state=bot] .squad-plus{display:grid;place-items:center;position:relative;z-index:1;width:58px;height:58px;border-radius:50%;
  background:var(--fr-paper,#f8f8f8);border:3px solid var(--fr-dark,#202838);color:var(--fr-ink,#383840);font:34px/1 Pixel,var(--ui,system-ui);box-shadow:0 3px 0 rgba(0,0,0,.3);transition:transform .1s}
.squad-slot[data-state=empty] .squad-add:hover .squad-plus{transform:scale(1.08)}
.squad-slot[data-state=bot] .squad-plus{border-radius:10px;font-size:0;background:#d8d0f0}
.squad-slot[data-state=bot] .squad-plus::before{content:'BOT';font-size:17px}
/* Buscando: una Poké Ball que se balancea (como al intentar capturar) */
.squad-slot[data-state=search] .squad-ball{display:block;position:relative;z-index:1;width:46px;height:46px;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,#f8f8f8 0 15%,#202020 16% 24%,transparent 25%),linear-gradient(180deg,#f04030 0 45%,#202020 45% 55%,#f8f8f8 55%);
  box-shadow:0 0 0 3px #202020,0 4px 0 3px rgba(0,0,0,.25);transform-origin:50% 90%;animation:sq-wobble 1.1s ease-in-out infinite}
@keyframes sq-wobble{0%,60%,100%{transform:rotate(0)}15%{transform:rotate(-22deg)}35%{transform:rotate(18deg)}}
@media(prefers-reduced-motion:reduce){.squad-slot[data-state=search] .squad-ball{animation:none}}

/* Caja blanca de menú (marco de dos tonos) */
.squad-controls{display:grid;gap:8px;padding:10px;background:var(--fr-paper,#f8f8f8);border:3px solid var(--fr-frame,#4a5878);border-radius:9px;
  box-shadow:inset 0 0 0 2px var(--fr-frame-in,#9cc0e0),inset 0 0 0 4px var(--fr-paper,#f8f8f8),0 0 0 2px var(--fr-dark,#202838);text-shadow:1px 1px 0 var(--fr-shade,#d0d0c8)}
/* Rellenar: Sí / No como en el menú de OPCIONES (la elegida, en rojo) */
.squad-fill{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:4px 6px 8px;border-bottom:2px solid #d8e0e8}
.squad-fill[hidden]{display:none}
.squad-fill-name{font-size:16px;color:var(--fr-ink,#383840)}
.squad-opts{display:flex;gap:4px;justify-self:end}
.squad-opts button{position:relative;min-width:58px;min-height:36px;padding:4px 8px 4px 20px;background:none;border:0;border-radius:5px;font-size:16px;color:#a0a0a8;text-shadow:1px 1px 0 var(--fr-shade,#d0d0c8);cursor:pointer}
.squad-opts button[aria-pressed=true]{color:#e05838;text-shadow:1px 1px 0 #f8c8b8}
.squad-opts button[aria-pressed=true]::before{content:'▶';position:absolute;left:5px;top:50%;margin-top:-7px;font-size:12px;line-height:14px;color:var(--fr-ink,#383840);text-shadow:none}
.squad-opts button:hover:not(:disabled){background:var(--fr-sel,#e4eef8)}
.squad-fill small{grid-column:1/-1;font-size:12px;line-height:1.35;color:var(--fr-ink-2,#606068)}
/* Botón principal: como la barra naranja del aprendizaje, con el cursor ▶ */
.squad-cta{position:relative;min-height:52px;padding:8px 14px 8px 34px;border-radius:7px;border:2px solid var(--pk-lead-line);color:#fff;font-size:20px;
  background:linear-gradient(180deg,#f0a048,#e07828);box-shadow:inset 0 2px 0 #f8c878,inset 0 -3px 0 #c06020,0 3px 0 var(--fr-dark,#202838);text-shadow:2px 2px 0 #903810;cursor:pointer}
.squad-cta::before{content:'▶';position:absolute;left:12px;top:50%;margin-top:-8px;font-size:14px;line-height:16px;animation:fr-cursor .5s steps(2) infinite}
.squad-cta[data-kind=stop]{background:linear-gradient(180deg,var(--pk-red),var(--pk-red-2));border-color:var(--pk-red-line);box-shadow:inset 0 2px 0 #f89080,inset 0 -3px 0 #a02818,0 3px 0 var(--fr-dark,#202838);text-shadow:2px 2px 0 #801810}
.squad-cta[data-kind=alt]{background:linear-gradient(180deg,#5880c8,#3860a8);border-color:#203868;box-shadow:inset 0 2px 0 #90b0e8,inset 0 -3px 0 #305090,0 3px 0 var(--fr-dark,#202838);text-shadow:2px 2px 0 #203868}
.squad-cta:active:not(:disabled){transform:translateY(2px)}
.squad-cta:disabled{background:#d8dce0;border-color:#a0a8b0;color:#808890;box-shadow:inset 0 2px 0 #f0f0f0;text-shadow:1px 1px 0 #f8f8f8;font-size:16px;cursor:not-allowed}
.squad-cta:disabled::before{display:none}
.squad-link{justify-self:center;background:none;border:0;color:var(--fr-ink-2,#606068);font-size:13px;min-height:32px;cursor:pointer;text-decoration:underline}
.squad-link[hidden]{display:none}
/* Invitar a un amigo: línea de menú con ▶ */
.squad-invite{border-top:2px solid #d8e0e8;padding-top:2px}
.squad-invite[hidden]{display:none}
.squad-invite summary{position:relative;list-style:none;cursor:pointer;min-height:38px;display:flex;align-items:center;padding:0 8px 0 22px;border-radius:5px;font-size:16px;color:var(--fr-ink,#383840)}
.squad-invite summary::-webkit-details-marker{display:none}
.squad-invite summary::before{content:'▶';position:absolute;left:6px;font-size:12px;opacity:0}
.squad-invite summary:is(:hover,:focus-visible)::before{opacity:1;animation:fr-cursor .5s steps(2) infinite}
.squad-invite summary:hover{background:var(--fr-sel,#e4eef8)}
.squad-invite[open] summary::before{content:'▼';opacity:1;animation:none}
.squad-invite>*+*{margin-top:8px}
.squad-invite button,.squad-join button{min-height:38px;padding:6px 12px;background:var(--fr-paper,#f8f8f8);color:var(--fr-ink,#383840);border:2px solid var(--fr-frame,#4a5878);border-radius:6px;
  box-shadow:inset 0 0 0 1px var(--fr-frame-in,#9cc0e0),0 2px 0 var(--fr-dark,#202838);font-size:14px;text-shadow:1px 1px 0 var(--fr-shade,#d0d0c8);cursor:pointer}
.squad-invite button:hover:not(:disabled),.squad-join button:hover:not(:disabled){background:var(--fr-sel,#e4eef8)}
.squad-invite button[hidden],.squad-invite form[hidden]{display:none}
/* El código, como el Nº ID de la ficha de entrenador */
.squad-code{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;padding:8px;border-radius:7px;background:var(--fr-paper-2,#e8f0f8);border:2px solid var(--fr-frame-in,#9cc0e0)}
.squad-code[hidden]{display:none}
.squad-code span{font-size:12px;color:#fff;background:#5880c8;border:1px solid #203868;border-radius:4px;padding:4px 7px 3px;text-shadow:1px 1px 0 #203868}
.squad-code strong{font:24px/1 Pixel,var(--ui,system-ui);letter-spacing:2px;user-select:all;color:var(--fr-ink,#383840)}
.squad-code div{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.squad label[for=duo-code]{display:block;font-size:13px;color:var(--fr-ink-2,#606068);margin-bottom:4px}
.squad-join{display:flex;gap:8px}
.squad-join input{flex:1;min-width:0;height:40px;padding:6px 10px;border-radius:6px;border:2px solid var(--fr-frame,#4a5878);background:#fff;color:var(--fr-ink,#383840);font:18px Pixel,var(--ui,system-ui);letter-spacing:1px;text-transform:uppercase;box-sizing:border-box}
/* Caja de texto de diálogo, con la flecha ▼ que parpadea */
.duo-status{position:relative;min-height:40px;margin:0;padding:8px 26px 8px 12px;border-radius:7px;background:#fff;border:2px solid #d0d8e0;color:var(--fr-ink,#383840);font:14px/1.4 Pixel,var(--ui,system-ui);text-align:left}
.duo-status:not(:empty)::after{content:'▼';position:absolute;right:9px;bottom:6px;font-size:11px;color:#e05838;animation:sq-blink 1s steps(2) infinite}
@keyframes sq-blink{50%{opacity:0}}
.squad button:disabled{cursor:not-allowed}

/* Botón del refugio */
.duo-button{position:relative;min-height:42px;width:100%;margin-bottom:6px;padding-left:32px;background:var(--fr-paper,#f8f8f8);color:var(--fr-ink,#383840);border:2px solid var(--fr-frame,#4a5878);border-radius:7px;
  box-shadow:inset 0 0 0 1px var(--fr-frame-in,#9cc0e0),0 2px 0 var(--fr-dark,#202838);font-family:Pixel,var(--ui,system-ui);text-shadow:1px 1px 0 var(--fr-shade,#d0d0c8)}
.duo-button::before{content:'';position:absolute;left:10px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:linear-gradient(180deg,#f04030 0 45%,#202020 45% 57%,#f8f8f8 57%);box-shadow:0 0 0 1.5px #202020}
.duo-button:hover{background:var(--fr-sel,#e4eef8)}
.duo-button:focus-visible{outline:3px solid #f8d030;outline-offset:2px}

/* Compañero en partida: barra compacta bajo tu vida (como la lista de escuadra de Fortnite) */
.duo-teammate{position:absolute;left:18px;top:145px;width:210px;box-sizing:border-box;padding:6px 10px 7px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:7px;row-gap:4px;pointer-events:none;transition:border-color .18s,box-shadow .18s}
.duo-teammate[hidden]{display:none}
.duo-teammate small{font:700 9px/1 system-ui;letter-spacing:.3px;color:#062c2a;background:#72f0e4;border-radius:4px;padding:3px 5px;white-space:nowrap}
.duo-teammate strong{font-size:13px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.duo-teammate span{font:11px system-ui;opacity:.9;white-space:nowrap}
.duo-teammate progress{grid-column:1/-1;height:6px;width:100%;accent-color:#73e9d8}
.duo-teammate[data-state=down]{border-color:#ef5858!important;box-shadow:0 0 0 1px rgba(239,88,88,.45),0 2px 6px rgba(0,0,0,.4)}
.duo-teammate[data-state=down] small{background:#e8483c;color:#fff}
.duo-teammate[data-state=down] span{color:#ffd2cc;font-weight:600}
.duo-teammate[data-state=down] progress{accent-color:#ff6b6b}
.duo-teammate:is([data-state=carry],[data-state=heal]){border-color:#ff7fa6!important;box-shadow:0 0 0 1px rgba(255,127,166,.45),0 2px 6px rgba(0,0,0,.4)}
.duo-teammate:is([data-state=carry],[data-state=heal]) small{background:#e8487a;color:#fff}
.duo-teammate:is([data-state=carry],[data-state=heal]) span{color:#ffd8e6;font-weight:600}
.duo-teammate:is([data-state=carry],[data-state=heal]) progress{accent-color:#ff7fa6}
.duo-teammate[data-state=out]{opacity:.68}

@media(max-width:600px){.squad{padding:8px}.squad h2{font-size:19px}.squad-pedestal{width:100px;height:96px}.squad-pedestal canvas{width:88px;height:88px}.squad-cta{font-size:18px}.squad-slot strong{font-size:14px}
  .duo-teammate{top:110px;left:8px;width:160px;padding:5px 8px}.duo-button{font-size:11px;min-height:38px;margin-bottom:4px}}
/* Móvil en horizontal: plazas a la izquierda, menú a la derecha */
@media(max-height:520px) and (min-width:560px){.squad{width:min(780px,calc(100vw - 16px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;column-gap:10px;padding:8px}
  .squad header{grid-column:1/-1}.squad h2{font-size:18px}.squad-stage{margin:8px 0 0;align-self:start;gap:6px}.squad-pedestal{width:96px;height:86px}.squad-pedestal canvas{width:80px;height:80px}
  .squad-slot{padding:6px 6px 8px}.squad-slot strong{font-size:13px}.squad-controls{margin-top:8px;align-content:start;gap:6px;padding:8px}.squad-fill{padding:2px 4px 6px}.squad-fill small{font-size:11px}.squad-cta{min-height:44px;font-size:17px}.duo-status{min-height:34px;font-size:12.5px}}
/* Móvil: el dúo a mano, encima de «Jugar» */
body.touch #menu .lobby-launch #duo-button{display:block!important;position:absolute;right:8px;bottom:calc(100% + 8px);width:auto;min-height:36px;margin:0;padding:4px 14px 4px 32px;font-size:14px;line-height:1;pointer-events:auto}
body.touch .duo-teammate{top:calc(max(8px,env(safe-area-inset-top,0px)) + 54px);left:max(8px,env(safe-area-inset-left,0px));width:192px;padding:3px 7px 4px;column-gap:5px;row-gap:2px;border-radius:9px}
body.touch .duo-teammate small{font-size:8px;padding:2px 4px;border-radius:3px}
body.touch .duo-teammate strong{font-size:11px;line-height:13px}
body.touch .duo-teammate span{font-size:10px;line-height:12px}
body.touch .duo-teammate progress{height:4px}
/* v0.19.4 · Móvil estrecho (o con el texto ampliado): nada se sale de la caja blanca. */
.squad-controls{grid-template-columns:minmax(0,1fr)}
.squad-controls>*{min-width:0;max-width:100%;box-sizing:border-box}
.squad-fill{grid-template-columns:minmax(0,1fr) auto}
.squad-fill-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
.squad-cta{width:100%;white-space:normal;overflow-wrap:anywhere}
.squad-invite summary,.squad-invite button,.squad-join button{white-space:normal;overflow-wrap:anywhere}
.squad-invite form{min-width:0}
.squad-join button{flex:none}
.duo-status{overflow-wrap:anywhere}
@media(max-width:600px){.squad{width:calc(100vw - 16px)}.squad-controls{padding:8px}
  .squad-opts{gap:2px}.squad-opts button{min-width:0;padding:4px 6px 4px 18px;font-size:15px}.squad-fill-name{font-size:15px}
  .squad-cta{min-height:48px;font-size:17px;padding:8px 10px 8px 30px}.squad-invite summary{font-size:15px}.squad-join input{font-size:16px;padding:6px 8px}.duo-status{font-size:13px}}
/* v0.19.6 · Rescate en dúo: aviso de arriba (estilo Rojo Fuego). js/rescue.js */
.rescue-hud{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 158px);transform:translateX(-50%);z-index:19;width:min(440px,calc(100vw - 24px));pointer-events:none;
  font-family:Pixel,var(--ui,system-ui);image-rendering:pixelated}
.rescue-hud[hidden]{display:none}
.rescue-box{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--fr-paper,#f8f8f8);color:var(--fr-ink,#383840);
  border:3px solid #a8385a;box-shadow:inset 0 0 0 2px #ffc6d8,0 3px 0 rgba(32,40,56,.85);text-shadow:1px 1px 0 var(--fr-shade,#d0d0c8)}
.rescue-hud[data-tone=mate] .rescue-box,.rescue-hud[data-tone=carry] .rescue-box{border-color:#3f6aa8;box-shadow:inset 0 0 0 2px #b8d4f4,0 3px 0 rgba(32,40,56,.85)}
.rescue-hud[data-tone=heal] .rescue-box{border-color:#d8487a;background:#fff4f8}
.rescue-icon{flex:0 0 30px;height:30px;border-radius:50%;background:radial-gradient(circle,#fff 0 4px,#202020 4px 6px,transparent 6px),linear-gradient(#e8483c 0 46%,#202020 46% 54%,#f8f8f8 54%);
  border:2px solid #202020;box-sizing:border-box}
.rescue-hud[data-tone=heal] .rescue-icon,.rescue-hud[data-tone=carry] .rescue-icon{animation:rescue-bob .9s ease-in-out infinite}
@keyframes rescue-bob{50%{transform:translateY(-3px)}}
.rescue-text{display:grid;gap:2px;min-width:0;flex:1}
.rescue-text b{font-size:16px;line-height:1.1;color:#a8385a}
.rescue-hud[data-tone=mate] .rescue-text b,.rescue-hud[data-tone=carry] .rescue-text b{color:#2f5a98}
.rescue-text span{font-size:13px;line-height:1.2}
.rescue-text progress{width:100%;height:6px;appearance:none;-webkit-appearance:none;border:1px solid #6a4a58;border-radius:3px;background:#e8dde2;overflow:hidden}
.rescue-text progress::-webkit-progress-bar{background:#e8dde2}
.rescue-text progress::-webkit-progress-value{background:#ff7fa6}
.rescue-text progress::-moz-progress-bar{background:#ff7fa6}
.rescue-give{pointer-events:auto;flex:0 0 auto;min-height:40px;padding:6px 12px;border-radius:8px;border:2px solid #701810;background:#e85848;color:#fff;
  font:inherit;font-size:14px;text-shadow:1px 1px 0 #701810;box-shadow:inset 0 -3px 0 #c83020;cursor:pointer}
.rescue-give[hidden]{display:none}
@media (max-width:600px){.rescue-text b{font-size:14px}.rescue-text span{font-size:12px}.rescue-icon{flex-basis:24px;height:24px}}
@media (max-height:500px) and (orientation:landscape){.rescue-hud{bottom:auto;top:calc(env(safe-area-inset-top,0px) + 118px);width:min(420px,calc(100vw - 420px))}.rescue-text b{font-size:14px}.rescue-text span{font-size:12px}.rescue-box{padding:6px 8px}}
.duo-status:empty{display:none}
/* v0.19.8 · Móvil: el aviso de rescate es una ficha pequeña bajo la tarjeta del compañero (no tapa el centro).
 * Cuando es tu compañero quien cae o llevas su Poké Ball, la propia píldora .duo-teammate ya muestra el rescate sin duplicar cajas. */
body.touch .rescue-hud{left:8px;right:auto;transform:none;bottom:auto;top:calc(env(safe-area-inset-top,0px) + 96px);width:min(240px,calc(100vw - 16px))}
body.touch .rescue-hud[data-tone=mate],body.touch .rescue-hud[data-tone=carry],body.touch .rescue-hud[data-tone=heal]:not(:has(.rescue-give:not([hidden]))){display:none}
body.touch .rescue-box{gap:6px;padding:4px 7px;border-width:2px;border-radius:8px}
body.touch .rescue-icon{flex:0 0 18px;height:18px}
body.touch .rescue-text b{font-size:11px}body.touch .rescue-text span{font-size:10px;line-height:1.15}body.touch .rescue-text progress{height:4px}
body.touch .rescue-give{min-height:28px;padding:3px 8px;font-size:11px;border-radius:6px}
@media (orientation:portrait){body.touch .rescue-hud{width:min(260px,calc(100vw - 16px))}}
@media (orientation:landscape) and (max-height:500px){body.touch .rescue-hud{width:min(260px,calc(50vw - 40px))}}
/* Con una ventana abierta (botín, bolsa, mochila) la ficha espera: la tarjeta del compañero sigue mostrando el tiempo. */
body.touch:has(#search-panel:not([hidden])) .rescue-hud,body.touch:has(#bag-window:not([hidden])) .rescue-hud{visibility:hidden}
@media (orientation:landscape) and (max-height:400px){body.touch .rescue-box{padding:3px 6px}body.touch .rescue-text{gap:1px}body.touch .rescue-text progress{height:4px}}
