:root { --bg-color: #ffe4e6; --popup-bg: #ffccd5; --bg-image: none; --font-family: 'Inter', sans-serif; --second-page-text-color: #e63946; --second-page-box-pos-y: 0px; --image-border-radius: 12px; --proposal-text-color: #e63946; --proposal-text-size: 2rem; --success-text-1-size: 1.5rem; --success-text-2-size: 0.9rem; } body { margin: 0; padding: 0; font-family: var(--font-family); background-color: var(--bg-color); background-image: var(--bg-image); background-size: cover; background-position: center; background-attachment: fixed; min-height: 100vh; display: flex; justify-content: center; align-items: center; transition: background-color 0.3s ease; } .container { width: 90%; max-width: 500px; text-align: center; z-index: 1; } #proposal-box, #success-message { background-color: var(--popup-bg); padding: 2.5rem; border-radius: 20px; box-shadow: 0 10px 25px rgba(0,0,0,0.1); backdrop-filter: blur(5px); transition: all 0.3s ease; } #success-message { display: none; animation: fadeInScale 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; transform: translateY(var(--second-page-box-pos-y)); } #success-message.preview-mode { animation: none; /* No animation for preview to make it snappier */ } #success-message.preview-mode .redirect-hint { display: none; } @keyframes fadeInScale { from { opacity: 0; transform: translateY(calc(var(--second-page-box-pos-y) + 20px)) scale(0.9); } to { opacity: 1; transform: translateY(var(--second-page-box-pos-y)) scale(1); } } h1 { color: var(--proposal-text-color); font-size: var(--proposal-text-size); margin-bottom: 2rem; } .image-preview-container { width: 100%; height: 250px; background: #f1f5f9; border-radius: var(--image-border-radius); margin-bottom: 2rem; display: flex; align-items: center; justify-content: center; overflow: hidden; position: relative; border: 2px dashed #cbd5e1; } .image-preview-container.has-image { border: none; } .image-preview-container img { width: 100%; height: 100%; object-fit: cover; } .button-group { display: flex; gap: 1.5rem; justify-content: center; align-items: center; min-height: 60px; } .btn { padding: 0.8rem 2rem; border: none; border-radius: 50px; font-weight: 700; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; font-family: inherit; } .btn:active { transform: scale(0.95); } .btn-yes { background-color: #e63946; color: white; font-size: 1.1rem; box-shadow: 0 4px 15px rgba(230, 57, 70, 0.3); } .btn-no { background-color: #f8fafc; color: #64748b; border: 1px solid #e2e8f0; } .success-text { font-size: var(--success-text-1-size); color: var(--second-page-text-color); font-weight: 700; margin-bottom: 1.5rem; } .success-text-small { font-size: var(--success-text-2-size); } .redirect-hint { font-size: 0.9rem; color: #64748b; margin-top: 2rem; font-style: italic; } /* Admin Controls */ .admin-controls { position: fixed; top: 20px; right: 20px; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; z-index: 1000; } .control-buttons { display: flex; gap: 10px; } .admin-controls button { background: white; border: 1px solid #e2e8f0; padding: 8px; border-radius: 8px; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #64748b; box-shadow: 0 2px 5px rgba(0,0,0,0.05); transition: all 0.2s; } .admin-controls button:hover { background: #f8fafc; color: #e63946; } .settings-panel { background: white; border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px; width: 280px; box-shadow: 0 10px 25px rgba(0,0,0,0.1); display: flex; flex-direction: column; gap: 12px; } .settings-scroll-area { max-height: 400px; overflow-y: auto; padding-right: 5px; } .settings-scroll-area::-webkit-scrollbar { width: 6px; } .settings-scroll-area::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 10px; } .settings-group { margin-bottom: 15px; } .settings-group:last-child { margin-bottom: 0; } .settings-group label { display: block; font-size: 0.8rem; color: #64748b; margin-bottom: 5px; font-weight: 600; } .settings-group input[type="color"], .settings-group input[type="number"], .settings-group select { width: 100%; padding: 6px; border: 1px solid #e2e8f0; border-radius: 6px; outline: none; } .btn-small { padding: 4px 10px !important; font-size: 0.75rem !important; } #bg-image-input { display: none; } /* State management */ .state-locked .admin-controls #lock-btn { opacity: 0.3; } .state-locked .admin-controls #lock-btn:hover { opacity: 1; }