/* 全屏剧目记忆：目录为一寸证件照比例小海报，详情只保留四个分区。 */
#custom-theater-app.ct-memory-view .ct-main {
    padding: calc(var(--ct-safe-top) + 64px) var(--ct-safe-right) var(--ct-safe-bottom) var(--ct-safe-left);
    scrollbar-width: none;
    -ms-overflow-style: none;
}
#custom-theater-app.ct-memory-view .ct-main::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
    background: transparent;
}
#custom-theater-app.ct-memory-view .ct-tool-shell {
    width: 100%;
    max-width: none;
    min-height: calc(100dvh - var(--ct-safe-top) - var(--ct-safe-bottom) - 64px);
    margin: 0;
}
#custom-theater-app.ct-memory-view .ct-view-heading { display: none; }
#custom-theater-app.ct-memory-view .ct-tool-panel {
    min-height: inherit;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
#custom-theater-app .ctm2-manager { min-height: inherit; color: #404654; }
#custom-theater-app .ctm2-library,
#custom-theater-app .ctm2-detail { min-height: inherit; }
#custom-theater-app .ctm2-library[hidden],
#custom-theater-app .ctm2-detail[hidden] { display: none !important; }

#custom-theater-app .ctm2-library {
    box-sizing: border-box;
    padding: 25px max(22px, calc(var(--ct-safe-right) + 22px)) 34px max(31px, calc(var(--ct-safe-left) + 31px));
}
#custom-theater-app .ctm2-library-copy { margin: 0 0 25px; }
#custom-theater-app .ctm2-library-copy > span,
#custom-theater-app .ctm2-production-hero > div > span {
    color: #7c6f68;
    font: 700 9px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace;
    letter-spacing: .22em;
}
#custom-theater-app .ctm2-library-copy h2 {
    margin: 7px 0 8px;
    color: #333b4a;
    font: 760 31px/1.08 "Noto Serif SC", "Songti SC", serif;
    letter-spacing: .12em;
}
#custom-theater-app .ctm2-library-copy p,
#custom-theater-app .ctm2-production-hero p,
#custom-theater-app .ctm2-section-head p { margin: 0; color: #716d6b; font-size: 12px; line-height: 1.65; }
#custom-theater-app .ctm2-poster-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px 17px;
    align-items: start;
}
#custom-theater-app .ctm2-poster-item {
    min-width: 0;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    text-align: center;
    cursor: pointer;
}
#custom-theater-app .ctm2-poster-photo {
    position: relative;
    display: block;
    width: min(100%, 92px);
    aspect-ratio: 5 / 7;
    margin: 0 auto 9px;
    overflow: hidden;
    border: 3px solid rgba(250, 247, 240, .94);
    border-radius: 9px;
    background: #d7d0c8;
    box-shadow: 0 0 0 1px rgba(59, 62, 69, .26), 0 7px 14px rgba(49, 45, 43, .18);
}
#custom-theater-app .ctm2-poster-photo::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.28);
}
#custom-theater-app .ctm2-poster-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
#custom-theater-app .ctm2-poster-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-content: center;
    gap: 7px;
    background: linear-gradient(145deg, #c7b7ad, #e9dfd3 57%, #adb3b8);
}
#custom-theater-app .ctm2-poster-placeholder b { color: rgba(55, 59, 66, .82); font: 760 33px/1 "Songti SC", serif; }
#custom-theater-app .ctm2-poster-placeholder i { color: rgba(55, 59, 66, .62); font: 700 7px/1 sans-serif; letter-spacing: .2em; }
#custom-theater-app .ctm2-poster-item > strong {
    display: block;
    overflow: hidden;
    color: #4e4a48;
    font-size: 12px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#custom-theater-app .ctm2-detail { padding-bottom: 28px; }
#custom-theater-app .ctm2-production-hero {
    display: flex;
    min-height: 105px;
    box-sizing: border-box;
    align-items: flex-start;
    gap: 16px;
    padding: 17px max(18px, calc(var(--ct-safe-right) + 18px)) 16px max(22px, calc(var(--ct-safe-left) + 22px));
    border-bottom: 1px solid rgba(59, 64, 72, .13);
    background: rgba(243, 236, 227, .72);
}
#custom-theater-app .ctm2-hero-poster {
    display: grid;
    width: 54px;
    aspect-ratio: 5 / 7;
    flex: 0 0 auto;
    overflow: hidden;
    place-items: center;
    margin-top: 2px;
    border: 2px solid rgba(255,255,255,.85);
    border-radius: 6px;
    color: #f5eee7;
    background: #7d7a78;
    box-shadow: 0 4px 10px rgba(50,46,43,.17);
    font: 700 23px/1 serif;
}
#custom-theater-app .ctm2-hero-poster img { width: 100%; height: 100%; object-fit: cover; }
#custom-theater-app .ctm2-production-hero h2 { margin: 5px 0 5px; color: #343b49; font: 760 23px/1.15 "Noto Serif SC", "Songti SC", serif; }
#custom-theater-app .ctm2-hero-copy { min-width: 0; flex: 1 1 auto; }
#custom-theater-app .ctm2-hero-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
#custom-theater-app .ctm2-hero-title-row h2 {
    min-width: 0;
    flex: 1 1 auto;
    margin: 5px 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#custom-theater-app .ctm2-vector-btn {
    flex: 0 0 auto;
    min-height: 30px;
    padding: 4px 10px;
    border: 1px solid rgba(57, 63, 74, .22);
    border-radius: 999px;
    color: #4a5564;
    background: rgba(251, 248, 242, .92);
    box-shadow: 0 1px 0 rgba(255,255,255,.6);
    font: 700 11px/1 inherit;
    letter-spacing: .04em;
    white-space: nowrap;
    cursor: pointer;
}
#custom-theater-app .ctm2-vector-btn:hover,
#custom-theater-app .ctm2-vector-btn:focus-visible { color: #2f3846; background: #fffdf8; outline: 2px solid #4e596a; outline-offset: 2px; }
#custom-theater-app .ctm2-status-memory {
    margin-top: 10px;
    padding: 8px 10px 9px;
    border: 1px solid rgba(59, 64, 72, .12);
    border-radius: 11px;
    background: rgba(250, 247, 241, .72);
}
#custom-theater-app .ctm2-status-memory > summary {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2px 10px;
    cursor: pointer;
    list-style: none;
}
#custom-theater-app .ctm2-status-memory > summary::-webkit-details-marker { display: none; }
#custom-theater-app .ctm2-status-memory > summary span {
    color: #7c6f68;
    font: 700 8px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace;
    letter-spacing: .16em;
}
#custom-theater-app .ctm2-status-memory > summary strong { color: #3a414d; font-size: 12px; }
#custom-theater-app .ctm2-status-memory > summary small {
    grid-column: 1 / -1;
    overflow: hidden;
    color: #7a746f;
    font-size: 10px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#custom-theater-app .ctm2-status-memory ol { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
#custom-theater-app .ctm2-status-memory li { padding: 8px 9px; border-radius: 8px; background: rgba(255,255,255,.55); }
#custom-theater-app .ctm2-status-memory li header { display: flex; justify-content: space-between; gap: 8px; color: #81746d; font-size: 9px; }
#custom-theater-app .ctm2-status-memory li p { margin: 6px 0 0; color: #4f4d4b; font-size: 11px; line-height: 1.55; }
#custom-theater-app .ctm2-status-memory li em { display: block; margin-top: 3px; color: #716d6b; font-style: normal; font-size: 10px; }
#custom-theater-app .ctm2-status-empty { margin: 9px 0 0; color: #716d6b; font-size: 11px; line-height: 1.65; }

#custom-theater-app .ctm2-detail { position: relative; }
#custom-theater-app .ctm2-vector-sheet {
    position: absolute;
    inset: 0;
    z-index: 6;
    overflow: auto;
    box-sizing: border-box;
    padding: 0 0 28px;
    background: rgba(243, 237, 229, .98);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}
#custom-theater-app .ctm2-vector-sheet[hidden] { display: none !important; }
#custom-theater-app .ctm2-vector-head {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 10px max(16px, calc(var(--ct-safe-right) + 16px)) 10px max(12px, calc(var(--ct-safe-left) + 12px));
    border-bottom: 1px solid rgba(52, 59, 72, .14);
}
#custom-theater-app .ctm2-vector-head button {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 10px;
    color: #3d4552;
    background: rgba(250, 247, 241, .9);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}
#custom-theater-app .ctm2-vector-head span {
    display: block;
    color: #7c6f68;
    font: 700 9px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace;
    letter-spacing: .2em;
}
#custom-theater-app .ctm2-vector-head strong { color: #343b49; font-size: 16px; }
#custom-theater-app .ctm2-vector-form {
    display: grid;
    gap: 13px;
    padding: 16px max(17px, calc(var(--ct-safe-right) + 17px)) 24px max(22px, calc(var(--ct-safe-left) + 22px));
}
#custom-theater-app .ctm2-vector-banner {
    margin: 0;
    padding: 10px 12px;
    border-radius: 11px;
    font-size: 11px;
    line-height: 1.65;
}
#custom-theater-app .ctm2-vector-banner.is-ready { color: #3d5348; background: rgba(223, 236, 227, .8); }
#custom-theater-app .ctm2-vector-banner.is-warn { color: #7a5340; background: rgba(255, 239, 228, .88); }
#custom-theater-app .ctm2-vector-switch {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid rgba(53, 59, 70, .14);
    border-radius: 12px;
    background: rgba(250, 247, 241, .9);
}
#custom-theater-app .ctm2-vector-switch input { margin-top: 3px; }
#custom-theater-app .ctm2-vector-switch b { display: block; color: #3a414d; font-size: 13px; }
#custom-theater-app .ctm2-vector-switch small { display: block; margin-top: 3px; color: #716d6b; font-size: 10px; line-height: 1.55; font-weight: 500; }
#custom-theater-app .ctm2-vector-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
#custom-theater-app .ctm2-vector-grid label,
#custom-theater-app .ctm2-vector-form > label:not(.ctm2-vector-switch) {
    display: grid;
    gap: 5px;
    color: #5d6572;
    font-size: 10px;
}
#custom-theater-app .ctm2-vector-grid input {
    min-height: 36px;
    padding: 6px 9px;
    border: 1px solid rgba(57, 63, 74, .18);
    border-radius: 9px;
    color: #343b49;
    background: #fbf8f2;
    font-size: 13px;
}
#custom-theater-app .ctm2-vector-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}
#custom-theater-app .ctm2-vector-stats div {
    padding: 9px 8px;
    border-radius: 10px;
    background: rgba(250, 247, 241, .9);
}
#custom-theater-app .ctm2-vector-stats dt { color: #81746d; font-size: 9px; }
#custom-theater-app .ctm2-vector-stats dd { margin: 4px 0 0; overflow: hidden; color: #3a414d; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
#custom-theater-app .ctm2-vector-note { margin: 0; color: #716d6b; font-size: 10px; line-height: 1.65; }
#custom-theater-app .ctm2-editor-sheet { z-index: 7; }
#custom-theater-app .ctm2-editor-form input[type="text"],
#custom-theater-app .ctm2-editor-form textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 9px 11px;
    border: 1px solid rgba(57, 63, 74, .18);
    border-radius: 10px;
    color: #343b49;
    background: #fbf8f2;
    font: 13px/1.7 inherit;
}
#custom-theater-app .ctm2-editor-form input[type="text"] { min-height: 38px; font-size: 14px; }
#custom-theater-app .ctm2-editor-form textarea { min-height: 40vh; resize: vertical; }
#custom-theater-app .ctm2-editor-form input[type="text"]:focus-visible,
#custom-theater-app .ctm2-editor-form textarea:focus-visible { outline: 2px solid #4e596a; outline-offset: 1px; }
#custom-theater-app .ctm2-editor-form .ctm2-vector-actions { grid-template-columns: 1.4fr 1fr; }
#custom-theater-app .ctm2-vector-actions { display: grid; gap: 8px; }
#custom-theater-app .ctm2-vector-actions .ct-button { min-height: 40px; }
#custom-theater-app .ctm2-vector-btn:focus-visible,
#custom-theater-app .ctm2-vector-head button:focus-visible,
#custom-theater-app .ctm2-status-memory > summary:focus-visible { outline: 2px solid #4e596a; outline-offset: 2px; }
#custom-theater-app .ctm2-tabs {
    position: sticky;
    z-index: 3;
    top: 0;
    display: grid;
    grid-template-columns: 1.25fr 1.25fr .8fr 1fr;
    gap: 0;
    padding: 0 max(8px, var(--ct-safe-right)) 0 max(8px, var(--ct-safe-left));
    border-bottom: 1px solid rgba(52, 59, 72, .14);
    background: rgba(243, 237, 229, .94);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}
#custom-theater-app .ctm2-tabs button {
    position: relative;
    min-width: 0;
    min-height: 56px;
    padding: 8px 3px 7px;
    border: 0;
    color: #766f6b;
    background: transparent;
    font: 700 12px/1.2 inherit;
}
#custom-theater-app .ctm2-tabs button small { display: block; margin-top: 3px; font-size: 8px; font-weight: 500; white-space: nowrap; }
#custom-theater-app .ctm2-tabs button::after { content: ''; position: absolute; right: 17%; bottom: -1px; left: 17%; height: 3px; border-radius: 3px 3px 0 0; background: transparent; }
#custom-theater-app .ctm2-tabs button.is-active { color: #343b49; }
#custom-theater-app .ctm2-tabs button.is-active::after { background: #4e596a; }
#custom-theater-app .ctm2-content { padding: 20px max(17px, calc(var(--ct-safe-right) + 17px)) 18px max(22px, calc(var(--ct-safe-left) + 22px)); }
#custom-theater-app .ctm2-memory-list { display: grid; gap: 14px; }
#custom-theater-app .ctm2-memory-card {
    padding: 16px 15px 18px;
    border: 1px solid rgba(53,59,70,.14);
    border-radius: 13px;
    background: rgba(250,247,241,.9);
    box-shadow: 0 7px 18px rgba(58,52,48,.08);
}
#custom-theater-app .ctm2-memory-card header { display: flex; justify-content: space-between; gap: 10px; color: #81746d; font-size: 9px; }
#custom-theater-app .ctm2-memory-head {
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    margin: -4px -4px 0 0;
}
#custom-theater-app .ctm2-memory-range {
    min-width: 0;
    overflow: hidden;
    font-weight: 700;
    letter-spacing: .02em;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#custom-theater-app .ctm2-memory-time { flex: 0 1 auto; overflow: hidden; color: #948881; text-overflow: ellipsis; white-space: nowrap; }
#custom-theater-app .ctm2-memory-tools { display: flex; flex: 0 0 auto; align-items: center; gap: 2px; margin-left: auto; }
#custom-theater-app .ctm2-icon-btn {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 9px;
    color: #7d8593;
    background: transparent;
    cursor: pointer;
    transition: color .16s ease, background-color .16s ease;
}
#custom-theater-app .ctm2-icon-btn:hover,
#custom-theater-app .ctm2-icon-btn:focus-visible { color: #38414f; background: rgba(78, 89, 106, .11); }
#custom-theater-app .ctm2-icon-btn--danger:hover,
#custom-theater-app .ctm2-icon-btn--danger:focus-visible { color: #97493c; background: rgba(151, 73, 60, .12); }
#custom-theater-app .ctm2-icon-btn:focus-visible { outline: 2px solid #4e596a; outline-offset: 1px; }
#custom-theater-app .ctm2-icon-btn[disabled] { color: #b7ada6; background: transparent; cursor: not-allowed; }
#custom-theater-app .ctm2-memory-card h3 { margin: 9px 0 11px; color: #3a414d; font-size: 16px; }
#custom-theater-app .ctm2-memory-card pre { margin: 0; color: #4f4d4b; font: 12px/1.78 inherit; white-space: pre-wrap; overflow-wrap: anywhere; }
#custom-theater-app .ctm2-empty,
#custom-theater-app .ctm2-loading,
#custom-theater-app .ctm2-storage-error { padding: 34px 22px; border-radius: 14px; text-align: center; background: rgba(250,248,244,.87); }
#custom-theater-app .ctm2-empty strong { color: #3e4552; font-size: 15px; }
#custom-theater-app .ctm2-empty p { margin: 10px 0 0; color: #77716d; font-size: 11px; line-height: 1.7; }
#custom-theater-app .ctm2-empty b { color: #4d5868; }
#custom-theater-app .ctm2-empty small { display: block; margin-top: 12px; color: #938a84; font-size: 9px; }
#custom-theater-app .ctm2-empty--library { grid-column: 1 / -1; }
#custom-theater-app .ctm2-loading { color: #77716d; font-size: 11px; }
#custom-theater-app .ctm2-storage-error { color: #8f493f; font-size: 11px; line-height: 1.65; background: rgba(255,238,233,.9); }

#custom-theater-app .ctm2-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
#custom-theater-app .ctm2-section-head h3 { margin: 0 0 5px; color: #39414f; font-size: 19px; }
#custom-theater-app .ctm2-section-head label { flex: 0 0 auto; padding: 9px 12px; border: 1px solid rgba(56,62,73,.2); border-radius: 9px; color: #485261; background: rgba(251,248,242,.9); font-size: 10px; }
#custom-theater-app .ctm2-cg-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
#custom-theater-app .ctm2-cg-card { min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(54,60,70,.14); border-radius: 12px; background: rgba(250,247,241,.91); }
#custom-theater-app .ctm2-cg-card .ctm2-cg-photo { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; padding: 0; border: 0; background: #d4cdc5; cursor: zoom-in; }
#custom-theater-app .ctm2-cg-card .ctm2-cg-photo[data-composition="portrait"] { aspect-ratio: 3 / 4; }
#custom-theater-app .ctm2-cg-card .ctm2-cg-photo[data-composition="landscape"] { aspect-ratio: 4 / 3; }
#custom-theater-app .ctm2-cg-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
#custom-theater-app .ctm2-cg-card .ctm2-cg-photo span { position: absolute; top: 7px; right: 7px; padding: 3px 6px; border-radius: 8px; color: white; background: rgba(47,55,67,.78); font-size: 8px; pointer-events: none; }
#custom-theater-app .ctm2-cg-card figcaption { padding: 10px; }
#custom-theater-app .ctm2-cg-card figcaption strong { display: block; overflow: hidden; color: #404754; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
#custom-theater-app .ctm2-cg-card figcaption small { display: block; margin-top: 4px; overflow: hidden; color: #7a746f; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
#custom-theater-app .ctm2-cg-card figcaption p { display: flex; flex-wrap: wrap; gap: 7px; margin: 9px 0 0; }
#custom-theater-app .ctm2-cg-card figcaption button { min-height: 28px; padding: 4px 7px; border: 1px solid rgba(57,63,74,.17); border-radius: 7px; color: #4d5664; background: #f6f0e8; font-size: 9px; }
#custom-theater-app .ctm2-poster-item:focus-visible,
#custom-theater-app .ctm2-tabs button:focus-visible,
#custom-theater-app .ctm2-cg-card button:focus-visible,
#custom-theater-app .ctm2-section-head label:focus-within { outline: 2px solid #4e596a; outline-offset: 3px; }

#custom-theater-app .ctm2-cg-viewer { position: fixed; inset: 0; z-index: 1400; }
#custom-theater-app .ctm2-cg-viewer[hidden] { display: none !important; }
#custom-theater-app .ctm2-cg-viewer-backdrop { position: absolute; inset: 0; background: rgba(21, 19, 17, .9); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); cursor: zoom-out; }
#custom-theater-app .ctm2-cg-viewer figure {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    height: 100%;
    margin: 0;
    padding: calc(var(--ct-safe-top) + 12px) max(15px, calc(var(--ct-safe-right) + 15px)) calc(var(--ct-safe-bottom) + 15px) max(15px, calc(var(--ct-safe-left) + 15px));
    pointer-events: none;
}
#custom-theater-app .ctm2-cg-viewer header,
#custom-theater-app .ctm2-cg-viewer figcaption,
#custom-theater-app .ctm2-cg-viewer-stage img { pointer-events: auto; }
#custom-theater-app .ctm2-cg-viewer header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#custom-theater-app .ctm2-cg-viewer header > div { min-width: 0; }
#custom-theater-app .ctm2-cg-viewer header span {
    display: block;
    color: rgba(243, 238, 230, .58);
    font: 700 8px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace;
    letter-spacing: .22em;
}
#custom-theater-app .ctm2-cg-viewer header strong { display: block; overflow: hidden; margin-top: 4px; color: #f5f0e9; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
#custom-theater-app .ctm2-cg-viewer-x {
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    border: 0;
    border-radius: 10px;
    color: #f5f0e9;
    background: rgba(250, 247, 241, .16);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}
#custom-theater-app .ctm2-cg-viewer-stage { display: grid; flex: 1 1 auto; min-height: 0; place-items: center; padding: 12px 0; }
#custom-theater-app .ctm2-cg-viewer-stage img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 10px;
    background: rgba(0, 0, 0, .35);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .5);
    touch-action: pinch-zoom;
}
#custom-theater-app .ctm2-cg-viewer figcaption { display: grid; gap: 10px; }
#custom-theater-app .ctm2-cg-viewer figcaption p { margin: 0; overflow: hidden; color: rgba(243, 238, 230, .78); font-size: 11px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
#custom-theater-app .ctm2-cg-viewer-actions { display: grid; grid-template-columns: 1.4fr 1fr; gap: 9px; }
#custom-theater-app .ctm2-cg-viewer-actions .ct-button { min-height: 42px; }
#custom-theater-app .ctm2-cg-viewer-x:focus-visible,
#custom-theater-app .ctm2-cg-photo:focus-visible { outline: 2px solid #e8ddcd; outline-offset: 2px; }

@media (max-width: 350px) {
    #custom-theater-app .ctm2-library { padding-right: 17px; padding-left: 24px; }
    #custom-theater-app .ctm2-poster-grid { column-gap: 11px; }
    #custom-theater-app .ctm2-tabs button { font-size: 11px; }
    #custom-theater-app .ctm2-tabs button small { font-size: 7px; }
    #custom-theater-app .ctm2-vector-btn { padding: 4px 8px; font-size: 10px; }
    #custom-theater-app .ctm2-vector-grid,
    #custom-theater-app .ctm2-vector-stats { grid-template-columns: 1fr; }
    #custom-theater-app .ctm2-memory-head { gap: 6px; }
    #custom-theater-app .ctm2-icon-btn { width: 28px; height: 28px; }
}
@media (max-height: 620px) {
    #custom-theater-app .ctm2-library { padding-top: 15px; }
    #custom-theater-app .ctm2-library-copy { margin-bottom: 17px; }
    #custom-theater-app .ctm2-library-copy h2 { font-size: 25px; }
    #custom-theater-app .ctm2-production-hero { min-height: 88px; padding-top: 11px; padding-bottom: 11px; }
    #custom-theater-app .ctm2-hero-poster { width: 42px; }
    #custom-theater-app .ctm2-hero-title-row h2 { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
    #custom-theater-app .ctm2-poster-item,
    #custom-theater-app .ctm2-tabs button,
    #custom-theater-app .ctm2-icon-btn,
    #custom-theater-app .ctm2-vector-btn { transition: none !important; }
}
