.add-words { padding-left: 1rem; padding-right: 1rem; } @media (min-width: 768px) { .add-words { padding-left: 1.5rem; padding-right: 1.5rem; } } .add-words h2 { margin-top: 2rem; margin-bottom: 1rem; color: #2c3e50; font-size: 2rem; } .description { margin-bottom: 1.5rem; color: #666; font-size: 0.95rem; } .markdown-input { width: 100%; padding: 1rem; border: 2px solid #ddd; border-radius: 4px; font-family: 'Courier New', monospace; font-size: 0.9rem; resize: vertical; margin-bottom: 1rem; transition: border-color 0.2s; } .markdown-input:focus { outline: none; border-color: #3498db; } .tabs-container { display: flex; gap: 0.5rem; margin-bottom: 1.5rem; border-bottom: 2px solid #e0e0e0; } .tab-button { background: none; border: none; padding: 0.75rem 1.5rem; font-size: 1rem; color: #666; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: color 0.2s, border-color 0.2s; } .tab-button:hover { color: #3498db; } .tab-button.active { color: #3498db; border-bottom-color: #3498db; font-weight: 600; } .tab-content { margin-bottom: 1rem; } .word-pairs-list { display: flex; flex-direction: column; gap: 0.75rem; } .word-pair-item { display: flex; flex-direction: row; gap: 0.75rem; width: 100%; box-sizing: border-box; } .word-input, .translation-input { flex: 1; min-width: 0; padding: 0.75rem; border: 2px solid #ddd; border-radius: 4px; font-size: 1rem; transition: border-color 0.2s; box-sizing: border-box; } .word-input:focus, .translation-input:focus { outline: none; border-color: #3498db; } .remove-pair-button { background: transparent; border: none; border-radius: 6px; color: #9ca3af; cursor: pointer; width: 2rem; min-width: 2rem; padding: 0; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; box-sizing: border-box; flex-shrink: 0; align-self: stretch; } .remove-pair-button svg { display: block; margin: 0; vertical-align: middle; } .remove-pair-button:hover { background-color: rgba(239, 68, 68, 0.1); color: #ef4444; } .remove-pair-button:active { background-color: rgba(239, 68, 68, 0.2); transform: scale(0.95); } .add-pair-button { width: 100%; padding: 0.75rem; background-color: #f8f9fa; border: 2px dashed #ddd; border-radius: 4px; font-size: 1.5rem; line-height: 1; color: #666; cursor: pointer; transition: background-color 0.2s, border-color 0.2s, color 0.2s; display: flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: calc(0.75rem * 2 + 1rem + 4px); } .add-pair-button:hover { background-color: #e9ecef; border-color: #3498db; color: #3498db; } .submit-button { width: 100%; background-color: #3498db; color: white; border: none; padding: 0.75rem 2rem; border-radius: 8px; font-size: 1rem; cursor: pointer; transition: background-color 0.2s; margin-bottom: 1rem; } .submit-button:hover:not(:disabled) { background-color: #2980b9; } .submit-button:disabled { background-color: #bdc3c7; cursor: not-allowed; } .message { margin-top: 1rem; padding: 1rem; border-radius: 4px; font-weight: 500; } .message.success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; } .message.error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } .close-x-button { position: fixed; top: 1rem; right: 1rem; background: rgba(255, 255, 255, 0.9); border: none; font-size: 1.5rem; color: #7f8c8d; cursor: pointer; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: background-color 0.2s, color 0.2s; z-index: 1600; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); } .close-x-button:hover { background-color: #ffffff; color: #2c3e50; }