:root{--bg-primary:#f5f5f5;--bg-secondary:#f8f9fa;--bg-hover:#e9ecef;--text-primary:#212529;--text-secondary:#6c757d;--border-primary:#dee2e6;--primary-main:#1976d2;--primary-dark:#1565c0;--primary-light:#42a5f5;--success-main:#2e7d32;--warning-main:#ed6c02;--error-main:#d32f2f}[data-theme=light]{--bg-primary:#f5f5f5;--bg-secondary:#f8f9fa;--bg-tertiary:#e9ecef;--text-primary:#1a1a1a;--text-secondary:#495057;--text-muted:#6c757d;--border-primary:#dee2e6;--border-secondary:#1a1a1a;--accent-primary:#ff6b35;--accent-secondary:#007bff;--shadow-light:#0000000d;--shadow-medium:#0000001a;--shadow-heavy:#00000026;--success-color:#2196f3;--warning-color:#ffc107;--error-color:#dc3545;--info-color:#17a2b8;--border-radius-small:8px;--border-radius-medium:12px;--border-radius-large:16px;--border-radius-xl:20px}[data-theme=dark]{--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-hover:#2d2d2d;--text-primary:#fff;--text-secondary:#b0b0b0;--border-primary:#333;--primary-main:#90caf9;--primary-dark:#42a5f5;--primary-light:#e3f2fd;--border-radius-small:8px;--border-radius-medium:12px;--border-radius-large:16px;--border-radius-xl:20px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;background-color:var(--bg-primary);color:#212529;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;transition:background-color .3s ease,color .3s ease}body,html{overscroll-behavior:none}html{scroll-behavior:smooth;scroll-padding-top:80px}code{background-color:#f5f5f5;background-color:var(--bg-primary);border:1px solid #212529;border:1px solid var(--text-primary);border-radius:0;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;padding:2px 4px}a,a:hover,code{color:#212529;color:var(--text-primary)}a:hover{background-color:initial;text-decoration:underline}button{border:1px solid #212529;border:1px solid var(--text-primary);border-radius:0;cursor:pointer;transition:none}button,button:hover{background-color:#212529;background-color:var(--text-primary);color:#f5f5f5;color:var(--bg-primary)}button:hover{box-shadow:none;transform:none}button:focus{outline:none}input,select,textarea{background-color:#f5f5f5;background-color:var(--bg-primary);border:1px solid #212529;border:1px solid var(--text-primary);border-radius:0;color:#212529;color:var(--text-primary);font-size:.875rem;padding:8px 12px}input:focus,select:focus,textarea:focus{border-color:#212529;border-color:var(--text-primary);border-width:1px;outline:none}table{border-collapse:collapse;width:100%}td,th{border:1px solid #212529;border:1px solid var(--text-primary);padding:8px;text-align:left}td,th{background-color:#f5f5f5;background-color:var(--bg-primary);color:#212529;color:var(--text-primary)}th{font-weight:400}::-webkit-scrollbar-track{background:#f5f5f5;border:1px solid #212529}::-webkit-scrollbar-thumb{background:#212529}::selection{background-color:#212529;background-color:var(--text-primary);color:#f5f5f5;color:var(--bg-primary)}::-moz-selection{background-color:#212529;background-color:var(--text-primary);color:#f5f5f5;color:var(--bg-primary)}a{color:var(--accent-primary)}a,a:hover{text-decoration:none}:focus{outline:none}::selection{background-color:var(--accent-primary);color:#212529;color:var(--text-primary)}button,input,select,textarea{font-family:inherit}[data-theme=light]{.MuiCard-root,.card{border:1px solid #dee2e6;border:1px solid var(--border-primary);box-shadow:0 2px 8px var(--shadow-light);transition:box-shadow .3s ease,transform .2s ease}.MuiCard-root:hover,.card:hover{box-shadow:0 2px 8px var(--shadow-light);transform:none}.MuiButton-root,button{box-shadow:0 2px 4px var(--shadow-light);transition:all .3s ease}.MuiButton-root:hover,button:hover{box-shadow:0 2px 4px var(--shadow-light);transform:none}.MuiTextField-root input,input,select,textarea{background-color:#f5f5f5;background-color:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-primary);color:#212529;color:var(--text-primary);transition:border-color .3s ease,box-shadow .3s ease}.MuiTextField-root input:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent-secondary);box-shadow:0 0 0 3px #2196f31a;outline:none}.MuiTable-root,.MuiTableCell-root,table,td,th{background-color:#f5f5f5;background-color:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-primary)}.MuiTableCell-root,td,th{color:#212529;color:var(--text-primary)}.MuiTableCell-head,th{background-color:#f8f9fa;background-color:var(--bg-secondary);font-weight:600}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-primary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border:1px solid #dee2e6;border:1px solid var(--border-primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#6c757d;background:var(--text-secondary)}::selection{background-color:var(--accent-secondary);color:#f5f5f5;color:var(--bg-primary)}::-moz-selection{background-color:var(--accent-secondary);color:#f5f5f5;color:var(--bg-primary)}:focus{outline:none}a{color:var(--accent-secondary);transition:color .3s ease}a:hover{color:var(--accent-primary);text-decoration:underline}code{background-color:#f8f9fa;background-color:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-primary);border-radius:4px;color:#212529;color:var(--text-primary);font-family:Courier New,monospace;padding:2px 6px}.MuiAlert-root,.alert{border:1px solid #dee2e6;border:1px solid var(--border-primary);border-radius:6px;box-shadow:0 2px 4px var(--shadow-light);margin:8px 0;padding:12px 16px}.MuiAlert-standardSuccess,.alert-success{background-color:#2196f31a;border-color:var(--success-color);color:var(--success-color)}.MuiAlert-standardWarning,.alert-warning{background-color:#ffc1071a;border-color:var(--warning-color);color:var(--warning-color)}.MuiAlert-standardError,.alert-error{background-color:#dc35451a;border-color:var(--error-color);color:var(--error-color)}.MuiAlert-standardInfo,.alert-info{background-color:#17a2b81a;border-color:var(--info-color);color:var(--info-color)}:hover{box-shadow:none!important;transform:none!important}.MuiCard-root:hover,.card:hover{box-shadow:0 2px 8px var(--shadow-light)!important;transform:none!important}.MuiButton-root:hover,button:hover{box-shadow:0 2px 4px var(--shadow-light)!important;transform:none!important}}.card{background-color:#f8f9fa;background-color:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-primary);border-radius:8px;margin-bottom:16px;padding:16px}.section{margin-bottom:32px}.section-title{color:#212529;color:var(--text-primary);margin-bottom:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.card{padding:12px}.section{margin-bottom:24px}}.fade-in{animation:fadeIn .3s ease-in}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.protein-simulation{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.main-content,.protein-simulation{-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:auto}.main-content{margin:0;max-width:none;padding:0}.viewer-container{background:var(--bg-primary);border:none;border-radius:var(--border-radius-small);margin:0;overflow:hidden;width:100%}.protein-viewer,.viewer-container{-webkit-overflow-scrolling:touch;overflow-x:hidden}.protein-viewer{background:var(--bg-secondary);color:var(--text-primary);overflow-y:auto;padding:0}.viewer-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);padding:25px;text-align:center}.viewer-header h2{color:var(--text-primary);font-size:2rem;font-weight:600;margin:0 0 8px}.viewer-header p{color:var(--text-secondary);font-size:1.1rem;margin:0}.search-section{-webkit-overflow-scrolling:touch;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);overflow-x:hidden;overflow-y:auto;padding:25px}.search-input-group{display:flex;gap:12px;margin-bottom:20px}.search-input{background:var(--bg-tertiary);border:1px solid var(--text-muted);border-radius:var(--border-radius-medium);color:var(--text-primary);flex:1 1;font-size:1rem;padding:15px;transition:none}.search-input:focus{background:var(--bg-secondary);border-color:var(--text-primary);outline:none}.search-input::placeholder{color:var(--text-muted)}.search-btn{align-items:center;background:#ff6b35;border:1px solid #ff6b35;border-radius:var(--border-radius-medium);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;justify-content:center;min-width:120px;padding:15px 25px;transition:none}.search-btn:hover:not(:disabled){background:#ff6b35;border-color:#ff6b35;transform:none}.search-btn:disabled{background:var(--border-primary);border-color:var(--border-primary);color:var(--text-muted);cursor:not-allowed}.search-btn i{font-size:.9rem}.search-help{margin-top:10px;text-align:center}.search-help small{color:var(--text-muted);display:block;font-size:.8rem;font-style:italic;margin-bottom:5px}.search-history{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;margin-top:15px;padding:15px}.search-history small{color:var(--text-secondary);display:block;font-size:.8rem;margin-bottom:10px}.history-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.history-tag{background:var(--bg-primary);border:1px solid var(--text-primary);border-radius:20px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.75rem;padding:4px 12px;transition:none}.history-tag:hover{background:var(--text-primary);border-color:var(--bg-primary);color:var(--bg-primary)}.search-results{margin-top:20px}.search-results h4{color:var(--text-primary);font-size:1.1rem;font-weight:500;margin:0 0 15px}.results-list{display:flex;flex-direction:column;gap:12px}.result-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-small);padding:15px;transition:none}.result-item:hover{background:var(--bg-tertiary);border-color:var(--text-muted)}.result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.pdb-id{color:var(--text-muted);font-family:Courier New,monospace;font-size:1rem;font-weight:600}.status-badge{border-radius:var(--border-radius-small);font-size:.7rem;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status-badge.available{background:var(--text-muted);color:var(--text-primary)}.result-title{color:var(--text-primary);font-size:1rem;font-weight:500;margin-bottom:8px}.result-details{color:var(--text-secondary);display:flex;font-size:.85rem;gap:12px;margin-bottom:8px}.method,.organism,.resolution{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-small);padding:3px 8px}.resolution{color:var(--text-secondary)}.uniprot-id{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-small);color:var(--text-muted);font-size:.8rem;font-style:italic;margin-bottom:15px;padding:3px 8px}.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.load-cif-btn,.load-pdb-btn,.view-details-btn{align-items:center;border:1px solid;border-radius:var(--border-radius-small);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:6px;justify-content:center;min-width:100px;padding:8px 16px;transition:none}.load-pdb-btn{background:var(--bg-primary);border-color:var(--bg-primary);color:var(--text-primary)}.load-pdb-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--bg-secondary);color:var(--text-primary)}.load-cif-btn{background:var(--bg-primary);border-color:var(--bg-primary);color:var(--text-primary)}.load-cif-btn:hover:not(:disabled),.view-details-btn{background:var(--bg-secondary);border-color:var(--bg-secondary);color:var(--text-primary)}.view-details-btn:hover{background:var(--bg-tertiary);border-color:var(--bg-tertiary)}.load-cif-btn:disabled,.load-pdb-btn:disabled{background:var(--border-primary);border-color:var(--border-primary);color:var(--text-muted);cursor:not-allowed}.pdb-input-section{-webkit-overflow-scrolling:touch;background:var(--bg-primary);border-bottom:1px solid var(--border-primary);box-shadow:0 2px 8px var(--shadow-light);overflow-x:hidden;overflow-y:auto;padding:25px;transition:background-color .3s ease,border-color .3s ease}.pdb-input-section label{color:var(--text-primary);display:block;font-size:1rem;font-weight:500;margin-bottom:10px;transition:color .3s ease}.pdb-textarea{background:var(--bg-tertiary);border:1px solid var(--text-muted);border-radius:var(--border-radius-medium);color:var(--text-primary);font-family:Courier New,monospace;font-size:.9rem;line-height:1.4;margin-bottom:15px;padding:15px;resize:vertical;transition:background-color .3s ease,border-color .3s ease,color .3s ease;width:100%}.pdb-textarea:focus{background:var(--bg-secondary);border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-alpha);outline:none}.pdb-textarea::placeholder{color:var(--text-muted)}.load-btn{align-items:center;background:#ff6b35;border:1px solid #ff6b35;border-radius:var(--border-radius-medium);color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:12px 20px;transition:background-color .3s ease,border-color .3s ease,color .3s ease,transform .2s ease}.load-btn:hover:not(:disabled){background:#ff6b35;border-color:#ff6b35;color:#fff;transform:none}.load-btn:disabled{background:var(--border-primary);border-color:var(--border-primary);color:var(--text-muted);cursor:not-allowed}.sample-structures{background:var(--bg-primary);border-bottom:1px solid var(--border-primary);overflow-x:hidden;padding:25px}.sample-structures h4{color:var(--text-primary);font-size:1.1rem;font-weight:500;margin:0 0 15px}.sample-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.sample-btn{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-large);color:var(--text-primary);cursor:pointer;font-family:inherit;padding:20px;text-align:left;transition:all .3s ease;width:100%}.sample-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent-primary);box-shadow:0 2px 8px var(--shadow-light);color:var(--text-primary);transform:none}.sample-btn:disabled{background:var(--bg-tertiary);border-color:var(--border-primary);color:var(--text-muted);cursor:not-allowed;opacity:.6}.sample-btn:active:not(:disabled){background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 2px 8px var(--shadow-medium);color:var(--bg-primary);transform:none}.structure-info{display:flex;flex-direction:column;gap:6px}.structure-name{color:var(--text-primary);font-size:1rem;font-weight:500}.structure-desc{font-size:.85rem;line-height:1.3}.structure-method{color:var(--text-muted);font-size:.8rem;font-weight:500}.viewer-panel{background:var(--bg-primary);border:none;margin:0 20px;max-width:1400px;overflow:hidden;overflow-x:hidden;width:calc(100% - 40px)}.viewer-header-info{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;padding:20px}.viewer-header-info h3{color:var(--text-primary);font-size:1.2rem;font-weight:400;margin:0}.viewer-controls{display:flex;gap:10px}.test-viewer-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-small);color:var(--text-primary);cursor:pointer;display:flex;font-size:12px;font-weight:600;padding:8px 16px;transition:none}.test-viewer-btn:hover:not(:disabled){box-shadow:0 4px 15px #4caf5066;transform:translateY(-1px)}.test-viewer-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.test-viewer-btn i{font-size:10px}.ngl-fallback{align-items:center;background:var(--bg-primary);display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:10}.fallback-message{color:var(--text-primary);max-width:400px;padding:20px;text-align:center}.fallback-message h4{color:var(--text-primary);font-size:1.1rem;margin-bottom:15px}.fallback-message p{color:var(--text-secondary);line-height:1.4;margin-bottom:10px}.structure-preview{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px;margin-top:20px;padding:15px}.structure-preview span,.structure-preview strong{color:var(--accent-secondary)}.structure-preview span{margin-left:5px}.pdb-input-area.copied{border-color:#ff6b35}.copy-notification{background:var(--accent-secondary);border-radius:4px;color:#fff;font-size:12px;opacity:0;padding:4px 8px;position:absolute;right:0;top:-30px;transform:translateY(-10px);transition:all .3s ease}.copy-notification.show{opacity:1;transform:translateY(0)}.modal-overlay{align-items:center;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content,.modal-overlay{background:var(--bg-primary);display:flex}.modal-content{border:1px solid var(--border-primary);border-radius:var(--border-radius-large);flex-direction:column;height:90%;max-height:800px;max-width:1200px;width:90%}.modal-header{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border-primary);border-radius:var(--border-radius-small);display:flex;justify-content:space-between;padding:20px 25px}.modal-header h3{color:var(--text-primary);font-size:1.4rem;font-weight:600;margin:0}.modal-close-btn{background:none;border:none;border-radius:var(--border-radius-small);color:var(--text-primary);cursor:pointer;font-size:1.2rem;padding:8px;transition:none}.modal-close-btn:hover{background:var(--bg-tertiary)}.modal-body{-webkit-overflow-scrolling:touch;flex:1 1;overflow:visible;padding:20px}.modal-body,.modal-ngl-viewer{background:var(--bg-primary);min-height:400px;position:relative}.modal-ngl-viewer{border-radius:var(--border-radius-small);overflow:hidden}.modal-ngl-viewer,.ngl-viewer-modal{height:100%;width:100%}.modal-structure-info{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-small);max-width:300px;padding:15px;position:absolute;right:20px;top:20px}.modal-structure-info h4{color:var(--accent-secondary);font-size:1.1rem;margin:0 0 10px}.modal-structure-info p{color:var(--text-primary);font-size:.9rem;line-height:1.4;margin:5px 0}.modal-highlight-info{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-small);bottom:80px;box-shadow:0 4px 12px var(--shadow-medium);left:20px;max-width:350px;padding:15px;pointer-events:auto;position:absolute;z-index:100}.modal-footer{align-items:center;background:var(--bg-primary);border-radius:var(--border-radius-small);border-top:1px solid var(--border-primary);display:flex;gap:15px;justify-content:space-between;padding:20px 25px}.modal-footer .left-buttons{display:flex;gap:10px}.modal-footer .right-buttons{display:flex;gap:15px}.modal-action-btn{font-size:14px}.modal-action-btn.secondary{color:var(--text-primary)}.modal-action-btn:hover{background:var(--bg-secondary)}.modal-action-btn.restore-settings-btn{background:var(--bg-tertiary);border:1px solid var(--border-secondary);color:var(--text-secondary);font-size:12px;padding:8px 16px}.modal-action-btn.restore-settings-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-action-btn.restore-settings-btn i{font-size:11px;margin-right:6px}.current-structure{color:var(--text-primary);font-size:.9rem;max-width:300px;text-align:right}.structure-desc{color:var(--text-secondary);font-style:italic;margin-top:4px}.viewer-container-3d{background:var(--bg-primary);border-radius:8px;min-height:500px;overflow:hidden;position:relative}.loading-overlay{align-items:center;background:var(--bg-primary);bottom:0;color:var(--text-primary);display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border-primary);border:4px solid var(--border-primary);border-top-color:var(--text-muted);height:40px;margin-bottom:15px;width:40px}.error-message,.loading-spinner{border-radius:var(--border-radius-small)}.error-message{background:var(--bg-primary);border:1px solid var(--text-muted);box-shadow:0 4px 20px var(--shadow-heavy);color:var(--text-primary);left:50%;max-width:400px;padding:20px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:1000}.error-message p{line-height:1.5;margin:0 0 15px}.error-close-btn{background:var(--text-muted);border:1px solid var(--text-muted);border-radius:var(--border-radius-small);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.9rem;padding:8px 16px;transition:none}.error-close-btn:hover{background:var(--border-secondary);border-color:var(--border-secondary)}.ngl-viewer{align-items:center;background:var(--bg-primary);border:2px solid var(--border-primary);border-radius:4px;display:flex;height:100%;justify-content:center;overflow-x:hidden;position:relative;width:100%}.ngl-viewer:before{background:linear-gradient(45deg,var(--bg-secondary) 25%,#0000 25%),linear-gradient(-45deg,var(--bg-secondary) 25%,#0000 25%),linear-gradient(45deg,#0000 75%,var(--bg-secondary) 75%),linear-gradient(-45deg,#0000 75%,var(--bg-secondary) 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.ngl-viewer canvas{height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.ngl-viewer:not(.has-structure) canvas{display:none}.ngl-viewer.has-structure canvas{display:block}.ngl-viewer:not(.has-structure):after{color:var(--text-muted);content:"3D 뷰어 준비됨 - 구조를 로드하세요";font-size:14px;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:1}.canvas-status-info{background:var(--bg-primary);border:1px solid var(--text-primary);border-radius:3px;bottom:10px;color:var(--text-primary);font-size:.7rem;left:10px;line-height:1.2;max-width:200px;padding:8px 12px;position:absolute;z-index:5}.status-line{display:flex;gap:15px;justify-content:space-between;margin-bottom:3px}.status-line:last-child{margin-bottom:0}.status-line span{font-family:Courier New,monospace;font-size:.65rem}.highlight-info-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-small);bottom:20px;color:var(--text-primary);left:20px;max-width:300px;padding:16px;position:absolute;z-index:10}.highlight-header{border-bottom:1px solid var(--border-primary);margin-bottom:12px;padding-bottom:8px}.highlight-header strong{color:var(--text-primary);display:block;font-size:1.1rem;margin-bottom:4px}.atom-details,.chain-info{color:var(--text-secondary);font-size:.9rem}.atom-details{line-height:1.4;margin-bottom:15px}.atom-details div{margin-bottom:6px}.close-highlight-btn{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-small);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.8rem;padding:6px 12px;transition:none;width:100%}.close-highlight-btn:hover{background:var(--bg-primary);border-color:var(--border-primary)}.page-footer{background:var(--bg-primary);border-top:1px solid var(--border-primary);margin-top:40px;overflow-x:hidden;padding:30px 20px}.footer-content{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1400px}.footer-section h4{color:var(--text-primary);font-size:1.1rem;font-weight:500;margin:0 0 15px}.footer-section ul{list-style:none;margin:0;padding:0}.footer-section li{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin-bottom:8px}.footer-section li:before{color:var(--text-secondary);content:"•";margin-right:8px}.footer-section p{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0}.github-link{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-small);color:var(--text-primary);display:inline-flex;font-size:.9rem;gap:8px;padding:8px 12px;text-decoration:none;transition:none}.github-link:hover{background:var(--bg-primary);border-color:var(--border-primary);border-bottom:none;text-decoration:none}.github-link i{font-size:1.1rem}.github-link span{font-weight:500}@media (max-width:768px){.main-content{padding:15px}.viewer-header{padding:20px}.viewer-header h2{font-size:1.8rem}.viewer-header p{font-size:1rem}.pdb-input-section,.sample-structures,.search-section{padding:20px}.search-input-group{flex-direction:column}.search-btn{width:100%}.sample-grid{grid-template-columns:1fr}.viewer-header-info{flex-direction:column;gap:15px;text-align:center}.current-structure{max-width:none;text-align:center}.viewer-container-3d{height:500px}.highlight-info-overlay{bottom:10px;left:10px;max-width:none;right:10px}.result-actions{flex-direction:column;gap:8px}.load-cif-btn,.load-pdb-btn,.view-details-btn{justify-content:center;min-width:auto;width:100%}.footer-content{gap:20px;grid-template-columns:1fr}.page-footer{margin-top:30px;padding:20px 15px}}@media (max-width:480px){.viewer-header h2{font-size:1.6rem}.viewer-container-3d{height:400px}.pdb-input-section,.sample-structures,.search-section{padding:15px}}.settings-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:var(--bg-primary);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.settings-modal-content{-webkit-overflow-scrolling:touch;background:var(--bg-primary);border:1px solid #333;border-radius:var(--border-radius-large);max-height:70vh;max-width:450px;overflow-y:auto;padding:0;position:relative;width:90%}.settings-modal-header{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border-primary);border-radius:var(--border-radius-small);color:var(--text-primary);display:flex;justify-content:space-between;padding:15px 20px}.settings-modal-header h3{font-size:1.3rem;font-weight:600;margin:0}.settings-modal-body{background:var(--bg-primary);padding:20px}.settings-section{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-small);margin-bottom:20px;padding:15px}.settings-section h4{border-bottom:1px solid var(--border-primary);color:var(--text-primary);font-size:1.1rem;font-weight:600;letter-spacing:.5px;margin:0 0 15px;padding-bottom:8px;text-transform:uppercase}.setting-group{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.setting-group label{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px}.setting-group input[type=checkbox]{accent-color:var(--text-primary);cursor:pointer;height:18px;width:18px}.setting-group select{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-small);color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:8px 12px;transition:none}.setting-group select:focus{border-color:var(--border-primary);box-shadow:none;outline:none}.setting-group select option{background:var(--bg-primary);color:var(--text-secondary)}.setting-group input[type=range]{accent-color:var(--text-primary);background:var(--border-primary);border-radius:var(--border-radius-small);cursor:pointer;height:6px;outline:none;width:100%}.setting-group span{color:var(--text-primary);font-size:.9rem;font-weight:600;margin-top:5px;text-align:center}.settings-modal-footer{background:var(--bg-primary);border-radius:var(--border-radius-small);border-top:1px solid var(--border-primary);display:flex;gap:12px;justify-content:flex-end;padding:15px 20px}.modal-action-btn{border:1px solid var(--border-primary);border-radius:var(--border-radius-small);cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.3px;padding:10px 20px;text-transform:uppercase;transition:none}.modal-action-btn.secondary{background:var(--bg-primary);border:1px solid var(--border-primary);color:var(--text-secondary)}.modal-action-btn.secondary:hover{background:#1a1a1a}.modal-action-btn.primary{background:var(--bg-primary);border:1px solid var(--border-primary);box-shadow:none;color:var(--text-primary)}.modal-action-btn.primary:hover{background:#1a1a1a}.modal-header-actions{align-items:center;display:flex;gap:15px}.modal-settings-btn{align-items:center;border:1px solid var(--border-primary);border-radius:var(--border-radius-small);box-shadow:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;padding:10px 16px;transition:none}.modal-settings-btn,.modal-settings-btn:hover{background:var(--bg-primary)}.modal-settings-btn i{font-size:1rem}@media (max-width:768px){.settings-modal-content{max-height:95vh;width:95%}.settings-modal-body{padding:20px}.settings-section{padding:15px}.settings-modal-footer{flex-direction:column;gap:10px}.modal-action-btn{width:100%}}*{-webkit-overflow-scrolling:touch}.main-content,.modal-body,.page-footer,.pdb-input-section,.protein-simulation,.sample-structures,.search-section,.settings-modal-content,.viewer-panel{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@supports (-webkit-appearance:none){.main-content::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.page-footer::-webkit-scrollbar,.pdb-input-section::-webkit-scrollbar,.protein-simulation::-webkit-scrollbar,.sample-structures::-webkit-scrollbar,.search-section::-webkit-scrollbar,.settings-modal-content::-webkit-scrollbar,.viewer-panel::-webkit-scrollbar{width:8px}.main-content::-webkit-scrollbar-track,.modal-body::-webkit-scrollbar-track,.page-footer::-webkit-scrollbar-track,.pdb-input-section::-webkit-scrollbar-track,.protein-simulation::-webkit-scrollbar-track,.sample-structures::-webkit-scrollbar-track,.search-section::-webkit-scrollbar-track,.settings-modal-content::-webkit-scrollbar-track,.viewer-panel::-webkit-scrollbar-track{background:var(--bg-primary)}.main-content::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb,.page-footer::-webkit-scrollbar-thumb,.pdb-input-section::-webkit-scrollbar-thumb,.protein-simulation::-webkit-scrollbar-thumb,.sample-structures::-webkit-scrollbar-thumb,.search-section::-webkit-scrollbar-thumb,.settings-modal-content::-webkit-scrollbar-thumb,.viewer-panel::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:4px}.main-content::-webkit-scrollbar-thumb:hover,.modal-body::-webkit-scrollbar-thumb:hover,.page-footer::-webkit-scrollbar-thumb:hover,.pdb-input-section::-webkit-scrollbar-thumb:hover,.protein-simulation::-webkit-scrollbar-thumb:hover,.sample-structures::-webkit-scrollbar-thumb:hover,.search-section::-webkit-scrollbar-thumb:hover,.settings-modal-content::-webkit-scrollbar-thumb:hover,.viewer-panel::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}}*{box-sizing:border-box;scroll-behavior:smooth}*,body,html{overscroll-behavior:none}body,html{background-color:var(--bg-primary);color:var(--text-primary);font-family:Roboto,Helvetica,Arial,sans-serif;margin:0;padding:0}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--bg-primary);border:1px solid var(--text-primary)}::-webkit-scrollbar-thumb{background:var(--text-primary);border-radius:4px}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{-webkit-transition:background-color .3s ease;transition:background-color .3s ease}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-in{animation:fadeIn .5s ease-in-out}.slide-in{animation:slideIn .5s ease-in-out}.pulse{animation:pulse 2s infinite}.spin{animation:spin 1s linear infinite}.smooth-scroll{scroll-behavior:smooth;transition:all .3s ease}.smooth-scroll-container{-webkit-overflow-scrolling:touch;overflow-y:auto;scroll-behavior:smooth}@keyframes smoothScroll{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.smooth-scroll-animation{animation:smoothScroll .3s ease-in-out}:hover{box-shadow:none!important;transform:none!important}.card{background-color:var(--bg-primary);border:1px solid var(--text-primary);border-radius:var(--border-radius-small);transition:none}.card:hover{border-color:var(--text-primary);box-shadow:none;transform:none}.btn{border:1px solid var(--text-primary);border-radius:var(--border-radius-small);transition:none}.btn,.btn:hover{background-color:var(--text-primary);color:var(--bg-primary)}.btn:hover{box-shadow:none;transform:none}.input{background-color:var(--bg-primary);border:1px solid var(--text-primary);border-radius:var(--border-radius-small);color:var(--text-primary)}.input:focus{border-color:var(--text-primary);border-width:1px;outline:none}.link{text-decoration:none}.link,.link:hover{color:var(--text-primary)}.link:hover{background-color:initial;text-decoration:underline}.icon{transition:none}.icon,.icon:hover{color:var(--text-primary)}.icon:hover{transform:none}.table{border-collapse:collapse;width:100%}.table td,.table th{border:1px solid var(--text-primary);padding:8px;text-align:left}.table td,.table th{background-color:var(--bg-primary);color:var(--text-primary)}.table th{font-weight:400}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:4px}.form-control,.form-label{color:var(--text-primary);font-size:.875rem}.form-control{background-color:var(--bg-primary);border:1px solid var(--text-primary);border-radius:var(--border-radius-small);padding:8px 12px;width:100%}.form-control:focus{border-color:var(--text-primary);border-width:1px;outline:none}.alert{background-color:#000;border:1px solid #fff;border-radius:var(--border-radius-small);color:#fff;margin:8px 0;padding:12px 16px}.alert-error,.alert-info,.alert-success,.alert-warning{background-color:#000;border-color:#fff;color:#fff}.spinner{animation:spin 1s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#000;height:20px;width:20px}.grid{grid-gap:100px;display:grid;gap:100px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.card{margin:8px}.btn{margin:4px 0;width:100%}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}:focus{outline:1px solid #fff;outline-offset:2px}::selection{background-color:#fff;color:#000}::-moz-selection{background-color:#fff;color:#000}
/*# sourceMappingURL=main.200bc100.css.map*/