/* Original-art expression layers share the portrait's exact image rect and motion. */
.talk-portrait-frame .portrait-expression-layer {z-index:3; opacity:0;transition:opacity .16s ease-out; filter:none!important;}
.talk-portrait-frame .portrait-expression-layer.face-ready{visibility:visible}
.expressive-buttons{flex-wrap:wrap;gap:5px;align-items:center;max-width:100%;}
.expressive-buttons button{font-size:18px;min-width:37px;height:34px;line-height:1;padding:5px 7px;border-radius:9px;transition:background-color .15s,border-color .15s,transform .18s;}
.expressive-buttons button[aria-pressed="true"]{background:#d8a0ff33!important;border-color:#edc8ff!important;box-shadow:0 0 0 1px #f0c5ff55,0 2px 12px #bb79ff35;transform:translateY(-1px)}
.talk-portrait-frame[data-expression="sad"] .motion-lights{background:radial-gradient(ellipse at 50% 34%,#8a9dc41f,transparent 70%)}
.talk-portrait-frame[data-expression="angry"] .motion-lights{background:radial-gradient(ellipse at 50% 35%,#e7707627,transparent 70%)}
.talk-portrait-frame[data-expression="joy"] .motion-lights{background:radial-gradient(ellipse at 50% 32%,#ffdfb42c,transparent 70%)}
@media(prefers-reduced-motion:reduce){.talk-portrait-frame .portrait-expression-layer{transition:none}.expressive-buttons button{transition:none}}

.stage25-emotions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.stage25-emotions button{background:#273557;color:#e0e9ff;border:1px solid #7487c077;border-radius:8px;padding:8px;cursor:pointer;font:700 11px system-ui}.stage25-emotions button[aria-pressed="true"]{background:#604d84;border-color:#e9bfff;box-shadow:inset 0 0 0 1px #e3bfff55}.stage25-art #stage25-expression{z-index:8;pointer-events:none}.stage25-art #stage25-mouth{z-index:9}
