.contact-card{max-width:640px;margin:0 auto;text-align:center;padding:var(--space-2xl) var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.contact-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin-bottom:var(--space-md)}.contact-cta{color:var(--color-text-muted);font-size:1.05rem;line-height:1.7;margin-bottom:var(--space-xl)}.contact-email-area{margin-bottom:var(--space-lg)}.challenge-box{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:opacity .3s ease,transform .3s ease}.challenge-icon{color:var(--color-text-muted);margin-bottom:var(--space-xs)}.challenge-prompt{font-size:.9rem;color:var(--color-text-muted);margin:0}.challenge-question{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center}.challenge-label{font-size:.9rem;color:var(--color-text-muted)}.challenge-expr{font-family:var(--font-mono);font-size:1.3rem;font-weight:700;color:var(--color-text)}.challenge-eq{font-size:1.1rem;color:var(--color-text-muted)}.challenge-input{width:64px;padding:.4rem .6rem;text-align:center;font-family:var(--font-mono);font-size:1.1rem;font-weight:600;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);outline:none;transition:border-color .2s,box-shadow .2s}.challenge-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #38bdf81f}.challenge-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.challenge-btn:hover{background:var(--color-cyan);transform:scale(1.05)}.challenge-btn:active{transform:scale(.95)}.challenge-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;background:var(--color-accent-dim)}.challenge-error{font-size:.82rem;color:var(--color-red);min-height:1.2em;margin:0;transition:opacity .2s}.email-reveal{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-accent-dim);border-radius:var(--radius-md);animation:emailSlideIn .35s cubic-bezier(.22,1,.36,1)}@keyframes emailSlideIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.email-reveal-icon{color:var(--color-accent);flex-shrink:0}.email-display{font-family:var(--font-mono);font-size:.95rem;color:var(--color-accent);font-weight:500}.email-copy-btn{display:inline-flex;align-items:center;gap:4px;padding:.35rem .8rem;font-family:var(--font-mono);font-size:.8rem;background:#38bdf81a;color:var(--color-accent);border:1px solid var(--color-accent-dim);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;white-space:nowrap}.email-copy-btn:hover{background:#38bdf82e;transform:translateY(-1px)}.email-copy-btn:active{transform:translateY(0)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.challenge-box.challenge--error{animation:shake .4s ease}.challenge-box.challenge--error .challenge-input{border-color:var(--color-red)}.contact-links{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-lg)}.contact-social{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;color:var(--color-text-muted);transition:all var(--transition)}.contact-social:hover{border-color:var(--color-accent-dim);color:var(--color-accent);background:var(--color-surface);transform:translateY(-2px)}.footer{padding:var(--space-lg) 0;border-top:1px solid var(--color-border)}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);text-align:center}.footer-copy{font-size:.85rem;color:var(--color-text-muted)}.footer-stack{display:flex;gap:var(--space-xs)}
