korg / app /static /common /css /toast.css
ricebug's picture
Upload 126 files
6e18b6a verified
/* Toast Notification */
.toast-container {
position: fixed;
top: 24px;
left: 50%;
transform: translateX(-50%);
z-index: 100;
display: flex;
flex-direction: column;
gap: 12px;
pointer-events: none;
align-items: center;
}
.toast {
background: #fff;
border: 0.5px solid var(--border);
border-radius: 6px;
padding: 12px 16px;
display: flex;
align-items: center;
gap: 12px;
min-width: 300px;
max-width: 400px;
animation: toastIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
pointer-events: auto;
}
.toast.out {
animation: toastOut 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.toast-icon {
flex-shrink: 0;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
}
.toast-success .toast-icon {
background: #ecfdf5;
color: #059669;
}
.toast-error .toast-icon {
background: #fef2f2;
color: #dc2626;
}
.toast-content {
flex: 1;
font-size: 12px;
font-weight: 500;
}
.notice-dialog-backdrop {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.35);
display: flex;
align-items: center;
justify-content: center;
z-index: 200;
padding: 24px;
}
.notice-dialog {
background: #fff;
border: 1px solid var(--border);
border-radius: 12px;
width: min(520px, 92vw);
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
padding: 20px 22px 16px;
}
.notice-dialog-title {
font-size: 14px;
font-weight: 600;
color: #111;
margin-bottom: 8px;
}
.notice-dialog-content {
font-size: 13px;
line-height: 1.6;
color: #333;
}
.notice-dialog-actions {
display: flex;
justify-content: flex-end;
margin-top: 16px;
}
.notice-dialog-confirm {
border: 1px solid var(--border);
background: #111;
color: #fff;
border-radius: 8px;
padding: 8px 14px;
font-size: 12px;
cursor: pointer;
}
.notice-dialog-confirm:hover {
opacity: 0.9;
}
@keyframes toastIn {
from {
opacity: 0;
transform: translateY(20px) scale(0.95);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}
@keyframes toastOut {
from {
opacity: 1;
transform: translateY(0) scale(1);
}
to {
opacity: 0;
transform: translateY(10px) scale(0.95);
}
}