
/* Dementor Battle | Upgrade Observatory v2 */
.upg-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:17px 0 18px}
.upg-intro h2{font:800 29px 'Roboto Condensed',Inter,sans-serif;letter-spacing:.8px}
.upg-intro h2 span{color:#b388ff}
.upg-intro p{color:#8394ac;font-size:12px;margin-top:5px}
.upg-badge{padding:9px 13px;white-space:nowrap;background:#1f1730;border:1px solid #6e3d91;border-radius:7px;color:#c8a3f7;font:700 11px Inter,sans-serif;letter-spacing:.9px}
.upg-layout{display:grid;grid-template-columns:minmax(395px,.88fr) minmax(520px,1.2fr);gap:17px;align-items:start}
.upg-main{min-width:0;border:1px solid #60477f;border-radius:15px;position:relative;overflow:hidden;padding:22px 21px 24px;text-align:center;background:radial-gradient(ellipse 90% 70% at 50% 35%,#412b6b77,transparent 70%),linear-gradient(160deg,#1b1e30,#101623 85%);box-shadow:inset 0 0 45px #422d6226,0 14px 30px #0004}
.upg-main::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:radial-gradient(#b184ff 1px,transparent 1px);background-size:32px 33px;mask-image:linear-gradient(180deg,#000,transparent 74%)}
.upg-panel-head{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;font:700 12px 'Roboto Condensed';letter-spacing:1.4px;color:#ddd2f6}
.upg-panel-head small{font:600 10px Inter;color:#8c82a2;letter-spacing:0}
.upg-pair{display:grid;grid-template-columns:1fr 28px 1fr;gap:5px;align-items:center;margin:13px 0 1px;position:relative;z-index:2}
.upg-picked{min-width:0;min-height:131px;border-radius:9px;border:1px solid #403954;background:linear-gradient(140deg,#242336bd,#111724dc);padding:10px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.upg-picked img{width:100%;height:74px;object-fit:contain;filter:drop-shadow(0 8px 11px #0009)}
.upg-picked strong{font:700 12px 'Roboto Condensed';overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
.upg-picked b{font:700 15px 'Roboto Condensed';color:#ffb079}
.upg-picked small{font:600 10px Inter;color:#7c86a0}
.upg-swap{font-size:24px;color:#b77cff}
.upg-orb-wrap{height:365px;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate;margin:0 auto;max-width:460px}
.upg-orb-halo{width:350px;height:350px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#934df34a,transparent 68%);filter:blur(16px);animation:orb-breathe 4s ease-in-out infinite}
.upg-orb-stage{width:330px;height:330px;position:relative;flex:0 0 auto;border-radius:50%;filter:drop-shadow(0 0 26px #9c59c83c)}
.upg-orb-track{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#bf80ff 0deg var(--angle),#3f334e var(--angle) 360deg);box-shadow:inset 0 0 0 2px #be91ed6a,0 0 0 5px #161625,0 0 29px #a368e83b}
.upg-orb-track::after{content:'';position:absolute;inset:9px;border-radius:50%;background:linear-gradient(135deg,#0c1020,#251c36);box-shadow:inset 0 0 0 1px #8b63926b}
.upg-orb-glass{position:absolute;inset:18px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 30% 22%,#9384bc73,#42315733 28%,#100d26 72%,#170e24 90%);box-shadow:inset 0 0 38px 12px #070713b8,inset 13px 12px 37px #e6bbfa19,inset -14px -18px 33px #191026;isolation:isolate}
.upg-orb-liquid{position:absolute;bottom:0;left:0;right:0;height:var(--liquid);background:linear-gradient(180deg,#d777f9aa 0%,#8e3deb 24%,#5020c1 60%,#240b66 100%);box-shadow:inset 0 11px 38px #e99cff66,0 -7px 33px #bc4fff5a;transition:height .6s cubic-bezier(.2,.7,.25,1);z-index:-1}
.upg-orb-liquid::before,.upg-orb-liquid::after{content:'';position:absolute;width:170%;height:44px;border-radius:48%;left:-35%;top:-21px;background:#c16fff8f;animation:orb-wave 5.8s ease-in-out infinite;transform-origin:50% 80%}
.upg-orb-liquid::after{opacity:.52;top:-27px;height:56px;background:#fa9bff6c;animation-duration:4.3s;animation-direction:reverse}
.upg-orb-glass::before{content:'';position:absolute;inset:0;border-radius:50%;z-index:4;pointer-events:none;background:radial-gradient(ellipse 44% 28% at 34% 17%,#fff9,transparent 85%),radial-gradient(ellipse 18% 10% at 72% 75%,#e8b8ff3d,transparent 95%);mix-blend-mode:screen;opacity:.38}
.upg-orb-glass::after{content:'';position:absolute;inset:9px;border:1px solid #caacff39;border-radius:50%;pointer-events:none}
.upg-orb-bubbles{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 33% 75%,#d4a4fb70 0 4px,transparent 6px),radial-gradient(circle at 64% 61%,#e6b7fc55 0 3px,transparent 5px),radial-gradient(circle at 47% 87%,#cf9afa4d 0 7px,transparent 9px),radial-gradient(circle at 78% 77%,#d8a9ff66 0 3px,transparent 5px);animation:orb-bubbles 7s ease-in-out infinite}
.upg-orb-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;pointer-events:none;text-shadow:0 3px 15px #050315,0 1px 4px #050315}
.upg-orb-label strong{font:800 65px 'Roboto Condensed',sans-serif;color:#faf3ff;line-height:1;letter-spacing:-1px}
.upg-orb-label small{margin-top:8px;font:800 11px Inter;letter-spacing:2px;color:#e7cdfa}
.upg-orb-label em{font:600 11px Inter;font-style:normal;margin-top:6px;color:#bb9de6}
.upg-orb-pointer{position:absolute;left:50%;top:50%;width:0;height:0;transform:translate(-50%,-50%) rotate(0deg);z-index:12;pointer-events:none;will-change:transform}
.upg-orb-pointer::before{content:'';position:absolute;top:-171px;left:-8px;width:16px;height:23px;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(90deg,#fff7cf,#ffc55c,#fa60c1);filter:drop-shadow(0 0 8px #f8bdff)}
.upg-orb-pointer::after{content:'';position:absolute;top:-182px;left:-5px;width:10px;height:10px;border-radius:50%;background:#fff3b9;box-shadow:0 0 12px #fffa9b,0 0 20px #c775ff}
.upg-orb-indicator{position:absolute;bottom:-3px;left:50%;transform:translateX(-50%);padding:5px 12px;border:1px solid #5c4c77;background:#141625c9;color:#b7a1d9;border-radius:22px;font:700 10px Inter;white-space:nowrap;letter-spacing:1px}
.upg-chance-label{color:#a99ac6;font-size:11px;font-weight:700;letter-spacing:.7px;margin:3px 0 11px}
.upg-chance-options{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-bottom:16px}
.upg-chance-btn{border:1px solid #5b4479;color:#d3beeb;background:linear-gradient(#30253f,#1b1c2b);border-radius:7px;min-width:58px;padding:10px 7px;font:800 16px 'Roboto Condensed';transition:.15s}
.upg-chance-btn:hover{border-color:#ae7dee;box-shadow:0 0 12px #935dba33}
.upg-chance-btn.active{background:linear-gradient(130deg,#8d50f9,#db73e5);border-color:#e1a3ff;color:white;box-shadow:0 0 20px #b660ff45}
.upg-action{width:100%;max-width:345px;border:1px solid #eac4ff;background:linear-gradient(120deg,#b75bff,#8349e1 65%,#6323ce);box-shadow:0 4px 24px #b044fa42;color:#fff;padding:14px 25px;border-radius:9px;font:800 22px 'Roboto Condensed';letter-spacing:1px;position:relative;z-index:3;transition:.2s}
.upg-action:not(:disabled):hover{box-shadow:0 0 28px #b64dff8a;transform:translateY(-2px)}
.upg-action:disabled{filter:saturate(.35);opacity:.43}
.upg-formula{color:#6f7992;font:500 10px Inter;margin:12px auto 0;max-width:350px;line-height:1.6}
.upg-result{margin-top:16px;border:1px solid #8356ac;border-radius:11px;padding:13px;background:linear-gradient(110deg,#462d6a99,#20203b);text-align:left;display:flex;align-items:center;gap:13px}
.upg-result.good{border-color:#55d9a2;background:linear-gradient(110deg,#174c4588,#1a2434)}
.upg-result.bad{border-color:#ef6387;background:linear-gradient(110deg,#5f284788,#271b33)}
.upg-result img{width:95px;height:73px;object-fit:contain;flex:none}
.upg-result-content{flex:1;min-width:0}
.upg-result-content b{display:block;font:800 19px 'Roboto Condensed';color:#fff}
.upg-result-content small{font-size:10px;color:#acb2c6}
.upg-result-content p{font:600 11px Inter;line-height:1.4;margin-top:4px;overflow:hidden;text-overflow:ellipsis}
.upg-side{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}
.upg-browser{min-width:0;padding:14px;background:linear-gradient(160deg,#1b2231,#121824);border:1px solid #354158;border-radius:12px}
.upg-browser-title{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-bottom:11px}
.upg-browser-title h3{font:800 18px 'Roboto Condensed';letter-spacing:.5px}
.upg-browser-title h3 span{color:#b98aff}
.upg-browser-title small{font:600 10px Inter;color:#8e99ac}
.upg-search{display:block;width:100%;background:#0c1320;border:1px solid #36435a;color:#dae5f4;border-radius:6px;padding:10px 11px;outline:none;font:600 12px Inter}
.upg-search:focus,.upg-filter-input:focus,.upg-sort:focus{border-color:#ac73f8}
.upg-control-line{display:flex;align-items:center;gap:7px;margin-bottom:11px}
.upg-control-line > *{min-width:0;flex:1}
.upg-control-line label{font-size:10px;color:#9eacc3}
.upg-price-line{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0}
.upg-price-line label{display:flex;flex-direction:column;gap:4px;color:#8090aa;font-size:10px;min-width:0}
.upg-filter-input,.upg-sort{background:#0d1420;border:1px solid #38465a;color:#d4ddec;border-radius:6px;padding:9px 10px;min-width:0;width:100%;font:600 11px Inter;outline:none}
.upg-browser-hint{font-size:10px;color:#72809a;line-height:1.5;margin:8px 0}
.upg-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;max-height:515px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#4b4666 #161d2a;padding:2px}
.upg-list .upg-item{position:relative;min-width:0;display:flex;align-items:center;flex-direction:column;padding:9px 6px 8px;border:1px solid #384557;border-bottom:3px solid var(--rare,#7159a4);background:radial-gradient(ellipse at 50% 12%,#3b374f55,#192130 65%);border-radius:7px;color:#dce7f5;text-align:center;min-height:145px;transition:border-color .15s,background .15s}
.upg-list .upg-item:hover{background:#282941;border-color:#a879e3}
.upg-list .upg-item.selected{border-color:#c997ff;border-bottom-color:#d59bff;box-shadow:inset 0 0 0 1px #b585e861,0 0 15px #9e59e52a}
.upg-item img{width:100%;height:73px;object-fit:contain;filter:drop-shadow(0 6px 10px #0008)}
.upg-item-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:600 10px Inter;line-height:1.25;min-height:25px;max-width:100%}
.upg-item strong{font:800 16px 'Roboto Condensed';color:#ffb17b;margin-top:auto}
.upg-item .sel-icon{position:absolute;top:4px;right:5px;color:#e5b1ff}
.upg-none{padding:35px 10px;border:1px dashed #3d4760;text-align:center;color:#93a0b4;font-size:11px;border-radius:7px;grid-column:1/-1;line-height:1.8}
.upg-page{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:10px;color:#8793a7;font:600 10px Inter}
.upg-page button{background:#26304a;border:1px solid #4e5374;border-radius:5px;color:#c4d1eb;padding:5px 11px}
.upg-page button:disabled{opacity:.3}
.upg-page button:hover:not(:disabled){border-color:#b685fc}
.upg-callout{margin-top:12px;color:#93a0b4;font-size:10px;line-height:1.5;text-align:center}
.upg-main.spinning .upg-orb-glass{box-shadow:inset 0 0 55px 15px #8241ff88,inset 0 0 33px #150d38}
.upg-main.spinning .upg-orb-halo{animation:orb-breathe .7s linear infinite}
.upg-main.done-good .upg-orb-track{filter:drop-shadow(0 0 24px #60e5ba)}
.upg-main.done-bad .upg-orb-track{filter:drop-shadow(0 0 22px #ff417d)}
@keyframes orb-wave{0%,100%{transform:translateX(-2%) rotate(-6deg)}50%{transform:translateX(4%) rotate(6deg)}}
@keyframes orb-bubbles{0%,100%{transform:translateY(7px)}50%{transform:translateY(-10px)}}
@keyframes orb-breathe{0%,100%{opacity:.55;scale:.96}50%{opacity:1;scale:1.04}}
@media(max-width:1400px){.upg-layout{grid-template-columns:minmax(340px,.78fr) minmax(500px,1.2fr)}.upg-orb-stage{width:290px;height:290px}.upg-orb-wrap{height:315px}.upg-orb-pointer::before{top:-151px}.upg-orb-pointer::after{top:-161px}.upg-orb-label strong{font-size:57px}.upg-list{max-height:450px}.upg-browser{padding:10px}}
@media(max-width:1090px){.upg-layout{grid-template-columns:1fr}.upg-side{grid-template-columns:1fr 1fr}.upg-orb-stage{width:330px;height:330px}.upg-orb-wrap{height:360px}.upg-orb-pointer::before{top:-171px}.upg-orb-pointer::after{top:-182px}.upg-list{max-height:350px}}
@media(max-width:700px){.upg-side{grid-template-columns:1fr}.upg-orb-stage{width:280px;height:280px}.upg-orb-wrap{height:300px}.upg-orb-pointer::before{top:-146px}.upg-orb-pointer::after{top:-157px}.upg-orb-label strong{font-size:54px}.upg-main{padding:16px 13px}.upg-intro h2{font-size:22px}.upg-badge{display:none}.upg-list{grid-template-columns:repeat(3,minmax(0,1fr))}.upg-picked{min-height:113px}.upg-picked img{height:63px}}
@media(max-width:430px){.upg-list{grid-template-columns:repeat(2,minmax(0,1fr))}.upg-chance-btn{min-width:49px}.upg-orb-stage{width:258px;height:258px}.upg-orb-wrap{height:277px}.upg-orb-pointer::before{top:-135px}.upg-orb-pointer::after{top:-144px}.upg-orb-label strong{font-size:48px}}
@media(prefers-reduced-motion:reduce){.upg-orb-halo,.upg-orb-bubbles,.upg-orb-liquid::before,.upg-orb-liquid::after{animation:none}}

/* Upgrade uses the full viewport rather than the generic case-opening promo. */
.view-upgrade .promo-strip{display:none}
.view-upgrade .market-status{padding-top:15px;padding-bottom:15px}
