.deadend-store {
    --dec-bg: #070707;
    --dec-panel: #111;
    --dec-text: #f4f0e7;
    --dec-muted: #b8b0a3;
    --dec-faint: #7f7669;
    --dec-accent: #f1c232;
    --dec-blood: #a80f12;
    color: var(--dec-text);
}
.deadend-store__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(20px,3vw,38px); }
.deadend-store--single { max-width: 520px; }
.deadend-store-item { position: relative; display: flex; flex-direction: column; min-width: 0; background: linear-gradient(160deg,#151515,#090909 70%); border: 1px solid rgba(244,240,231,.14); box-shadow: 0 20px 55px rgba(0,0,0,.32); overflow: hidden; }
.deadend-store-item::after { content: ''; pointer-events: none; position: absolute; inset: 0; opacity: .08; background: repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(255,255,255,.12) 4px); mix-blend-mode: soft-light; }
.deadend-store-item__media { position: relative; aspect-ratio: 4 / 5; background: #050505; overflow: hidden; }
.deadend-store-item__image { width: 100%; height: 100%; object-fit: contain; display: block; transition: transform .35s ease; }
.deadend-store-item:hover .deadend-store-item__image { transform: scale(1.025); }
.deadend-store-item__placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--dec-faint); letter-spacing: .12em; text-transform: uppercase; background: radial-gradient(circle at center,#1a1a1a,#050505 70%); }
.deadend-store-item__badge { position: absolute; z-index: 2; top: 14px; left: 14px; padding: 7px 10px; color: #fff; background: var(--dec-blood); font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; transform: rotate(-1.5deg); }
.deadend-store-item__body { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 14px; padding: 22px; flex: 1; }
.deadend-store-item__meta { display: flex; flex-wrap: wrap; gap: 8px 16px; color: var(--dec-accent); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.deadend-store-item__title { color: var(--dec-text); font-size: clamp(1.35rem,2vw,1.8rem); line-height: 1.05; margin: 0; text-transform: uppercase; }
.deadend-store-item__description { color: var(--dec-muted); font-size: .95rem; line-height: 1.6; }
.deadend-store-item__description > :first-child { margin-top: 0; }
.deadend-store-item__description > :last-child { margin-bottom: 0; }
.deadend-store-item__external-note { display: grid; gap: 4px; margin-top: auto; padding: 11px 13px; border-left: 3px solid var(--dec-accent); background: rgba(241,194,50,.065); color: var(--dec-muted); font-size: .78rem; line-height: 1.45; }
.deadend-store-item__external-note strong { color: var(--dec-accent); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.deadend-store-item__external-note span { color: var(--dec-faint); }
.deadend-store-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 18px; color: #fff !important; background: var(--dec-blood); text-decoration: none !important; font-size: .82rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; border: 0; border-radius: 2px; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.deadend-store-button:hover, .deadend-store-button:focus { background: #c1161a; transform: translateY(-1px); }
.deadend-store-button--external { gap: 10px; border: 1px solid var(--dec-accent); background: transparent; color: var(--dec-accent) !important; }
.deadend-store-button--external::after { content: '↗'; font-size: 1rem; line-height: 1; }
.deadend-store-button--external:hover, .deadend-store-button--external:focus { border-color: #fff0a8; background: #fff0a8; color: #090909 !important; }
.deadend-store-button.is-disabled { background: #333; color: #999 !important; cursor: not-allowed; }
.deadend-store-button--external.is-disabled { border-color: #444; background: #222; color: #777 !important; }
.deadend-store-button--external.is-disabled::after { content: ''; }
.deadend-shopify-product { margin-top: auto; min-height: 70px; }
.deadend-shopify-product__status { color: var(--dec-muted); font-size: .85rem; }
.deadend-shopify-product__status.is-error { color: #ff9a9c; }
.deadend-store__empty { padding: 30px; color: var(--dec-muted); border: 1px dashed rgba(244,240,231,.2); background: #0c0c0c; }
@media (max-width: 900px) { .deadend-store__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 580px) { .deadend-store__grid { grid-template-columns: 1fr; } }

@media (max-width: 760px) {
    .deadend-vinyl__label {
        width: 32%;
    }
    .deadend-vinyl__label-ring {
        font-size: 5.5px;
    }
    .deadend-vinyl__label-title {
        font-size: 6px;
    }
    .deadend-vinyl__label-subtitle {
        font-size: 5px;
    }
}
@media (prefers-reduced-motion: reduce) { .deadend-store-item__image, .deadend-store-button { transition: none; } .deadend-store-item:hover .deadend-store-item__image, .deadend-store-button:hover { transform: none; } }

/* Video Shelf functional presentation. Dead End Studio supplies the immersive page shell. */
.deadend-store--shelf { width: 100%; }
.deadend-video-store { position: relative; }
.deadend-video-store__sign { display: grid; gap: 4px; margin: 0 0 28px; }
.deadend-video-store__sign span,
.deadend-video-store__sign small { color: var(--dec-muted); }
.deadend-video-store__sign span { font-size: .72rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.deadend-video-store__sign strong { font-size: clamp(2rem, 5vw, 4rem); line-height: .95; text-transform: uppercase; }
.deadend-video-store__sign small { max-width: 680px; font-size: .92rem; }
.deadend-video-shelf { position: relative; padding: 34px 28px 56px; background: linear-gradient(180deg,#15110d 0%,#090806 100%); border: 1px solid rgba(244,240,231,.12); overflow: visible; }
.deadend-video-shelf__items { display: flex; align-items: flex-end; gap: clamp(16px,2vw,28px); min-height: 360px; overflow-x: auto; padding: 14px 10px 26px; scrollbar-width: thin; }
.deadend-video-shelf__ledge { position: absolute; left: 0; right: 0; bottom: 20px; height: 30px; background: linear-gradient(180deg,#4a3322,#1c120c 70%,#090604); border-top: 1px solid rgba(255,255,255,.15); box-shadow: 0 18px 28px rgba(0,0,0,.6); }
.deadend-video-shelf-item { flex: 0 0 clamp(150px,18vw,220px); position: relative; z-index: 2; }
.deadend-video-shelf-item__trigger { display: grid; width: 100%; gap: 10px; border: 0; padding: 0; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.deadend-video-shelf-item__trigger:focus-visible { outline: 3px solid var(--dec-accent); outline-offset: 8px; }
.deadend-video-shelf-item__label { color: var(--dec-muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.deadend-video-case { position: relative; display: block; aspect-ratio: 2 / 3; transform-style: preserve-3d; }
.deadend-video-case--shelf { transition: transform .28s ease, filter .28s ease; transform: perspective(900px) rotateY(-5deg); filter: drop-shadow(10px 18px 16px rgba(0,0,0,.58)); }
.deadend-video-shelf-item__trigger:hover .deadend-video-case--shelf,
.deadend-video-shelf-item__trigger:focus-visible .deadend-video-case--shelf { transform: perspective(900px) translateY(-14px) rotateY(-1deg) scale(1.025); filter: drop-shadow(14px 24px 20px rgba(0,0,0,.72)); }
.deadend-video-case__art { display: block; width: 100%; height: 100%; object-fit: cover; background: #080808; }
.deadend-video-case__plastic { position: absolute; inset: 0; z-index: 2; pointer-events: none; border: 1px solid rgba(255,255,255,.2); box-shadow: inset 10px 0 15px rgba(255,255,255,.05), inset -8px 0 14px rgba(0,0,0,.25); background: linear-gradient(105deg,rgba(255,255,255,.12),transparent 18%,transparent 68%,rgba(255,255,255,.05)); }
.deadend-video-case__missing { display: grid; place-items: center; width: 100%; height: 100%; padding: 20px; background: linear-gradient(145deg,#1b1b1b,#050505); color: var(--dec-faint); text-align: center; text-transform: uppercase; letter-spacing: .12em; }
.deadend-case-inspector { position: fixed; inset: 0; z-index: 10000; display: none; }
.deadend-case-inspector.is-open { display: grid; place-items: center; }
.deadend-case-inspector__backdrop { position: absolute; inset: 0; border: 0; background: rgba(0,0,0,.88); backdrop-filter: blur(12px); cursor: zoom-out; }
.deadend-case-inspector__panel { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(260px,420px) minmax(300px,500px); gap: clamp(28px,5vw,72px); width: min(1040px,calc(100vw - 40px)); max-height: calc(100vh - 48px); overflow: auto; padding: clamp(24px,4vw,54px); background: linear-gradient(145deg,#171717,#080808 70%); border: 1px solid rgba(244,240,231,.16); box-shadow: 0 40px 120px rgba(0,0,0,.85); }
.deadend-case-inspector__close { position: absolute; top: 12px; right: 14px; z-index: 4; width: 42px; height: 42px; border: 1px solid rgba(244,240,231,.18); border-radius: 50%; background: #070707; color: var(--dec-text); font-size: 28px; line-height: 1; cursor: pointer; }
.deadend-case-inspector__visual { display: grid; align-content: start; gap: 18px; perspective: 1400px; }
.deadend-video-case--inspect { width: min(100%,360px); margin: 0 auto; transition: transform .65s cubic-bezier(.2,.75,.2,1); }
.deadend-video-case--inspect.is-flipped { transform: rotateY(180deg); }
.deadend-video-case__face { position: absolute; inset: 0; backface-visibility: hidden; box-shadow: 18px 28px 40px rgba(0,0,0,.55); }
.deadend-video-case__face--front { transform: rotateY(0); }
.deadend-video-case__face--back { transform: rotateY(180deg); }
.deadend-video-case--inspect::before { content: ''; display: block; padding-top: 150%; }
.deadend-video-case__generated-back { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; width: 100%; height: 100%; padding: 28px 24px; background: linear-gradient(180deg,#201b16,#080808); color: var(--dec-text); }
.deadend-video-case__generated-back strong { font-size: 1.4rem; line-height: 1; text-transform: uppercase; }
.deadend-video-case__generated-back span { color: var(--dec-muted); font-size: .88rem; line-height: 1.55; }
.deadend-video-case__generated-back small { color: var(--dec-accent); text-transform: uppercase; letter-spacing: .1em; }
.deadend-case-inspector__flip { min-height: 44px; border: 1px solid rgba(244,240,231,.2); background: #111; color: var(--dec-text); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.deadend-case-inspector__details { display: flex; flex-direction: column; align-self: center; gap: 18px; min-width: 0; }
.deadend-case-inspector__details h2 { margin: 0; color: var(--dec-text); font-size: clamp(2.25rem,6vw,5rem); line-height: .92; text-transform: uppercase; }
.deadend-store-item__badge--inline { position: static; align-self: flex-start; display: inline-flex; transform: rotate(-1.5deg); }
.deadend-case-inspector-open { overflow: hidden; }
@media (max-width: 760px) {
    .deadend-video-shelf { padding-inline: 14px; }
    .deadend-video-shelf__items { min-height: 300px; }
    .deadend-video-shelf-item { flex-basis: 150px; }
    .deadend-case-inspector__panel { grid-template-columns: 1fr; width: min(620px,calc(100vw - 20px)); max-height: calc(100vh - 20px); padding: 54px 20px 24px; }
    .deadend-video-case--inspect { width: min(72vw,280px); }
    .deadend-case-inspector__details { align-self: start; }
}
@media (prefers-reduced-motion: reduce) {
    .deadend-video-case--shelf,
    .deadend-video-case--inspect { transition: none; }
    .deadend-video-shelf-item__trigger:hover .deadend-video-case--shelf,
    .deadend-video-shelf-item__trigger:focus-visible .deadend-video-case--shelf { transform: none; }
}

/* v0.2.1-alpha: Video Shelf visual refinement and Shopify control hardening. */
html.deadend-case-inspector-open,
html.deadend-case-inspector-open body { overflow: hidden !important; }

.deadend-video-shelf {
    padding: 28px clamp(24px,4vw,58px) 64px;
    background:
        linear-gradient(90deg,rgba(0,0,0,.24),transparent 18%,transparent 82%,rgba(0,0,0,.24)),
        repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 5px),
        linear-gradient(180deg,#17120e 0%,#0a0806 100%);
    box-shadow: inset 0 18px 50px rgba(0,0,0,.42), 0 28px 60px rgba(0,0,0,.34);
}
.deadend-video-shelf::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse at 50% 12%,rgba(241,194,50,.06),transparent 55%);
}
.deadend-video-shelf__items {
    position: relative;
    z-index: 2;
    min-height: clamp(390px,34vw,520px);
    gap: clamp(24px,3vw,44px);
    padding: 22px 16px 34px;
}
.deadend-video-store--count-1 .deadend-video-shelf__items {
    justify-content: center;
}
.deadend-video-store--count-1 .deadend-video-shelf-item {
    flex-basis: clamp(230px,23vw,315px);
}
.deadend-video-store--count-2 .deadend-video-shelf__items,
.deadend-video-store--count-3 .deadend-video-shelf__items {
    justify-content: center;
}
.deadend-video-shelf-item { flex-basis: clamp(190px,19vw,255px); }
.deadend-video-shelf-item__label {
    padding-left: 6px;
    color: #e0d8ca;
    font-size: .78rem;
    letter-spacing: .11em;
}
.deadend-video-case { border-radius: 3px 5px 5px 3px; }
.deadend-video-case--shelf {
    transform: perspective(1100px) rotateY(-8deg) rotateX(1deg);
    transform-origin: left center;
    filter: drop-shadow(18px 24px 18px rgba(0,0,0,.65));
}
.deadend-video-case--shelf::before,
.deadend-video-case__face::before {
    content: '';
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: -11px;
    width: 12px;
    border-radius: 4px 0 0 4px;
    background: linear-gradient(90deg,#07111d 0%,#173858 52%,#07101a 100%);
    box-shadow: inset -1px 0 rgba(255,255,255,.18), -3px 3px 8px rgba(0,0,0,.55);
}
.deadend-video-case--shelf::after,
.deadend-video-case__face::after {
    content: '';
    position: absolute;
    z-index: 4;
    inset: 3px 3px auto 7%;
    height: 17%;
    pointer-events: none;
    background: linear-gradient(110deg,rgba(255,255,255,.18),rgba(255,255,255,0) 70%);
    opacity: .5;
}
.deadend-video-shelf-item__trigger:hover .deadend-video-case--shelf,
.deadend-video-shelf-item__trigger:focus-visible .deadend-video-case--shelf {
    transform: perspective(1100px) translateY(-20px) rotateY(-2deg) rotateX(0) scale(1.045);
}
.deadend-video-case__plastic {
    border-radius: inherit;
    border: 1px solid rgba(214,232,255,.24);
    box-shadow: inset 8px 0 14px rgba(255,255,255,.065), inset -8px 0 14px rgba(0,0,0,.3), 0 0 0 2px rgba(5,18,31,.86);
}
.deadend-video-case__art { border-radius: 2px 4px 4px 2px; }

.deadend-case-inspector { z-index: 2147483000; padding: clamp(12px,2vw,26px); }
.deadend-case-inspector.is-open { display: grid; }
.deadend-case-inspector__backdrop { background: rgba(0,0,0,.92); backdrop-filter: blur(16px) saturate(.7); }
.deadend-case-inspector__panel {
    grid-template-columns: minmax(250px,360px) minmax(300px,430px);
    align-items: center;
    gap: clamp(28px,4vw,58px);
    width: min(900px,calc(100vw - 32px));
    max-height: min(760px,calc(100vh - 32px));
    padding: clamp(28px,4vw,50px);
    background:
        linear-gradient(90deg,rgba(241,194,50,.06),transparent 30%),
        repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(255,255,255,.014) 4px),
        linear-gradient(145deg,#151515,#070707 74%);
    border-color: rgba(241,194,50,.2);
    box-shadow: 0 42px 140px rgba(0,0,0,.94), inset 0 1px rgba(255,255,255,.045);
}
.deadend-case-inspector__close {
    top: 14px;
    right: 14px;
    border-radius: 2px;
    border-color: rgba(244,240,231,.25);
    background: #111;
}
.deadend-case-inspector__close:hover,
.deadend-case-inspector__close:focus-visible { color: #111; background: var(--dec-accent); }
.deadend-video-case--inspect {
    width: min(100%,315px);
    transform: perspective(1500px) rotateY(-5deg) rotateX(1deg);
    transform-origin: center;
}
.deadend-video-case--inspect.is-flipped { transform: perspective(1500px) rotateY(175deg) rotateX(1deg); }
.deadend-video-case__face { border-radius: 3px 5px 5px 3px; box-shadow: 22px 32px 46px rgba(0,0,0,.68); }
.deadend-case-inspector__flip {
    width: min(100%,315px);
    margin: 0 auto;
    border-color: rgba(241,194,50,.32);
    background: #0d0d0d;
    color: #f4f0e7;
    border-radius: 2px;
    transition: background .2s ease,color .2s ease,border-color .2s ease;
}
.deadend-case-inspector__flip:hover,
.deadend-case-inspector__flip:focus-visible { background: var(--dec-accent); color: #111; border-color: var(--dec-accent); }
.deadend-case-inspector__details { gap: 15px; }
.deadend-case-inspector__details h2 {
    margin: 0;
    font-size: clamp(2.8rem,5vw,5rem);
    line-height: .88;
    letter-spacing: -.025em;
    text-transform: uppercase;
}
.deadend-case-inspector__details .deadend-store-item__description {
    max-width: 40ch;
    color: #bdb4a7;
    font-size: .98rem;
    line-height: 1.6;
}
.deadend-case-inspector__details .deadend-shopify-product { margin-top: 8px; }

/* Buy Button SDK renders without an iframe, so enforce the house style here as well. */
.deadend-shopify-product .shopify-buy__product { max-width: none !important; text-align: left !important; }
.deadend-shopify-product .shopify-buy__product__price,
.deadend-shopify-product .shopify-buy__product__actual-price,
.deadend-shopify-product .shopify-buy__product__compare-price { color: #f4f0e7 !important; font-weight: 800 !important; }
.deadend-shopify-product .shopify-buy__btn,
.deadend-shopify-product button.shopify-buy__btn {
    appearance: none !important;
    min-height: 48px !important;
    padding: 13px 22px !important;
    border: 1px solid #f1c232 !important;
    border-radius: 2px !important;
    background: #f1c232 !important;
    color: #090909 !important;
    font-family: inherit !important;
    font-size: .8rem !important;
    font-weight: 950 !important;
    letter-spacing: .12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.3) !important;
    cursor: pointer !important;
}
.deadend-shopify-product .shopify-buy__btn:hover,
.deadend-shopify-product .shopify-buy__btn:focus-visible { background: #fff0a8 !important; border-color: #fff0a8 !important; transform: translateY(-1px); }
.deadend-shopify-product .shopify-buy__option-select-wrapper select,
.deadend-shopify-product select.shopify-buy__option-select__select {
    min-height: 44px !important;
    border: 1px solid rgba(244,240,231,.28) !important;
    border-radius: 2px !important;
    background: #111 !important;
    color: #f4f0e7 !important;
}

@media (max-width: 760px) {
    .deadend-video-shelf { padding-inline: 18px; }
    .deadend-video-shelf__items { justify-content: flex-start !important; min-height: 360px; }
    .deadend-video-store--count-1 .deadend-video-shelf__items { justify-content: center !important; }
    .deadend-video-store--count-1 .deadend-video-shelf-item { flex-basis: min(68vw,260px); }
    .deadend-case-inspector { padding: 8px; align-items: start; }
    .deadend-case-inspector__panel {
        grid-template-columns: 1fr;
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        gap: 24px;
        padding: 48px 20px 28px;
    }
    .deadend-video-case--inspect { width: min(64vw,260px); }
    .deadend-case-inspector__flip { width: min(64vw,260px); }
    .deadend-case-inspector__details { align-self: start; }
    .deadend-case-inspector__details h2 { font-size: clamp(2.5rem,14vw,4rem); }
}

@media (prefers-reduced-motion: reduce) {
    .deadend-video-case--shelf,
    .deadend-video-case--inspect,
    .deadend-case-inspector__flip { transition: none !important; }
    .deadend-video-shelf-item__trigger:hover .deadend-video-case--shelf,
    .deadend-video-shelf-item__trigger:focus-visible .deadend-video-case--shelf { transform: none; }
}


/* v0.2.2-alpha: reversible translucent Blu-ray case model. */
.deadend-video-case {
    --dec-case-blue: rgba(0, 139, 224, .92);
    --dec-case-blue-deep: rgba(0, 76, 151, .96);
    --dec-case-blue-light: rgba(73, 197, 255, .72);
    border-radius: 7px 7px 5px 5px;
}
.deadend-video-case--shelf,
.deadend-video-case__face {
    overflow: hidden;
    border-radius: 7px 7px 5px 5px;
    background:
        linear-gradient(90deg, var(--dec-case-blue-deep) 0 4%, transparent 4% 96%, rgba(7,91,160,.8) 96% 100%),
        linear-gradient(180deg, var(--dec-case-blue) 0 9%, transparent 9% 96%, rgba(0,80,150,.82) 96% 100%);
    border: 2px solid rgba(57,190,255,.72);
    box-shadow:
        inset 0 0 0 1px rgba(0,37,88,.78),
        inset 0 2px 3px rgba(255,255,255,.38),
        inset 0 -3px 5px rgba(0,38,86,.72),
        18px 28px 40px rgba(0,0,0,.55);
}
.deadend-video-case--shelf .deadend-video-case__art,
.deadend-video-case__face .deadend-video-case__art,
.deadend-video-case__face .deadend-video-case__generated-back {
    position: absolute;
    z-index: 1;
    top: 9%;
    right: 4.3%;
    bottom: 4%;
    left: 4.3%;
    width: auto;
    height: auto;
    border-radius: 1px;
    box-shadow: 0 0 0 1px rgba(0,0,0,.32);
}
.deadend-video-case--shelf .deadend-video-case__missing,
.deadend-video-case__face .deadend-video-case__missing {
    position: absolute;
    z-index: 1;
    top: 9%; right: 4.3%; bottom: 4%; left: 4.3%;
    width: auto; height: auto;
}
.deadend-video-case__plastic {
    inset: 0;
    z-index: 3;
    border: 0;
    border-radius: inherit;
    background:
        linear-gradient(100deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.10) 8%, transparent 24%, transparent 70%, rgba(255,255,255,.11) 92%, rgba(255,255,255,.24) 100%),
        linear-gradient(180deg, rgba(255,255,255,.12), transparent 11%, transparent 91%, rgba(0,38,86,.42));
    box-shadow:
        inset 6px 0 8px rgba(255,255,255,.11),
        inset -7px 0 9px rgba(0,37,86,.35),
        inset 0 6px 8px rgba(255,255,255,.12);
}
.deadend-video-case--shelf::before,
.deadend-video-case__face::before {
    content: 'Blu-ray Disc';
    position: absolute;
    z-index: 4;
    top: 2.35%;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255,255,255,.92);
    font: 700 clamp(6px,.58vw,9px)/1 Arial,sans-serif;
    letter-spacing: -.02em;
    text-shadow: 0 1px 1px rgba(0,46,101,.85);
    pointer-events: none;
}
.deadend-video-case--shelf::after,
.deadend-video-case__face::after {
    content: '';
    position: absolute;
    z-index: 4;
    top: 10.5%;
    bottom: 5.2%;
    width: 3.4%;
    border-radius: 4px;
    pointer-events: none;
}
/* Front: hinge/spine left, clasp details right. */
.deadend-video-case--shelf::after,
.deadend-video-case__face--front::after {
    left: .5%;
    background: linear-gradient(90deg, rgba(0,51,111,.9), rgba(55,193,255,.48) 52%, rgba(0,82,158,.72));
    box-shadow: 2px 0 3px rgba(0,0,0,.32), inset 1px 0 rgba(255,255,255,.25);
}
.deadend-video-case__face--front .deadend-video-case__plastic::after,
.deadend-video-case--shelf .deadend-video-case__plastic::after {
    content: '';
    position: absolute;
    right: .35%;
    top: 19%;
    width: 3.2%;
    height: 13%;
    border-radius: 7px 1px 1px 7px;
    background: rgba(42,177,241,.32);
    border: 1px solid rgba(92,211,255,.3);
    box-shadow: 0 40vh 0 rgba(42,177,241,.22);
}
/* Back: the physical object reverses, putting hinge/spine right and clasps left. */
.deadend-video-case__face--back::after {
    right: .5%;
    background: linear-gradient(270deg, rgba(0,51,111,.9), rgba(55,193,255,.48) 52%, rgba(0,82,158,.72));
    box-shadow: -2px 0 3px rgba(0,0,0,.32), inset -1px 0 rgba(255,255,255,.25);
}
.deadend-video-case__face--back .deadend-video-case__plastic {
    transform: scaleX(-1);
}
.deadend-video-case__face--back .deadend-video-case__plastic::after {
    content: '';
    position: absolute;
    right: .35%;
    top: 19%;
    width: 3.2%;
    height: 13%;
    border-radius: 7px 1px 1px 7px;
    background: rgba(42,177,241,.32);
    border: 1px solid rgba(92,211,255,.3);
    box-shadow: 0 40vh 0 rgba(42,177,241,.22);
}
.deadend-video-case__face--front {
    transform: rotateY(0deg) translateZ(4px);
}
.deadend-video-case__face--back {
    transform: rotateY(180deg) translateZ(4px);
}
.deadend-video-case--inspect {
    transform-style: preserve-3d;
}
.deadend-video-case--inspect.is-flipped {
    transform: rotateY(180deg);
}
@media (prefers-reduced-motion: reduce) {
    .deadend-video-case--inspect.is-flipped { transform: rotateY(180deg); }
}

/* v0.3.0-alpha: template-driven reusable Blu-ray shell. */
.deadend-video-case--shelf,
.deadend-video-case__face {
    background: transparent !important;
    border: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
}
.deadend-video-case--shelf::before,
.deadend-video-case--shelf::after,
.deadend-video-case__face::before,
.deadend-video-case__face::after,
.deadend-video-case__plastic { display:none !important; }
.deadend-video-case__insert {
    position:absolute;
    z-index:1;
    left:4.4%; right:4.4%; top:8.1%; bottom:3.7%;
    overflow:hidden;
    background:#07101a;
    border-radius:2px;
}
.deadend-video-case__insert .deadend-video-case__art {
    width:100%; height:100%; display:block; max-width:none;
}
.deadend-video-case__insert--cover-top .deadend-video-case__art { object-fit:cover; object-position:center top; }
.deadend-video-case__insert--cover-center .deadend-video-case__art { object-fit:cover; object-position:center center; }
.deadend-video-case__insert--contain .deadend-video-case__art { object-fit:contain; object-position:center center; background:#060606; }
.deadend-video-case__insert--exact .deadend-video-case__art { object-fit:fill; object-position:center center; }
.deadend-video-case__shell {
    position:absolute; inset:0; z-index:3; width:100%; height:100%; object-fit:fill;
    pointer-events:none; filter:drop-shadow(12px 18px 14px rgba(0,0,0,.52));
}
.deadend-video-case__spine-shell {
    position:absolute; z-index:4; top:.2%; bottom:.2%; width:8.8%; height:99.6%; object-fit:fill; pointer-events:none;
}
.deadend-video-case__spine-shell--front { left:-3.2%; }
.deadend-video-case__spine-shell--back { right:-3.2%; transform:scaleX(-1); }
.deadend-video-case__generated-back,
.deadend-video-case__missing { width:100% !important; height:100% !important; position:static !important; }
.deadend-video-case__face--front { transform:rotateY(0deg) translateZ(5px); }
.deadend-video-case__face--back { transform:rotateY(180deg) translateZ(5px); }

/* v0.3.1-alpha: front, back, and spine are separate case views. */
.deadend-video-case__shell {
    z-index: 0;
    filter: drop-shadow(12px 18px 14px rgba(0,0,0,.52));
}
.deadend-video-case__insert {
    z-index: 1;
    background: transparent;
}
.deadend-video-case__insert::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(105deg,rgba(255,255,255,.13),transparent 18%,transparent 78%,rgba(255,255,255,.07));
}
.deadend-video-case__spine-shell { display:none !important; }
.deadend-video-case--inspect {
    transform: none !important;
    transform-style: flat;
}
.deadend-video-case--inspect .deadend-video-case__face {
    position:absolute;
    inset:0;
    transform:none !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility .22s ease;
}
.deadend-video-case--inspect[data-case-view="front"] .deadend-video-case__face--front,
.deadend-video-case--inspect[data-case-view="back"] .deadend-video-case__face--back,
.deadend-video-case--inspect[data-case-view="spine"] .deadend-video-case__face--spine {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.deadend-video-case__face--spine {
    display:grid;
    place-items:center;
    box-shadow:none !important;
}
.deadend-video-case__spine-view {
    position:relative;
    display:block;
    width:18%;
    height:100%;
    min-width:48px;
    filter:drop-shadow(12px 18px 14px rgba(0,0,0,.58));
}
.deadend-video-case__spine-only-shell {
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    object-fit:fill;
    pointer-events:none;
}
.deadend-video-case__spine-art {
    position:absolute;
    z-index:1;
    inset:3% 24%;
    width:52%;
    height:94%;
    object-fit:cover;
}
.deadend-video-case__spine-title {
    position:absolute;
    z-index:1;
    left:50%;
    top:50%;
    width:72vh;
    max-width:560px;
    transform:translate(-50%,-50%) rotate(90deg);
    transform-origin:center;
    color:#f4f0e7;
    font-size:clamp(.64rem,1vw,.82rem);
    font-weight:900;
    letter-spacing:.12em;
    text-align:center;
    text-transform:uppercase;
    white-space:nowrap;
    text-shadow:0 1px 2px rgba(0,0,0,.78);
}
.deadend-case-inspector__view-controls {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    width:min(100%,315px);
    margin:12px auto 0;
}
.deadend-case-inspector__view {
    min-height:42px;
    padding:9px 10px;
    border:1px solid rgba(241,194,50,.32);
    border-radius:2px;
    background:#0d0d0d;
    color:#f4f0e7;
    font:900 .72rem/1 inherit;
    letter-spacing:.1em;
    text-transform:uppercase;
    cursor:pointer;
}
.deadend-case-inspector__view:hover,
.deadend-case-inspector__view:focus-visible,
.deadend-case-inspector__view.is-active {
    background:var(--dec-accent);
    border-color:var(--dec-accent);
    color:#111;
}
.deadend-case-inspector__flip { display:none !important; }
@media (max-width:760px) {
    .deadend-case-inspector__view-controls { width:min(64vw,260px); }
}
@media (prefers-reduced-motion:reduce) {
    .deadend-video-case--inspect .deadend-video-case__face { transition:none; }
}


/* v0.3.3-alpha: inspector stacking and reliable artwork fitting. */
.deadend-video-shelf-item.is-inspector-active {
    z-index: 20000 !important;
}
.deadend-video-shelf-item.is-inspector-active .deadend-case-inspector {
    z-index: 20001 !important;
}
.deadend-video-case__insert {
    isolation: isolate;
}
.deadend-video-case__insert .deadend-video-case__art {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.deadend-video-case__insert--cover-top .deadend-video-case__art {
    object-fit: cover !important;
    object-position: center top !important;
}
.deadend-video-case__insert--cover-center .deadend-video-case__art {
    object-fit: cover !important;
    object-position: center center !important;
}
.deadend-video-case__insert--contain .deadend-video-case__art {
    object-fit: contain !important;
    object-position: center center !important;
}
.deadend-video-case__insert--exact .deadend-video-case__art {
    object-fit: fill !important;
    object-position: center center !important;
}

/* v0.3.6-alpha: exact user-supplied back shell, rendered identically to the front shell. */

/* v0.3.7-alpha: use the supplied Blu-ray shell geometry exactly. */
:root {
    --dec-bluray-face-width: 1200;
    --dec-bluray-face-height: 1455;
    --dec-bluray-spine-width: 106;
}

/* The global case shell is 1200 x 1455, not 2:3. */
.deadend-video-case {
    aspect-ratio: 1200 / 1455;
}

/* Remove the older 150% height shim and derive height from the shell ratio. */
.deadend-video-case--inspect::before {
    padding-top: calc(1455 / 1200 * 100%);
}

/* Keep every face locked to the exact shell box. */
.deadend-video-case__face,
.deadend-video-case__shell,
.deadend-video-case__insert {
    aspect-ratio: 1200 / 1455;
}

/* The spine shell is 106 x 1455, or 8.8333% of the face width. */
.deadend-video-case__face--spine {
    align-items: stretch;
    justify-items: center;
}
.deadend-video-case__spine-view {
    width: calc(106 / 1200 * 100%);
    min-width: 0;
    height: 100%;
    aspect-ratio: 106 / 1455;
}
.deadend-video-case__spine-only-shell {
    width: 100%;
    height: 100%;
    object-fit: fill;
}

/* Fit uploaded spine artwork to the actual printable spine window. */
.deadend-video-case__spine-art {
    inset: 1.2% 12%;
    width: 76%;
    height: 97.6%;
    max-width: none;
    max-height: none;
    object-fit: fill;
}

/* Generated titles use the physical spine height instead of viewport units. */
.deadend-video-case__spine-title {
    width: 1120%;
    max-width: none;
    font-size: clamp(.52rem,.8vw,.76rem);
}


/* v0.3.8-alpha: true transparent-window case overlays.
   Front and back now use the same layer order and measured artwork opening. */
.deadend-video-case__insert {
    z-index: 1 !important;
    left: 4.4% !important;
    right: 4.4% !important;
    top: 8.1% !important;
    bottom: 3.7% !important;
    background: transparent !important;
}
.deadend-video-case__shell {
    z-index: 3 !important;
    object-fit: fill !important;
}
.deadend-video-case__insert::after {
    z-index: 2 !important;
}

/* v0.4.2-alpha: four-case desktop shelves with vertical shelf stacking. */
.deadend-video-store__shelves {
    display: grid;
    gap: clamp(28px, 4vw, 52px);
}

@media (min-width: 901px) {
    .deadend-video-shelf__items {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: end;
        justify-items: center;
        gap: clamp(24px, 2.8vw, 44px);
        min-height: clamp(430px, 34vw, 560px);
        overflow-x: visible;
        padding-inline: 0;
    }

    .deadend-video-shelf-item {
        width: 100%;
        max-width: 300px;
        min-width: 0;
        flex: none;
    }

    .deadend-video-shelf--count-1 .deadend-video-shelf__items {
        grid-template-columns: minmax(240px, 300px);
        justify-content: center;
    }

    .deadend-video-shelf--count-2 .deadend-video-shelf__items {
        grid-template-columns: repeat(2, minmax(240px, 300px));
        justify-content: center;
    }

    .deadend-video-shelf--count-3 .deadend-video-shelf__items {
        grid-template-columns: repeat(3, minmax(220px, 300px));
        justify-content: center;
    }
}

/* v0.4.5-alpha: Vinyl presentation support and label refinement. */
.deadend-store-item__media--vinyl {
    aspect-ratio: 6 / 5;
    display: grid;
    place-items: center;
    padding: clamp(14px, 2vw, 24px);
    background:
        radial-gradient(circle at 35% 28%, rgba(255,255,255,.06), transparent 28%),
        linear-gradient(180deg, #121212, #050505 72%);
}
.deadend-vinyl {
    position: relative;
    display: block;
    width: min(100%, 540px);
    aspect-ratio: 1.32 / 1;
    margin: 0 auto;
    filter: drop-shadow(0 20px 34px rgba(0,0,0,.5));
}
.deadend-vinyl__record-wrap {
    position: absolute;
    top: .5%;
    right: -1%;
    bottom: .5%;
    width: 62%;
    display: grid;
    place-items: center;
    transform: translateX(-12%);
}
.deadend-vinyl__record {
    display: block;
    width: 100%;
    height: auto;
}
.deadend-vinyl__label {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    width: 34%;
    aspect-ratio: 1 / 1;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(0,0,0,.12);
}
.deadend-vinyl__label-image,
.deadend-vinyl__label-inner {
    display: block;
    width: 100%;
    height: 100%;
}
.deadend-vinyl__label-image {
    object-fit: cover;
}
.deadend-vinyl__label.is-generated {
    background: radial-gradient(circle at 45% 40%, rgba(255,255,255,.98), rgba(238,238,238,.98) 65%, rgba(214,214,214,.98));
    color: #1d1d1d;
}
.deadend-vinyl__label-inner {
    position: relative;
    border-radius: 50%;
}
.deadend-vinyl__label-ring {
    position: absolute;
    inset: 8%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 7px;
    line-height: 1;
    letter-spacing: .09em;
    text-align: center;
    opacity: .9;
    transform: rotate(-20deg);
}
.deadend-vinyl__label-core {
    position: absolute;
    inset: 26%;
    display: grid;
    place-items: center;
    text-align: center;
    gap: 3px;
}
.deadend-vinyl__label-title {
    font-size: 8px;
    line-height: 1.1;
    letter-spacing: .08em;
    font-weight: 700;
}
.deadend-vinyl__label-subtitle {
    font-size: 6px;
    line-height: 1.1;
    letter-spacing: .14em;
    opacity: .82;
}
.deadend-vinyl__label::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 11%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(12,12,12,.95) 0 42%, rgba(248,248,248,.95) 46% 100%);
    box-shadow: 0 0 0 1px rgba(0,0,0,.14);
}
.deadend-vinyl__sleeve {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    bottom: 0;
    width: 74%;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 16px 28px rgba(0,0,0,.4);
}
.deadend-vinyl__art,
.deadend-vinyl__art-image,
.deadend-vinyl__sleeve-shell {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}
.deadend-vinyl__art {
    background: #090909;
}
.deadend-vinyl__art-image {
    object-fit: cover;
    background: #080808;
}
.deadend-vinyl__art.is-missing {
    display: grid;
    place-items: center;
    padding: 18px;
    color: var(--dec-faint);
    text-transform: uppercase;
    letter-spacing: .12em;
    background: linear-gradient(145deg, #161616, #070707);
}
.deadend-vinyl__missing {
    text-align: center;
    font-size: .82rem;
}
.deadend-vinyl__sleeve-shell {
    pointer-events: none;
}
.deadend-vinyl--style2 .deadend-vinyl__sleeve {
    border-radius: 10px;
    box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 16px 28px rgba(0,0,0,.42);
}
.deadend-vinyl--style2 .deadend-vinyl__sleeve-shell {
    opacity: .75;
    mix-blend-mode: multiply;
}
.deadend-vinyl--style2 .deadend-vinyl__sleeve::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(125deg, rgba(255,255,255,.14), transparent 22%, transparent 74%, rgba(255,255,255,.05));
}
.deadend-vinyl--style1 .deadend-vinyl__sleeve {
    border-radius: 8px;
    box-shadow: 0 0 0 1px rgba(255,255,255,.04), 0 16px 28px rgba(0,0,0,.46);
}
.deadend-vinyl--style1 .deadend-vinyl__sleeve-shell {
    opacity: .95;
    mix-blend-mode: screen;
}
.deadend-vinyl--style1 .deadend-vinyl__sleeve::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 50% 20%, rgba(255,255,255,.08), transparent 34%), linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.26));
}
.deadend-vinyl--grid {
    width: min(100%, 450px);
}
.deadend-vinyl--shelf {
    width: min(100%, 305px);
    transition: transform .28s ease, filter .28s ease;
}
.deadend-video-shelf-item__trigger:hover .deadend-vinyl--shelf,
.deadend-video-shelf-item__trigger:focus-visible .deadend-vinyl--shelf {
    transform: translateY(-16px) scale(1.02);
    filter: drop-shadow(0 26px 32px rgba(0,0,0,.68));
}
.deadend-vinyl--inspect {
    width: min(100%, 430px);
}
.deadend-video-shelf-item--vinyl {
    flex-basis: clamp(240px, 23vw, 340px);
}
.deadend-case-inspector__visual--vinyl {
    align-items: center;
    justify-items: center;
}
@media (max-width: 760px) {
    .deadend-store-item__media--vinyl {
        aspect-ratio: 1.15 / 1;
        padding: 16px;
    }
    .deadend-vinyl--inspect {
        width: min(88vw, 360px);
    }
}
@media (prefers-reduced-motion: reduce) {
    .deadend-vinyl--shelf {
        transition: none !important;
    }
    .deadend-video-shelf-item__trigger:hover .deadend-vinyl--shelf,
    .deadend-video-shelf-item__trigger:focus-visible .deadend-vinyl--shelf {
        transform: none;
    }
}

/* v0.4.6-alpha: corrected vinyl scale, shelf motion, reverse view, and title sizing. */
.deadend-store-item__title {
    font-size: clamp(.68rem, 1vw, .9rem);
    line-height: 1.15;
}
.deadend-case-inspector__details h2 {
    max-width: 100%;
    font-size: clamp(1.4rem, 2.5vw, 2.5rem) !important;
    line-height: .95;
    overflow-wrap: anywhere;
}
.deadend-video-shelf-item__label {
    font-size: .62rem;
    line-height: 1.3;
}

.deadend-vinyl {
    width: min(100%, 520px);
    aspect-ratio: 1 / 1;
    overflow: visible;
}
.deadend-vinyl__record-wrap {
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateX(0);
    transform-origin: center;
}
.deadend-vinyl__record {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.deadend-vinyl__sleeve {
    top: 0;
    left: 0;
    bottom: auto;
    width: 100%;
    height: 100%;
}
.deadend-vinyl__art-image {
    object-position: center center;
}
.deadend-vinyl__generated-back {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 14px;
    padding: 11% 9%;
    background:
        repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(255,255,255,.018) 4px),
        linear-gradient(145deg, #171717, #050505 76%);
    color: var(--dec-text);
    text-align: left;
}
.deadend-vinyl__generated-back strong {
    font-size: clamp(1rem, 2.2vw, 1.8rem);
    line-height: .95;
    text-transform: uppercase;
}
.deadend-vinyl__generated-back span {
    color: var(--dec-muted);
    font-size: clamp(.62rem, 1vw, .86rem);
    line-height: 1.5;
}
.deadend-vinyl__generated-back small {
    color: var(--dec-accent);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.deadend-vinyl--shelf {
    width: min(100%, 404px);
    transform: translateY(0) scale(1);
    transition: transform .25s ease, filter .25s ease;
}
.deadend-vinyl--shelf .deadend-vinyl__record-wrap {
    transform: translateX(0);
}
.deadend-video-shelf-item--vinyl {
    max-width: 404px;
    overflow: visible;
}
.deadend-video-shelf--count-1 .deadend-video-shelf-item--vinyl {
    width: min(425px, 86vw);
    max-width: 425px;
    justify-self: center;
}
.deadend-video-shelf-item--vinyl:hover,
.deadend-video-shelf-item--vinyl:focus-within {
    z-index: 30;
}

@keyframes deadend-vinyl-record-peek {
    0%, 12%, 100% { transform: translateX(0); }
    34%, 70% { transform: translateX(58%); }
}
@media (hover: hover) and (pointer: fine) {
    .deadend-video-shelf-item__trigger:hover .deadend-vinyl--shelf,
    .deadend-video-shelf-item__trigger:focus-visible .deadend-vinyl--shelf {
        transform: translateY(-14px) scale(1.035);
        filter: drop-shadow(0 28px 34px rgba(0,0,0,.72));
    }
    .deadend-video-shelf-item__trigger:hover .deadend-vinyl--shelf .deadend-vinyl__record-wrap,
    .deadend-video-shelf-item__trigger:focus-visible .deadend-vinyl--shelf .deadend-vinyl__record-wrap {
        animation: deadend-vinyl-record-peek 2.8s cubic-bezier(.22,.7,.26,1) 1;
    }
}

.deadend-vinyl--grid .deadend-vinyl__record-wrap {
    transform: translateX(46%);
}
.deadend-vinyl--grid {
    width: min(72%, 430px);
    margin-left: 3%;
}

.deadend-case-inspector__panel--vinyl {
    grid-template-columns: minmax(430px, 620px) minmax(260px, 390px);
    width: min(1120px, calc(100vw - 40px));
    overflow-x: hidden;
}
.deadend-case-inspector__visual--vinyl {
    width: 100%;
    overflow: visible;
}
.deadend-vinyl-viewer {
    position: relative;
    width: 100%;
    aspect-ratio: 1.58 / 1;
    overflow: visible;
}
.deadend-vinyl-viewer__panel {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
}
.deadend-vinyl-viewer[data-case-view="front"] .deadend-vinyl-viewer__panel[data-case-panel="front"],
.deadend-vinyl-viewer[data-case-view="back"] .deadend-vinyl-viewer__panel[data-case-panel="back"] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.deadend-vinyl--inspect {
    width: 63.3%;
    margin: 0;
}
.deadend-vinyl--inspect .deadend-vinyl__record-wrap {
    transform: translateX(58%);
}
.deadend-case-inspector__view-controls--vinyl {
    width: min(100%, 420px);
}

@media (max-width: 900px) {
    .deadend-case-inspector__panel--vinyl {
        grid-template-columns: 1fr;
        width: calc(100vw - 16px);
        overflow-x: hidden;
    }
    .deadend-vinyl-viewer {
        width: min(100%, 620px);
        margin: 0 auto;
    }
    .deadend-case-inspector__details h2 {
        font-size: clamp(1.25rem, 5vw, 2rem) !important;
    }
}
@media (max-width: 580px) {
    .deadend-vinyl--shelf {
        width: min(82vw, 330px);
    }
    .deadend-vinyl-viewer {
        aspect-ratio: 1.42 / 1;
    }
    .deadend-vinyl--inspect {
        width: 70.4%;
    }
    .deadend-vinyl--inspect .deadend-vinyl__record-wrap {
        transform: translateX(42%);
    }
}
@media (prefers-reduced-motion: reduce) {
    .deadend-video-shelf-item__trigger:hover .deadend-vinyl--shelf,
    .deadend-video-shelf-item__trigger:focus-visible .deadend-vinyl--shelf {
        transform: translateY(-8px) scale(1.02);
    }
    .deadend-video-shelf-item__trigger:hover .deadend-vinyl--shelf .deadend-vinyl__record-wrap,
    .deadend-video-shelf-item__trigger:focus-visible .deadend-vinyl--shelf .deadend-vinyl__record-wrap {
        animation: none;
        transform: translateX(48%);
    }
}

/* v0.4.8-alpha: add weathered VHS presentation with separate front, back, and spine artwork. */
.deadend-store-item__media--vhs {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 25rem;
}

.deadend-vhs {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: min(100%, 17rem);
}

.deadend-vhs__panel {
    position: relative;
    display: block;
    width: 100%;
}

.deadend-vhs__art,
.deadend-vhs__shell,
.deadend-vhs__art-image {
    display: block;
    width: 100%;
    height: auto;
}

.deadend-vhs__art {
    position: absolute;
    inset: 1.8% 1.9% 1.8% 1.9%;
    overflow: hidden;
    border-radius: 0.5rem;
    background: #050505;
}

.deadend-vhs__art-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}

.deadend-vhs__shell {
    position: relative;
    z-index: 2;
    pointer-events: none;
}

.deadend-vhs__missing,
.deadend-vhs__spine-title {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    color: #d7d0c2;
    text-align: center;
    font-size: 0.82rem;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.deadend-vhs--grid {
    width: min(100%, 15.75rem);
}

.deadend-vhs--shelf {
    width: min(100%, 16rem);
    transition: transform .26s ease;
}

.deadend-video-shelf-item__trigger:hover .deadend-vhs--shelf,
.deadend-video-shelf-item__trigger:focus-visible .deadend-vhs--shelf {
    transform: translateY(-0.25rem) scale(1.02);
}

.deadend-vhs--inspect {
    width: min(100%, 24rem);
}

.deadend-vhs--side-back .deadend-vhs__art {
    inset: 1.7% 2.1% 1.7% 2.1%;
}

.deadend-vhs--side-spine {
    width: min(100%, 4rem);
}

.deadend-vhs--side-spine .deadend-vhs__art {
    inset: 1.2% 8% 1.2% 8%;
    border-radius: 0.25rem;
}

.deadend-vhs__spine-title {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    font-size: 0.72rem;
}

.deadend-vhs-viewer {
    position: relative;
    width: min(100%, 25rem);
    min-height: 42rem;
}

.deadend-vhs-viewer__panel {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
}

.deadend-vhs-viewer[data-case-view="front"] .deadend-vhs-viewer__panel[data-case-panel="front"],
.deadend-vhs-viewer[data-case-view="back"] .deadend-vhs-viewer__panel[data-case-panel="back"],
.deadend-vhs-viewer[data-case-view="spine"] .deadend-vhs-viewer__panel[data-case-panel="spine"] {
    opacity: 1;
    pointer-events: auto;
}

.deadend-case-inspector__visual--vhs {
    min-height: 42rem;
}

.deadend-case-inspector__panel--vhs {
    align-items: stretch;
}

.deadend-case-inspector__view-controls--vhs {
    margin-top: 1rem;
}

.deadend-video-shelf-item--vhs .deadend-video-shelf-item__label {
    margin-top: 0.7rem;
}

@media (max-width: 900px) {
    .deadend-store-item__media--vhs {
        min-height: 20rem;
    }

    .deadend-vhs--grid,
    .deadend-vhs--shelf {
        width: min(100%, 13rem);
    }

    .deadend-vhs-viewer {
        width: min(100%, 18rem);
        min-height: 31rem;
    }

    .deadend-case-inspector__visual--vhs {
        min-height: 31rem;
    }

    .deadend-vhs--inspect {
        width: min(100%, 18rem);
    }
}

/* v0.4.11-alpha: keep the VHS shell overlay but stop cropping assigned case art. */
.deadend-vhs__panel {
    overflow: visible;
    border-radius: .7rem;
    background: #050505;
    box-shadow: 0 18px 34px rgba(0,0,0,.58);
}

/* The supplied VHS shell photographs are nearly opaque. Screen blending keeps
   their scratches, highlights, and plastic edges while allowing cover art below. */
.deadend-vhs__shell {
    opacity: .94;
    mix-blend-mode: screen;
}

.deadend-vhs__art-image {
    /* VHS Front, Back, and Spine artwork are full-face packaging assets.
       Fill the printable window exactly instead of cropping the right/bottom edges. */
    object-fit: fill;
    object-position: center center;
}

/* Keep the inspector compact enough that view controls stay above the fold. */
.deadend-case-inspector__panel--vhs {
    align-items: start;
    padding-top: clamp(18px,2.2vw,30px);
    padding-bottom: clamp(18px,2.2vw,30px);
}

.deadend-case-inspector__visual--vhs {
    min-height: 0;
    align-content: start;
    gap: 10px;
}

.deadend-vhs-viewer {
    width: min(100%,24rem);
    min-height: 0;
    aspect-ratio: 1350 / 2048;
    margin: 0 auto;
}

.deadend-vhs-viewer__panel {
    align-items: flex-start;
}

.deadend-vhs--inspect {
    width: 100%;
    height: 100%;
}

.deadend-vhs--inspect .deadend-vhs__panel,
.deadend-vhs--inspect .deadend-vhs__shell {
    width: 100%;
    height: 100%;
}

.deadend-vhs--inspect .deadend-vhs__shell {
    object-fit: fill;
}

/* Spine uses the same physical height as Front and Back instead of a separate
   fixed width that made the spine visibly shorter. */
.deadend-vhs--inspect.deadend-vhs--side-spine {
    width: auto;
    height: 100%;
}

.deadend-vhs--inspect.deadend-vhs--side-spine .deadend-vhs__panel {
    width: auto;
    height: 100%;
    aspect-ratio: 334 / 2048;
}

.deadend-vhs--inspect.deadend-vhs--side-spine .deadend-vhs__art,
.deadend-vhs--inspect.deadend-vhs--side-spine .deadend-vhs__shell {
    width: 100%;
    height: 100%;
}

.deadend-case-inspector__view-controls--vhs {
    margin-top: .4rem;
}

/* v0.4.7 enlarged a single Vinyl item, but a mixed two-item shelf restored the
   older 300px grid cap. Preserve the approved Vinyl size on two-item shelves. */
@media (min-width: 901px) {
    .deadend-video-shelf--count-2.deadend-video-shelf--has-vinyl .deadend-video-shelf__items {
        grid-template-columns: repeat(2,max-content);
    }

    .deadend-video-shelf--count-2 .deadend-video-shelf-item--vinyl {
        width: min(404px,38vw);
        max-width: 404px;
    }

    .deadend-video-shelf--count-2 .deadend-video-shelf-item--vhs {
        width: min(300px,28vw);
        max-width: 300px;
    }
}

@media (max-width: 900px) {
    .deadend-vhs-viewer {
        width: min(100%,18rem);
        min-height: 0;
        aspect-ratio: 1350 / 2048;
    }

    .deadend-case-inspector__visual--vhs {
        min-height: 0;
    }
}

/* v0.4.13-alpha: exact VHS shell and artwork-window geometry, proven from the
   supplied original packaging art and matching shell templates. */
.deadend-vhs--side-front {
    --dec-vhs-art-width: 92.9331307%; /* 1223 / 1316 */
    --dec-vhs-shell-ratio: 1316 / 2048;
}

.deadend-vhs--side-back {
    --dec-vhs-art-width: 93.2267884%; /* 1225 / 1314 */
    --dec-vhs-shell-ratio: 1314 / 2048;
}

.deadend-vhs--side-spine {
    --dec-vhs-art-width: 77.2189349%; /* 261 / 338 */
    --dec-vhs-shell-ratio: 338 / 2048;
}

.deadend-vhs__panel {
    aspect-ratio: var(--dec-vhs-shell-ratio);
}

.deadend-vhs__art,
.deadend-vhs--side-back .deadend-vhs__art,
.deadend-vhs--side-spine .deadend-vhs__art {
    inset: 0 auto 0 50%;
    width: var(--dec-vhs-art-width);
    height: 100%;
    transform: translateX(-50%);
    border-radius: 0;
}

.deadend-vhs__art-image {
    width: 100%;
    height: 100%;
    object-fit: fill;
    object-position: center center;
}

.deadend-vhs-viewer {
    aspect-ratio: 1316 / 2048;
}

.deadend-vhs--inspect {
    width: auto;
    height: 100%;
}

.deadend-vhs--inspect .deadend-vhs__panel {
    width: auto;
    height: 100%;
    aspect-ratio: var(--dec-vhs-shell-ratio);
}

.deadend-vhs--inspect .deadend-vhs__shell {
    width: 100%;
    height: 100%;
    object-fit: fill;
}

/* v0.4.14-alpha: structured media filters, media-type shelves, and merchandise grids. */
.deadend-store-filter {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin: 0 0 clamp(1.5rem,3vw,2.5rem);
    padding: 1rem;
    border: 1px solid rgba(241,194,50,.18);
    background: linear-gradient(180deg,rgba(241,194,50,.055),rgba(0,0,0,.18));
}

.deadend-store-filter__button {
    min-height: 2.65rem;
    padding: .65rem 1rem;
    border: 1px solid rgba(244,240,231,.2);
    background: #0b0b0b;
    color: var(--dec-text);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}

.deadend-store-filter__button:hover,
.deadend-store-filter__button:focus-visible {
    border-color: var(--dec-accent);
    transform: translateY(-1px);
}

.deadend-store-filter__button.is-active {
    border-color: var(--dec-accent);
    background: var(--dec-accent);
    color: #16120a;
}

.deadend-store-section {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.deadend-store-section[hidden],
.deadend-store-item[hidden] {
    display: none !important;
}

.deadend-store-section__heading {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: .25rem 1rem;
    padding: 0 .2rem .8rem;
    border-bottom: 1px solid rgba(244,240,231,.12);
}

.deadend-store-section__heading span {
    grid-column: 1 / -1;
    color: var(--dec-accent);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.deadend-store-section__heading strong {
    color: var(--dec-text);
    font-size: clamp(1.45rem,3vw,2.5rem);
    line-height: .95;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.deadend-store-section__heading small {
    color: var(--dec-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.deadend-store-section__content--shelves {
    display: grid;
    gap: clamp(28px,4vw,52px);
}

.deadend-store__grid--section {
    padding: clamp(1rem,2.5vw,1.75rem);
    border: 1px solid rgba(244,240,231,.1);
    background: linear-gradient(180deg,rgba(255,255,255,.018),rgba(0,0,0,.12));
}

.deadend-store-item--presentation-standard .deadend-store-item__media {
    min-height: clamp(260px,28vw,430px);
}

.deadend-store-item--presentation-standard .deadend-store-item__image {
    object-fit: contain;
    padding: clamp(.75rem,2vw,1.5rem);
}

.deadend-store__empty--filtered {
    margin-top: 1.5rem;
}

@media (max-width: 760px) {
    .deadend-store-filter {
        gap: .5rem;
        padding: .75rem;
    }

    .deadend-store-filter__button {
        flex: 1 1 calc(50% - .5rem);
        padding-inline: .65rem;
    }

    .deadend-store-section__heading {
        grid-template-columns: 1fr;
    }

    .deadend-store-section__heading small {
        justify-self: start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .deadend-store-filter__button {
        transition: none;
    }

    .deadend-store-filter__button:hover,
    .deadend-store-filter__button:focus-visible {
        transform: none;
    }
}

.deadend-store .screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* v0.4.15-alpha: Shopify artwork fallback plus product-family card support. */
.deadend-store-item__artwork-target {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.deadend-store-item__artwork-target > .deadend-store-item__image,
.deadend-store-item__artwork-target > .deadend-store-item__placeholder {
    position: absolute;
    inset: 0;
}

[data-shopify-artwork-image][hidden] {
    display: none !important;
}

[data-shopify-artwork-placeholder][hidden] {
    display: none !important;
}

[data-shopify-artwork-target].has-shopify-image .deadend-store-item__image,
[data-shopify-artwork-target].has-shopify-image .deadend-vinyl__art-image,
[data-shopify-artwork-target].has-shopify-image .deadend-vhs__art-image,
[data-shopify-artwork-target].has-shopify-image .deadend-video-case__art {
    display: block;
}

.deadend-store-item--family-merchandise .deadend-store-item__media,
.deadend-store-item--family-digital .deadend-store-item__media {
    background: linear-gradient(180deg,#101010,#050505);
}

.deadend-store-item--family-merchandise .deadend-store-item__image,
.deadend-store-item--family-digital .deadend-store-item__image {
    object-fit: contain;
    padding: clamp(.6rem,1.5vw,1.25rem);
}

.deadend-store-item--family-digital .deadend-store-item__media::after {
    content: 'Digital';
    position: absolute;
    right: .75rem;
    bottom: .75rem;
    z-index: 4;
    padding: .35rem .55rem;
    border: 1px solid rgba(241,194,50,.35);
    background: rgba(5,5,5,.82);
    color: var(--dec-accent);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* v0.4.16-alpha: compact merchandise cards, product inspector, and optional image background treatment. */
.deadend-store-item--has-merch-inspector {
    overflow: hidden;
    cursor: pointer;
}

.deadend-store-item--has-merch-inspector .deadend-store-item__media {
    aspect-ratio: 1 / 1;
    min-height: 0;
}

.deadend-store-item--has-merch-inspector .deadend-store-item__body {
    gap: .75rem;
    padding: 1rem 1.1rem 1.15rem;
}

.deadend-store-item--has-merch-inspector .deadend-store-item__title {
    font-size: clamp(.86rem,1.25vw,1.08rem);
    line-height: 1.2;
}

.deadend-merch-card__media-button {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.deadend-merch-card__media-button:focus-visible {
    outline: 3px solid var(--dec-accent);
    outline-offset: -5px;
}

.deadend-merch-card__title-button {
    appearance: none;
    display: inline;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-align: left;
    text-transform: inherit;
    cursor: pointer;
}

.deadend-merch-card__title-button:hover,
.deadend-merch-card__title-button:focus-visible {
    color: var(--dec-accent);
    outline: none;
}

.deadend-merch-card__price {
    min-height: 1.25em;
    margin: 0;
    color: var(--dec-text);
    font-size: .86rem;
    font-weight: 850;
    letter-spacing: .025em;
}

.deadend-merch-card__price.is-unavailable {
    color: var(--dec-muted);
}

.deadend-merch-card__view-button {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 2.4rem;
    margin-top: .15rem;
    padding: .55rem .85rem;
    border: 1px solid rgba(241,194,50,.55);
    background: transparent;
    color: var(--dec-accent);
    font-family: inherit;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
    cursor: pointer;
}

.deadend-merch-card__view-button:hover,
.deadend-merch-card__view-button:focus-visible {
    border-color: var(--dec-accent);
    background: var(--dec-accent);
    color: #111;
    outline: none;
}

.deadend-merch-inspector__panel {
    grid-template-columns: minmax(260px,440px) minmax(300px,460px);
    width: min(980px,calc(100vw - 32px));
    max-height: min(820px,calc(100dvh - 32px));
    align-items: center;
}

.deadend-merch-inspector__visual {
    min-width: 0;
}

.deadend-merch-inspector__artwork {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid rgba(244,240,231,.14);
    background: radial-gradient(circle at 50% 42%,#222,#090909 76%);
}

.deadend-merch-inspector__image {
    display: block;
    width: 100%;
    height: 100%;
    padding: clamp(.75rem,2vw,1.5rem);
    object-fit: contain;
    object-position: center;
}

.deadend-merch-inspector__placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: var(--dec-faint);
    font-size: .78rem;
    letter-spacing: .12em;
    text-align: center;
    text-transform: uppercase;
}

.deadend-merch-inspector__details h2 {
    font-size: clamp(1.9rem,4vw,3.65rem);
    line-height: .94;
}

.deadend-merch-inspector__format {
    margin: -.25rem 0 0;
    color: var(--dec-muted);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.deadend-merch-inspector .deadend-shopify-product {
    margin-top: .25rem;
    min-height: 7rem;
}

.deadend-merch-inspector .shopify-buy__product {
    width: 100% !important;
}

.deadend-merch-inspector .shopify-buy__option-select-wrapper {
    position: relative !important;
    width: 100% !important;
    margin-bottom: .85rem !important;
}

/* BuyButton.js renders without an iframe. Remove its generated icon layers so
   theme SVG/select rules cannot enlarge them into full-card chevrons. */
.deadend-merch-inspector .shopify-buy__option-select-wrapper::before,
.deadend-merch-inspector .shopify-buy__option-select-wrapper::after,
.deadend-merch-inspector .shopify-buy__select-icon,
.deadend-merch-inspector .shopify-buy__option-select__select-icon {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.deadend-merch-inspector .shopify-buy__option-select-wrapper select,
.deadend-merch-inspector select.shopify-buy__option-select__select {
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 9px 12px !important;
    background: #111 !important;
    background-image: none !important;
    color: var(--dec-text) !important;
}

.deadend-merch-inspector .shopify-buy__option-select__label,
.deadend-merch-inspector .shopify-buy__option-select-label {
    display: block !important;
    margin-bottom: .35rem !important;
    color: var(--dec-muted) !important;
    font-size: .72rem !important;
    font-weight: 850 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

/* The blend option is a visual treatment, not true alpha removal. The radial
   neutral field replaces flat white with a softer store-colored surface while
   multiply preserves the product silhouette. */
.deadend-image-treatment--blend .deadend-store-item__media,
.deadend-image-treatment--blend .deadend-merch-inspector__artwork {
    background: radial-gradient(circle at 50% 42%,#858585 0%,#505050 48%,#151515 100%);
}

.deadend-image-treatment--blend .deadend-store-item__image,
.deadend-image-treatment--blend .deadend-merch-inspector__image {
    padding: 0;
    mix-blend-mode: multiply;
    filter: contrast(1.04) brightness(1.08);
}

.deadend-image-treatment--dark-panel .deadend-store-item__media,
.deadend-image-treatment--dark-panel .deadend-merch-inspector__artwork {
    background: radial-gradient(circle at 50% 42%,#292929,#101010 72%);
}

.deadend-image-treatment--dark-panel .deadend-store-item__image,
.deadend-image-treatment--dark-panel .deadend-merch-inspector__image {
    padding: clamp(.8rem,2vw,1.65rem);
}

@media (max-width: 760px) {
    .deadend-merch-inspector {
        align-items: start;
    }

    .deadend-merch-inspector__panel {
        grid-template-columns: 1fr;
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        gap: 1.25rem;
        padding: 3.4rem 1rem 1.25rem;
    }

    .deadend-merch-inspector__artwork {
        width: min(100%,21rem);
        margin-inline: auto;
    }

    .deadend-merch-inspector__details h2 {
        font-size: clamp(1.8rem,10vw,3rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .deadend-merch-card__view-button,
    .deadend-merch-card__title-button,
    .deadend-store-item--has-merch-inspector .deadend-store-item__image {
        transition: none !important;
    }
}

/* v0.4.18-alpha: keep compact card controls, but reuse established product-view buttons in the inspector. */
[data-merch-image-controls][hidden] {
    display: none !important;
}

.deadend-merch-image-controls {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    padding: .25rem;
    border: 1px solid rgba(241,194,50,.34);
    background: rgba(5,5,5,.88);
    box-shadow: 0 8px 24px rgba(0,0,0,.42);
}

.deadend-merch-image-controls__button {
    appearance: none;
    min-height: 1.95rem;
    padding: .34rem .62rem;
    border: 1px solid transparent;
    background: transparent;
    color: var(--dec-muted);
    font-family: inherit;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
}

.deadend-merch-image-controls__button:hover,
.deadend-merch-image-controls__button:focus-visible,
.deadend-merch-image-controls__button.is-active {
    border-color: var(--dec-accent);
    background: var(--dec-accent);
    color: #111;
    outline: none;
}

.deadend-store-item__media > .deadend-merch-image-controls {
    position: absolute;
    z-index: 8;
    right: .65rem;
    bottom: .65rem;
}

.deadend-merch-inspector__visual > .deadend-merch-image-controls {
    justify-self: center;
}

.deadend-case-inspector__view-controls--merch {
    grid-template-columns: repeat(2,minmax(0,1fr));
    width: min(100%,420px);
}

.deadend-merch-inspector__artwork > .deadend-merch-inspector__image {
    position: absolute;
    inset: 0;
}

@media (max-width: 760px) {
    .deadend-store-item__media > .deadend-merch-image-controls {
        right: .45rem;
        bottom: .45rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .deadend-merch-image-controls__button {
        transition: none !important;
    }
}

/* v0.4.19-alpha: corrected VHS face orientation and exact shell-silhouette crop. */
.deadend-vhs--side-front {
    --dec-vhs-art-width: 93.0745814%; /* 1223 / 1314 */
    --dec-vhs-shell-ratio: 1314 / 2048;
    --dec-vhs-shell-mask: url("../images/vhs-shell-front.png");
}

.deadend-vhs--side-back {
    --dec-vhs-art-width: 93.0851064%; /* 1225 / 1316 */
    --dec-vhs-shell-ratio: 1316 / 2048;
    --dec-vhs-shell-mask: url("../images/vhs-shell-back.png");
}

.deadend-vhs--side-spine {
    --dec-vhs-art-width: 77.2189349%; /* 261 / 338 */
    --dec-vhs-shell-ratio: 338 / 2048;
    --dec-vhs-shell-mask: url("../images/vhs-shell-spine.png");
}

.deadend-vhs__panel {
    overflow: hidden;
}

.deadend-vhs__art,
.deadend-vhs--side-back .deadend-vhs__art,
.deadend-vhs--side-spine .deadend-vhs__art {
    inset: 0;
    width: 100%;
    height: 100%;
    transform: none;
    overflow: hidden;
    -webkit-mask-image: var(--dec-vhs-shell-mask);
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-image: var(--dec-vhs-shell-mask);
    mask-mode: alpha;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
}

.deadend-vhs__art-image {
    position: absolute;
    top: 0;
    left: 50%;
    width: var(--dec-vhs-art-width);
    height: 100%;
    transform: translateX(-50%);
    object-fit: fill;
    object-position: center center;
}

.deadend-vhs-viewer {
    aspect-ratio: 1314 / 2048;
}
