neural-network-playground / css /layer-editor.css
ameerazam08's picture
Upload 22 files
a895648 verified
/* Layer Editor Styles for Neural Network Playground */
/* Modal styling */
#layer-editor-modal {
display: none;
position: fixed;
z-index: 9999;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.5);
opacity: 0;
transition: opacity 0.3s ease;
}
#layer-editor-modal.active {
opacity: 1;
}
#layer-editor-modal .modal-content {
background-color: #fff;
margin: 10% auto;
padding: 25px;
border-radius: 8px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
width: 80%;
max-width: 600px;
position: relative;
transform: translateY(-20px);
transition: transform 0.3s ease;
overflow: hidden; /* Prevent content from causing layout shifts */
}
#layer-editor-modal.active .modal-content {
transform: translateY(0);
}
/* Make the modal more obvious for debugging */
#layer-editor-modal[data-visible="true"] {
/* Remove the debug border */
/* border: 3px solid red; */
}
.modal-title {
color: #2c3e50;
margin-top: 0;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 1px solid #eee;
}
/* Top close button */
.close-modal {
position: absolute;
right: 20px;
top: 15px;
font-size: 24px;
font-weight: bold;
cursor: pointer;
color: #aaa;
transition: color 0.2s ease;
z-index: 10; /* Ensure it's above other content */
}
.close-modal:hover {
color: #333;
}
/* Form styling */
.layer-form {
margin-bottom: 20px;
overflow: auto; /* Allow scrolling if form gets too long */
max-height: 60vh; /* Limit height to avoid modal being too tall */
}
.form-field {
margin-bottom: 15px;
}
.form-field label {
display: block;
font-weight: 600;
margin-bottom: 5px;
color: #2c3e50;
}
.form-field input,
.form-field select {
width: 100%;
padding: 8px 12px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 14px;
transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.form-field input:focus,
.form-field select:focus {
border-color: #3498db;
box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2);
outline: none;
}
.help-text {
display: block;
margin-top: 5px;
color: #7f8c8d;
font-size: 12px;
}
/* Button styling */
.modal-footer {
display: flex;
justify-content: flex-end;
padding-top: 15px;
border-top: 1px solid #eee;
background-color: #fff; /* Ensure background is solid */
position: relative; /* Establish a stacking context */
z-index: 5; /* Higher than the form */
}
.modal-footer button {
padding: 8px 16px;
margin-left: 10px;
border: none;
border-radius: 4px;
font-weight: 600;
cursor: pointer;
/* Remove transition to prevent flickering */
/* transition: background-color 0.2s ease; */
position: relative; /* Establish a stacking context */
z-index: 2; /* Higher than surrounding elements */
text-rendering: optimizeLegibility; /* Improve text rendering */
-webkit-font-smoothing: antialiased;
}
.save-layer-btn {
background-color: #3498db;
color: white;
/* Fix position and prevent movement */
transform: translateZ(0); /* Force GPU acceleration */
}
.save-layer-btn:hover {
background-color: #2980b9;
}
/* Override for close button in footer */
.modal-footer .close-modal {
position: static;
background-color: #e0e0e0;
color: #333;
font-size: 14px;
transform: translateZ(0); /* Force GPU acceleration */
}
.modal-footer .close-modal:hover {
background-color: #ccc;
}
/* For number inputs */
input[type="number"] {
-moz-appearance: textfield;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
/* Error state */
.form-field.error input,
.form-field.error select {
border-color: #e74c3c;
}
.error-message {
color: #e74c3c;
font-size: 12px;
margin-top: 5px;
}
/* Responsive adjustments */
@media (max-width: 768px) {
#layer-editor-modal .modal-content {
width: 90%;
margin: 15% auto;
padding: 15px;
}
.modal-footer {
flex-direction: column;
}
.modal-footer button {
margin-left: 0;
margin-top: 10px;
}
}