.character-library{border:1px solid var(--brand-line);background:var(--brand-white);max-width:1060px;color:var(--brand-ink);border-radius:24px;margin:0 auto 28px;padding:22px 24px}.character-library-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.character-library-heading h2{font-family:var(--font);letter-spacing:-.025em;margin:0;font-size:20px}.character-library-heading p,.character-library-empty{color:var(--brand-muted);margin:8px 0 0;font-size:14px;line-height:1.5}.character-library .text-link{flex-shrink:0;min-height:44px}.character-library-avatars{overscroll-behavior-inline:contain;gap:20px;padding:20px 4px 12px;scroll-padding-inline:4px;display:flex;overflow-x:auto}.character-library-person{width:88px;color:var(--brand-ink);cursor:pointer;font:inherit;text-align:center;background:0 0;border:0;flex-direction:column;flex:0 0 88px;align-items:center;gap:9px;padding:0;font-size:14px;display:flex}.character-library-person>span:last-child{overflow-wrap:anywhere;max-width:100%;line-height:1.35}.character-library-avatar{background:var(--brand-sage);width:76px;height:76px;color:var(--brand-accent);border-radius:50%;place-items:center;display:grid;position:relative}.character-library-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.character-library-avatar>svg:last-child{border:2px solid var(--brand-white);background:var(--brand-accent);width:24px;height:24px;color:var(--brand-white);border-radius:50%;padding:4px;position:absolute;bottom:-2px;right:-2px}.character-library-manage{border-top:1px solid var(--brand-line);margin-top:14px}.character-library-manage>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px;line-height:1.5}.character-library-manage form{gap:14px;max-width:600px;margin:8px 0 22px;display:grid}.character-library-manage form>label:first-child{font-size:14px;font-weight:500}.character-library-manage select{background:var(--brand-paper);width:100%;min-width:0;min-height:48px;color:var(--brand-ink);border:1px solid var(--brand-line);font:inherit;border-radius:12px;padding:12px;font-size:16px}.character-library-consent{color:var(--brand-muted);align-items:flex-start;gap:12px;font-size:14px;line-height:1.6;display:flex}.character-library-consent input{appearance:auto;width:22px;height:22px;accent-color:var(--brand-accent);flex:0 0 22px;margin:2px 0 0}.character-library-entries{margin:18px 0 0;padding:0;list-style:none}.character-library-entries li{border-top:1px solid var(--brand-line);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.character-library-entries li>div:first-child{overflow-wrap:anywhere;flex-direction:column;gap:5px;min-width:0;display:flex}.character-library-entries strong{font-size:14px;font-weight:500}.character-library-entries span{color:var(--brand-muted);font-size:13px}.character-library-remove{width:44px;height:44px;color:var(--brand-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 44px;place-items:center;display:grid}.character-library-remove:hover{background:var(--brand-paper)}.character-library-delete,.character-library-retry{flex-wrap:wrap;gap:8px 16px;display:flex}.character-library-delete .text-link{font-size:13px}.character-library-retry p{flex-basis:100%;margin:0}.character-library-hint{max-width:650px;color:var(--brand-muted);margin:16px 0 0;font-size:13px;line-height:1.6}.character-library button:disabled{opacity:.5;cursor:default}.character-library button:focus-visible,.character-library summary:focus-visible,.character-library select:focus-visible{outline:3px solid var(--brand-accent);outline-offset:4px}.character-library-status{max-width:1060px;margin:0 auto 28px}.cast-account-hint{text-align:center;max-width:720px;margin:0 auto 20px}.cast-account-hint .text-link{min-height:44px;color:var(--brand-accent)}.cast-availability{margin-bottom:16px;font-size:14px;line-height:1.6}@media (max-width:600px){.character-library{border-radius:20px;padding:18px}.character-library-heading{flex-wrap:wrap;gap:0}.character-library-heading h2{font-size:18px}.character-library-avatars{gap:14px}.character-library-entries li{flex-wrap:wrap;gap:6px 12px}.character-library-entries li>div:first-child{flex:1}.character-library-delete{flex-basis:100%}.character-library .button{white-space:normal;text-align:center}}
