/* TA 的图库（生图第六阶段 a）：角色详情页的图库卡、查看全部、大图页、换头像对比。跟角色 App 同一套玻璃风格，浅色 / 深色都走变量。 */
.g6-wrap{margin-top:4px}
.character-grp em{font-style:normal;font-weight:400;font-size:12px;color:var(--ink2);margin-left:4px}
.g6-card{padding:12px 0 10px}
.g6-row{display:flex;gap:8px;overflow-x:auto;padding:0 12px;scrollbar-width:none;scroll-snap-type:x proximity}
.g6-row::-webkit-scrollbar{display:none}
.g6-add,.g6-t{flex:none;position:relative;width:76px;height:96px;border-radius:14px;overflow:hidden;padding:0;border:0;cursor:pointer;scroll-snap-align:start}
.g6-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:rgba(255,255,255,.35);border:1.5px dashed color-mix(in srgb,var(--ink2) 35%,transparent);color:var(--ink2);font:inherit;font-size:11.5px}
.g6-add svg{width:20px;height:20px}
.g6-t{background:var(--surface-alt);box-shadow:0 4px 10px -6px rgba(30,40,60,.4);transition:transform 200ms cubic-bezier(.34,1.56,.64,1)}
.g6-t:active{transform:scale(.95)}
.g6-t img{width:100%;height:100%;object-fit:cover;display:block}
.g6-t.busy img{filter:blur(2px) brightness(.9)}
.g6-scan{position:absolute;inset:0;overflow:hidden}
.g6-scan::before{content:"";position:absolute;left:0;right:0;height:40%;top:-40%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.55),transparent);animation:g6Scan 1.2s ease-in-out infinite}
@keyframes g6Scan{to{top:100%}}
.g6-t.busy::after,.g6-g.busy::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(180deg,transparent,rgba(20,28,40,.55))}
.g6-busy{z-index:1;position:absolute;left:0;right:0;bottom:6px;text-align:center;font-size:10.5px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.g6-tip{margin:9px 14px 0;font-size:11.5px;line-height:1.55;color:var(--ink2)}
/* 大图（浅色，跟角色页同一套） */
.g6-view{position:fixed;inset:0;z-index:1090;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 18px 24px}
.g6-view.out{transition:opacity 200ms;opacity:0}
.g6-vbg{position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(22px) saturate(1.3);backdrop-filter:blur(22px) saturate(1.3);animation:g6Fade 220ms ease-out backwards}
@keyframes g6Fade{from{opacity:0}}
.g6-view>*:not(.g6-vbg){position:relative}
.g6-vx{position:absolute!important;top:calc(16px + var(--sat,0px));right:16px;width:38px;height:38px;border-radius:50%;background:var(--surface);border:1px solid rgba(255,255,255,.9);color:var(--ink);box-shadow:var(--shadow);display:grid;place-items:center;cursor:pointer}
.g6-vx svg{width:16px;height:16px}
.g6-view>img{max-width:min(320px,86vw);max-height:44vh;border-radius:16px;object-fit:contain;box-shadow:0 22px 44px -18px rgba(40,55,80,.45);animation:g6Pop 300ms cubic-bezier(.22,.9,.3,1) backwards}
@keyframes g6Pop{from{opacity:0;transform:scale(.94)}}
.g6-vcard{width:min(340px,100%);box-sizing:border-box;padding:14px 16px 10px;border-radius:20px;background:var(--character-glass,color-mix(in srgb,var(--surface) 84%,transparent));border:1px solid var(--character-glass-line,var(--border));box-shadow:var(--character-glass-shadow,var(--shadow-md));color:var(--ink);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:g6Pop 320ms cubic-bezier(.22,.9,.3,1) 80ms backwards}
.g6-vhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}
.g6-vhead span{font-size:14px;font-weight:600}
.g6-vhead small{font-size:11px;color:var(--ink2);text-align:right}
.g6-vsum{margin:0 0 10px;font-size:13.5px;line-height:1.6}
.g6-vsum b,.g6-vnote b{display:block;font-size:11px;font-weight:500;color:var(--ink2);letter-spacing:.06em;margin-bottom:2px}
.g6-vnote{display:block;margin-bottom:8px}
.g6-vnote input{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid color-mix(in srgb,var(--ink2) 25%,transparent);background:none;color:var(--ink);font:inherit;font-size:13.5px;padding:4px 0;outline:none}
.g6-vnote input::placeholder{color:var(--ink2);opacity:1;font-size:12.5px}
.g6-vdel{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:6px 0;border:0;background:none;color:var(--coral-text);font:inherit;font-size:12.5px;cursor:pointer}
.g6-vdel svg{width:14px;height:14px}
/* 查看全部（放在角色 App 的子页面里：返回、标题、右侧「添加」） */
.g6-addtxt{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 14px;border:0;border-radius:999px;background:var(--cd,var(--pri-deep));color:#fff;font:inherit;font-size:13px;cursor:pointer}
.g6-addtxt svg{width:15px;height:15px}
.g6-alltip{margin:6px 8px 12px;font-size:12px;color:var(--ink2)}
.g6-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 4px 30px;align-content:start}
.g6-g{position:relative;aspect-ratio:1;border:0;padding:0;border-radius:12px;overflow:hidden;background:var(--surface-alt);cursor:pointer}
.g6-g img{width:100%;height:100%;object-fit:cover;display:block}
.g6-g.busy img{filter:blur(2px) brightness(.9)}
.g6-use{position:absolute;left:5px;bottom:5px;max-width:calc(100% - 10px);padding:2px 7px;border-radius:999px;background:rgba(20,28,40,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 聊天里「TA 换了头像」：新旧两张 */
.g6-pair{padding-bottom:14px}
.g6-pairrow{display:flex;gap:12px;justify-content:center}
.g6-pairrow figure{margin:0;text-align:center;flex:1;min-width:0}
.g6-pairrow img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px;background:var(--surface-alt);display:block}
.g6-pairrow figcaption{margin-top:6px;font-size:11.5px;color:var(--ink2)}
.g6-vback{display:block;width:100%;margin-top:12px;height:38px;border:0;border-radius:999px;background:var(--cd,var(--pri-deep));color:#fff;font:inherit;font-size:13.5px;cursor:pointer}
.msg-row.sys.avatar-change .msg-bub{cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}
/* 角色主题色：和角色详情页底部「聊天」按钮同一个变量（--cd），深色下同样取 --c2、字用深色（character.css .character-dock .character-quick-main） */
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .g6-addtxt,:root:not([data-theme="light"]) .g6-vback{--cd:var(--c2,var(--pri-deep));color:#16181e}}
:root[data-theme="dark"] .g6-addtxt,:root[data-theme="dark"] .g6-vback{--cd:var(--c2,var(--pri-deep));color:#16181e}
