/* ControlCrawl.tech - Neobrutalism Design System Styles */

.chunky-border { border: 2px solid #141b2b; }
.sticker-shadow { filter: drop-shadow(4px 4px 0px #141b2b); }
.die-cut { border: 4px solid white; filter: drop-shadow(2px 2px 0px rgba(0,0,0,0.1)); }
.press-effect:active { transform: translate(2px, 2px); }

@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}
.animate-float { animation: float 4s ease-in-out infinite; }

/* Interactive Toast Notification System (Neobrutalism Style) */
.toast-container {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 12px;
    pointer-events: none;
}

.toast {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    border-radius: 12px;
    border: 2px solid #141b2b;
    box-shadow: 4px 4px 0px #141b2b;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    pointer-events: auto;
    animation: toast-in 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    max-width: 420px;
}

.toast.toast-out {
    animation: toast-out 0.25s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.toast-success { background-color: #10b981; color: #ffffff; }
.toast-warning { background-color: #fed01b; color: #141b2b; }
.toast-error { background-color: #ef4444; color: #ffffff; }
.toast-info { background-color: #67587b; color: #ffffff; }

.toast-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.toast-dismiss {
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 1.25rem;
    line-height: 1;
    margin-left: auto;
    color: inherit;
    opacity: 0.8;
}
.toast-dismiss:hover {
    opacity: 1;
}

@keyframes toast-in {
    from { opacity: 0; transform: translateY(20px) scale(0.95); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes toast-out {
    from { opacity: 1; transform: translateY(0) scale(1); }
    to { opacity: 0; transform: translateY(20px) scale(0.95); }
}
