/* Zappy 5.1 C2 - Persistent Cast (mobile-first; wraps at 320px; visible focus; respects reduced motion) */
.zc{max-width:760px;margin:0 auto;min-width:0}
.zc-t{margin:0 0 6px;font-size:var(--fs-5,1.4rem)}
.zc-sub,.zc-x,.zc-hint{color:var(--muted);font-size:var(--fs-2,.9rem);margin:0 0 10px;overflow-wrap:anywhere}
.zc-hint{margin:2px 0 6px}
.zc-msg{min-height:1.2em;margin:0 0 10px;font-size:var(--fs-2,.9rem)}
.zc-err{color:var(--danger,#c0392b)}
.zc-empty{border:1px dashed var(--line,rgba(128,128,128,.35));border-radius:12px;padding:14px}
.zc-empty h3{margin:0 0 6px;font-size:var(--fs-3,1rem)}
.zc-empty ul{margin:0 0 12px;padding-left:20px}
.zc-list{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:10px}
.zc-card{border:1px solid var(--line,rgba(128,128,128,.25));border-radius:12px;padding:12px;min-width:0}
.zc-paused{opacity:.8;border-style:dashed}
.zc-ctop{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.zc-cname{display:flex;gap:8px;align-items:center;flex-wrap:wrap;overflow-wrap:anywhere;min-width:0}
.zc-badge{font-size:.75rem;padding:2px 8px;border-radius:999px;background:var(--accent-soft,rgba(108,92,231,.15))}
.zc-thumb{width:56px;height:56px;object-fit:cover;border-radius:10px;background:var(--bg2,rgba(128,128,128,.12));flex:0 0 auto}
.zc-noimg{display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--muted);text-align:center}
.zc-cov{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.zc-chip{font-size:.75rem;padding:2px 8px;border-radius:999px;border:1px solid var(--line,rgba(128,128,128,.35));color:var(--muted)}
.zc-has{color:inherit;border-color:var(--ok,#2e8b57)}
.zc-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.zc-btn{min-height:40px;padding:8px 14px;border-radius:10px;border:1px solid var(--line,rgba(128,128,128,.35));background:transparent;color:inherit;cursor:pointer;max-width:100%;white-space:normal;font:inherit}
.zc-p{background:var(--accent,#6c5ce7);border-color:var(--accent,#6c5ce7);color:#fff}
.zc-danger{color:var(--danger,#c0392b)}
.zc-btn:disabled{opacity:.6;cursor:default}
.zc-form,.zc-add{display:grid;gap:12px}
.zc-form h3,.zc-pack h3{margin:0;font-size:var(--fs-4,1.15rem)}
.zc-pack{margin-top:18px;border-top:1px solid var(--line,rgba(128,128,128,.25));padding-top:14px}
.zc-f label{font-weight:600;display:block}
.zc-f input[type=text],.zc-f textarea,.zc-f select,.zc-pick select{width:100%;box-sizing:border-box;min-height:40px;padding:8px 10px;border-radius:8px;border:1px solid var(--line,rgba(128,128,128,.35));background:var(--bg2,transparent);color:inherit;font:inherit}
.zc-f input[type=file]{max-width:100%;min-height:40px}
.zc-grid{list-style:none;padding:0;margin:10px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.zc-slot{border:1px solid var(--line,rgba(128,128,128,.25));border-radius:10px;padding:8px;display:grid;gap:6px;min-width:0}
.zc-pimg{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:var(--bg2,rgba(128,128,128,.12))}
.zc-hist{margin:8px 0 0;padding-left:20px;font-size:var(--fs-2,.9rem);color:var(--muted)}
.zc-pick{display:grid;gap:4px;margin:6px 0;font-size:var(--fs-2,.9rem);min-width:0}
.zc-pick label{font-weight:600}
.zc button:focus-visible,.zc input:focus-visible,.zc textarea:focus-visible,.zc select:focus-visible,.zc-pick select:focus-visible,.zc-t:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.zc *{transition:none!important}}
#castPanel,#castPanel *{box-sizing:border-box;max-width:100%}
#castPanel{overflow-wrap:anywhere}
