.App{text-align:center;max-width:1200px;margin:0 auto;padding:20px}.App-header{background-color:#f8f9fa;min-height:20vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 1.5vmin);color:#333;padding:20px;border-radius:8px;margin-bottom:20px}.App-header h1{margin:0 0 10px;color:#1a73e8}.App-footer{margin-top:40px;padding:20px;color:#666;font-size:14px;border-top:1px solid #e0e0e0}main{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.view-selector{display:flex;margin-top:20px;gap:10px}.search-container{width:100%;max-width:1200px;margin:0 auto;padding:20px}.search-mode-selector{display:flex;margin-bottom:20px;border-bottom:1px solid #e0e0e0}.mode-button{padding:10px 20px;background:none;border:none;cursor:pointer;font-size:16px;font-weight:500;color:#666;transition:all .3s ease}.mode-button.active{color:#1a73e8;border-bottom:2px solid #1a73e8}.search-content{display:flex;flex-direction:column}.search-button{margin:20px 0;padding:12px 24px;background-color:#1a73e8;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s ease}.search-button:hover{background-color:#1557b0}.search-button:disabled{background-color:#a0c3ff;cursor:not-allowed}.search-form{background-color:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1}.radio-group{display:flex;flex-wrap:wrap;gap:15px}.radio-group label{display:flex;align-items:center;gap:5px;cursor:pointer}.results-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.result-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:transform .3s ease,box-shadow .3s ease}.result-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.result-card h3{margin-top:0;margin-bottom:10px;color:#1a73e8}.subtitle{color:#666;margin-bottom:15px}.meta-info{margin-bottom:15px}.meta-info p{margin:5px 0}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.tag{background-color:#e8f0fe;color:#1a73e8;padding:5px 10px;border-radius:20px;font-size:12px}.actions{display:flex;justify-content:flex-end}.similar-button{background-color:#f8f9fa;border:1px solid #dadce0;color:#1a73e8;padding:8px 16px;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.similar-button:hover{background-color:#e8f0fe}.solution-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.competition-slug{color:#666;font-size:14px}.summary{margin-bottom:15px;line-height:1.5}.techniques{margin-top:10px}.no-results{text-align:center;padding:40px;color:#666;font-size:18px;background-color:#f8f9fa;border-radius:8px}.advanced-search-container{width:100%;max-width:1200px;margin:0 auto;padding:20px}.tab-content{margin-bottom:20px}.results-section{margin-top:20px}.advanced-search{background-color:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px}.advanced-search h2{margin-top:0;margin-bottom:20px;color:#1a73e8}.advanced-search .form-group{margin-bottom:15px}.advanced-search label{display:block;margin-bottom:5px;font-weight:500}.advanced-search input[type=text],.advanced-search input[type=number],.advanced-search input[type=date],.advanced-search select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.advanced-search .form-row{display:flex;gap:15px}.advanced-search .form-row .form-group{flex:1}.advanced-search .radio-group{display:flex;flex-wrap:wrap;gap:15px}.advanced-search .radio-group label{display:flex;align-items:center;gap:5px;cursor:pointer;font-weight:400}.advanced-search .tag-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.advanced-search .tag-button{background-color:#e8f0fe;color:#1a73e8;border:none;border-radius:20px;padding:5px 10px;font-size:12px;cursor:pointer;transition:background-color .3s ease}.advanced-search .tag-button:hover{background-color:#d2e3fc}.advanced-search .button-group{display:flex;gap:10px;margin-top:20px}.advanced-search .search-button{padding:12px 24px;background-color:#1a73e8;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s ease}.advanced-search .search-button:hover{background-color:#1557b0}.advanced-search .search-button:disabled{background-color:#a0c3ff;cursor:not-allowed}.advanced-search .clear-button{padding:12px 24px;background-color:#f8f9fa;color:#5f6368;border:1px solid #dadce0;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s ease}.advanced-search .clear-button:hover{background-color:#f1f3f4}.similarity-search{background-color:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px}.similarity-search h2{margin-top:0;margin-bottom:20px;color:#1a73e8}.similarity-search .form-group{margin-bottom:15px}.similarity-search label{display:block;margin-bottom:5px;font-weight:500}.similarity-search select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff}.similarity-search .radio-group{display:flex;flex-wrap:wrap;gap:15px}.similarity-search .radio-group label{display:flex;align-items:center;gap:5px;cursor:pointer;font-weight:400}.similarity-search .search-button{margin-top:10px;padding:12px 24px;background-color:#1a73e8;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s ease}.similarity-search .search-button:hover{background-color:#1557b0}.similarity-search .search-button:disabled{background-color:#a0c3ff;cursor:not-allowed}.similarity-search .error-message{margin-top:15px;padding:10px;background-color:#fdecea;color:#d93025;border-radius:4px;font-size:14px}.app-header{background-color:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.header-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.logo-container{display:flex;align-items:center;margin-bottom:10px}.logo{height:40px;margin-right:15px}.app-header h1{margin:0;font-size:24px;color:#1a73e8}.header-subtitle{margin:10px 0 20px;color:#5f6368;font-size:16px}.view-selector{display:flex;gap:10px}.view-button{padding:10px 20px;background-color:#f1f3f4;border:1px solid #dadce0;border-radius:4px;font-size:14px;font-weight:500;color:#5f6368;cursor:pointer;transition:all .3s ease}.view-button.active{background-color:#1a73e8;color:#fff;border-color:#1a73e8}.view-button:hover:not(.active){background-color:#e8eaed}@media (max-width: 768px){.logo-container{flex-direction:column;text-align:center}.logo{margin-right:0;margin-bottom:10px}.app-header h1{font-size:20px}}.app-footer{background-color:#f8f9fa;padding:40px 20px 20px;margin-top:40px;border-top:1px solid #e0e0e0}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px}.footer-section{flex:1;min-width:250px}.footer-section h3{color:#1a73e8;margin-top:0;margin-bottom:15px;font-size:18px}.footer-section p{color:#5f6368;margin-bottom:10px;line-height:1.5}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section li{margin-bottom:8px;color:#5f6368}.footer-section a{color:#1a73e8;text-decoration:none;transition:color .3s ease}.footer-section a:hover{color:#174ea6;text-decoration:underline}.footer-bottom{max-width:1200px;margin:30px auto 0;padding-top:20px;border-top:1px solid #e0e0e0;text-align:center;color:#5f6368;font-size:14px}@media (max-width: 768px){.footer-content{flex-direction:column}.footer-section{margin-bottom:20px}}.toast-container{position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end}.toast{display:flex;align-items:center;padding:12px 16px;border-radius:4px;box-shadow:0 2px 10px #0000001a;margin-bottom:10px;animation:slide-in .3s ease-out;max-width:400px}.toast-success{background-color:#e6f4ea;border-left:4px solid #34a853}.toast-error{background-color:#fce8e6;border-left:4px solid #ea4335}.toast-warning{background-color:#fef7e0;border-left:4px solid #fbbc04}.toast-info{background-color:#e8f0fe;border-left:4px solid #1a73e8}.toast-icon{margin-right:12px;font-size:18px;display:flex;align-items:center;justify-content:center}.toast-success .toast-icon{color:#34a853}.toast-error .toast-icon{color:#ea4335}.toast-warning .toast-icon{color:#fbbc04}.toast-info .toast-icon{color:#1a73e8}.toast-message{flex:1;font-size:14px}.toast-close{background:none;border:none;color:#5f6368;font-size:18px;cursor:pointer;padding:0;margin-left:12px}.toast-container{position:fixed;bottom:20px;right:20px;z-index:1000}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.loading-spinner{border-radius:50%;border-top:2px solid #1a73e8;border-right:2px solid transparent;animation:spin .8s linear infinite}.loading-spinner.small{width:20px;height:20px}.loading-spinner.medium{width:40px;height:40px}.loading-spinner.large{width:60px;height:60px}.loading-message{margin-top:15px;color:#5f6368;font-size:14px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.data-migration-panel{background-color:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px}.data-migration-panel h2{margin-top:0;margin-bottom:10px;color:#1a73e8}.description{color:#5f6368;margin-bottom:20px}.tabs{display:flex;margin-bottom:20px;border-bottom:1px solid #e0e0e0}.tab-button{padding:10px 20px;background:none;border:none;cursor:pointer;font-size:16px;font-weight:500;color:#666;transition:all .3s ease}.tab-button.active{color:#1a73e8;border-bottom:2px solid #1a73e8}.csv-input{margin-bottom:20px}.csv-input label{display:block;margin-bottom:10px;font-weight:500}.csv-input textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-family:monospace;font-size:14px;resize:vertical}.migrate-button{padding:12px 24px;background-color:#1a73e8;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s ease}.migrate-button:hover{background-color:#1557b0}.migrate-button:disabled{background-color:#a0c3ff;cursor:not-allowed}.loading-container{margin-top:20px;text-align:center}.migration-result{margin-top:20px;padding:15px;border-radius:4px}.migration-result.success{background-color:#e6f4ea;border-left:4px solid #34a853}.migration-result.error{background-color:#fce8e6;border-left:4px solid #ea4335}.migration-result h3{margin-top:0;margin-bottom:10px}.success-details p{margin:5px 0}.error-details p{color:#ea4335;font-weight:500}.schema-changes{margin-top:15px;padding:10px;background-color:#f1f3f4;border-radius:4px}.schema-changes h4{margin-top:0;margin-bottom:10px}.change-section{margin-bottom:15px}.change-section h5{margin-top:0;margin-bottom:5px;font-size:14px}.change-section ul{margin:0;padding-left:20px}.change-section li{margin-bottom:3px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
