:root { --bg-color: #ffffff; --text-color: #1a1a1a; --input-bg: #f0f0f0; --input-border: #ccc; --button-bg: #007bff; --button-hover: #0056b3; --wordlist-bg: #f9f9f9; --checkbox-accent: #007bff; } .dark { --bg-color: #171717; --text-color: #e0e0e0; --input-bg: #1f1f1f; --input-border: #333; --button-bg: #2e7d32; --button-hover: #388e3c; --wordlist-bg: #1f1f1f; --checkbox-accent: #4caf50; } body { font-family: 'Segoe UI', sans-serif; width: 400px; margin: 0; padding: 0; background: var(--bg-color); color: var(--text-color); transition: background 0.3s ease, color 0.3s ease; max-height: 600px; overflow: hidden; } .container { padding: 12px; height: 100%; display: flex; flex-direction: column; gap: 8px; } h1 { font-size: 1.5em; margin-bottom: 16px; color: var(--text-color); text-align: center; } .section { margin-bottom: 0; } .word-list-section { flex: 1; min-height: 200px; display: flex; flex-direction: column; gap: 8px; } input[type="text"], textarea, select { width: 100%; box-sizing: border-box; margin-top: 4px; margin-bottom: 6px; padding: 6px; border-radius: 6px; border: 1px solid var(--input-border); background-color: var(--input-bg); color: var(--text-color); transition: background 0.3s, color 0.3s, border-color 0.3s; } textarea { height: 60px; resize: vertical; background-color: var(--input-bg) !important; color: var(--text-color) !important; border: 1px solid var(--input-border) !important; } input[type="color"] { background-color: transparent; border: none; cursor: pointer; width: 36px; height: 36px; } input[type="checkbox"] { -webkit-appearance: none; appearance: none; accent-color: var(--checkbox-accent); background-color: var(--input-bg); border: 1px solid var(--input-border); border-radius: 4px; width: 16px; height: 16px; transform: scale(1.2); cursor: pointer; } input[type="checkbox"]:checked::after { content: ""; position: absolute; top: 2px; left: 5px; width: 4px; height: 9px; border: solid var(--checkbox-accent); border-width: 0 2px 2px 0; transform: rotate(45deg); } button { margin: 2px; padding: 6px 10px; font-size: 0.85em; border: none; border-radius: 6px; background-color: var(--button-bg); color: white; cursor: pointer; transition: background-color 0.2s ease; } button:hover { background-color: var(--button-hover); } #wordList { position: relative; overflow-y: auto; overflow-x: hidden; flex: 1; background: var(--wordlist-bg); border-radius: 6px; padding: 4px; min-height: 200px; } #wordList>div { display: flex; align-items: center; margin-bottom: 4px; gap: 4px; background: var(--wordlist-bg); padding: 4px; border-radius: 6px; will-change: transform; flex-wrap: nowrap; position: absolute; left: 4px; right: 4px; } #wordList input[type="text"] { flex: 1; min-width: 0; background-color: var(--input-bg) !important; color: var(--text-color) !important; border: 1px solid var(--input-border) !important; } #wordList input[type="color"] { width: 24px; height: 24px; padding: 0; border-radius: 4px; flex-shrink: 0; } #wordList input[type="checkbox"] { flex-shrink: 0; } #wordList label { flex-shrink: 0; white-space: nowrap; margin: 0; } input[type="file"] { display: none; }