.image-set-trigger{position:absolute;z-index:2;inset:0;width:100%;height:100%;display:flex;align-items:flex-end;padding:10px;border:0;border-radius:8px;background:linear-gradient(transparent 55%,#111a2c70);color:#fff;text-align:left}
.image-set-trigger>span{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #ffffffb8;border-radius:22px;background:#121b2de8;font:600 11px/16px var(--heading-font);box-shadow:0 3px 12px #10172838}
.image-set-trigger .line-icon{width:15px;height:15px}
.card-image .tool-badge{z-index:3;pointer-events:none}
.image-set-dialog[open]{display:flex;flex-direction:column;width:min(1480px,calc(100% - 40px));max-width:none;height:min(960px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #dfe4ef;border-radius:22px;background:#f7f8fc;color:var(--ink);box-shadow:0 24px 100px #0c1d3170;overflow:hidden}
.image-set-dialog::backdrop{background:#111a2ce0;backdrop-filter:blur(5px)}
html.image-set-open,html.image-set-open body{overflow:hidden}
.image-set-heading{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 30px;background:#fff;border-bottom:1px solid #e6e9f1}
.image-set-heading>div>span{color:#008c9b;font:700 10px/16px var(--font);letter-spacing:.1em;text-transform:uppercase}
.image-set-heading h2{margin-top:4px;font:700 23px/30px var(--heading-font);letter-spacing:-.02em}
.image-set-heading>button{width:36px;height:36px;border-radius:50%;background:#eef0f8;color:#3d4b5d;font:28px/1 Arial,sans-serif}
.image-set-body{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 112px;gap:16px;padding:22px 26px 20px;min-width:0;min-height:0;overflow:hidden}
.image-set-thumbnails{grid-row:2;display:grid;grid-auto-flow:column;grid-auto-columns:132px;align-content:start;gap:10px;width:100%;max-width:100%;min-width:0;min-height:0;overflow-x:auto;overflow-y:hidden;padding:2px 2px 8px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.image-set-thumb{position:relative;display:flex;flex-direction:column;gap:7px;width:132px;padding:7px;border:1px solid #e2e6ef;border-radius:12px;background:#fff;text-align:left;color:var(--body);scroll-snap-align:start;transition:border-color .18s,box-shadow .18s,transform .18s}
.image-set-thumb:hover{transform:translateY(-2px);border-color:#9bcbd1;box-shadow:0 6px 18px #1c304010}
.image-set-thumb img{width:100%;height:78px;object-fit:cover;border-radius:7px;background:#e9edff}
.image-set-thumb span{display:block;overflow:hidden;font:600 10px/15px var(--font);text-overflow:ellipsis;white-space:nowrap}
.image-set-thumb[aria-pressed=true]{border-color:#0099aa;box-shadow:0 0 0 2px #0099aa35;color:#006d78}
.image-set-selection{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:24px;min-width:0;min-height:0;overflow:hidden;align-items:stretch}
.image-set-selection>figure{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:0;margin:0;padding:12px;border:1px solid #e6eaf2;border-radius:18px;background:#fff;box-shadow:0 8px 30px #14203908}
.image-set-selection>figure img{width:100%;height:min(60vh,680px);min-height:0;max-height:100%;object-fit:contain;border-radius:10px;background:#f1f2f8}
.image-set-selection>figure figcaption{padding:11px 4px 1px;font:600 12px/18px var(--font);color:#44536a}
.image-set-details{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.image-set-description{font-size:15px;line-height:23px;color:#4a5668}
.image-set-details dl{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 18px}
.image-set-details dl>div{min-width:100px;padding:10px 12px;border:1px solid #edf0f5;border-radius:10px;background:#fff}
.image-set-details dt{font:600 9px/13px var(--font);color:#8592a5;text-transform:uppercase;letter-spacing:.05em}
.image-set-details dd{margin:3px 0 0;font:600 11px/16px var(--font);color:#1e3548}
.image-set-prompt{padding:18px;border:1px solid #e1e6f0;border-radius:15px;background:#fff;box-shadow:0 8px 24px #14203908}
.image-set-prompt>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}
.image-set-prompt h3{font:700 17px/24px var(--heading-font)}
.image-set-prompt>div:first-child span{font:11px/16px var(--font);color:#748197;text-align:right}
.image-set-prompt pre{white-space:pre-wrap;overflow:auto;max-height:min(240px,26vh);margin:14px 0 0;padding:16px;border:1px solid #eef0f6;border-radius:10px;background:#f6f7fb;color:#28364a;font:12px/20px ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.image-set-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.image-set-actions .button{min-height:40px;padding:9px 16px;font-size:12px}
.image-set-actions .button:disabled{opacity:.55}
.image-set-copy-status{min-height:16px;margin-top:8px;font-size:10px;color:#007451}
@media(max-width:900px){.image-set-body{grid-template-rows:minmax(320px,1fr) 104px;gap:12px;padding:16px}.image-set-selection{grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:14px;min-height:0}.image-set-selection>figure{min-height:0}.image-set-selection>figure img{min-height:0;height:min(44vh,480px)}.image-set-prompt pre{max-height:min(180px,22vh)}}
@media(max-width:600px){.image-set-dialog[open]{width:calc(100% - 18px);height:calc(100dvh - 18px);max-height:calc(100dvh - 18px);border-radius:13px}.image-set-heading{padding:16px}.image-set-heading h2{font-size:18px;line-height:25px}.image-set-body{display:flex;flex-direction:column;gap:12px;padding:12px;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto}.image-set-selection{display:flex;flex-direction:column;gap:12px;order:1;flex:0 0 auto;min-width:0;max-width:100%;overflow:visible}.image-set-selection>figure{position:static;width:100%;min-height:0;padding:7px}.image-set-selection>figure img{min-height:0;height:min(36vh,300px)}.image-set-thumbnails{order:2;display:flex;width:100%;max-width:100%;min-width:0;max-height:none;overflow-x:auto;overflow-y:hidden;padding:2px 2px 6px;overscroll-behavior-x:contain}.image-set-thumb{flex:0 0 94px;width:94px;padding:5px;gap:5px}.image-set-thumb img{width:100%;height:58px}.image-set-thumb span{font-size:9px;line-height:13px}.image-set-description{font-size:13px;line-height:20px}.image-set-details{min-height:auto;overflow:visible}.image-set-prompt{padding:12px}.image-set-prompt pre{max-height:190px;padding:11px;font-size:10px;line-height:17px}.image-set-actions{position:relative;z-index:1}}
@media(max-height:760px) and (min-width:601px){.image-set-heading{padding-block:14px}.image-set-heading h2{font-size:19px;line-height:25px}.image-set-body{grid-template-rows:minmax(280px,1fr) 92px;gap:10px;padding:12px 18px}.image-set-selection{gap:16px}.image-set-selection>figure{padding:8px}.image-set-selection>figure img{height:min(48vh,460px)}.image-set-prompt{padding:13px}.image-set-prompt pre{max-height:145px;margin-top:9px;padding:11px;font-size:11px;line-height:17px}.image-set-actions{margin-top:10px}}

/* Keep every gallery region inside the viewport, including long titles and short windows. */
.image-set-dialog *, .image-set-dialog *::before, .image-set-dialog *::after{box-sizing:border-box}
.image-set-dialog .image-set-heading{min-width:0;max-height:30%;overflow:auto}
.image-set-dialog .image-set-heading>div{min-width:0;overflow-wrap:anywhere}
.image-set-dialog .image-set-heading>button{flex:0 0 36px}
.image-set-dialog .image-set-selection>figure{overflow:hidden}
.image-set-dialog .image-set-selection>figure img{flex:1 1 0;max-width:100%;min-height:0}
.image-set-dialog .image-set-selection>figure figcaption{flex:0 0 auto;max-height:25%;overflow:auto;overflow-wrap:anywhere}
.image-set-dialog .image-set-details{overflow-x:hidden;scrollbar-gutter:stable}
.image-set-dialog .image-set-details dl>div{min-width:0;max-width:100%;overflow-wrap:anywhere}
.image-set-dialog .image-set-prompt>div:first-child{flex-wrap:wrap}
.image-set-dialog .image-set-prompt h3,.image-set-dialog .image-set-prompt>div:first-child span{min-width:0;overflow-wrap:anywhere}
.image-set-dialog .image-set-actions .button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.image-set-dialog .image-set-thumbnails{align-items:start}
.image-set-dialog .image-set-thumb{min-width:0;max-height:100%;flex-shrink:0;overflow:hidden}
.image-set-dialog .image-set-thumb img{flex-shrink:0}
@media(min-width:601px){
 .image-set-dialog .image-set-body{grid-template-rows:minmax(0,1fr) 120px}
 .image-set-dialog .image-set-selection{grid-row:1;grid-column:1;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
 .image-set-dialog .image-set-thumbnails{grid-row:2;grid-column:1}
 .image-set-dialog .image-set-thumb{height:108px}
 .image-set-dialog .image-set-thumb img{height:66px}
}
@media(max-width:600px){
 .image-set-dialog .image-set-selection>figure img{flex:none;height:min(36dvh,300px)}
 .image-set-dialog .image-set-thumbnails{flex:0 0 auto;min-height:92px}
 .image-set-dialog .image-set-thumb{height:86px}
 .image-set-dialog .image-set-thumb img{height:52px}
 .image-set-dialog .image-set-selection>figure figcaption{max-height:none}
}
@media(max-height:500px) and (min-width:601px){
 .image-set-dialog .image-set-body{grid-template-rows:minmax(0,1fr) 86px;padding:8px;gap:8px}
 .image-set-dialog .image-set-thumb{height:76px}
 .image-set-dialog .image-set-thumb img{height:40px}
}

/* Preserve the modal dimensions; scroll overflowing content inside each region. */
.image-set-dialog .image-set-body{overflow-y:auto;overscroll-behavior:contain}
.image-set-dialog .image-set-details{overflow-y:auto;min-height:0}
.image-set-dialog .image-set-prompt pre{overflow:auto;overscroll-behavior:contain}
.image-set-dialog .image-set-thumbnails{overflow-x:auto;overscroll-behavior:contain}
@media(max-width:600px){
 .image-set-dialog .image-set-details{overflow:visible}
}
