.canvas-asset-library {
    width:min(1020px,calc(100vw - 48px));height:min(780px,calc(100dvh - 64px));max-width:none;max-height:none;
    margin:auto;padding:0;box-sizing:border-box;overflow:hidden;color:#e4e5e4;
    border:1px solid #ffffff16;border-radius:24px!important;background:rgba(34,37,37,.70);
    backdrop-filter:blur(28px) saturate(115%);-webkit-backdrop-filter:blur(28px) saturate(115%);
    box-shadow:0 28px 100px #0006;font:14px "Microsoft YaHei",sans-serif;
}
.canvas-asset-library[open] { display:flex;flex-direction:column; }
.canvas-asset-library::backdrop { background:rgba(8,12,10,.28); }
.canvas-asset-library * { box-sizing:border-box; }
.canvas-asset-library button { font:inherit;color:inherit;cursor:pointer;border:0!important;outline:0;box-shadow:none!important;background:transparent;transition:transform .16s,background .16s,color .16s; }
.canvas-asset-library button:active { transform:scale(.96); }
.canvas-asset-library button:focus-visible { outline:2px solid #d2c29d;outline-offset:3px; }
.canvas-asset-library .cal-head { display:flex;align-items:center;gap:16px;padding:20px 28px 12px;flex-shrink:0; }
.canvas-asset-library h2 { margin:0;font-size:19px;font-weight:500; }
.canvas-asset-library .cal-close { margin-left:auto;font-size:28px;line-height:1;width:32px;height:32px;padding:0;color:#b8c0bc; }
.canvas-asset-library .cal-close:hover { color:white; }
.canvas-asset-library .cal-controls { padding:0 28px 16px;flex-shrink:0; }
.canvas-asset-library .cal-modes { position:relative;display:inline-flex;gap:4px;padding:4px;margin-bottom:12px;isolation:isolate; }
.canvas-asset-library .cal-highlight { position:absolute;left:0;top:4px;bottom:4px;border-radius:12px;background:#fff;z-index:-1;pointer-events:none;transition:transform .55s cubic-bezier(.34,1.56,.64,1),width .55s cubic-bezier(.34,1.56,.64,1); }
.canvas-asset-library .cal-modes button { padding:10px 18px;white-space:nowrap;border-radius:12px!important;color:#aeb6b1; }
.canvas-asset-library .cal-modes button[aria-pressed="true"] { color:#202522; }
.canvas-asset-library .cal-filters { display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.canvas-asset-library .cal-filters button { padding:7px 12px;font-size:12px;border-radius:8px!important;color:#a7b0aa; }
.canvas-asset-library .cal-filters button:hover { background:#ffffff0c; }
.canvas-asset-library .cal-filters button[aria-pressed="true"] { background:#ffffff13;color:#f1f2ee; }
.canvas-asset-library .cal-sort { margin-left:auto;background:transparent;border:0;color:#a7b0aa;font:inherit;font-size:12px;padding:6px; }
.canvas-asset-library .cal-sort option { background:#252a27; }
.canvas-asset-library .cal-content { padding:0 28px 24px;overflow:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#ffffff24 transparent; }
.canvas-asset-library .cal-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.canvas-asset-library .cal-card { position:relative;display:block;min-width:0;text-align:left;padding:0;border-radius:14px!important;overflow:hidden;background:#ffffff06; }
.canvas-asset-library .cal-card:hover { background:#ffffff10; }
.canvas-asset-library .cal-card[aria-pressed="true"] { background:#bcaa7a28; }
.canvas-asset-library .cal-card[hidden],.canvas-asset-library .cal-status[hidden] { display:none; }
.canvas-asset-library .cal-card img { display:block;width:100%;height:150px;object-fit:cover;background:#252a27; }
.canvas-asset-library .cal-check { display:none;position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;background:#dac79c;color:#26261f;text-align:center;line-height:24px; }
.canvas-asset-library .cal-card[aria-pressed="true"] .cal-check { display:block; }
.canvas-asset-library .cal-info { display:flex;flex-direction:column;gap:6px;padding:12px 14px;font-size:13px; }
.canvas-asset-library .cal-info span,.canvas-asset-library .cal-info small { overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
.canvas-asset-library .cal-info small { font-size:11px;color:#929e96; }
.canvas-asset-library .cal-status { padding:60px 0;text-align:center;color:#a6afa9; }
.canvas-asset-library .cal-footer { display:flex;align-items:center;gap:12px;padding:18px 28px;background:#14191620;font-size:12px;color:#9ea8a1;flex-shrink:0; }
.canvas-asset-library .cal-selection { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.canvas-asset-library .cal-load { margin-left:auto;flex-shrink:0;background:#d7c399;color:#26251e;border-radius:10px!important;padding:11px 23px;font-size:13px; }
.canvas-asset-library .cal-load:disabled { opacity:.4;cursor:default; }
@media(max-width:700px) {
    .canvas-asset-library { width:calc(100vw - 24px);height:calc(100dvh - 32px); }
    .canvas-asset-library .cal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .canvas-asset-library .cal-card img { height:120px; }
    .canvas-asset-library :is(.cal-head,.cal-controls,.cal-content,.cal-footer) { padding-left:18px;padding-right:18px; }
}
@media(prefers-reduced-motion:reduce) { .canvas-asset-library .cal-highlight,.canvas-asset-library button { transition:none; } }
