.character-picker{max-width:820px;margin:auto}.character-family{margin:30px 0}.character-family h2{margin-bottom:7px;font-size:23px}.character-family>.muted{margin-bottom:16px}.character-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.character-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 8px 13px;border:3px solid #e9d9fa;border-radius:22px;background:#fcf8ff;color:#502186;font:inherit;min-width:0;cursor:pointer;transition:transform .15s,box-shadow .15s}.character-option:hover{border-color:#c792ed;transform:translateY(-2px)}.character-option[aria-pressed=true]{border-color:#8125d2;background:#f0e2ff;box-shadow:0 0 0 3px #dec4f5,0 6px 18px #6e32a021}.character-portrait{display:block;width:100%;aspect-ratio:1;border-radius:17px;overflow:hidden;background:linear-gradient(140deg,#f5e3ff,#e4f8ff)}.character-portrait img{display:block;width:100%;height:100%;object-fit:contain}.character-label{font-weight:900;font-size:16px;line-height:1.25;text-align:center}.character-choice{font-size:12px;font-weight:800;color:#765094}.character-option[aria-pressed=true] .character-choice{color:#6620a4}.character-selected{border:1px solid #e1c8f6;background:#f7edff;border-radius:17px;padding:16px 18px;line-height:1.5;min-height:58px}.character-actions{margin-top:17px}.character-privacy{margin-top:19px;margin-bottom:0}.character-chip{display:inline-flex;align-items:center;gap:8px;border-radius:24px;padding:6px 12px 6px 6px;border:1px solid #dfc7f4;background:#fff7ff;text-decoration:none;font-size:13px;font-weight:800;min-height:46px}.character-chip img{width:35px;height:35px;border-radius:50%;object-fit:contain;background:#efddff}.character-chip-change{font-size:11px;color:#784c9c;font-weight:500}.character-chip>span[aria-hidden=true]{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f1deff;color:#8a35d2;font-size:22px}.character-option:focus-visible,.character-chip:focus-visible{outline:4px solid #ffbd29;outline-offset:4px}
@media(max-width:600px){.character-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.character-family{margin:25px 0}.character-option{padding:8px 8px 12px}.character-label{font-size:17px}.character-actions{align-items:stretch}.character-actions button{flex:1 1 170px}.character-chip-change{display:none}}
@media(prefers-reduced-motion:reduce){.character-option{transition:none}.character-option:hover{transform:none}}

/* The original gallery is immutable. Only its bottom portrait strip is exposed. */
.character-portrait.character-portrait-frame{position:relative;display:block;width:100%;max-width:180px;height:auto;aspect-ratio:1;flex-shrink:0;overflow:hidden;margin:0;background:linear-gradient(140deg,#f5e3ff,#e4f8ff);font-size:0;line-height:0}
.character-portrait-sprite>.character-portrait-window{position:absolute;display:block;left:0;top:9.26966292%;width:100%;height:81.46067416%;margin:0;overflow:hidden;border-radius:12px;background-image:url('/art/characters/roster-original.png');background-repeat:no-repeat;background-size:862.92134831% 706.20689655%;background-position:var(--portrait-x) 69.39704209%;font-size:0;line-height:0;pointer-events:none}
.character-chip>.character-portrait.character-portrait-frame{width:40px;height:40px;aspect-ratio:1;border-radius:50%}
.character-chip .character-portrait-window{border-radius:0}

.character-portrait.character-portrait-frame.character-portrait-original>img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;margin:0;border-radius:0;transform:none}
