.tool-page{min-height:100vh;padding-top:80px;background:var(--bg-primary)}.tool-container{max-width:1400px;margin:0 auto;padding:2rem}.tool-header{text-align:center;margin-bottom:2rem;padding:2rem;background:var(--bg-card);border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow-card)}.tool-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:1rem;background:var(--grad-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tool-header h1 svg{width:40px;height:40px;stroke:var(--accent)}.tool-header p{color:var(--text-secondary);font-size:1.1rem}.tool-main{display:grid;gap:2rem}.tool-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border);padding:2rem;transition:all .3s ease;box-shadow:var(--shadow-card)}.tool-card:hover{border-color:var(--accent);box-shadow:var(--glow-cyan)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;border:2px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--text-primary);font-size:1rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--glow-cyan)}.form-group small{display:block;margin-top:.5rem;color:var(--text-secondary);font-size:.85rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.tool-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.tool-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--glow-cyan)}.tool-btn-secondary{background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border)}.tool-btn-secondary:hover{border-color:var(--accent);background:var(--bg-elevated)}.tool-btn-danger{background:var(--danger-color, #ff4757);color:#fff}.tool-btn-danger:hover{background:var(--danger-color, #ff6b81)}.btn-group{display:flex;gap:1rem;flex-wrap:wrap}.result-section{margin-top:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border)}.result-section h3{font-size:1.25rem;margin-bottom:1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.result-content{font-family:Source Code Pro,monospace;background:var(--code-bg);padding:1rem;border-radius:8px;overflow-x:auto;color:var(--text-primary)}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.file-upload{border:2px dashed var(--border);border-radius:12px;padding:3rem 2rem;text-align:center;transition:all .3s ease;cursor:pointer;background:var(--bg-secondary)}.file-upload:hover,.file-upload.dragover{border-color:var(--accent);background:var(--bg-elevated)}.file-upload svg{width:48px;height:48px;margin-bottom:1rem;color:var(--accent)}.file-upload p{color:var(--text-secondary);margin-bottom:1rem}.file-upload input[type=file]{display:none}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-top:1.5rem}.preview-item{position:relative;border-radius:8px;overflow:hidden;background:var(--bg-secondary);aspect-ratio:1}.preview-item img{width:100%;height:100%;object-fit:cover}.preview-item .remove-btn{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;border-radius:50%;background:#ff4757e6;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 200px);min-height:500px}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.chat-message{max-width:80%;padding:1rem 1.25rem;border-radius:16px;line-height:1.6}.chat-message.user{align-self:flex-end;background:var(--btn-primary-bg);color:var(--btn-primary-text);border-bottom-right-radius:4px}.chat-message.assistant{align-self:flex-start;background:var(--bg-card);border:1px solid var(--border);border-bottom-left-radius:4px;color:var(--text-primary)}.chat-input-container{display:flex;gap:1rem;padding:1rem;background:var(--bg-card);border-top:1px solid var(--border);border-radius:0 0 16px 16px}.chat-input{flex:1;padding:1rem;border:2px solid var(--border);border-radius:12px;background:var(--input-bg);color:var(--text-primary);font-size:1rem;resize:none}.chat-input:focus{outline:none;border-color:var(--accent)}.data-table{width:100%;border-collapse:collapse;margin-top:1rem}.data-table th,.data-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border);color:var(--text-primary)}.data-table th{background:var(--bg-secondary);font-weight:600}.data-table tr:hover{background:var(--bg-elevated)}.tabs{display:flex;gap:.5rem;border-bottom:2px solid var(--border);margin-bottom:1.5rem}.tab-btn{padding:.75rem 1.5rem;border:none;background:none;color:var(--text-secondary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;position:relative}.tab-btn:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .3s ease}.tab-btn.active{color:var(--accent)}.tab-btn.active:after{transform:scaleX(1)}.tab-content{display:none}.tab-content.active{display:block}.alert{padding:1rem 1.5rem;border-radius:10px;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.alert-info{background:#06b6d41a;border:1px solid rgba(6,182,212,.3);color:var(--accent)}.alert-success{background:#2ed5731a;border:1px solid rgba(46,213,115,.3);color:var(--accent-green)}.alert-warning{background:#ffc1071a;border:1px solid rgba(255,193,7,.3);color:#ffc107}.alert-error{background:#ff47571a;border:1px solid rgba(255,71,87,.3);color:var(--danger-color, #ff4757)}.progress-bar{width:100%;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;margin:1rem 0}.progress-fill{height:100%;background:var(--grad-primary);border-radius:4px;transition:width .3s ease}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;font-size:.85rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;color:var(--text-primary);box-shadow:var(--shadow-card)}.tooltip:hover:after{opacity:1;visibility:visible}.chemistry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem}.element-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;border-radius:8px;background:var(--bg-card);border:2px solid var(--border);cursor:pointer;transition:all .3s ease}.element-cell:hover{transform:scale(1.05);border-color:var(--accent);z-index:10}.element-cell .number{font-size:.7rem;color:var(--text-secondary)}.element-cell .symbol{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.element-cell .name{font-size:.6rem;color:var(--text-secondary)}@media(max-width:768px){.tool-container{padding:1rem}.tool-header h1{font-size:1.75rem}.form-row{grid-template-columns:1fr}.btn-group{flex-direction:column}.chat-message{max-width:90%}}.tool-page h1,.tool-page h2,.tool-page-title{font-family:Space Grotesk,Inter,sans-serif;letter-spacing:-.02em}
