:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#1d2925;background:#f3f6f4;line-height:1.45}
*{box-sizing:border-box}body{margin:0}header{background:#315c4d;color:white;padding:28px max(24px,calc((100% - 1100px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center}
h1{margin:0 0 5px;font-size:28px}header p{margin:0;opacity:.85}main{max-width:1100px;margin:24px auto;padding:0 20px 50px}
.panel{background:white;border:1px solid #dce5e0;border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 2px 8px #1c332b0a}
button{border:0;border-radius:9px;padding:11px 16px;background:#315c4d;color:white;font-weight:650;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#55786b}.ghost{background:#edf2ef;color:#294b40}
.button-row,.search-row{display:flex;gap:10px;flex-wrap:wrap}.muted{color:#65746e}.controls .muted{margin-top:12px}.badge{background:#ffffff22;border:1px solid #ffffff55;padding:7px 10px;border-radius:999px;font-size:13px;white-space:nowrap}
.search-row input{flex:1;min-width:260px;border:1px solid #cfdad5;border-radius:9px;padding:12px 14px;font-size:16px}.tip{font-size:13px;margin-top:9px}
.progress-wrap{margin-top:14px}.hidden{display:none}progress{width:100%;height:14px}.stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.stat{background:#edf3f0;padding:7px 10px;border-radius:8px;font-size:13px}
.results-head{display:flex;justify-content:space-between;align-items:center}.results{display:grid;gap:12px}.result{background:white;border:1px solid #dce5e0;border-radius:12px;padding:16px}.result-top{display:flex;justify-content:space-between;gap:12px}.filename{font-weight:750;font-size:17px;word-break:break-word}.score{font-size:12px;background:#e8f0ec;padding:5px 8px;border-radius:999px;height:max-content}.path{font-size:13px;color:#557066;margin:7px 0;word-break:break-all}.snippet{margin-top:10px;color:#34443e}.snippet mark{background:#ffe49a;padding:0 1px}.actions{margin-top:12px;display:flex;gap:8px}.actions button{padding:7px 10px;font-size:12px}.empty{padding:30px;text-align:center;color:#6b7b75;background:white;border:1px dashed #c8d4cf;border-radius:12px}.diagnostics{margin-top:20px}.errors{white-space:pre-wrap;margin-top:12px;max-height:260px;overflow:auto}
@media(max-width:650px){header{align-items:flex-start;flex-direction:column}.badge{white-space:normal}.search-row button{width:100%}}