/* === GENERAL === */
body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    font-family: Arial, sans-serif;
    text-align: center;
}

/* === LANDING PAGE === */
.button-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

button {
    padding: 10px 20px;
    font-size: 18px;
    border: none;
    cursor: pointer;
    border-radius: 5px;
}

button:nth-child(1) { background-color: blue; color: white; }
button:nth-child(2) { background-color: red; color: white; }
button:nth-child(3) { background-color: black; color: white; }
button:nth-child(4) { background-color: green; color: white; }

/* === CLAN BACKGROUNDS === */
.blue-bg { --shade1: #1e3a8a; --shade2: #60a5fa; }
.red-bg { --shade1: #7f1d1d; --shade2: #f87171; }
.black-bg { --shade1: #1a1a1a; --shade2: #4d4d4d; }
.green-bg { --shade1: #064e3b; --shade2: #6ee7b7; }

.metallic-shimmer-bg {
    background: repeating-linear-gradient(
        135deg,
        var(--shade1),
        var(--shade2),
        var(--shade1)
    );
    background-size: 300% 300%;
    animation: shimmer 6s infinite linear;
}

@keyframes shimmer {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: 100%;
    height: 100vh;
}

.logo {
    width: 300px;
    max-width: 80%;
    height: auto;
}

input {
    padding: 10px;
    font-size: 18px;
    border: 2px solid gray;
    border-radius: 5px;
    margin-top: 20px;
}

button {
    padding: 12px 24px;
    font-size: 18px;
    background-color: #007BFF;
    color: white;
    border: none;
    border-radius: 6px;
    transition: background-color 0.3s ease;
}

button:hover {
    background-color: #0056b3;
}

/* === SECURITY LOG PUZZLE === */
/* === DRAG DROP PUZZLE STYLES === */
.security-log-bg {
    background-color: #222;
    color: white;
    font-family: Arial, sans-serif;
    min-height: 100vh;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.security-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
    max-width: 800px;
}

.grid-area {
    display: grid;
    grid-template-columns: repeat(4, 100px);
    gap: 20px;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    position: relative;
}

.slot {
    width: 100px;
    height: 100px;
    position: relative;
    border: 2px dashed gray;
    background-color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slot .indicator {
    position: absolute;
    width: 80px;
    height: 80px;
    opacity: 0.3;
    pointer-events: none;
}

.slot .draggable {
    position: relative;
    z-index: 1;
    animation: drop-in 0.3s ease;
}

img[draggable="true"] {
    width: 80px;
    cursor: grab;
    transition: transform 0.2s ease;
}

img[draggable="true"]:active {
    cursor: grabbing;
    transform: scale(1.1);
}

@keyframes drop-in {
    from {
        transform: scale(0.5);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

/* === SUCCESS PAGE === */
.success-bg {
    background-color: #4CAF50;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    text-align: center;
}

.success-bg h1 {
    font-size: 48px;
    margin-bottom: 20px;
}

.success-bg p {
    font-size: 20px;
}
