body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.windowed-container{margin:0 auto;max-width:800px;padding:20px}.fullscreen-container{align-items:center;background-color:#000;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}.fullscreen-container img{max-height:100%;max-width:100%}.loading-fullscreen{align-items:center;background-color:#000;color:#fff;display:flex;font-size:2em;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}.filter-panel{border-radius:5px;margin-bottom:20px;padding:10px}.attribution-container{border:1px solid #ccc;border-radius:5px;padding:10px}.artwork-container{align-items:center;border:1px solid #ccc;border-radius:5px;display:flex;height:400px;justify-content:center;margin-bottom:20px;width:100%}.artwork-placeholder{color:#888;font-size:1.5em}.artwork-image{max-height:100%;max-width:100%}.error-state,.loading-state{align-items:center;background-color:#f8f9fa;color:#333;display:flex;flex-direction:column;height:100vh;justify-content:center}.error-state h2,.loading-state h2{font-size:2rem;font-weight:300;margin-bottom:1rem}.error-state p,.loading-state p{color:#666;font-size:1.1rem;margin-bottom:2rem}.error-state button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background-color .3s ease}.error-state button:hover{background-color:#45a049}.remote-container{color:#f3f4f6;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;height:100vh;overflow:hidden;position:relative}.remote-background{background-color:#0a0a0a;inset:0;position:fixed;z-index:0}.remote-background-image{animation:fadeIn .5s ease-out;filter:blur(20px);height:100%;object-fit:cover;opacity:.4;transform:scale(1.1);width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:.4}}.remote-content{display:flex;flex:1 1;flex-direction:column;gap:2rem;overflow-y:auto;padding:1.5rem 1.5rem 5rem;position:relative;z-index:1}.now-playing-card{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background-color:#0006;border:1px solid #ffffff1a;border-radius:1rem;box-shadow:0 20px 40px #0000004d;flex-shrink:0;overflow:hidden;transition:all .3s ease}.now-playing-card.minimized{border-radius:.75rem}.now-playing-card.transitioning{animation:cardCollapse .3s ease-out}@keyframes cardCollapse{0%{opacity:1;transform:scale(1)}to{opacity:.8;transform:scale(.98)}}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #9ca3af33;border-radius:50%;border-top-color:#9ca3af;flex-shrink:0;height:1.25rem;width:1.25rem}@keyframes spin{to{transform:rotate(1turn)}}.card-loading{animation:pulse 1.5s ease-in-out infinite}@keyframes cardExpand{0%{opacity:.8;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.now-playing-card:not(.minimized):not(.transitioning){animation:cardExpand .3s ease-out}.card-minimized{align-items:center;cursor:pointer;display:flex;gap:1rem;padding:.75rem 1rem;transition:background-color .2s}.card-minimized:hover{background-color:#ffffff1a}.minimized-thumbnail{border-radius:.375rem;flex-shrink:0;height:3rem;object-fit:cover;width:3rem}.minimized-info{flex:1 1;min-width:0}.minimized-title{color:#e5e7eb;font-size:.875rem;font-weight:600}.minimized-artist,.minimized-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.minimized-artist{color:#93c5fd;font-size:.75rem}.minimized-action{color:#9ca3af;flex-shrink:0;font-size:.875rem}.card-placeholder{color:#9ca3af;font-size:.875rem;padding:2rem;text-align:left}.image-container{background-color:#0009;height:12rem;overflow:hidden;position:relative;width:100%}.artwork-image{height:100%;object-fit:cover;opacity:.8;transition:opacity .5s;width:100%}.artwork-image:hover{opacity:1}.gradient-overlay{background:linear-gradient(0deg,#111827,#0000);inset:0;position:absolute}.card-text{bottom:1rem;left:1rem;position:absolute;right:1rem}.artwork-title{color:#fff;font-size:1.25rem;font-weight:700;line-height:1.25;margin:0;text-shadow:0 2px 4px #00000080}.artwork-artist{color:#93c5fd;font-size:.875rem;font-weight:500;margin-top:.25rem;text-shadow:0 1px 2px #00000080}.info-section{background-color:initial;border-bottom:1px solid #ffffff0d;cursor:pointer;padding:1rem;transition:background-color .2s}.info-section:hover{background-color:#ffffff0d}.info-section-static{cursor:default}.info-section-static:hover{background-color:initial}.info-section-title{align-items:center;color:#6b7280;display:flex;font-size:.75rem;font-weight:700;gap:.5rem;letter-spacing:.1em;margin:0 0 .75rem;text-transform:uppercase}.quick-filter-btn{background-color:#3b82f633;border:1px solid #3b82f666;border-radius:.375rem;color:#93c5fd;cursor:pointer;font-size:.625rem;font-weight:600;letter-spacing:normal;margin-left:auto;padding:.25rem .5rem;text-transform:none;transition:all .2s}.quick-filter-btn:hover{background-color:#3b82f64d;border-color:#3b82f699;color:#bfdbfe}.info-icon{font-size:.875rem}.info-arrow{color:#3b82f6;margin-left:auto;opacity:.7}.info-section:hover .info-arrow{opacity:1}.info-content{color:#e5e7eb}.artist-name-line{color:#93c5fd;font-size:1rem;font-weight:600;margin-bottom:.25rem}.artist-dates{color:#9ca3af;font-size:.875rem;margin-bottom:.25rem}.artist-nationality{color:#6b7280;font-size:.8rem;margin-bottom:.5rem}.artist-bio{color:#9ca3af;font-size:.8rem;line-height:1.4;margin-top:.5rem}.artist-biography{border-top:1px solid #37415180;color:#d1d5db;font-size:.85rem;line-height:1.5;margin-top:.75rem;padding-top:.75rem;text-align:left;text-indent:2em}.artist-influences,.artist-movements{margin-top:.75rem;padding-top:.5rem}.influences-label,.movements-label{color:#6b7280;display:block;font-size:.7rem;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.influences-tags,.movements-tags{display:flex;flex-wrap:wrap;gap:.375rem}.movement-tag{background-color:#7c3aed33;border:1px solid #7c3aed66;border-radius:9999px;color:#c4b5fd;cursor:pointer;font-size:.7rem;font-weight:500;padding:.25rem .625rem;transition:all .2s}.movement-tag:hover{background-color:#7c3aed66;border-color:#7c3aed99}.influence-tag{background-color:#22c55e26;border:1px solid #22c55e4d;border-radius:9999px;color:#86efac;cursor:pointer;font-size:.7rem;font-weight:500;padding:.25rem .625rem;transition:all .2s}.influence-tag:hover{background-color:#22c55e4d;border-color:#22c55e80}.detail-description{color:#d1d5db;font-size:.875rem;line-height:1.5;margin-bottom:.75rem;text-align:left;text-indent:2em}.detail-row{align-items:flex-start;border-bottom:1px solid #37415180;display:flex;font-size:.8rem;justify-content:space-between;padding:.375rem 0}.detail-row:last-of-type{border-bottom:none}.detail-label{color:#6b7280;flex-shrink:0;font-weight:500;margin-right:1rem}.detail-value{color:#d1d5db;text-align:right}.detail-source{color:#6b7280;font-size:.7rem;letter-spacing:.05em;margin-top:.75rem;text-transform:uppercase}.source-name{color:#3b82f6;font-weight:600}.gateways-container{background-color:initial;padding:1rem}.gateway-title{color:#6b7280;font-size:.625rem;font-weight:700;letter-spacing:.1em;margin-bottom:.75rem;text-transform:uppercase}.tags-wrapper{display:flex;flex-wrap:wrap;gap:.5rem}.tag-btn{border:1px solid;border-radius:9999px;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:background-color .2s}.tag-artist{background-color:#1e3a8a4d;border-color:#1e3a8a80;color:#93c5fd}.tag-concept{background-color:#37415180;border-color:#4b5563;color:#d1d5db}.tag-concept:hover{background-color:#4b5563}.section-title{color:#6b7280;font-size:.625rem;font-weight:700;letter-spacing:.1em;margin-bottom:1rem;padding-left:.25rem;text-align:left;text-transform:uppercase}.list-grid{display:flex;flex-direction:column;gap:.75rem}.list-item-btn{align-items:center;background-color:#1f293780;border:1px solid #37415180;border-radius:.75rem;color:inherit;cursor:pointer;display:flex;padding:1rem;text-align:left;transition:all .2s}.list-item-btn:hover{background-color:#1f2937;transform:scale(1.02)}.icon-circle{align-items:center;background-color:#374151;border-radius:9999px;color:#9ca3af;display:flex;font-size:.8rem;height:2rem;justify-content:center;margin-right:1rem;width:2rem}.list-item-btn:hover .icon-circle{background-color:#2563eb;color:#fff}.item-label{color:#e5e7eb;font-size:.875rem;font-weight:500}.item-sub{color:#6b7280;font-size:.65rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-section{border-top:1px solid #1f2937;padding-top:1rem}.input-group{display:flex;gap:.5rem}.debug-input{background-color:#111827;border:none;border-bottom:1px solid #374151;color:#fff;flex:1 1;font-size:.875rem;outline:none;padding:.5rem}.debug-input:focus{border-color:#3b82f6}.debug-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.search-section{margin-bottom:-1rem}.search-bar-container{align-items:center;display:flex;gap:.75rem}.search-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.active-filters-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:-1rem;padding:.75rem 0}.filter-chip{align-items:center;animation:slideIn .3s ease-out;background-color:#3b82f633;border:1px solid #3b82f666;border-radius:9999px;color:#bfdbfe;display:flex;font-size:.8rem;gap:.375rem;padding:.375rem .625rem}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.filter-chip-icon{font-size:.875rem;opacity:.8}.filter-chip-label{font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-chip-remove{align-items:center;background:#ef44444d;border:1px solid #ef444480;border-radius:50%;color:#fca5a5;cursor:pointer;display:flex;font-size:.75rem;height:1.25rem;justify-content:center;line-height:1;padding:0;transition:all .2s;width:1.25rem}.filter-chip-remove:hover{background:#ef444480;border-color:#ef4444b3;color:#fecaca;transform:scale(1.15)}.search-input-wrapper{align-items:center;display:flex;flex:1 1;position:relative}.search-input{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background-color:#0006;border:1px solid #ffffff1a;border-radius:.75rem;color:#fff;font-size:1rem;outline:none;padding:.875rem 2.5rem .875rem 1rem;transition:border-color .2s,box-shadow .2s,background-color .2s;width:100%}.search-input:focus{background-color:#00000080;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f626}.search-input::placeholder{color:#6b7280}.search-clear-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1rem;line-height:1;padding:.25rem;position:absolute;right:.75rem;transition:color .2s}.search-clear-btn:hover{color:#f3f4f6}.search-results-section{min-height:200px;position:relative}.search-loading-overlay{align-items:center;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background-color:#0006;border-radius:1rem;display:flex;flex-direction:column;gap:1rem;inset:0;justify-content:center;position:absolute;z-index:10}.search-loading-spinner{animation:spin .8s linear infinite;border:3px solid #9ca3af33;border-radius:50%;border-top-color:#3b82f6;height:3rem;width:3rem}.search-loading-text{color:#9ca3af;font-size:.875rem;font-weight:500}.search-results-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.search-result-item{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background-color:#0006;border:1px solid #ffffff1a;border-radius:.75rem;color:inherit;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;text-align:left;transition:all .2s}.search-result-item:hover{background-color:#0009;border-color:#3b82f680;box-shadow:0 8px 20px #0000004d;transform:scale(1.02)}.result-thumbnail-wrapper{aspect-ratio:1;background-color:#000c;overflow:hidden;position:relative;width:100%}.result-thumbnail{height:100%;object-fit:cover;transition:opacity .3s;width:100%}.result-thumbnail:hover{opacity:.9}.source-badge{border-radius:.25rem;font-size:.625rem;font-weight:700;letter-spacing:.05em;padding:.125rem .5rem;position:absolute;right:.5rem;text-transform:uppercase;top:.5rem}.source-met{background-color:#dc2626e6;color:#fff}.source-rijks{background-color:#ea580ce6;color:#fff}.source-aic{background-color:#16a34ae6;color:#fff}.source-getty{background-color:#7c3aede6;color:#fff}.source-yale{background-color:#065fd4e6;color:#fff}.source-cleveland{background-color:#8b4513e6;color:#fff}.source-wikidata{background-color:#990000e6;color:#fff}.source-smithsonian{background-color:#991b1be6;color:#fff}.result-info{padding:.75rem;text-align:left}.result-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#e5e7eb;display:-webkit-box;font-size:.8rem;font-weight:600;line-height:1.3;overflow:hidden}.result-artist{color:#9ca3af;font-size:.7rem;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scroll-sentinel{color:#6b7280;font-size:.875rem;padding:1.5rem;text-align:center}@media (min-width:480px){.search-results-grid{grid-template-columns:repeat(3,1fr)}}.settings-btn{align-items:center;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#0006;border:1px solid #ffffff1a;border-radius:.75rem;color:#9ca3af;cursor:pointer;display:flex;font-size:1.25rem;height:3rem;justify-content:center;min-width:3rem;padding:.75rem;transition:all .2s}.settings-btn:hover{background-color:#0009;border-color:#3b82f680;color:#f3f4f6}.settings-panel{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#00000080;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:100}.settings-content{backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);background-color:#0009;border:1px solid #ffffff26;border-radius:1.5rem;box-shadow:0 20px 60px #00000080;max-width:20rem;padding:1.5rem;width:100%}.settings-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.settings-title{color:#f3f4f6;font-size:1.125rem;font-weight:700;margin:0}.settings-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem}.settings-close:hover{color:#f3f4f6}.settings-group{margin-bottom:1.5rem}.settings-group:last-of-type{margin-bottom:0}.settings-label{color:#9ca3af;display:block;font-size:.875rem;margin:0}.filter-clear-x{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1.125rem;line-height:1;padding:.25rem;transition:color .2s,transform .2s}.filter-clear-x:hover{color:#fca5a5;transform:scale(1.2)}.settings-value{color:#3b82f6;font-size:.875rem;font-weight:600}.settings-slider{-webkit-appearance:none;appearance:none;background:#374151;border-radius:.25rem;height:.5rem;margin-top:.5rem;outline:none;width:100%}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#3b82f6;border-radius:50%;cursor:pointer;height:1.25rem;-webkit-transition:background .2s;transition:background .2s;width:1.25rem}.settings-slider::-webkit-slider-thumb:hover{background:#2563eb}.settings-slider::-moz-range-thumb{background:#3b82f6;border:none;border-radius:50%;cursor:pointer;height:1.25rem;width:1.25rem}.settings-hint{color:#6b7280;font-size:.75rem;margin-top:.5rem}.settings-divider{background:#ffffff1a;height:1px;margin:1.5rem 0}.settings-section-title{color:#f3f4f6;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.settings-text-input{background-color:#0000004d;border:1px solid #fff3;border-radius:.5rem;color:#fff;font-size:.875rem;margin-top:.5rem;outline:none;padding:.625rem .75rem;transition:border-color .2s,background-color .2s;width:100%}.settings-text-input:focus{background-color:#00000080;border-color:#3b82f6}.settings-text-input::placeholder{color:#6b7280}.settings-actions{display:flex;gap:.75rem;margin-top:1.5rem}.settings-apply-btn{background-color:#3b82f64d;border:1px solid #3b82f680;border-radius:.5rem;color:#93c5fd;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:.75rem;transition:all .2s}.settings-apply-btn:hover{background-color:#3b82f666;border-color:#3b82f6b3;color:#bfdbfe}.settings-clear-filters{background-color:#ef444433;border:1px solid #ef444466;border-radius:.5rem;color:#fca5a5;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem;transition:all .2s}.settings-clear-filters:hover{background-color:#ef44444d;border-color:#ef444499;color:#fecaca}.details-panel-overlay{cursor:pointer;inset:0;pointer-events:auto;position:fixed;z-index:200}.details-panel{animation:slideUp .3s ease-out;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);background-color:#000000b3;border-top:1px solid #ffffff26;bottom:0;cursor:auto;left:0;max-height:50vh;overflow-y:auto;padding:2rem;position:fixed;right:0}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.details-close{align-items:center;background:#00000080;border:1px solid #fff3;border-radius:50%;color:#f3f4f6;cursor:pointer;display:flex;font-size:1.25rem;height:2rem;justify-content:center;line-height:1;position:absolute;right:1rem;top:1rem;transition:all .2s;width:2rem}.details-close:hover{background:#000c;border-color:#fff6}.details-content{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:60rem}.details-primary{border-bottom:1px solid #ffffff1a;padding-bottom:1rem}.details-title{color:#fff;font-size:2rem;font-weight:700;line-height:1.2;margin:0 0 .5rem}.details-artist{color:#93c5fd;font-size:1.25rem;font-weight:500;margin:.25rem 0}.details-dates{color:#9ca3af;font-size:1rem;margin:.25rem 0 0}.details-secondary{display:flex;flex-direction:column;gap:1rem}.details-description{color:#d1d5db;font-size:.95rem;line-height:1.6;margin:0}.details-metadata{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr}.details-meta-item{display:flex;font-size:.875rem;gap:.5rem}.details-meta-label{color:#9ca3af;font-weight:500;min-width:6rem}.details-meta-value{color:#e5e7eb}.source-badge-text{color:#3b82f6;font-weight:600}@media (min-width:768px){.details-metadata{grid-template-columns:repeat(2,1fr)}.details-title{font-size:2.5rem}}
/*# sourceMappingURL=main.b461e160.css.map*/