/* 定制剧场 · 字体库（严格限定在 #custom-theater-app） */
#custom-theater-app .ctfl-manager {
    box-sizing: border-box;
    height: 100%;
    min-height: 0;
    padding: 3px 3px calc(24px + var(--ct-safe-bottom));
    overflow-y: auto;
    display: grid;
    align-content: start;
    gap: 13px;
    color: var(--ct-ink);
    scrollbar-width: none;
    -ms-overflow-style: none;
}
#custom-theater-app .ctfl-manager::-webkit-scrollbar { width: 0; height: 0; display: none; }
#custom-theater-app .ctfl-hero,
#custom-theater-app .ctfl-import,
#custom-theater-app .ctfl-library {
    border: 1px solid rgba(49,56,68,.12);
    border-radius: 19px;
    background: rgba(250,247,242,.83);
    box-shadow: 8px 9px 20px rgba(63,55,49,.08), -5px -5px 17px rgba(255,255,255,.52);
}
#custom-theater-app .ctfl-hero { padding: 17px; background: linear-gradient(145deg, rgba(232,225,219,.9), rgba(255,252,247,.88)); }
#custom-theater-app .ctfl-hero > span { color: #9a6b68; font: 700 8px/1 "Courier New", monospace; letter-spacing: .17em; }
#custom-theater-app .ctfl-hero h3 { margin: 7px 0 5px; font-size: 19px; }
#custom-theater-app .ctfl-hero p { margin: 0; color: var(--ct-ink-soft); font-size: 10px; line-height: 1.6; }
#custom-theater-app .ctfl-hero > div { margin-top: 11px; display: flex; flex-wrap: wrap; gap: 6px; }
#custom-theater-app .ctfl-hero b { padding: 5px 8px; border-radius: 999px; color: #755451; background: rgba(255,255,255,.62); font-size: 8px; }
#custom-theater-app .ctfl-import,
#custom-theater-app .ctfl-library { padding: 14px; }
#custom-theater-app .ctfl-import > header strong,
#custom-theater-app .ctfl-import > header small,
#custom-theater-app .ctfl-library > header strong,
#custom-theater-app .ctfl-library > header small { display: block; }
#custom-theater-app .ctfl-import > header strong,
#custom-theater-app .ctfl-library > header strong { font-size: 12px; }
#custom-theater-app .ctfl-import > header small,
#custom-theater-app .ctfl-library > header small { margin-top: 4px; color: var(--ct-ink-soft); font-size: 8px; line-height: 1.55; }
#custom-theater-app .ctfl-form { margin-top: 11px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
#custom-theater-app .ctfl-form input { box-sizing: border-box; width: 100%; min-height: 39px; padding: 0 10px; border: 1px solid rgba(49,56,68,.14); border-radius: 10px; outline: 0; color: inherit; background: rgba(255,255,255,.72); font: 9px/1.25 inherit; }
#custom-theater-app .ctfl-form input:focus { border-color: #9a6b68; box-shadow: 0 0 0 2px rgba(154,107,104,.12); }
#custom-theater-app .ctfl-form > div { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
#custom-theater-app .ctfl-form button,
#custom-theater-app .ctfl-library > header button,
#custom-theater-app .ctfl-card > button { min-height: 37px; border: 0; border-radius: 10px; color: #fff; background: #596371; font: 700 9px/1 inherit; cursor: pointer; }
#custom-theater-app .ctfl-form button:first-child { background: #8f6463; }
#custom-theater-app .ctfl-status { min-height: 1.5em; margin: 9px 2px 0; color: #6c747d; font-size: 8px; line-height: 1.5; }
#custom-theater-app .ctfl-status.is-error { color: #a14848; }
#custom-theater-app .ctfl-library > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
#custom-theater-app .ctfl-library > header button { min-height: 31px; padding: 0 10px; color: #596371; background: rgba(89,99,113,.08); }
#custom-theater-app .ctfl-list { margin-top: 11px; display: grid; gap: 8px; }
#custom-theater-app .ctfl-card { padding: 9px; display: grid; grid-template-columns: 60px minmax(0,1fr) auto; align-items: center; gap: 10px; border: 1px solid rgba(49,56,68,.1); border-radius: 13px; background: rgba(255,255,255,.65); }
#custom-theater-app .ctfl-preview { width: 60px; height: 54px; display: grid; place-items: center; border-radius: 10px; color: #705652; background: linear-gradient(145deg,#eee6de,#fff); font-size: 12px; text-align: center; }
#custom-theater-app .ctfl-copy { min-width: 0; }
#custom-theater-app .ctfl-copy strong,
#custom-theater-app .ctfl-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#custom-theater-app .ctfl-copy strong { font-size: 11px; }
#custom-theater-app .ctfl-copy small { margin-top: 3px; color: var(--ct-ink-soft); font-size: 7px; }
#custom-theater-app .ctfl-copy p { margin: 6px 0 0; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
#custom-theater-app .ctfl-card > button { min-height: 32px; padding: 0 9px; color: #8c5454; background: rgba(158,83,83,.08); }
#custom-theater-app .ctfl-empty { padding: 22px 14px; border: 1px dashed rgba(49,56,68,.18); border-radius: 12px; text-align: center; }
#custom-theater-app .ctfl-empty strong { font-size: 11px; }
#custom-theater-app .ctfl-empty p,
#custom-theater-app .ctfl-boundary { color: var(--ct-ink-soft); font-size: 8px; line-height: 1.6; }
#custom-theater-app .ctfl-empty p { margin: 5px 0 0; }
#custom-theater-app .ctfl-boundary { margin: 0 5px; text-align: center; }
#custom-theater-app .ctfl-fatal { padding: 20px; border-radius: 14px; color: #9e4848; background: #fff1ef; font-size: 10px; }
@media (max-width: 390px), (max-height: 620px) {
    #custom-theater-app .ctfl-manager { gap: 9px; }
    #custom-theater-app .ctfl-hero,
    #custom-theater-app .ctfl-import,
    #custom-theater-app .ctfl-library { padding: 11px; border-radius: 15px; }
    #custom-theater-app .ctfl-form { grid-template-columns: 1fr; }
    #custom-theater-app .ctfl-form > div { grid-column: auto; }
    #custom-theater-app .ctfl-card { grid-template-columns: 48px minmax(0,1fr) auto; gap: 7px; }
    #custom-theater-app .ctfl-preview { width: 48px; height: 48px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    #custom-theater-app .ctfl-manager * { scroll-behavior: auto !important; transition: none !important; }
}
@media (prefers-contrast: more) {
    #custom-theater-app .ctfl-hero,
    #custom-theater-app .ctfl-import,
    #custom-theater-app .ctfl-library,
    #custom-theater-app .ctfl-card { border-color: rgba(20,23,28,.58); }
}
