/* * SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* RTX Remix Dialog Styles */ /* Overlay */ .rtx-remix-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--overlay-light); display: flex; align-items: center; justify-content: center; z-index: 10000; backdrop-filter: blur(4px); animation: rtx-fadeIn 0.2s ease-out; } /* Dialog Container */ .rtx-remix-dialog { background: var(--bg-base); border-radius: 12px; padding: 0; min-width: 500px; max-width: 900px; max-height: 95vh; display: flex; flex-direction: column; box-shadow: 0 8px 32px var(--shadow-base); color: var(--text-secondary); animation: rtx-slideIn 0.2s ease-out; } /* Header */ .rtx-remix-dialog-header { background: linear-gradient(135deg, var(--bg-darker) 0%, var(--bg-base) 100%); padding: 20px 24px; border-bottom: 2px solid var(--remix-color); border-radius: 12px 12px 0 0; display: flex; align-items: center; gap: 12px; } .rtx-remix-dialog-icon { width: 28px; height: 28px; } .rtx-remix-dialog-title { margin: 0; font-size: 18px; font-weight: 600; color: var(--text-primary); } /* Body */ .rtx-remix-dialog-body { padding: 24px; overflow-y: auto; flex: 1; } .rtx-remix-dialog-body code, .rtx-remix-info-content code { background: var(--bg-darker); color: var(--remix-color); padding: 3px 8px; border-radius: 4px; font-family: "Consolas", "Monaco", "Courier New", monospace; font-size: 0.95em; font-weight: 500; border: 1px solid var(--border-base); box-shadow: 0 1px 3px var(--shadow-light); } .rtx-remix-dialog-body pre, .rtx-remix-info-content pre { background: var(--bg-darker); color: var(--remix-color); padding: 12px 16px; border-radius: 6px; font-family: "Consolas", "Monaco", "Courier New", monospace; font-size: 0.95em; font-weight: 500; overflow-x: auto; border: 1px solid var(--border-base); border-left: 3px solid var(--remix-color); box-shadow: 0 2px 4px var(--shadow-light); } .rtx-remix-section-title { margin: 0 0 12px 0; font-size: 15px; font-weight: 600; color: var(--text-primary); } .rtx-remix-input-container { position: relative; margin-bottom: 12px; } .rtx-remix-input { width: 100%; padding: 12px 16px; background: var(--bg-darker); border: 2px solid var(--border-base); border-radius: 6px; color: var(--text-primary); font-size: 15px; box-sizing: border-box; outline: none; transition: all 0.2s ease; } .rtx-remix-input:focus { border-color: var(--remix-color); box-shadow: 0 0 0 3px var(--remix-color-shadow); } .rtx-remix-input:disabled { opacity: 0.5; cursor: not-allowed; } .rtx-remix-input.error { border-color: var(--status-error); } .rtx-remix-validation-msg { margin-top: 8px; font-size: 13px; min-height: 18px; color: var(--status-error); display: none; } .rtx-remix-validation-msg.show { display: block; } .rtx-remix-info-msg { margin-top: 8px; font-size: 12px; color: var(--text-subtle); font-style: italic; } .rtx-remix-info-msg.loading { color: var(--remix-color); } /* Footer */ .rtx-remix-dialog-footer { padding: 16px 24px; background: var(--bg-darker); border-radius: 0 0 12px 12px; display: flex; justify-content: flex-end; gap: 12px; border-top: 1px solid var(--border-base); } /* Spinner */ .rtx-remix-spinner { display: inline-flex; align-items: center; gap: 8px; } .rtx-remix-spinner-icon { display: inline-block; width: 14px; height: 14px; border: 2px solid var(--shadow-light); border-top-color: var(--text-black); border-radius: 50%; animation: rtx-spin 0.6s linear infinite; } /* Confirmation Dialog */ .rtx-remix-confirm-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--overlay-dark); display: flex; align-items: center; justify-content: center; z-index: 10001; animation: rtx-fadeIn 0.15s ease-out; } .rtx-remix-confirm-dialog { background: var(--bg-base); border-radius: 8px; padding: 24px; max-width: 400px; box-shadow: 0 8px 32px var(--shadow-base); animation: rtx-slideIn 0.15s ease-out; color: var(--text-secondary); } .rtx-remix-confirm-title { margin: 0 0 16px 0; color: var(--text-primary); font-size: 16px; font-weight: 600; } .rtx-remix-confirm-message { margin: 0 0 20px 0; color: var(--text-muted); font-size: 14px; line-height: 1.5; } .rtx-remix-confirm-filename { color: var(--remix-color); font-weight: 500; } .rtx-remix-confirm-actions { display: flex; gap: 12px; justify-content: flex-end; } /* Info Dialog */ .rtx-remix-info-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--overlay-light); display: flex; align-items: center; justify-content: center; z-index: 10001; animation: rtx-fadeIn 0.15s ease-out; } .rtx-remix-info-dialog { background: var(--bg-base); border-radius: 8px; padding: 24px; max-width: 600px; box-shadow: 0 8px 32px var(--shadow-base); animation: rtx-slideIn 0.15s ease-out; color: var(--text-secondary); } .rtx-remix-info-title { margin: 0 0 16px 0; color: var(--text-primary); font-size: 18px; font-weight: 600; } .rtx-remix-info-content { margin: 0 0 20px 0; color: var(--text-muted); font-size: 14px; line-height: 1.6; } .rtx-remix-info-content p { margin: 0 0 12px 0; } .rtx-remix-info-content p:last-child { margin-bottom: 0; } .rtx-remix-info-content ol, .rtx-remix-info-content ul { margin: 8px 0 12px 0; padding-left: 24px; } .rtx-remix-info-content li { margin-bottom: 8px; } .rtx-remix-info-content a { color: var(--accent-link); text-decoration: none; transition: color 0.2s ease; } .rtx-remix-info-content a:hover { color: var(--remix-color); text-decoration: underline; } .rtx-remix-info-content strong { color: var(--text-primary); font-weight: 600; } .rtx-remix-info-content em { color: var(--text-disabled); } .rtx-remix-info-actions { display: flex; gap: 12px; justify-content: flex-end; }