/* Case opening: calm surfaces, precise marker and comfortable touch targets. */
.case-page .game-back,.case-page .case-contents-link{display:inline-flex;align-items:center;gap:8px}
.case-page .game-back svg,.case-page .case-contents-link svg,.drop-reveal__close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.case-page .pointer{width:32px;height:32px;top:0;color:var(--gb-accent,#b6f000);filter:drop-shadow(0 3px 8px #0009)}
.case-page .scope{background:#151612;border-color:#383a2e}
.case-page .scope::before{background:linear-gradient(90deg,#151612,transparent);width:48px}
.case-page .scope::after{background:linear-gradient(270deg,#151612,transparent);width:48px}
.case-page .scope .list{margin:0;padding:0;gap:0}
.case-page .scope .list .list_item{box-sizing:border-box}
.case-page .scope .list .list_item.active{outline:1px solid var(--gb-accent,#b6f000);outline-offset:-2px;border-radius:14px}
.case-opening-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;margin-top:10px;font-size:12px;color:#bcbeb0}
.case-opening-progress button{border:1px solid #454936;border-radius:9px;background:#22251b;color:#d9e7ad;padding:9px 12px;font:inherit;min-height:40px;cursor:pointer}
.case-opening-progress button[hidden]{display:none}
.case-page .start{min-height:48px;touch-action:manipulation}
.case-page .start:disabled{cursor:wait;opacity:.5}
.case-page .case-stage[data-opening-state="request"] .scope{opacity:.65}
.case-page .case-stage[data-opening-state="request"] #case-opening-status::before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;border:2px solid #535842;border-top-color:var(--gb-accent,#b6f000);border-radius:50%;animation:case-request-spin .8s linear infinite}
.case-page :is(button,a,input,select):focus-visible{outline:2px solid var(--gb-accent,#b6f000);outline-offset:4px}
.drop-reveal__close{position:absolute;top:14px;right:14px;z-index:10;display:grid;place-items:center;width:44px;height:44px;border:1px solid #73776880;border-radius:12px;background:#181a15;color:#fff;cursor:pointer}
.drop-reveal__header{padding-right:48px}
.case-action-feedback{padding:12px 14px;border:1px solid #805d36;border-radius:10px;background:#282017;color:#f2d7ac;font-size:13px;line-height:1.6}
@keyframes case-request-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){
 .case-page .case-main,.case-page .case-stage,.case-page .case-hero,.case-page .case-stage__footer,.case-page .case-stage__actions{min-width:0}
 .case-page .case-stage{padding:16px 12px;border-radius:18px}
 .case-page .case-hero__meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .case-page .case-stat{min-width:0;padding:12px}
 .case-page .case-stat__value{font-size:20px;overflow-wrap:anywhere}
 .case-page .case-highlights{display:none}
 .case-page .case-stage__head{align-items:flex-start;gap:12px;flex-wrap:wrap}
 .case-page .case-stage__head h2{font-size:22px}
 .case-page .case-stage__footer{display:flex;flex-direction:column;gap:16px}
 .case-page .case-stage__actions,.case-page .button-group{width:100%}
 .case-page .button-group{display:grid;grid-template-columns:1fr;gap:8px}
 .case-page .button-group .start{width:100%;justify-content:center;white-space:normal}
 .case-page .case-result{width:100%;min-width:0}
 .case-page .case-result__title{overflow-wrap:anywhere}
 .case-page .scope .list .list_item{width:164px;height:190px;padding:12px 10px}
 .case-page .scope .list .list_item .item-media{height:94px}
 .case-page .scope .list .list_item .item-name{font-size:12px}
 .drop-reveal__card{max-height:calc(100dvh - 32px);overflow-y:auto}
 .drop-reveal__shell{padding:16px}
 .drop-reveal__visual{min-height:120px;height:clamp(120px,28dvh,220px)}
 .drop-reveal__title{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.case-page *, .drop-reveal *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* There is no sidebar on the maintained case page. Do not reserve an empty column. */
.case-page .page-shell { grid-template-columns:minmax(0,1fr); width:min(1156px,100%); max-width:1156px; margin-inline:auto; box-sizing:border-box; }
.case-page .case-main { width:100%; min-width:0; }
.case-stage[data-opening-state="blocked"] .case-opening-progress { color:#d9ddc7; }

/* Label/value metadata is a description list, preserving the existing grid. */
.case-page dl.case-hero__meta, .case-page .case-stat dd { margin:0; }
.case-page .case-stat dd { font-weight:700; }
