.character-memory{color:#e4e5dc;font:400 13px/1.6 var(--sans,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif)}
.character-memory button{font:inherit;touch-action:manipulation}
.cm-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 20px}
.cm-roster button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:50px;padding:5px 8px;border:1px solid #c1a66c40;border-radius:9px;background:#243549;color:#c5ced2}
.cm-roster button[aria-pressed="true"]{border-color:#e2bf77;background:#3d443f;color:#ffe2a5}
.cm-roster button>span{display:block;flex:0 0 30px;height:36px;overflow:hidden}
.cm-roster button>span>*{display:block;width:30px;height:36px;object-fit:contain}
.cm-heading{display:flex;align-items:center;gap:13px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #c2ab7029}
.cm-portrait{display:block;flex:0 0 68px;height:80px;border-radius:10px;overflow:hidden;background:#152435}
.cm-portrait>*{display:block;width:68px;height:80px;object-fit:contain}
.cm-heading>div{flex:1;min-width:0}.cm-heading small{display:block;color:#aebbc0;font-size:11px}
.cm-heading h3{margin:2px 0 5px!important;font-size:23px!important;letter-spacing:0!important}
.cm-stage{display:inline-block;color:#d9c48d;font-size:11px}.cm-heading>p{text-align:right;font-size:24px;font-weight:700;line-height:1.2}
.cm-heading>p>small{margin-top:5px;font-weight:400;line-height:1.4}
.character-memory h4{margin:20px 0 9px;color:#f0d7a4;font-size:13px;font-weight:700}
.cm-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.cm-section-heading h4{flex:1}.cm-section-heading .link-btn{min-height:40px;padding:8px 0;color:#aebec6;font-size:11px}.cm-question{display:block;margin-bottom:7px;color:#a4b4bc;font-size:10px}
.cm-facts{padding:0;margin:0;list-style:none}.cm-facts li{display:flex;gap:12px;align-items:baseline;justify-content:space-between;padding:9px 0;border-bottom:1px solid #b3bec81a}.cm-facts li>span{min-width:0;overflow-wrap:anywhere}.cm-facts time{flex:0 0 auto;color:#99aab8;font-size:10px}
.cm-empty{margin:9px 0!important;padding:12px 0;color:#aebfc9;line-height:1.8}
.cm-dialogue{padding:0;margin:0;list-style:none}.cm-dialogue li{margin:10px 0;padding:12px 14px;border-left:2px solid #a5b4a45c;background:#23334780;border-radius:0 9px 9px 0}.cm-dialogue strong{display:block;margin-bottom:5px;color:#cfbc8e;font-size:11px}.cm-dialogue p{margin:0!important;overflow-wrap:anywhere;white-space:pre-wrap}
.cm-topics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.cm-topics .plain-btn{min-height:46px;padding:8px 10px;text-align:left;font-size:12px;letter-spacing:0}
.cm-preference{color:#c7c5b7;font-size:11px;margin:12px 0!important}.cm-preference small{display:block;margin-top:3px;color:#91a5b2;font-size:10px}
.cm-notice{padding:9px 11px;border:1px solid #c6ad6a44;border-radius:8px;background:#122238;color:#e1d7b9;font-size:12px}.cm-notice .link-btn{display:inline;min-height:32px;padding:3px 6px;color:#e7c889}
.cm-footer{display:flex;justify-content:space-between;gap:14px;margin-top:20px;padding-top:8px;border-top:1px solid #c2ab7029}.cm-footer .link-btn{min-height:44px;padding:8px 0;color:#aebec6;font-size:11px}
.cm-lobby-note,.cm-fallback{display:block;font-size:10px;color:#9bb0bc}
.cm-forget-confirm{margin-top:16px;padding:14px;border:1px solid #d1a18777;border-radius:10px;background:#332a2b}.cm-forget-confirm p{margin:0 0 8px!important;color:#f2dfcf}.cm-forget-confirm small{display:block;color:#c2b6b0;font-size:11px}.cm-forget-confirm>div{display:flex;gap:9px;justify-content:flex-end;margin-top:13px}.cm-forget-confirm button{min-height:44px;font-size:12px;letter-spacing:0}
.character-memory button:focus-visible{outline:3px solid #c8eff0;outline-offset:2px}
@media(max-width:380px){.cm-roster{gap:5px}.cm-roster button{gap:4px;padding:5px;font-size:12px}.cm-heading{gap:10px}.cm-portrait,.cm-portrait>*{width:56px;flex-basis:56px;height:68px}.cm-heading>p{font-size:21px}.cm-topics{gap:6px}}
@media(max-height:450px) and (orientation:landscape){.cm-heading{margin-bottom:12px;padding-bottom:10px}.cm-portrait,.cm-portrait>*{height:62px;width:52px;flex-basis:52px}.cm-roster{margin-bottom:12px}.cm-roster button{min-height:44px}.cm-dialogue li{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.character-memory,.character-memory *{scroll-behavior:auto;animation:none;transition:none}}
