*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333;line-height:1.5}#loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#1a1a2e;color:#fff}.loading-content{text-align:center;max-width:500px;padding:2rem}.loading-content h1{font-size:2rem;margin-bottom:1rem}#loading-status{margin-bottom:1rem;color:#aaa}.progress-bar-container{background:#333;border-radius:8px;overflow:hidden;height:24px;margin-bottom:.5rem}.progress-bar{height:100%;background:linear-gradient(90deg,#4a90d9,#67b8f7);transition:width .3s ease;border-radius:8px}#progress-text{font-size:.875rem;color:#888}header{background:#1a1a2e;color:#fff;padding:1rem 2rem;position:sticky;top:0;z-index:100}header h1{font-size:1.25rem;margin-bottom:.5rem}.search-container{display:flex;align-items:center;gap:1rem}#search-input{flex:1;padding:.5rem 1rem;border:none;border-radius:6px;font-size:1rem;background:#2a2a4a;color:#fff;outline:none;max-width:600px}#search-input::placeholder{color:#888}#search-input:focus{box-shadow:0 0 0 2px #4a90d9}#result-count,#query-time{font-size:.85rem;color:#aaa;white-space:nowrap}.content{display:flex;max-width:1400px;margin:0 auto;padding:1rem;gap:1rem}aside{width:260px;flex-shrink:0;background:#fff;border-radius:8px;padding:1rem;height:fit-content;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto}aside h3{margin-bottom:1rem;font-size:1.1rem}.filter-group{margin-bottom:1rem;border-bottom:1px solid #eee;padding-bottom:.75rem}.filter-group h4{font-size:.85rem;text-transform:uppercase;color:#666;margin-bottom:.5rem}.filter-checkbox{display:block;padding:2px 0;font-size:.9rem;cursor:pointer}.filter-checkbox input{margin-right:6px}.year-range{display:flex;align-items:center;gap:.5rem}.year-range input{width:80px;padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}#reset-filters{width:100%;padding:.5rem;background:#eee;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}#reset-filters:hover{background:#ddd}main{flex:1;min-width:0}#catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.card{background:#fff;border-radius:8px;padding:1rem;transition:box-shadow .2s}.card:hover{box-shadow:0 4px 12px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.card-type{font-size:.75rem;text-transform:uppercase;color:#4a90d9;font-weight:600}.card-rating{font-size:.85rem;font-weight:600;color:#f5a623}.card-title{font-size:1rem;margin-bottom:.25rem}.card-subtitle{font-size:.85rem;color:#888;margin-bottom:.25rem}.card-alt-name{font-size:.8rem;color:#aaa;font-style:italic;margin-bottom:.25rem}.card-description{font-size:.85rem;color:#555;margin-bottom:.5rem;line-height:1.4}.card-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:#888}.card-meta span{background:#f0f0f0;padding:2px 8px;border-radius:4px}.age-badge{background:#f44!important;color:#fff!important}.card-actions{margin-top:.5rem;display:flex;gap:.5rem}.btn-similar{padding:4px 12px;background:#e8f0fe;color:#4a90d9;border:1px solid #4a90d9;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500}.btn-similar:hover{background:#4a90d9;color:#fff}.distance-badge{background:#e8f0fe!important;color:#4a90d9!important;font-weight:600}#similar-banner{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#e8f0fe;border-radius:8px;margin-bottom:1rem}.similar-text{flex:1;font-size:.9rem;font-weight:500;color:#333}#exit-similar{padding:6px 16px;background:#4a90d9;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}#exit-similar:hover{background:#3a7bc8}.no-results{text-align:center;padding:3rem;color:#888;font-size:1.1rem}#pagination{display:flex;justify-content:center;align-items:center;gap:4px;padding:1.5rem 0;flex-wrap:wrap}#pagination button{padding:6px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:.9rem}#pagination button:hover{background:#f0f0f0}#pagination button.active{background:#4a90d9;color:#fff;border-color:#4a90d9}.pagination-dots{padding:6px 4px;color:#888}@media(max-width:768px){.content{flex-direction:column}aside{width:100%;position:static;max-height:none}#catalog{grid-template-columns:1fr}}
