/* 11.0 · Lantern Rescue: one full screen for the camp, the worlds and the hollows. */
.rescue-dialog.is-playing{width:min(100vw,1280px);max-width:100vw;height:100dvh;max-height:100dvh;overflow:hidden;border-radius:0;padding:0;background:#141024}
@media(min-width:701px){.rescue-dialog.is-playing{height:min(100dvh,920px);border-radius:22px}}
@media(max-width:700px){.rescue-dialog.is-playing{inset:0;margin:0;border-radius:0}}
.rescue-dialog .world-shell{padding:0;height:100%;display:flex;flex-direction:column}
.rescue-play{flex:1;min-height:0;display:flex;flex-direction:column}
.quest-door-big{border-color:#ffe4c055!important;background:linear-gradient(135deg,#2c2838,#1c1723)!important}
.quest-door-big .quest-door-text b{color:#ffe4c0}

.rescue-stage{position:relative;flex:1;min-height:0;overflow:hidden;outline:none;touch-action:none;user-select:none;-webkit-user-select:none;background:#141024}
.rescue-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}

/* ---- glass panels over the map ---- */
.rescue-party,.rescue-stats,.rescue-bar,.rescue-battle,.rescue-banner{--glass:rgba(22,18,36,.78)}
.rescue-party{position:absolute;top:max(10px,env(safe-area-inset-top));left:10px;display:flex;flex-direction:column;gap:5px;z-index:3;max-width:44vw}
/* 12.0: the crew and, under it, who you're playing with */
.rescue-left{position:absolute;top:max(10px,env(safe-area-inset-top));left:10px;display:flex;flex-direction:column;gap:6px;z-index:3;max-width:44vw}
.rescue-left .rescue-party{position:static;max-width:none}
.rescue-mate{display:flex;align-items:center;gap:7px;padding:4px 9px 4px 4px;border-radius:14px;background:var(--glass);border:1px solid color-mix(in srgb,var(--cls,#dae7f1) 40%,transparent);color:#f4efe3;font:inherit;text-align:left;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.rescue-mate canvas{width:36px;height:36px;flex:none;image-rendering:pixelated}
.rescue-mate-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.rescue-mate-body b{font-weight:500;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
.rescue-mate-body em{font-style:normal;font-size:10px;color:#c7c8cc;white-space:nowrap}
.rescue-hp{display:block;width:92px;height:5px;border-radius:3px;background:#403d51;overflow:hidden}
.rescue-hp i{display:block;height:100%;background:#85cd74;border-radius:3px;transition:width .25s}
.rescue-mate.is-low .rescue-hp i{background:#e0675f}
.rescue-meter{display:flex;gap:3px;height:5px}
.rescue-meter i{width:9px;height:5px;border-radius:2px;background:#403d51}
.rescue-meter i.on{background:var(--cls,#ffe4c0)}
.rescue-mate.is-out{opacity:.45;filter:grayscale(.8)}
.rescue-mate.is-ready{box-shadow:0 0 0 2px var(--cls),0 0 16px var(--cls);animation:rescue-ready 1s ease-in-out infinite alternate}
@keyframes rescue-ready{to{box-shadow:0 0 0 2px var(--cls),0 0 4px var(--cls)}}
@media(max-width:520px){.rescue-mate-body b,.rescue-hpn{display:none}.rescue-hp{width:52px}.rescue-mate{padding:3px 7px 3px 3px;gap:5px}.rescue-mate canvas{width:32px;height:32px}
  .rescue-where{max-width:46vw;padding:5px 9px}.rescue-where b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;max-width:100%}.rescue-where span{font-size:9px;white-space:normal;text-align:right}.rescue-round{width:36px;height:36px}}

.rescue-stats{position:absolute;top:max(10px,env(safe-area-inset-top));right:10px;z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.rescue-stats-top{display:flex;gap:8px;align-items:center}
.rescue-where{display:flex;flex-direction:column;align-items:flex-end;padding:6px 11px;border-radius:14px;background:var(--glass);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.rescue-where b{font-weight:500;font-size:14px;color:#ffe4c0;letter-spacing:.02em;white-space:nowrap}
.rescue-where span{font-size:10px;color:#c7c8cc;white-space:nowrap}
.rescue-round{width:40px;height:40px;border-radius:50%;border:1px solid #ffe4c044;background:var(--glass,rgba(22,18,36,.78));color:#f4efe3;font:inherit;font-size:16px;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.rescue-loot{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:50vw}
.rescue-loot span{padding:3px 8px;border-radius:10px;background:var(--glass);font-size:11.5px;color:#ffe4c0;white-space:nowrap;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.rescue-loot .is-shard{color:#e2c8ff}
.rescue-loot .is-friend{color:#ff9fb2}
.rescue-mini{width:124px;height:96px;border-radius:12px;border:1px solid #ffe4c044;background:rgba(22,18,36,.7);cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.rescue-mini[hidden]{display:none}
@media(max-width:520px){.rescue-mini{width:96px;height:74px}}

.rescue-banner{position:absolute;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%,12px);max-width:min(88vw,520px);padding:9px 14px;border-radius:14px;background:var(--glass);color:#f4efe3;font-size:12.5px;line-height:1.45;text-align:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:4;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.rescue-banner.is-show{opacity:1;transform:translate(-50%,0)}
.rescue-callout{position:absolute;left:50%;top:22%;transform:translate(-50%,0) scale(.9);padding:8px 18px;border-radius:999px;background:rgba(22,18,36,.82);color:var(--cls,#ffe4c0);font-size:17px;letter-spacing:.06em;white-space:nowrap;opacity:0;pointer-events:none;z-index:4;border:1px solid color-mix(in srgb,var(--cls,#ffe4c0) 45%,transparent)}
.rescue-callout.is-show{animation:rescue-call 1.8s ease forwards}
@keyframes rescue-call{0%{opacity:0;transform:translate(-50%,6px) scale(.9)}12%{opacity:1;transform:translate(-50%,0) scale(1.04)}22%{transform:translate(-50%,0) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-6px) scale(1)}}

/* the floating stick you drag with */
.rescue-joy{position:absolute;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;border:2px solid rgba(255,228,192,.35);background:rgba(22,18,36,.25);pointer-events:none;opacity:0;transition:opacity .15s;z-index:2}
.rescue-joy.is-on{opacity:1}
.rescue-joy i{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:rgba(255,228,192,.55);box-shadow:0 0 14px rgba(255,228,192,.5)}

.rescue-actions{position:absolute;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));display:flex;gap:10px;align-items:flex-end;z-index:3}
.rescue-bag-btn{width:46px;height:46px;font-size:18px;color:#ff9fb2}
.rescue-bag-btn[hidden]{display:none}
.rescue-act{min-height:52px;padding:0 20px;border-radius:26px;border:1px solid #ffe4c0;background:linear-gradient(180deg,#ffe4c0,#f1c593);color:#2c1f18;font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35),0 0 0 4px rgba(255,228,192,.18);animation:rescue-pop .25s ease}
.rescue-act[hidden]{display:none}
@keyframes rescue-pop{from{transform:scale(.85);opacity:0}}
.rescue-bar{position:absolute;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:6px;padding:6px;border-radius:20px;background:var(--glass);z-index:3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 6px 18px rgba(0,0,0,.3)}
.rescue-bar[hidden]{display:none}
.rescue-bar button{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:62px;padding:7px 8px;border-radius:14px;border:0;background:transparent;color:#f4efe3;font:inherit;font-size:11px;cursor:pointer}
.rescue-bar button i{font-style:normal;font-size:17px;color:#ffe4c0;line-height:1}
.rescue-bar button:hover,.rescue-bar button:focus-visible{background:rgba(255,228,192,.12)}
@media(max-width:520px){.rescue-actions{bottom:calc(84px + env(safe-area-inset-bottom))}.rescue-bar button{min-width:54px}}
.rescue-dialog:not(.is-camp) .rescue-actions{bottom:calc(14px + env(safe-area-inset-bottom))}

/* ---- battles ---- */
.rescue-battle{position:absolute;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(94vw,460px);padding:10px;border-radius:20px;background:var(--glass);z-index:5;display:flex;flex-direction:column;gap:8px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.4);border:1px solid #ffe4c033}
.rescue-battle[hidden]{display:none}
.rescue-battle-line{margin:0;min-height:1.4em;font-size:12.5px;line-height:1.4;color:#f4efe3;text-align:center}
.rescue-battle-row{display:flex;gap:8px}
.rescue-fight,.rescue-trick{flex:1;min-height:50px;border-radius:16px;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.rescue-fight{border:1px solid #ffe4c0;background:linear-gradient(180deg,#ffe4c0,#f1c593);color:#2c1f18}
.rescue-trick{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid #c9a0dc;background:linear-gradient(180deg,#e2c8ff,#c9a0dc);color:#2a1d36;animation:rescue-ready2 .9s ease-in-out infinite alternate}
.rescue-trick[hidden]{display:none}
.rescue-trick small{font-size:9.5px;font-weight:400;opacity:.8;max-width:26ch;line-height:1.2}
@keyframes rescue-ready2{to{box-shadow:0 0 16px rgba(226,200,255,.8)}}
.rescue-battle-row.is-small .rescue-small{flex:1}
.rescue-small{min-height:36px;padding:0 12px;border-radius:12px;border:1px solid #dae7f133;background:rgba(255,255,255,.06);color:#f4efe3;font:inherit;font-size:12px;cursor:pointer}
.rescue-small[aria-pressed="true"]{border-color:#7aefec;color:#7aefec}
.rescue-battle button:disabled{opacity:.45;cursor:default}

.rescue-fade{position:absolute;inset:0;background:#141024;opacity:0;pointer-events:none;transition:opacity .26s;z-index:8}
.rescue-fade.is-on{opacity:1}

/* ---- cards ---- */
.rescue-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%);width:min(94vw,560px);max-height:min(86%,760px);overflow:auto;padding:18px 18px 16px;border-radius:22px;background:#1c1723;border:1px solid #ffe4c044;box-shadow:0 20px 50px rgba(0,0,0,.55);z-index:9;opacity:0;transition:opacity .2s,transform .2s;overscroll-behavior:contain}
.rescue-card.is-up{opacity:1;transform:translate(-50%,-50%)}
.rescue-card[hidden]{display:none}
.rescue-card h3{margin:2px 0 8px;font-weight:500;font-size:21px;color:#f4efe3;letter-spacing:.02em}
.rescue-card .micro{margin:0;font-size:9.5px;letter-spacing:.18em;color:#ffe4c0}
.rescue-card p{font-size:12.5px;line-height:1.55;color:#c7c8cc;margin:0 0 10px}
.rescue-card p b{color:#f4efe3;font-weight:500}
.rescue-card-x{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;border:1px solid #dae7f133;background:transparent;color:#c7c8cc;font:inherit;cursor:pointer}
.rescue-card-buttons{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:8px}
.rescue-card-buttons .primary-button{margin:0}
.rescue-note{font-size:11.5px!important;color:#a1a2a7!important}
.rescue-label{margin:10px 0 6px!important;font-size:9.5px!important;letter-spacing:.18em;color:#a1a2a7!important}

.rescue-worlds{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.rescue-world{display:flex;gap:12px;align-items:center;padding:8px;border-radius:16px;background:#141024;border:1px solid color-mix(in srgb,var(--w) 40%,transparent);color:#dae7f1;font:inherit;text-align:left;cursor:pointer}
.rescue-world:hover:not(:disabled){border-color:var(--w);box-shadow:0 0 0 3px color-mix(in srgb,var(--w) 20%,transparent)}
.rescue-world-map{width:104px;height:80px;border-radius:10px;flex:none;image-rendering:auto;background:#0d0b14;object-fit:cover}
.rescue-world-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.rescue-world-text b{font-weight:500;font-size:15px;color:var(--w)}
.rescue-world-text span{font-size:11.5px;line-height:1.4;color:#c7c8cc}
.rescue-world-text em{font-style:normal;font-size:10.5px;color:#a1a2a7}
.rescue-world-text em i{font-style:normal;color:#ff9d9d}
.rescue-world-text em i.is-mystery{color:#e2c8ff}
.rescue-world.is-locked{opacity:.5;cursor:default}
.rescue-world.is-locked .rescue-world-map{filter:grayscale(1) brightness(.4)}

.rescue-board{display:flex;flex-direction:column;gap:6px}
.rescue-job{display:flex;gap:10px;align-items:flex-start;padding:9px 11px;border-radius:14px;background:#141024;border:1px solid #fbaec53a}
.rescue-job.is-mystery{border-color:#e2c8ff55}
.rescue-job.is-done{opacity:.55;border-color:#85cd7455}
.rescue-job-art{width:40px;height:40px;flex:none;display:grid;place-items:center}
.rescue-letter{font-size:22px;color:#e2c8ff}
.rescue-job-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.rescue-job-text .micro{font-size:8.5px!important;color:#fbaec5!important}
.rescue-job-text b{font-weight:500;font-size:13px;color:#f4efe3}
.rescue-job-text span:not(.micro){font-size:11.5px;line-height:1.45;color:#a1a2a7}
.rescue-job-text em{font-style:normal;font-size:11px;color:#ffe4c0}
.rescue-job.is-done .rescue-job-text em{color:#85cd74}

.rescue-have{font-size:12px!important;color:#ffe4c0!important}
.rescue-build-go{flex:none;display:flex;flex-direction:column;align-items:center;min-width:86px;padding:7px 10px;border-radius:12px;border:1px solid #ffe4c0;background:linear-gradient(180deg,#ffe4c0,#f1c593);color:#2c1f18;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.rescue-build-go small{font-size:10px;font-weight:500;opacity:.8;white-space:nowrap}
.rescue-build-go.is-short{background:transparent;color:#a1a2a7;border-color:#dae7f133}

.rescue-bag{display:flex;flex-direction:column;gap:7px}
.rescue-item{display:flex;gap:10px;align-items:center;padding:9px 11px;border-radius:14px;background:#141024;border:1px solid #dae7f122}
.rescue-item-art{width:34px;height:34px;display:grid;place-items:center;flex:none}
.rescue-item-art canvas{image-rendering:pixelated}
.rescue-item-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.rescue-item-text b{font-weight:500;font-size:13px;color:#f4efe3}
.rescue-item-text span{font-size:11.5px;line-height:1.4;color:#a1a2a7}

.rescue-bigmap{display:block;margin:0 auto 10px;border-radius:14px;border:1px solid #ffe4c044;background:#0d0b14;max-width:100%}
.rescue-legend{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;justify-content:center;font-size:11px!important}
.rescue-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid #0d0b14;margin-right:-8px}

.rescue-ranks{display:flex;flex-direction:column;gap:5px}
.rescue-rank{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:baseline;padding:8px 11px;border-radius:12px;background:#141024;opacity:.55}
.rescue-rank.is-got{opacity:1;border:1px solid #ffe4c044}
.rescue-rank b{font-weight:500;font-size:13px;color:#ffe4c0}
.rescue-rank span{font-size:11.5px;color:#c7c8cc;line-height:1.4}
.rescue-rank em{font-style:normal;font-size:10.5px;color:#a1a2a7}

.rescue-grid{max-height:42vh;overflow:auto;padding:4px 2px;margin-bottom:6px}
.rescue-card-start{font-size:9.5px;color:#7aefec}
.rescue-classes{text-align:center;font-size:11.5px!important}

.rescue-pay{color:#ffe4c0!important}
.rescue-lost{color:#ff9d9d!important;font-size:11.5px!important}
.rescue-points{color:#7aefec!important}
.rescue-points b{color:#7aefec!important}
.rescue-unlock{color:#85cd74!important;font-size:13.5px!important}
.rescue-end-row{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.rescue-end-pal{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px;border-radius:12px;background:#141024}
.rescue-end-pal small{font-size:9.5px;color:#a1a2a7}
.rescue-end-pal.is-new small{color:#85cd74}
/* 11.1 · levels, the camp upgrade, star bits, the plum */
.rescue-canvas{image-rendering:pixelated}
.rescue-xp{display:block;width:92px;height:3px;border-radius:2px;background:#2c2838;overflow:hidden}
.rescue-xp i{display:block;height:100%;background:#7aefec;transition:width .35s}
.rescue-mate.is-levelup{animation:rescue-levelup 1.3s ease-out}
@keyframes rescue-levelup{0%{box-shadow:0 0 0 0 #7aefec}25%{box-shadow:0 0 0 3px #7aefec,0 0 22px #7aefec;transform:scale(1.06)}100%{box-shadow:0 0 0 0 #7aefec00;transform:scale(1)}}
@media(max-width:520px){.rescue-xp{width:52px}}
.rescue-loot .is-bits{color:#ffe08a}
.rescue-world-text .rescue-world-lv{color:#f4efe3;font-size:11px}
.rescue-world-lv b{font-weight:500;font-size:inherit!important;color:#f4efe3!important}
.rescue-world-lv i{font-style:normal}
.rescue-world-lv i.is-easy{color:#9fdc8a}.rescue-world-lv i.is-fair{color:#f4efe3}.rescue-world-lv i.is-tough{color:#f1c593}.rescue-world-lv i.is-hard{color:#ff8a80}
.rescue-levelhelp{margin:8px 0 10px;padding:10px 12px;border-radius:14px;background:#141024;border:1px solid #7aefec33}
.rescue-levelhelp p{margin:0 0 6px!important;font-size:11.5px!important;line-height:1.5;color:#c7c8cc!important}
.rescue-levelhelp p:last-child{margin-bottom:0!important}
.rescue-levelhelp b{font-weight:500;color:#f4efe3}
.rescue-xpbar{display:block;width:100%;max-width:72px;height:3px;margin:3px auto 0;border-radius:2px;background:#2c2838;overflow:hidden}
.rescue-xpbar i{display:block;height:100%;background:#7aefec}
.rescue-lvlist{display:flex;flex-direction:column;gap:7px;margin:6px 0}
.rescue-lvrow{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:#141024}
.rescue-lvrow canvas{width:40px;height:40px;image-rendering:pixelated;flex:none}
.rescue-lvrow>span{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.rescue-lvrow b{font-weight:500;font-size:13px;color:#f4efe3}
.rescue-lvrow small{font-size:10.5px;color:#a1a2a7}
.rescue-lvrow .rescue-xpbar{max-width:none;margin:0}
.rescue-next{margin:10px 0;padding:14px;border-radius:16px;background:#141024;border:1px solid #ffe4c055;display:flex;flex-direction:column;gap:6px}
.rescue-next>b{font-weight:500;font-size:17px;color:#ffe4c0}
.rescue-next>p{margin:0!important}
.rescue-next .primary-button{margin-top:4px}
.rescue-next .primary-button.is-short{background:#2c2838;color:#a1a2a7}
.rescue-cost{display:flex;gap:12px;font-size:12px!important}
.rescue-cost .is-ok{color:#85cd74}.rescue-cost .is-short{color:#ff9d9d}
.rescue-later{display:flex;flex-direction:column;gap:3px}
.rescue-later p{margin:0!important;font-size:11.5px!important;color:#a1a2a7!important}
.rescue-later b{font-weight:500;color:#c7c8cc;margin-right:6px}
.rescue-later.is-have p{color:#c7c8cc!important}
.rescue-later.is-have b{color:#85cd74}
.rescue-end-levels{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 8px}
.rescue-end-pal.is-up small{color:#7aefec}
@media(max-width:520px){.rescue-dialog.is-camp .rescue-banner{bottom:calc(158px + env(safe-area-inset-bottom))}}
.rescue-battle-row.is-small .rescue-small{padding-left:4px;padding-right:4px;white-space:nowrap;min-width:0}
@media(max-width:520px){.rescue-battle-row.is-small .rescue-small{font-size:12px}}
/* 11.5: the one thing to do next, and how it all works */
.rescue-where .rescue-goal{margin-top:2px;font-size:9.5px;color:#ffe4c0;white-space:normal;text-align:right;max-width:52vw;line-height:1.35}
.rescue-why{display:grid;gap:8px;margin:10px 0 8px}
.rescue-why-row{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start}
.rescue-why-row i{font-style:normal;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(255,228,192,.12);color:#ffe4c0;font-size:12px}
.rescue-why-row p{margin:0;font-size:12.5px;line-height:1.5}
.rescue-why-row b{color:#ffe4c0;font-weight:500}
.rescue-loot .is-join{color:#ffb3c7}
/* 11.5: small phones stack each crew card (pal on top, level and bars under it) so the place, the goal
   line and the crew never cover each other. */
@media(max-width:420px){
  .rescue-mate{flex-direction:column;align-items:center;gap:2px;padding:3px 4px 5px}
  .rescue-mate-body{align-items:center}
  .rescue-hp,.rescue-xp{width:38px}.rescue-meter{gap:2px}.rescue-meter i{width:8px}
  .rescue-where{max-width:calc(100vw - 166px)}.rescue-where .rescue-goal{max-width:100%}
}

/* 11.9.5: the Today card (dust, chests, saved, joined, star bits) and the world's status line. */
.rescue-loot{display:grid!important;grid-template-columns:repeat(2,auto);gap:3px 10px;justify-content:end;align-items:center;max-width:none;padding:6px 10px 7px;border-radius:12px;background:var(--glass);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.rescue-loot .rt-head{grid-column:1/-1;font-weight:500;font-size:8.5px;letter-spacing:.18em;color:#a1a2a7;text-align:right}
.rescue-loot span.rt-cell{padding:0;border-radius:0;background:none!important;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:11px;color:#ffe4c0;white-space:nowrap;text-align:right}
.rescue-loot span.rt-cell em{font-style:normal;font-size:9px;color:#a1a2a7;margin-left:4px}
.rescue-loot span.rt-cell.is-done{color:#9fdc8a}
.rescue-loot span.rt-cell.is-done::after{content:' ✓';color:#9fdc8a}
.rescue-loot .is-saved{color:#a9e4ff}
.rescue-where .rescue-status{margin-top:2px;font-size:9.5px;color:#c7c8cc;white-space:normal;text-align:right;max-width:52vw;line-height:1.35}
.rescue-where .rescue-status i{font-style:normal;color:#9fdc8a}
@media(max-width:420px){.rescue-where .rescue-status{max-width:100%}}
.rescue-world-text em i.ok{color:#9fdc8a;font-style:normal}

/* ---- 12.0: playing together ---------------------------------------------------------------------- */
.rescue-friend{display:flex;align-items:center;gap:6px;align-self:flex-start;padding:5px 10px 5px 8px;border-radius:14px;background:rgba(22,18,36,.78);border:1px solid #7aefec66;color:#f4efe3;font:inherit;font-size:11.5px;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.rescue-friend[hidden]{display:none}
.rescue-friend i{font-style:normal;color:#7aefec}
.rescue-friend b{font-weight:500;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rescue-friend em{font-style:normal;font-size:10px;color:#c7c8cc;white-space:nowrap}
.rescue-friend.is-quiet{border-color:#f1c59388}.rescue-friend.is-quiet i{color:#f1c593}
.rescue-friend.is-wait i{animation:rescue-blink 1.2s ease-in-out infinite}
.rescue-friend.is-off{opacity:.75}
@keyframes rescue-blink{50%{opacity:.25}}
.rescue-bar button.is-together i{color:#7aefec}
.rescue-turn{margin:-2px 0 8px;font-size:12px;color:#c7c8cc;text-align:center}
.rescue-turn b{color:#7aefec;font-weight:500}
.rescue-turn[hidden]{display:none}
.rescue-code-row{display:flex;gap:8px;align-items:stretch;margin:6px 0 10px}
.rescue-code-in,.rescue-name-in{flex:1;min-width:0;padding:10px 12px;border-radius:14px;border:1px solid #ffe4c055;background:#120f18;color:#f4efe3;font:inherit;font-size:18px;letter-spacing:.3em;text-transform:uppercase}
.rescue-name-in{letter-spacing:.02em;text-transform:none;font-size:16px}
.rescue-code-in:focus,.rescue-name-in:focus{outline:2px solid #7aefec;outline-offset:1px}
.rescue-code-row button{flex:none;width:auto!important;min-width:96px;margin:0!important;padding:0 18px}
.rescue-code-big{display:flex;justify-content:center;gap:8px;margin:12px 0 14px}
.rescue-code-big span{display:grid;place-items:center;width:52px;height:62px;border-radius:14px;background:#120f18;border:1px solid #7aefec77;color:#7aefec;font-size:30px;letter-spacing:0;box-shadow:inset 0 -3px 0 #7aefec22}
.rescue-wait{display:flex;align-items:center;justify-content:center;gap:4px;margin:12px 0 4px;font-size:13px;color:#c7c8cc}
.rescue-wait i{width:6px;height:6px;border-radius:50%;background:#7aefec;animation:rescue-blink 1.2s ease-in-out infinite}
.rescue-wait i:nth-child(2){animation-delay:.2s}.rescue-wait i:nth-child(3){animation-delay:.4s;margin-right:6px}
.rescue-friend-crew{display:flex;gap:6px;margin:2px 0 10px}
.rescue-friend-crew canvas{width:44px;height:44px;image-rendering:pixelated;border-radius:10px;background:#120f18}
.rescue-card.is-together .primary-button{width:100%;margin-top:4px}
.rescue-unlock .is-two{color:#7aefec}
.rescue-new{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:8px;background:#7aefec;color:#14202a;font-style:normal;font-size:9px;letter-spacing:.1em;vertical-align:2px}
.rescue-going{color:#7aefec}
.quest-door-new{display:inline-block;align-self:flex-start;margin-top:4px;padding:2px 8px;border-radius:9px;background:#7aefec;color:#14202a;font-style:normal;font-size:10.5px;letter-spacing:.06em}
