/* Shared styles across all pages */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); body { font-family: 'Inter', sans-serif; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #1f2937; } ::-webkit-scrollbar-thumb { background: #4b5563; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #6b7280; } /* Drag and drop styles */ .toolbox-item { transition: transform 0.2s ease; } .toolbox-item:hover { transform: translateY(-2px); } .toolbox-item:active { transform: translateY(0); } /* Canvas component styles */ .canvas-component { background: linear-gradient(135deg, #374151 0%, #4b5563 100%); border: 2px solid #6b7280; border-radius: 8px; padding: 16px; margin: 8px; min-width: 200px; cursor: move; transition: all 0.3s ease; position: relative; } .canvas-component:hover { border-color: #3b82f6; box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3); } .canvas-component.selected { border-color: #10b981; box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3); } .component-handle { cursor: move; padding: 8px; background: rgba(0, 0, 0, 0.2); border-radius: 4px; margin-bottom: 8px; } .connection-point { width: 12px; height: 12px; border-radius: 50%; background: #6b7280; position: absolute; cursor: crosshair; } .connection-point.input { top: 50%; left: -6px; transform: translateY(-50%); } .connection-point.output { top: 50%; right: -6px; transform: translateY(-50%); } .connection-line { stroke: #3b82f6; stroke-width: 2; fill: none; } /* Properties panel styles */ .property-group { margin-bottom: 1.5rem; } .property-label { display: block; margin-bottom: 0.5rem; font-weight: 500; color: #d1d5db; } .property-input { width: 100%; padding: 0.5rem; border-radius: 0.375rem; background: #374151; border: 1px solid #4b5563; color: white; } .property-input:focus { outline: none; border-color: #3b82f6; ring: 2px solid #3b82f6; } /* Code export modal */ .modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.8); display: flex; align-items: center; justify-content: center; z-index: 1000; } .modal-content { background: #1f2937; border-radius: 12px; padding: 2rem; max-width: 90vw; max-height: 90vh; overflow: auto; } /* Quick Examples Section */ .quick-example { transition: all 0.3s ease; cursor: pointer; } .quick-example:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3); } /* Notification styles */ .notification { animation: slideIn 0.3s ease-out; } @keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } /* Responsive adjustments */ @media (max-width: 768px) { .grid-cols-4 { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 480px) { .grid-cols-4 { grid-template-columns: 1fr; } }