/* Shared SVG opening component, extracted from styles.css. */
.case-detail .case-reward-line{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:25px 0;text-align:left}.case-reward-line span{font-size:12px;color:var(--muted)}.case-reward-line b{font-size:24px;letter-spacing:-.9px;font-weight:500}.case-reward-line small{font-size:11px;margin-left:4px;color:var(--muted);letter-spacing:0}.opening-case{animation:case-open 1.1s ease-in-out both}
.case-reward-label{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-bottom:6px}
.case-reward-values{display:flex;align-items:baseline;justify-content:space-between;gap:6px;flex-wrap:wrap;row-gap:4px}
.case-reward-values strong{font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-.6px;white-space:nowrap}
.case-reward-line .case-ev{font-size:12px;margin:0;color:var(--muted)}
/* Case opening: real SVG lid and latches; no image shaking or animated blur. */
.case-reveal-dialog{max-width:480px}.case-reveal-dialog .dialog-header{margin-bottom:5px}.case-opening{height:270px;position:relative;isolation:isolate;color:var(--case-tone,var(--lime));overflow:visible}.case-opening .case-opening-art{display:block;width:100%;height:100%;stroke:none;stroke-width:1;fill:none;overflow:visible}.opening-lid{transform-box:view-box;transform-origin:290px 123px;will-change:transform}.opening-latches{transform-box:view-box;transform-origin:center;will-change:transform}.opening-light{opacity:0;transform-box:view-box;transform-origin:240px 195px}.opening-halo{position:absolute;inset:9% 4% 0;background:radial-gradient(ellipse,var(--case-tone),transparent 65%);opacity:0;z-index:-1;transform:scale(.75)}.opening-particles{position:absolute;left:50%;top:43%;pointer-events:none}.opening-particles i{position:absolute;display:block;width:3px;height:8px;border-radius:3px;background:var(--case-tone);opacity:0}.opening-particles i:nth-child(1){--spark-x:-82px;--spark-y:-72px;--spark-turn:-30deg}.opening-particles i:nth-child(2){--spark-x:67px;--spark-y:-90px;--spark-turn:23deg}.opening-particles i:nth-child(3){--spark-x:-111px;--spark-y:-20px;--spark-turn:-68deg}.opening-particles i:nth-child(4){--spark-x:102px;--spark-y:-27px;--spark-turn:69deg}.opening-particles i:nth-child(5){--spark-x:-35px;--spark-y:-106px;--spark-turn:-15deg}.opening-particles i:nth-child(6){--spark-x:29px;--spark-y:-114px;--spark-turn:15deg}.case-opening.is-waiting .case-opening-art{animation:opening-wait 1.8s ease-in-out infinite}.case-opening.is-waiting .opening-halo{opacity:.07}.case-opening.is-revealing .case-opening-art{animation:opening-arrive .35s ease-out both}.case-opening.is-revealing .opening-latches{animation:opening-unlock .38s .12s cubic-bezier(.22,1,.36,1) both}.case-opening.is-revealing .opening-lid{animation:opening-lift .85s .35s cubic-bezier(.22,1,.36,1) both}.case-opening.is-revealing .opening-light{animation:opening-light 1.25s .4s ease-out both}.case-opening.is-revealing .opening-halo{animation:opening-halo 1.4s .35s ease-out both}.case-opening.is-revealing .opening-particles i{animation:opening-spark .75s .77s ease-out both}.case-opening.is-opened .opening-lid{transform:translate(-4px,-68px) rotate(-8deg)}.case-opening.is-opened .opening-latches{transform:translateY(20px);opacity:.65}.case-opening.is-opened .opening-light{opacity:.32}.case-opening.is-opened .opening-halo{opacity:.09;transform:scale(1)}.case-reveal-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.4px;line-height:1.5;color:var(--muted);margin-top:8px}.case-reveal-meta span:last-child{display:flex;align-items:center;gap:5px;letter-spacing:0;color:var(--lime)}.case-reveal-meta svg,.reward-credited svg{width:13px;height:13px}.case-reveal-visual{position:relative}.case-reveal-skip{position:absolute;right:0;top:6px;display:flex;align-items:center;gap:3px;font-size:10px;min-height:44px;color:var(--muted);padding:0 3px;z-index:2}.case-reveal-skip[hidden]{display:none}.case-reveal-skip svg{width:13px;height:13px}.case-reveal-summary{text-align:center;opacity:0;transform:translateY(8px);transition:opacity .25s ease-out,transform .25s ease-out;min-height:118px}.case-reveal-summary.is-visible{opacity:1;transform:none}.case-reveal-summary .status-amount{margin:9px 0 8px;font-size:43px;font-variant-numeric:tabular-nums;line-height:1.15}.case-reveal-summary .status-amount small{font-size:14px;margin-left:8px}.case-reveal-summary p{max-width:330px;margin:0 auto;color:var(--muted);font-size:11px;line-height:1.65}.case-reveal-actions{margin-top:24px}
@keyframes opening-wait{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes opening-arrive{from{opacity:.7;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}
@keyframes opening-unlock{from{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:.65}}
@keyframes opening-lift{from{transform:translate(0,0) rotate(0)}to{transform:translate(-4px,-68px) rotate(-8deg)}}
@keyframes opening-light{0%{opacity:0;transform:scaleY(.35)}45%{opacity:.85;transform:scaleY(1)}100%{opacity:.32;transform:scaleY(1)}}
@keyframes opening-halo{0%{opacity:0;transform:scale(.75)}45%{opacity:.2;transform:scale(1.05)}100%{opacity:.09;transform:scale(1)}}
@keyframes opening-spark{0%{opacity:0;transform:translate3d(0,0,0) rotate(0) scale(.5)}18%{opacity:.7}100%{opacity:0;transform:translate3d(var(--spark-x),var(--spark-y),0) rotate(var(--spark-turn)) scale(.3)}}
/* One-shot case reveal: progress gives way to the result without a layout jump. */
.case-reveal-copy{position:relative;min-height:118px}.case-reveal-pending{position:absolute;inset:4px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;transition:opacity .2s}.case-reveal-pending>span{font-family:var(--mono);font-size:8px;letter-spacing:1.4px;color:var(--quiet)}.case-reveal-pending b{font-size:14px;font-weight:500;color:var(--muted)}.opening-progress{display:flex;gap:5px;width:92px;margin-top:1px}.opening-progress i{height:2px;flex:1;background:var(--lime);opacity:.15;animation:opening-progress 1.4s ease-out both}.opening-progress i:nth-child(2){animation-delay:.25s}.opening-progress i:nth-child(3){animation-delay:.5s}.case-reveal-copy.is-finished .case-reveal-pending{opacity:0;pointer-events:none}.case-reveal-copy .case-reveal-summary{min-height:118px}.case-reveal-actions{margin-top:22px}.case-reveal-copy.is-finished+.case-reveal-actions .primary{animation:reward-action .28s ease-out}
@keyframes opening-progress{0%{opacity:.15;transform:scaleX(.25);transform-origin:left}100%{opacity:.85;transform:scaleX(1);transform-origin:left}}
@media(prefers-reduced-motion:reduce){.tourney-rows,.case-reveal-pending,.opening-progress i,.case-reveal-actions .primary{animation:none!important;transition:none!important}}
.case-reveal-copy.is-finished .case-reveal-pending{visibility:hidden}.case-reveal-copy.is-finished .opening-progress i{animation:none}
