:root { 
    --primary: #1a2a6c; 
    --bg: #f0f2f5; 
    --success: #27ae60; 
    --error: #e74c3c;
    --instruction: #555; 
}

body, html { 
    height: 100%; margin: 0; font-family: 'Segoe UI', sans-serif; 
    background: var(--bg); overflow: hidden; 
}

#game-ui {
    height: 100vh; display: flex; flex-direction: column;
    align-items: center; justify-content: center; padding: 10px; box-sizing: border-box;
}

.title { margin: 0 0 5px 0; color: var(--primary); }

.how-to {
    font-size: 0.8rem; color: var(--instruction);
    margin-bottom: 15px; background: #e2e8f0;
    padding: 4px 12px; border-radius: 20px;
}

.drop-zone {
    display: flex; flex-direction: row; justify-content: center;
    align-items: stretch; gap: 12px; width: 98vw;
    max-width: 1400px; margin-bottom: 25px;
}

.img-card {
    flex: 1; min-width: 0; background: #fff; 
    border: 3px solid #fff; border-radius: 10px;
    padding: 10px; cursor: grab; text-align: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transition: transform 0.2s, border-color 0.3s;
    display: flex; flex-direction: column;
}

.img-wrap {
    width: 100%; aspect-ratio: 3/4; background: #f9f9f9;
    border-radius: 5px; margin-bottom: 10px;
    display: flex; align-items: center; justify-content: center; overflow: hidden;
}

.img-card img { 
    max-width: 100%; max-height: 100%; object-fit: contain; pointer-events: none;
}

.img-card strong { 
    font-size: 0.75rem; color: var(--primary); line-height: 1.3;
    display: flex; align-items: center; justify-content: center;
    flex-grow: 1; padding: 0 2px;
}

#reveal-container {
    position: fixed; inset: 0; background: white;
    display: none; flex-direction: column; align-items: center; justify-content: center;
    z-index: 100; opacity: 0; transition: opacity 1s;
}

.reveal-grid { display: flex; gap: 20px; width: 95%; justify-content: center; margin: 20px 0; }
.reveal-grid img { 
    width: 46%; max-height: 65vh; border-radius: 12px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.15); border: 1px solid #ddd;
    object-fit: contain;
}

button { 
    background: var(--primary); color: white; border: none; 
    padding: 12px 35px; border-radius: 25px; cursor: pointer; 
    font-size: 1rem; font-weight: bold;
}

#welcome-modal {
    position: fixed; inset: 0; background: rgba(0,0,0,0.85);
    display: flex; align-items: center; justify-content: center; z-index: 1000;
}

.modal-content { background: white; padding: 25px; border-radius: 20px; text-align: center; width: 280px; }
