.overlay-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200}
.overlay-backdrop.open{display:block;animation:fadeIn .2s}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* 用户菜单打开的各侧边栏统一宽度（含可用模型、素材库等） */
:root{--overlay-side-width:640px}
/* 侧栏：毛玻璃（blur 叠在遮罩后的主界面上） */
.overlay-panel{display:none;position:fixed;top:0;right:0;bottom:0;width:var(--overlay-side-width);max-width:100vw;background:color-mix(in srgb,var(--bg2) 44%,transparent);border-left:1px solid var(--border);z-index:210;flex-direction:column;box-shadow:-8px 0 32px rgba(0,0,0,.25);transform:translateX(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(22px) saturate(1.12);-webkit-backdrop-filter:blur(22px) saturate(1.12)}
/* 浅色：侧栏实底白色，不用半透明+毛玻璃（否则会透成灰感） */
[data-theme="light"] .overlay-panel{background:var(--bg2);backdrop-filter:none;-webkit-backdrop-filter:none}
.overlay-panel.open{display:flex;transform:translateX(0);animation:slideIn .25s cubic-bezier(.4,0,.2,1)}
@keyframes slideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}

#overlay-assets .asset-wrap{padding:20px;max-width:none;margin:0}
#overlay-assets .asset-wrap h1{display:none}
#overlay-assets .asset-card{padding:16px}
#overlay-assets .asset-table th,#overlay-assets .asset-table td{padding:6px 10px;font-size:calc(12 * 1rem / 16)}

.ov-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0;background:color-mix(in srgb,var(--bg3) 38%,transparent);backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08)}
[data-theme="light"] .ov-header{background:var(--bg2);backdrop-filter:none;-webkit-backdrop-filter:none}
.ov-header h3{font-size:calc(16 * 1rem / 16);font-weight:700;color:var(--text);margin:0}
.ov-close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--text3);font-size:calc(20 * 1rem / 16);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}
.ov-close:hover{background:var(--bg3);color:var(--text)}
[data-theme="light"] .ov-close{transition:transform .14s ease,box-shadow .14s ease,background .12s,color .12s}
[data-theme="light"] .ov-close:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(14,18,24,.06),0 1px 0 rgba(255,255,255,.88) inset}

.ov-body{flex:1;overflow-x:hidden;overflow-y:auto;padding:16px 20px}

#overlay-login .ov-login-contact{margin-top:18px;font-size:13px;color:var(--text3);line-height:1.5}
#overlay-login .ov-login-contact-btn{padding:0;border:none;background:none;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:2px}
#overlay-login .ov-login-contact-btn:hover{opacity:0.9}
#overlay-login .ov-login-contact-hint{color:var(--text3);font-size:12px;margin-left:2px}

.overlay-panel .acct-hero{margin-bottom:16px}
.overlay-panel .acct-row2{margin-bottom:16px}
.overlay-panel .acct-row2{grid-template-columns:1fr}
.overlay-panel .task-toolbar{padding:0;margin:0 0 16px;background:transparent;border:none}
.overlay-panel .task-list{max-height:none;overflow:visible;padding:0 0 8px}
.overlay-panel .task-card{margin-bottom:12px}
