/* Modern dark theme for programmers - inspired by Apple and Google design */ :root { --primary-color: #4285f4; --primary-light: #80b1ff; --primary-dark: #0d5bdd; --secondary-color: #34a853; --secondary-light: #5cd889; --secondary-dark: #1e8e3e; --accent-color: #fbbc05; --text-color: #e0e0e0; --text-light: #9e9e9e; --background-color: #1e1e1e; --card-color: #2d2d2d; --card-hover: #383838; --input-bg: #3c3c3c; --error-color: #ea4335; --success-color: #34a853; --border-radius: 8px; --box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2), 0 1px 3px rgba(0, 0, 0, 0.1); --transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); --font-mono: 'SF Mono', 'Consolas', 'Monaco', monospace; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; line-height: 1.6; margin: 0; padding: 20px; background-color: var(--background-color); color: var(--text-color); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .container { max-width: 1000px; margin: 0 auto; background-color: var(--card-color); padding: 30px; border-radius: var(--border-radius); box-shadow: var(--box-shadow); transition: var(--transition); } h1 { color: var(--text-color); text-align: center; margin-bottom: 30px; font-weight: 500; letter-spacing: 0.5px; } .form-group { margin-bottom: 24px; } label { display: block; margin-bottom: 10px; font-weight: 500; color: var(--text-color); font-size: 15px; } input[type="text"] { width: 100%; padding: 12px 16px; background-color: var(--input-bg); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: var(--border-radius); box-sizing: border-box; transition: var(--transition); color: var(--text-color); font-size: 15px; } input[type="text"]:focus { border-color: var(--primary-color); outline: none; box-shadow: 0 0 0 2px rgba(66, 133, 244, 0.3); } .checkbox-group { margin: 24px 0; display: flex; align-items: center; } input[type="checkbox"] { margin-right: 10px; width: 20px; height: 20px; accent-color: var(--primary-color); cursor: pointer; } button { background-color: var(--primary-color); color: white; border: none; padding: 12px 24px; border-radius: var(--border-radius); cursor: pointer; font-size: 16px; font-weight: 500; transition: var(--transition); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); letter-spacing: 0.3px; } button:hover { background-color: var(--primary-dark); box-shadow: 0 6px 10px rgba(0, 0, 0, 0.25); transform: translateY(-2px); } button:active { transform: translateY(1px); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } button:disabled { background-color: #555555; color: #888888; cursor: not-allowed; box-shadow: none; transform: none; } #results { margin-top: 40px; } .result-item { margin-bottom: 20px; padding: 20px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: var(--border-radius); background-color: var(--card-color); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); transition: var(--transition); } .result-item:hover { background-color: var(--card-hover); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); transform: translateY(-2px); } .file-path { font-weight: 500; margin-bottom: 16px; word-break: break-all; display: flex; justify-content: space-between; align-items: center; color: var(--primary-light); font-size: 15px; } .open-dir-button { background-color: var(--secondary-color); color: white; border: none; padding: 8px 16px; border-radius: var(--border-radius); cursor: pointer; font-size: 14px; margin-left: 12px; transition: var(--transition); } .open-dir-button:hover { background-color: var(--secondary-dark); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); transform: translateY(-1px); } .folder-select-button { background-color: var(--secondary-color); color: white; border: none; padding: 12px 16px; border-radius: var(--border-radius); cursor: pointer; font-size: 14px; margin-left: 12px; transition: var(--transition); white-space: nowrap; } .folder-select-button:hover { background-color: var(--secondary-dark); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); transform: translateY(-1px); } .match-line { font-family: var(--font-mono); background-color: rgba(66, 133, 244, 0.1); padding: 12px 16px; border-left: 3px solid var(--primary-color); margin: 8px 0; border-radius: 0 4px 4px 0; overflow-x: auto; color: var(--text-color); font-size: 14px; } .line-number { color: var(--accent-color); margin-right: 16px; font-weight: 500; user-select: none; } .loading { text-align: center; margin: 40px 0; display: none; color: var(--primary-light); } .loading p { font-size: 16px; font-weight: 500; letter-spacing: 0.5px; } .error { color: var(--error-color); padding: 16px; background-color: rgba(234, 67, 53, 0.15); border-radius: var(--border-radius); margin-bottom: 24px; font-weight: 500; border-left: 4px solid var(--error-color); } .search-history { margin-top: 40px; border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 24px; } .search-history h3 { color: var(--text-color); margin-bottom: 16px; font-weight: 500; letter-spacing: 0.5px; } .history-item { padding: 14px 16px; margin-bottom: 8px; background-color: var(--card-color); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: var(--border-radius); cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: var(--transition); } .history-item:hover { background-color: var(--card-hover); transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); } .history-item strong { color: var(--primary-light); } .history-item small { color: var(--text-light); margin-left: 10px; font-size: 13px; } .history-delete { color: var(--error-color); cursor: pointer; font-weight: bold; margin-left: 12px; padding: 4px 10px; border-radius: 50%; transition: var(--transition); } .history-delete:hover { background-color: rgba(234, 67, 53, 0.2); } /* Custom scrollbar for webkit browsers */ ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-track { background: var(--background-color); border-radius: 4px; } ::-webkit-scrollbar-thumb { background: #555; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #777; }