.uya-brand-group { display:flex; align-items:center; gap:7px; min-width:0; }
.uya-art-trigger { position:relative; flex:0 0 30px; width:30px; height:30px; padding:0; border:1px solid #ccb4e3; border-radius:6px; background:#e9dff4; cursor:pointer; }
.uya-art-trigger::before { content:""; position:absolute; inset:-7px; }
.uya-art-trigger > span { position:absolute; inset:0; overflow:hidden; border-radius:5px; }
.uya-art-trigger img { position:absolute; width:530%; max-width:none; height:auto; left:-342%; top:-5%; }
.uya-art-trigger img.is-fixed-character { width:185%; left:-42.5%; top:-3%; }
.uya-art-trigger::after { content:"✦"; position:absolute; right:-4px; bottom:-4px; width:13px; height:13px; display:grid; place-items:center; border-radius:50%; background:#f8f1ff; color:#7650ad; font-size:10px; }
.uya-art-trigger:focus-visible { outline:3px solid #7650ad; outline-offset:5px; }
.uya-art-dialog { box-sizing:border-box; width:min(900px,calc(100vw - 32px)); height:min(820px,calc(100vh - 32px)); height:min(820px,calc(100dvh - 32px)); max-width:none; max-height:none; padding:16px; border:1px solid #d6c5e7; border-radius:14px; color:#493b55; background:#faf7fc; overflow:hidden; }
.uya-art-dialog[open] { display:flex; flex-direction:column; gap:10px; }
.uya-art-dialog::backdrop { background:#211629a8; }
.uya-art-dialog * { box-sizing:border-box; }
.uya-art-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:8px; flex:none; }
.uya-art-dialog-head h2 { min-width:0; margin:0; font-size:17px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.uya-art-dialog button,.uya-art-task-actions a { min-height:44px; padding:8px 12px; border:1px solid #dbc9e9; border-radius:7px; background:#f0e8f7; color:#634084; font:inherit; font-size:13px; text-decoration:none; cursor:pointer; }
.uya-art-dialog button:focus-visible,.uya-art-task-actions a:focus-visible { outline:3px solid #8b5aaf; outline-offset:2px; }
.uya-art-dialog button:disabled { opacity:.5; cursor:wait; }
.uya-art-close { flex:none; }
.uya-art-frame { flex:1; min-height:100px; overflow:hidden; background:#ecedf0; border-radius:9px; display:flex; align-items:center; justify-content:center; container-type:size; }
.uya-art-composition { position:relative; width:100%; height:100%; overflow:hidden; }
.uya-art-frame img { display:block; width:100%; height:100%; object-fit:cover; object-position:91% center; }
.uya-art-dialog.is-full-image .uya-art-frame img { object-fit:contain; }
.uya-art-frame .uya-art-character,
.uya-art-frame img[hidden] { display:none; }
.uya-art-frame.is-layered .uya-art-scene { object-position:center; object-fit:cover; }
.uya-art-frame.is-layered .uya-art-character:not([hidden]) {
    display:block; position:absolute; inset:4% 4% 2%; width:92%; height:94%;
    object-fit:contain; object-position:center bottom; pointer-events:none;
    filter:drop-shadow(0 8px 12px rgb(48 33 69 / 20%));
}
.uya-art-dialog.is-full-image .uya-art-frame.is-layered .uya-art-composition {
    width:100%; height:auto; aspect-ratio:16/9;
}
.uya-art-dialog.is-full-image .uya-art-frame.is-layered .uya-art-character:not([hidden]) {
    inset:4% 5% 2% auto; width:42%; height:94%; object-position:center bottom;
}
@supports (width:1cqw) {
 .uya-art-dialog.is-full-image .uya-art-frame.is-layered .uya-art-composition {
    width:min(100cqw,calc(100cqh * 16 / 9)); height:min(100cqh,calc(100cqw * 9 / 16));
 }
}
.uya-art-navigation { flex:none; display:flex; justify-content:center; align-items:center; gap:8px; }
.uya-art-count { min-width:46px; text-align:center; font-size:12px; color:#74627e; }
.uya-art-message { flex:none; min-height:0; margin:0; color:#735d7e; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.uya-art-message:empty,.uya-art-task-actions:has(>[hidden]):not(:has(>:not([hidden]))) { display:none; }
.uya-art-task-actions { display:flex; flex:none; gap:8px; }
.uya-art-task-actions [hidden] { display:none; }
body.uya-art-open { overflow:hidden!important; }
@media(max-width:600px) {
 .uya-art-dialog { width:100%; height:100%; height:100dvh; margin:0; padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom)); border:0; border-radius:0; gap:8px; }
 .uya-art-dialog-head h2 { font-size:15px; }
 .uya-art-navigation { gap:5px; }
 .uya-art-navigation button { padding:8px; font-size:12px; }
 .uya-art-count { min-width:40px; }
}
@media(prefers-reduced-motion:no-preference) {
 .uya-art-dialog[open] { animation:uya-art-appear .16s ease-out; }
 @keyframes uya-art-appear { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
}
