.treasure-dialog{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-color:#ac8d55;background:#fbf6e9}.treasure-dialog .dialog-body{padding:0}.treasure-dialog .dialog-header{background:#fffaf0}.treasure-reveal{--loot:#bacde2;--loot-rgb:186,205,226;overflow:hidden}.treasure-reveal.rarity-1,.treasure-card.rarity-1{--loot:#5cbcff;--loot-rgb:92,188,255}.treasure-reveal.rarity-2,.treasure-card.rarity-2{--loot:#ce97ff;--loot-rgb:206,151,255}.treasure-stage{height:300px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 86%,#26315b 0,#101932 54%,#0b1021 100%);color:#fff3cc;text-align:center}.treasure-stage:after{content:'';position:absolute;inset:auto 14% 24px;height:1px;background:linear-gradient(90deg,transparent,#c8a662,transparent);opacity:.55}.treasure-light{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 65%,rgba(var(--loot-rgb),.3),transparent 58%);pointer-events:none}.treasure-shader{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.treasure-overline{position:relative;display:block;padding:24px 20px 0;color:#c7b891;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.2em}.treasure-chest{position:relative;border:0;background:none;color:#fbe8b4;display:flex;align-items:center;flex-direction:column;gap:2px;width:100%;padding:8px 0 18px;cursor:pointer;z-index:2}.treasure-chest .sprite{width:180px!important;height:180px!important;object-fit:contain;filter:none!important;transform:none!important}.treasure-chest span{font-size:13px;font-weight:700;letter-spacing:.03em}.treasure-chest:focus-visible{outline:2px solid #ffdf87;outline-offset:-6px;border-radius:16px}.treasure-beam{pointer-events:none;position:absolute;inset:0 24% 26px;opacity:0;background:linear-gradient(0deg,rgba(var(--loot-rgb),.75),rgba(var(--loot-rgb),.08),transparent);clip-path:polygon(12% 0,88% 0,56% 100%,44% 100%)}.treasure-announcement{position:absolute;inset:auto 16px 37px;opacity:0;pointer-events:none}.treasure-announcement small{display:block;color:var(--loot);font-size:10px;letter-spacing:.2em;text-transform:uppercase}.treasure-announcement strong{display:block;margin-top:6px;font:700 clamp(21px,4vw,29px) Georgia,serif;line-height:1.2}.opened .treasure-chest{pointer-events:none;animation:chest-depart .55s ease-in forwards}.opened .treasure-beam{animation:treasure-beam 1.5s ease-out forwards}.opened .treasure-announcement{animation:treasure-appear .55s .35s both}.opened .treasure-stage{height:230px;transition:height .5s ease}.treasure-rewards{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:20px;background:linear-gradient(#121a30,#1c2337)}.treasure-rewards[hidden]{display:none}.treasure-card{--loot:#bacde2;--loot-rgb:186,205,226;position:relative;min-width:0;padding:16px 10px 14px;text-align:center;border:1px solid rgba(var(--loot-rgb),.6);border-radius:12px;color:#f0eadf;background:radial-gradient(ellipse at 50% 25%,rgba(var(--loot-rgb),.16),transparent 74%),#1b2437;box-shadow:inset 0 0 22px rgba(var(--loot-rgb),.06),0 3px 14px #0003;animation:treasure-card .55s calc(.28s + var(--card-delay)) both}.treasure-rarity{font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--loot)}.treasure-object{width:112px;height:112px;position:relative;margin:8px auto 14px;display:grid;place-items:center;background:radial-gradient(circle,rgba(var(--loot-rgb),.25),transparent 70%)}.treasure-object>.sprite{width:104px!important;height:104px!important;object-fit:contain;filter:none!important;transform:none!important}.treasure-object>.icon{width:48px;height:48px;color:var(--loot)}.treasure-glint{position:absolute;inset:4px;pointer-events:none;mask:var(--item-mask) center/contain no-repeat;-webkit-mask:var(--item-mask) center/contain no-repeat;background:linear-gradient(112deg,transparent 35%,#fff0 43%,#fff9 49%,#fff 50%,#fff0 57%,transparent 65%) -220px 0/320px 100% no-repeat;animation:item-glint 2.5s calc(.5s + var(--card-delay)) 3}.treasure-star{position:absolute;right:13px;top:16px;width:17px;height:17px;background:#fff3c4;clip-path:polygon(50% 0,58% 39%,100% 50%,58% 59%,50% 100%,42% 59%,0 50%,42% 39%);animation:item-star 2s calc(.5s + var(--card-delay)) 3}.treasure-card>strong{display:block;color:var(--loot);font:700 15px/1.35 Georgia,serif}.treasure-stats{display:block;font-size:11px;font-weight:700;margin-top:8px;color:#e6e4d3}.treasure-card>small{display:block;color:#b6bdcd;font-size:10px;line-height:1.4;margin-top:7px}.treasure-status{font-size:11px;text-align:center;margin:0;padding:12px 18px;color:#7c7463;background:#f8f1e3}.treasure-reveal.instant .treasure-card,.treasure-reveal.still *{animation:none!important;transition:none!important}.treasure-reveal.instant .treasure-card{opacity:1;transform:none}.treasure-reveal.still.opened .treasure-chest{opacity:0}.treasure-reveal.still.opened .treasure-announcement,.treasure-reveal.still.opened .treasure-beam{opacity:1}.treasure-reveal.still .treasure-star{opacity:.7}
@keyframes chest-depart{to{opacity:0;translate:0 -18px}}@keyframes treasure-appear{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes treasure-beam{0%{opacity:0}22%{opacity:.95}100%{opacity:.2}}@keyframes treasure-card{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes item-glint{0%,15%{background-position:-220px 0}55%,100%{background-position:160px 0}}@keyframes item-star{0%,100%{opacity:.25;rotate:0deg}45%{opacity:1;rotate:45deg}}
@media(max-width:520px){.treasure-dialog .dialog-header h2{font-size:18px}.treasure-stage{height:275px}.treasure-chest .sprite{width:164px!important;height:164px!important}.opened .treasure-stage{height:194px}.treasure-announcement{bottom:30px}.treasure-rewards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}.treasure-card:only-child{grid-column:1/-1;max-width:280px;width:100%;justify-self:center}.treasure-card{padding:13px 7px}.treasure-card>strong{font-size:13px}.treasure-object{width:94px;height:94px}.treasure-object>.sprite{width:86px!important;height:86px!important}.treasure-rarity{font-size:9px}.treasure-dialog .dialog-actions{padding:12px}}
@media(prefers-reduced-motion:reduce){.treasure-reveal *{animation:none!important;transition:none!important}.treasure-reveal.opened .treasure-chest{opacity:0}.treasure-reveal.opened .treasure-announcement,.treasure-reveal.opened .treasure-beam{opacity:1}}
