Files
chrmc40 8e3dceae99 ComfyUI-PromptChain
A prompt-authoring and image-iteration suite for ComfyUI.
2026-06-17 19:35:25 -07:00

70 lines
2.6 KiB
CSS

/* Shared modal styles — imported by sidebar modals that portal to document.body.
These must be global (not scoped) since portaled elements live outside component DOM. */
.pcr-modal-backdrop {
position: fixed; top: 0; left: 0; right: 0; bottom: 0;
background: rgba(0, 0, 0, 0.6);
display: flex; align-items: center; justify-content: center;
z-index: 10001;
}
.pcr-modal {
background: #262626;
border: 1px solid #3a3a3a;
border-radius: 8px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
min-width: 320px; max-width: 480px;
}
.pcr-modal-header {
display: flex; align-items: center; justify-content: space-between;
padding: 16px 20px;
border-bottom: 1px solid #3a3a3a;
}
.pcr-modal-title { font-size: 16px; font-weight: 600; color: #fff; }
.pcr-modal-close {
display: flex; align-items: center; justify-content: center;
width: 28px; height: 28px; padding: 0;
background: transparent; border: none; border-radius: 4px;
color: #888; cursor: pointer;
}
.pcr-modal-close:hover { background: rgba(255, 255, 255, 0.1); color: #fff; }
.pcr-modal-close svg { width: 16px; height: 16px; }
.pcr-modal-body { padding: 20px; }
.pcr-modal-footer {
display: flex; justify-content: flex-end; gap: 10px;
padding: 16px 20px; border-top: 1px solid #3a3a3a;
}
.pcr-modal-btn {
padding: 8px 16px; border: none; border-radius: 6px;
font-size: 14px; font-weight: 500; cursor: pointer; outline: none;
}
.pcr-modal-btn:focus-visible {
outline: 2px solid var(--comfy-primary, #5dcaff);
outline-offset: 2px;
}
.pcr-modal-btn-secondary { background: #3a3a3a; color: #ccc; }
.pcr-modal-btn-secondary:hover { background: #4a4a4a; }
.pcr-modal-btn-primary { background: #973f00; color: #fff; }
.pcr-modal-btn-primary:hover, .pcr-modal-btn-primary:focus { background: #c85909; }
.pcr-modal-btn-danger { background: #8b2020; color: #fff; }
.pcr-modal-btn-danger:hover, .pcr-modal-btn-danger:focus { background: #b42a2a; }
/* Sectioned-card chrome for the upscale + inpaint options panels — each logical
group (Engine / Mode / Prompt / Settings / …) sits in a titled card, so the
two modals read identically. Global (the modals portal to body). */
.pcr-mcard {
background: #1e1e1e;
border: 1px solid #333;
border-radius: 8px;
padding: 11px 13px;
margin-bottom: 12px;
display: flex; flex-direction: column; gap: 9px;
}
.pcr-mcard:last-child { margin-bottom: 0; }
/* card children stack on the card's gap — kill the section margins that were
tuned for the old flat layout so they don't double up. */
.pcr-mcard > * { margin-top: 0 !important; }
.pcr-mcard-title {
font-size: 10.5px; font-weight: 700; letter-spacing: 0.7px;
text-transform: uppercase; color: #7c7c7c;
}