/* Modal overlay */ .modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center; z-index: 10; } .modal.hidden { display: none; } .modal-content { background: white; padding: 2rem; border-radius: 0.5rem; text-align: center; width: 80%; max-width: 400px; } .progress-bar { width: 100%; height: 1rem; background: #eee; border-radius: 0.5rem; overflow: hidden; margin-top: 0.5rem; } .progress-fill { width: 0%; height: 100%; background: #4CAF50; transition: width 0.1s ease; } /* Main UI */ body { font-family: sans-serif; background: #f5f5f5; margin: 0; padding: 2rem; display: flex; justify-content: center; } .container { width: 100%; max-width: 600px; background: white; padding: 2rem; border-radius: 0.5rem; box-shadow: 0 4px 12px rgba(0,0,0,0.1); } h1 { margin-top: 0; text-align: center; } textarea { width: 100%; padding: 0.75rem; font-size: 1rem; border: 1px solid #ccc; border-radius: 0.25rem; resize: vertical; } button { margin-top: 1rem; width: 100%; padding: 0.75rem; font-size: 1rem; border: none; border-radius: 0.25rem; background: #4CAF50; color: white; cursor: pointer; } button:disabled { background: #aaa; cursor: not-allowed; } .loading-text { margin-top: 1rem; font-style: italic; min-height: 1.2em; } .hidden { display: none; } pre { margin-top: 1rem; padding: 1rem; background: #fafafa; border: 1px solid #ddd; border-radius: 0.25rem; white-space: pre-wrap; }