.image-preset-overlay{position:fixed;inset:0;z-index:1400;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(7,11,21,.68);backdrop-filter:blur(7px)}
.image-preset-overlay.is-open{display:flex}
.image-preset-dialog{width:min(1180px,calc(100vw - 32px));max-height:min(880px,calc(100vh - 32px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface,#fff);box-shadow:0 30px 90px rgba(0,0,0,.34);color:var(--text-primary)}
.image-preset-head{display:grid;grid-template-columns:1fr auto;gap:12px;padding:22px 24px 14px;border-bottom:1px solid var(--border)}
.image-preset-title{margin:0;font-size:22px;line-height:1.2}.image-preset-subtitle{margin:5px 0 0;color:var(--text-secondary);font-size:13px}
.image-preset-close{align-self:start}.image-preset-tools{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:5px}
.image-preset-search{position:relative;flex:1 1 280px}.image-preset-search i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}
.image-preset-search input{width:100%;min-height:42px;padding:9px 13px 9px 38px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,#f7f8fb);color:var(--text-primary);font:600 13px var(--font)}
.image-preset-search input:focus{outline:3px solid color-mix(in srgb,var(--primary) 23%,transparent);border-color:var(--primary)}
.image-preset-free{min-height:42px;white-space:nowrap}.image-preset-categories{display:flex;gap:7px;overflow:auto;padding:12px 24px;border-bottom:1px solid var(--border);scrollbar-width:thin}
.image-preset-category{border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-secondary);padding:7px 12px;font:700 11px var(--font);white-space:nowrap;cursor:pointer}
.image-preset-category[aria-selected="true"]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 13%,transparent);color:var(--primary)}
.image-preset-body{overflow:auto;padding:18px 24px 24px}.image-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.image-preset-card{position:relative;display:block;min-width:0;padding:0;overflow:hidden;text-align:left;border:1px solid var(--border);border-radius:15px;background:var(--surface-2,#f7f8fb);color:inherit;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.image-preset-card:hover:not([disabled]),.image-preset-card:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:0 13px 28px rgba(15,23,42,.14);outline:none}
.image-preset-card[disabled]{cursor:not-allowed;opacity:.55}.image-preset-preview{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#dde3ea}.image-preset-copy{display:block;padding:11px 12px 13px}
.image-preset-code{display:block;color:var(--primary);font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace}.image-preset-name{display:block;margin-top:3px;font-size:13px;font-weight:800}.image-preset-description{display:-webkit-box;margin-top:4px;overflow:hidden;color:var(--text-secondary);font-size:11px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.image-preset-required{position:absolute;top:8px;right:8px;padding:5px 8px;border-radius:999px;background:rgba(9,15,27,.78);color:#fff;font-size:9px;font-weight:800;backdrop-filter:blur(5px)}
.image-preset-empty{grid-column:1/-1;padding:50px 16px;text-align:center;color:var(--text-secondary)}
.image-preset-status{padding:54px 20px;text-align:center;color:var(--text-secondary)}
.image-preset-context{display:none;margin-bottom:9px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--primary) 7%,var(--surface));font-size:12px}
.image-preset-context.active{display:block}.image-preset-context-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.image-preset-context-label{font-weight:800;color:var(--text-primary)}.image-preset-context-code{color:var(--primary);font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace}.image-preset-context-help{margin-top:5px;color:var(--text-secondary);line-height:1.45}.image-preset-context-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.image-preset-context-actions button{border:0;background:transparent;color:var(--primary);font:800 11px var(--font);padding:2px 0;cursor:pointer}.image-preset-context-actions button+button:before{content:'·';padding:0 6px;color:var(--text-tertiary)}
body.image-preset-modal-open{overflow:hidden}
@media(max-width:920px){.image-preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.image-preset-overlay{padding:0;align-items:flex-end}.image-preset-dialog{width:100%;max-height:94vh;border-radius:20px 20px 0 0}.image-preset-head{padding:18px 16px 12px}.image-preset-tools{display:grid;grid-template-columns:1fr}.image-preset-categories{padding:10px 16px}.image-preset-body{padding:14px 16px 22px}.image-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.image-preset-description{display:none}}
@media(max-width:380px){.image-preset-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.image-preset-card{transition:none}}
