﻿/* Pokeroute, centre column: one calm trainer card. Fewer boxes, one primary action, secondary actions as quiet links.
   Desktop only; loaded after hub.css. The Pokémon / eggs (left) and the floor map (right) are untouched. */
html:not(.battlemon-mobile) #towerScreen .tower-challenger-panel { display: flex; flex-direction: column; padding: 1rem 1.3rem .9rem; gap: .85rem; }

/* 1. Progress: one line of text + ten slim segments (no tower illustration, no blurb) */
html:not(.battlemon-mobile) #towerScreen .tower-climb { display: block; padding: 0; margin: 0; border: 0; background: none; box-shadow: none; }
html:not(.battlemon-mobile) #towerScreen .tower-climb .climb-tower,
html:not(.battlemon-mobile) #towerScreen .tower-climb .climb-info h3,
html:not(.battlemon-mobile) #towerScreen .tower-climb .climb-info p { display: none; }
html:not(.battlemon-mobile) #towerScreen .climb-info { gap: .55rem; }
html:not(.battlemon-mobile) #towerScreen .climb-floor-line { align-items: center; gap: .5rem; font-size: .6rem; }
html:not(.battlemon-mobile) #towerScreen .climb-floor-line b { font-size: .95rem; letter-spacing: .04em; }
html:not(.battlemon-mobile) #towerScreen .climb-floor-line em { padding: 0; background: none; color: #8aa4c8; font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }
html:not(.battlemon-mobile) #towerScreen .climb-pips { gap: .3rem; }
html:not(.battlemon-mobile) #towerScreen .climb-pip { aspect-ratio: auto; height: .42rem; padding: 0; border: 0; border-radius: .3rem; background: #1a2740; font-size: 0; color: transparent; }
html:not(.battlemon-mobile) #towerScreen .climb-pip.is-done { background: linear-gradient(90deg, #4ade80, #22a35a); }
html:not(.battlemon-mobile) #towerScreen .climb-pip.is-now { background: linear-gradient(90deg, #fbbf24, #f97316); box-shadow: 0 0 .7rem #fbbf24aa; }
html:not(.battlemon-mobile) #towerScreen .climb-pip.is-boss { background: #2a2a3a; box-shadow: inset 0 0 0 1px #fbbf2488; }
html:not(.battlemon-mobile) #towerScreen .climb-pip.is-boss.is-done, html:not(.battlemon-mobile) #towerScreen .climb-pip.is-boss.is-now { background: linear-gradient(90deg, #fde047, #f59e0b); }

/* 2. Card body */
html:not(.battlemon-mobile) #towerScreen .challenger-card { gap: .75rem; justify-content: flex-start; }
html:not(.battlemon-mobile) #towerScreen .challenger-sector-banner { padding: 0; border: 0; background: none; box-shadow: none; justify-content: space-between; align-items: center; flex-wrap: nowrap; }
html:not(.battlemon-mobile) #towerScreen #challengerSectorName { color: #7f93b3; font: 700 .62rem var(--font-pixel-ui); letter-spacing: .1em; }
html:not(.battlemon-mobile) #towerScreen .challenger-sector-banner .rank-pill { font-size: .55rem; padding: .2rem .6rem; }

/* 3. Trainer hero, centered */
html:not(.battlemon-mobile) #towerScreen .challenger-profile { flex-direction: column; align-items: center; gap: .55rem; padding: .2rem 0 0; text-align: center; }
html:not(.battlemon-mobile) #towerScreen .challenger-profile .trainer-avatar-frame { width: 6.6rem; height: 6.6rem; }
html:not(.battlemon-mobile) #towerScreen .challenger-meta { display: grid; justify-items: center; gap: .25rem; }
html:not(.battlemon-mobile) #towerScreen .challenger-name { margin: 0; font-size: 1.45rem; line-height: 1.15; text-align: center; }
html:not(.battlemon-mobile) #towerScreen .challenger-title { color: #8aa4c8; font-size: .72rem; letter-spacing: .04em; text-align: center; }
html:not(.battlemon-mobile) #towerScreen .challenger-quote { margin: 0 auto; max-width: 30rem; padding: 0; border: 0; background: none; color: #93a5c4; font: italic 600 .78rem/1.45 var(--font-clean, inherit); text-align: center; }

/* 4. Opponent team: small tiles in one row. Hidden Pokémon are just "?" tiles. */
html:not(.battlemon-mobile) #towerScreen .challenger-team-section { margin: 0; }
html:not(.battlemon-mobile) #towerScreen #challengerTeamGrid { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
html:not(.battlemon-mobile) #towerScreen #challengerTeamGrid .enemy-preview-poke { flex: 0 0 auto; width: 4.2rem; min-height: 0; padding: .35rem .3rem; gap: .15rem; border-radius: .6rem; }
html:not(.battlemon-mobile) #towerScreen #challengerTeamGrid .enemy-poke-unknown { width: 3.4rem; height: 3.4rem; padding: 0; justify-content: center; }
html:not(.battlemon-mobile) #towerScreen #challengerTeamGrid .enemy-poke-unknown .ep-name,
html:not(.battlemon-mobile) #towerScreen #challengerTeamGrid .enemy-poke-unknown .card-mini-types { display: none; }
html:not(.battlemon-mobile) #towerScreen #challengerTeamGrid .enemy-poke-unknown .mystery-poke-box { width: 100%; height: 100%; border: 0; background: none; }
html:not(.battlemon-mobile) #towerScreen #challengerTeamGrid .enemy-preview-poke > img { width: 2.6rem; height: 2.6rem; }
html:not(.battlemon-mobile) #towerScreen #challengerTeamGrid .ep-name { font-size: .5rem; }

/* 5. Reward: a small centered chip */
html:not(.battlemon-mobile) #towerScreen .challenger-rewards-row { justify-content: center; margin: 0; }
html:not(.battlemon-mobile) #towerScreen .challenger-rewards-row .reward-tag { padding: .25rem .8rem; border-radius: 2rem; border: 1px solid #fbbf2455; background: #fbbf240f; font-size: .68rem; width: auto; }

/* 6. Actions: one primary button, two quiet buttons, one tiny link */
html:not(.battlemon-mobile) #towerScreen .challenger-actions { gap: .55rem; margin-top: auto; }
html:not(.battlemon-mobile) #towerScreen .challenger-sub-actions { display: flex; justify-content: center; gap: .5rem; }
html:not(.battlemon-mobile) #towerScreen .challenger-sub-actions .btn-sub-tower { flex: 0 1 auto; min-height: 0; padding: .4rem 1rem; border-radius: 2rem; border: 1px solid #ffffff22; background: transparent; box-shadow: none; color: #9fb4d3; font: 700 .68rem var(--font-clean, inherit); transform: none; }
html:not(.battlemon-mobile) #towerScreen .challenger-sub-actions .btn-sub-tower:hover { color: #fff; border-color: #7dd3fc88; background: #7dd3fc14; }
html:not(.battlemon-mobile) #towerScreen .challenger-sub-actions .btn-tower-tips:hover { border-color: #fbbf2488; background: #fbbf2414; }
html:not(.battlemon-mobile) #towerScreen .challenger-sub-actions svg { width: .95rem; height: .95rem; }
html:not(.battlemon-mobile) #towerScreen #btnResetTowerRun { align-self: center; width: auto; min-height: 0; padding: .15rem .6rem; border: 0; background: none; box-shadow: none; color: #ef444499; font: 700 .6rem var(--font-clean, inherit); text-transform: none; transform: none; }
html:not(.battlemon-mobile) #towerScreen #btnResetTowerRun:hover { color: #f87171; background: none; text-decoration: underline; }

/* Balance: the trainer block floats in the middle of the free space; the actions stay at the bottom */
html:not(.battlemon-mobile) #towerScreen .challenger-profile { margin-top: auto; }
html:not(.battlemon-mobile) #towerScreen .challenger-rewards-row { margin-bottom: auto; }
html:not(.battlemon-mobile) #towerScreen .challenger-profile .trainer-avatar-frame { width: 7.6rem; height: 7.6rem; }
html:not(.battlemon-mobile) #towerScreen .challenger-profile .trainer-avatar-frame img { width: 6.6rem; height: 6.6rem; }
html:not(.battlemon-mobile) #towerScreen .challenger-card { gap: .9rem; }

/* ---- Tips: no "Meu time" button; the lightbulb is a swaying icon with a Meowth-style speech bubble ---- */
html:not(.battlemon-mobile) #towerScreen .tower-challenger-panel { position: relative; }
html:not(.battlemon-mobile) #towerScreen #btnGoEditSquad { display: none; }
html:not(.battlemon-mobile) #towerScreen .challenger-sub-actions { display: contents; }
html:not(.battlemon-mobile) #towerScreen .challenger-sub-actions .btn-tower-tips { position: absolute; right: 1.2rem; bottom: .95rem; z-index: 6; display: grid; place-items: center; width: 2.9rem; height: 2.9rem; min-height: 0; padding: 0; border-radius: 50%; font-size: 0; color: #3a2600; border: 2px solid #fff3b0; background: radial-gradient(circle at 35% 28%, #fff7c2, #fbbf24 58%, #b45309); box-shadow: 0 0 1rem #fbbf24aa, inset 0 -2px 4px #0004; transform-origin: 50% 8%; animation: tipSwing 3.4s ease-in-out infinite; }
html:not(.battlemon-mobile) #towerScreen .challenger-sub-actions .btn-tower-tips svg { width: 1.5rem; height: 1.5rem; stroke-width: 2.2; }
html:not(.battlemon-mobile) #towerScreen .challenger-sub-actions .btn-tower-tips:hover { color: #3a2600; background: radial-gradient(circle at 35% 28%, #ffffff, #fde047 58%, #d97706); border-color: #fff; animation-play-state: paused; box-shadow: 0 0 1.6rem #fde047; }
html:not(.battlemon-mobile) #towerScreen .challenger-sub-actions .btn-tower-tips.is-calling { animation-duration: 1.1s; box-shadow: 0 0 1.6rem #fde047, 0 0 .4rem #fff; }
@keyframes tipSwing { 0%, 46%, 100% { transform: rotate(0); } 8% { transform: rotate(16deg); } 16% { transform: rotate(-14deg); } 24% { transform: rotate(10deg); } 32% { transform: rotate(-7deg); } 40% { transform: rotate(3deg); } }
.tower-tip-bubble { position: absolute; right: 1.2rem; bottom: 4.5rem; z-index: 7; width: min(17.5rem, calc(100% - 2.4rem)); padding: .85rem 1rem 1rem; border: 3px solid #1b2333; border-radius: 1rem; background: linear-gradient(180deg, #fdfdfd, #e9eef7); color: #1b2333; box-shadow: 0 .3rem 0 #0b1426, 0 .6rem 1.4rem #0007; transform-origin: 88% 100%; }
.tower-tip-bubble[hidden] { display: none; }
.tower-tip-bubble::before, .tower-tip-bubble::after { content: ''; position: absolute; border-style: solid; right: 1.15rem; }
.tower-tip-bubble::before { bottom: -1.05rem; border-width: 1.05rem .75rem 0 .75rem; border-color: #1b2333 transparent transparent transparent; }
.tower-tip-bubble::after { bottom: -.7rem; right: 1.35rem; border-width: .75rem .55rem 0 .55rem; border-color: #e9eef7 transparent transparent transparent; }
.tower-tip-name { position: absolute; top: -.75rem; left: 1rem; padding: .1rem .55rem; border-radius: .4rem; background: #f5b400; color: #3a2600; border: 2px solid #1b2333; font: 800 .62rem var(--font-pixel-ui); letter-spacing: .08em; }
.tower-tip-bubble p { margin: 0; font: 600 .8rem/1.45 var(--font-clean, inherit); }
.tower-tip-bubble p b { color: #b45309; }
.tower-tip-bubble p { padding-right: 1.1rem; overflow-wrap: anywhere; }
.tower-tip-close { position: absolute; top: .3rem; right: .45rem; width: 1.3rem; height: 1.3rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #64748b; font-size: .7rem; cursor: pointer; }
.tower-tip-close:hover { background: #1b233318; color: #1b2333; }
.tower-tip-timer { position: absolute; left: 1rem; right: 1rem; bottom: .35rem; height: .18rem; border-radius: 1rem; background: #1b233318; overflow: hidden; }
.tower-tip-timer i { display: block; height: 100%; background: linear-gradient(90deg, #2f7cf6, #f5b400); transform-origin: left; animation: tipTimer 13s linear forwards; }
@keyframes tipTimer { from { transform: scaleX(1); } to { transform: scaleX(0); } }
.tower-tip-bubble.is-entering { animation: tipPop .45s cubic-bezier(.3, 1.5, .5, 1); }
@keyframes tipPop { from { transform: scale(.7) translateY(.6rem); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { html:not(.battlemon-mobile) #towerScreen .challenger-sub-actions .btn-tower-tips { animation: none; } .tower-tip-bubble.is-entering { animation: none; } }

/* Bulb sits at the right of the trainer block (not over the fight button); the bubble opens below it, tail pointing up */
html:not(.battlemon-mobile) #towerScreen .challenger-sub-actions .btn-tower-tips { top: 7.4rem; bottom: auto; right: 1.4rem; }
.tower-tip-bubble { top: 10.9rem; bottom: auto; right: 1.2rem; transform-origin: 90% 0; }
.tower-tip-bubble::before { top: -1.05rem; bottom: auto; border-width: 0 .75rem 1.05rem .75rem; border-color: transparent transparent #1b2333 transparent; }
.tower-tip-bubble::after { top: -.7rem; bottom: auto; right: 1.35rem; border-width: 0 .55rem .75rem .55rem; border-color: transparent transparent #fdfdfd transparent; }

/* Final placement: the bulb sits at the right end of the reward row; the bubble opens below it, tail pointing up */
html:not(.battlemon-mobile) #towerScreen .challenger-rewards-row { position: relative; }
html:not(.battlemon-mobile) #towerScreen .challenger-rewards-row .btn-tower-tips { position: absolute; top: 50%; right: .1rem; bottom: auto; margin-top: -1.35rem; width: 2.7rem; height: 2.7rem; }
html:not(.battlemon-mobile) #towerScreen .challenger-rewards-row .tower-tip-bubble { top: calc(100% + 1.2rem); right: 0; bottom: auto; width: min(17rem, 100%); }
html:not(.battlemon-mobile) #towerScreen .challenger-rewards-row .reward-tag { margin-right: 0; }

/* The bulb no longer lives in .challenger-sub-actions: style it by id */
html:not(.battlemon-mobile) #towerScreen #btnTowerTips { display: grid; place-items: center; min-height: 0; padding: 0; border-radius: 50%; font-size: 0; line-height: 0; color: #3a2600; border: 2px solid #fff3b0; background: radial-gradient(circle at 35% 28%, #fff7c2, #fbbf24 58%, #b45309); box-shadow: 0 0 1rem #fbbf24aa, inset 0 -2px 4px #0004; transform-origin: 50% 8%; animation: tipSwing 3.4s ease-in-out infinite; text-transform: none; }
html:not(.battlemon-mobile) #towerScreen #btnTowerTips svg { width: 1.5rem; height: 1.5rem; stroke-width: 2.2; }
html:not(.battlemon-mobile) #towerScreen #btnTowerTips:hover { color: #3a2600; background: radial-gradient(circle at 35% 28%, #ffffff, #fde047 58%, #d97706); border-color: #fff; animation-play-state: paused; box-shadow: 0 0 1.6rem #fde047; }
html:not(.battlemon-mobile) #towerScreen #btnTowerTips.is-calling { animation-duration: 1.1s; box-shadow: 0 0 1.6rem #fde047, 0 0 .4rem #fff; }
html:not(.battlemon-mobile) #towerScreen .challenger-rewards-row #btnTowerTips { position: absolute; top: 50%; right: .1rem; bottom: auto; margin-top: -1.35rem; width: 2.7rem; height: 2.7rem; z-index: 6; }
@media (prefers-reduced-motion: reduce) { html:not(.battlemon-mobile) #towerScreen #btnTowerTips { animation: none; } }

/* ---- Tips window: only two boxes (the modal and one per section), bigger text, tidy type tags ---- */
#gameAlertModal .game-alert-modal-card:has(.tips-box) { max-width: 44rem; width: min(94%, 44rem); }
#gameAlertModal .game-alert-banner:has(.tips-box) { padding: 0; border: 0; background: none; box-shadow: none; }
#gameAlertModal .game-alert-body:has(.tips-box) { padding: .9rem 1.1rem; }
.tips-box { gap: .7rem; max-height: min(30rem, 62vh); padding-right: .5rem; }
.tips-section { padding: .8rem 1rem .9rem; border-radius: .8rem; }
.tips-section h4 { margin: 0 0 .6rem; font-size: .78rem; }
.tips-list { gap: .6rem; }
.tips-list li { padding: 0 0 0 1.3rem; font: 600 .92rem/1.55 var(--font-clean, inherit); }
.tips-list li::before { top: calc(.775em - .22rem); left: .15rem; width: .44rem; height: .44rem; }
.tips-list li.has-chips { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; }
.tips-list li.has-chips .tip-text { flex: 0 1 auto; }
.tip-chips { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .3rem; }
.tip-type { display: inline-flex; align-items: center; gap: .3rem; height: 1.45rem; margin: 0; padding: 0 .6rem 0 .25rem; box-sizing: border-box; border-radius: 1rem; font: 800 .66rem/1 var(--font-pixel-ui); white-space: nowrap; }
.tip-type img, .tip-type svg { width: 1rem; height: 1rem; flex: none; object-fit: contain; }

/* Final bulb position: top right of the trainer block, bubble opening below it */
html:not(.battlemon-mobile) #towerScreen .challenger-profile { position: relative; }
html:not(.battlemon-mobile) #towerScreen .challenger-profile #btnTowerTips { position: absolute; top: .1rem; right: .1rem; bottom: auto; margin-top: 0; width: 2.7rem; height: 2.7rem; z-index: 6; }
html:not(.battlemon-mobile) #towerScreen .challenger-profile .tower-tip-bubble { top: 3.9rem; right: 0; bottom: auto; width: min(16rem, 100%); }

/* Bubble opens to the left of the bulb, over the empty area beside the avatar (never over the name) */
html:not(.battlemon-mobile) #towerScreen .challenger-profile .tower-tip-bubble { top: -.2rem; right: 3.3rem; bottom: auto; width: 12.6rem; padding: .8rem .85rem .95rem; transform-origin: 100% 20%; }
html:not(.battlemon-mobile) #towerScreen .challenger-profile .tower-tip-bubble p { font-size: .74rem; }
html:not(.battlemon-mobile) #towerScreen .challenger-profile .tower-tip-bubble::before { top: 1.1rem; bottom: auto; right: -1.05rem; left: auto; border-width: .7rem 0 .7rem 1.05rem; border-color: transparent transparent transparent #1b2333; }
html:not(.battlemon-mobile) #towerScreen .challenger-profile .tower-tip-bubble::after { top: 1.25rem; bottom: auto; right: -.7rem; left: auto; border-width: .55rem 0 .55rem .75rem; border-color: transparent transparent transparent #fdfdfd; }
