.fl-source-grid{display:grid;gap:20px;margin-block-start:20px}
.fl-source-figure{display:grid;align-content:start;gap:16px;margin:0;padding:16px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-alt)}
.fl-source-figure>a:first-child{display:block;justify-self:center;inline-size:100%;max-inline-size:480px;border-radius:var(--r-control);background:var(--illustration-mat)}
.fl-source-figure picture{display:block}
.fl-source-figure img{display:block;inline-size:100%;block-size:auto;max-inline-size:480px;border-radius:var(--r-control)}
.fl-source-figure figcaption{font-size:1rem;line-height:1.65;color:var(--text)}
.fl-source-original{display:inline-flex;align-items:center;gap:8px;justify-self:start;min-block-size:44px;font-weight:800}
.fl-source-original svg{inline-size:20px;block-size:20px;flex-shrink:0}
.fl-sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.fl-viewer{position:fixed;inset:0;box-sizing:border-box;inline-size:calc(100% - 16px);max-inline-size:90rem;block-size:94dvh;max-block-size:94dvh;margin:auto;padding:0;border:1px solid var(--control-border);border-radius:var(--r-panel);background:var(--surface);color:var(--text);overflow:hidden}
.fl-viewer:not([open]){display:none}
.fl-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.fl-viewer::backdrop{background:var(--overlay-bg)}
.fl-viewer__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 16px;border-block-end:1px solid var(--border)}
.fl-review .fl-viewer__head h3{margin:0;font-size:1.125rem;line-height:1.35;text-wrap:wrap}
.fl-viewer__head p{margin:4px 0 0;font-size:.875rem;line-height:1.4;color:var(--text-dim)}
.fl-viewer button{box-sizing:border-box;min-inline-size:44px;min-block-size:44px;max-inline-size:100%;padding:8px 12px;border:1px solid var(--control-border);border-radius:var(--r-control);background:var(--surface-alt);color:var(--text);font:inherit;font-size:1rem;font-weight:800;line-height:1.35;cursor:pointer;white-space:normal}
.fl-viewer button:hover{background:var(--brand-soft)}
.fl-viewer button:focus-visible,.fl-viewer__pan:focus-visible{outline:3px solid var(--brand);outline-offset:-4px}
.fl-viewer__pan{min-inline-size:0;min-block-size:0;block-size:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:auto;scrollbar-color:var(--brand) var(--surface-alt);background:var(--surface-alt)}
.fl-viewer[data-original="true"] .fl-viewer__pan{display:block}
.fl-viewer[data-original="true"] .fl-viewer__pan img{display:block;inline-size:auto;block-size:auto;max-inline-size:none;max-block-size:none;margin:0}
.fl-viewer[data-original="false"] .fl-viewer__pan{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center}
.fl-viewer[data-original="false"] .fl-viewer__pan img{display:block;inline-size:auto;block-size:auto;max-inline-size:100%;max-block-size:100%;object-fit:contain;margin:0}
.fl-viewer__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 16px;border-block-start:1px solid var(--border)}
.fl-viewer__controls [data-fl-fit]{grid-column:1/-1}
@container fl-review (min-width:42em){.fl-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.fl-viewer__head{display:flex;flex-wrap:wrap;gap:8px 12px}
.fl-viewer__head>div{flex:1 1 12em;min-inline-size:0}
.fl-viewer__head>[data-fl-close]{flex:0 0 auto}
