:root { --primary: #6366F1; --primary-dark: #4F46E5; --background: #1A1A2E; --card-bg: #16213E; --text: #E6E6E6; --text-muted: #A0AEC0; --error: #F56565; --success: #48BB78; } body.dark-theme { background-color: var(--background); color: var(--text); min-height: 100vh; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 0; padding: 0; } .container { max-width: 1200px; margin: 0 auto; padding: 2rem; min-height: 100vh; display: flex; flex-direction: column; } header { margin-bottom: 2rem; text-align: center; } header h1 { color: var(--primary); font-size: 2.5rem; margin-bottom: 0.5rem; } header p { color: var(--text-muted); font-size: 1.1rem; } .card { background-color: var(--card-bg); border-radius: 0.5rem; padding: 1.5rem; margin-bottom: 1.5rem; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .form-card { border-left: 4px solid var(--primary); } .result-card { border-left: 4px solid var(--success); } .result-card.error { border-left-color: var(--error); } h2 { color: var(--primary); margin-top: 0; margin-bottom: 1rem; font-size: 1.5rem; } .form-group { margin-bottom: 1rem; } label { display: block; margin-bottom: 0.5rem; color: var(--text-muted); } select, input, textarea { width: 100%; padding: 0.75rem; border-radius: 0.25rem; border: 1px solid #2D3748; background-color: #2D3748; color: var(--text); margin-bottom: 0.5rem; } textarea { min-height: 150px; resize: vertical; } button { background-color: var(--primary); color: white; padding: 0.75rem 1.5rem; border: none; border-radius: 0.25rem; cursor: pointer; font-weight: bold; transition: background-color 0.2s; margin-top: 1rem; } button:hover { background-color: var(--primary-dark); } button:disabled { background-color: #4A5568; cursor: not-allowed; } .loader { display: flex; justify-content: center; gap: 0.5rem; margin: 1rem 0; } .loader span { display: inline-block; width: 1rem; height: 1rem; border-radius: 50%; background-color: var(--primary); animation: bounce 1.4s infinite ease-in-out both; } .loader span:nth-child(1) { animation-delay: -0.32s; } .loader span:nth-child(2) { animation-delay: -0.16s; } @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } } pre { background-color: #2D3748; padding: 1rem; border-radius: 0.25rem; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; } @media (max-width: 768px) { .container { padding: 1rem; } header h1 { font-size: 2rem; } }