/* Geode Captcha CSS - Complete Stylesheet */

/* Form Styles - basic styling for demo form, not necessary for captcha */
/*
.geode-card{width:480px;max-width:100%;padding:24px;border-radius:12px;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.08)}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:#374151}
.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#6b46c1;box-shadow:0 0 0 3px rgba(107,70,193,.1)}
.form-group textarea{resize:vertical;min-height:80px} */

/* Geode Captcha Widget */
.geode-captcha-box{border:1px solid #e5e7eb;border-radius:10px;padding:14px;margin:20px auto;background:#fafafa}
.geode-captcha-header{font-size:14px;margin-bottom:10px;color:#374151;display:flex;align-items:center;gap:8px}
.geode-captcha-stage{position:relative;height:180px;border-radius:8px;background:linear-gradient(#eef2ff,#f9fafb);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}
.geode-captcha-hint{text-align:center;font-size:12px;color:#6b7280;margin-bottom:8px}
.geode-captcha-rocks{display:flex;gap:12px;justify-content:center;align-items:center;height:100%;padding:0 30px}
.geode-rock{position:relative;width:90px;height:90px;overflow:hidden}
.geode-rock-img{width:100%;height:100%;object-fit:contain;background:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}
.geode-break-gif{position:absolute;inset:-30%;width:160%;height:160%;max-width:inherit;object-fit:contain;opacity:0;pointer-events:none;background:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}
.geode-solved .geode-break-gif{opacity:1}
.geode-solved .geode-rock-img{opacity:0}
.geode-wrong{animation:geode-shake .3s}
.geode-hammer{position:absolute;width:90px;height:90px;right:8px;bottom:8px;z-index:10;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}
.geode-hammer.dragging{cursor:grabbing;transform:scale(1.1) rotate(-15deg)}
.geode-hammer img{width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}

/* Submit Button */
.geode-submit{width:100%;padding:12px;border:0;border-radius:8px;background:#6b46c1;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}
.geode-submit:hover:not(:disabled){background:#5b3aaf}
.geode-submit:disabled{opacity:.5;cursor:not-allowed}

/* Noscript */
.noscript{margin-top:12px;padding:10px;background:#fef3c7;border-radius:6px;font-size:13px;color:#92400e}

/* Animations */
@keyframes geode-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
