/* Mapa idle da Pokeroute: ocupa as colunas central e direita da antiga Torre */
#towerScreen .tower-hub-layout > .idle-panel { grid-column: 2 / -1; min-width: 0; min-height: 0; display: flex; flex-direction: column; gap: .6rem; padding: .8rem .9rem .8rem; position: relative; overflow: hidden; }
@media (max-width: 1080px) { #towerScreen .tower-hub-layout > .idle-panel { grid-column: 1 / -1; min-height: 34rem; } }

.idle-head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap; }
.idle-title { display: grid; gap: .1rem; min-width: 0; }
.idle-title h3 { margin: 0; color: #fff; font: 800 1rem var(--font-pixel-ui); letter-spacing: .06em; }
.idle-title span { color: #8fa6c4; font: 700 .62rem var(--font-pixel-ui); letter-spacing: .05em; }
.idle-maps { display: flex; gap: .3rem; flex-wrap: wrap; }
.idle-map-chip { display: inline-flex; align-items: center; gap: .3rem; padding: .28rem .5rem; border-radius: .5rem; border: 1px solid #2c3f60; background: linear-gradient(180deg, #14213a, #0e1829); color: #b6c6dc; font: 700 .6rem var(--font-pixel-ui); cursor: pointer; transition: transform .12s, border-color .12s, box-shadow .12s; }
.idle-map-chip b { display: grid; place-items: center; min-width: 1.15rem; height: 1.15rem; border-radius: .3rem; background: #1f3250; color: #fff; font-size: .62rem; }
.idle-map-chip span { max-width: 4.6rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.idle-map-chip svg { width: .8rem; height: .8rem; }
.idle-map-chip:hover { transform: translateY(-1px); border-color: #38bdf8; }
.idle-map-chip.is-on { border-color: #fbbf24; color: #fff; background: linear-gradient(180deg, #3a2a08, #1a1708); box-shadow: 0 0 .8rem #fbbf2433; }
.idle-map-chip.is-on b { background: #fbbf24; color: #1b1300; }
.idle-map-chip.is-locked { opacity: .55; }

.idle-scene { position: relative; flex: 1 1 0; min-height: 0; aspect-ratio: 960 / 544; align-self: center; width: auto; max-width: 100%; border: 3px solid #0b1426; border-radius: .7rem; overflow: hidden; background: #000; box-shadow: 0 0 0 1px #2c3f60, inset 0 0 2rem #0006; }
.idle-status { position: absolute; left: .6rem; top: .6rem; padding: .25rem .6rem; border-radius: 1rem; background: #0b1426d9; border: 1px solid #2c3f60; color: #e8f5ff; font: 800 .58rem var(--font-pixel-ui); letter-spacing: .06em; }
.idle-scene[data-phase="fight"] .idle-status { border-color: #f87171; color: #fecaca; }
.idle-scene[data-phase="camp"] .idle-status, .idle-scene[data-phase="paused"] .idle-status, .idle-scene[data-phase="noteam"] .idle-status { border-color: #fbbf24; color: #fde68a; }
.idle-camp { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: .4rem; text-align: center; padding: 1rem; background: #050a14d9; color: #fff; }
.idle-camp[hidden] { display: none; }
.idle-camp strong { font: 800 1.1rem var(--font-pixel-ui); color: #fca5a5; letter-spacing: .06em; }
.idle-camp span { font: 800 2rem var(--font-pixel-ui); color: #fbbf24; }
.idle-camp small { max-width: 28rem; color: #b6c6dc; font: 600 .75rem/1.4 var(--font-clean, inherit); }

.idle-foot { display: grid; gap: .5rem; }
.idle-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: .4rem; }
.idle-stat { padding: .35rem .5rem; border-radius: .55rem; border: 1px solid #2c3f60; background: linear-gradient(180deg, #14213a, #0e1829); display: grid; gap: .05rem; }
.idle-stat small { color: #7f93b0; font: 800 .5rem var(--font-pixel-ui); letter-spacing: .08em; }
.idle-stat b { color: #fff; font: 800 .95rem var(--font-pixel-ui); }
.idle-stat:nth-child(1) b { color: #f87171; } .idle-stat:nth-child(2) b { color: #38bdf8; } .idle-stat:nth-child(3) b { color: #fbbf24; }
.idle-unlock { display: flex; align-items: center; gap: .6rem; color: #b6c6dc; font: 700 .68rem var(--font-clean, inherit); }
.idle-unlock b { color: #fff; }
.idle-unlock-bar { flex: 1; height: .5rem; border-radius: 1rem; background: #0b1426; border: 1px solid #2c3f60; overflow: hidden; }
.idle-unlock-bar i { display: block; height: 100%; transform-origin: left; background: linear-gradient(90deg, #2f7cf6, #fbbf24); transition: transform .3s; }
.idle-unlock em { font: 800 .62rem var(--font-pixel-ui); font-style: normal; color: #fbbf24; }
.idle-actions { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.idle-btn { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .9rem; border-radius: .6rem; border: 1px solid #38bdf877; background: linear-gradient(135deg, #1b2b43, #0b1426); color: #dff5ff; font: 800 .65rem var(--font-pixel-ui); letter-spacing: .05em; cursor: pointer; }
.idle-btn svg { width: 1rem; height: 1rem; }
.idle-btn:hover { border-color: #7dd3fc; }
.idle-btn.is-paused { border-color: #4ade80aa; color: #bbf7d0; }
.idle-hint { color: #7f93b0; font: 600 .66rem var(--font-clean, inherit); }

.lobby-squad-card:not(.lobby-empty-slot) { cursor: pointer; }
.lobby-squad-card:not(.lobby-empty-slot):hover { border-color: #38bdf8; }

.idle-canvas { position: absolute; inset: 0; width: 100%; height: 100%; image-rendering: pixelated; display: block; }
@media (max-width: 700px) { .idle-stats { grid-template-columns: repeat(3, 1fr); } .idle-map-chip span { display: none; } }

/* mapas em construção */
.idle-map-chip.is-building { opacity: .6; border-style: dashed; }
.idle-map-chip.is-building span { font-size: .5rem; color: #fbbf24; }
.idle-build { position: absolute; inset: 0; z-index: 3; display: grid; place-content: center; justify-items: center; gap: .5rem; padding: 1rem; text-align: center; color: #fff;
  background: repeating-linear-gradient(135deg, #1a1408 0 22px, #241b0a 22px 44px); }
.idle-build[hidden] { display: none; }
.idle-build::before, .idle-build::after { content: ''; position: absolute; left: 0; right: 0; height: 18px; background: repeating-linear-gradient(135deg, #fbbf24 0 18px, #111 18px 36px); }
.idle-build::before { top: 0; } .idle-build::after { bottom: 0; }
.idle-build-sign { font-size: 2.6rem; line-height: 1; }
.idle-build strong { font: 800 1.4rem var(--font-pixel-ui); color: #fbbf24; letter-spacing: .08em; }
.idle-build b { font: 800 .8rem var(--font-pixel-ui); color: #e8f5ff; }
.idle-build small { max-width: 26rem; color: #cbb98a; font: 600 .78rem/1.45 var(--font-clean, inherit); }
.idle-scene .idle-status { display: none; }
/* botões extras do rodapé */
.idle-btn small { color: #fbbf24; font: 800 .5rem var(--font-pixel-ui); margin-left: .25rem; }
.idle-actions { row-gap: .4rem; }

/* Map zoom is shared; desktop actions sit beside the scene. */
.idle-zoom-controls { position:absolute; top:.65rem; right:.65rem; z-index:3; display:flex; flex-direction:column; align-items:center; width:2rem; gap:.12rem; padding:.2rem; border:1px solid #38bdf855; border-radius:.65rem; background:#0b1426ed; box-shadow:0 .2rem .6rem #0006; }
.idle-zoom-controls .idle-zoom-btn { flex:0 0 1.45rem; width:1.45rem; min-width:1.45rem; max-width:1.45rem; height:1.45rem; min-height:1.45rem; max-height:1.45rem; justify-content:center; padding:.18rem; transform:none; color:#7dd3fc; transition:transform .15s,box-shadow .15s,border-color .15s; }
.idle-zoom-controls .idle-zoom-btn svg { width:.88rem; height:.88rem; }
.idle-zoom-controls .idle-zoom-btn:hover:not(:disabled) { transform:none; border-color:#38bdf8; box-shadow:0 0 .65rem #38bdf850; }
.idle-zoom-controls .idle-zoom-btn:disabled { opacity:.3; cursor:default; }
.idle-zoom-controls output { display:block; width:100%; height:.75rem; flex:0 0 .75rem; color:#c4e9ff; text-align:center; font:800 .55rem/.75rem var(--font-clean,inherit); font-variant-numeric:tabular-nums; }
.idle-zoom-btn:focus-visible { outline:2px solid #7dd3fc; outline-offset:2px; }
.idle-head > .idle-maps { display:none; }
.idle-stage { display:grid; grid-template-columns:7.4rem minmax(0,1fr) 7.4rem; grid-template-rows:auto minmax(9.6rem,1fr); align-items:start; align-content:stretch; gap:.55rem .5rem; flex:1 1 0; min-height:0; min-width:0; container-type:size; }
.idle-stage > .idle-actions { flex:0 0 8.75rem; align-self:flex-start; display:flex; flex-direction:column; align-items:stretch; gap:.38rem; padding:0; }
.idle-stage > .idle-foot { grid-column:1 / -1; }
.idle-stage > .idle-stats { flex:0 0 5.75rem; display:grid; grid-template-columns:minmax(0,1fr); gap:.4rem; align-content:start; }
.idle-stage .idle-stat { min-height:3rem; padding:.5rem .55rem; gap:.2rem; border-radius:.4rem; }
.idle-stage .idle-stat small { font-size:.48rem; white-space:nowrap; }
.idle-stage .idle-stat b { font-size:.9rem; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.idle-actions .idle-action-btn { --action-color:#fb923c; position:relative; width:100%; height:2.35rem; min-height:2.35rem; padding:.3rem .5rem; border-radius:.35rem; overflow:hidden; gap:.55rem; text-align:left; border-color:color-mix(in srgb,var(--action-color) 65%,#1c2b43); color:#eef7ff; background:linear-gradient(145deg,color-mix(in srgb,var(--action-color) 10%,#142138),#0b1426); box-shadow:inset 0 1px #ffffff0d,0 .12rem .4rem #0003; transition:transform .15s,box-shadow .15s,border-color .15s; }
.idle-actions #btnIdleToggle.is-paused { --action-color:#34d399; }
.idle-actions #btnIdleTeam { --action-color:#38bdf8; }
.idle-actions #btnIdleAuto { --action-color:#c084fc; }
.idle-actions #btnIdleBank { --action-color:#facc15; }
.idle-action-btn > svg, .idle-action-icon { width:1rem; height:1rem; flex:0 0 1rem; color:var(--action-color); }
.idle-action-icon svg { width:100%; height:100%; }
.idle-action-copy { display:grid; min-width:0; gap:.12rem; font-size:.56rem; line-height:1.45; }
.idle-action-copy small { margin:0; color:var(--action-color); font-size:.43rem; line-height:1.6; }
.idle-actions .idle-action-btn:hover { transform:translateY(-1px); border-color:var(--action-color); box-shadow:0 0 .8rem color-mix(in srgb,var(--action-color) 32%,transparent),inset 0 0 .5rem color-mix(in srgb,var(--action-color) 10%,transparent),0 .16rem 0 #050914; }
.idle-actions .idle-action-btn:focus-visible { outline:2px solid var(--action-color); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .idle-zoom-controls .idle-zoom-btn,.idle-actions .idle-action-btn { transition:none; } }

/* janelas: automação, banco e uso de itens */
.auto-card, .bank-card, .use-card { width: min(46rem, 94vw); max-height: 90vh; display: flex; flex-direction: column; }
.bank-card { width: min(60rem, 95vw); height: min(40rem, 90vh); }
.use-card { width: min(28rem, 92vw); }
.utility-card { width:min(42rem,94vw); max-height:88vh; display:flex; flex-direction:column; padding:0; }
.utility-body { display:flex; flex-direction:column; flex:1; min-height:0; padding:.8rem 1rem; overflow:visible; }
.utility-filter-bar { position:relative; z-index:20; flex:none; margin:0 0 .5rem; padding:.15rem 0; }
.utility-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:.45rem; flex:1; min-height:6rem; max-height:min(24rem,52vh); overflow-y:auto; padding:.1rem .15rem .1rem 0; }
.utility-row { --accent:#38bdf8; --glow:#38bdf8; display:grid; grid-template-columns:2.4rem minmax(0,1fr) auto; align-items:center; gap:.55rem; padding:.55rem .65rem; border:1px solid color-mix(in srgb,var(--accent) 32%,#2c4664); border-left:3px solid var(--accent); border-radius:.6rem; background:radial-gradient(90% 120% at 0% 50%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),linear-gradient(130deg,#192841,#0f1a2d); color:#edf5ff; text-align:left; cursor:pointer; transition:border-color .15s,box-shadow .15s,transform .15s; }
.utility-row:hover { transform:translateX(2px); border-color:color-mix(in srgb,var(--accent) 70%,#38bdf8); box-shadow:0 0 .75rem color-mix(in srgb,var(--accent) 28%,transparent); }
.utility-row:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.utility-icon { display:grid; place-items:center; width:2.4rem; height:2.4rem; border-radius:50%; background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--glow) 30%,#1b2a44),#0d172a 72%); border:1.5px solid color-mix(in srgb,var(--glow) 48%,#24344f); font-size:1.25rem; }
.utility-icon svg { width:1.5rem; height:1.5rem; }
.utility-row .tower-bag-type { margin-bottom:.15rem; }
.utility-row strong { display:block; font:800 .75rem var(--font-clean); }
.utility-row small { display:block; margin-top:.12rem; color:#9ab0cf; font:600 .6rem/1.3 var(--font-clean); }
.utility-action { display:grid; justify-items:end; gap:.25rem; }
.utility-action b { padding:.08rem .45rem; border-radius:.4rem; background:#0a1222; border:1px solid #ffffff1c; color:#ffd84d; font:800 .65rem var(--font-pixel-ui); }
.utility-action em { padding:.12rem .45rem; border-radius:.35rem; background:var(--accent); color:#0a1222; font:800 .5rem var(--font-pixel-ui); font-style:normal; }
.utility-active-list { display:flex; flex-wrap:wrap; gap:.35rem; margin-bottom:.5rem; }
.utility-active-list p,.utility-empty { color:#8299b8; font:600 .72rem var(--font-clean); margin:.25rem 0; }
.utility-active { display:flex; align-items:center; gap:.45rem; padding:.3rem .45rem; border:1px solid color-mix(in srgb,var(--c) 50%,transparent); border-radius:.35rem; background:#0b1527; color:var(--c); font:700 .58rem var(--font-clean); }
.utility-active time { font-variant-numeric:tabular-nums; color:#edf5ff; }
.utility-card footer { display:flex; justify-content:center; padding:.7rem 1rem; border-top:1px solid #293d5b; }
.utility-empty { grid-column:1/-1; padding:.5rem; }
.auto-card .modal-header small, .bank-card .modal-header small, .use-card .modal-header small { display: block; margin-top: .25rem; color: #94a3b8; font: 700 .58rem var(--font-pixel-ui); }
.auto-body { display: grid; gap: .8rem; padding: .8rem 1rem 1rem; overflow-y: auto; }
.auto-sec { display: grid; gap: .55rem; padding: .8rem; border-radius: .8rem; border: 1px solid #2c3f60; background: linear-gradient(180deg, #14213a, #0e1829); }
.auto-sec > header { display: flex; align-items: center; justify-content: space-between; }
.auto-sec h3 { margin: 0; color: #fff; font: 800 .8rem var(--font-pixel-ui); letter-spacing: .06em; }
.auto-sec p { margin: 0; color: #9db0c8; font: 600 .72rem/1.45 var(--font-clean, inherit); }
.auto-switch { padding: .35rem .8rem; border-radius: 1rem; border: 1px solid #475569; background: #1e293b; color: #94a3b8; font: 800 .6rem var(--font-pixel-ui); cursor: pointer; }
.auto-switch.is-on { border-color: #4ade80; background: #064e2b; color: #bbf7d0; box-shadow: 0 0 .8rem #4ade8040; }
.auto-opts { display: grid; grid-template-columns: repeat(4, 1fr); gap: .45rem; }
.auto-opt { position: relative; display: grid; justify-items: center; gap: .15rem; padding: .5rem .3rem; border-radius: .6rem; border: 1px solid #2c3f60; background: #0e1829; color: #cbd5e1; cursor: pointer; text-align: center; }
.auto-opt .auto-ico { width: 1.8rem; height: 1.8rem; display: grid; place-items: center; } .auto-opt .auto-ico svg { width: 100%; height: 100%; }
.auto-opt b { font: 800 .62rem var(--font-pixel-ui); color: #fff; } .auto-opt small { font: 700 .6rem var(--font-clean, inherit); color: #8fa6c4; }
.auto-opt em { position: absolute; top: .2rem; right: .35rem; font: 800 .55rem var(--font-pixel-ui); font-style: normal; color: #fbbf24; }
.auto-opt.is-on { border-color: var(--c, #fbbf24); box-shadow: 0 0 1rem color-mix(in srgb, var(--c, #fbbf24) 35%, transparent), inset 0 0 0 1px var(--c, #fbbf24); background: color-mix(in srgb, var(--c, #fbbf24) 12%, #0e1829); }
.auto-th, .auto-head { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; color: #9db0c8; font: 700 .68rem var(--font-clean, inherit); }
.auto-head { justify-content: space-between; }
.auto-chip { padding: .3rem .6rem; border-radius: .5rem; border: 1px solid #2c3f60; background: #0e1829; color: #cbd5e1; font: 800 .55rem var(--font-pixel-ui); cursor: pointer; }
.auto-chip.is-on { border-color: #fbbf24; color: #fde68a; background: #2a2008; }
.auto-cost { color: #fde68a !important; }
.auto-targets { display: grid; grid-template-columns: repeat(5, 1fr); gap: .4rem; }
.auto-target { display: grid; justify-items: center; gap: .1rem; padding: .35rem .2rem; border-radius: .6rem; border: 1px solid #2c3f60; background: #0e1829; color: #cbd5e1; cursor: pointer; }
.auto-target img { width: 3rem; height: 3rem; image-rendering: pixelated; object-fit: contain; opacity: .6; }
.auto-target span { font: 700 .58rem var(--font-clean, inherit); text-transform: capitalize; }
.auto-target.is-on { border-color: #ef4444; background: #2a0f12; } .auto-target.is-on img { opacity: 1; }
.auto-quality { display: flex; flex-wrap: wrap; gap: .3rem .8rem; color: #9db0c8; font: 700 .64rem var(--font-clean, inherit); }
.auto-quality span { color: var(--c); }

.bank-filters { display: flex; flex-wrap: wrap; gap: .4rem; padding: .6rem 1rem 0; }
.bank-filters input[type="search"], .bank-filters select, .bank-min input { background: #0e1829; border: 1px solid #2c3f60; border-radius: .5rem; color: #e2e8f0; padding: .4rem .5rem; font: 700 .68rem var(--font-clean, inherit); }
.bank-filters input[type="search"] { flex: 1 1 10rem; }
.bank-min { display: flex; align-items: center; gap: .3rem; color: #9db0c8; font: 700 .64rem var(--font-clean, inherit); } .bank-min input { width: 3.4rem; }
.bank-check { display: flex; align-items: center; gap: .3rem; color: #cbd5e1; font: 700 .66rem var(--font-clean, inherit); }
.bank-grid { flex: 1; min-height: 0; overflow-y: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(8.2rem, 1fr)); gap: .5rem; padding: .7rem 1rem; align-content: start; }
.bank-unit { position: relative; display: grid; justify-items: center; gap: .1rem; padding: .5rem .3rem .4rem; border-radius: .7rem; border: 1px solid color-mix(in srgb, var(--r) 55%, #0b1424); background: linear-gradient(180deg, color-mix(in srgb, var(--r) 12%, #101b2e), #0e1829); text-align: center; }
.bank-unit img { width: 4.4rem; height: 4.4rem; image-rendering: pixelated; object-fit: contain; }
.bank-unit strong { color: #fff; font: 800 .7rem var(--font-clean, inherit); } .bank-unit small { color: #8fa6c4; font: 700 .6rem var(--font-clean, inherit); }
.bank-unit em { color: var(--r); font: 800 .58rem var(--font-pixel-ui); font-style: normal; }
.bank-dup { margin-top: .15rem; padding: .1rem .4rem; border-radius: .4rem; background: #3b0f12; color: #fecaca; font: 800 .5rem var(--font-pixel-ui); }
.bank-dup.is-keep { background: #0f2a1a; color: #bbf7d0; }
.bank-star { position: absolute; top: .2rem; right: .3rem; border: 0; background: none; color: #475569; font-size: 1rem; cursor: pointer; } .bank-star.is-on { color: #fbbf24; }
.bank-empty { grid-column: 1 / -1; padding: 2rem 1rem; text-align: center; color: #8fa6c4; font: 700 .8rem var(--font-clean, inherit); }
.bank-foot { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .6rem 1rem .9rem; border-top: 1px solid #1d2b45; color: #8fa6c4; font: 700 .64rem var(--font-clean, inherit); }
.bank-foot .idle-btn:disabled { opacity: .45; cursor: default; }

.use-list { display: grid; gap: .45rem; padding: .8rem 1rem 1rem; }
.use-row { display: grid; grid-template-columns: 3rem 1fr auto; align-items: center; gap: .6rem; padding: .45rem .6rem; border-radius: .7rem; border: 1px solid #2c3f60; background: #0e1829; color: #e2e8f0; text-align: left; cursor: pointer; }
.use-row:disabled { opacity: .4; cursor: default; }
.use-row img { width: 3rem; height: 3rem; image-rendering: pixelated; object-fit: contain; }
.use-row strong { display: block; font: 800 .75rem var(--font-clean, inherit); text-transform: capitalize; } .use-row small { color: #8fa6c4; font: 700 .62rem var(--font-clean, inherit); }
.use-row i { display: block; height: .32rem; margin-top: .2rem; border-radius: 1rem; background: #05080f; overflow: hidden; } .use-row i b { display: block; height: 100%; background: #10b981; }
.use-row em { font: 800 .6rem var(--font-pixel-ui); font-style: normal; color: #fbbf24; }
@media (max-width: 700px) { .auto-opts { grid-template-columns: repeat(2, 1fr); } .auto-targets { grid-template-columns: repeat(3, 1fr); } }

#idleAutoState { display:flex; gap:.35rem; color:#91a0b8; white-space:nowrap; font-size:.38rem; }
#btnIdleBank .idle-action-copy { display:flex; align-items:center; gap:.4rem; }
#idleAutoState .is-on { color:#6ee7b7; }

/* Occasional light sweep across the slim desktop action buttons. */
.idle-action-btn::after { content:''; position:absolute; top:-40%; left:-35%; width:2px; height:180%; transform:rotate(20deg); background:linear-gradient(transparent,#ffffffd9,transparent); box-shadow:0 0 .5rem var(--action-color); opacity:0; pointer-events:none; animation:idleControlLine 8s ease-in-out infinite; }
.idle-action-btn:nth-child(2)::after { animation-delay:1s; }
.idle-action-btn:nth-child(3)::after { animation-delay:2s; }
.idle-action-btn:nth-child(4)::after { animation-delay:3s; }
@keyframes idleControlLine { 0%,70% { left:-35%; opacity:0; } 74% { opacity:.85; } 88% { left:135%; opacity:.85; } 92%,100% { left:135%; opacity:0; } }

.bank-filter { position:relative; }
.bank-filter-btn,.bank-filter-menu { display:none; }
.bank-filters { position:relative; z-index:5; gap:.55rem; align-items:center; padding:.75rem 1rem .15rem; }
.bank-filters > input[type="search"] { height:2.4rem; flex:1 1 13rem; min-width:11rem; border-color:#314967; border-radius:.6rem; padding:.5rem .7rem; }
.bank-filter { --filter-color:#38bdf8; flex:0 1 11.35rem; min-width:10rem; }
.bank-filter > select { display:none; }
.bank-filter-btn { width:100%; height:2.4rem; display:flex; align-items:center; gap:.38rem; padding:.4rem .55rem; border:1px solid color-mix(in srgb,var(--filter-color) 55%,#2b4266); border-radius:.6rem; background:linear-gradient(160deg,color-mix(in srgb,var(--filter-color) 12%,#172a46),#0e1a2e); color:#c7d7ef; box-shadow:inset 0 1px #ffffff12,0 0 .7rem color-mix(in srgb,var(--filter-color) 14%,transparent); font:800 .65rem var(--font-clean,inherit); text-transform:uppercase; cursor:pointer; transition:border-color .15s,box-shadow .15s; }
.bank-filter-btn > svg { width:.9rem; height:.9rem; flex:0 0 .9rem; }
.bank-filter-caption { font-size:.58rem; }
.bank-filter-choice { display:flex; align-items:center; gap:.3rem; min-width:0; color:var(--filter-color); }
.bank-filter-choice b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bank-filter-btn .bank-filter-caret { margin-left:auto; width:.75rem; flex-basis:.75rem; transition:transform .18s; }
.bank-filter-btn[aria-expanded="true"] .bank-filter-caret { transform:rotate(180deg); }
.bank-filter-btn:hover,.bank-filter-btn[aria-expanded="true"] { border-color:var(--filter-color); box-shadow:0 0 1rem color-mix(in srgb,var(--filter-color) 24%,transparent); }
.bank-filter-btn:focus-visible { outline:2px solid var(--filter-color); outline-offset:2px; }
.bank-filter-menu { position:absolute; left:0; top:calc(100% + .45rem); z-index:40; min-width:12.5rem; display:grid; gap:.2rem; padding:.4rem; border:1px solid #2f4a74; border-radius:.8rem; background:#0d1729f5; backdrop-filter:blur(10px); box-shadow:0 .6rem 1.5rem #0009,0 0 .6rem #38bdf81c; animation:bankFilterIn .16s ease-out; }
.bank-filter-menu[hidden] { display:none; }
.bank-filter-menu.is-types { width:22rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.bank-filter-menu.is-types > button:first-child { grid-column:1/-1; }
.bank-filter-menu button { display:flex; align-items:center; gap:.55rem; min-height:2rem; min-width:0; padding:.4rem .55rem; border:0; border-radius:.5rem; background:transparent; color:#dce9ff; text-align:left; text-transform:uppercase; font:700 .62rem var(--font-pixel-ui); cursor:pointer; }
.bank-filter-menu button:hover,.bank-filter-menu button:focus-visible { background:color-mix(in srgb,var(--f) 14%,transparent); outline:1px solid color-mix(in srgb,var(--f) 40%,transparent); }
.bank-filter-menu button[aria-checked="true"] { background:color-mix(in srgb,var(--f) 22%,transparent); color:#fff; box-shadow:inset 2px 0 var(--f); }
.bank-filter-mark { width:1.15rem; height:1.15rem; flex:0 0 1.15rem; display:grid; place-items:center; }
.bank-filter-dot { display:block; width:.6rem; height:.6rem; border-radius:50%; background:var(--f); box-shadow:0 0 .35rem var(--f),0 0 .65rem color-mix(in srgb,var(--f) 55%,transparent); }
.bank-filter-mark .game-type-symbol { width:1.15rem; height:1.15rem; object-fit:contain; filter:drop-shadow(0 0 .28rem var(--f)); }
.bank-filter-selected-type { display:grid; place-items:center; flex:0 0 1rem; }
.bank-filter-selected-type .game-type-symbol { width:1rem; height:1rem; object-fit:contain; filter:drop-shadow(0 0 .25rem var(--filter-color)); }
.bank-filter-count { margin-left:auto; min-width:1.55rem; padding:.12rem .3rem; border-radius:1rem; color:#9fb4d3; background:#ffffff10; font:800 .65rem var(--font-clean,inherit); text-align:center; }
.bank-min,.bank-check { min-height:2rem; padding:.2rem .5rem; border:1px solid #2c3f60; border-radius:.5rem; background:#0e1829; }
.bank-min input { width:3rem; padding:.25rem; border:0; }
.bank-check input { accent-color:#38bdf8; }
@keyframes bankFilterIn { from { opacity:0; transform:translateY(-3px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .idle-action-btn::after,.bank-filter-menu { animation:none; } }

/* Desktop map travel, encounter card and bottom split dock (Log + Global Chat). Gameplay stays in the shared idle modules. */
#btnIdleMaps { --action-color:#34d399; }
.idle-rail { align-self:stretch; min-height:0; display:flex; flex-direction:column; justify-content: flex-start; gap:.4rem; }
.idle-rail > .idle-stats { grid-template-columns:minmax(0,1fr); gap:.36rem; flex:1; align-content:start; }
.idle-rail .idle-stat { min-height:2.55rem; padding:.36rem .55rem; gap:.12rem; border-radius:.45rem; }

/* Bottom Split Dock: Left = Stylized Activity/Drop Log, Right = Global Chat */
.idle-bottom-dock {
  grid-column: 1 / 3; /* o chat termina junto com o mapa */
  align-self: stretch;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  gap: .6rem;
}
.idle-reward-log,
.idle-chat-panel {
  min-height: 0;
  height: 100%;
  border: 1px solid #2b4266;
  border-radius: .65rem;
  background: linear-gradient(180deg, #101b2f 0%, #0a1222 100%);
  box-shadow: inset 0 1px 0 #ffffff12, 0 .25rem .7rem #0006;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.idle-dock-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .38rem .65rem;
  border-bottom: 1px solid #223554;
  background: linear-gradient(90deg, #162642, #0e192d);
  flex: none;
}
.idle-dock-title {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  min-width: 0;
  color: #e8f2ff;
  font: 800 .56rem var(--font-pixel-ui);
  letter-spacing: .06em;
}
.idle-dock-icon {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 1.25rem;
  display: grid;
  place-items: center;
  border-radius: .35rem;
  color: #fbbf24;
  background: #fbbf241c;
  border: 1px solid #fbbf2466;
  box-shadow: 0 0 .45rem #fbbf2433;
}
.idle-dock-icon.is-chat {
  color: #38bdf8;
  background: #38bdf81c;
  border-color: #38bdf866;
  box-shadow: 0 0 .45rem #38bdf833;
}
.idle-dock-icon svg { width: .78rem; height: .78rem; }
.idle-dock-badge {
  padding: .1rem .42rem;
  border-radius: 1rem;
  border: 1px solid #fbbf2455;
  background: #fbbf2417;
  color: #fde047;
  font: 800 .5rem var(--font-pixel-ui);
}

/* Stylized thin Log rows with icons, Pokémon sprites, glow & sparks on special items */
#idleRewardList {
  list-style: none;
  margin: 0;
  overflow-y: auto;
  min-height: 0;
  flex: 1;
  padding: .38rem .48rem;
  display: flex;
  flex-direction: column;
  gap: .28rem;
  scrollbar-width: thin;
  scrollbar-color: #2e4468 transparent;
}
#idleRewardList li.idle-log-item {
  --reward-color: #fbbf24;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex: none;
  display: flex;
  align-items: center;
  gap: .45rem;
  min-width: 0;
  min-height: 1.9rem;
  padding: .2rem .48rem .2rem .28rem;
  border: 1px solid color-mix(in srgb, var(--reward-color) 32%, #1f3250);
  border-left: 3px solid var(--reward-color);
  border-radius: .45rem;
  background: linear-gradient(95deg, color-mix(in srgb, var(--reward-color) 13%, #13213a), #0c1526 74%);
  box-shadow: inset 0 1px 0 #ffffff0c, 0 .12rem .3rem #0004;
  transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease;
}
#idleRewardList li.idle-log-item:hover {
  transform: translateX(2px);
  border-color: color-mix(in srgb, var(--reward-color) 65%, #fff);
}
.idle-log-visual {
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 1.5rem;
  display: grid;
  place-items: center;
  border-radius: .36rem;
  background: radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--reward-color) 26%, #182946), #0b1324);
  border: 1px solid color-mix(in srgb, var(--reward-color) 42%, #233656);
  position: relative;
  z-index: 2;
}
.idle-log-visual.is-sprite img {
  width: 1.42rem;
  height: 1.42rem;
  object-fit: contain;
  image-rendering: pixelated;
  filter: drop-shadow(0 1px 2px #000a);
}
.idle-log-visual.is-icon svg {
  width: .92rem;
  height: .92rem;
  color: var(--reward-color);
  filter: drop-shadow(0 0 .25rem color-mix(in srgb, var(--reward-color) 55%, transparent));
}
.idle-log-copy {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: .36rem;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.idle-log-copy strong {
  font: 800 .62rem var(--font-clean, inherit);
  color: #eef5ff;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-shrink: 0;
  max-width: 48%;
}
.idle-log-copy small {
  font: 600 .55rem var(--font-clean, inherit);
  color: #93aac8;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.3;
}
.idle-log-tag {
  position: relative;
  z-index: 2;
  flex: none;
  padding: .11rem .4rem;
  border-radius: .32rem;
  border: 1px solid color-mix(in srgb, var(--reward-color) 52%, transparent);
  background: color-mix(in srgb, var(--reward-color) 16%, #091120);
  color: color-mix(in srgb, var(--reward-color) 85%, #fff);
  font: 800 .45rem/1.2 var(--font-pixel-ui);
  font-style: normal;
  letter-spacing: .04em;
  white-space: nowrap;
}

/* Special Log Items: Glowing border, ambient sheen, golden/colored title glow, and floating sparks */
#idleRewardList li.idle-log-item.is-special {
  border-color: color-mix(in srgb, var(--reward-color) 78%, #fff);
  background:
    radial-gradient(90% 140% at 0% 50%, color-mix(in srgb, var(--reward-color) 28%, transparent), transparent 65%),
    linear-gradient(95deg, color-mix(in srgb, var(--reward-color) 22%, #162642), #0e1a30 78%);
  box-shadow:
    0 0 .75rem color-mix(in srgb, var(--reward-color) 38%, transparent),
    inset 0 0 .55rem color-mix(in srgb, var(--reward-color) 18%, transparent),
    inset 0 1px 0 #ffffff26;
}
#idleRewardList li.idle-log-item.is-special::after {
  content: '';
  position: absolute;
  top: -40%;
  bottom: -40%;
  left: -45%;
  width: 28%;
  z-index: 1;
  pointer-events: none;
  transform: rotate(20deg);
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--reward-color) 38%, #ffffff66), transparent);
  animation: idleLogShine 4.2s ease-in-out infinite;
}
#idleRewardList li.idle-log-item.is-special .idle-log-copy strong {
  color: color-mix(in srgb, var(--reward-color) 65%, #fff);
  text-shadow: 0 0 .45rem color-mix(in srgb, var(--reward-color) 55%, transparent);
}
#idleRewardList li.idle-log-item.is-special .idle-log-tag {
  border-color: color-mix(in srgb, var(--reward-color) 80%, #fff);
  background: color-mix(in srgb, var(--reward-color) 28%, #0b1426);
  color: #fff;
  box-shadow: 0 0 .45rem color-mix(in srgb, var(--reward-color) 40%, transparent);
}
#idleRewardList li.idle-log-item.is-special .ui-sparks {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  overflow: hidden;
}
#idleRewardList li.idle-log-item.is-special .ui-sparks i {
  position: absolute;
  bottom: 18%;
  width: 3.5px;
  height: 3.5px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 6px 2px var(--reward-color, #fde047);
  opacity: 0;
  animation: idleLogSpark 2.1s ease-out infinite;
}
#idleRewardList li.idle-log-item.is-special .ui-sparks i:nth-child(1) { left: 16%; --dx: -6px; animation-delay: 0s; }
#idleRewardList li.idle-log-item.is-special .ui-sparks i:nth-child(2) { left: 52%; --dx: 5px; animation-delay: .65s; }
#idleRewardList li.idle-log-item.is-special .ui-sparks i:nth-child(3) { left: 84%; --dx: -4px; animation-delay: 1.3s; }
@keyframes idleLogShine { 0%, 58% { left: -45%; opacity: 0; } 66% { opacity: .9; } 88% { left: 125%; opacity: .9; } 94%, 100% { left: 125%; opacity: 0; } }
@keyframes idleLogSpark {
  0% { opacity: 0; transform: translate(0, 0) scale(.4); }
  20% { opacity: 1; }
  100% { opacity: 0; transform: translate(var(--dx, 4px), -16px) scale(1.1); }
}
html.pref-no-shine #idleRewardList li.idle-log-item.is-special::after,
html.pref-no-shine #idleRewardList li.idle-log-item.is-special .ui-sparks { display: none !important; animation: none !important; }
#idleRewardList .idle-reward-empty {
  color: #647f9e;
  font: 600 .6rem/1.5 var(--font-clean, inherit);
  padding: .9rem .5rem;
  text-align: center;
  border: 1px dashed #223554;
  border-radius: .45rem;
  background: #0b142466;
  margin: auto 0;
}

/* Embedded Global Chat Panel inside Pokeroute */
.idle-chat-header-meta {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.idle-chat-presence {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  padding: .12rem .48rem;
  border-radius: 1rem;
  border: 1px solid #4ade804d;
  background: #123332;
  color: #9df3c6;
  font: 700 .54rem var(--font-clean, inherit);
  white-space: nowrap;
}
.idle-chat-expand-btn {
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  display: grid;
  place-items: center;
  border-radius: .35rem;
  border: 1px solid #2e476e;
  background: #13223a;
  color: #93c5fd;
  cursor: pointer;
  transition: border-color .15s, color .15s, background .15s;
}
.idle-chat-expand-btn svg { width: .75rem; height: .75rem; }
.idle-chat-expand-btn:hover {
  border-color: #38bdf8;
  color: #fff;
  background: #1b3254;
}
.idle-chat-messages {
  flex: 1;
  min-height: 0;
  padding: .42rem .55rem;
  gap: .4rem;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #2e4468 transparent;
  background: radial-gradient(circle at 50% 50%, #162b4533, transparent 70%), #0a1222;
}
.idle-chat-messages:empty::before {
  content: 'Comece uma conversa com outros treinadores!';
  margin: auto;
  color: #647f9e;
  text-align: center;
  font: 600 .6rem/1.4 var(--font-clean, inherit);
}
.idle-chat-messages .chat-msg-row {
  gap: .38rem;
  align-items: flex-start;
}
.idle-chat-messages .chat-msg-avatar {
  width: 1.45rem;
  height: 1.45rem;
  border-radius: .38rem;
  background: #162640;
  object-fit: contain;
}
.idle-chat-messages .chat-msg-content {
  max-width: 82%;
  gap: .1rem;
}
.idle-chat-messages .chat-msg-header {
  font-size: .52rem;
  gap: .3rem;
}
.idle-chat-messages .chat-msg-bubble {
  padding: .24rem .48rem;
  font-size: .64rem;
  line-height: 1.32;
  border-radius: .15rem .45rem .45rem .45rem;
  background: #16243a;
  border-color: #2b4060;
}
.idle-chat-messages .chat-msg-row.self .chat-msg-bubble {
  background: #14496b;
  border-color: #3487ae;
  border-radius: .45rem .15rem .45rem .45rem;
}
.idle-chat-input-bar {
  padding: .3rem .45rem;
  gap: .35rem;
  background: #0e182c;
  border-top: 1px solid #223554;
}
.idle-chat-input-bar .chat-input-field {
  min-width: 0;
  height: 1.75rem;
  padding: .2rem .55rem;
  font-size: .65rem;
  border-radius: .38rem;
  background: #070d19;
  border-color: #293e5e;
}
.idle-chat-input-bar .btn-chat-send {
  width: auto;
  height: 1.75rem;
  padding: 0 .6rem;
  gap: .28rem;
  border-radius: .38rem;
  font: 800 .52rem var(--font-pixel-ui);
}
.idle-chat-input-bar .btn-chat-send .send-svg {
  width: .78rem;
  height: .78rem;
}
.idle-map-picker { width:min(48rem,94vw); max-width:48rem; border-color:#32795d; }
.idle-map-picker .modal-header h2 { color:#6ee7b7; font-size:1rem; }
.idle-map-list { padding:.75rem; overflow-y:auto; display:grid; gap:.5rem; }
.idle-map-option { --map-color:#34d399; display:grid; grid-template-columns:2.3rem minmax(0,1fr) auto auto 1rem; gap:.75rem; align-items:center; padding:.7rem .8rem; border:1px solid color-mix(in srgb,var(--map-color) 65%,#273b57); border-left:3px solid var(--map-color); border-radius:.6rem; color:#e2eaf5; background:linear-gradient(110deg,color-mix(in srgb,var(--map-color) 10%,#111c2e),#0c1525); text-align:left; cursor:pointer; transition:border-color .15s,box-shadow .15s,background .15s; }
.idle-map-option:hover,.idle-map-option:focus-visible { outline:none; border-color:var(--map-color); box-shadow:0 0 .8rem color-mix(in srgb,var(--map-color) 24%,transparent); background:linear-gradient(110deg,color-mix(in srgb,var(--map-color) 18%,#111c2e),#0c1525); }
.idle-map-option.is-current { box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--map-color) 35%,transparent); }
.idle-map-number { display:grid; place-items:center; width:2.1rem; height:2.1rem; border-radius:.5rem; background:color-mix(in srgb,var(--map-color) 13%,#0b1424); color:var(--map-color); font:800 .85rem var(--font-pixel-ui); }
.idle-map-option-copy { display:grid; gap:.2rem; min-width:0; }
.idle-map-option-copy strong { font:800 .85rem var(--font-clean); }
.idle-map-option-copy small { color:#9eb0c9; font:600 .63rem var(--font-clean); }
.idle-map-extra { color:#647f9e; font:500 .56rem var(--font-clean); }
.idle-map-option-types { display:flex; gap:.25rem; }
.idle-map-option-types .game-type-symbol { width:1.4rem; height:1.4rem; filter:drop-shadow(0 0 .3rem var(--map-color)); }
.idle-map-option-meta { display:grid; gap:.3rem; text-align:right; }
.idle-map-option-meta b { font:800 .7rem var(--font-clean); color:var(--map-color); }
.idle-map-option-meta small { font:800 .5rem var(--font-pixel-ui); color:#9ab0cc; }
.idle-map-option.is-current .idle-map-option-meta small { color:#6ee7b7; }
.idle-map-option.is-locked .idle-map-number { opacity:.6; }
.idle-map-option-arrow { color:var(--map-color); font-size:1.3rem; }
.idle-map-option-arrow svg { width:.85rem; height:.85rem; color:#7386a3; }
/* Caixas do HUD: inimigo em cima e seu Pokémon embaixo, retangulares e finas, com as habilidades em ícones pequenos. */
.idle-abil { position:relative; display:grid; place-items:center; width:1.05rem; height:1.05rem; border-radius:.25rem; border:1px solid #ffffff22; background:#ffffff0b; font-size:.62rem; line-height:1; cursor:help; }
.idle-abil.is-atk { border-color:#f8717180; background:#f871710f; }
.idle-abil.is-def { border-color:#38bdf880; background:#38bdf80f; }
.idle-abil.is-imm { border-color:#5eead480; background:#5eead40f; }
.idle-abil.is-util { border-color:#a3e63580; background:#a3e6350f; }
.idle-abil::after { content:attr(data-tip); position:absolute; left:0; top:calc(100% + .3rem); width:max-content; max-width:11.5rem; padding:.3rem .45rem; border:1px solid #38506e; border-radius:.35rem; background:#0a1424f7; color:#dce9f7; font:600 .5rem/1.4 var(--font-clean); text-align:left; opacity:0; visibility:hidden; transform:translateY(-2px); transition:opacity .12s,transform .12s,visibility .12s; pointer-events:none; z-index:8; }
.idle-abil:hover::after,.idle-abil:focus-visible::after { opacity:1; visibility:visible; transform:none; }
/* Log de combate: linhas finas que sobem de baixo; cada uma some em 3 s, com a linha correndo no rodapé. */
.idle-battle-log { position:absolute; left:.6rem; bottom:.6rem; max-width:min(19rem,62%); display:flex; flex-direction:column; align-items:flex-start; gap:.16rem; margin:0; padding:0; list-style:none; pointer-events:none; }
.idle-battle-log li { position:relative; max-width:100%; overflow:hidden; padding:.15rem .45rem .22rem; border:1px solid #2d456088; border-radius:.3rem; background:#09111fd9; color:#dbeaf6; font:600 .5rem/1.3 var(--font-clean); animation:idleLogIn .22s ease-out both,idleLogOut .3s ease-in 3s forwards; }
.idle-log-run { position:absolute; left:0; bottom:0; width:100%; height:1.5px; background:linear-gradient(90deg,#34d399,#38bdf8); transform-origin:left; animation:idleCatchRun 3s linear forwards; }
@keyframes idleLogIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes idleLogOut { to { opacity:0; transform:translateY(-6px); } }
@keyframes idleCatchRun { from { transform:scaleX(1); } to { transform:scaleX(0); } }
/* Coluna do mapa: cena, card de captura e barra do próximo mapa com a mesma largura. */
.idle-map-col { align-self:start; display:grid; gap:.4rem; width:100%; min-width:0; }
.idle-map-col > .idle-scene { width:100%; max-width:100%; aspect-ratio:auto; flex:none; height:max(11rem, calc(100cqh - 14.2rem)); margin:0; }
.idle-map-col > .idle-unlock { margin-top:.35rem; }
.idle-map-col > .idle-unlock { width:100%; box-sizing:border-box; padding:.26rem .6rem; border:1px solid #293d5c; border-radius:.5rem; background:linear-gradient(180deg,#14213a,#0e1829); font-size:.6rem; }
.idle-map-col > .idle-unlock b { color:#7dd3fc; }
.idle-unlock-types { display:inline-flex; vertical-align:middle; gap:.15rem; margin-left:.3rem; }
.idle-unlock-types .game-type-symbol { width:.85rem; height:.85rem; }

.idle-rail .idle-stat { min-height:2.55rem; padding:.38rem .55rem; }
.idle-rail .idle-stat small { font-size:.46rem; line-height:1.15; }
.idle-rail .idle-stat b { font-size:.86rem; line-height:1.15; }
.idle-rail > .idle-stats { gap:.35rem; }
.idle-manual-icon { display:grid; place-items:center; width:1.2rem; height:1.2rem; flex:none; }
.idle-manual-icon svg { width:100%; height:100%; }
@media (prefers-reduced-motion:reduce) { .idle-map-option { transition:none; } .idle-battle-log li,.idle-log-run { animation:none; } }

.idle-scene .idle-build { z-index:6; }
.idle-scene[data-phase="camp"] .idle-target-hud,.idle-scene[data-phase="noteam"] .idle-target-hud { display:none; }
/* HUD do inimigo: caixa única, pequena e fina (sprite, nome, nível, HP e ícones de habilidade). */
.idle-target-hud { position:absolute; z-index:4; left:.6rem; right:.6rem; top:.6rem; display:flex; justify-content:space-between; align-items:flex-start; pointer-events:none; }
.idle-target-hud .idle-unit { width:8.4rem; pointer-events:auto; }
.idle-unit { --unit-color:#34d399; --side:#f87171; display:grid; grid-template-columns:auto minmax(0,1fr) auto; column-gap:.3rem; align-items:center; padding:.2rem .35rem; border:1px solid #ffffff1a; border-left:2px solid var(--side); border-radius:.3rem; background:linear-gradient(120deg,#0a1424d9,#0a142499); backdrop-filter:blur(3px); box-shadow:0 .1rem .4rem #0004; }
.idle-unit[hidden] { display:none; }
.idle-unit > img { width:1.25rem; height:1.25rem; image-rendering:pixelated; object-fit:contain; }
.idle-unit-main { min-width:0; display:grid; gap:.08rem; }
.idle-unit-row { display:flex; align-items:baseline; justify-content:space-between; gap:.25rem; }
.idle-unit-row strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-transform:capitalize; color:#eef5ff; font:700 .46rem var(--font-clean); }
.idle-unit-level { flex:none; color:#fbbf24; font:700 .38rem var(--font-clean); }
.idle-unit-hp { height:.14rem; border-radius:1rem; background:#ffffff1c; overflow:hidden; }
.idle-unit-hp i { display:block; height:100%; background:linear-gradient(90deg,#10b981,#6ee7b7); transition:width .2s; }
.idle-unit-hp.is-low i { background:linear-gradient(90deg,#ef4444,#fb7185); }
.idle-unit-num { color:#7f98b8; font:600 .34rem var(--font-clean); }
.idle-unit-abil { display:flex; flex-direction:column; gap:.12rem; }
.idle-unit-abil:empty { display:none; }
.idle-abil { position:relative; display:grid; place-items:center; width:.85rem; height:.85rem; border-radius:.2rem; border:1px solid #ffffff22; background:#ffffff0b; font-size:.5rem; line-height:1; cursor:help; }
.idle-abil.is-atk { border-color:#f8717180; }
.idle-abil.is-def { border-color:#38bdf880; }
.idle-abil.is-imm { border-color:#5eead480; }
.idle-abil.is-util { border-color:#a3e63580; }
.idle-abil::after { content:attr(data-tip); position:absolute; left:calc(100% + .3rem); top:0; width:max-content; max-width:11rem; padding:.3rem .45rem; border:1px solid #38506e; border-radius:.35rem; background:#0a1424f7; color:#dce9f7; font:600 .5rem/1.4 var(--font-clean); text-align:left; opacity:0; visibility:hidden; transition:opacity .12s,visibility .12s; pointer-events:none; z-index:8; }
.idle-abil:hover::after,.idle-abil:focus-visible::after { opacity:1; visibility:visible; }

/* Interface compacta e centrada: colunas laterais simétricas (mapa no meio), botões e estatísticas menores, zoom em pílula horizontal. */
.idle-unit.is-ally { --side:#38bdf8; }
.idle-unit.is-enemy { border-left-color:#ffffff1a; border-right:2px solid #f87171; }
.idle-unit.is-enemy .idle-abil::after { left:auto; right:calc(100% + .3rem); }
html:not(.battlemon-mobile) #towerScreen .squad-status-box .squad-header-actions { display:none; }
html:not(.battlemon-mobile) .idle-target-hud .idle-unit { width:10.5rem; column-gap:.35rem; padding:.3rem .4rem; }
html:not(.battlemon-mobile) .idle-unit > img { width:1.5rem; height:1.5rem; }
html:not(.battlemon-mobile) .idle-unit-row strong { font-size:.56rem; }
html:not(.battlemon-mobile) .idle-unit-level { font-size:.46rem; }
html:not(.battlemon-mobile) .idle-unit-hp { height:.18rem; }
html:not(.battlemon-mobile) .idle-unit-num { font-size:.42rem; }
html:not(.battlemon-mobile) .idle-unit .idle-abil { width:1rem; height:1rem; font-size:.6rem; }
.idle-actions .idle-action-btn { height:1.95rem; min-height:1.95rem; padding:.2rem .4rem; gap:.4rem; }
.idle-action-copy { font-size:.48rem; line-height:1.3; }
.idle-action-copy small { font-size:.36rem; line-height:1.4; }
.idle-action-btn > svg,.idle-action-icon { width:.85rem; height:.85rem; flex:0 0 .85rem; }
.idle-stage > .idle-actions { gap:.3rem; }
.idle-rail .idle-stat { min-height:2.05rem; padding:.25rem .45rem; gap:.06rem; }
.idle-rail .idle-stat small { font-size:.38rem; }
.idle-rail .idle-stat b { font-size:.7rem; }
.idle-rail > .idle-stats { gap:.3rem; }
.idle-zoom-controls { top:.6rem; bottom:auto; right:auto; left:50%; transform:translateX(-50%); flex-direction:row-reverse; width:auto; height:1.45rem; gap:.1rem; padding:.12rem .25rem; border-radius:.5rem; }
.idle-zoom-controls .idle-zoom-btn { flex:0 0 1.1rem; width:1.1rem; min-width:1.1rem; max-width:1.1rem; height:1.1rem; min-height:1.1rem; max-height:1.1rem; padding:.12rem; }
.idle-zoom-controls .idle-zoom-btn svg { width:.7rem; height:.7rem; }
.idle-zoom-controls output { width:1.9rem; height:1.1rem; flex:0 0 1.9rem; font-size:.45rem; line-height:1.1rem; }
.idle-action-copy small { display:flex; flex-wrap:wrap; gap:0 .25rem; white-space:nowrap; }
.idle-action-copy { white-space:nowrap; }
#btnIdleToggle .idle-action-copy { white-space:normal; }

/* Aba Pokeroute no desktop: o painel do mapa ocupa a largura toda e o mapa fica no centro da tela (colunas internas simétricas).
   Esquadrão e Incubadora saem da tela: o time vira a troca rápida dentro do painel e os ovos ficam no Inventário. */
#towerScreen .tower-squad-shop-panel { display:none; }
#towerScreen .tower-hub-layout > .idle-panel { grid-column:1 / -1; grid-row:1; }
@media (min-width:1081px) { #towerScreen .tower-hub-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); } }
/* Pokeroute sem Log/Chat: mapa mais quadrado (13:10) e centrado; botões e estatísticas encostam nas laterais do mapa. */
.idle-stage { grid-template-columns:minmax(13rem,1fr) auto minmax(13rem,1fr); grid-template-rows:minmax(0,1fr); align-content:stretch; }
.idle-map-col { width:min(calc((100cqh - 3.4rem) * 1.3), calc(100cqw - 27rem)); }
.idle-map-col > .idle-scene { height:auto; aspect-ratio:13 / 10; }/* Coluna esquerda: botões do mapa em grade 2x2 e, embaixo, o quadro grande "Seu Esquadrão Ativo" ocupando o resto da altura. */
.idle-stage > .idle-left { align-self:stretch; display:flex; flex-direction:column; gap:.55rem; min-width:0; min-height:0; }
.idle-left > .idle-actions { display:grid; grid-template-columns:1fr 1fr; gap:.35rem; width:100%; flex:none; }
.idle-left > .idle-actions #btnIdleMaps { grid-column:1 / -1; }
.idle-left > .squad-status-box { flex:1 1 auto; min-height:0; overflow-y:auto; margin:0; }
.idle-left > .squad-status-box .panel-header-row { flex-wrap:wrap; row-gap:.4rem; }
.idle-stage > .idle-rail { justify-self:stretch; align-self:start; }
/* Mapa desktop ocupa a largura central e toda a altura útil até a barra do próximo mapa. */
@media (min-width:1081px) {
  html:not(.battlemon-mobile) .idle-stage { grid-template-columns:16rem minmax(0,1fr) 9rem; }
  html:not(.battlemon-mobile) #towerScreen .tower-hub-layout > .idle-panel { padding-block:.5rem; gap:.4rem; }
  html:not(.battlemon-mobile) .idle-left > .idle-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
  html:not(.battlemon-mobile) .idle-left > .squad-status-box { flex:0 0 auto; overflow:visible; }
  html:not(.battlemon-mobile) .idle-left #lobbySquadList { flex:none; height:auto; max-height:none; overflow:visible; }
  html:not(.battlemon-mobile) .idle-left > .idle-actions #btnIdleMaps { grid-column:auto; }
  html:not(.battlemon-mobile) .idle-left .idle-action-btn { height:2.15rem; min-height:2.15rem; padding:.25rem .3rem; flex-direction:row; justify-content:flex-start; gap:.25rem; text-align:left; }
  html:not(.battlemon-mobile) .idle-left .idle-action-btn > svg,html:not(.battlemon-mobile) .idle-left .idle-action-icon { width:.8rem; height:.8rem; flex:0 0 .8rem; }
  html:not(.battlemon-mobile) .idle-left .idle-action-copy { justify-items:start; font-size:.5rem; line-height:1.15; white-space:normal; }
  html:not(.battlemon-mobile) .idle-left #btnIdleBank .idle-action-copy { display:grid; gap:.1rem; }
  html:not(.battlemon-mobile) .idle-left .idle-action-copy small { font-size:.38rem; line-height:1.1; }
  html:not(.battlemon-mobile) .idle-left #idleAutoState { display:none; }
  html:not(.battlemon-mobile) .idle-left #btnIdleAuto { gap:.12rem; }
  html:not(.battlemon-mobile) .idle-left #btnIdleAuto > svg { width:.7rem; height:.7rem; flex-basis:.7rem; }
  html:not(.battlemon-mobile) .idle-stage > .idle-rail { min-width:0; }
  html:not(.battlemon-mobile) .idle-left #btnIdleAuto .idle-action-copy { font-size:.44rem; }
  html:not(.battlemon-mobile) #towerScreen .idle-left #lobbySquadList { width:100%; padding:0; align-items:stretch; gap:.35rem; }
  html:not(.battlemon-mobile) .idle-left #lobbySquadList .lobby-squad-card { display:grid; width:100%; grid-template-columns:1.65rem minmax(0,1fr); align-items:center; gap:.4rem; min-height:2.6rem; padding:.35rem .4rem; }
  html:not(.battlemon-mobile) .idle-left .lobby-squad-card img { width:1.65rem; height:1.65rem; }
  html:not(.battlemon-mobile) .idle-left .lsc-info { display:grid; gap:.14rem; }
  html:not(.battlemon-mobile) .idle-left .lsc-top { margin:0; flex-wrap:nowrap; align-items:baseline; gap:.25rem; }
  html:not(.battlemon-mobile) .idle-left .lsc-name { min-width:0; font-size:.65rem; line-height:1.15; }
  html:not(.battlemon-mobile) .idle-left .lsc-lvl { flex:none; font-size:.53rem; line-height:1.15; }
  html:not(.battlemon-mobile) .idle-left .lsc-hp-bar { height:.2rem; margin:0; }
  html:not(.battlemon-mobile) .idle-left .lsc-hp-text { font-size:.5rem; line-height:1.2; }
  html:not(.battlemon-mobile) .idle-left #lobbySquadList .lobby-empty-slot { font-size:.55rem; }
  html:not(.battlemon-mobile) .idle-left .lobby-empty-plus { width:1.3rem; height:1.3rem; border-width:1px; font-size:.85rem; }

  html:not(.battlemon-mobile) .idle-map-col { width:100%; height:100%; min-height:0; align-self:stretch; grid-template-rows:minmax(0,1fr); }
  html:not(.battlemon-mobile) .idle-map-col > .idle-scene { height:100%; min-height:0; aspect-ratio:auto; }
  html:not(.battlemon-mobile) .idle-left #lobbySquadList .lobby-squad-card.is-map-active { border-color:#fbbf24; background:linear-gradient(110deg,#fbbf241a,#17243b); box-shadow:inset 3px 0 #fbbf24,0 0 .55rem #fbbf2426; }
  html:not(.battlemon-mobile) .idle-left #lobbySquadList .is-map-active .lsc-hp-text span:last-child { color:#fbbf24; font-weight:800; }
  html:not(.battlemon-mobile) .idle-left #lobbySquadList .lobby-squad-card[aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
  html:not(.battlemon-mobile) .idle-left #lobbySquadList .lobby-squad-card:focus-visible { outline:2px solid #fbbf24; outline-offset:2px; }
  html:not(.battlemon-mobile) .idle-left > .squad-status-box .panel-header-row { flex-wrap:wrap; }
  html:not(.battlemon-mobile) .idle-left > .squad-status-box .panel-title { flex-shrink:0; max-width:100%; white-space:normal; }
  html:not(.battlemon-mobile) .idle-left .lsc-info { min-width:0; }

  html:not(.battlemon-mobile) .idle-left .lsc-name { overflow-wrap:anywhere; }
  html:not(.battlemon-mobile) .idle-left .lsc-lvl { white-space:nowrap; }
  html:not(.battlemon-mobile) .idle-left .lsc-hp-text { gap:.1rem .25rem; }
}
/* Botões dentro do mapa: Pokébola na lateral esquerda (anel de 5 s e o Pokémon derrotado ao lado), log/zoom em botões redondos embaixo à direita, log de combate à direita. */
.idle-round { position:relative; display:grid; place-items:center; width:2.3rem; height:2.3rem; padding:0; border:1px solid #ffffff26; border-radius:50%; background:radial-gradient(circle at 35% 30%, #1d2c48, #0a1220); color:#cfe6ff; box-shadow:0 .2rem .6rem #0007, inset 0 1px #ffffff1a; cursor:pointer; transition:transform .15s, box-shadow .15s, border-color .15s; }
.idle-round:hover:not(:disabled) { transform:translateY(-1px) scale(1.04); border-color:#7dd3fc; }
.idle-throw { --item-color:#ef4444; position:absolute; left:.6rem; top:auto; bottom:.6rem; z-index:5; display:flex; flex-direction:column; align-items:center; gap:.3rem; transform:none; }
.idle-round.is-ball { width:2.9rem; height:2.9rem; border-color:color-mix(in srgb, var(--item-color) 55%, #ffffff26); }
.idle-round.is-ball #idleCatchIcon { display:grid; place-items:center; width:1.55rem; height:1.55rem; }
.idle-round.is-ball #idleCatchIcon svg { width:100%; height:100%; }
.idle-round.is-ball b { position:absolute; right:-.3rem; bottom:-.2rem; min-width:1.1rem; padding:.05rem .25rem; border-radius:1rem; background:#0a1220; border:1px solid #ffffff26; color:#e6edf7; font:800 .42rem var(--font-clean); }
.idle-round.is-ball:disabled { cursor:default; filter:grayscale(.6) brightness(.8); }
.idle-throw.is-open .idle-round.is-ball:not(:disabled) { border-color:var(--item-color); box-shadow:0 0 1rem color-mix(in srgb, var(--item-color) 60%, transparent), inset 0 1px #ffffff1a; animation:idleBallPulse 1s ease-in-out infinite; }
.idle-ring { position:absolute; inset:-3px; width:calc(100% + 6px); height:calc(100% + 6px); transform:rotate(-90deg); pointer-events:none; }
.idle-ring rect { fill:none; stroke:var(--item-color); stroke-width:1.5; stroke-dasharray:100; stroke-dashoffset:100; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.idle-throw:not(.is-open) .idle-ring { display:none; }
.idle-round.is-mini { width:1.35rem; height:1.35rem; color:var(--item-color); font:800 .8rem var(--font-clean); }
.idle-throw-info { position:absolute; left:3.4rem; top:.25rem; display:none; align-items:center; gap:.3rem; padding:.2rem .5rem .2rem .3rem; border:1px solid #ffffff1a; border-left:2px solid #f87171; border-radius:.35rem; background:#09111fe6; white-space:nowrap; }
.idle-throw.is-open .idle-throw-info { display:flex; animation:idleLogIn .2s ease-out both; }
.idle-throw-info img { width:1.1rem; height:1.1rem; image-rendering:pixelated; object-fit:contain; }
.idle-throw-info span { display:grid; gap:.05rem; }
.idle-throw-info strong { color:#f1f6fd; font:800 .46rem var(--font-clean); text-transform:capitalize; }
.idle-throw-info small { color:#8ca3c0; font:600 .38rem var(--font-clean); }
.idle-throw-info small b { color:var(--item-color); }
html:not(.battlemon-mobile) .idle-throw { bottom:.35rem; flex-direction:row; gap:.4rem; }
html:not(.battlemon-mobile) .idle-throw > button { flex-shrink:0; }
html:not(.battlemon-mobile) .idle-throw-info { left:0; top:auto; bottom:calc(100% + .4rem); }
.idle-catch-label { display:none; }
.idle-round.is-mini svg { width:1rem; height:1rem; }
html:not(.battlemon-mobile) .idle-throw .idle-round.is-ball { display:flex; justify-content:center; width:auto; min-width:9.5rem; height:1.9rem; gap:.4rem; padding:.25rem .6rem; border-radius:.35rem; font:800 .55rem var(--font-pixel-ui); }
html:not(.battlemon-mobile) .idle-catch-label { display:inline; }
html:not(.battlemon-mobile) .idle-round.is-ball #idleCatchIcon { width:1.15rem; height:1.15rem; }
html:not(.battlemon-mobile) .idle-round.is-ball #idleCatchCount { position:static; margin-left:.15rem; padding:.08rem .25rem; border-radius:.25rem; font-size:.48rem; }
html:not(.battlemon-mobile) .idle-throw .idle-ring { inset:0; width:100%; height:100%; transform:none; }
html:not(.battlemon-mobile) .idle-throw .idle-round.is-mini { width:1.9rem; height:1.9rem; border-radius:.35rem; color:#99f6e4; border-color:#2dd4bf80; background:linear-gradient(145deg,#0f766e,#10333b); box-shadow:0 0 .5rem #2dd4bf33; }
html:not(.battlemon-mobile) .idle-throw .idle-round.is-mini:hover { border-color:#2dd4bf; box-shadow:0 0 .75rem #2dd4bf66; }
html:not(.battlemon-mobile) .idle-throw.is-open .idle-round.is-ball:not(:disabled) { animation:none; }
@keyframes idleRing { from { stroke-dashoffset:0; } to { stroke-dashoffset:100; } }
@keyframes idleBallPulse { 50% { transform:scale(1.07); } }
.idle-zoom-controls { top:auto; bottom:.6rem; left:auto; right:.6rem; transform:none; flex-direction:row; height:auto; gap:.35rem; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.idle-zoom-controls output { display:none; }
.idle-zoom-controls .idle-zoom-btn { flex:0 0 2.3rem; width:2.3rem; min-width:2.3rem; max-width:2.3rem; height:2.3rem; min-height:2.3rem; max-height:2.3rem; padding:0; border:1px solid #ffffff26; border-radius:50%; background:radial-gradient(circle at 35% 30%, #1d2c48, #0a1220); color:#cfe6ff; box-shadow:0 .2rem .6rem #0007, inset 0 1px #ffffff1a; }
.idle-zoom-controls .idle-zoom-btn svg { width:1rem; height:1rem; }
.idle-battle-log { left:auto; right:.6rem; bottom:3.4rem; align-items:flex-end; }
@media (prefers-reduced-motion:reduce) { .idle-throw.is-open .idle-round.is-ball { animation:none; } }
/* Popup da rotação semanal (idle-rotation.js): lista dos 10 andares com ATUAL -> PRÓXIMO. */
.rot-card { width: min(60rem, calc(100vw - 1.5rem)); max-height: min(88dvh, 52rem); display: flex; flex-direction: column; }
.rot-desc { margin: .2rem 1rem .6rem; color: #9fb4d3; font: 600 .74rem/1.55 var(--font-clean, inherit); }
.rot-timer { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin: 0 1rem .5rem; padding: .5rem .8rem; border: 1px solid #fbbf2455; border-radius: .6rem; background: #fbbf2410; }
.rot-timer span { color: #fde68a; font: 800 .52rem var(--font-pixel-ui); letter-spacing: .08em; }
.rot-timer strong { color: #fff; font: 400 .95rem var(--font-pixel-ui); font-variant-numeric: tabular-nums; }
.rot-legend { display: flex; align-items: center; gap: .4rem; margin: 0 1rem .5rem; color: #8ca3c0; font: 700 .62rem var(--font-clean, inherit); }
.rot-key { width: .7rem; height: .7rem; border-radius: .2rem; margin-left: .5rem; } .rot-key.is-out { background: #f87171; } .rot-key.is-in { background: #4ade80; }
.rot-list { display: grid; gap: .5rem; padding: 0 1rem 1rem; overflow-y: auto; min-height: 0; }
.rot-row { --rc: #34d399; padding: .5rem .7rem; border: 1px solid #22385a; border-left: 3px solid var(--rc); border-radius: .6rem; background: linear-gradient(100deg, color-mix(in srgb, var(--rc) 9%, #101c31), #0b1424 60%); }
.rot-row.is-here { box-shadow: 0 0 .9rem color-mix(in srgb, var(--rc) 30%, transparent); }
.rot-row > header { display: flex; align-items: baseline; gap: .6rem; margin-bottom: .35rem; }
.rot-row > header b { color: var(--rc); font: 400 .7rem var(--font-pixel-ui); } .rot-row > header strong { color: #f1f6fd; font: 800 .8rem var(--font-clean, inherit); } .rot-row > header small { color: #7f93b0; font: 600 .62rem var(--font-clean, inherit); }
.rot-cols { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .5rem; }
.rot-cols small { display: block; margin-bottom: .15rem; color: #7f93b0; font: 800 .44rem var(--font-pixel-ui); letter-spacing: .08em; }
.rot-mons { display: flex; flex-wrap: wrap; gap: .15rem; }
.rot-mon { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border: 1px solid #ffffff14; border-radius: .35rem; background: #0a1220; }
.rot-mon img { width: 1.6rem; height: 1.6rem; image-rendering: pixelated; object-fit: contain; }
.rot-mon.is-in { border-color: #4ade80; box-shadow: 0 0 .5rem #4ade8055; } .rot-mon.is-out { border-color: #f87171; opacity: .7; }
.rot-arrow { color: #64748b; font-size: 1.1rem; }
@media (max-width: 760px) { .rot-cols { grid-template-columns: 1fr; } .rot-arrow { display: none; } .rot-timer { flex-wrap: wrap; } }
/* ===== Responsivo para PC (PDF 07, só desktop): janelas de computador mais estreitas que 1080 px (notebooks pequenos, janela redimensionada).
   O mapa fica à esquerda; estatísticas, botões e esquadrão ficam empilhados à direita. Celular e tablet seguem na tela de manutenção. */
@media (max-width: 1080px) {
  #towerScreen .tower-hub-layout > .idle-panel { min-height: 0; overflow: visible; padding: .7rem; }
  .idle-stage { display: grid; grid-template-columns: minmax(0, 1fr) clamp(13rem, 30vw, 17rem); grid-template-rows: auto 1fr; container-type: normal; flex: 0 0 auto; height: auto; gap: .6rem; align-items: start; }
  .idle-stage > .idle-map-col { grid-column: 1; grid-row: 1 / 3; width: 100%; }
  .idle-stage > .idle-map-col > .idle-scene { height: auto; aspect-ratio: 4 / 3; max-height: calc(100dvh - 9rem); }
  .idle-stage > .idle-rail { grid-column: 2; grid-row: 1; align-self: start; }
  .idle-stage > .idle-left { grid-column: 2; grid-row: 2; }
  .idle-rail > .idle-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .3rem; }
  .idle-rail .idle-stat { min-height: 2.2rem; }
  .idle-left { min-width: 0; }
  .idle-left > .squad-status-box { max-height: none; overflow: visible; min-width: 0; }
  .idle-left > .squad-status-box .panel-title { font-size: .62rem; white-space: normal; }
  .idle-left > .squad-status-box .btn-pokecenter { padding: .3rem .5rem; font-size: .55rem; }
}
.idle-abil:focus::after { opacity: 1; visibility: visible; transform: none; }

/* Common activity log below the compact team. Only a Shiny appearance lights up its button. */
.idle-session-log { flex:1 1 0; min-height:0; display:flex; flex-direction:column; border:1px solid #30445f; border-radius:.55rem; overflow:hidden; background:linear-gradient(150deg,#111d30,#0b1424); }
.idle-session-log.is-collapsed { flex:none; }
.idle-session-toggle { display:flex; align-items:center; gap:.4rem; width:100%; min-height:2.2rem; padding:.5rem .6rem; flex:none; border:0; border-bottom:1px solid #30445f; background:linear-gradient(110deg,#15263e,#0f192a); color:#c5d5e9; text-align:left; cursor:pointer; }
.idle-session-toggle > svg { width:1rem; height:1rem; flex:none; color:#8eabc9; }
.idle-session-toggle > span:first-of-type { font:800 .65rem var(--font-pixel-ui); }
.idle-session-toggle b { margin-left:auto; padding:.08rem .3rem; min-width:1.3rem; border-radius:1rem; color:#a6c2df; background:#8ebaff10; font:800 .58rem var(--font-clean); text-align:center; }
.idle-session-toggle:hover,.idle-session-toggle:focus-visible { outline:none; background:#1b2f4a; }
.idle-session-toggle.has-shiny { color:#fde68a; border-bottom-color:#c59d3e; background:linear-gradient(110deg,#facc1526,#332c1b); animation:idleShinyNotice 1.8s ease-in-out infinite; }
.idle-session-toggle.has-shiny > svg { color:#fde047; filter:drop-shadow(0 0 .35rem #facc15); }
.idle-session-alert { display:none; padding:.1rem .25rem; border:1px solid #facc1555; border-radius:.25rem; color:#fde047; font:800 .46rem var(--font-clean); }
.has-shiny .idle-session-alert { display:block; }
.idle-session-caret { color:#7f95b0; font-size:.75rem; }
.idle-session-toggle[aria-expanded="false"] .idle-session-caret { transform:rotate(180deg); }
.idle-session-body { display:flex; flex-direction:column; flex:1; min-height:0; }
.idle-session-body[hidden] { display:none; }
.idle-session-body #idleRewardList { flex:1; min-height:0; padding:.4rem; display:grid; align-content:start; gap:.3rem; overflow-y:auto; list-style:none; }
#idleRewardList .idle-event-row { display:flex; align-items:center; gap:.35rem; padding:.3rem .35rem; min-width:0; border:1px solid #2b405b; border-left:2px solid var(--event-color); border-radius:.3rem; background:linear-gradient(90deg,color-mix(in srgb,var(--event-color) 7%,#101b2c),#0d1727); }
#idleRewardList .idle-event-row.is-shiny { border-color:#d3ab4c88; background:linear-gradient(90deg,#facc1514,#0d1727); }
.idle-event-row > img,.idle-event-icon { width:1.6rem; height:1.6rem; flex:none; object-fit:contain; image-rendering:pixelated; display:grid; place-items:center; color:var(--event-color); }
.idle-event-icon svg { width:1rem; height:1rem; }
.idle-event-row > span:not(.idle-event-icon) { display:grid; gap:.12rem; min-width:0; }
.idle-event-row strong { font:800 .57rem/1.3 var(--font-clean); color:#d8e5f5; overflow-wrap:anywhere; }
.idle-event-row small { font:600 .48rem/1.4 var(--font-clean); color:#8ea6c2; }
.idle-event-row.is-shiny strong { color:#fde68a; }
.idle-event-row time { margin-left:auto; flex:none; color:#677f9e; font:600 .43rem var(--font-clean); }
.idle-log-empty { padding:.8rem .4rem; color:#6e85a4; text-align:center; font:500 .6rem/1.6 var(--font-clean); }
.idle-unit.is-shiny { border-color:#facc15; box-shadow:0 0 .6rem #facc1555; }
.idle-unit.is-shiny .idle-unit-row strong { color:#fde047; }
@keyframes idleShinyNotice { 0%,100% { box-shadow:inset 0 0 .6rem #facc1526; } 50% { box-shadow:inset 0 0 1.5rem #facc1540,0 0 .65rem #facc1566; } }
@media (prefers-reduced-motion:reduce) { .idle-session-toggle.has-shiny { animation:none; box-shadow:inset 0 0 1rem #facc1526; } }

/* Acampamento: o único atalho para voltar antes é o Reviver (ícone aceso com a quantidade, apagado quando zerado). */
.idle-camp-revive { position: relative; display: grid; justify-items: center; gap: .15rem; margin-top: .5rem; padding: .55rem .9rem .45rem; border: 1px solid #5eead4aa; border-radius: .8rem; background: radial-gradient(circle at 50% 30%, #5eead433, #0b1424); color: #e6fffb; cursor: pointer; box-shadow: 0 0 1.2rem #5eead433; transition: transform .15s, box-shadow .15s; }
.idle-camp-revive:hover:not(.is-empty) { transform: translateY(-2px); box-shadow: 0 0 1.6rem #5eead466; }
.idle-camp-revive em { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; font-size: 2rem; font-style: normal; line-height: 1; }
.idle-camp-revive em svg, .idle-camp-revive em img { width: 100%; height: 100%; }
.idle-camp .idle-camp-revive b { position: absolute; right: -.35rem; top: -.35rem; min-width: 1.5rem; padding: .1rem .35rem; border-radius: 1rem; background: #0a1220; border: 1px solid #5eead4; color: #5eead4; font: 800 .7rem var(--font-clean, inherit); }
.idle-camp .idle-camp-revive i { color: #99f6e4; font: 800 .5rem var(--font-pixel-ui); font-style: normal; letter-spacing: .08em; }
.idle-camp-revive.is-empty { border-color: #475569; background: #0b1424; box-shadow: none; cursor: default; filter: grayscale(1); opacity: .5; }
.idle-camp-revive.is-empty b { border-color: #64748b; color: #94a3b8; }

/* Boss Raid (idle-raid.js): linha no seletor de mapas, HUD, teleporte e recompensa. */
.idle-map-option.raid-row { position: relative; overflow: clip; --map-color: #ef4444; border-color: #ef4444; border-left-color: #ef4444; background: linear-gradient(90deg, rgba(239, 68, 68, .18), transparent 70%), #0c1525; box-shadow: 0 0 .9rem rgba(239, 68, 68, .55), inset 0 0 .6rem rgba(239, 68, 68, .18); animation: raidGlow 2.2s ease-in-out infinite; }
.raid-row.is-gated > :not(.raid-gate) { filter: blur(5px) saturate(.6); opacity: .55; pointer-events: none; }
.raid-row.is-gated { cursor: not-allowed; }
.raid-gate { position: absolute; inset: 0; z-index: 2; display: grid; align-content: center; justify-items: center; gap: .25rem; padding: .4rem 1rem; text-align: center; background: rgba(6, 10, 20, .45); }
.raid-gate strong { color: #fecaca; font: 400 .95rem var(--font-pixel-ui); letter-spacing: .06em; text-shadow: 0 0 10px rgba(239, 68, 68, .8); }
.raid-gate ul { display: grid; gap: .15rem; margin: 0; padding: 0; list-style: none; }
.raid-gate li { color: #fecaca; font: 700 .72rem/1.2 var(--font-clean, inherit); }
.raid-gate li.is-ok { color: #86efac; }
.raid-gate li i { margin-right: .35rem; font-style: normal; }
.raid-gate small { color: #9fb4d3; font: 600 .62rem var(--font-clean, inherit); }
.raid-row.is-wait .idle-map-option-meta small, .raid-row.is-open .idle-map-option-meta small { color: #fca5a5; }
.raid-row .idle-map-number { color: #fca5a5; }
@keyframes raidGlow { 0%, 100% { box-shadow: 0 0 .7rem rgba(239, 68, 68, .45), inset 0 0 .5rem rgba(239, 68, 68, .14); } 50% { box-shadow: 0 0 1.3rem rgba(239, 68, 68, .85), inset 0 0 .8rem rgba(239, 68, 68, .26); } }
#btnIdleMaps.is-raid-live { border-color: #ef4444; animation: raidGlow 1.8s ease-in-out infinite; --fl: 2.1rem; }
@media (prefers-reduced-motion: reduce) { .idle-map-option.raid-row, #btnIdleMaps.is-raid-live { animation: none; } }
.idle-raid-hud { position: absolute; top: .55rem; left: 50%; z-index: 7; display: grid; gap: .3rem; width: min(30rem, calc(100% - 16rem)); min-width: 17rem; transform: translateX(-50%); pointer-events: auto; }
.idle-raid-hud[hidden] { display: none; }
.rd-bar { display: flex; align-items: center; gap: .55rem; padding: .35rem .6rem; border: 1px solid rgba(245, 158, 11, .7); border-radius: .5rem; background: rgba(8, 12, 22, .9); color: #f4f7fb; font: 800 .62rem/1 var(--font-clean, inherit); box-shadow: 0 4px 14px rgba(0, 0, 0, .45); }
.idle-raid-hud.is-boss .rd-bar { border-color: #ef4444; background: linear-gradient(135deg, rgba(60, 14, 22, .93), rgba(10, 8, 24, .93)); }
.rd-title { color: #fbbf24; letter-spacing: .04em; }
.rd-bar b { margin-left: auto; font: 400 .68rem var(--font-pixel-ui); }
.rd-exit { padding: .3rem .55rem; border: 1px solid #3a4f72; border-radius: .35rem; background: #14213a; color: #cfe0f7; font: 400 .6rem var(--font-pixel-ui); cursor: pointer; }
.rd-exit:hover { border-color: #7dd3fc; color: #fff; }
.rd-track { display: block; height: .34rem; overflow: hidden; border-radius: .2rem; background: rgba(255, 255, 255, .14); }
.rd-track u { display: block; height: 100%; background: linear-gradient(90deg, #f59e0b, #fde68a); transition: width .5s; }
.rd-track.is-boss u { background: linear-gradient(90deg, #dc2626, #fca5a5); }
.rd-meta { display: flex; flex-wrap: wrap; gap: .25rem .7rem; padding: .25rem .5rem; border-radius: .35rem; background: rgba(8, 12, 22, .82); color: #b7c7e2; font: 700 .58rem var(--font-clean, inherit); }
.rd-meta b { color: #fbbf24; }
.rd-warn { margin: 0; padding: .2rem .5rem; border-radius: .3rem; background: rgba(120, 20, 20, .8); color: #fecaca; font: 700 .58rem var(--font-clean, inherit); text-align: center; }
@media (max-width: 1080px) { .idle-raid-hud { width: min(26rem, calc(100% - 1.2rem)); top: 3rem; } }
.raid-teleport { position: fixed; inset: 0; z-index: 9999; display: grid; place-content: center; justify-items: center; gap: .6rem; background: radial-gradient(circle at 50% 50%, #3b1d6e, #070413 70%); color: #f5f3ff; text-align: center; animation: raidTpIn .35s ease both; }
.raid-teleport.is-out { animation: raidTpOut .5s ease both; }
.raid-teleport h2 { margin: 0; color: #e9d5ff; font: 400 2.2rem var(--font-pixel-ui); letter-spacing: .12em; text-shadow: 0 0 18px #a78bfa; }
.raid-teleport p { margin: 0; font: 700 .95rem var(--font-clean, inherit); }
.raid-teleport small { color: #fbbf24; font: 400 .9rem var(--font-pixel-ui); }
.raid-tp-ring { position: relative; width: 14rem; height: 14rem; margin-bottom: .5rem; }
.raid-tp-ring i { position: absolute; inset: 0; border: 4px solid #c4b5fd; border-radius: 50%; box-shadow: 0 0 22px #a78bfa, inset 0 0 22px #a78bfa; animation: raidTpSpin 1.6s linear infinite; }
.raid-tp-ring i:nth-child(2) { inset: 1.6rem; border-color: #67e8f9; box-shadow: 0 0 22px #22d3ee, inset 0 0 22px #22d3ee; animation-duration: 1.1s; animation-direction: reverse; }
.raid-tp-ring i:nth-child(3) { inset: 3.4rem; border-color: #fbbf24; box-shadow: 0 0 22px #f59e0b, inset 0 0 22px #f59e0b; animation-duration: .8s; }
@keyframes raidTpSpin { from { transform: rotate(0) scaleY(.55); } to { transform: rotate(360deg) scaleY(.55); } }
@keyframes raidTpIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes raidTpOut { to { opacity: 0; } }
.raid-result-backdrop { z-index: 9990; }
.raid-result { width: min(32rem, calc(100% - 2rem)); padding: 1.1rem 1.2rem 1.2rem; text-align: center; }
.raid-result header small { color: #fbbf24; font: 400 .7rem var(--font-pixel-ui); }
.raid-result header h2 { margin: .2rem 0; color: #fde68a; font: 400 1.5rem var(--font-pixel-ui); text-shadow: 0 0 14px rgba(245, 158, 11, .6); }
.raid-result header p { margin: 0 0 .7rem; color: #fca5a5; font: 400 .8rem var(--font-pixel-ui); }
.raid-result-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin-bottom: .7rem; }
.raid-result-stats div { padding: .5rem; border: 1px solid #28405f; border-radius: .6rem; background: #0b1424; }
.raid-result-stats small { display: block; color: #9fb4d3; font: 700 .55rem var(--font-clean, inherit); }
.raid-result-stats b { color: #f4f7fb; font: 400 .95rem var(--font-pixel-ui); }
.raid-rank { display: grid; gap: .25rem; margin: 0 0 .8rem; padding: 0; list-style: none; text-align: left; }
.raid-rank li { display: grid; grid-template-columns: 2rem 1fr auto; gap: .5rem; padding: .3rem .55rem; border-radius: .4rem; background: #0e1a2e; color: #cfe0f7; font: 700 .72rem var(--font-clean, inherit); }
.raid-rank li.is-me { background: #14392b; color: #bbf7d0; }
.raid-rank li b { color: #fbbf24; font: 400 .72rem var(--font-pixel-ui); }
.raid-rank li em { font-style: normal; color: #7dd3fc; }
.raid-reward { display: grid; gap: .6rem; justify-items: center; margin-bottom: .8rem; }
.raid-reward-wait { margin: 0; color: #9fb4d3; font: 700 .8rem var(--font-clean, inherit); }
.raid-gold { display: flex; align-items: baseline; gap: .4rem; color: #fbbf24; }
.raid-gold span, .raid-gold b { font: 400 1.6rem var(--font-pixel-ui); }
.raid-gold small { color: #9fb4d3; font: 700 .65rem var(--font-clean, inherit); }
.raid-mon { display: flex; align-items: center; gap: .8rem; padding: .6rem .9rem; border: 2px solid #38bdf8; border-radius: .8rem; background: linear-gradient(135deg, #0e2a4a, #0b1424); animation: raidMonPop .6s cubic-bezier(.2, 1.5, .4, 1) both; }
.raid-mon.is-legend { border-color: #fbbf24; background: linear-gradient(135deg, #4a3406, #14100a); box-shadow: 0 0 22px rgba(251, 191, 36, .45); }
.raid-mon.is-shiny { box-shadow: 0 0 22px rgba(125, 211, 252, .55); }
.raid-mon.is-legend.is-shiny { border-color: #f0abfc; box-shadow: 0 0 28px rgba(240, 171, 252, .65); }
.raid-mon img { width: 5rem; height: 5rem; image-rendering: pixelated; object-fit: contain; }
.raid-mon div { display: grid; gap: .15rem; text-align: left; }
.raid-mon small { color: #fbbf24; font: 400 .72rem var(--font-pixel-ui); }
.raid-mon strong { color: #fff; font: 400 1rem var(--font-pixel-ui); }
.raid-mon span { color: #9fb4d3; font: 700 .65rem var(--font-clean, inherit); }
.raid-nomon, .raid-top { margin: 0; color: #b7c7e2; font: 700 .72rem/1.4 var(--font-clean, inherit); }
.raid-top { color: #fbbf24; }
@keyframes raidMonPop { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: none; } }

/* Chamas (Boss Raid ativa): botão Escolher Mapa e linha da Raid. Estilo desenho: 3 camadas de línguas de fogo suaves + brasas subindo, baixas e atrás do texto. Sem a raid ativa fica só o glow vermelho. */
#btnIdleMaps.is-raid-live, .raid-row.is-live { position: relative; overflow: clip; isolation: isolate; --fh: 34%; --fl: 3.2rem;
  --f-back: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 50' preserveAspectRatio='none'%3E%3Cpath fill='%23c8210b' d='M0 50V40C4 34 9 30 8 20C8 12 13 8 13 0C21 9 25 17 23 27C27 23 29 18 29 12C37 21 41 31 38 40C42 37 44 32 44 28C50 34 54 40 52 46C56 44 58 42 60 40V50Z'/%3E%3C/svg%3E");
  --f-mid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 40' preserveAspectRatio='none'%3E%3Cpath fill='%23ff7a1a' d='M0 40V32C3 27 8 25 8 17C8 11 12 7 12 0C19 8 22 16 20 23C24 20 26 17 26 11C32 19 36 28 33 34C37 33 40 30 41 26C43 30 44 34 44 40Z'/%3E%3C/svg%3E");
  --f-front: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 30' preserveAspectRatio='none'%3E%3Cpath fill='%23ffd23f' d='M0 30V24C2 20 6 18 6 12C6 8 9 5 9 0C14 6 17 11 15 16C19 14 20 11 20 7C25 13 28 19 26 24C29 23 31 21 32 19C33 22 34 26 34 30Z'/%3E%3C/svg%3E"); }
#btnIdleMaps.is-raid-live > *, .raid-row.is-live > *:not(.raid-gate) { position: relative; z-index: 2; }
.raid-row.is-live { --fh: 24%; --fl: 4.4rem; }
.raid-row.is-live strong, .raid-row.is-live small, .raid-row.is-live .idle-map-extra, #btnIdleMaps.is-raid-live span { text-shadow: 0 1px 2px rgba(0, 0, 0, .95), 0 0 6px rgba(0, 0, 0, .7); }
#btnIdleMaps.is-raid-live::before, .raid-row.is-live::before { content: ''; position: absolute; left: -3%; right: -3%; bottom: -2px; height: var(--fh); z-index: 1; pointer-events: none; transform-origin: 50% 100%;
  background-repeat: repeat-x; background-position: 0 100%, 0 100%, 0 100%;
  background-size: var(--fl) 100%, calc(var(--fl) * .74) 72%, calc(var(--fl) * .56) 48%;
  background-image: var(--f-front), var(--f-mid), var(--f-back);
  filter: drop-shadow(0 -1px 5px rgba(255, 120, 20, .65)); opacity: .92;
  animation: flameDance 1.15s ease-in-out infinite alternate, flameSlide 5.2s linear infinite; }
#btnIdleMaps.is-raid-live::after, .raid-row.is-live::after { content: ''; position: absolute; inset: 0; width: auto; height: auto; z-index: 1; pointer-events: none; transform: none; box-shadow: none; border-radius: inherit; opacity: 1;
  background-image: radial-gradient(circle, #ffe9a0 0 1.1px, rgba(255, 190, 60, 0) 2.2px), radial-gradient(circle, #ff9d42 0 1.4px, rgba(255, 120, 30, 0) 2.8px), radial-gradient(circle, #fff6d0 0 .9px, rgba(255, 255, 255, 0) 1.8px);
  background-size: 4.4rem 4.4rem, 6.1rem 6.1rem, 3.4rem 3.4rem; background-position: 0 0, 1.7rem 2.6rem, 2.9rem 1rem; background-repeat: repeat;
  -webkit-mask-image: linear-gradient(to top, #000 8%, transparent 92%); mask-image: linear-gradient(to top, #000 8%, transparent 92%);
  animation: emberRise 2.4s linear infinite; }
#btnIdleMaps.is-raid-live { --fl: 2.4rem; --fh: 38%; }
@keyframes flameDance { 0% { transform: scaleY(.88) skewX(-1.5deg); } 50% { transform: scaleY(1.05) skewX(1.5deg); } 100% { transform: scaleY(.94) skewX(-.5deg); } }
@keyframes flameSlide { from { background-position: 0 100%, 0 100%, 0 100%; } to { background-position: calc(var(--fl) * -1) 100%, calc(var(--fl) * .74) 100%, calc(var(--fl) * -.56) 100%; } }
@keyframes emberRise { from { background-position: 0 0, 1.7rem 2.6rem, 2.9rem 1rem; } to { background-position: .4rem -4.4rem, 1.3rem -3.5rem, 2.5rem -2.4rem; } }
@media (prefers-reduced-motion: reduce) { #btnIdleMaps.is-raid-live::before, #btnIdleMaps.is-raid-live::after, .raid-row.is-live::before, .raid-row.is-live::after { animation: none; } }
/* Avisos do jogo sempre acima de qualquer janela aberta (ex.: Boss Raid bloqueada sobre o seletor de mapas). */
#gameAlertModal.modal-backdrop { z-index: 10000; }

/* Golpes do Pokémon ativo (4 quadradinhos com recarga) e bônus ativos ao lado do nome. */
.idle-unit-moves { grid-column: 1 / -1; display: flex; gap: .22rem; margin-top: .28rem; }
.idle-mv { --c: #94a3b8; position: relative; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; overflow: hidden; border: 2px solid var(--c); border-radius: .3rem; background: #0b1424; cursor: help; }
.idle-mv .game-type-symbol, .idle-mv svg { width: .95rem; height: .95rem; }
.idle-mv.is-status { opacity: .55; border-style: dashed; }
.idle-mv.is-potion { margin-left: auto; border-radius: .5rem; }
.idle-mv.is-potion svg, .idle-mv.is-potion img { width: 1.05rem; height: 1.05rem; }
.idle-mv.is-potion em { position: absolute; right: 1px; bottom: 0; z-index: 2; color: #fff; font: 800 .4rem var(--font-clean); font-style: normal; text-shadow: 0 1px 2px #000, 0 0 3px #000; }
.idle-mv.is-potion.is-empty { opacity: .45; filter: grayscale(.7); }
.idle-mv i { position: absolute; left: 0; right: 0; bottom: 0; height: 0; background: rgba(4, 8, 18, .78); transition: height .12s linear; }
.idle-mv b { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font: 400 .62rem var(--font-pixel-ui); text-shadow: 0 1px 2px #000, 0 0 4px #000; opacity: 0; }
.idle-mv.is-cooling b { opacity: 1; }
.idle-mv.is-ready { box-shadow: 0 0 .4rem color-mix(in srgb, var(--c) 55%, transparent); }
.idle-mv.is-cooling .game-type-symbol, .idle-mv.is-cooling svg { opacity: .45; }
.idle-mv::after { content: attr(data-tip); position: absolute; left: 0; top: calc(100% + .3rem); width: max-content; max-width: 10rem; padding: .3rem .45rem; border: 1px solid #38506e; border-radius: .35rem; background: #0a1424f7; color: #dce9f7; font: 600 .5rem/1.4 var(--font-clean); text-align: left; opacity: 0; visibility: hidden; pointer-events: none; z-index: 9; }
.idle-mv:hover::after { opacity: 1; visibility: visible; }
.idle-unit.is-ally { position: relative; }
.idle-buffs { position: absolute; top: calc(100% + .3rem); left: 0; right: 0; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: .25rem; }
.idle-buffs:empty { display: none; }
.idle-buff { --c: #60a5fa; position: relative; display: grid; place-items: center; width: 1.1rem; height: 1.1rem; border-radius: .28rem; border: 1px solid color-mix(in srgb, var(--c) 75%, transparent); background: color-mix(in srgb, var(--c) 18%, #0a1424); cursor: help; animation: buffBlink 2.2s ease-in-out infinite; }
.idle-buff svg { width: .8rem; height: .8rem; }
.idle-buff::after { content: attr(data-tip); position: absolute; left: 0; top: calc(100% + .3rem); width: max-content; max-width: 12rem; padding: .3rem .45rem; border: 1px solid #38506e; border-radius: .35rem; background: #0a1424f7; color: #dce9f7; font: 600 .5rem/1.4 var(--font-clean); text-align: left; opacity: 0; visibility: hidden; pointer-events: none; z-index: 9; }
.idle-buff:hover::after { opacity: 1; visibility: visible; }
@keyframes buffBlink { 0%, 100% { opacity: .62; box-shadow: 0 0 0 transparent; } 50% { opacity: 1; box-shadow: 0 0 .5rem color-mix(in srgb, var(--c) 80%, transparent); } }
@media (prefers-reduced-motion: reduce) { .idle-buff { animation: none; } }