:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--sci-primary: #1565c0;--sci-primary-dark: #0d47a1;--sci-primary-light: #42a5f5;--sci-primary-pale: #e3f2fd;--sci-accent-green: #2e7d32;--sci-accent-red: #c62828;--sci-accent-orange: #ef6c00;--sci-accent-purple: #6a1b9a;--sci-accent-teal: #00838f;--elem-carbon: #404040;--elem-nitrogen: #3050f8;--elem-oxygen: #ff0d0d;--elem-sulfur: #ffff30;--elem-hydrogen: #f0f0f0;--elem-phosphorus: #ff8000;--elem-chlorine: #1ff01f;--elem-bromine: #a62929;--bg-app: linear-gradient(180deg, #f5f7fa 0%, #e8ecf0 100%);--bg-toolbar: linear-gradient(180deg, #37474f 0%, #263238 100%);--bg-panel: linear-gradient(180deg, #fafbfc 0%, #f0f2f5 100%);--bg-canvas: #ffffff;--canvas-grid: rgba(200, 210, 220, .3);--canvas-grid-major: rgba(150, 170, 190, .4);--text-primary: #1a2027;--text-secondary: #455a64;--text-muted: #78909c;--text-inverse: #ffffff;--border-light: #e0e6ed;--border-medium: #b0bec5;--border-dark: #78909c;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px rgba(21, 101, 192, .15);--transition-fast: .15s ease;--transition-normal: .25s ease;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 16px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px}*{box-sizing:border-box}input,textarea,select{background-color:#fff;color:var(--text-primary)}html,body{margin:0;padding:0;width:100%;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:13px;background:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}.cd-app{display:flex;flex-direction:column;height:100vh;background:var(--bg-app);user-select:none;-webkit-user-select:none}.cd-main{display:flex;flex-direction:column;flex:1;overflow:hidden}.cd-main-row{display:flex;flex:1;overflow:hidden;min-height:0;position:relative}.cd-sidebar-left{width:220px;background:var(--bg-panel);border-right:1px solid var(--border-light);display:flex;flex-direction:column;overflow:hidden;box-shadow:2px 0 8px #0000000a}.cd-content{flex:1;display:flex;flex-direction:column;background:#c5cdd5;overflow:hidden}.cd-content.toolbar-visible{padding-left:134px}.cd-canvas-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.cd-sidebar-right{position:absolute;right:0;top:0;bottom:0;width:320px;background:var(--bg-panel);border-left:1px solid var(--border-light);display:flex;flex-direction:column;overflow:hidden;box-shadow:-2px 0 8px #00000026;z-index:10}.cd-sidebar-right.assistant-collapsed{display:none}.cd-sidebar-right.assistant-open{width:320px}.cd-bottom-bar{height:36px;background:linear-gradient(180deg,#eceff1,#cfd8dc);border-top:1px solid var(--border-medium);display:flex;align-items:center;padding:0 var(--space-md);gap:var(--space-sm);font-size:11px;box-shadow:0 -2px 8px #0000000d}.bottom-bar-section{display:flex;align-items:center;gap:var(--space-xs)}.bottom-bar-label{color:var(--text-secondary);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.bottom-bar-value{color:var(--text-primary);font-weight:600;font-size:11px;font-family:SF Mono,Monaco,Consolas,monospace}.bottom-bar-input{width:140px;padding:4px 8px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:11px;background:#fff;transition:border-color var(--transition-fast)}.bottom-bar-input:focus{outline:none;border-color:var(--sci-primary);box-shadow:0 0 0 2px var(--sci-primary-pale)}.bottom-bar-input:disabled{background:#eceff1;color:var(--text-muted)}.bottom-bar-select{padding:4px 8px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:11px;background:#fff}.bottom-bar-select:disabled{background:#eceff1;color:var(--text-muted)}.bottom-bar-btn{padding:4px 12px;border:none;border-radius:var(--radius-sm);font-size:11px;font-weight:600;background:var(--sci-primary);color:var(--text-inverse);cursor:pointer;transition:all var(--transition-fast)}.bottom-bar-btn:hover:not(:disabled){background:var(--sci-primary-dark)}.bottom-bar-btn:disabled{background:var(--border-medium);cursor:not-allowed}.bottom-bar-btn-delete{background:var(--sci-accent-red)}.bottom-bar-btn-delete:hover:not(:disabled){background:#b71c1c}.bottom-bar-actions{display:flex;align-items:center;gap:6px}.bottom-bar-action-btn{padding:4px 12px;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);font-size:11px;font-weight:500;background:transparent;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.bottom-bar-action-btn:hover:not(:disabled){background:var(--sci-primary-light);border-color:var(--sci-primary);color:var(--text-inverse)}.bottom-bar-action-btn:disabled{opacity:.5;cursor:not-allowed}.bottom-bar-action-btn:focus{outline:none}.bottom-bar-action-btn:active:not(:disabled){transform:scale(.95);background:#ffffff40}.bottom-bar-action-btn-save{background:var(--sci-primary);border-color:var(--sci-primary);color:var(--text-inverse)}.bottom-bar-action-btn-save:hover:not(:disabled){background:var(--sci-primary-dark);border-color:var(--sci-primary-dark)}.bottom-bar-divider{width:1px;height:20px;background:var(--border-medium);margin:0 var(--space-xs)}.bottom-bar-spacer{flex:1}.bottom-bar-history,.bottom-bar-zoom{display:flex;align-items:center;gap:2px}.bottom-bar-zoom-value{font-size:11px;font-weight:500;min-width:40px;text-align:center;color:var(--text-primary)}.bottom-bar-icon-btn{width:26px;height:26px;padding:4px;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);background:#ffffff14;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);font-size:14px;font-weight:600}.bottom-bar-icon-btn:hover:not(:disabled){background:var(--sci-primary-light);border-color:var(--sci-primary);color:var(--text-inverse)}.bottom-bar-icon-btn:disabled{opacity:.4;cursor:not-allowed}.bottom-bar-icon-btn svg{width:16px;height:16px}.bottom-bar-status{font-size:10px;font-weight:600;display:flex;align-items:center;gap:4px}.bottom-bar-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.bottom-bar-status.connected{color:var(--sci-accent-green)}.bottom-bar-status.disconnected{color:var(--sci-accent-red)}.bottom-bar-doc-title{font-size:12px;font-weight:600;color:var(--text-primary);margin-left:var(--space-sm);padding:2px 8px;background:#0000000a;border-radius:var(--radius-sm);max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-bar-doc-status{font-weight:400;font-size:11px;color:var(--text-muted);font-style:italic}.bottom-bar-info{color:var(--text-secondary);font-size:11px;margin-left:var(--space-sm)}.bottom-bar-panel-toggles{display:flex;align-items:center;gap:6px;margin-right:var(--space-sm)}.bottom-bar-panel-toggle{height:26px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:5px;background:#0000000f;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);font-size:11px;font-weight:500;transition:all .15s ease}.bottom-bar-panel-toggle:hover{background:#0000001a;color:var(--text-primary)}.bottom-bar-panel-toggle.active{background:var(--sci-primary);border-color:var(--sci-primary-dark);color:#fff}.bottom-bar-panel-toggle svg{width:14px;height:14px;flex-shrink:0}.bottom-bar-version{color:var(--text-muted);font-size:10px;font-family:SF Mono,Monaco,Consolas,monospace;margin-left:var(--space-md);padding:2px 8px;background:#0000000f;border-radius:var(--radius-sm);letter-spacing:.5px}.bottom-bar-doc-selector{position:relative}.bottom-bar-doc-btn{display:flex;align-items:center;gap:var(--space-sm);padding:6px 14px;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:12px;color:#fff;font-weight:600;transition:all var(--transition-fast);box-shadow:0 2px 4px #4f46e54d}.bottom-bar-doc-btn:hover:not(:disabled){background:linear-gradient(135deg,#4338ca,#6d28d9);transform:translateY(-1px);box-shadow:0 4px 8px #4f46e566}.bottom-bar-doc-btn:disabled{opacity:.5;cursor:not-allowed}.bottom-bar-doc-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.bottom-bar-doc-arrow{opacity:.8;font-size:12px;color:#fff}.bottom-bar-doc-count{font-size:11px;opacity:.85;color:#fff;font-weight:500}.bottom-bar-doc-dropdown{position:absolute;bottom:100%;left:0;margin-bottom:6px;min-width:280px;max-width:360px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden}.bottom-bar-doc-create{display:flex;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--border-light);background:var(--bg-panel)}.bottom-bar-doc-create input{flex:1;padding:6px 10px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:12px}.bottom-bar-doc-create input:focus{outline:none;border-color:var(--sci-primary)}.bottom-bar-doc-create button{padding:6px 14px;background:var(--sci-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:600}.bottom-bar-doc-create button:hover:not(:disabled){background:var(--sci-primary-dark)}.bottom-bar-doc-create button:disabled{background:var(--border-medium);cursor:not-allowed}.bottom-bar-doc-divider{height:1px;background:var(--border-light)}.bottom-bar-doc-list{max-height:260px;overflow-y:auto}.bottom-bar-doc-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px var(--space-md);background:none;border:none;cursor:pointer;font-size:12px;text-align:left;transition:background var(--transition-fast)}.bottom-bar-doc-item:hover{background:var(--sci-primary-pale)}.bottom-bar-doc-item.selected{background:var(--sci-primary-pale);border-left:3px solid var(--sci-primary)}.bottom-bar-doc-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:500}.bottom-bar-doc-item-meta{color:var(--text-muted);font-size:10px;margin-left:var(--space-sm);font-family:SF Mono,Monaco,Consolas,monospace}.bottom-bar-doc-empty{padding:var(--space-xl);text-align:center;color:var(--text-muted);font-size:12px}.cd-menubar{display:flex;align-items:center;background:linear-gradient(180deg,#fafbfc,#eceff1);border-bottom:1px solid var(--border-medium);padding:0 var(--space-sm);height:32px;font-size:13px}.menubar-logo{display:flex;align-items:center;justify-content:center;padding:4px 8px 4px 4px;margin-right:4px;border-radius:var(--radius-sm);transition:background var(--transition-fast);background:transparent;border:none;cursor:pointer}.menubar-logo:hover{background:#3b82f61a}.menubar-logo:focus{outline:none;background:#3b82f61a}.menubar-logo svg{display:block}.menubar-logo-text{margin-left:6px;font-weight:600;font-size:14px;color:#2563eb}.menu-items{display:flex;align-items:center;gap:2px}.menu-spacer{flex:1}.menu-right{display:flex;align-items:center;gap:12px}.menu-username{font-size:12px;color:var(--text-secondary);font-weight:500}.menu-logout{padding:5px 14px;background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:12px;cursor:pointer;color:var(--text-secondary);font-weight:600;transition:all var(--transition-fast)}.menu-logout:hover{background:var(--sci-primary-pale);border-color:var(--sci-primary);color:var(--sci-primary)}.menu-account-btn{padding:5px 12px;background:transparent;border:none;font-size:12px;cursor:pointer;color:var(--text-secondary);font-weight:500;transition:all var(--transition-fast)}.menu-account-btn:hover{color:var(--sci-primary)}.menu-item{position:relative}.menu-button{background:none;border:none;padding:6px 12px;cursor:pointer;font-size:13px;color:var(--text-primary);border-radius:var(--radius-sm);font-weight:500;transition:all var(--transition-fast)}.menu-button:hover,.menu-item.open .menu-button{background:var(--sci-primary-pale);color:var(--sci-primary)}.menu-dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:220px;padding:var(--space-xs) 0;z-index:1000}.menu-dropdown-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px var(--space-lg);border:none;background:none;text-align:left;cursor:pointer;font-size:13px;color:var(--text-primary);transition:all var(--transition-fast)}.menu-dropdown-item:hover:not(:disabled){background:var(--sci-primary);color:var(--text-inverse)}.menu-dropdown-item:disabled{color:var(--text-muted);cursor:default}.menu-dropdown-item .shortcut{color:var(--text-muted);font-size:11px;font-family:SF Mono,Monaco,Consolas,monospace;margin-left:var(--space-xl)}.menu-dropdown-item:hover .shortcut{color:#ffffffb3}.menu-divider{height:1px;background:var(--border-light);margin:var(--space-xs) var(--space-md)}.cd-toolbar{position:absolute;left:0;top:0;bottom:0;display:flex;flex-direction:column;align-items:stretch;background:linear-gradient(180deg,#fafbfc,#f3f4f6);border-right:1px solid rgba(0,0,0,.08);padding:12px 8px;box-shadow:2px 0 8px #0000000a;box-sizing:border-box;gap:8px;overflow-y:auto;overflow-x:hidden;z-index:10}.cd-toolbar.toolbar-open{width:138px}.toolbar-collapse{width:30px;height:30px;border-radius:8px;border:none;background:#0000000a;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;font-weight:500;margin-bottom:4px;margin-left:auto;margin-right:auto;transition:all .2s cubic-bezier(.4,0,.2,1)}.toolbar-collapse:hover{background:#00000014;color:#374151;transform:scale(1.02)}.toolbar-section{display:flex;flex-direction:column;align-items:stretch;gap:8px}.toolbar-right{display:none}.toolbar-group{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:#fff9;border-radius:10px;border:1px solid rgba(0,0,0,.04)}.toolbar-group .tool-btn{width:34px;height:34px}.toolbar-divider{width:calc(100% - 16px);height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.06),transparent);margin:4px auto;flex-shrink:0}.tool-btn{width:34px;height:34px;padding:5px;border:none;border-radius:8px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s cubic-bezier(.4,0,.2,1)}.tool-btn svg{width:22px;height:22px;color:#4b5563;transition:all .15s cubic-bezier(.4,0,.2,1)}.tool-btn:hover:not(:disabled){background:#3b82f61a}.tool-btn:hover:not(:disabled) svg{color:#2563eb}.tool-btn.active{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #2563eb59,inset 0 1px #ffffff1a;position:relative}.tool-btn.active:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:6px;height:6px;background:#ffffffe6;border-radius:50%;box-shadow:0 0 4px #ffffff80}.tool-btn.active:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb66}.tool-btn.active svg{color:#fff}.tool-btn:disabled{opacity:.35;cursor:not-allowed}.tool-btn-labeled{width:auto;padding:6px 12px;display:flex;flex-direction:row;align-items:center;gap:6px;border-radius:8px}.tool-btn-labeled svg{width:16px;height:16px}.tool-btn-label{font-size:11px;font-weight:500;color:#6b7280;letter-spacing:.2px}.tool-btn-labeled:hover:not(:disabled) .tool-btn-label{color:#2563eb}.toolbar-group-history{background:#3b82f60f;border-radius:10px;padding:4px 6px;border:1px solid rgba(59,130,246,.1)}.tool-btn-history{background:transparent}.tool-btn-history:hover:not(:disabled){background:#3b82f61f}.tool-btn-history .tool-btn-label{color:#3b82f6}.tool-btn-delete{background:#ef444414;border:none}.tool-btn-delete:hover{background:#ef444426!important}.tool-btn-delete svg{color:#ef4444}.tool-btn-delete .tool-btn-label{color:#ef4444}.toolbar-group-action{display:flex;flex-direction:column}.tool-btn-action{display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;min-width:50px;height:auto;padding:8px 10px;background:#3b82f614;border:none;border-radius:10px;gap:3px}.tool-btn-action svg{width:18px;height:18px;color:#3b82f6}.tool-btn-action .tool-btn-text{font-size:9px;font-weight:600;color:#3b82f6;text-transform:uppercase;letter-spacing:.3px}.tool-btn-action:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #2563eb4d}.tool-btn-action:hover svg,.tool-btn-action:hover .tool-btn-text{color:#fff}.formatting-toolbar{display:flex;flex-direction:column;gap:6px;padding:6px;background:#fff9;border-radius:10px;border:1px solid rgba(0,0,0,.04)}.format-btn-row{display:flex;flex-direction:row;gap:4px}.format-select{height:28px;padding:2px 6px;border:none;border-radius:6px;font-size:11px;background:#0000000a;cursor:pointer;min-width:0;color:#374151;transition:all .15s ease}.format-select:hover{background:#00000014}.format-select:focus{outline:none;background:#3b82f61a}.format-select:disabled{opacity:.4;cursor:not-allowed}.format-select.mixed{color:#9ca3af;font-style:italic}.format-font{width:80px}.format-size{width:48px}.format-btn{width:28px;height:28px;padding:0;border:none;border-radius:6px;background:#0000000a;cursor:pointer;font-size:13px;font-weight:600;color:#4b5563;display:flex;align-items:center;justify-content:center;transition:all .15s cubic-bezier(.4,0,.2,1)}.format-btn:hover:not(:disabled){background:#3b82f61f;color:#2563eb}.format-btn.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 6px #2563eb4d}.format-btn.mixed{background:repeating-linear-gradient(45deg,#00000005,#00000005 2px,#0000000f 2px 4px);color:#9ca3af}.format-btn:disabled{opacity:.35;cursor:not-allowed}.format-color-btn{position:relative}.color-swatch-icon{display:block;width:16px;height:16px;border:1px solid rgba(0,0,0,.1);border-radius:4px}.color-auto-icon{background:linear-gradient(135deg,#333 25%,#3050f8 25% 50%,#ff0d0d 50% 75%,#b8a000 75%)}.format-color-auto{grid-column:span 4;width:100%;padding:4px 6px;margin-bottom:3px;font-size:10px;font-weight:600;border:none;border-radius:6px;background:linear-gradient(135deg,#333 20%,#3050f8 20% 40%,#ff0d0d 40% 60%,#b8a000 60% 80%,#888 80%);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);cursor:pointer;transition:all .15s ease}.format-color-auto:hover{box-shadow:0 2px 6px #0003;transform:translateY(-1px)}.format-color-auto.active{box-shadow:0 0 0 2px #2563eb,0 2px 6px #2563eb4d}.formatting-toolbar{position:relative}.format-color-dropdown{position:absolute;bottom:0;left:50%;transform:translate(-50%) translateY(100%);margin-top:6px;padding:8px;background:#fff;border:none;border-radius:10px;box-shadow:0 4px 20px #0000001f,0 0 0 1px #0000000d;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;z-index:100;width:100px}.format-color-swatch{width:18px;height:18px;border:none;border-radius:4px;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);padding:0;box-shadow:inset 0 0 0 1px #0000001a}.format-color-swatch:hover{transform:scale(1.15);z-index:1;box-shadow:0 2px 8px #0003,inset 0 0 0 1px #0000001a}.format-color-swatch.active{box-shadow:0 0 0 2px #2563eb,0 2px 8px #2563eb4d}.format-color-dropdown .format-color-input{grid-column:span 4;width:100%;height:24px;margin-top:4px;border:none;border-radius:6px;cursor:pointer}.element-selector{grid-template-columns:repeat(3,1fr);gap:4px}.element-btn{min-width:32px;font-weight:700}.element-btn .element-label{font-size:13px;color:#4b5563;font-family:SF Mono,Monaco,Consolas,monospace;font-weight:700}.element-btn[data-element=C] .element-label{color:#374151}.element-btn[data-element=N] .element-label{color:#3b82f6}.element-btn[data-element=O] .element-label{color:#ef4444}.element-btn[data-element=S] .element-label{color:#ca8a04}.element-btn[data-element=H] .element-label{color:#6b7280}.element-btn:hover{background:#3b82f61f}.element-btn:hover .element-label{color:#2563eb}.element-btn.active{background:linear-gradient(135deg,#374151,#1f2937);box-shadow:0 2px 6px #0003}.element-btn.active:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #2563eb59}.element-btn.active .element-label{color:#fff}.zoom-control{display:flex;align-items:center;gap:6px;background:#ffffff14;border-radius:var(--radius-md);padding:4px 10px;border:1px solid rgba(255,255,255,.06)}.zoom-control button{width:26px;height:26px;padding:0;border:none;background:transparent;color:#b0bec5;cursor:pointer;font-size:18px;font-weight:700;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.zoom-control button:hover{background:#ffffff1f;color:#e0e0e0}.zoom-control span{color:#b0bec5;font-size:11px;font-weight:600;min-width:44px;text-align:center;font-family:SF Mono,Monaco,Consolas,monospace}.cd-panel{border-bottom:1px solid var(--border-light)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-md);background:linear-gradient(180deg,#eceff1,#e0e4e8);border-bottom:1px solid var(--border-light)}.panel-header h3{margin:0;font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.panel-header .badge{background:var(--sci-primary);color:var(--text-inverse);font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px}.panel-content{padding:var(--space-md);background:#fff}.panel-empty{margin:0;color:var(--text-muted);font-size:12px;text-align:center;padding:var(--space-xl) 0}.analysis-panel .panel-content{padding:var(--space-sm) var(--space-md)}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.analysis-item{display:flex;flex-direction:column;padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg,#fafbfc,#f5f7f9);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.analysis-item label{font-size:9px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.8px;margin-bottom:2px;font-weight:600}.analysis-item .value{font-size:14px;font-weight:600;color:var(--sci-primary-dark);font-family:SF Mono,Monaco,Consolas,monospace}.analysis-item .value.formula{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;letter-spacing:.5px}.properties-panel .panel-content{padding:var(--space-md)}.properties-form{display:flex;flex-direction:column;gap:var(--space-md)}.properties-form label{display:flex;flex-direction:column;gap:var(--space-xs)}.properties-form label span{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.properties-form input,.properties-form select,.properties-form textarea{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:13px;transition:all var(--transition-fast)}.properties-form input:focus,.properties-form select:focus,.properties-form textarea:focus{outline:none;border-color:var(--sci-primary);box-shadow:0 0 0 3px var(--sci-primary-pale)}.properties-form textarea{resize:vertical;min-height:60px}.save-btn{padding:var(--space-sm) var(--space-lg);background:var(--sci-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.save-btn:hover:not(:disabled){background:var(--sci-primary-dark)}.save-btn:disabled{background:var(--border-medium);cursor:default}.button-row{display:flex;gap:var(--space-sm)}.button-row .save-btn{flex:1}.delete-btn{padding:var(--space-sm) var(--space-lg);background:#fff;color:var(--sci-accent-red);border:1px solid var(--sci-accent-red);border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.delete-btn:hover:not(:disabled){background:#ffebee}.delete-btn:disabled{background:#f5f5f5;color:var(--text-muted);border-color:var(--border-light);cursor:default}.cd-canvas-container{flex:1;display:flex;overflow:hidden;background:#fff;position:relative;box-shadow:inset 0 0 20px #00000014}.canvas-wrapper{width:100%;height:100%}.cd-canvas{display:block;width:100%;height:100%;cursor:crosshair;background:#fff;background-image:linear-gradient(var(--canvas-grid) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid) 1px,transparent 1px),linear-gradient(var(--canvas-grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid-major) 1px,transparent 1px);background-size:10px 10px,10px 10px,50px 50px,50px 50px}.cd-canvas .selected-object{cursor:move}.cd-tool-indicator{position:absolute;top:10px;left:10px;background:#263238e6;color:var(--text-inverse);padding:6px 12px;border-radius:var(--radius-md);font-size:12px;font-weight:600;pointer-events:none;z-index:10;display:flex;align-items:center;gap:6px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tool-indicator-element{font-size:14px;font-weight:700;color:var(--sci-primary-light);font-family:SF Mono,Monaco,Consolas,monospace}.tool-indicator-icon{font-size:10px;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.tool-indicator-separator{opacity:.4;margin:0 4px}.cd-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);background:linear-gradient(180deg,#fff,#f5f7fa)}.cd-empty-state h2{margin:0 0 var(--space-sm);font-size:20px;font-weight:600;color:var(--text-primary)}.cd-empty-state p{margin:0;font-size:14px;color:var(--text-muted)}.cd-statusbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-md);background:linear-gradient(180deg,#eceff1,#e0e4e8);border-top:1px solid var(--border-medium);font-size:11px;color:var(--text-secondary);height:26px}.status-left,.status-center,.status-right{display:flex;align-items:center;gap:var(--space-md)}.status-center{flex:1;justify-content:center}.connection-status{display:flex;align-items:center;gap:var(--space-xs);font-weight:600}.connection-status.connected{color:var(--sci-accent-green)}.connection-status.disconnected{color:var(--sci-accent-red)}.dialog-overlay{position:fixed;inset:0;background:#26323899;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--shadow-glow);width:380px;max-width:90vw;border:1px solid var(--border-light)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-light);background:linear-gradient(180deg,#fafbfc,#f5f7fa);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.dialog-header h2{margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.dialog-close{width:28px;height:28px;padding:0;border:none;background:transparent;cursor:pointer;font-size:20px;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.dialog-close:hover{background:var(--border-light);color:var(--text-primary)}.dialog-content{padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.dialog-content label{display:flex;flex-direction:column;gap:var(--space-sm)}.dialog-content label span{font-size:12px;font-weight:600;color:var(--text-secondary)}.dialog-content input{padding:var(--space-md) var(--space-md);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:14px;transition:all var(--transition-fast)}.dialog-content input:focus{outline:none;border-color:var(--sci-primary);box-shadow:0 0 0 3px var(--sci-primary-pale)}.dialog-content input.input-error{border-color:var(--sci-accent-red);background:#ffebee}.dialog-content input.input-error:focus{border-color:var(--sci-accent-red);box-shadow:0 0 0 3px #c628281a}.dialog-error{margin:var(--space-sm) 0 0 0;padding:var(--space-md);background:#ffebee;border:1px solid #ffcdd2;border-radius:var(--radius-md);color:var(--sci-accent-red);font-size:13px;line-height:1.4}.dialog-error strong{display:block;margin-bottom:var(--space-xs)}.dialog-warning{margin:var(--space-sm) 0 0 0;padding:var(--space-sm) var(--space-md);background:#fff8e1;border:1px solid #ffecb3;border-radius:var(--radius-md);color:#f57c00;font-size:13px;line-height:1.4}.dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--border-light);background:linear-gradient(180deg,#fafbfc,#f5f7fa);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.dialog-divider{display:flex;align-items:center;text-align:center;padding:var(--space-md) var(--space-xl);color:var(--text-secondary);font-size:12px}.dialog-divider:before,.dialog-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-light)}.dialog-divider span{padding:0 var(--space-md)}.dialog-oauth{padding:0 var(--space-xl) var(--space-md)}.btn-google{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:10px 16px;background:#fff;border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;text-decoration:none;transition:all var(--transition-fast)}.btn-google:hover{background:#f8f9fa;border-color:var(--border-dark);box-shadow:0 1px 3px #0000001a}.btn-google svg{flex-shrink:0}.dialog-switch{text-align:center;padding:var(--space-md) var(--space-xl) var(--space-lg);color:var(--text-secondary);font-size:13px;border-top:1px solid var(--border-light);background:#f9fafb;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.dialog-success{text-align:center;padding:var(--space-lg) 0}.dialog-success svg{margin-bottom:var(--space-md)}.dialog-success p{color:var(--text-primary);font-size:14px;margin:0}.btn-link{background:none;border:none;color:var(--sci-primary);font-size:13px;font-weight:600;cursor:pointer;padding:0;text-decoration:none}.btn-link:hover{color:var(--sci-primary-dark);text-decoration:underline}.btn-primary{padding:var(--space-sm) var(--space-xl);background:var(--sci-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-primary:hover{background:var(--sci-primary-dark)}.btn-secondary{padding:var(--space-sm) var(--space-xl);background:#fff;color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--bg-panel);border-color:var(--border-dark)}.cd-toast{position:fixed;bottom:48px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:#263238f2;color:var(--text-inverse);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:13px;font-weight:500;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cd-toast.error{background:#c62828f2}.cd-toast.success{background:#2e7d32f2}.cd-toast.info{background:#1565c0f2}.cd-toast button{padding:0;background:none;border:none;color:#fff9;cursor:pointer;font-size:16px;transition:color var(--transition-fast)}.cd-toast button:hover{color:var(--text-inverse)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--border-light)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.dialog.dialog-wide{width:560px}.dialog-hint{margin:0;font-size:12px;color:var(--text-muted)}.file-upload{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.file-hint{font-size:12px;color:var(--text-muted)}.mol-textarea{padding:var(--space-md);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:12px;font-family:SF Mono,Monaco,Consolas,monospace;resize:vertical;background:#fafbfc}.mol-textarea:focus{outline:none;border-color:var(--sci-primary);box-shadow:0 0 0 3px var(--sci-primary-pale)}.shortcuts-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.shortcuts-section h3{margin:0 0 var(--space-sm);font-size:12px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--sci-primary);padding-bottom:var(--space-xs)}.shortcuts-list{display:flex;flex-direction:column;gap:var(--space-xs)}.shortcut-item{display:flex;align-items:center;gap:var(--space-md);font-size:12px}.shortcut-item kbd{display:inline-block;min-width:54px;padding:4px 8px;background:linear-gradient(180deg,#fafbfc,#eceff1);border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;text-align:center;box-shadow:0 1px 2px #0000001a}.shortcut-item span{color:var(--text-secondary)}.about-dialog{max-width:500px}.about-logo{text-align:center;margin-bottom:var(--space-md)}.about-content h3{margin:0;font-size:24px;font-weight:700;color:var(--sci-primary);text-align:center}.about-content .version{margin:var(--space-xs) 0 var(--space-sm);font-size:14px;color:var(--text-muted);text-align:center}.about-content .tagline{margin:0 0 var(--space-lg);font-size:13px;color:var(--text-secondary);line-height:1.6;text-align:center}.about-content p{margin:0 0 var(--space-md);font-size:13px;color:var(--text-secondary);line-height:1.6}.about-content h4{margin:var(--space-lg) 0 var(--space-sm);font-size:14px;font-weight:700;color:var(--text-primary)}.about-content ul{margin:0;padding-left:var(--space-xl);font-size:13px;color:var(--text-secondary);line-height:1.7}.about-content .contact-info{margin:var(--space-xs) 0}.about-content .contact-info a{color:var(--sci-primary);text-decoration:none}.about-content .contact-info a:hover{text-decoration:underline}.about-content .credits{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--border-light);font-size:12px;color:var(--text-muted);text-align:center}.about-content .copyright{margin-top:var(--space-xs);font-size:11px;color:var(--text-muted);text-align:center}.template-content{min-height:300px}.template-actions{margin-bottom:var(--space-lg)}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.template-card{padding:var(--space-md);background:linear-gradient(180deg,#fafbfc,#f5f7fa);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all var(--transition-fast)}.template-card:hover{border-color:var(--sci-primary);box-shadow:var(--shadow-sm)}.template-info{margin-bottom:var(--space-sm)}.template-name{display:block;font-weight:600;font-size:13px;color:var(--text-primary);margin-bottom:var(--space-xs)}.template-desc{display:block;font-size:12px;color:var(--text-muted)}.template-card .template-actions{display:flex;gap:var(--space-sm);margin-bottom:0}.btn-small{padding:var(--space-xs) var(--space-md);font-size:12px;border-radius:var(--radius-sm)}.btn-danger{background:var(--sci-accent-red);color:var(--text-inverse);border:none;cursor:pointer;transition:all var(--transition-fast)}.btn-danger:hover{background:#b71c1c}.template-create-form{padding:var(--space-lg);background:linear-gradient(180deg,#fafbfc,#f5f7fa);border-radius:var(--radius-md);border:1px solid var(--border-light)}.template-create-form h3{margin:0 0 var(--space-lg);font-size:14px;font-weight:700;color:var(--text-primary)}.template-create-form label{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.template-create-form label span{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.template-create-form input{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:13px}.template-create-form input:focus{outline:none;border-color:var(--sci-primary)}.template-form-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:default}.landing-page{width:100%;min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#f8fafc,#e8eef5);overflow-x:hidden}.landing-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) 48px;background:#fff;box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-light)}.landing-logo{display:flex;align-items:center;gap:var(--space-md)}.landing-logo svg{width:40px;height:40px}.landing-logo h1{margin:0;font-size:24px;font-weight:800;color:var(--sci-primary);letter-spacing:-.5px}.landing-nav{display:flex;align-items:center;gap:var(--space-md)}.landing-nav .nav-link{display:flex;align-items:center;color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;padding:var(--space-sm) var(--space-md);margin-top:2px;line-height:1;transition:color var(--transition-fast)}.landing-nav .nav-link:hover{color:var(--sci-primary)}.landing-nav .btn-secondary{padding:var(--space-sm) var(--space-xl);background:transparent;color:var(--text-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.landing-nav .btn-secondary:hover{background:var(--sci-primary-pale);border-color:var(--sci-primary);color:var(--sci-primary)}.landing-nav .btn-primary{padding:var(--space-sm) var(--space-xl);background:var(--sci-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.landing-nav .btn-primary:hover{background:var(--sci-primary-dark)}.landing-main{width:100%;flex:1;display:flex;flex-direction:column}.landing-hero{width:100%;padding:50px 48px 40px;text-align:center;background:linear-gradient(180deg,#fff,#f8fafc);position:relative}.landing-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(21,101,192,.05) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(21,101,192,.05) 0%,transparent 50%);pointer-events:none}.landing-hero h2{margin:0 0 var(--space-lg);font-size:52px;font-weight:800;color:var(--text-primary);line-height:1.15;letter-spacing:-1px;position:relative}.landing-hero h2 span{color:var(--sci-primary)}.landing-hero p{margin:0 auto 24px;max-width:600px;font-size:16px;color:var(--text-secondary);line-height:1.6;position:relative}.hero-buttons{display:flex;justify-content:center;gap:var(--space-lg);position:relative}.hero-buttons .btn-primary{padding:var(--space-lg) 36px;background:var(--sci-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-lg);font-size:16px;font-weight:700;cursor:pointer;transition:all var(--transition-normal);box-shadow:0 4px 20px #1565c04d}.hero-buttons .btn-primary:hover{background:var(--sci-primary-dark);transform:translateY(-3px);box-shadow:0 8px 30px #1565c066}.hero-buttons .btn-secondary{padding:var(--space-lg) 36px;background:#fff;color:var(--text-primary);border:2px solid var(--border-medium);border-radius:var(--radius-lg);font-size:16px;font-weight:700;cursor:pointer;transition:all var(--transition-normal)}.hero-buttons .btn-secondary:hover{background:var(--sci-primary-pale);border-color:var(--sci-primary);color:var(--sci-primary)}.landing-preview{width:100%;padding:24px 48px 40px;display:flex;justify-content:center}.preview-container{background:#fff;border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-lg),var(--shadow-glow);max-width:540px;width:100%;border:1px solid var(--border-light)}.preview-container h3{margin:0 0 var(--space-lg);font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.preview-container svg{width:100%;height:auto}.landing-features{width:100%;max-width:1200px;margin:0 auto;padding:60px 48px;background:#fff}.landing-features h2{margin:0 0 48px;text-align:center;font-size:36px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl);max-width:1200px;margin:0 auto}.feature-card{padding:32px;background:linear-gradient(180deg,#fafbfc,#f5f7fa);border-radius:var(--radius-xl);border:1px solid var(--border-light);transition:all var(--transition-normal)}.feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--sci-primary-pale)}.feature-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--sci-primary-pale);border-radius:var(--radius-lg);margin-bottom:var(--space-lg)}.feature-icon svg{width:28px;height:28px;color:var(--sci-primary)}.feature-card h3{margin:0 0 var(--space-sm);font-size:18px;font-weight:700;color:var(--text-primary)}.feature-card p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.6}.landing-footer{width:100%;padding:var(--space-xl) 48px;text-align:center;background:var(--bg-toolbar);color:#b0bec5;font-size:13px}.landing-footer p{margin:0}.landing-footer .footer-contact{margin-top:var(--space-sm);font-size:12px}.landing-footer a{color:#90caf9;text-decoration:none}.landing-footer a:hover{text-decoration:underline}.landing-bg-molecules{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:0}.floating-mol{position:absolute;opacity:.6;animation:float 20s ease-in-out infinite}.mol-1{top:10%;left:5%;animation-delay:0s;animation-duration:25s}.mol-2{top:20%;right:8%;animation-delay:-5s;animation-duration:22s}.mol-3{top:60%;left:10%;animation-delay:-10s;animation-duration:28s}.mol-4{top:70%;right:15%;animation-delay:-15s;animation-duration:24s}.mol-5{top:40%;left:50%;animation-delay:-8s;animation-duration:30s}@keyframes float{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(20px,-30px) rotate(5deg)}50%{transform:translate(-10px,20px) rotate(-3deg)}75%{transform:translate(15px,10px) rotate(3deg)}}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:linear-gradient(135deg,#2563eb1a,#a855f71a);border:1px solid rgba(37,99,235,.2);border-radius:50px;font-size:13px;font-weight:600;color:var(--sci-primary);margin-bottom:var(--space-xl);position:relative}.badge-icon{color:#f59e0b}.hero-highlight{background:linear-gradient(135deg,var(--sci-primary) 0%,#7c3aed 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-hero h1{margin:0 0 var(--space-lg);font-size:56px;font-weight:800;color:var(--text-primary);line-height:1.1;letter-spacing:-1.5px;position:relative}.hero-actions{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:20px;position:relative}.hero-actions .btn-primary{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-lg) 32px;background:linear-gradient(135deg,var(--sci-primary) 0%,#1d4ed8 100%);color:var(--text-inverse);border:none;border-radius:var(--radius-lg);font-size:16px;font-weight:700;cursor:pointer;transition:all var(--transition-normal);box-shadow:0 4px 20px #2563eb59}.hero-actions .btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px #2563eb73}.hero-actions .btn-secondary{padding:var(--space-lg) 32px;background:#fff;color:var(--text-primary);border:2px solid var(--border-medium);border-radius:var(--radius-lg);font-size:16px;font-weight:700;cursor:pointer;transition:all var(--transition-normal)}.hero-actions .btn-secondary:hover{background:var(--sci-primary-pale);border-color:var(--sci-primary);color:var(--sci-primary)}.btn-icon{font-size:18px}.hero-stats{display:flex;justify-content:center;align-items:center;gap:var(--space-xl);position:relative}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-number{font-size:24px;font-weight:800;color:var(--sci-primary);letter-spacing:-.5px}.stat-label{font-size:12px;color:var(--text-muted);font-weight:500;margin-top:2px}.stat-divider{width:1px;height:40px;background:var(--border-medium)}.preview-window{background:#fff;border-radius:16px;box-shadow:0 25px 80px -12px #00000040,0 0 0 1px #0000000d;max-width:600px;width:100%;overflow:hidden}.preview-titlebar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(180deg,#f8f9fa,#f1f3f4);border-bottom:1px solid var(--border-light)}.preview-dot{width:12px;height:12px;border-radius:50%}.preview-dot.red{background:#ff5f57}.preview-dot.yellow{background:#febc2e}.preview-dot.green{background:#28c840}.preview-title{margin-left:12px;font-size:13px;font-weight:500;color:var(--text-muted)}.preview-content{padding:24px;background:#fafbfc}.preview-molecule{width:100%;height:auto}.landing-how-it-works{width:100%;max-width:1200px;margin:0 auto;padding:60px 48px;background:linear-gradient(180deg,#f8fafc,#fff);position:relative}.landing-how-it-works h2{margin:0 0 48px;text-align:center;font-size:36px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.steps-grid{display:flex;justify-content:center;align-items:center;gap:var(--space-lg);max-width:1000px;margin:0 auto}.step-card{flex:1;max-width:280px;padding:32px 24px;background:#fff;border-radius:var(--radius-xl);border:1px solid var(--border-light);text-align:center;position:relative;transition:all var(--transition-normal)}.step-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px -8px #0000001f}.step-number{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sci-primary) 0%,#1d4ed8 100%);color:#fff;font-size:14px;font-weight:700;border-radius:50%}.step-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--sci-primary-pale);border-radius:16px;margin:0 auto var(--space-lg);color:var(--sci-primary)}.step-card h3{margin:0 0 var(--space-sm);font-size:18px;font-weight:700;color:var(--text-primary)}.step-card p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}.step-connector{display:flex;align-items:center;opacity:.5}.features-subtitle{text-align:center;font-size:18px;color:var(--text-secondary);max-width:600px;margin:-32px auto 48px}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);max-width:1100px;margin:0 auto}.feature-card{padding:28px;background:#fff;border-radius:var(--radius-xl);border:1px solid var(--border-light);transition:all var(--transition-normal)}.feature-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px -12px #00000026;border-color:var(--sci-primary-pale)}.feature-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sci-primary-pale) 0%,rgba(168,85,247,.1) 100%);border-radius:14px;margin-bottom:var(--space-lg);color:var(--sci-primary)}.landing-cta{width:100%;padding:80px 48px;background:linear-gradient(135deg,var(--sci-primary) 0%,#1e40af 50%,#7c3aed 100%);position:relative;overflow:hidden}.landing-cta:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.cta-content{text-align:center;position:relative;max-width:600px;margin:0 auto}.landing-cta h2{margin:0 0 var(--space-md);font-size:36px;font-weight:800;color:#fff;letter-spacing:-.5px}.landing-cta p{margin:0 0 var(--space-xl);font-size:18px;color:#ffffffd9}.landing-cta .btn-primary{padding:var(--space-lg) 36px;background:#fff;color:var(--sci-primary);border:none;border-radius:var(--radius-lg);font-size:16px;font-weight:700;cursor:pointer;transition:all var(--transition-normal);box-shadow:0 4px 20px #0003}.landing-cta .btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0000004d}.landing-footer{width:100%;padding:60px 48px 32px;background:#1e293b;color:#94a3b8;text-align:left}.footer-content{display:flex;justify-content:space-between;max-width:1100px;margin:0 auto var(--space-xl);gap:48px}.footer-brand{flex:1;max-width:300px}.footer-logo{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.footer-logo span{font-size:20px;font-weight:700;color:#fff}.footer-tagline{font-size:14px;line-height:1.6;color:#94a3b8}.footer-links{display:flex;gap:64px}.footer-column h4{margin:0 0 var(--space-md);font-size:14px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.footer-column a{display:block;padding:var(--space-xs) 0;font-size:14px;color:#94a3b8;text-decoration:none;transition:color var(--transition-fast)}.footer-column a:hover{color:#fff}.footer-bottom{max-width:1100px;margin:0 auto;padding-top:var(--space-xl);border-top:1px solid rgba(255,255,255,.1);text-align:center}.footer-bottom p{margin:0;font-size:13px;color:#64748b}.landing-audience{width:100%;max-width:1200px;margin:0 auto;padding:60px 48px;background:#f8fafc}.landing-audience h2{text-align:center;margin:0 0 var(--space-md);font-size:36px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.landing-audience>p{text-align:center;max-width:600px;margin:0 auto var(--space-xxl);font-size:18px;color:var(--text-secondary);line-height:1.6}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-xl);max-width:1100px;margin:0 auto}.audience-card{background:#fff;border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;box-shadow:0 4px 20px #0000000d;border:1px solid var(--border-light);transition:all var(--transition-normal)}.audience-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001a}.audience-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--sci-primary-pale) 0%,#dbeafe 100%);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-lg);font-size:28px}.audience-card h3{margin:0 0 var(--space-sm);font-size:18px;font-weight:700;color:var(--text-primary)}.audience-card p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.6}.landing-pricing{width:100%;padding:80px 48px;background:#fff}.landing-pricing h2{text-align:center;margin:0 0 var(--space-md);font-size:36px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.landing-pricing>p{text-align:center;max-width:600px;margin:0 auto var(--space-xxl);font-size:18px;color:var(--text-secondary);line-height:1.6}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl);max-width:800px;margin:0 auto}.pricing-card{background:#fff;border-radius:var(--radius-lg);padding:var(--space-xxl);border:2px solid var(--border-light);position:relative;transition:all var(--transition-normal)}.pricing-card:hover{border-color:var(--sci-primary-light)}.pricing-card.featured{border-color:var(--sci-primary);box-shadow:0 8px 40px #3b82f626}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--sci-primary);color:#fff;padding:var(--space-xs) var(--space-lg);border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.pricing-card h3{margin:0 0 var(--space-md);font-size:24px;font-weight:700;color:var(--text-primary)}.price-amount{font-size:48px;font-weight:800;color:var(--text-primary);line-height:1}.price-period{font-size:16px;color:var(--text-secondary);font-weight:500}.pricing-card ul{list-style:none;padding:0;margin:var(--space-xl) 0}.pricing-card li{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) 0;font-size:14px;color:var(--text-secondary);line-height:1.5}.pricing-card li:before{content:"✓";color:var(--sci-primary);font-weight:700;flex-shrink:0}.pricing-card .btn-primary,.pricing-card .btn-secondary{width:100%;padding:var(--space-md) var(--space-xl);font-size:15px;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.pricing-card .btn-secondary{background:transparent;border:2px solid var(--border-medium);color:var(--text-primary)}.pricing-card .btn-secondary:hover{border-color:var(--sci-primary);color:var(--sci-primary)}.pricing-card .btn-primary{background:var(--sci-primary);border:2px solid var(--sci-primary);color:#fff}.pricing-card .btn-primary:hover{background:var(--sci-primary-dark);border-color:var(--sci-primary-dark)}.landing-social-proof{width:100%;padding:80px 48px;background:#f8fafc}.landing-social-proof h2{text-align:center;margin:0 0 var(--space-xxl);font-size:36px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);max-width:1100px;margin:0 auto}.testimonial-card{background:#fff;border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:0 4px 20px #0000000d;border:1px solid var(--border-light)}.testimonial-quote{font-size:15px;color:var(--text-secondary);line-height:1.7;font-style:italic;margin:0 0 var(--space-lg)}.testimonial-author{display:flex;align-items:center;gap:var(--space-md)}.author-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--sci-primary) 0%,#7c3aed 100%);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}.author-info{display:flex;flex-direction:column;gap:2px}.author-name{font-size:14px;font-weight:600;color:var(--text-primary)}.author-title{font-size:12px;color:var(--text-muted)}@media(max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr)}.steps-grid{flex-wrap:wrap}.step-connector{display:none}.footer-content{flex-direction:column;gap:var(--space-xl)}.footer-links{gap:32px}.audience-grid,.testimonials-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.landing-bg-molecules{display:none}.landing-header{padding:var(--space-md) var(--space-xl);flex-direction:column;gap:var(--space-md)}.landing-hero{padding:60px var(--space-xl)}.landing-hero h1{font-size:36px;letter-spacing:-.5px}.landing-hero p{font-size:16px}.hero-actions{flex-direction:column;gap:var(--space-md)}.hero-stats{flex-direction:column;gap:var(--space-lg)}.stat-divider{width:60px;height:1px}.landing-how-it-works{padding:48px var(--space-xl)}.steps-grid{flex-direction:column;gap:var(--space-xl)}.step-card{max-width:100%}.landing-features{padding:48px var(--space-xl)}.features-grid{grid-template-columns:1fr}.features-subtitle{margin:-16px 0 32px;font-size:16px}.landing-cta{padding:48px var(--space-xl)}.landing-cta h2{font-size:28px}.landing-footer{padding:40px var(--space-xl) 24px}.footer-links{flex-direction:column;gap:var(--space-xl)}.preview-window{max-width:100%}.landing-audience{padding:48px var(--space-xl)}.landing-audience h2{font-size:28px}.audience-grid{grid-template-columns:1fr;gap:var(--space-lg)}.landing-pricing{padding:48px var(--space-xl)}.landing-pricing h2{font-size:28px}.pricing-grid{grid-template-columns:1fr}.landing-social-proof{padding:48px var(--space-xl)}.landing-social-proof h2{font-size:28px}.testimonials-grid{grid-template-columns:1fr}}.stereo-summary{display:flex;gap:var(--space-xl);margin-bottom:var(--space-xl);padding:var(--space-lg);background:linear-gradient(180deg,#fafbfc,#f5f7fa);border-radius:var(--radius-md);border:1px solid var(--border-light)}.stereo-stat{display:flex;flex-direction:column;align-items:center}.stereo-stat .stat-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.stereo-stat .stat-value{font-size:20px;font-weight:700;color:var(--sci-primary);font-family:SF Mono,Monaco,Consolas,monospace}.stereo-stat .stat-value.type-chiral{color:var(--sci-accent-green)}.stereo-stat .stat-value.type-meso{color:var(--sci-accent-orange)}.stereo-stat .stat-value.type-achiral{color:var(--text-muted)}.stereo-section{margin-bottom:var(--space-xl)}.stereo-section h4{margin:0 0 var(--space-md) 0;font-size:13px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.stereo-table{width:100%;border-collapse:collapse;font-size:13px}.stereo-table th,.stereo-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--border-light)}.stereo-table th{background:linear-gradient(180deg,#fafbfc,#f5f7fa);font-weight:700;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.stereo-table .cip-R,.stereo-table .cip-E{color:var(--sci-accent-green);font-weight:700;font-family:SF Mono,Monaco,Consolas,monospace}.stereo-table .cip-S,.stereo-table .cip-Z{color:var(--sci-accent-red);font-weight:700;font-family:SF Mono,Monaco,Consolas,monospace}.stereo-table .cip-r,.stereo-table .cip-s{color:var(--sci-accent-orange);font-style:italic;font-family:SF Mono,Monaco,Consolas,monospace}.stereo-none{color:var(--text-muted);font-style:italic;text-align:center;padding:var(--space-xl)}.abbrev-content{min-height:320px}.abbrev-controls{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}.abbrev-search{flex:1;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:13px}.abbrev-search:focus{outline:none;border-color:var(--sci-primary);box-shadow:0 0 0 3px var(--sci-primary-pale)}.abbrev-category{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:13px;background:#fff;min-width:160px}.abbrev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-sm);max-height:380px;overflow-y:auto;padding:var(--space-xs)}.abbrev-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-md) var(--space-sm);border:1px solid var(--border-light);border-radius:var(--radius-md);background:#fff;cursor:pointer;transition:all var(--transition-fast)}.abbrev-label{font-size:18px;font-weight:700;color:var(--sci-primary);font-family:SF Mono,Monaco,Consolas,monospace}.abbrev-name{font-size:10px;color:var(--text-muted);margin-top:var(--space-xs);text-align:center;line-height:1.3}.abbrev-none{text-align:center;color:var(--text-muted);font-style:italic;padding:48px}.abbrev-loading{text-align:center;color:var(--text-muted);padding:48px}.dialog-tabs{display:flex;border-bottom:1px solid var(--border-medium);margin:0 -24px;padding:0 24px}.dialog-tab{padding:var(--space-sm) var(--space-lg);border:none;background:transparent;font-size:14px;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--transition-fast)}.dialog-tab:hover{color:var(--sci-primary)}.dialog-tab.active{color:var(--sci-primary);border-bottom-color:var(--sci-primary);font-weight:600}.abbrev-item{position:relative;display:flex;flex-direction:column;align-items:center;padding:var(--space-md) var(--space-sm);border:1px solid var(--border-light);border-radius:var(--radius-md);background:#fff;transition:all var(--transition-fast)}.abbrev-item-main{display:flex;flex-direction:column;align-items:center;width:100%;border:none;background:transparent;cursor:pointer;padding:0}.abbrev-item:hover{border-color:var(--sci-primary);background:var(--sci-primary-pale);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.abbrev-custom{border-color:var(--sci-secondary);background:#fff7ed}.abbrev-custom:hover{border-color:var(--sci-secondary);background:#ffedd5}.abbrev-item-actions{display:none;position:absolute;top:2px;right:2px;gap:2px}.abbrev-item:hover .abbrev-item-actions{display:flex}.abbrev-edit-btn,.abbrev-delete-btn{width:20px;height:20px;border:none;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.abbrev-edit-btn{background:var(--sci-primary-pale);color:var(--sci-primary)}.abbrev-edit-btn:hover{background:var(--sci-primary);color:#fff}.abbrev-delete-btn{background:#fee2e2;color:#dc2626}.abbrev-delete-btn:hover{background:#dc2626;color:#fff}.abbrev-editor h3{margin:0 0 var(--space-lg) 0;font-size:16px;color:var(--text-primary)}.abbrev-error{background:#fee2e2;color:#dc2626;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:13px}.abbrev-form{display:flex;flex-direction:column;gap:var(--space-md)}.abbrev-form .form-row{display:flex;flex-direction:column;gap:var(--space-xs)}.abbrev-form label{font-size:13px;font-weight:600;color:var(--text-primary)}.abbrev-form input{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:14px}.abbrev-form input:focus{outline:none;border-color:var(--sci-primary);box-shadow:0 0 0 3px var(--sci-primary-pale)}.abbrev-form .form-hint{font-size:11px;color:var(--text-muted)}.abbrev-custom-list{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border-light)}.abbrev-custom-list h4{margin:0 0 var(--space-md) 0;font-size:14px;color:var(--text-primary)}.abbrev-custom-grid{display:flex;flex-direction:column;gap:var(--space-xs);max-height:200px;overflow-y:auto}.abbrev-custom-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#f9fafb;border-radius:var(--radius-md)}.abbrev-custom-item .abbrev-label{font-size:14px;font-weight:600;min-width:80px}.abbrev-custom-item .abbrev-smiles{flex:1;font-size:12px;color:var(--text-muted);font-family:SF Mono,Monaco,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.abbrev-custom-item button{width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all var(--transition-fast)}.abbrev-custom-item button:hover{background:var(--sci-primary-pale);color:var(--sci-primary)}.assistant-toggle{width:36px;height:36px;border-radius:50%;border:none;background:linear-gradient(180deg,var(--sci-primary) 0%,var(--sci-primary-dark) 100%);color:var(--text-inverse);font-weight:700;letter-spacing:.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #1565c04d;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.assistant-toggle:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1565c059}.assistant-panel-shell.hidden{display:none}.assistant-panel-shell.open{display:flex;flex:1;min-height:0;width:100%}.agent-panel{flex:1;min-height:0;background:#fff;display:flex;flex-direction:column;overflow:hidden}.agent-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg,var(--sci-primary) 0%,var(--sci-primary-dark) 100%);border-bottom:1px solid var(--sci-primary-dark)}.agent-collapse{width:24px;height:24px;border:none;border-radius:50%;background:#fff3;color:var(--text-inverse);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),transform var(--transition-fast)}.agent-collapse:hover{background:#ffffff4d;transform:translateY(-1px)}.agent-icon{font-size:18px}.agent-title{font-size:13px;font-weight:700;color:var(--text-inverse);letter-spacing:.3px}.agent-error{margin-left:auto;width:20px;height:20px;background:var(--sci-accent-red);color:var(--text-inverse);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;cursor:help}.agent-messages{flex:1;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);background:linear-gradient(180deg,#fafbfc,#fff)}.agent-welcome{color:var(--text-secondary);font-size:13px;text-align:center;padding:var(--space-xl)}.agent-welcome p{margin:0 0 var(--space-sm) 0}.agent-hint{font-size:12px;color:var(--text-muted);font-style:italic}.agent-message{max-width:85%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:13px;line-height:1.5}.agent-message.user{align-self:flex-end;background:var(--sci-primary);color:var(--text-inverse);border-bottom-right-radius:var(--radius-xs)}.agent-message.assistant{align-self:flex-start;background:#eceff1;color:var(--text-primary);border-bottom-left-radius:var(--radius-xs);border:1px solid var(--border-light)}.message-content{white-space:pre-wrap}.message-content.typing{color:var(--text-muted);font-style:italic}.agent-input-form{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg,#fafbfc,#eceff1);border-top:1px solid var(--border-light);align-items:flex-end}.agent-input{flex:1;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:13px;outline:none;resize:none;font-family:inherit;line-height:1.4;transition:all var(--transition-fast)}.agent-input:focus{border-color:var(--sci-primary);box-shadow:0 0 0 3px var(--sci-primary-pale)}.agent-send{padding:var(--space-sm) var(--space-lg);background:var(--sci-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;height:fit-content;transition:all var(--transition-fast)}.agent-send:hover:not(:disabled){background:var(--sci-primary-dark)}.agent-send:disabled{background:var(--border-medium);cursor:default}.agent-clear{margin-left:auto;width:24px;height:24px;background:transparent;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.agent-clear:hover{background:var(--border-light);color:var(--text-primary)}.agent-message.tool{align-self:flex-start;background:var(--sci-primary-pale);color:var(--sci-primary);border:1px solid rgba(21,101,192,.3);border-bottom-left-radius:var(--radius-xs);font-size:12px;max-width:90%}.agent-message.tool.success{background:#e8f5e9;color:var(--sci-accent-green);border-color:#2e7d324d}.agent-message.tool.error{background:#ffebee;color:var(--sci-accent-red);border-color:#c628284d}.tool-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs);opacity:.8}.spinner{width:36px;height:36px;border:3px solid var(--border-light);border-top-color:var(--sci-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.molecule-selected{filter:drop-shadow(0 0 4px var(--sci-primary))}.bond-line{stroke:var(--text-primary);stroke-linecap:round}.bond-line.aromatic{stroke-dasharray:4 2}.atom-label{font-family:SF Mono,Monaco,Consolas,monospace;font-weight:600}.scientific-notation{font-family:SF Mono,Monaco,Consolas,monospace}.scientific-notation sup{font-size:.7em;vertical-align:super}.scientific-notation sub{font-size:.7em;vertical-align:sub}.chem-formula{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.3px}.chem-formula sub{font-size:.75em;vertical-align:sub}.canvas-ruler{background:linear-gradient(180deg,#eceff1,#e0e4e8);border:1px solid var(--border-medium)}.canvas-ruler-mark{stroke:var(--text-muted);stroke-width:1}.canvas-ruler-label{fill:var(--text-muted);font-size:9px;font-family:SF Mono,Monaco,Consolas,monospace}.periodic-table-dialog{width:auto;max-width:95vw;max-height:90vh;overflow:auto}.periodic-table-dialog .dialog-content{padding:var(--space-lg)}.pt-common{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;padding:var(--space-md);background:var(--sci-primary-pale);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.pt-common-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-right:var(--space-sm);display:flex;align-items:center;height:32px;line-height:32px}.pt-common-btn{width:32px;height:32px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:#fff;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-primary);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.pt-common-btn:hover:not(.active){background:var(--sci-primary-light);color:#fff;border-color:var(--sci-primary)}.pt-common-btn.active{background:var(--sci-primary);color:#fff;border-color:var(--sci-primary-dark)}.pt-common-btn.active:hover{background:var(--sci-primary-dark)}.pt-table{display:grid;grid-template-columns:repeat(18,1fr);gap:2px;width:100%}.pt-row{display:contents}.pt-cell{width:100%;height:36px;border:1px solid #ccc;border-radius:3px;font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.pt-cell:hover{transform:scale(1.1);z-index:10;box-shadow:var(--shadow-md)}.pt-cell.active{outline:3px solid var(--sci-primary);outline-offset:1px}.pt-empty{background:transparent;border:none;cursor:default}.pt-empty:hover{transform:none;box-shadow:none}.pt-nonmetal{background:#a8d5a2;color:#1a3d1a}.pt-noble{background:#c9b8e8;color:#3d2a5a}.pt-alkali{background:#ffb8b8;color:#5a1a1a}.pt-alkaline{background:#ffd699;color:#5a3d1a}.pt-transition{background:#b8d4e8;color:#1a3d5a}.pt-metal{background:#d0d0d0;color:#2a2a2a}.pt-metalloid{background:#b8e8d4;color:#1a5a3d}.pt-halogen{background:#fff59d;color:#5a5a1a}.pt-legend{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-light)}.pt-legend-item{font-size:10px;padding:2px 6px;border-radius:3px}.element-btn.more-elements{font-size:14px;letter-spacing:1px}.tool-btn.more-rings,.tool-btn.more-arrows{background:#fff;border-color:#d0d0d0}.tool-btn.more-rings .more-label,.tool-btn.more-arrows .more-label{font-size:18px;font-weight:700;color:#333;letter-spacing:2px}.tool-btn.more-rings:hover,.tool-btn.more-arrows:hover{background:#f0f0f0;border-color:#b0b0b0}.tool-btn.more-rings:hover .more-label,.tool-btn.more-arrows:hover .more-label{color:#000}.ring-selector-dialog,.arrow-selector-dialog{width:auto;min-width:400px;max-width:600px;max-height:85vh;overflow:auto}.ring-selector-dialog .dialog-content,.arrow-selector-dialog .dialog-content{padding:var(--space-md)}.ring-category{margin-bottom:var(--space-md)}.ring-category:last-child{margin-bottom:0}.ring-category-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:2px}.category-hint{font-size:10px;font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0;font-style:italic}.ring-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-sm)}.ring-selector-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-sm);border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;transition:all var(--transition-fast);min-height:70px}.ring-selector-btn:hover{background:var(--sci-primary-light);border-color:var(--sci-primary);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.ring-selector-btn:hover .ring-name{color:#fff}.ring-selector-btn:hover .ring-icon svg{color:#fff}.ring-selector-btn.active{background:#333;border-color:#222;color:#fff}.ring-selector-btn.active:hover{background:var(--sci-primary);border-color:var(--sci-primary-dark)}.ring-selector-btn.active .ring-name{color:#fff}.ring-selector-btn.active .ring-icon svg{color:#fff}.ring-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-xs)}.ring-icon svg{width:32px;height:32px;color:var(--text-primary)}.ring-name{font-size:11px;font-weight:500;color:var(--text-secondary);text-align:center;line-height:1.2}.arrow-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.arrow-selector-btn{position:relative;min-height:80px}.arrow-shortcut{position:absolute;top:4px;right:4px;font-size:9px;font-weight:600;color:var(--text-muted);background:var(--border-light);padding:1px 4px;border-radius:3px;text-transform:uppercase}.arrow-selector-btn:hover .arrow-shortcut,.arrow-selector-btn.active .arrow-shortcut{background:#fff3;color:#fff}.font-picker-dialog{width:280px}.font-picker-dialog .dialog-content{padding:12px}.font-picker-row{margin-bottom:8px}.font-picker-row label{display:flex;flex-direction:row;align-items:center;gap:8px}.font-picker-row label span,.font-picker-row>span{font-size:11px;font-weight:600;color:var(--text-secondary);min-width:50px}.font-picker-row select{flex:1;padding:4px 8px;border:1px solid var(--border-medium);border-radius:4px;font-size:12px;background:var(--surface);cursor:pointer}.font-picker-row select:focus{outline:none;border-color:var(--sci-primary)}.font-picker-styles{display:flex;flex-direction:row;align-items:center;gap:8px}.font-style-buttons{display:flex;gap:4px}.font-style-btn{width:28px;height:28px;border:1px solid var(--border-medium);border-radius:4px;background:var(--surface);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.font-style-btn:hover{background:var(--sci-primary-light);border-color:var(--sci-primary);color:#fff}.font-style-btn.active{background:#333;border-color:#222;color:#fff}.font-style-btn.active:hover{background:var(--sci-primary);border-color:var(--sci-primary-dark)}.font-style-btn.mixed{background:repeating-linear-gradient(45deg,var(--surface),var(--surface) 3px,#e5e5e5 3px,#e5e5e5 6px);color:#999}.font-picker-row select.mixed-value{color:#999;font-style:italic}.font-color-grid{display:grid;grid-template-columns:repeat(10,20px);gap:2px;margin-top:4px}.font-color-btn{width:20px;height:20px;border:1px solid rgba(0,0,0,.2);border-radius:2px;cursor:pointer;transition:all .1s ease}.font-color-btn:hover{transform:scale(1.15);z-index:1}.font-color-btn.active{border:2px solid #333}.font-color-input{width:100%;height:24px;border:1px solid var(--border-medium);border-radius:4px;cursor:pointer;padding:1px;margin-top:4px}.font-picker-preview{margin-top:8px;padding:8px;border:1px solid var(--border-light);border-radius:4px;background:#fafafa}.font-picker-preview>span{font-size:10px;color:var(--text-secondary);display:block;margin-bottom:4px}.font-preview-text{padding:6px;background:#fff;border-radius:4px;min-height:30px;display:flex;align-items:center;justify-content:center}.stoichiometry-dialog{max-width:700px}.stoich-limiting-section{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-md);background:var(--bg-panel);border-radius:var(--radius-md);flex-wrap:wrap}.stoich-limiting-section label{font-weight:600;color:var(--text-secondary)}.stoich-select{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:#fff;min-width:180px}.stoich-moles-input{width:100px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-medium);border-radius:var(--radius-sm)}.stoich-table-container{overflow-x:auto;margin-bottom:var(--space-md)}.stoich-table{width:100%;border-collapse:collapse;font-size:13px}.stoich-table th,.stoich-table td{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-light);text-align:left}.stoich-table th{background:var(--sci-primary-pale);font-weight:600;color:var(--text-primary)}.stoich-table tr.stoich-section-header td{background:#f5f5f5;font-weight:600;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.stoich-table tr.limiting-reagent{background:#fff3cd}.stoich-coeff-input{width:50px;padding:2px 4px;border:1px solid var(--border-light);border-radius:var(--radius-sm);text-align:center;font-size:13px}.stoich-coeff-input:disabled{background:#f0f0f0;color:#999}.stoich-formula{font-family:Times New Roman,serif;font-style:italic}.stoich-mw,.stoich-moles,.stoich-mass{text-align:right;font-family:monospace}.stoich-role{white-space:nowrap}.role-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;text-transform:capitalize}.role-badge.role-reactant{background:#93c5fd;color:#1e40af}.role-badge.role-product{background:#86efac;color:#166534}.role-badge.role-catalyst{background:#f9a8d4;color:#9d174d}.role-badge.role-solvent{background:#d1d5db;color:#374151}.limiting-badge{display:inline-block;margin-left:var(--space-xs);padding:2px 6px;background:#fbbf24;color:#92400e;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase}.stoich-legend{padding:var(--space-md);background:#f8fafc;border-radius:var(--radius-md)}.stoich-legend h4{margin:0 0 var(--space-sm) 0;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.legend-items{display:flex;flex-wrap:wrap;gap:var(--space-md)}.legend-item{display:flex;align-items:center;gap:var(--space-xs);font-size:12px;color:var(--text-secondary)}.legend-color{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.reaction-templates-dialog{max-height:85vh}.templates-filter-bar{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}.templates-search{flex:1;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:14px}.templates-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2563eb1a}.templates-category-select{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg);font-size:14px;min-width:140px}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md);max-height:50vh;overflow-y:auto;padding:var(--space-xs)}.template-card{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;transition:all .2s ease;background:var(--bg)}.template-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #2563eb26;transform:translateY(-2px)}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-sm)}.template-name{font-weight:600;font-size:14px;color:var(--text-primary)}.template-category-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:500;text-transform:uppercase;background:var(--sci-primary-pale, #e0f2fe);color:var(--primary)}.template-description{font-size:12px;color:var(--text-secondary);margin-bottom:var(--space-sm);line-height:1.4}.template-details{padding-top:var(--space-sm);border-top:1px solid var(--border-light)}.template-smiles,.template-conditions{font-size:11px;margin-bottom:4px;display:flex;flex-wrap:wrap;gap:4px}.smiles-label,.conditions-label{color:var(--text-secondary);font-weight:500}.smiles-value,.conditions-value{font-family:monospace;color:var(--text-primary);word-break:break-all}.templates-empty{text-align:center;padding:var(--space-xl);color:var(--text-secondary);font-style:italic}.templates-count{font-size:12px;color:var(--text-secondary)}.property-calculator-dialog{max-height:85vh}.dialog.dialog-extra-wide{width:720px;max-width:95vw}.property-tabs{display:flex;border-bottom:2px solid var(--border-light);padding:0 var(--space-lg);background:var(--sci-primary-pale, #f0f7ff)}.property-tabs button{padding:var(--space-md) var(--space-lg);border:none;background:transparent;font-weight:600;font-size:13px;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all var(--transition-fast)}.property-tabs button:hover{color:var(--sci-primary, #2563eb)}.property-tabs button.active{color:var(--sci-primary, #2563eb);border-bottom-color:var(--sci-primary, #2563eb)}.property-calculator-content{min-height:350px;max-height:60vh;overflow-y:auto}.tab-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);text-align:center;min-height:200px}.tab-error p{margin:0 0 var(--space-sm);color:var(--text-primary)}.tab-error .error-detail{font-size:13px;color:var(--text-secondary);background:#fef2f2;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid #fecaca;margin-bottom:var(--space-md);max-width:400px;word-break:break-word}.property-header-info{display:flex;align-items:baseline;gap:var(--space-lg);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-light)}.property-formula{font-size:18px;font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace}.property-mw{font-size:14px;color:var(--text-secondary)}.property-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}@media(max-width:640px){.property-grid{grid-template-columns:1fr}}.property-section{background:#fafbfc;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-md)}.property-section h4{margin:0 0 var(--space-md);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-light);padding-bottom:var(--space-xs)}.property-row{display:flex;justify-content:space-between;padding:var(--space-xs) 0;font-size:12px}.property-label{color:var(--text-secondary)}.property-value{font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace}.property-row.muted{color:var(--text-muted, #9ca3af);font-style:italic}.druglikeness-section{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-light)}.druglikeness-section h4{margin:0 0 var(--space-md);font-size:13px;font-weight:600}.rule-cards{display:flex;gap:var(--space-md);flex-wrap:wrap}.rule-card{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#f8f9fa;border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:12px}.rule-badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase}.rule-badge.pass{background:#dcfce7;color:#166534}.rule-badge.fail{background:#fee2e2;color:#991b1b}.violations{color:var(--text-muted, #9ca3af);font-size:11px}.tautomers-content .tautomer-info{margin-bottom:var(--space-lg);padding:var(--space-md);background:#f0f7ff;border-radius:var(--radius-md)}.tautomer-info p{margin:var(--space-xs) 0;font-size:13px}.canonical-label code{font-size:11px;background:#fff;padding:2px 6px;border-radius:3px}.tautomer-list{display:flex;flex-direction:column;gap:var(--space-sm);max-height:350px;overflow-y:auto}.tautomer-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:#f8f9fa;border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all var(--transition-fast)}.tautomer-card:hover{border-color:var(--sci-primary, #2563eb);box-shadow:var(--shadow-sm)}.tautomer-card.canonical{background:var(--sci-primary-pale, #eff6ff);border-color:var(--sci-primary-light, #93c5fd)}.tautomer-smiles code{font-size:11px;word-break:break-all}.tautomer-meta{display:flex;align-items:center;gap:var(--space-sm);font-size:11px}.tautomer-meta .score{color:var(--text-secondary)}.canonical-badge{background:var(--sci-primary, #2563eb);color:#fff;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.btn-small{padding:4px 10px;font-size:11px;background:var(--sci-primary, #2563eb);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.btn-small:hover{background:var(--sci-primary-dark, #1d4ed8)}.charges-content .charge-summary{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}.charge-stat{flex:1;padding:var(--space-md);border-radius:var(--radius-md);text-align:center}.charge-stat .stat-label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:var(--space-xs)}.charge-stat .stat-value{font-size:18px;font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace}.charge-stat.positive{background:#eff6ff;border:1px solid #3b82f6}.charge-stat.positive .stat-value{color:#1e40af}.charge-stat.negative{background:#fef2f2;border:1px solid #ef4444}.charge-stat.negative .stat-value{color:#991b1b}.charge-stat.net{background:#f8fafc;border:1px solid var(--border-light)}.charge-table-container{max-height:300px;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.charge-table{width:100%;border-collapse:collapse;font-size:12px}.charge-table th,.charge-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--border-light)}.charge-table th{background:#f8fafc;font-weight:600;position:sticky;top:0}.charge-table tr.positive td{background:#3b82f614}.charge-table tr.negative td{background:#ef444414}.charge-value{font-family:SF Mono,Monaco,Consolas,monospace}.charge-color-box{display:inline-block;width:20px;height:20px;border-radius:4px;vertical-align:middle}.charges-content .charge-legend{display:flex;gap:var(--space-lg);font-size:11px;color:var(--text-secondary)}.substituents-content .overall-character{padding:var(--space-md);background:#f8f9fa;border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:14px}.character-badge{margin-left:var(--space-sm);padding:4px 12px;border-radius:12px;font-weight:700;font-size:12px}.character-badge.electron-donating{background:#dcfce7;color:#166534}.character-badge.electron-withdrawing{background:#fee2e2;color:#991b1b}.character-badge.neutral{background:#f3f4f6;color:#4b5563}.substituent-table{width:100%;border-collapse:collapse;font-size:12px;border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.substituent-table th{background:var(--sci-primary-pale, #f0f7ff);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px}.substituent-table th,.substituent-table td{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-light);text-align:center}.substituent-table td:first-child{text-align:left}.edg-badge{background:#dcfce7;color:#166534;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700}.ewg-badge{background:#fee2e2;color:#991b1b;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700}.no-substituents{text-align:center;color:var(--text-muted, #9ca3af);font-style:italic;padding:var(--space-lg)}.substituent-legend{margin-top:var(--space-lg);padding:var(--space-md);background:#f8f9fa;border-radius:var(--radius-md);font-size:11px;color:var(--text-secondary)}.substituent-legend p{margin:var(--space-xs) 0}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:var(--space-xl);color:var(--text-secondary);font-style:italic}.structure-search-dialog{max-height:90vh}.search-options{padding:var(--space-lg);background:#fafbfc;border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.search-query-info{margin-bottom:var(--space-lg)}.search-query-info label{display:block;font-weight:600;font-size:12px;color:var(--text-secondary);margin-bottom:var(--space-xs)}.smiles-display{display:block;background:#1e293b;color:#e2e8f0;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;word-break:break-all;max-height:60px;overflow-y:auto}.smiles-display.full-width{margin-top:var(--space-sm)}.search-controls{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:flex-end}.control-group{display:flex;flex-direction:column;gap:var(--space-xs)}.control-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.control-group select,.control-group input[type=text]{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:13px;min-width:120px}.control-group input[type=range]{width:150px}.name-search-input{flex:1;min-width:250px}.name-search-input input{width:100%}.search-button{padding:var(--space-sm) var(--space-lg);background:var(--sci-primary, #2563eb);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.search-button:hover:not(:disabled){background:#1d4ed8}.search-button:disabled{background:#94a3b8;cursor:not-allowed}.search-results{margin-bottom:var(--space-lg)}.search-results h3{font-size:14px;font-weight:600;margin-bottom:var(--space-md);color:var(--text-primary)}.results-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md);max-height:250px;overflow-y:auto;padding:var(--space-xs)}.result-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;transition:all var(--transition-fast)}.result-card:hover{border-color:var(--sci-primary, #2563eb);box-shadow:0 2px 8px #2563eb1a}.result-card.selected{border-color:var(--sci-primary, #2563eb);background:#f0f7ff}.result-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-xs)}.compound-name{font-weight:600;font-size:13px;color:var(--text-primary);word-break:break-word;flex:1;margin-right:var(--space-sm)}.pubchem-cid{font-size:11px;color:var(--text-tertiary);white-space:nowrap}.result-info{display:flex;gap:var(--space-md);font-size:12px;color:var(--text-secondary);margin-bottom:var(--space-xs)}.formula{font-family:SF Mono,Monaco,Consolas,monospace}.cas-numbers{font-size:11px;color:var(--text-tertiary)}.compound-details{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-lg)}.compound-details h3{font-size:14px;font-weight:600;margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-light)}.loading-details{padding:var(--space-xl);text-align:center;color:var(--text-secondary);font-style:italic}.detail-section{margin-bottom:var(--space-lg)}.detail-section:last-of-type{margin-bottom:var(--space-md)}.detail-section h4{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm) var(--space-lg)}.detail-item{font-size:13px}.detail-item.full-width{grid-column:1 / -1}.detail-item label{display:block;font-size:11px;color:var(--text-tertiary);margin-bottom:2px}.detail-item code{font-size:11px;background:#f1f5f9;padding:2px 4px;border-radius:2px;word-break:break-all}.synonyms-list{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.synonym-tag{background:#e0f2fe;color:#0369a1;padding:2px 8px;border-radius:12px;font-size:11px}.more-synonyms{color:var(--text-tertiary);font-size:11px;font-style:italic}.hazards-section{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);padding:var(--space-md)}.hazards-section h4{color:#991b1b}.hazard-pictograms{display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm)}.pictogram-code{background:#fee2e2;color:#991b1b;padding:4px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600}.hazard-statements{margin:0;padding-left:var(--space-lg);font-size:12px;color:#7f1d1d}.hazard-statements li{margin-bottom:var(--space-xs)}.more-hazards{color:var(--text-tertiary);font-style:italic}.expand-hazards-btn{display:block;margin-top:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:transparent;border:1px solid #fecaca;border-radius:var(--radius-sm);color:#991b1b;font-size:12px;cursor:pointer;transition:background .2s ease}.expand-hazards-btn:hover{background:#fee2e2}.detail-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border-light)}.import-button{padding:var(--space-sm) var(--space-lg);background:var(--sci-success, #22c55e);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.import-button:hover:not(:disabled){background:#16a34a}.import-button:disabled{background:#94a3b8;cursor:not-allowed}.pubchem-link{padding:var(--space-sm) var(--space-lg);background:transparent;color:var(--sci-primary, #2563eb);border:1px solid var(--sci-primary, #2563eb);border-radius:var(--radius-sm);font-weight:600;text-decoration:none;transition:all var(--transition-fast)}.pubchem-link:hover{background:var(--sci-primary, #2563eb);color:#fff}
