.artifact-detail {
flex: 1;
min-height: 0;
display: flex;
flex-direction: column;
}
.artifact-detail-header {
padding: 12px 15px 8px;
}
.artifact-detail-title {
font-size: 14px;
font-weight: 600;
color: var(--gn-color-text-light);
}
.artifact-detail-filename {
margin-top: 3px;
font-size: 12px;
color: var(--gn-color-text-dark);
}
.artifact-actions {
display: flex;
flex-wrap: wrap;
gap: 4px;
padding: 0 15px 12px;
}
.artifact-preview {
flex: 1;
min-height: 0;
border-top: 2px solid var(--gn-border-color-muted);
background: var(--gn-color-black);
}
.artifact-frame,
.artifact-image,
.artifact-video {
width: 100%;
height: 100%;
border: 0;
display: block;
}
.artifact-image,
.artifact-video {
object-fit: contain;
}
/* The preview itself is the affordance: clicking the photo opens the same
modal as the expand button. */
.artifact-image.is-viewable {
cursor: zoom-in;
}
/* The native player keeps its own height; only the width is ours */
.artifact-audio {
width: 100%;
display: block;
}
.artifact-text {
height: 100%;
display: flex;
flex-direction: column;
overflow: auto;
background: var(--gn-color-black);
}
.artifact-text-note {
padding: 8px 14px;
border-top: 1px solid var(--gn-border-color-muted);
color: var(--gn-color-text-dark);
font-size: 12px;
}
.artifact-source {
height: 100%;
overflow: auto;
background: var(--gn-color-black);
}
.artifact-source-code,
.artifact-source-error {
margin: 0;
padding: 14px;
white-space: pre;
font-family: var(--gn-font-family-base);
font-size: 12px;
line-height: 1.6;
color: var(--gn-color-text-light);
}
.artifact-source-error {
color: var(--gn-color-error);
}
.artifact-source-state {
display: flex;
align-items: center;
gap: 8px;
padding: 14px;
color: var(--gn-color-text-dark);
font-size: 12px;
}
.artifact-no-preview {
height: 100%;
min-height: 220px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 8px;
color: var(--gn-color-text-dark);
font-size: 13px;
}
.artifact-no-preview i {
font-size: 28px;
}