spotnotes.app/static/assets/css/modals.css

110 lines
2.4 KiB
CSS
Raw Normal View History

/* Modals overlay */
2026-05-12 23:58:18 +00:00
.modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(15, 23, 42, 0.4);
2026-05-12 23:58:18 +00:00
display: flex;
justify-content: center;
align-items: center;
z-index: 2000;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
animation: modalFadeIn 0.2s ease-out forwards;
2026-05-12 23:58:18 +00:00
}
.modal.hidden { display: none !important; }
2026-05-12 23:58:18 +00:00
/* Modal Content Card */
2026-05-12 23:58:18 +00:00
.modal-content {
background: var(--bg-card);
padding: 30px;
border-radius: var(--radius-lg);
width: 92%;
max-width: 440px;
2026-05-12 23:58:18 +00:00
position: relative;
box-shadow: var(--shadow-lg);
max-height: 85vh;
2026-06-02 04:02:39 +00:00
overflow-y: auto;
border: 1px solid var(--border);
animation: modalScaleUp 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
2026-06-02 04:02:39 +00:00
}
/* Close Button */
.close-modal {
position: absolute;
top: 16px;
right: 18px;
font-size: 1.6rem;
cursor: pointer;
color: var(--text-muted);
transition: var(--transition);
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--radius-full);
}
.close-modal:hover {
color: var(--text-main);
background-color: var(--border);
}
.modal-content h3 {
font-size: 1.3rem;
font-weight: 700;
margin-bottom: 8px;
color: var(--text-main);
}
.modal-content h4 {
font-size: 1rem;
font-weight: 600;
margin: 16px 0 8px 0;
color: var(--text-main);
}
/* Color picker specific */
.form-group input[type="color"] {
width: 50px;
height: 40px;
padding: 0;
border: 1px solid var(--border);
border-radius: var(--radius-sm);
cursor: pointer;
background: none;
}
/* Animations */
@keyframes modalFadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes modalScaleUp {
from { transform: scale(0.96); opacity: 0; }
to { transform: scale(1); opacity: 1; }
}
/* Mobile Modals */
@media (max-width: 768px) {
2026-06-02 04:02:39 +00:00
.modal {
align-items: flex-end; /* Anchor at the bottom on mobile */
2026-06-02 04:02:39 +00:00
}
.modal-content {
width: 100%;
max-width: none;
border-radius: var(--radius-lg) var(--radius-lg) 0 0;
padding: 24px;
max-height: 80vh;
animation: modalSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
2026-06-02 04:02:39 +00:00
}
@keyframes modalSlideUp {
from { transform: translateY(100%); }
to { transform: translateY(0); }
}
}