.grid-item { aspect-ratio: 1 / 1; background: #1e2a3e; border-radius: 1.25rem; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.15s ease; border: 2px solid transparent; font-size: 2.5rem; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }
/* Image grid for "select all buses" style captcha */ .captcha-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.8rem; margin: 1.2rem 0 1.8rem 0; }
.captcha-header h2 { font-size: 1.6rem; font-weight: 600; letter-spacing: -0.3px; background: linear-gradient(135deg, #f0f3ff, #b9c3ff); background-clip: text; -webkit-background-clip: text; color: transparent; } splashui captcha?ap=1
/* Challenge zone */ .challenge-text { background: rgba(0, 0, 0, 0.35); padding: 0.9rem 1.2rem; border-radius: 2rem; margin: 1.2rem 0 1.5rem 0; font-weight: 500; font-size: 1rem; border-left: 4px solid #4c7aff; color: #e2e8ff; }
function updateStatusMessage(message, isError = false) { const existingStatus = document.querySelector('.status-msg'); if (existingStatus) existingStatus.remove(); const statusDiv = document.createElement('div'); statusDiv.className = 'status-msg'; statusDiv.style.color = isError ? '#ffacac' : '#b9f5d8'; statusDiv.innerHTML = message; dynamicContainer.appendChild(statusDiv); } .grid-item { aspect-ratio: 1 / 1
const selectedArray = Array.from(selectedIndices); const isCorrect = expectedTargetIndices.length === selectedArray.length && expectedTargetIndices.every(idx => selectedIndices.has(idx));
// ----- INTERACTIVE MODE UI (full splash captcha) ----- function buildInteractiveUI() { // challenge description: select all images with a bus (classic captcha style) const items = [ { emoji: '🚗', label: 'car', isTarget: false }, { emoji: '🚌', label: 'bus', isTarget: true }, { emoji: '🚲', label: 'bicycle', isTarget: false }, { emoji: '🚌', label: 'bus', isTarget: true }, { emoji: '✈️', label: 'plane', isTarget: false }, { emoji: '🚛', label: 'truck', isTarget: false } ]; transition: all 0.15s ease
const verifyRow = document.createElement('div'); verifyRow.className = 'verify-row';