/* The aperture and marker are stationary. Only the strip translates. */
.gift-modal.case-modal{width:min(720px,calc(100vw - 32px));max-height:min(90svh,820px);overflow-x:hidden;border:1px solid #66583e;border-radius:23px;background:radial-gradient(ellipse at 82% -40%,#76674457,transparent 66%),linear-gradient(145deg,#20211f,#141617 58%,#101213);box-shadow:0 26px 90px #000a,0 1px 0 #fff2 inset}
.case-modal .modal-header{padding:23px 28px 0;border:0;background:transparent}.case-modal .modal-header h2{font-size:clamp(27px,5vw,38px);margin:0}
.case-modal .modal-body{padding:6px 28px 24px;min-width:0}.case-modal .modal-body>svg:first-child{position:absolute;pointer-events:none}
.case-shell{isolation:isolate;min-width:0}.case-console{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 0 15px;min-height:36px}
.case-status,.case-audio{display:inline-flex;align-items:center;gap:8px}.case-status{color:#d5c5a6;font-size:13px;letter-spacing:.015em}.case-status i{height:6px;width:6px;background:#dfbb7e;transform:rotate(45deg);box-shadow:0 0 9px #e1b16470}
.case-audio{border:1px solid #9e92764d;background:#141613;color:#ecdfc6;border-radius:24px;min-height:36px;padding:5px 12px;font-size:12px;cursor:pointer}.case-audio[aria-pressed=false]{color:#aaa9a4;background:#121414}.case-audio .icon{width:16px;height:16px}.case-audio[hidden]{display:none}
.case-stage{--tile:clamp(90px,23vw,126px);--gap:clamp(6px,1.4vw,10px);position:relative;border-radius:15px;border:1px solid #8873538f;padding:17px 0;background:linear-gradient(180deg,#342e24,#1a1a17 7px,#111314 13px,#080b0c 50%,#111414 calc(100% - 10px),#312c24);box-shadow:inset 0 1px 0 #f2dfb537,inset 0 -1px 0 #eee1ca1e,0 11px 24px #0005;overflow:hidden}
.case-stage:before,.case-stage:after{position:absolute;content:'';height:2px;inset-inline:8px;z-index:2;pointer-events:none;background:repeating-linear-gradient(to right,transparent 0 7px,#ab94724c 7px 8px)}.case-stage:before{top:6px}.case-stage:after{bottom:6px}
.case-window{position:relative;height:clamp(139px,25vw,174px);overflow:hidden;isolation:isolate}.case-window:after{position:absolute;content:'';inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,#080b0cd6 0,transparent 11%,transparent 89%,#080b0cd6)}
.case-track{position:absolute;left:50%;top:0;height:100%;display:flex;align-items:stretch;gap:var(--gap);width:max-content;will-change:transform}
.case-card{--tone:185,197,204;flex:0 0 var(--tile);width:var(--tile);height:100%;border:1px solid rgba(var(--tone),.28);border-radius:9px;overflow:hidden;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;color:rgb(var(--tone));background:radial-gradient(ellipse at 50% 39%,rgba(var(--tone),.21),transparent 61%),linear-gradient(151deg,rgba(var(--tone),.12),transparent 35%),linear-gradient(172deg,#1c2225 3%,#111416 62%,#16191c);box-shadow:inset 0 0 0 2px #0003}
.case-card:before{content:'';position:absolute;inset:6px;z-index:-1;border:1px solid rgba(var(--tone),.14);border-radius:4px;clip-path:polygon(0 0,27% 0,0 24%,0 100%,23% 100%,0 77%,100% 0,76% 0,100% 24%,100% 100%,76% 100%,100% 76%,100% 100%,0 100%)}
.case-card.stone-1{--tone:191,200,208}.case-card.stone-2{--tone:229,201,162}.case-card.stone-3{--tone:107,218,209}.case-card.stone-4{--tone:115,169,250}.case-card.stone-5{--tone:194,149,252}.case-card.stone-10{--tone:255,204,106}
.case-jewel{display:block;width:85%;height:61%;flex:none}.case-value{font:500 clamp(27px,5.2vw,34px)/1 Georgia,serif;color:#f8f4eb;letter-spacing:-.045em;font-variant-numeric:lining-nums tabular-nums}.case-value small{font:500 .57em/1 Georgia,serif;margin-left:1px;color:rgb(var(--tone))}.case-edge{position:absolute;bottom:0;left:16%;width:68%;height:2px;background:linear-gradient(90deg,transparent,rgba(var(--tone),.88),transparent)}
.case-sight{pointer-events:none;position:absolute;inset:0;left:50%;width:1px;z-index:4;background:linear-gradient(#ecd29397,transparent 27%,transparent 71%,#ecd2939c)}.case-sight i,.case-sight b{position:absolute;left:50%;transform:translateX(-50%);width:19px;height:15px;background:linear-gradient(105deg,#94713a,#ffebaa 46%,#c9a46a 74%,#846433);clip-path:polygon(0 0,100% 0,50% 100%)}.case-sight i{top:0}.case-sight b{bottom:0;transform:translateX(-50%) rotate(180deg)}
.case-meter{margin:13px auto 0;width:94%;height:2px;overflow:hidden;background:#413d35}.case-meter i{height:100%;display:block;background:linear-gradient(90deg,#736046,#dac292);transform-origin:left;transform:scaleX(0)}
.case-shell[data-phase=spin] .case-status i{animation:case-ready 1.5s ease-in-out infinite}.case-stage.at-rest .case-track{will-change:auto}.case-stage.at-rest .case-card:not(.landed){opacity:.48;transition:opacity .42s}.case-stage.at-rest .case-card.landed{border-color:rgb(var(--tone));box-shadow:inset 0 0 18px rgba(var(--tone),.17),0 0 9px rgba(var(--tone),.3)}.case-card.landed:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#fff5 48%,transparent 65%);animation:case-glint .65s ease-out both}
.case-receipt:empty{display:none}.case-receipt:not(:empty){margin-top:19px}.case-award{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:#e7dbc5}.case-award span{font-size:clamp(15px,2vw,19px)}.case-award strong{color:#ead099;direction:ltr;font:500 clamp(34px,7vw,46px)/1 Georgia,serif;letter-spacing:-.05em}.case-award small{font-size:.6em}.case-use{margin-top:4px;justify-content:center}.case-error{color:#e4c397;font-size:.93rem;margin:0 0 12px}.case-modal button:focus-visible{outline:2px solid #ebcd8f;outline-offset:2px}
@keyframes case-ready{50%{opacity:.48}}@keyframes case-glint{from{transform:translateX(-110%)}to{transform:translateX(110%)}}
@media(max-width:600px){.gift-modal.case-modal{width:calc(100% - 12px);border-radius:18px;margin:auto}.case-modal .modal-header{padding:18px 15px 1px}.case-modal .modal-body{padding:3px 15px max(16px,env(safe-area-inset-bottom))}.case-console{margin-bottom:11px}.case-stage{margin-inline:-5px;padding-block:15px}.case-audio{min-height:38px}.case-award{margin-bottom:8px}}
@media(max-height:550px){.gift-modal.case-modal{max-height:94svh}.case-modal .modal-header{padding-top:10px}.case-console{margin-bottom:6px}.case-window{height:106px}}
@media(prefers-reduced-motion:reduce){.case-shell *, .case-shell *:after{animation:none!important;transition:none!important}}
