*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f8f9fa;color:#1a1a2e;line-height:1.6}.app{max-width:960px;margin:0 auto;padding:2rem 1rem}.header{text-align:center;margin-bottom:2rem}.header h1{font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.subtitle{color:#666;font-size:.9rem}.subtitle a{color:#4361ee;text-decoration:none}.subtitle a:hover{text-decoration:underline}.loading{text-align:center;padding:3rem 0}.loading-steps{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.step{font-size:.85rem;color:#aaa;font-weight:500;padding:.25rem .75rem;border-radius:20px;border:1px solid #e0e0e0;transition:all .3s}.step.active{color:#4361ee;border-color:#4361ee;background:#eef}.step.done{color:#22c55e;border-color:#22c55e;background:#f0fdf4}.step-arrow{color:#ccc;font-size:1rem}.loading-status{font-size:1rem;color:#555;margin-bottom:1rem}.progress-bar{width:100%;max-width:400px;height:8px;background:#e0e0e0;border-radius:4px;margin:0 auto;overflow:hidden}.progress-fill{height:100%;background:#4361ee;border-radius:4px;transition:width .3s ease}.progress-label{font-size:.85rem;color:#888;margin-top:.5rem}.error-box{background:#fee;border:1px solid #fcc;border-radius:8px;padding:1rem;color:#c00;text-align:center}.search-form{display:flex;gap:.5rem;margin-bottom:.75rem}.search-input{flex:1;padding:.75rem 1rem;font-size:1rem;border:2px solid #ddd;border-radius:8px;outline:none;transition:border-color .2s}.search-input:focus{border-color:#4361ee;box-shadow:0 0 0 3px #4361ee26}.search-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;background:#4361ee;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s;white-space:nowrap}.search-button:hover:not(:disabled){background:#3451d1}.search-button:disabled{opacity:.5;cursor:not-allowed}.query-chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:1.5rem}.chips-label{font-size:.8rem;color:#888;margin-right:.25rem}.chip{font-size:.8rem;padding:.3rem .7rem;background:#fff;border:1px solid #ddd;border-radius:20px;cursor:pointer;color:#555;transition:all .15s}.chip:hover:not(:disabled){border-color:#4361ee;color:#4361ee;background:#f8f9ff}.chip:disabled{opacity:.5;cursor:not-allowed}.stats{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e8e8e8}.stat{display:flex;flex-direction:column;align-items:center;min-width:80px}.stat-value{font-size:1.2rem;font-weight:700;color:#4361ee}.stat-label{font-size:.75rem;color:#888;text-align:center}.bit-selector{display:flex;gap:2px;background:#f0f0f0;border-radius:6px;padding:2px}.bit-btn{font-size:.85rem;font-weight:600;padding:.2rem .6rem;border:none;border-radius:4px;cursor:pointer;background:transparent;color:#888;transition:all .15s}.bit-btn.active{background:#4361ee;color:#fff}.bit-btn:hover:not(.active){color:#4361ee}.memory-chart{margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e8e8e8}.memory-chart-title{font-size:.85rem;font-weight:600;color:#555;margin-bottom:.75rem}.memory-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.memory-label{font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.75rem;color:#666;width:48px;text-align:right;flex-shrink:0}.memory-bar-track{flex:1;height:14px;background:#f0f0f0;border-radius:3px;overflow:hidden}.memory-bar-fill{height:100%;background:#ccc;border-radius:3px;transition:width .3s ease}.memory-bar-fill.active{background:#4361ee}.memory-size{font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.72rem;color:#666;min-width:110px;flex-shrink:0}.memory-ratio{color:#999}.comparison-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.comparison-header h2{font-size:1rem;color:#555;font-weight:500}.timing{font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.8rem;color:#22c55e;background:#f0fdf4;padding:3px 8px;border-radius:4px}.overlap-bar{margin-bottom:1rem}.overlap-label{font-size:.8rem;color:#666;display:block;margin-bottom:.35rem}.overlap-track{height:6px;background:#e8e8e8;border-radius:3px;overflow:hidden}.overlap-fill{height:100%;background:#22c55e;border-radius:3px;transition:width .4s ease}.results-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:700px){.results-columns{grid-template-columns:1fr}}.result-column{min-width:0}.column-header{margin-bottom:.5rem}.column-header h3{font-size:.9rem;font-weight:600;color:#333}.column-subtitle{font-size:.75rem;color:#999}.result-column.quantized .column-header h3{color:#4361ee}.result-column.exact .column-header h3{color:#888}.results-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.result-item{display:flex;gap:.75rem;padding:.75rem;background:#fff;border-radius:8px;border:1px solid #e8e8e8;transition:border-color .2s}.result-item.matched{border-left:3px solid #22c55e}.result-rank{font-size:.8rem;font-weight:700;color:#bbb;min-width:24px;padding-top:1px}.result-content{flex:1;min-width:0}.result-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.15rem}.result-header h4{font-size:.85rem;font-weight:600}.result-score{font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.7rem;color:#4361ee;background:#eef;padding:1px 5px;border-radius:3px;white-space:nowrap;cursor:help}.result-content p{font-size:.8rem;color:#666;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
