@media (max-width:768px){.view-controls{display:flex;flex-direction:row!important;justify-content:space-between;margin-bottom:10px;width:100%}.view-controls button{min-width:120px;padding:10px;text-align:center;width:calc(50% - 5px)}.color-scheme-selector{margin-top:10px;width:100%}.molecule-viewer-controls button:last-child{display:none}.molecule-viewer-controls{bottom:15px;left:15px}.molecule-viewer-controls button{font-size:13px;padding:8px 12px}.molecule-color-legend{bottom:15px;font-size:11px;max-width:140px;right:15px}}.quantum-viewer-container{display:flex;flex-direction:row;gap:15px;height:100%;padding:15px;width:100%}.quantum-details,.quantum-summary{display:flex;flex:1 1;flex-direction:column;gap:15px}.quantum-visualization{align-items:center;background-color:#f5f5f5;display:flex;flex:2 1;height:100%;justify-content:center;overflow:hidden;position:relative}@media (max-width:768px){.quantum-viewer-container{flex-direction:column}.quantum-details,.quantum-summary{display:none}.quantum-visualization{height:300px;margin-bottom:15px;width:100%}.quantum-visualization .mobile-label{background-color:#0009;border-radius:4px;color:#fff;font-size:12px;left:10px;padding:4px 8px;position:absolute;top:10px;z-index:10}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f8f9fa;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;overflow-x:hidden}.app-container{display:flex;min-height:100vh;position:relative}.sidebar{background-color:#fdfdfd;border-right:1px solid #ddd;flex-shrink:0;height:100vh;overflow-y:auto;padding:25px 20px;position:sticky;top:0;transition:transform .3s ease;width:350px}.main-content{background-color:#f8f9fa;flex-grow:1;min-width:0;padding:30px}.sidebar-toggle{background-color:#3498db;border:none;border-radius:50%;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;display:none;font-size:20px;height:40px;left:15px;position:fixed;top:15px;width:40px;z-index:100}header{border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px;text-align:center}header h1{color:#2c3e50;margin-bottom:10px}.upload-section{margin-bottom:30px}.upload-area{background-color:#fafafa;border:2px dashed #ccc;border-radius:8px;cursor:pointer;padding:40px;text-align:center;transition:all .3s ease}.upload-area.active{background-color:#f0f8ff;border-color:#3498db}.input-file{display:none}.upload-icon{color:#3498db;font-size:48px;margin-bottom:15px}.upload-text p{margin-bottom:5px}.file-types{color:#777;font-size:.8em}.file-info{font-weight:700;margin-top:10px;text-align:center}.sample-files{margin-top:20px;text-align:center}.sample-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:10px}.sample-buttons button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 15px;transition:background-color .3s}.sample-buttons button:hover{background-color:#2980b9}.viewer-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;overflow:hidden}.view-controls{background-color:#fff;position:relative;z-index:10}.view-controls button{background:none;border:none;border-bottom:1px solid #eee;cursor:pointer;flex:1 1;font-weight:500;padding:12px;position:relative;transition:all .3s;z-index:5}.view-controls button.active{background-color:#3498db;border-bottom:1px solid #3498db;color:#fff}.viewer-wrapper{height:400px}.viewer-container,.viewer-wrapper{overflow:hidden;position:relative;width:100%}.viewer-container{align-items:center;background-color:#f0f0f0;display:flex;height:100%;justify-content:center}.viewer-container canvas{left:auto!important;max-height:100%;max-width:100%;object-fit:contain;position:relative!important;top:auto!important}.molecule-info{border-top:1px solid #eee;clear:both;padding:20px;position:relative}.molecule-info h2{color:#2c3e50;margin-bottom:15px}.ai-explanation{background-color:#f8f9fa;border-radius:6px;margin-top:10px;padding:15px}.ai-explanation h3{color:#2c3e50;font-size:1.2em;margin-bottom:10px}.explanation-content{line-height:1.6}.loading-spinner{color:#777;padding:20px;text-align:center}.powered-by{color:#999;margin-top:15px;text-align:right}.tech-stack-panel{margin-top:30px}.tech-stack-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;font-size:.9rem;padding:15px;text-align:left}.tech-category{border-bottom:1px solid #eee;color:#555;font-size:.95rem;font-weight:500;margin-bottom:8px;padding-bottom:4px}.tech-list{list-style:none;margin-bottom:15px;padding-left:0}.tech-list li{align-items:center;display:flex;margin-bottom:6px}.tech-badge{border-radius:4px;color:#fff;display:inline-block;font-size:.7rem;font-weight:600;margin-right:6px;padding:2px 6px}.tech-badge.react{background-color:#61dafb;color:#282c34}.tech-badge.js{background-color:#f7df1e;color:#000}.tech-badge.css{background-color:#264de4}.tech-badge.threejs{background-color:#049ef4}.tech-badge.aframe{background-color:#ef2d5e}.tech-badge.arjs{background-color:#3d3d3d}.tech-badge.molparser{background-color:#28a745}.tech-badge.openai{background-color:#10a37f}.tech-badge.axios{background-color:#5a29e4}.tech-badge.quantum{background-color:#6929c4}.tech-badge.gpu{background-color:#76b900}.tech-badge.ml{background-color:#ff6f00}.tech-badge.vr,.tech-badge.webxr{background-color:#4285f4;color:#fff}.tech-badge.huggingface{background-color:#ff6f61}.tech-badge.blockchain{background-color:#f47920}.tech-badge.cloud{background-color:#0072c6}body.ar-mode{height:100%;overflow:hidden;position:fixed;width:100%}body.ar-mode .app-container{display:none}.ar-container.active{background-color:#000;height:100vh;left:0;position:fixed!important;top:0;width:100vw;z-index:9999}.ar-container.active a-scene{display:block;height:100%!important;width:100%!important}@media (max-width:992px){.sidebar{width:280px}}@media (max-width:768px){.app-container{flex-direction:column}.sidebar{box-shadow:0 0 10px #0003;left:0;max-width:350px;position:fixed;top:0;transform:translateX(-100%);width:85%;z-index:99}.sidebar.open{transform:translateX(0)}.sidebar-toggle{display:block}.main-content{margin-top:40px;padding:20px 15px}header h1{font-size:1.5rem}.viewer-wrapper{height:300px}.upload-area{padding:25px 15px}.sample-buttons{flex-direction:row;flex-wrap:wrap}.sample-buttons button{flex:1 0 45%;margin-bottom:10px}.view-controls{flex-wrap:wrap}}@media (max-width:480px){.main-content{padding:15px 10px}header h1{font-size:1.3rem}.upload-area{padding:20px 10px}.viewer-wrapper{height:250px}.sample-buttons button{flex:1 0 100%}.tech-list{display:flex;flex-wrap:wrap}.tech-list li{flex:1 0 50%;margin-right:10px}}.cloud-badge{align-items:center;background-color:#000;border-radius:4px;color:#fff;display:flex;font-size:.8rem;margin:15px auto 10px;padding:4px 8px;width:fit-content}.cloud-badge img{margin-right:5px}@media (min-width:768px){.cloud-badge{margin-bottom:0}}@media (max-width:768px){.cloud-badge{padding:4px 8px}.cloud-badge span{font-size:.8rem}}.info-button{align-items:center;background-color:#0dcaf0;border:none;border-radius:50%;box-shadow:0 2px 5px #0003;color:#fff;font-style:italic;font-weight:700;height:40px;justify-content:center;left:15px;position:fixed;width:40px;z-index:100}.info-button,.sidebar-close{cursor:pointer;display:none;font-size:24px;top:15px}.sidebar-close{background:none;border:none;color:#666;position:absolute;right:15px}@media (max-width:768px){.info-panel-title{margin-left:40px;padding-right:40px}.app-container{flex-direction:column}.sidebar{box-shadow:0 0 10px #0003;height:100vh;left:0;max-width:100%;position:fixed;top:0;transform:translateX(-100%);width:100%;z-index:99}.sidebar.open{transform:translateX(0)}.info-button{display:flex}.sidebar-close{display:block}.main-content{margin-top:40px;padding:20px 15px}header h1{font-size:1.5rem;margin-left:40px}}.truncate-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-scheme-selector{gap:10px;margin-bottom:15px}.color-scheme-selector label{color:#444;font-size:14px}.color-scheme-selector select{background-color:#fff;border:1px solid #ccc;border-radius:4px;font-size:14px;padding:5px 10px}@media (max-width:768px){.view-controls{align-items:flex-start;flex-direction:column}.color-scheme-selector{width:100%}}.viewer-section{display:flex;flex-direction:column}.view-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.molecule-info-wrapper{margin-top:20px;width:100%}.pubchem-search{background-color:#f0f8ff;border-radius:8px;margin-bottom:15px;padding:20px}.pubchem-search h3{color:#444;margin-top:0}.pubchem-search form{display:flex;gap:10px}.pubchem-search-input{border:1px solid #ccc;border-radius:4px;flex:1 1;font-size:14px;padding:8px 12px}.pubchem-search-button{background-color:#2c3e50;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 15px;transition:background-color .3s}.pubchem-search-button:hover{background-color:#1a2530}.pubchem-search-button:disabled{background-color:#95a5a6;cursor:not-allowed}.search-hint{color:#666;font-size:12px;margin-top:8px}.separator{align-items:center;display:flex;margin:15px 0;text-align:center}.separator:after,.separator:before{border-bottom:1px solid #ddd;content:"";flex:1 1}.separator span{color:#777;font-size:14px;padding:0 10px}@media (max-width:768px){.view-controls{align-items:flex-start;flex-direction:column}.color-scheme-selector{width:100%}.pubchem-search form{flex-direction:column}.pubchem-search-button,.pubchem-search-input{width:100%}}.gesture-instructions{background:#000000b3;border-radius:8px;box-shadow:0 3px 8px #0000004d;color:#fff;font-size:14px;left:50%;padding:12px 20px;position:fixed;text-align:center;top:20px;transform:translateX(-50%);z-index:10001}.gesture-instructions p{line-height:1.4;margin:0}.gesture-instructions b{color:#ffdd57;font-weight:600}.molecule-viewer-container{height:100%;position:relative;width:100%}.molecule-viewer{height:100%;width:100%}.molecule-viewer-controls{bottom:10px;display:flex;gap:8px;left:10px;position:absolute;z-index:100}.molecule-viewer-controls button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .2s ease}.molecule-viewer-controls button:hover{opacity:.9}.molecule-color-legend{background-color:#ffffffe6;border-radius:4px;bottom:10px;box-shadow:0 1px 3px #0003;font-size:12px;max-width:180px;padding:10px;position:absolute;right:10px;z-index:100}.molecule-info-panel{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:20px;overflow:hidden;transition:all .3s ease}.info-header{align-items:center;background-color:#2c3e50;color:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:10px 15px}.info-header h3{font-size:16px;margin:0}.toggle-button{background:none;border:none;color:#fff;cursor:pointer;font-size:20px;padding:0 5px}.info-content{padding:15px}.molecule-info-panel table{border-collapse:collapse;width:100%}.molecule-info-panel th{color:#444;font-weight:600;padding:8px 10px 8px 0;text-align:left;vertical-align:top;width:30%}.molecule-info-panel td{padding:8px 0;word-break:break-word}.truncate-text{font-size:13px;line-height:1.4;max-width:100%;overflow:visible;text-overflow:clip;white-space:normal}.pubchem-link{margin-top:15px;text-align:right}.pubchem-link a{color:#3498db;font-weight:500;text-decoration:none}.pubchem-link a:hover{text-decoration:underline}.molecule-info-panel.error,.molecule-info-panel.loading{color:#666;padding:15px;text-align:center}.molecule-info-panel.error{color:#e74c3c}.molecule-info-panel.collapsed .info-content{display:none}@media (max-width:768px){.molecule-info-panel th{font-size:13px;padding:6px 8px 6px 0;width:35%}.molecule-info-panel td{font-size:13px;padding:6px 0}.truncate-text{font-size:12px}}.color-scheme-selector{align-items:center;background-color:#fffc;border-radius:20px;box-shadow:0 2px 4px #0000001a;display:flex;gap:8px;margin-left:auto;padding:4px 12px}.selector-icon{align-items:center;display:flex;font-size:16px}.scheme-dropdown{background:#0000;border:none;color:#333;cursor:pointer;font-size:14px;min-width:120px;outline:none;padding:5px}.scheme-dropdown:focus{outline:none}@media (max-width:768px){.color-scheme-selector{margin-left:0;width:fit-content}}
/*# sourceMappingURL=main.43f27bcc.css.map*/