/* Prism 배포 파일은 유지하고 코드 프레임과 복사 도구의 배치만 담당합니다. */
.demo-code-frame { position: relative; min-width: 0; max-width: 100%; margin: 8px 0; }
.demo-code-frame > pre { margin: 0; padding: 42px 16px 16px; border-radius: 4px; background: #2d2d2d; color: #ccc; }
.demo-code-tools { position: absolute; top: 6px; right: 8px; z-index: 1; display: flex; align-items: center; gap: 8px; }
.demo-code-tools .demo-code-copy { margin: 0; padding: 2px 10px; border: 1px solid #777; border-radius: 3px; background: #383838; color: #fff !important; cursor: pointer; }
.demo-code-tools .demo-code-copy:hover { background: #505050; }
.demo-code-feedback { color: #ddd; font: 14px/1.5 "Segoe UI", sans-serif; }
.demo-source-actions { display: inline-flex; gap: 8px; margin-left: 12px; vertical-align: middle; }
.demo-source-dialog { width: min(1100px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); padding: 16px; box-sizing: border-box; border: 1px solid #777; background: #fff; color: #333; }
.demo-source-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.demo-source-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.demo-source-dialog .demo-code-frame > pre { max-height: 65vh; }
.demo-source-dialog .demo-source-status { overflow-wrap: anywhere; }
.demo-source-dialog button { cursor: pointer; }
@media (max-width: 640px) {
    .demo-source-actions { margin-left: 0; }
    .demo-source-dialog { padding: 12px; }
    .demo-code-feedback { max-width: 180px; }
}
