/* The loading and settled result share the pack observatory's visual language. */
#case-dialog.cinema-mode{background:radial-gradient(ellipse at 50% 30%,#40314650,transparent 65%),#12101b!important;color:#f6e6d2}
#case-dialog.cinema-mode>#dialog-title{color:#f8e8d2}
#case-dialog.cinema-mode>.opening-meta{color:#c7b4ca;border-color:#d1ad7630}
#case-dialog.cinema-mode>.close{background:#26202f!important;border-color:#d7b78955!important;color:#f7dbb4!important}
.reveal-boot{position:fixed;inset:95px 0 0;z-index:40;background:#12101b;display:grid;place-items:center}
.celestial-loader{position:relative;width:100%;height:100%;min-height:280px;overflow:hidden;isolation:isolate;background:linear-gradient(#12101b55,#12101bd9),url('/celestial-sky-20.png') center/cover;border:1px solid #d5b17a22;border-radius:18px;display:grid;place-items:center}
.loader-orbit{position:absolute;width:240px;height:240px;border:1px solid #d7b78377;border-radius:50%;transform:rotateX(65deg) rotateZ(-25deg);box-shadow:0 0 25px #c79f7817;top:calc(40% - 120px)}
.loader-orbit:after{content:'✦';position:absolute;top:12px;left:30px;color:#ffe2a7;text-shadow:0 0 12px #ffcc88;animation:loader-spark 3s ease-in-out infinite}
.loader-orbit.orbit-two{transform:rotateY(65deg) rotateZ(35deg);width:200px;height:200px;top:calc(40% - 100px);border-color:#b59ce366}
.loader-slab{position:absolute;top:calc(38% - 90px);width:112px;height:168px;padding:14px 8px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;border:2px solid #f2cc89;border-radius:12px;color:#eaca8f;background:linear-gradient(120deg,#796476,#272032 45%,#4f3a50);box-shadow:inset 0 0 0 4px #f8e7cb22,6px 5px 0 #5a455a,0 20px 45px #000a;animation:loader-slab 5s ease-in-out infinite;transform-style:preserve-3d}
.loader-slab span{font-size:8px;letter-spacing:1px}.loader-slab b{font-size:57px;font-weight:400;text-shadow:0 0 25px #fac77199}.loader-slab small{font-size:5px;letter-spacing:1px}
.loader-copy{position:absolute;top:69%;text-align:center;left:15px;right:15px;color:#f2dfc5}.loader-copy>span{display:block;font-size:8px;letter-spacing:2.4px;color:#cbaa80}.loader-copy>strong{display:block;font-size:20px;margin:10px 0}.loader-copy p{font-size:11px;color:#b7a9c3;margin:0}.loader-copy>i{display:block;margin:20px auto 0;width:120px;height:2px;overflow:hidden;background:#d9b98625}.loader-copy>i:before{content:'';display:block;width:45%;height:100%;background:#f4ca86;animation:loader-progress 1.7s ease-in-out infinite}
#case-dialog .pg-loading{background:#12101b;padding:0;z-index:4}.pg-loading>.celestial-loader{height:100%}
#case-dialog.phaser-opening .pg-heading{color:#f6e3cb}#case-dialog.phaser-opening .pg-tag{color:#d7b484}#case-dialog.phaser-opening .pg-instruction,#case-dialog.phaser-opening .pg-note{color:#b7a8c1}
#case-dialog.phaser-opening .pg-controls .secondary{background:#2c2535;color:#ecd2b3;border:1px solid #d6b58444}
#case-dialog.cinema-mode.revealed{background:linear-gradient(#12101b45,#12101b 90%),url('/celestial-sky-20.png') center top/100% auto no-repeat,#12101b!important}
#case-dialog.cinema-mode.revealed .winner-stage:not(.god-winner){display:flex;align-items:center;justify-content:center;gap:clamp(30px,6vw,85px);padding:25px 12px!important;min-height:0;max-width:1000px;width:100%;isolation:isolate}
#case-dialog.cinema-mode.revealed .winner-info{padding:25px;max-width:380px;border:1px solid #c8a57033;border-radius:20px;background:linear-gradient(130deg,#46304488,#211c2b88);box-shadow:0 20px 50px #0002}
#case-dialog.cinema-mode .winner-info h3{color:#fff1dc;font-size:clamp(28px,3vw,42px)}#case-dialog.cinema-mode .winner-info>strong{color:#eeca91!important;font-size:30px}#case-dialog.cinema-mode .winner-info .rarity-label{color:#ead1b0;background:#eaca8e0a;border-color:#c9a47850;font-size:9px;line-height:1.6}#case-dialog.cinema-mode .winner-info .winner-grade{color:#c8b6cb}#case-dialog.cinema-mode .winner-info p{color:#baacc1;line-height:1.7}#case-dialog.cinema-mode>#reveal-result{color:#b5a5bf;line-height:1.7;font-size:11px}
#case-dialog.cinema-mode.revealed>.opening-actions{display:flex;gap:10px;flex-wrap:wrap}#case-dialog.cinema-mode.revealed>.opening-actions button{border-radius:12px;font-size:12px}#case-dialog.cinema-mode.revealed>.opening-actions .secondary{background:#292231;color:#f2d4ae;border:1px solid #d8b88944}
.result-inspector{width:clamp(220px,33vw,330px);max-width:100%;flex-shrink:0;--inspect-yaw:-12deg;--inspect-pitch:5deg;isolation:isolate}
.result-inspect-viewport{position:relative;width:100%;aspect-ratio: .69;perspective:1200px;touch-action:none;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;cursor:grab;outline-offset:4px;display:grid;place-items:center}
.result-inspect-viewport:focus-visible{outline:2px solid #edc589;border-radius:18px}.is-dragging .result-inspect-viewport{cursor:grabbing}
.result-plinth{position:absolute;bottom:1%;left:0;right:0;height:15%;border-radius:50%;border:1px solid #edcc8b55;background:radial-gradient(ellipse,#c8a4db22,transparent 70%);box-shadow:0 0 40px #be9ed815;transform:rotate(-6deg)}
.result-slab{position:relative;width:85%;aspect-ratio:2/3;transform-style:preserve-3d;transform:rotateX(var(--inspect-pitch)) rotateY(var(--inspect-yaw));transition:transform .85s cubic-bezier(.2,.7,.25,1);will-change:transform}
.is-dragging .result-slab{transition:none}
.result-face{position:absolute;inset:0;box-sizing:border-box;border:2px solid #d9d4cb;border-radius:15px;background:linear-gradient(120deg,#fffaf0,#c9c6c5 48%,#ede7db);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 18px 40px #0005,inset 0 0 0 3px #ffffff80}
.result-front{transform:translateZ(4px);padding:10px;display:flex;flex-direction:column;gap:9px}
.result-label{height:19%;flex-shrink:0;display:flex;justify-content:space-between;gap:8px;background:#fff9ef;border:2px solid #a92e3b;color:#281c23;padding:5px;font-size:9px;align-items:center;text-transform:uppercase;overflow:hidden;line-height:1.25}.result-label>span{max-width:80%;font-weight:700;overflow-wrap:anywhere}.result-label small{display:block;font-size:5px;letter-spacing:.5px;margin-top:5px;font-weight:400}.result-label>b{font-size:7px;text-align:center}.result-label strong{display:block;font-size:22px;line-height:1.1}
.result-art{min-height:0;flex:1;display:grid;place-items:center;border-radius:7px;overflow:hidden;background:#b6b5ae;box-shadow:inset 0 0 0 2px #9c9e9a}.result-art img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.result-face:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,#fff4,transparent 25% 65%,#fff2 72%,transparent 78%);pointer-events:none}
.result-back{transform:rotateY(180deg) translateZ(4px);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:25px 12px;background:repeating-linear-gradient(135deg,#ffffff06 0 20px,transparent 20px 40px),linear-gradient(145deg,#663c4e,#251c32 70%);border-color:#d4c6af;color:#edd7ae;box-shadow:inset 0 0 0 6px #f8e2b622,0 18px 40px #0005}.result-back>span{font-size:12px;font-weight:800;letter-spacing:2px}.result-back>b{font-size:100px;font-weight:700;position:relative;line-height:1}.result-back sup{position:absolute;right:-15px;top:-10px;font-size:24px;font-weight:400}.result-back>strong{font-size:8px;letter-spacing:2px}.result-back>small{font-size:6px;color:#c0aabf;text-align:center}
.result-edge{position:absolute;display:block;background:linear-gradient(90deg,#b5b0ac,#eeebe1,#9c969d);backface-visibility:visible;border:1px solid #c6c1b9;box-sizing:border-box}.edge-left,.edge-right{height:94%;top:3%;width:8px;left:calc(50% - 4px)}.edge-left{transform:rotateY(90deg);left:-4px}.edge-right{transform:rotateY(90deg);left:calc(100% - 4px)}.edge-top,.edge-bottom{width:90%;height:8px;left:5%;transform:rotateX(90deg)}.edge-top{top:-4px}.edge-bottom{bottom:-4px}
.result-gesture{margin:0 0 11px;text-align:center;font-size:11px;color:#cebad3}.result-gesture>span{display:inline-block;color:#f2cd92;margin-right:6px;font-size:21px;vertical-align:middle;animation:inspect-guide 2.8s ease-in-out 3}
.result-inspect-controls{display:flex;gap:6px;justify-content:center}.result-inspect-controls button{font:inherit;font-size:10px;background:#292231;border:1px solid #d1ad7540;color:#ecd7b6;padding:9px 12px;border-radius:9px;min-height:36px}.result-inspect-controls button:hover{background:#433247}.result-inspect-controls button:focus-visible{outline:2px solid #f1c98e;outline-offset:2px}
#case-dialog.cinema-mode .god-result-heading h3{color:#f6e1c5}#case-dialog.cinema-mode .god-result-heading p{color:#bcacc5}#case-dialog.cinema-mode .god-award{background:linear-gradient(135deg,#3e2d4180,#1a1625);border-color:#cfad7633;border-radius:18px;color:#f2ddc0}#case-dialog.cinema-mode .god-award h4{color:#f6e1ce}#case-dialog.cinema-mode .god-award>strong{color:#e9c288}#case-dialog.cinema-mode .god-award>span,#case-dialog.cinema-mode .god-award>small{color:#bfafc8}.god-award .result-inspector{width:100%}.god-award .result-label{font-size:7px}.god-award .result-label small{font-size:4px}.god-award .result-label strong{font-size:17px}.god-award .result-inspect-controls button{font-size:9px;padding:8px}.god-award .result-back>b{font-size:70px}
@keyframes loader-slab{0%,100%{transform:perspective(800px) rotateY(-25deg) rotateX(8deg) translateY(0)}50%{transform:perspective(800px) rotateY(25deg) rotateX(-6deg) translateY(-10px)}}
@keyframes loader-progress{0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}
@keyframes loader-spark{50%{opacity:.3;transform:scale(.65)}}@keyframes inspect-guide{50%{transform:translateX(8px)}}
@media(max-width:600px){#case-dialog.cinema-mode.revealed .winner-stage:not(.god-winner){flex-direction:column;gap:22px;margin:14px auto 0;padding:0!important}#case-dialog.cinema-mode.revealed .winner-info{width:100%;max-width:420px;padding:22px;text-align:center;box-sizing:border-box}.result-inspector{width:min(300px,82vw)}.result-inspect-viewport{aspect-ratio:.71}.result-front{padding:9px}.result-label{font-size:9px}.result-gesture{font-size:10px}.result-inspect-controls button{padding:10px 16px}#case-dialog.cinema-mode .winner-info p{max-width:none}#case-dialog.cinema-mode.revealed>.opening-actions{margin-top:22px}.reveal-boot{inset:90px 0 0}.loader-orbit{width:210px;height:210px;top:calc(40% - 105px)}.loader-copy>strong{font-size:18px}#case-dialog.phaser-opening .pg-view:not(.pg-flight){background:#12101b}.god-award .result-inspector{max-width:240px;margin:auto}.god-award .result-inspect-controls button{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.loader-slab,.loader-orbit:after,.loader-copy>i:before,.result-gesture>span{animation:none!important}.result-slab{transition:none}}

#case-dialog.cinema-mode.revealed #preview-case-effect{background:#292231;color:#f2d4ae;border-color:#d8b88944}
#case-dialog[data-preview=true] #opening-kind{color:#d4b2ce}
.result-plinth{border-color:color-mix(in srgb,var(--reveal-color,#d4b886) 55%,transparent);box-shadow:0 0 45px color-mix(in srgb,var(--reveal-color,#d4b886) 12%,transparent)}
.result-inspector{animation:observatory-enter .7s ease-out both}
@keyframes observatory-enter{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.result-inspector{animation:none}}

/* Baked studio illumination: no extra canvas, GPU context or per-frame filter. */
.result-slab{--light-x:45%;--light-y:35%;--sheen-angle:115deg}
.result-face{border-color:#ede2d0;box-shadow:0 18px 40px #0006,inset 0 0 0 2px #fff9,inset 0 0 0 5px #9b969455}
.result-face:after{background:linear-gradient(var(--sheen-angle),#ffffff2b 0%,transparent 19% 38%,#fff1 43%,#ffffff4d 46%,#ffffff08 50%,transparent 54% 74%,#fff2 78%,transparent 82%),radial-gradient(ellipse at var(--light-x) var(--light-y),#fff2,transparent 55%);opacity:.75;mix-blend-mode:screen;transition:opacity .3s;box-shadow:inset 1px 1px 2px #fff9,inset -1px -1px 2px #0004;z-index:3}
.result-face:before{content:'';position:absolute;inset:3px;border:1px solid #ffffff3b;border-radius:11px;pointer-events:none;z-index:4;box-shadow:inset 0 0 0 2px #ffffff08}
.result-back{background:radial-gradient(ellipse at var(--light-x) var(--light-y),#b98b9c38,transparent 60%),repeating-linear-gradient(135deg,#ffffff05 0 20px,transparent 20px 40px),linear-gradient(145deg,#664254,#21182e 78%);border-color:#f0dfba;box-shadow:inset 0 0 0 5px #e8cdaa30,inset 0 0 35px #120c2355,0 18px 40px #0006}
.result-back>b,.result-back>span,.result-back>strong{background:linear-gradient(115deg,#a38050 0%,#e8cf92 18%,#fff6d9 32%,#c5a365 49%,#ffefc0 61%,#b18d55 80%,#f7de9c 100%);background-size:220% 100%;background-position:var(--light-x) 50%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 1px 0 #ffeac31a;filter:drop-shadow(0 1px 1px #1c102a80)}
.result-back>b:after{content:'';position:absolute;inset:-25%;border:1px solid #e7cb8b2b;border-radius:50%;box-shadow:0 0 0 10px #e8cf8907;pointer-events:none}
.result-front .result-label{background:linear-gradient(115deg,#fffdf5,#e9e3d8 50%,#fffdf7);box-shadow:inset 0 1px 2px #fff,0 1px 2px #0002}
.result-edge{background:linear-gradient(90deg,#756c82 0%,#e5d9c4 22%,#fff9e8 43%,#b5a9b5 61%,#ddd5c9 80%,#686173);border-color:#f4e8d0}
.result-plinth:after{content:'';position:absolute;inset:-15%;border-radius:50%;background:radial-gradient(ellipse,#d7b9e01a,transparent 65%);pointer-events:none}
@media(prefers-reduced-motion:reduce){.result-face:after{transition:none}}
.result-back sup{color:#fae8b8;text-shadow:0 0 10px #f2d39555}

/* Bound the artwork box independently of intrinsic image size (including Safari). */
.result-front{display:grid;grid-template-rows:19% minmax(0,1fr);box-sizing:border-box}
.result-front .result-label{height:auto;min-height:0;box-sizing:border-box}
.result-front .result-art{position:relative;display:block;min-width:0;min-height:0;width:100%;height:100%;box-sizing:border-box}
#case-dialog .result-front .result-art>img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center;margin:0!important;padding:0;border:0;border-radius:0;transform:none;box-sizing:border-box}
#case-dialog.cinema-mode>.opening-meta{color:#dbc9df}
@media(max-width:650px){
#case-dialog.cinema-mode .god-awards{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
#case-dialog.cinema-mode .god-award,#case-dialog.cinema-mode .god-award:last-child:nth-child(odd){grid-column:auto;justify-self:stretch;width:100%;box-sizing:border-box;padding:18px 12px}
#case-dialog.cinema-mode .god-award .result-inspector{width:min(280px,76vw);max-width:100%;margin:0 auto}
#case-dialog.cinema-mode .god-award h4{font-size:19px;margin-top:14px}
#case-dialog.cinema-mode .god-award>span{font-size:12px}
#case-dialog.cinema-mode .god-award>strong{font-size:25px}
#case-dialog.cinema-mode .god-award>small{font-size:11px}
#case-dialog.cinema-mode .god-result-heading h3{font-size:27px;line-height:1.2}
#case-dialog.cinema-mode .god-result-heading p{font-size:12px}
#case-dialog .result-inspect-controls{gap:8px;flex-wrap:wrap}
#case-dialog .result-inspect-controls button{min-height:44px;font-size:11px;padding:10px 15px}
#case-dialog.cinema-mode .result-inspector{width:min(280px,76vw)}
}

#case-dialog>.opening-motion{max-width:700px;margin:0 auto 25px;padding:14px 17px;border:1px solid #d8b88933;border-radius:12px;background:#292131;color:#e9d4bb;display:grid;grid-template-columns:1fr auto;gap:8px 15px;align-items:center}#case-dialog .opening-motion label{font-size:12px;font-weight:600}#case-dialog .opening-motion select{max-width:230px;min-height:40px;background:#19151f;color:#f3dfc2;border:1px solid #ad8a6155;border-radius:8px;padding:8px 10px;font:inherit;font-size:12px}#case-dialog .opening-motion-status{grid-column:1/-1;color:#bda9c4;font-size:10px;line-height:1.6;margin:0}#case-dialog .opening-motion[data-reduced=true] .opening-motion-status{color:#f0c38b}#case-dialog.opening-presentation>.opening-motion,#case-dialog.phaser-opening>.opening-motion{display:none}@media(max-width:400px){#case-dialog>.opening-motion{grid-template-columns:1fr}#case-dialog .opening-motion select{width:100%;max-width:none}}
