/* REPPTRADE v4.4.3 — Cast / Roles index and searchable filter menu.
   Keeps the current show-tile architectural language and existing data ownership. */
#libraryCast .rc443-index-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:9px 0 17px}
#libraryCast .rc443-heading{flex:1 1 190px;min-width:170px}
#libraryCast .rc443-mode-switch{display:inline-flex;align-items:stretch;border:1px solid #43647e;padding:3px;gap:2px;background:#0b1725;border-radius:3px}
#libraryCast .rc443-mode-switch button{cursor:pointer;background:transparent;border:0;border-bottom:2px solid transparent;color:#b8cee2;padding:10px 16px;border-radius:1px;font:750 11px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;letter-spacing:.09em;transition:background .2s,color .2s,transform .22s cubic-bezier(.18,.8,.22,1)}
#libraryCast .rc443-mode-switch button[aria-pressed="true"]{color:#fff;background:#234059;border-bottom-color:#edbe56}
#libraryCast .rc443-mode-switch button:is(:hover,:focus-visible){background:#314e69;color:white;transform:scale(1.04)}
#libraryCast .rc441-index-controls{flex:0 1 auto;gap:12px}
#libraryCast .rc443-search-wrap{position:relative;display:flex;align-items:center;min-width:200px;width:clamp(190px,24vw,320px)}
#libraryCast .rc443-search-wrap input{min-width:0;width:100%!important;max-width:none!important;padding-right:38px!important;background:#132337!important;color:#f0f7ff!important;border:1px solid #496b8c!important;border-radius:999px!important}
#libraryCast .rc443-search-wrap input::-webkit-search-cancel-button{display:none}
#libraryCast .rc443-search-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:27px;height:27px;border:0!important;border-radius:50%!important;background:#294058!important;color:#e7effa!important;padding:0!important;font-size:19px!important;font-weight:400!important;line-height:27px!important;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:2}
#libraryCast .rc443-search-clear[hidden]{display:none!important}
#libraryCast .rc443-search-clear:hover{background:#47688a!important;color:#fff!important}
#libraryCast .rc443-role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:9px;align-items:stretch}
#libraryCast .rc443-role-card{display:grid;grid-template-columns:57px minmax(0,1fr);align-items:center;gap:12px;position:relative;isolation:isolate;overflow:hidden;min-height:101px;padding:13px;background:#101924;border:1px solid var(--role-accent,#597b9a);border-radius:3px;color:white;text-align:left;cursor:pointer;transition:border-color .22s ease,box-shadow .22s ease;background-size:cover}
#libraryCast .rc443-role-card::before{content:"";position:absolute;inset:7px;z-index:0;border:1px solid color-mix(in srgb,var(--role-accent) 62%,#d4e2ed 38%);pointer-events:none}
#libraryCast .rc443-role-card::after{content:"";position:absolute;inset:0;z-index:0;background-image:var(--role-background,none);background-position:center;background-size:cover;opacity:0;pointer-events:none;transition:opacity .4s ease}
#libraryCast .rc443-role-card:is(:hover,:focus-visible)::after{opacity:1}
#libraryCast .rc443-role-card:is(:hover,:focus-visible){box-shadow:0 10px 20px #0005;border-color:color-mix(in srgb,var(--role-accent) 72%,white 28%)}
#libraryCast .rc443-role-card-art{position:relative;z-index:1;width:57px;height:62px;background:#192c40 center/cover no-repeat;border:1px solid var(--role-accent);border-radius:2px}
#libraryCast .rc443-role-card-copy{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;gap:5px}
#libraryCast .rc443-role-card-copy strong{font:750 13px/1.25 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;text-transform:uppercase;color:#f2f8fe;overflow-wrap:anywhere}
#libraryCast .rc443-role-card-copy>span{font-size:11px;color:#b8d5ee;line-height:1.3}
#libraryCast .rc443-role-card-copy small{font-size:10px;line-height:1.35;color:#fff;letter-spacing:.01em}
.rc443-role-detail{color:#e9f4ff}
.rc443-role-header{display:flex;align-items:center;gap:18px;padding:4px 0 17px;border-bottom:1px solid #3b5168}
.rc443-role-header .rc443-role-art{width:78px;height:82px;flex:none;border:2px solid var(--role-accent);background:#17273a center/cover no-repeat}
.rc443-role-header h3{font-size:23px;line-height:1.2;margin:0 0 8px;color:#fff}
.rc443-role-header p{margin:0;color:#aec7dd;font-size:12px;line-height:1.5}
.rc443-browse-role{display:block;width:fit-content;border:1px solid var(--role-accent);background:#20344a;color:white;padding:10px 16px;margin:16px 0 22px;cursor:pointer;font-weight:700;font-size:12px;border-radius:3px}
.rc443-browse-role:hover{background:#314b65}
.rc443-role-subhead{font:800 12px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;letter-spacing:.1em;color:#bdd8ef;border-bottom:1px solid #3a526a;padding-bottom:10px}
.rc443-role-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.rc443-role-person{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:12px 14px;border:1px solid #3f5b74;border-left:3px solid var(--role-accent);background:#122337;color:#fff;text-align:left;cursor:pointer;border-radius:2px}
.rc443-role-person:hover{background:#1d3a55;border-color:#9ac4e6}
.rc443-role-person strong{font-size:13px;line-height:1.3}
.rc443-role-person span{font-size:11px;line-height:1.35;color:#cbdeef}
.rc443-role-person small{font-size:10px;color:#b1c7dc}
/* Filter search is an interaction within the existing cascade menu, never a replacement SELECT. */
.filter-cascade-values .rc443-filter-search{position:relative;padding:0 0 12px;max-width:100%}
.filter-cascade-values .rc443-filter-search::before{content:"⌕";position:absolute;top:10px;left:12px;color:#a5bed3;font-size:19px;line-height:1;pointer-events:none}
.filter-cascade-values .rc443-filter-search input{width:100%;height:39px;box-sizing:border-box;padding:8px 12px 8px 37px;font:500 13px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:#f3f8fe;background:#0c1a2c;border:1px solid #496480;border-radius:3px;outline:none}
.filter-cascade-values .rc443-filter-search input:focus{border-color:#96bede;box-shadow:0 0 0 1px #83acd5}
.filter-cascade-values .filter-option[hidden]{display:none!important}
.filter-cascade-values .rc443-filter-empty{padding:10px;color:#b6c8d6;font-size:12px}
.filter-cascade-values .rc443-filter-empty[hidden]{display:none!important}
body[data-surface="light"] #libraryCast .rc443-mode-switch{background:#e4edf5;border-color:#9db9cd}
body[data-surface="light"] #libraryCast .rc443-mode-switch button{color:#385771}
body[data-surface="light"] #libraryCast .rc443-mode-switch button[aria-pressed="true"]{color:#fff;background:#254a6a}
body[data-surface="light"] #libraryCast .rc443-role-card{background:#e5eff7;color:#17334f}
body[data-surface="light"] #libraryCast .rc443-role-card-copy strong{color:#163a59}
body[data-surface="light"] #libraryCast .rc443-role-card-copy>span,body[data-surface="light"] #libraryCast .rc443-role-card-copy small{color:#3f5973}
body[data-surface="light"] #libraryCast .rc443-role-card:is(:hover,:focus-visible) .rc443-role-card-copy :is(strong,span,small){color:#fff}
body[data-surface="light"] .filter-cascade-values .rc443-filter-search input{background:#edf4fa;color:#18354b;border-color:#92b1cc}
@media(max-width:930px){#libraryCast .rc443-index-toolbar{align-items:stretch}#libraryCast .rc441-index-controls{flex:1 1 100%;justify-content:space-between}}
@media(max-width:700px){#libraryCast .rc443-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#libraryCast .rc443-role-card{grid-template-columns:47px minmax(0,1fr);padding:10px;gap:8px}#libraryCast .rc443-role-card-art{width:46px;height:52px}#libraryCast .rc443-role-card-copy strong{font-size:11px}#libraryCast .rc443-role-card-copy small{font-size:9px}#libraryCast .rc443-search-wrap{flex:1 1 100%;width:100%}}
@media(max-width:410px){#libraryCast .rc443-role-grid{grid-template-columns:1fr}#libraryCast .rc443-index-toolbar{gap:10px}#libraryCast .rc443-mode-switch{flex:1}#libraryCast .rc443-mode-switch button{flex:1}}
@media(prefers-reduced-motion:reduce){#libraryCast .rc443-role-card::after,#libraryCast .rc443-mode-switch button{transition:none!important}}
