/* Illustrated controls share the game's metal edges and centered silhouettes. */
.location-switch button{padding:0;display:grid;place-items:center;border-radius:11px;box-shadow:inset 0 2px #edffff,inset 0 -3px #4b8dbb,0 3px #24264c66}
.game-chevron{display:block;width:19px;height:19px;flex-shrink:0;filter:drop-shadow(0 1px #bceeff)}.game-chevron.points-left{transform:rotate(180deg)}
.arsenal-header>button{display:grid;place-items:center;padding:0}.arsenal-header .game-chevron{width:23px;height:23px}
#home-arsenal.has-upgrades:after{display:none}.arsenal-upgrade-badge{display:none;position:absolute;right:16%;top:-2px;width:27px;height:29px;filter:drop-shadow(0 2px #171d3d77)}.has-upgrades .arsenal-upgrade-badge{display:block}.game-upgrade{width:100%;height:100%;display:block}
.shard-meter b{display:flex;align-items:center;justify-content:center;gap:3px}.shard-meter .game-upgrade{width:17px;height:17px;flex-shrink:0}
/* Chest rewards start immediately; this surface only celebrates saved loot. */
#modal.loot-dialog{width:min(94vw,52dvh,560px);height:min(86dvh,650px);max-height:none;padding:0;border:0;overflow:visible;background:transparent;box-shadow:none;color:#fff}
#modal.loot-dialog::backdrop{background:#12162be8;backdrop-filter:blur(5px)}
.loot-dialog #modal-content{height:100%;overflow:visible}.chest-celebration{position:relative;isolation:isolate;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center;padding:25px 5px 15px}
#modal .loot-close{position:absolute;right:3px;top:0;width:32px;height:32px;display:grid;place-items:center;margin:0;padding:0;border:2px solid #352b47;border-radius:10px;color:#fff;background:linear-gradient(#ef8a92,#bf4f78);box-shadow:inset 0 2px #ffc8b5,0 3px #171728;font-size:25px;line-height:1;z-index:5}
.loot-eyebrow{color:#dabbe9;font-size:9px;font-weight:900;letter-spacing:1.5px}.chest-celebration>h2{font-size:clamp(24px,5dvh,37px);margin:0!important;color:#fff2b5;text-shadow:0 3px #221a40;z-index:1}
.loot-rays{position:absolute;z-index:-1;inset:1% -7% 9%;background:repeating-conic-gradient(from 0deg,#ffc5602b 0 12deg,transparent 12deg 30deg);mask-image:radial-gradient(ellipse,black,transparent 68%);animation:loot-rays 18s linear infinite;pointer-events:none}
.opening-chest{position:relative;width:clamp(112px,23dvh,185px);height:clamp(112px,23dvh,185px);filter:drop-shadow(0 0 20px #ffd17566);z-index:1}
.opening-chest>.lobby-icon{position:absolute;inset:0}.opening-chest>.lobby-chest-closed{animation:chest-shake .7s ease-in-out forwards}.opening-chest>.lobby-chest-open{animation:chest-pop .45s .65s cubic-bezier(.2,.8,.3,1.4) both}
.loot-sparks{position:absolute;left:50%;top:34%;pointer-events:none;z-index:2}.loot-sparks>span{position:absolute;animation:loot-spark .85s .65s ease-out both}.loot-sparks .star-coin{width:17px;height:17px}
.loot-items{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;z-index:2}.loot-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:29%;min-width:68px;min-height:107px;padding:8px 4px;border:2px solid #af8bdb;border-radius:13px;background:linear-gradient(145deg,#8c69b3,#4c447d);box-shadow:inset 0 2px #dcc0f277,0 4px #171b3766;animation:loot-rise .45s calc(.85s + var(--loot-order)*.13s) cubic-bezier(.2,.9,.3,1.3) both}
.loot-item>.weapon-art{height:54px;width:43px;filter:drop-shadow(0 3px #211f4a77)}.loot-item>strong{position:absolute;right:7px;top:5px;color:#ffecac;font-size:20px;text-shadow:0 2px #4a3465}.loot-item>small{font-size:8px;font-weight:bold;color:#e4d4f7;line-height:1.25;margin-top:6px}.loot-coins{border-color:#e4c780;background:linear-gradient(145deg,#8d728e,#55467a)}.loot-coins .star-amount{flex-direction:column;gap:4px}.loot-coins .star-coin{width:42px;height:42px}.loot-coins .star-amount strong{font-size:24px;color:#ffedb3}
#modal .chest-celebration>p{font-size:11px;color:#c4c3e5;margin:0;animation:loot-rise .4s 1.2s both}#modal #loot-done{width:75%;min-height:44px;margin:0;padding:8px 12px;font-size:21px;animation:loot-rise .4s 1.25s both}
/* Quest claims float above the list, without adding height or moving tasks. */
.quest-loot-burst{position:fixed;z-index:20;bottom:13dvh;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;width:max-content;max-width:min(84vw,46dvh,440px);padding:10px 16px;border:2px solid #e8d49b;border-radius:17px;background:linear-gradient(140deg,#6b5796f5,#333c70fa);box-shadow:inset 0 2px #cbb8ef66,0 6px 25px #211d3a99;pointer-events:none;animation:quest-loot 2.8s ease both;color:#fff}
.burst-coins .star-amount{gap:4px}.burst-coins .star-coin{width:30px;height:30px}.burst-coins .star-amount strong{font-size:22px;color:#ffe6a0}.burst-shard{position:relative;display:flex;align-items:center;gap:2px;padding:3px;border-radius:7px;background:#ad83cf33;animation:loot-rise .35s calc(var(--loot-order)*.08s) both}.burst-shard .weapon-art{width:25px;height:35px}.burst-shard strong{font-size:15px;color:#ffeab1}.burst-check{color:#a8f5a6;font-size:21px;text-shadow:0 2px #284354}
#reward-hint{position:absolute;left:50%;bottom:23%;transform:translateX(-50%);z-index:40;max-width:86%;width:max-content;padding:9px 13px;border:2px solid #9b8abd;border-radius:12px;background:#343965ed;color:#eee3ff;font-size:11px;font-weight:900;text-align:center;pointer-events:none}
@keyframes chest-shake{0%,16%{transform:rotate(0)}30%,54%{transform:rotate(-6deg)}42%,66%{transform:rotate(6deg)}82%{transform:scale(1.08)}99%{opacity:1}100%{opacity:0;transform:scale(.9)}}
@keyframes chest-pop{from{opacity:0;transform:scale(.72) translateY(9px)}60%{opacity:1;transform:scale(1.14)}to{opacity:1;transform:scale(1)}}
@keyframes loot-spark{from{opacity:0;transform:translate(-8px,-8px) scale(.3)}20%{opacity:1}to{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.8)}}
@keyframes loot-rise{from{opacity:0;transform:translateY(24px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes loot-rays{to{transform:rotate(360deg)}}
@keyframes quest-loot{0%{opacity:0;transform:translate(-50%,18px) scale(.85)}12%,78%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-24px) scale(.92)}}
@media(max-height:650px){.chest-celebration{gap:9px;padding-top:20px}.loot-item{min-height:85px}.loot-item>.weapon-art{height:42px;width:34px}.loot-coins .star-coin{width:32px;height:32px}.loot-item>small{font-size:7px}.loot-item>strong{font-size:16px}.arsenal-upgrade-badge{width:24px;height:26px}.game-chevron{width:17px;height:17px}}
@media(max-height:480px) and (min-width:540px){#modal.loot-dialog{width:min(90vw,620px);height:91dvh}.chest-celebration{display:grid;grid-template-columns:1fr 1.4fr;gap:5px 18px;padding:15px 25px}.loot-eyebrow,.chest-celebration>h2{grid-column:1/-1}.opening-chest{grid-column:1;grid-row:3/6;justify-self:center;width:130px;height:130px}.loot-items{grid-column:2;grid-row:3/5;gap:6px}.loot-item{min-width:56px;min-height:88px}.chest-celebration>p{grid-column:2}#modal #loot-done{grid-column:1/-1;justify-self:center;width:45%;min-height:36px;font-size:18px}.arsenal-upgrade-badge{width:18px;height:20px}.game-chevron{width:14px;height:14px}}
@media(prefers-reduced-motion:reduce){.opening-chest>.lobby-chest-closed{display:none}.opening-chest>.lobby-chest-open,.loot-item,.chest-celebration>p,#modal #loot-done{animation:none}.loot-rays,.loot-sparks{display:none}.quest-loot-burst,.burst-shard{animation:none}}
.chest-celebration{overflow:hidden;border-radius:20px}.loot-dialog #modal-content{overflow:hidden}
