.efc-study{max-width:900px;margin:24px auto;padding:18px;border:1px solid #e5e7eb;border-radius:16px;background:rgba(255,255,255,.85);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.efc-progress{height:8px;background:#eef2f7;border-radius:999px;overflow:hidden;margin-bottom:14px}
.efc-progress-bar{display:block;height:8px;width:0%;background:#22d3ee;transition:width .25s ease}
.efc-card{position:relative;height:300px;perspective:1200px;margin:14px 0;transform-style:preserve-3d;transition:transform .2s ease}
.efc-card .efc-front,.efc-card .efc-back{position:absolute;inset:0;padding:24px;border:1px solid rgba(255,255,255,.4);border-radius:16px;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;font-size:24px;text-align:center;background:rgba(255,255,255,.9);box-shadow:0 12px 24px rgba(0,0,0,.06)}
.efc-card .efc-back{transform:rotateY(180deg)}
.efc-card.is-flipped .efc-front{transform:rotateY(180deg)}
.efc-card.is-flipped .efc-back{transform:rotateY(360deg)}
.efc-actions{display:flex;gap:10px;justify-content:center;margin:12px 0}
.efc-hint{opacity:.8;text-align:center;margin-top:8px}
.efc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.efc-item{position:relative;height:220px;border:1px solid rgba(255,255,255,.4);border-radius:16px;perspective:1200px;cursor:pointer;background:rgba(255,255,255,.8);box-shadow:0 8px 18px rgba(0,0,0,.06);transition:transform .2s ease, box-shadow .2s ease}
.efc-item .efc-item-front,.efc-item .efc-item-back{position:absolute;inset:0;padding:16px;backface-visibility:hidden;border-radius:16px;display:flex;flex-direction:column;justify-content:center}
.efc-item .efc-item-back{transform:rotateY(180deg);overflow:auto}
.efc-item.is-flipped .efc-item-front{transform:rotateY(180deg)}
.efc-item.is-flipped .efc-item-back{transform:rotateY(360deg)}
.efc-float:hover{transform:translateY(-4px) scale(1.01)}
.efc-done{text-align:center;font-size:20px;padding:40px}
/* Lead gate */
.efc-leadgate{margin:8px 0 16px}
.efc-leadcard{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;box-shadow:0 10px 20px rgba(0,0,0,.06)}
.efc-leadrow{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.efc-leadrow label{min-width:90px;opacity:.8}
.efc-leadrow input{flex:1;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px}

.efc-lead-start{background:linear-gradient(135deg,#22d3ee,#3b82f6);color:#fff;border:none;box-shadow:0 8px 16px rgba(59,130,246,.25)}
.efc-lead-start:hover{filter:brightness(1.05)}
