/* Skin-aware library cards and a full-figure composition for Vinyl Studio. */
html[data-image-skin] #browse-view .exam-list {
    gap: 16px;
}

html[data-image-skin] #browse-view .exam-item {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 18px 20px !important;
    color: var(--skin-ink) !important;
    font-family: var(--skin-youth-font) !important;
    border: 1px solid color-mix(in srgb, var(--skin-accent) 28%, rgba(255,255,255,.7)) !important;
    border-radius: var(--skin-card-radius) !important;
    background-image:
        linear-gradient(115deg, rgba(var(--skin-panel-rgb), .93) 0%, rgba(var(--skin-panel-rgb), .82) 58%, rgba(var(--skin-panel-alt-rgb), .6) 100%),
        var(--skin-image) !important;
    background-repeat: no-repeat !important;
    background-size: cover, cover !important;
    background-position: center, var(--skin-image-position) !important;
    box-shadow: 0 14px 38px color-mix(in srgb, var(--skin-accent-strong) 12%, transparent) !important;
    backdrop-filter: blur(13px) saturate(1.1);
    -webkit-backdrop-filter: blur(13px) saturate(1.1);
}

html[data-image-skin] #browse-view .exam-item::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    bottom: 0;
    width: 7px;
    background: linear-gradient(180deg, var(--skin-accent), color-mix(in srgb, var(--skin-accent) 35%, #fff), var(--skin-accent-strong));
}

html[data-image-skin] #browse-view .exam-item::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -26px;
    top: -32px;
    width: 118px;
    height: 118px;
    border-radius: 999px;
    background:
        radial-gradient(circle at 34% 38%, color-mix(in srgb, var(--skin-accent) 28%, transparent) 0 5px, transparent 6px),
        radial-gradient(circle at 62% 60%, color-mix(in srgb, var(--skin-accent) 18%, transparent) 0 11px, transparent 12px),
        radial-gradient(circle, var(--skin-accent-soft), transparent 70%);
}

html[data-image-skin] #browse-view .exam-item:hover {
    transform: translateY(-5px) scale(1.005) !important;
    border-color: var(--skin-accent) !important;
    background-image:
        linear-gradient(115deg, rgba(var(--skin-panel-rgb), .96), rgba(var(--skin-panel-rgb), .86) 56%, rgba(var(--skin-panel-alt-rgb), .67)),
        var(--skin-image) !important;
    box-shadow: 0 22px 52px color-mix(in srgb, var(--skin-accent-strong) 19%, transparent) !important;
}

html[data-image-skin] #browse-view .exam-info,
html[data-image-skin] #browse-view .exam-actions {
    position: relative;
    z-index: 1;
}

html[data-image-skin] #browse-view .exam-info h4 {
    color: var(--skin-accent-strong) !important;
    font-family: var(--skin-youth-font) !important;
    font-size: 1.02rem !important;
    font-weight: 900 !important;
    letter-spacing: -.01em;
    line-height: 1.45 !important;
}

html[data-image-skin] #browse-view .exam-meta {
    color: color-mix(in srgb, var(--skin-ink) 84%, #64748b) !important;
    font-family: var(--skin-youth-font) !important;
    font-weight: 760 !important;
    background: color-mix(in srgb, var(--skin-accent-soft) 58%, rgba(var(--skin-panel-rgb), .72)) !important;
    border: 1px solid color-mix(in srgb, var(--skin-accent) 20%, transparent);
    border-radius: var(--skin-button-radius) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

html[data-image-skin] #browse-view .exam-practice-stat {
    color: var(--skin-ink) !important;
    font-family: var(--skin-youth-font) !important;
    font-weight: 700 !important;
    opacity: .72 !important;
}

html[data-image-skin] #browse-view .exam-record-btn {
    display: inline-grid !important;
    place-items: center;
    width: 30px;
    height: 30px;
    padding: 0 !important;
    color: var(--skin-accent-strong) !important;
    background: var(--skin-accent-soft) !important;
    border: 1px solid color-mix(in srgb, var(--skin-accent) 26%, transparent) !important;
    border-radius: var(--skin-button-radius) !important;
    opacity: .86 !important;
}

html[data-image-skin] #browse-view .exam-record-btn:hover {
    opacity: 1 !important;
    transform: translateY(-2px) rotate(-5deg) !important;
}

html[data-image-skin] #browse-view .exam-item-action-btn {
    color: var(--skin-accent-strong) !important;
    font-family: var(--skin-youth-font) !important;
    font-weight: 850 !important;
    border-color: color-mix(in srgb, var(--skin-accent) 32%, rgba(255,255,255,.7)) !important;
    border-radius: var(--skin-button-radius) !important;
    background: rgba(var(--skin-panel-rgb), .68) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 8px 20px color-mix(in srgb, var(--skin-accent-strong) 10%, transparent) !important;
}

html[data-image-skin] #browse-view .exam-item-action-btn[data-action="start"] {
    color: #fff !important;
    background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-strong)) !important;
    border-color: transparent !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.17);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--skin-accent-strong) 24%, transparent) !important;
}

html[data-image-skin] #browse-view .exam-item-action-btn:hover {
    color: var(--skin-accent-strong) !important;
    background: rgba(var(--skin-panel-rgb), .94) !important;
    border-color: var(--skin-accent) !important;
}

html[data-image-skin] #browse-view .exam-item-action-btn[data-action="start"]:hover {
    color: #fff !important;
    background: linear-gradient(135deg, color-mix(in srgb, var(--skin-accent) 82%, #fff), var(--skin-accent-strong)) !important;
}

html[data-image-skin] #browse-view .exam-item--suite-selecting {
    border-style: dashed !important;
    border-width: 2px !important;
}

html[data-image-skin] #browse-view .exam-item--suite-selected {
    border-color: var(--skin-accent-strong) !important;
    box-shadow: 0 0 0 4px var(--skin-accent-soft), 0 20px 44px color-mix(in srgb, var(--skin-accent-strong) 18%, transparent) !important;
}

html[data-image-skin] #browse-view .suite-custom-selection-badge {
    color: #fff !important;
    background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-strong)) !important;
    border-radius: var(--skin-button-radius) !important;
    font-family: var(--skin-youth-font) !important;
    font-weight: 850 !important;
}

/* Vinyl Studio: preserve all five figures instead of cropping them in wide regions. */
:root[data-image-skin="vinyl-studio"] {
    --skin-image-position: 50% 50%;
}

:root[data-image-skin="vinyl-studio"] .hero-header {
    min-height: clamp(260px, 28vw, 400px) !important;
    background-color: rgb(var(--skin-panel-alt-rgb));
    background-size: cover, contain !important;
    background-position: center, center !important;
}

:root[data-image-skin="vinyl-studio"] body::after {
    height: min(78vh, 820px);
    background-color: rgb(var(--skin-panel-alt-rgb));
    background-size: cover, contain !important;
    background-position: center, center bottom !important;
}

:root[data-image-skin="vinyl-studio"] .hero-shell::before {
    background-color: rgba(var(--skin-panel-alt-rgb), .46);
    background-size: cover, contain !important;
    background-position: center, center top !important;
}

/* Street Rhythm: keep the whole dancing group visible across wide layouts. */
:root[data-image-skin="street-rhythm"] {
    --skin-image-position: 50% 50%;
}

:root[data-image-skin="street-rhythm"] .hero-header {
    min-height: clamp(250px, 27vw, 390px) !important;
    background-color: rgb(var(--skin-panel-alt-rgb));
    background-size: cover, contain !important;
    background-position: center, center !important;
}

:root[data-image-skin="street-rhythm"] body::after {
    height: min(76vh, 800px);
    background-color: rgb(var(--skin-panel-alt-rgb));
    background-size: cover, contain !important;
    background-position: center, center bottom !important;
}

:root[data-image-skin="street-rhythm"] .hero-shell::before {
    background-color: rgba(var(--skin-panel-alt-rgb), .44);
    background-size: cover, contain !important;
    background-position: center, center top !important;
}
@media (max-width: 700px) {
    html[data-image-skin] #browse-view .exam-item { padding: 16px !important; }
    :root[data-image-skin="vinyl-studio"] .hero-header { min-height: 230px !important; }
    :root[data-image-skin="street-rhythm"] .hero-header { min-height: 220px !important; }
}
