/* Keep content within the viewport without suppressing intentional filmstrip scrolling. */
html, body { max-width:100%; overflow-x:clip; }
main, section, .container, .admin-main, .admin-panel, .admin-field { min-width:0; box-sizing:border-box; }
img, video, canvas { max-width:100%; }
h1, h2, h3, .performance-meta, .arrangement-korean { overflow-wrap:anywhere; min-width:0; }
.admin-dashboard-header, .admin-panel-heading, .performance-list-heading { flex-wrap:wrap; }
input, textarea, select { min-width:0; max-width:100%; box-sizing:border-box; }
.performance-card, .performance-public-card.performance-card, .arrangements-page .arrangement-page-card, .arrangement-card {
    width:100%; max-width:585px; height:360px; min-height:360px; max-height:360px; box-sizing:border-box; justify-self:center;
}
.performance-card .performance-card-content { padding:28px 94px 28px 28px; max-height:100%; overflow:auto; box-sizing:border-box; }
.arrangements-page .arrangement-page-card .card-content { left:28px; right:94px; padding-right:0; max-height:calc(100% - 56px); overflow:auto; }
.performance-card .performance-card-arrow, .arrangement-card-arrow { right:24px; bottom:24px; }
.performance-detail { inset:0; height:100vh; height:100dvh; padding:0; align-items:stretch; }
.performance-detail .performance-detail-shell { height:100%; max-height:100%; border-radius:0; }
.performance-detail .performance-detail-scroll { height:100%; max-height:100%; overflow-y:auto; }
.performance-detail-backdrop { inset:0; }
/* Blurring must never change the fitted size of a photo. */
.kmc-soft-preview { transform:none !important; }
.gallery-scrub-frame { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; z-index:6; pointer-events:none; filter:blur(1px); clip-path:inset(0 0 60px 0); }
.gallery-scrub-frame[hidden] { display:none !important; }
@media(max-width:600px) {
    .performance-filter-row { flex-wrap:wrap; }
    .performance-filter-row > * { min-width:0; max-width:100%; }
    .admin-header-inner, .admin-brand, .logo-text { min-width:0; }
    .performance-card .performance-card-content { padding-left:20px; padding-right:84px; }
}
