.tripo-gallery-picker {
    width: min(680px, calc(100vw - 32px));
    max-height: min(760px, calc(100dvh - 40px));
    margin: auto;
    padding: 20px;
    overflow: auto;
    border: 1px solid var(--ui-border);
    border-radius: 18px;
    background: var(--ui-panel-elevated-bg);
    color: var(--ui-text-1);
    box-shadow: var(--ui-shadow);
}

.tripo-gallery-picker::backdrop {
    background: color-mix(in srgb, var(--ui-bg) 72%, transparent);
}

.tripo-gallery-picker__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.tripo-gallery-picker__title { margin: 0; font-size: 18px; font-weight: 600; }
.tripo-gallery-picker__description { margin: 10px 0 18px; color: var(--ui-text-2); font-size: 13px; }
.tripo-gallery-picker__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 12px; }
.tripo-gallery-picker__cancel,
.tripo-gallery-picker__item { font: inherit; color: currentColor; cursor: pointer; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card-bg); }
.tripo-gallery-picker__cancel { padding: 8px 12px; }
.tripo-gallery-picker__item { padding: 0; overflow: hidden; text-align: left; }
.tripo-gallery-picker__cancel:hover,
.tripo-gallery-picker__item:hover { background: var(--ui-hover); }
.tripo-gallery-picker__cancel:focus-visible,
.tripo-gallery-picker__item:focus-visible { outline: 3px solid var(--ui-focus-ring); outline-offset: 2px; background: var(--ui-active); }
.tripo-gallery-picker__preview { position: relative; display: grid; place-items: center; aspect-ratio: 1; background: var(--ui-card-media-bg); color: var(--ui-text-2); }
.tripo-gallery-picker__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.tripo-gallery-picker__label { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; padding: 10px; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.tripo-gallery-picker__empty { grid-column: 1 / -1; padding: 24px 8px; margin: 0; color: var(--ui-text-2); line-height: 1.5; }
html.no-borders .tripo-gallery-picker,
html.no-borders .tripo-gallery-picker__cancel,
html.no-borders .tripo-gallery-picker__item { border-color: transparent; }
