.ch-shelf{grid-template-columns:repeat(auto-fill,minmax(min(212px,100%),1fr));gap:16px;display:grid}.ch-folder{border:1px solid var(--fab-v-hairline);background:var(--fab-v-surface-raised);text-align:start;border-radius:16px;flex-direction:column;gap:12px;padding:12px;transition:box-shadow .16s,border-color .16s;display:flex}.ch-folder:hover{border-color:var(--fab-v-ink-faint)}.ch-folder[data-derived=true]{background:var(--fab-v-surface-base);border-style:dashed}.ch-mosaic{aspect-ratio:4/3;background:var(--fab-v-surface-sunken);border-radius:8px;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:2px;display:grid;overflow:hidden}.ch-mosaic>*{background:var(--fab-v-surface-sunken);min-block-size:0;min-inline-size:0;position:relative;overflow:hidden}.ch-mosaic img,.ch-mosaic video{object-fit:cover;block-size:100%;inline-size:100%;display:block}.ch-mosaic[data-count="1"]{grid-template-rows:1fr;grid-template-columns:1fr}.ch-mosaic[data-count="2"]{grid-template-rows:1fr;grid-template-columns:1fr 1fr}.ch-mosaic[data-count="3"]{grid-template-rows:1fr 1fr;grid-template-columns:1.4fr 1fr}.ch-mosaic[data-count="3"]>:first-child{grid-row:1/-1}.ch-mosaic-empty{color:var(--fab-v-ink-muted);grid-area:1/1/-1/-1;place-items:center;display:grid}.ch-folder-name{color:var(--fab-v-ink-strong);font-size:13px;font-weight:600}.ch-item{position:relative}.ch-item[data-selected=true]{box-shadow:0 0 0 2px var(--fab-v-ink-strong);border-color:var(--fab-v-ink-strong)}.ch-item-media{background:var(--fab-v-surface-sunken);inline-size:100%;padding:0;display:block;position:relative}.ch-item-media img,.ch-item-media video{object-fit:cover;inline-size:100%;display:block}.ch-item-blank{aspect-ratio:9/16;color:var(--fab-v-ink-muted);place-items:center;display:grid}.ch-tick{border:1px solid var(--fab-v-hairline);block-size:24px;inline-size:24px;color:var(--fab-v-ink-muted);background:#ffffffe0;border-radius:999px;place-items:center;display:grid;position:absolute;inset-block-start:8px;inset-inline-start:8px}.ch-item[data-selected=true] .ch-tick{background:var(--fab-v-ink-strong);border-color:var(--fab-v-ink-strong);color:var(--fab-v-on-fill)}.ch-bar{z-index:20;border:1px solid var(--fab-v-hairline);background:var(--fab-v-surface-raised);box-shadow:var(--fab-v-elevation-3);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;inset-block-end:12px}.ch-composer{flex-direction:column;inline-size:min(560px,100vw);display:flex}.ch-composer-head{border-block-end:1px solid var(--fab-v-hairline);background:var(--fab-x-grad-soft);align-items:flex-start;gap:12px;padding:20px 24px 16px;display:flex}.ch-composer-body{flex-direction:column;gap:20px;padding:20px 24px;display:flex}.ch-composer-foot{border-block-start:1px solid var(--fab-v-hairline);background:var(--fab-v-surface-base);flex-direction:column;gap:12px;padding:16px 24px 20px;display:flex;position:sticky;inset-block-end:0}.ch-field{flex-direction:column;gap:8px;display:flex}.ch-prompt{border:1px solid var(--fab-v-hairline);background:var(--fab-v-surface-base);resize:vertical;border-radius:12px;min-block-size:132px;inline-size:100%;padding:12px 16px;font-size:13px;line-height:1.5}.ch-refstrip{gap:8px;padding-block-end:4px;display:flex;overflow-x:auto}.ch-ref{border:1px solid var(--fab-v-hairline);background:var(--fab-v-surface-sunken);border-radius:12px;flex:none;inline-size:72px;position:relative;overflow:hidden}.ch-ref img,.ch-ref video{aspect-ratio:1;object-fit:cover;inline-size:100%;display:block}.ch-ref-blank{aspect-ratio:1;color:var(--fab-v-ink-muted);place-items:center;display:grid}.ch-ref-x{block-size:20px;inline-size:20px;color:var(--fab-x-on-grad);background:#18181899;border-radius:999px;place-items:center;display:grid;position:absolute;inset-block-start:2px;inset-inline-end:2px}.ch-cost{align-items:baseline;gap:8px;font-size:13px;display:flex}.ch-cost b{font-variant-numeric:tabular-nums;color:var(--fab-v-ink-strong)}.ch-slider{inline-size:100%;accent-color:var(--fab-v-ink-strong)}@media (max-width:720px){.ch-shelf{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr))}.ch-composer{inline-size:100vw}}
