/* Doplňování slov přetahováním v článcích */
.fw-section { margin-top: 50px; padding-top: 40px; border-top: 2px dashed #eee; font-family: 'Nunito', sans-serif; }
.fw-title { font-family: 'Poppins', sans-serif; font-size: 1.8rem; font-weight: 800; margin: 0 0 8px; display: flex; gap: 12px; align-items: center; }
.fw-hint { margin: 0 0 20px; color: #64748b; font-size: 1rem; }
.fw-text { font-family: 'Nunito', sans-serif; font-size: 1.2rem; line-height: 2.5; background: #f8f9fa; border: 1px solid #eee; border-radius: 20px; padding: 18px 22px; }
.fw-slot {
    display: inline-block; min-width: 92px; height: 1.9rem; line-height: 1.9rem; vertical-align: middle;
    margin: 0 3px; padding: 0 8px; text-align: center; border-radius: 10px;
    border: 2px dashed #94a3b8; background: #fff; transition: all .15s;
}
.fw-slot.over { border-color: #4f46e5; background: #eef2ff; transform: scale(1.05); }
.fw-slot.filled { border-style: solid; border-color: #10b981; background: #d1fae5; color: #065f46; font-weight: 800; }
.fw-slot.wrong { animation: fw-shake .4s; border-color: #ef4444; background: #fee2e2; }
@keyframes fw-shake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-6px)} 75%{transform:translateX(6px)} }
.fw-bank { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; min-height: 52px; padding: 12px; background: #f1f5f9; border-radius: 16px; }
.fw-word {
    padding: 8px 18px; border-radius: 50px; background: linear-gradient(135deg,#6366f1,#4f46e5); color: #fff;
    font: 700 1.05rem 'Nunito', sans-serif; cursor: grab; user-select: none; touch-action: none;
    box-shadow: 0 4px 12px rgba(79,70,229,.3);
}
.fw-word.selected { outline: 3px solid #fbbf24; }
.fw-word.dragging { opacity: .35; }
.fw-ghost { position: fixed; z-index: 9999; pointer-events: none; transform: translate(-50%,-50%) scale(1.1); }
.fw-message { min-height: 28px; margin-top: 12px; font-weight: 800; text-align: center; }
.fw-message.ok { color: #059669; }
.fw-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 8px; }
.fw-btn {
    padding: 12px 24px; border-radius: 50px; border: 2px solid #e2e8f0; background: #fff; cursor: pointer;
    font: 800 .95rem 'Poppins', sans-serif; color: #334155; transition: all .2s;
}
.fw-btn:hover:not(:disabled) { transform: translateY(-2px); border-color: #4f46e5; }
.fw-btn-primary { background: linear-gradient(135deg,#4f46e5,#3b82f6); color: #fff; border-color: transparent; }
.fw-btn:disabled { opacity: .45; cursor: not-allowed; }
